少し線形代数の背景を持つ人にとって、課題はこれと同じくらい簡単です:与えられた複素2x2行列の固有値と固有ベクトルを決定します。I / Oの詳細などのチャレンジに進んでください。固有システムについて少し復習する必要がある場合は、先に進んでください。
バックグラウンド
特性方程式行列のAは、によって定義されます。
det| A - λI | = 0
ここで、λは複素数(スカラー)パラメーター、Iは単位行列、det | ... | ある行列が。多項式左側の評価さλは、特性多項式、2×2行列の場合には二次です。この特性方程式の解である固有値のA我々のように表すであろう、λ 1及びλ 2。
今固有ベクトルは V IのA満足を
A vi = λi vi
それぞれについてλ 私は、これは次の2つの未知数(のコンポーネントの2つの方程式系与えV 私は非常に簡単に解決することができます)、。システムは実際には指定不足であり、固有ベクトルの大きさは方程式によって決定されないことに気付くでしょう。通常、固有ベクトルは正規化されます。つまり、√(| x | 2 + | y | 2)= 1です。ここで、xとyはベクトル成分、| x |です。2はxに複素共役を掛けたものです。
注固有値が縮退であってもよいこと、すなわちλ 1 =λ 2。この場合、2つの線形独立な固有ベクトルを使用して、単一の連立方程式を満たすことができる場合とできない場合があります。
チャレンジ
複素数要素を含む2x2行列が与えられた場合、その2つの(おそらく同一の)固有値と、各固有値の正規化された固有ベクトルを決定します。結果の数値は、少なくとも3(10進数)有効数字まで正確でなければなりません。任意の行列要素の実数部と虚数部が[-1,1]の範囲にあると仮定できます。
STDIN、コマンドライン引数、プロンプトまたは関数引数を介して入力を取得して、関数またはプログラムを作成できます。結果をSTDOUT、ダイアログボックス、または関数の戻り値として出力できます。
入力および出力には、便利な(ただし明確な)文字列またはリスト形式を使用できます。個々の数値を表すために、フロートのペアまたは複合タイプから選択することもできます。
固有システム(Mathematica Eigenvectors
やEigensystem
)や方程式ソルバーを解くために組み込み関数を使用しないでください。
これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。
例
各例は、入力、固有値、対応する固有ベクトルが同じ順序で並んだ3行です。固有ベクトルはその位相までしか決定されず、縮退した固有値の場合、固有ベクトルは実際には任意であることに注意してください(最初の例のように)。
[[1.0, 0.0], [0.0, 1.0]]
[1.0, 1.0]
[[1.0, 0.0], [0.0, 1.0]]
[[0.0, 0.4], [-0.1, -0.4]]
[-0.2, -0.2]
[[0.894427, -0.447214], [0.894427, -0.447214]]
[[0.3, 0.1], [0.4, -0.9]]
[-0.932456, 0.332456]
[[-0.0808731, 0.996724], [0.951158, 0.308703]]
[[0.5, -1.0], [0.8, -0.5]]
[0.74162i, - 0.74162i]
[[0.745356, 0.372678 - 0.552771i], [0.745356, 0.372678 + 0.552771i]]
[[-0.0539222 + 0.654836i, -0.016102 + 0.221334i], [0.739514 - 0.17735i, -0.0849216 + 0.77977i]]
[0.238781 + 0.984333i, -0.377625 + 0.450273i]
[[0.313668 + 0.322289i, 0.893164], [-0.236405 - 0.442194i, 0.865204]]
[[-0.703107 - 0.331792i, 0.286719 - 0.587305i], [-0.418476 + 0.396347i, -0.885934 + 0.50534i]]
[-1.13654 - 0.32678i, -0.4525 + 0.500329i]
[[0.833367, -0.248208 - 0.493855i], [-0.441133 - 0.408236i, 0.799215]]
[[-0.156312 + 0.788441i, 0.045056 - 0.579167i], [0.130741 - 0.97017i, 0.049183 - 0.590768i]]
[-0.181759 + 1.11738i, 0.0746298 - 0.919707i]
[[0.86955, -0.493846 + 0.000213145i], [0.318856 - 0.0181135i, 0.94763]]