アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の行列Rの固有値を求めたい。{}は行を表わしていて、一つもの{}は1行、2個目の{}は2行目といった感じです。
R[a_, b_, c_, d_, l_, m_, n_] := {{-a - l, b, 0}, {a, -b - c - m, d}, {0, c, -d - n}}
Eigenvalues[R[a, b, c, d, l, m, n]]
として、固有値を求めようとしたのですが、解に「#1」とわけのわからない値が出てきました。ヘルプで調べたのですが、さっぱりです。

固有値の一つが
Root[bdl+adm+dlm+ac#1+ad#1+bd#1+bl#1+…省略…&,1]
となりました。
良く意味がわかりません。

A 回答 (1件)

R[a_, b_, c_, d_, l_, m_, n_] := {{-a - l, b, 0}, {a, -b - c - m,


d}, {0, c, -d - n}}
ToRadicals[Eigenvalues[R[a, b, c, d, l, m, n]]]

とすれば、意味のわかる答えが出てきますが、たぶん役には立たないでしょう。mathematicaでは3次以上の代数方程式を解かすと、最小多項式に分解し、さらに最小多項式の根にある規則で順番をつけ、その根である、というように表現します。

具体的には、Root[#^5 - 2 # + 1&,1]とは、x^5-2x+1=0の1番目の根、という意味です。#をたとえばxに置き換えればいいのです。

Root[#^5 - 2 # + 1&,1]は一意的な複素数を表しますので、このままの形で計算することができます。たとえば、
Simplify[Root[#^5 - 2 # + 1&,1]+Root[#^5 - 2 # + 1&,2]+Root[#^5 - 2 # + 1&,3]+Root[#^5 - 2 # + 1&,4]+Root[#^5 - 2 # + 1&,5]]
これが0になることは解と係数の関係から明らかですよね。

Rootオブジェクトをよく知っている表示に直したければ、ToRadicals[Root[…]]を用います。そうするとべき根と四則を用いた表示が与えられます。

Rootオブジェクトで記号が使われていなければ、N[Root[…]]で近似値を計算させることもできます。質問者様が書かれているものだと、記号が多用されていますので、近似値を出すことは不可能です。

参考URL:http://reference.wolfram.com/mathematica/ref/ToR …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

完璧です!!!

ありがとうございました。

お礼日時:2007/05/15 19:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!