• ベストアンサー

Mathematica LegendreP

Mathematicaの授業内で Legendreという関数(?)を使って様々な面白い図形を描きましたが、 実際にどのような時に用いられるもので 式がどのようなことを示しているのかがあまりわかりません。 この関数に詳しい方お教え願えないでしょうか。 もし例が必要なのであれば下の図形を例に説明していただけると とても助かります。 SphericalPlot3D[Release[Abs[LegendreP[2,0,Cos[theta]]Cos[phi]]], {theta,0,π,π/32},{phi,0,2π,π/32}]

  • kexe
  • お礼率50% (58/114)

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

P[n,m,x]はルジャンドルの陪多項式(associated Legendre polynomial)と言います。m=0の場合には P[n,m](x) = {(1-x^2)^(m/2)} [d^m/dx^m]Pn(x) = Pn(x) ここにPn(x)はルジャンドル多項式(Legendre polynomial)です。従って、次数n=2のルジャンドル多項式にx=cosθcosφを代入して半径1の球面上にプロットした訳ですから、ボールの表面の振動モードの一つを表示したと考えれば良いと思います。 ●ルジャンドル多項式 LegendreP[n,x] Pn(x) = (1/(2^n)/n!) [d^n/dx^n] (x^2-1)^n これは直交多項式で、直交性は integral {x=-1~1} Pn(x) Pm(x) dx = 0 (n≠mのとき) です。ルジャンドルの微分方程式 (1-x^2) P''n(x) - 2 x P'n(x) + n(n+1)Pn(x) = 0 の解であり、 また母関数 (1-2xt+t^2)^(-1/2) = ΣPn(x) t^n (Σはn=0,1,2,...の総和) を持ちます。 ●ラプラス方程式 Δu = 0 (Δ=[∂^2/∂X^2]+[∂^2/∂Y^2]+[∂^2/∂Z^2]) はニュートン力学における重力場や、電荷の作る静電場のポテンシャルなどを表す非常に基本的な方程式です。その解u(X,Y,Z)を極座標(r,θ,ψ) X = r cosθ cosψ Y = r cosθ sinψ Z = r cosθ で表示したものは、半径rだけに依存する因子R(r)と、球面上の位置(θ,ψ)だけに依存する因子Ψ(θ,ψ)の積 u(r,θ,ψ) = R(r)Ψ(θ,ψ) に分離され、Ψ(θ,ψ)の方を半径1の球面上だけに限って見ると(さらにx=cosθと変数変換して)ルジャンドル多項式およびそれに関連する関数(第二種ルジャンドル関数、ルジャンドル陪関数 associated Legendre function)の線形和で表現できる。つまり、ルジャンドル関数(とその親戚)を使って、ラプラス方程式の一般解が表される。 また、球面上の定在波の振幅もこれらの線形和になります。 この意味で、物理では不可欠な関数です。 ●格子(i,j) (i=0,1,2,....; j=0,1,2,.....)を(0,0)から出発して、 * iを1増やす * jを1増やす * i,jを共に1増やす のどれかを好きなように組み合わせて(n,n)に到達する経路は何通りあるか。その答はPn(3)。 こんな所にもルジャンドル多項式は現れるんです。

kexe
質問者

お礼

とっても詳しい説明ありがとうございます。 ちょっと僕には言葉的にも難しいんで 複数日かけてがんばって理解したいと思います。 数学嫌いなのにGMTとかMathematica扱うの好きなんですよ。 で毎回理解するのに四苦八苦 σ(^◇^;) 今回の問題は、頭の中で3次元を作り出せない僕にはかなり難問でして。。。 とりあえずプリントアウトしてがんばります! ほんとありがとうございました。

その他の回答 (3)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.4

