• 締切済み

maximaをより、効率的に使いたい!

maximaで行列の固有値を求める計算をしております。固有値を求めた後、その対数とそれ自体の積を求めなくてはいけません。今は値をコピーし貼り付けるという単純な作業をやっておりますが、精度を上げることとなり(40~50桁),その様な場合、間違えないか不安です。maximaではそういった作業~ひとつの入力に対し、複数の出力がある場合、その結果に番号を振り、それらで新たな計算を容易に行うこと~は出来ますか?よろしくお願い致します。

みんなの回答

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.2

たとえば A:solve(x^3+2*x^2+2*x-4=0,x);Ar:realpart(A[2]);Ai:imagpart(A[2]); とすることで 3次方程式の解の2番目を取り出すことができます。 そして、その解の実部をArに、虚部をAiに取り込むことができます。 連立方程式の解のように、何組も解がある場合 連立方程式の解Aが A:[[1,2,3],[4,5,6],[7,8,9]] となった場合、「4」+「8」は A[2][1]+A[3][2] で引用できます。 (%i1) A:[[1,2,3],[a,5,6],[7,b,9]];C:A[2][1]+A[3][2]; (%o1) [[1,2,3],[4,5,6],[7,8,9]] (%o2) C:b+a A:やC:は表示されませんが値は保持していますので その内容を他でA,Cで引用することができます。 このように行列の要素を指定するように、m番目の出力の式の組の中のn番目の式と場合、出力全体をA:と定義している場合、A[m][n]で1つの式だけ取り出せます。A[m]だけだと「m番目の出力の式の組」全体を取り出します。 試してみてください。

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.1

一般的な抽象論で論じないで、具体的な例を挙げて質問して下さい。 >間違えないか不安です 簡単な具体例(代表的な3例以上の具体例)で確認するようにすると間違いを回避できるかと思います。 また結果が、物理的な意味、数学的な意味や常識と異なる場合は間違いのチェックをすることが必要でしょう。

aroron
質問者

補足

早速のお返事有難うございます。説明不足ですいませんでした。私の質問は添付資料のに%o4の結果を足し合わせたり(%i5)する場合、いちいち、数値を代入しなくてはいけないのか、より簡単に計算することができるのかどうかと、いう事です。この例の場合はケタも個数も楽ですが、固有値の桁数を上げると大変かつ写し間違いが不安なので、なんかよい方法はないでしょうか