概要説明
次の形の微分方程式を「ラゲールの微分方程式」と呼ぶ. が非負の整数のときには有限次の多項式の形の解を持つことが分かっている.それを「ラゲールの多項式」と呼び,という記号で表す.が負の場合や整数でない場合には無限級数の形の解を持つが,物理的な条件が合わないことが多いので物理学者にとってはあまり関心がないのである.それについては後で話そう.
(1) 式をほんの少し拡張した次のような微分方程式も有名で,「ラゲールの陪微分方程式」と呼ぶ. こちらはとが整数で,という条件を満たすときに有限次の多項式の形の解を持つことが分かっている.それを「ラゲールの陪多項式」と呼び,という記号で表す.
「陪」は「倍」という字と間違える可能性があるので注意が必要である.この「陪」は「付随する」というような意味である.英語では associated であって,「ラゲールの随伴多項式」と訳されていることもある.本当に「関連して出てくる別の形の式」というくらいの軽い意味で使われていて,ただの多項式と陪多項式との関係に数学的な定義があるわけではなさそうである.
(2) 式を「ラゲールの陪微分方程式」と呼んでいる事例が教科書でもほとんど見つからなくて不安だったのだが,無理やり検索したらごく少数だけ使用している人たちがいるのが見つかったのでこの記事でもそのように言い切ってしまうことにした.「ルジャンドルの陪微分方程式」というものもあるのだから,この呼び方で問題ないとは思う.人々の関心は条件付きの解である「ラゲールの陪多項式」の方に集中していて,「ラゲールの陪微分方程式」の方を呼ぶ必要があまりないのかもしれない.
陪多項式との関係
まずは (1) 式と (2) 式の関係を話しておこう.(1) 式の全体をで 1 回だけ微分してやると次のようになる. 1 回やれば変化のパターンが読めると思うのだが,念の為にさらにもう一度微分すると次のようになる. どういう変化が起きるか,お分かり頂けただろうか?この調子で全部で回微分すれば (2) 式とそっくりな形になる.ただし関数が回多く微分されているという点だけが違う.つまり,(1) 式の解を回微分したものが (2) 式の解になっているということを意味している. 何とかして (1) 式の解を求めてやってからそれを回微分してやれば (2) 式の解が得られるのである.いや,何とかして (2) 式の解を求めてやってからに 0 を代入して (1) 式の解を求めることもできそうだ.一体どちらが楽なのだろう?
ソニンの多項式
実は (1) 式や (2) 式に良く似た次のような微分方程式もある. やは非負整数である.この式を満たす関数のことを「ソニンの多項式」と呼ぶのだが,困ったことにこちらを「ラゲールの陪多項式」と呼び,という記号で表すという流儀が存在しているのだ.紛らわしい!
例えば日本語版の Wikipedia では (2) 式の定義で説明しているが,英語版の Wikipedia では(6) 式を「ラゲールの陪多項式」あるいは「一般化されたラゲールの多項式」として解説している.他にも,科学計算ソフトウェアの Mathematica や WolframAlpha や SciPy や Matlab で使われる関数がこちらの方程式を使った定義を採用している.
おそらくは (2) 式のように数式内の 2 箇所にが使われているのがスマートではない感じで気に入らなかったりするのだろう.(2) 式にという条件が付属するのも無駄であって,(6) 式の定義を採用するのならそんなものは必要ないのである.のときにラゲールの多項式に一致するというのはどちらも同じである.
多項式 y を定数倍した ay も同じ微分方程式を満たすので,方程式だけでは多項式の値は一通りには定まらない.科学計算ソフトで使われる関数がどのような基準で定数を決めて値を返しているのかは確認しておく必要がある.それについては後の方でもう少し詳しく説明しようと思う.
この記事ではソニンの多項式をと表すことにしよう.このようにはっきり記号を分けた方が混乱がなくて済むだろう.(6) 式のの部分をに変えたものが (2) 式なので,が (2) 式の解になっていると言える.つまり次のような関係が成り立つだろう. あるいは (2) 式ののところにを代入すれば (6) 式になるので次のように書いてもいい. ただし何らかの定数分だけの違いがある可能性があって,この関係は厳密ではない.定数の違いは本質ではなくて,どんな定数が付いていようとも微分方程式の解にはなっているのだが,それぞれの教科書やソフトウェアで多項式について異なる定義がしてある場合にはそれらを換算してやる必要が出てきたりもする.その定数の値はやに依存している可能性もあるから面倒である.
もう一つ気を付けておいた方がいいことがある.(8) 式の意味を考えると分かることだが,ソニンの多項式は,ではなくを階微分したものである.ソニンの多項式の方が何もかもスマートだというわけではなく,との関係についてはこちらの方が少し面倒くささが入っていたりするのである.
解を求める
取っ掛かりとして (1) 式の解を求めてみよう.解は次のような形に表せると仮定する. これを (1) 式に代入すると次のようになる. 展開したりして少し整理してみる. の次数の表示を揃えた方がまとめやすいので,和の記号の開始のの値を調整することで対処する. 以降の項はひとまとめにできるだろう.のところだけは和の記号を使わずに表すことにする. の各次数ごとの係数が 0 になっていなくてはならない.つまりカッコの中が 0 になっていなくてはならないので,次の関係が成り立つ. 次のように書けば漸化式らしくなるだろう. 第 1 の式は,第 2 の式でとした場合と同じなので,実は第 2 の式だけあれば十分である.
を定数倍したものはどれも解になるのだから最初の値を幾つにすべきかはどうでもいい.適当にから始めてやればいいだろう.(15) 式を見て分かることだが,となった時点でその次の係数は 0 になり,それ以降の係数はずっと 0 になる.つまり,この級数は無限には続かずにが最高次となるというわけだ.
もしもが整数でなかったり負の値だったならば,そのような瞬間は訪れず,項は無限に続くことだろう.
nは非負整数でなければいけないか
この級数が無限に続く場合に何か問題が起こるのかどうかが気になるところだ.では (15) 式は次のような形に近付くことになる. 項の符号が毎回入れ替わるということもなくなる.ダランベールの方法を当てはめてみると収束半径は無限大であり,にどんな値を入れても発散しないことが分かる.(ダランベールの判定法は「収束,発散の判定法」という記事の最後の方を参考にしてほしい.)そしてこの振る舞いは指数関数のテイラー展開とほとんど違いがない. 指数関数の場合はだが,が大きくなるほど (16) 式との違いはほとんど無視できるほどになっていく.
何も問題はない!
ただ,物理学に応用するときに指数関数のような振る舞いをする関数は欲しくないことが多いので,それ以外の振る舞いをする条件としてが非負整数である場合に限定して考えるのである.だから「ラゲールの微分方程式」や「ラゲールの陪微分方程式」そのものに直接取り組むことを避けて,「ラゲールの多項式」や「ラゲールの陪多項式」という言葉をいきなり持ち出してきたりするのである.
豆知識:が非負整数でない場合の解を「ラゲール関数」と呼ぶようである.
解の具体的な形
解がどんな形になるかを具体的に見てみたいだろう.ところがから始めるとちょっとした問題が起こる.は絶対値が必ず 1 より大きくなるが,(15) 式を見ても分かるように,分母が大きくなり続け,分子が小さくなり続けるので,最高次の係数が 1 よりかなり小さな値になってしまう場合が多いのである.係数が分数やら小数やらで表されるのは見た目があまりきれいではない.
それでもとりあえずやってみよう.一般項を求めるのは全く難しくはない.値を一つずつ変化させながら掛け合わせていくことで次の項が求まるのだから階乗を使って表せるだろう. なぜこうなるのかが理解できなければ,具体的な数字を使って一つ一つ掛け合わせていくのを試してみることをお勧めする.私もそうしてみた.
この式を見ると組み合わせの数の公式と同じという形が含まれている.とは言っても,今回は組み合わせとは関係ない話なので,同じ内容を表す二項係数の記号で表すのが好まれたりする.これを使うと (18) 式はかなりシンプルに書き直せる. これを使って「ラゲールの多項式」は次のように表すことが出来る. この式は定義ではないことに気を付けてほしい.これを定数倍したものもラゲールの微分方程式を満たすのだから,あちこちの文献やソフトウェアによってそれぞれの立場で都合の良い独自の調整が入っていたりする.先ほども書いたように,この (20) 式を使うと最高次の係数は 1 よりはるかに小さな値になってしまう.どれくらい小さいだろうか?(19) 式にを代入すると最高次の係数はだと分かる.ということは,(20) 式の全体にを掛けてやれば,最高次の係数が 1 に統一されて,具体的に書き並べてみたときの見た目が気持ちよくなるだろう.次のような具合だ. 全ての係数が整数で表されていることも嬉しい.そうなる理由は明らかだろう.(20) 式のの部分と後から掛けたの部分がきれいに約分されるからである.この具体例も一例であって定義ではないので気を付けてほしい.
ロドリグの公式
を表す方法は (20) 式のように和の記号を使う方法だけではない.もっとシンプルに一つの式で表せる式があって「ロドリグの公式」と呼ばれている.ロドリグの公式はエルミート多項式にもルジャンドル多項式にもそれぞれ別の形のものが出てきたのだった.今回は次のような形をしている. これを計算してやると次のようになって (21) 式とは少し違っている. これは符号が違うだけのことだから気にする必要もない.(22) 式があまりにシンプルなので,これを定義として採用している文献は多いようである.
さて,ラゲールの陪多項式はラゲールの多項式を回微分したものだったので,次のように書いておけばいい. こちらについても,これを定数倍したものを定義として採用しても何ら問題はない.せっかくシンプルなのだからあまり付け足したくない気はするが,それぞれの都合というものがあるから好きにすればいい.
科学計算ソフトの定義
先ほど,代表的な科学計算ソフトでのラゲールの陪多項式の定義がこの記事で説明している流儀とは少し違うものが使われているという話をした.ところが,陪多項式だけではなくラゲールの多項式の方の定義も少し変わった形になっているようである.ちょっと説明しておこう.
と思ったが,改めて調べてみると Wolfram Alpha では (20) 式をそのまま採用しているようである.つまり必ずとなるように決めている.そして (20) 式と一致させるために,ロドリグの公式の方の係数を変更して次のように表記している. Mathematica と Wolfram Alpha は開発元が同じなのでおそらく同じ仕様だろう.Matlab も SciPy も同じ仕様のようだった.これらのリンク先にある仕様説明ページを見ただけではどうにも分かりにくい.というのも,どうやら「陪多項式でとしたものをとする」という方針で決めているようであって,陪多項式の仕様説明の方を読んでみないと分からない形になっているからである.
では「ラゲールの陪多項式」の定義を眺めてみよう.興味深いことにWolfram社による解説ページで「詳細」のところを開いて読むと,「ここでの定義は,ソニン(Sonine)の多項式とよばれるものと同じである」と断言してくれている.ソニンの多項式の存在を分かった上でわざと名前を被せてきているのだな!
なぜこの流儀を採用しているのかについては過去の数学論文の歴史的経緯というものもあるのだろう.私はそこまで追う気にはなれなかった.
さて,Wolfram Alpha からリンクされている別の解説ページでは次のような式が載っている.(ただし今回の私の記事ではと書くと紛らわしいのでに書き換えて転載することにする.) 「ソニンの多項式はを階微分したものだ」という部分は既に説明した通りだが,が余分に付いている.これが付くことの意味を考えてみたが,どうやら定数項が常に正になるように調整しているらしい.つまり,多項式をグラフで表したときにでの値が必ず正になるようにしたいという美意識によるのではないだろうか.
他にも幾つかの式が載っているのでそれについても確かめておこう.次のような式が載っている. 科学計算ソフトのほとんどはは (20) 式で定義されているのだった.それを (26) 式に代入して計算してやるとちゃんとこの形になることが分かる.
もう一つ分からないのが次の式だ. (25) 式を (26) 式に代入してこの形にならないといけないのだが,ずいぶんとあっさりした形に変わっていて計算過程がよく分からない.(24) 式にも似ていなくて,こんな形になる気が全然しないのである.私自身がこれでかなり悩んだので,他の人が同じくらい長い時間悩まなくても済むようにここでやっておこう.
関数の積を階微分したものが二項係数を使って表せるという「一般化ライプニッツ則」を知らなかったのが致命的だった.しかしそれだけ知っていれば解けるというものでもなかった.コツが幾つかある.先にの中の階微分を計算してしまってを一旦式から消してしまうことが重要である.目的の式に近付こうとして慌ててをくくり出すことを考えない方がいい.が消えれば階微分を楽に実行できて式が複雑にならないで済む.注意点はまだある.階微分を一般化ライプニッツ則で書き換えるときにどちらを先に微分する形で書くかという二通りの選択肢がある.ここで選択を間違えると行き詰まる可能性が高い.最後の方は,欲しい結論の方から逆にたどって無理やり合わせた.そこでもまたライプニッツ則を使ったのである. こうして (28) 式も (26) 式と矛盾しないことが確かめられた.
さて,Matlab や SciPy はどうだろうか?ちょっと分かりにくいのだが,これらはどちらも超幾何関数というものを使って次のように定義しているのである. 超幾何関数とは何だろうか?どうやら,特殊関数などを表す色々な微分方程式の解をまとめて表すことのできる便利な形式の関数のようである.超幾何関数にもあれこれ種類があるようだが,ここで使われている超幾何関数の定義はこちらのSciPyのリファレンスページで次のように定義されている. この式の中にあるやは「ポッホハマー記号」と呼ばれるもので,SciPyのページにて次のように定義されている. このというのはガンマ関数と呼ばれるもので,階乗を拡張したものである.変数が正の整数の時にはという関係になっている.ああ,ひどいたらい回しだ!これで解読に必要な情報は全部揃っただろうか?いや,(30) 式の中でというものを使っているせいで,これをそのまま代入しようとすると「負の階乗」が出てきてしまう.そんなものは定義されていないのである.ではどうしたらいいだろうか.実は (32) 式のの部分が負の値の時には次の関係が成り立つことがガンマ関数の性質から言えるのである. このことを考慮して非負整数について表すと,次の関係が成り立っていることになる. これらを使って (30) 式から始まる情報をまとめると次のようになる. 途中で和の範囲が変わっているのは,ガンマ関数が 0 以下の整数のところで毎回無限大に発散する性質があるためである.分母にあるに該当する部分が無限大になるので,になる項は消えてしまうのである.
この結果は (27) 式と同じであり,ひと安心だ.ここまでに例を挙げたどの科学計算ソフトもラゲールの陪多項式に関して同じ定義を採用していることが分かった.
ロドリグの公式の証明
ロドリグの公式が成り立つ理由は説明しないつもりだったのだが, (29) 式のような計算をあれこれ試しているうちに,それくらいは簡単に出来るのではないかと思えるようになってしまった.実際とても簡単だった.
例えば (25) 式から始めて計算してやると次のようにして (20) 式と同じものが出来上がる.
一旦休憩
今回は母関数表示についても書いておきたかったのだが,話が長くなってきてしまったのでこれくらいにしておこう.
ほとんどの人にとっては必要ないとは思うが,ラゲールの多項式やラゲールの陪多項式を含む関数の規格化を計算する際に母関数が必要になるようである.今回の記事はその計算を説明するための参考記事として書き始めたのである.
さらには母関数を経由することでロドリグの公式をもっと自然に導くことが出来るようである.今回は話の流れで直接的に証明してしまったが,それについてもまとめてみたい.こんな妙な式を一体どうやって思い付くことができたんだ?と不思議に思っていた.その疑問が解けるかもしれない.
近いうちに続きの記事を書く予定である.