直交関数系は関数解析の基本的概念で、とっても重要なので勉強して絶対に損はありません。でもstomachmanの持ってる教科書は余りにも古くて推薦するのに気が引けます。本屋で探せば良いのがあるでしょう。それから岩波の「数学公式」III巻(特殊関数)も必携です。 ラプラス方程式を含む物理数学に関してはsiegmund先生が良い教科書を教えてくださる筈。  直交関数系として一番良く知られているのは sin n θ, cos n θ (n = 0, 1,2,....ただしsinの方はn=0は無し。) でしょう。どの2個 を取っても相異なる物であれば(例えば cos nθとsin mθ)内積が0、つまり integral{θ=-π~π} (cos nθ)(sin mθ) dθ = 0 ---(1) です。この関係を「(cos nθ)と(sin mθ)は直交である」という。これを使って周期=2πを持つ滑らかな関数fなら何でも f(θ)=A[0](cos 0)+Σ{n=1,2,....} [A[n](cos nθ)+B[n](sin nθ)] ---(2) という形で表せる。で、A[n], B[n]を具体的にどうやって求めるか、ですけど、たとえば J[k] = integral{θ=-π~π} f(θ)(cos kθ) dθ を考える。(2)をfに代入すると、({θ=-π~π}は省略して書きますと) J[k] =integralA[0](cos 0)(cos kθ) dθ+  Σ{n=1,2,....} [A[n]integral(cos nθ)(cos kθ) dθ+B[n]integral(sin nθ)(cos kθ) dθ] となって、(1)を使うと、 J[k] =A[k]integral(cos kθ)(cos kθ) dθ これだけを残してあとは全部0になっちゃう。 だから、 A[k] = [integral{θ=-π~π} f(θ)(cos kθ) dθ] / [integral{θ=-π~π} (cos kθ)^2 dθ] ということになる。いとも簡単にA[k], B[k]が計算できる。これがフーリエ級数展開ですね。  同じように、多項式の列 {Pn(x) } (n=0,1,2,.....)において、どのn≠mについてもPn(x)とPm(x)が  integral {x=-1~1} Pn(x) Pm(x)dx = 0 となるようにしたのがルジャンドル多項式です。x=-1~1で定義される滑らかな関数f(x)は何でも f(x) = Σ{n=0,1,2,....} C[n] Pn(x) という形で表せる。このC[n]の求め方、もう分かりますよね。  得体の知れない関数f(x)でも、このようにして性質がよく分かった関数の線形和(要するに重み付き平均)に分解してしまえば、容易に取り扱えるようになる。直交展開といいます。  また、信号処理や画像処理でも直交展開は必須の基礎技術。行列の計算との関連も非常に深いです。  Mathematicaの達人なら、 ★Pnは漸化式 (n+1)P[n+1](x) - (2n+1)xPn(x) + nP[n-1](x) = 0 を使っても求められます。 ★何か適当な関数をルジャンドル多項式で直交展開してみてはいかが?そのあと fj(x) = Σ{n=0,1,2,...,j} C[n] Pn(x) のjを0,1,2,...と増やしながらグラフの変化を見ると、なかなか楽しいですよ。 ★Pn(x)がルジャンドルの微分方程式 (1-x^2) P''n(x) - 2 x P'n(x) + n(n+1)Pn(x) = 0 の解であることは、実際に微分してみれば分かります。 ★母関数 (1-2xt+t^2)^(-1/2) = ΣPn(x) t^n 左辺をtでマクローリン展開してみれば Pn(x) = (1/(2^n)/n!) [d^n/dx^n] (x^2-1)^n が確かめられます。

kexe
質問者

お礼

補足ありがとうございます。 直交関数系の例sin n θ, cos n θ などとてもわかりやすかったです。 まだ部分的にしかわかりませんが がんばって勉強します。 p.s.私はMathematicaの達人なんかじゃありませんよぉ~ まだ初めて1年も経ってませんもん。 でも★の上3つはできそうなのでやってみたいと思います。 最後のマクローリン展開はまたいつか・・・σ(^◇^;)

  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.3

申し訳ありません,ちょっと間違えました. 締め切ってなくてよかった. > 量子力学をご存知なら,kexe さんの例は水素様原子のd軌道の一つ, > l=2,m=0 の角度部分です. は削除してください. ちょっと式を見間違えました. Cos[Phi] がなければ上のことは正しいです. 他にもミスタイプがありました. integral {x=-1~1} {Pn(x)}2 dx = 2/(2n+1) (n=mのとき) の {Pn(x)}2 は {Pn(x)}^2 です. 「余弦定」は「余弦定理」です.理がどこか行っちゃいました. シュミットの直交化法は,大学1年次の線形代数のテキストに 載っていると思います. ベクトル空間の要素が {x^n}, 内積の定義が -1 から1までの積分. で,順に正規直交基底を構成してゆく,という話です.

kexe
質問者

お礼

あっ量子力学の件は自分で気付きました。 というのもCos[Phi]をなくしたパターンも すでにやっていたんです。だからたぶんそうなんじゃないかと。 ミスタイプはそこまでの問題じゃないからいいですよ わざわざありがとおうございます。 僕生物系でパソコン関係は趣味に近いんですσ(^◇^;) だから数学系の授業ってないんですよ 図書館かどっかで勉強してきます。ありがとうございました。 p.s.ポイントはお二方ともに20Point入れたいのですが無理なんで 投稿の早い順にさせてもらいました。m(__)m

  • siegmund
  • ベストアンサー率64% (701/1090)
