この文書の現在のバージョンと選択したバージョンの差分を表示します。
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は三角関数をキレイにする.あまり頑張れない. | ||
+ |