この文書の現在のバージョンと選択したバージョンの差分を表示します。
| Next revision | Previous revision | ||
|
maxima [2011/12/26 15:39] saito 作成 |
maxima [2011/12/26 19:12] (現在) saito |
||
|---|---|---|---|
| ライン 7: | ライン 7: | ||
| vals; | vals; | ||
| M M 2 M + L 2 M + L | M M 2 M + L 2 M + L | ||
| - | (%o82) [[- sqrt(-), sqrt(-), - sqrt(-------), sqrt(-------), 0], | + | (%o) [[- sqrt(-), sqrt(-), - sqrt(-------), sqrt(-------), 0], |
| P P P P | P P P P | ||
| [1, 1, 1, 1, 1]] | [1, 1, 1, 1, 1]] | ||
| ライン 17: | ライン 17: | ||
| R:transpose(matrix(a1,a2,a3,a4,a5)); | R:transpose(matrix(a1,a2,a3,a4,a5)); | ||
| load("diag"); | load("diag"); | ||
| - | Cm:diag([-sqrt(L+2*M)/sqrt(P),-sqrt(M),0,0,0]); | + | D:diag([-sqrt(L+2*M)/sqrt(P),-sqrt(M)/sqrt(P),0,sqrt(M)/sqrt(P),sqrt(L+2*M)/sqrt(P)]); |
| - | Cp:diag([0,0,0,sqrt(M),sqrt(L+2*M)/sqrt(P)]); | + | Dm:diag([-sqrt(L+2*M)/sqrt(P),-sqrt(M)/sqrt(P),0,0,0]); |
| + | Dp:diag([0,0,0,sqrt(M)/sqrt(P),sqrt(L+2*M)/sqrt(P)]); | ||
| fullratsimp(trigsimp(R^^(-1).C.R),M); | fullratsimp(trigsimp(R^^(-1).C.R),M); | ||
| + | fullratsimp(trigsimp(R.D.R^^(-1)),M); | ||
| + | Cp:fullratsimp(trigsimp(R.Dp.R^^(-1)),M); | ||
| + | Cm:fullratsimp(trigsimp(R.Dm.R^^(-1)),M); | ||
| + | load(f90) | ||
| + | f90(Cp); | ||
| + | f90(Cm); | ||
| </code> | </code> | ||
| - | ratsubst(a,b,c)は表現cの中のbをaに変えるコマンド | + | * ratsubst(a,b,c)は表現cの中のbをaに変えるコマンド |
| + | * f90は自由形式で吐き出す. | ||
| + | * texはtex形式で吐き出す. | ||
| + | * [vals,vecs]:trigsimp(eigenvectors(C));固有値をvalsに固有ベクトルをvecsに入れる. | ||
| + | * 固有ベクトルの取り出し方はvecs[*][1]. | ||
| + | * trigsimpは三角関数をキレイにする.あまり頑張れない. | ||
| + | |||