回答No.2

stomachman さんが詳しく書かれていますので, もうあんまり付け加えることもないんですが... Legendre 陪多項式は stomachman さんの書かれた定義が普通ですが ときに (-1)^m を乗じて定義してあることもあるので, 本を参照するときは注意が必要です. Pn(x) の具体形は P0(x) = 1 P1(x) = x P2(x) = (1/2)(3x^2 -1) P3(x) = (1/2)(5x^3 - 3x) ・・・・・・・・・・ で,見てわかりますように,偶関数と奇関数が交互になっています. stomachman さんの Pn(x) = (1/(2^n)/n!) [d^n/dx^n] (x^2-1)^n から求められますね. 直交性が integral {x=-1~1} Pn(x) Pm(x) dx = 0 (n≠mのとき) integral {x=-1~1} {Pn(x)}2 dx = 2/(2n+1) (n=mのとき) なので,関数系 {x^n} (n = 0,1,2,....) を区間 [-1,1] においてシュミットの直交化法によって順次直交化してゆくと √(n + 1/2)Pn(x) が得られます. 量子力学をご存知なら,kexe さんの例は水素様原子のd軌道の一つ, l=2,m=0 の角度部分です. stomachman さんの母関数 (1-2xt+t^2)^(-1/2) = ΣPn(x) t^n (Σはn=0,1,2,...の総和) の左辺は,x=cosθ とおいてみると, ちょうど余弦定の形になっていて,2辺が1とt, 間の角がθという三角形の 第3辺の逆数になっています. こういうあたりから,電磁場のポテンシャルの展開にもよく使われます.

kexe
質問者

お礼

ん~ とりあえずありがとうございます。 正直まだ何がなんだかわかってませんσ(^◇^;) でもお答えいただいたのでがんばって理解したいと思います。 どーせこれから休みなんで。 あと例についてまでお答えいただいてありがとうございます。 言われてみて初めて気付きました(笑) 最近勉強したばっかなのに忘れてました。σ(^◇^;)

