MENU
686,244

スレッドNo.3060

固有値からの行列構成

A=[-1,-2;3,4]
なる行列ではこの固有値は
det(A-λ*I)=(-1-λ)*(4-λ)-(-2)*3=λ^2-3*λ+2=(λ-1)*(λ-2)
からλ1=1,λ2=2
の固有値が見つかる。

そこで逆に固有値を指定して、それを持つ異なる成分からなる正方行列を作ってほしい。

(1)固有値-3,7を持つ2次正方行列M1
(2)固有値1,2,3を持つ3次正方行列M2
(3)固有値-4,8,9を持つ3次正方行列M3

引用して返信編集・削除(未編集)


成分が異なるだけでよいなら変なものも作り放題なので、
勝手に整数かつ非ゼロという条件を付けてみます。


目標の固有値が対角成分に並ぶ三角行列Aと正則行列Pを用いると、PAP^(-1)は目標の固有値を持つ。

Pの各成分が整数で行列式が+1または-1ならばP^(-1)の各成分も整数になる。

あとは適当に試して成分がすべて異なるようにすればよい。


(1)
A=[[-3,1],[0,7]], P=[[1,0],[-1,1]]
としてみると、
PAP^(-1)=[[-2,1],[9,6]]

(2)
A=[[1,3,2],[0,2,1],[0,0,3]], P=[[1,0,0],[3,1,0],[0,2,1]]
としてみると、
PAP^(-1)=[[4,-1,2],[12,-3,7],[18,-6,5]]

(3)
A=[[-4,3,2],[0,8,1],[0,0,9]], P=[[1,0,0],[1,1,0],[0,2,1]]
としてみると、
PAP^(-1)=[[-3,-1,2],[-9,5,3],[6,-6,11]]

引用して返信編集・削除(未編集)

こんな便利な方法があるのですね。
目的の固有方程式を満たすようにある意味力ずくで探していました。

そこで(3)の結果の行列S=[[-3,-1,2],[-9,5,3],[6,-6,11]]を使わせてもらって
f1(x)=1/312*x^3+3/104*x^2-29/156*x

f2(x)=1/312*(313*x^3--4047*x^2+1190*x+89856)
の2つの関数において、それぞれ
f1(S),f2(S)を計算させると結果は共に3次の正方行列M1,M2に集約されますが(f2の定数項では3次の単位行列を補う。)
それぞれM1,M2の固有値は何でしょうか?

引用して返信編集・削除(編集済: 2026年04月04日 07:44)

とりあえず普通に計算しました。


Sの固有値λの固有ベクトルをvとする。
nを自然数とするとき、
S^nv
=S^(n-1)Sv
=S^(n-1)(λv)
=λ*S^(n-1)v
=λ*S^(n-2)Sv
=λ*S^(n-2)(λv)
=λ^2*S^(n-2)v

=λ^(n-1)*Sv
=λ^(n-1)*(λv)
=λ^n*v
なので、vはS^nの固有ベクトルでその固有値はλ^nである。


[1]
M1=1/312*S^3+3/104*S^2-29/156*S
に右からvを掛けると
M1v
=(1/312*S^3+3/104*S^2-29/156*S)v
=1/312*S^3v+3/104*S^2v-29/156*Sv
=1/312*λ^3*v+3/104*λ^2*v-29/156*λ*v
=(1/312*λ^3+3/104*λ^2-29/156*λ)*v
なので、vはM1の固有ベクトルであり、その固有値は
1/312*λ^3+3/104*λ^2-29/156*λ
である。
Sの固有値-4,8,9を代入するとM1の固有値は1,2,3となる。


[2]
単位行列をIとする。
M2=1/312*(313*S^3-4047*S^2+1190*S+89856*I)
に右からvを掛けると
M2v
=1/312*(313*S^3-4047*S^2+1190*S+89856*I)v
=1/312*(313*S^3v-4047*S^2v+1190*Sv+89856*v)
=1/312*(313*λ^3*v-4047*λ^2*v+1190*λ*v+89856*v)
=1/312*(313*λ^3-4047*λ^2+1190*λ+89856)*v
なので、vはM2の固有ベクトルであり、その固有値は
1/312*(313*λ^3-4047*λ^2+1190*λ+89856)
である。
Sの固有値-4,8,9を代入するとM2の固有値は1,2,5となる。

引用して返信編集・削除(編集済: 2026年04月05日 04:17)

計算ありがとうございます。
[2]ではSの固有値9ではM2の固有値は3となりませんか?

たまたまフロベニウスの定理というものに出会い、本当にこんなことが起こるのか?
と思って色々固有値をもつ行列Sを使って実験をしている中で
f(x)の関数で作り上げるf(S)の行列Mの固有値をこちらが指定できるものに動かすことができる
f(x)はどんな関数として設定しておけばいいのかを探すのに
ラグランジュの補間法からのf1(x)
ファンデルモンドの行列式からのf2(x)
で験していたのがこの計算でした。
どうしてこんなことが成り立つのかは正しくりらひいさんが示されることで納得できました。

実験してみて一般に(x1,y1),(x2,y2),(x3,y3)を通る3次関数は
原点を通るものと、原点を通らないものと2通り存在できることが起こるんですね。

引用して返信編集・削除(未編集)

計算ミスしていたようです。
確かに、[2]ではSの固有値9でM2の固有値が3となりました。
失礼しました。


(-4,1), (8,2), (9,3) を通る3次関数は
f(x)=ax^3+bx^2+cx+d
とおいて、
f(-4)=1, f(8)=2, f(9)=3 より
-64a+16b-4c+d=1, 512a+64b+8c+d=2, 729a+81b+9c+d=3
を連立して解いた答え
b=-13a+11/156, c=4a-31/156, d=288a-12/13
(WolframAlphaに解いてもらった)
を使用して
f(x)=ax^3+(-13a+11/156)x^2+(4a-31/156)x+(288a-12/13)
とすればいいです。

a=1/312 を代入すれば f1(x) が得られ、
a=313/312 を代入すれば f2(x) が得られます。

引用して返信編集・削除(未編集)

このスレッドに返信

ロケットBBS

Page Top