関連するQ&A

  • Mathematica マセマティカで絵を描きたいです。

    Mathematica マセマティカで絵を描きたいです。 マセマティカを授業で習い、グラフや図を描く練習をしました。 そこで、マセマティカを応用して絵を描くことにチャレンジをしたいと思います。 例で、りんごでも猿でもドラえもんでもなんでもいいので式を書いていただけませんか? それを参考に式を見て自分で絵を描きたいです。よろしくお願いします。

  • Mathematicaでの計算結果にて

    工学系の学生です。 卒業研究の為にMathematicaで計算をしています。 解きたいのは5次方程式なのですが計算すると解によくわからない記号がでてきます。 (例) x→[a^3+a^3#1^2+a^3b#1^3+2a#1^3-a^2b#1^4+#1^5 &, 1] x→[a^3+a^3#1^2+a^3b#1^3+2a#1^3-a^2b#1^4+#1^5 &, 2] x→[a^3+a^3#1^2+a^3b#1^3+2a#1^3-a^2b#1^4+#1^5 &, 3] x→[a^3+a^3#1^2+a^3b#1^3+2a#1^3-a^2b#1^4+#1^5 &, 4] x→[a^3+a^3#1^2+a^3b#1^3+2a#1^3-a^2b#1^4+#1^5 &, 5] 分からないのはこの#1^nの部分です。 Mathematicaのヘルプを読むと #nの部分と後半の&, n で純関数を置き換えているという説明があったのですがまず純関数というものがよく理解できないでいます。 また、この例の場合、解はどのように形になるのでしょうか。 分かる方どうかよろしくおねがいします。

  • Mathematicaの問題について

    Mathematicaという数式処理システムについて、授業ではほとんど教わっておらず、説明なども飛ばし飛ばしで、一体何をやっているのだか、言っているのだか全く分からないまま課題が出されて、何をどうしてよいのか分からず、手が出ない状況で困っています。課題の内容を載せますので、どなたか解答を教えていただきたいです。出来れば何をどうしているのかも教えて頂けたら嬉しいのですが、解答だけでも十分ありがたいので、長くなってしまいますが、どうかよろしくお願いします。 1.分散を計算する以下の関数には、誤りがある。誤りを 指摘し、正しく動くよう修正しなさい。 myVariance[ arg1 ] : = ( xbar = Mean[arg1] ; temp1 = Table[ {i, 1, Length[arg1]}, (arg1[[i]] – xbar)^2]; N[ Apply[Plus, temp1] / Length[arg1] ] ) 2.正規分布の確率密度関数を描く関数grNormal を以下に 定義する。 (1)と(2)を埋めて関数を完成させなさい。 関数の入力引数は、平均mu, 標準偏差sigma, グラフを描く範囲(-xrange~xrange)の3つとする。 grNormal[mu_, sigma_, xrange_] := (1) __[{ndist, pdfunc, ymin=-0.01, ymax=0.43},  (2) _________; pdfunc = PDF[ndist, x]; Plot[pdfunc,{x, -xrange, xrange}, Frame->True,PlotRange->{{-xrange, xrange}, {ymin, ymax}}] ] 3.複合式を用いて平均を求める関数を以下に定義する。 (1) と(2)を埋めて関数を完成させなさい myMean[(1) __] := (data1 = Apply[Plus, arg1]; data2 = Length[arg1]; average = (2) __) 4.data1 は,10 人の学生の統計学試験の点数とその度数をリストで示したも のである.このデータからMathematica を用いて統計学試験の分散を求める関 数を2 通りの方法により以下に作成した.(1)と(2)の下線を埋めて完成させなさ い. また,それぞれがどのような方法か説明しなさい 【手法1】 data1 = List[40, 40, 40, 50, 50, 50, 50] myVari[arg1_] := (xbar = Mean[arg1]; temp1 = Table[(arg1[[i]]-xbar)^2,{i,1,Length[arg1]}]; (1) _____) Vari = myVari[data1] 【手法2】 data1 = List[40, 40, 40, 50, 50, 50, 50] myVari[arg1_] := (xbar = Mean[arg1]; temp1 = Table[(arg1[[i]])^2,{i,1,Length[arg1]}]; (2) _____) Vari = myVari[data1] 5.data1 は,10 人の学生の統計学試験の点数とその度数をリストで示した ものである.このデータからMathematica を用いて統計学試験の分散を 求める関数を以下に作成した.誤りを指摘し,正しく動作するよう修正 しなさい. data1 = List[40, 40, 40, 50, 50, 50, 50, 60, 70, 80] myVari[arg1] := (xbar = Mean[arg1]; temp1 = Table[(arg1[[i]]-xbar),{i,1,Length[arg1]}]; N[Apply[Plus, temp1] – xbar^2]) Vari = myVari[data1] 6.data1 は10 名の学生の右握力と球投げの結果を2 次元のリストで示したものである. このデータからMathematica を用いて共分散を求める関数を以下に作成した.下線 (1) と(2) を埋めて完成させなさい.なお,  myC の第1引数には右握力(grip),   第2 引数には砲丸投げ(shot) の値を与えるものとする. data = List[{26,16},{26,11},{26,14},{27,16},{28,18}, {29,16},{32,18},{29,21},{24,14},{26,19}] <<Statistics’MultiDescriptiveStatistics’ TableForm[data1] grip = Table[data3[[i,1]],{i,1,10}] shot = Table[data3[[i,2]],{i,1,10}] myC[arg1_,arg2_] := (xbar = Mean[arg1]; ybar = Mean[arg2]; temp1= (1)______________________________________________; (2)____________________________________________________) myCorrelation = myC[grip,shot]

  • 電界の球座標(Fortran)

    FDTD法で求めたex(i,j,k), ey(i,j,k), ez(i,j,k) を使ってEr, Eθ,Eφを求めたいのですが、以下のプログラムではうまくいきません。式自体が間違っているのでしょうか? 詳しい方がいらっしゃったら教えて下さい。よろしくお願いします。 subroutine efield_spherical use consts use fdtd implicit none integer :: i, j, k, n, td real(8) :: e_r, e_the, e_phi real(8) :: r, theta, phi, s real(8) :: sx, sy, sz real(8) :: tx, ty, tz real(8) :: rx, ry open(10,file="e_r.dat") open(20,file="e_the.dat") open(30,file="e_phi.dat") sx = sin(theta)*cos(phi) sy = sin(theta)*sin(phi) sz = cos(theta) tx = cos(theta)*cos(phi) ty = cos(theta)*sin(phi) tz = sin(theta) rx = sin(phi) ry = cos(phi) theta = 0.0d0 s = pi/180d0 do n = 0, 360 phi = s*n ! Er e_r = ex(i,j,k)*sx+ey(i,j,k)*sy+ez(i,j,k)*sz ! E_theta e_the = ex(i,j,k)*tx+ey(i,j,k)*ty-ez(i,j,k)*tz ! E_phi e_phi = -ex(i,j,k)*rx+ey(i,j,k)*ry write(10,*) e_r write(20,*) e_the write(30,*) e_phi enddo close(10) close(20) close(30) return end subroutine

  • EXCEL2002で,ABS関数に似た何らかの関数式を使い、負の数(-1)⇒正の数(1.)に+-の記号だけを入れ換える方法とは?

    EXCEL2002で,ABS関数に似た何らかの関数式を使い、負の数(-1)⇒正の数(1.)に+-の記号だけを入れ換える方法とは?  わかり難いので、例を記します。 例  -1 ⇒ 1     1 ⇒-1 というように、+-の正負の記号だけを入れ換えたいのですが、何か良い方法はないでしょうか?

  • 数学 三角関数

    三角関数の問題です。 3cos2θ-√3sin2θ-2 を計算するんですが、 解答には、いきなり 与式=-2√3(sinθ×1/2-cos2θ×√3/2)-2 となっているんです。 上の式をどう変形したら下の式になるのでしょうか? よろしくお願いします。

  • 複素数や極限について

    先日、初めて複素数や極限を習いましたが 授業自体が学校の授業ではあったものの少し特殊で 全くついて行けず、板書とプリントをノートに書き写すだけで終わりました。 で、質問は 複素数に出てくるcos, sin, θ 極限に出てくるf(x)に関してです。 極限は一部因数分解の知識を使うところがあったので、そこぐらいは分かった物の それ以外はほぼほぼ分からず 疑問を先生に聞いたところで、説明をされても、その説明さえ理解できないレベルです。 ただ、問題の解説や途中式を見ていて思ったのですが cos,sin,θ,f(x)に意味は無いのでしょうか? こういう書き方をするとニュアンスが違ってしまうと思うのですが その前の三角関数からつまづいており(三角関数→ベクトル→複素数→極限の順で習いました) 三角関数だとcos30°はいくつとか計算しますよね。 cosは底辺/斜辺とか、sinは高さ/斜辺とか。 この意味は複素数に出てくるcosやsinも同じ意味を持っているのでしょうか? 問題の途中式から結果まで数字が1個も出てこないとか普通にあったので 分数になって分子に1が来るとか、2乗だからという意味でcos2θとかなるのは除いて。 最後までずっとcos,sin,θ,iだけで終わったりして 答えも数字では無いので、違和感があり、気になったので質問しました。 後、上記で意味は無いのでしょうか?と書いたのはcos,sin,θよりも ここから書くf(x)について、かなりそう思っているところはあるのですが 問題などにfがあったらこれは関数だという判断だけに使うものであって fにはあまり意味が無いというように見えたのですが 違いますか? 中学の数学ぐらいしか分かりませんが(高校では因数分解・展開の残りの公式とか、√のところをやったぐらいで中退しました) 中学で習った範囲で、これと意味というか、捉え方が一緒というものがあったらそれを例に出していただけると分かりやすくて助かります。 例えばy=xという感じで。 (xは知ってるけど、yが急に登場するようになったら、yってどういうことだか分からないですよね?だから捉え方としてはxと同じだよと言われると、私だったら分かりやすいです)

  • 微分について

    こんにちは。 変数xとθの下の関数における微分について x^2+a^2=a^2/(cosθ)^2   (aは定数)において 導関数は dx/dθ=a/(cosθ)^2となる。 とあるのですが、導き方がわかりません。 回答よろしくお願いします。

  • 二つの円の重なっている部分の面積

    半径r1,r2の二つの円があって、その中心間の距離をdとするとき、二つの円が重なっている部分の面積は、r1,r2,dの関数としてどのように表すことができるでしょうか。 重なっている部分の面積Sは、 S = r1*r1 (θ1 + sinθ1 * cosθ1) + r2*r2 (θ2 + sinθ2 * cosθ2) cosθ1 = a / r1 cosθ2 = b / r2 d = a + b として表すことができるのですが、式が4つありますので、θ1,θ2,a,bを消して、 Sをr1,r2,dの関数として表すことができると思うのですが、 どのようになりますでしょうか。

  • 三角関数の合成が考えられた背景はなんですか?

    三角関数の合成は重要だと高校の授業で習いましたが、具体的にどんなところが重要なのですか? 別になくても平気っちゃ平気ですよね? sinとcosが式に両方入っていると扱いにくいからとかでしょうか? 一つにまとめると何かが楽だからですか?