中央大学 理工学研究科 情報工学専攻 2024年8月実施 問題III
Author
祭音Myyura (co-authored with GPT 6 Astra)
Description
問題 I は必答。問題 II~V のうち,2 問を選んで解答すること。
つぎの設問に答えよ。
-
n 次正方行列のヘッセンベルグ型行列 B=(bij) とは,3≤i≤n, 1≤j≤i−2 について,bij=0 である行列である。n=5 の例を以下に示す。「∗」は非零要素を示す。B が対称行列のときは,右のように三重対角行列である:
B=∗∗000∗∗∗00∗∗∗∗0∗∗∗∗∗∗∗∗∗∗,B=∗∗000∗∗∗000∗∗∗000∗∗∗000∗∗.
n 次正方行列 A の固有値を数値計算する場合に,A の固有値を直接計算するのではなく,まず,n 次正則正方行列 S により,ヘッセンベルグ型行列 B=S−1AS に変換しておき,B の固有値を計算する手法が知られている。
この手法において,(i) A の固有値・固有ベクトルと,B の固有値・固有ベクトルとの関係を説明し,(ii) 数値計算手法として,このような変換を行う利点について,説明せよ。
-
n 次元ベクトル u (=0) に関するハウスホルダ変換の行列 H(u) とは,次式で定義される行列である。
H(u)≡I−2uTuuuT
この行列 H(u) について,H(u)H(u) の値を求め,H(u) の逆行列を求めよ。
-
2 個のハウスホルダ変換を用いて,つぎの実対称行列 A を三重対角行列 B=S−1AS に変換せよ。係数は有理数で計算し,途中経過も明記すること。
A=1122155−225−3−52−2−52
题目描述
问题 I 必答;问题 II~V 中选答 2 题。回答下列问题。
-
n 阶方阵 B=(bij) 如果满足:对 3≤i≤n, 1≤j≤i−2,均有 bij=0,则称为 Hessenberg 型矩阵。n=5 的例子如下,其中“∗”表示非零元素。当 B 为对称矩阵时,它是右侧所示的三对角矩阵:
B=∗∗000∗∗∗00∗∗∗∗0∗∗∗∗∗∗∗∗∗∗,B=∗∗000∗∗∗000∗∗∗000∗∗∗000∗∗.
数值计算 n 阶方阵 A 的特征值时,有一种方法不是直接计算 A 的特征值,而是先用 n 阶可逆方阵 S 将其变换成 Hessenberg 型矩阵 B=S−1AS,再计算 B 的特征值。
对该方法,(i) 说明 A 与 B 的特征值、特征向量之间的关系;(ii) 说明在数值计算中进行这种变换的优点。
-
关于非零 n 维向量 u 的 Householder 变换矩阵定义为
H(u)≡I−2uTuuuT.
求 H(u)H(u) 的值及 H(u) 的逆矩阵。
-
使用两次 Householder 变换,将下面的实对称矩阵 A 变换为三对角矩阵 B=S−1AS。各系数用有理数计算,并明确写出中间过程。
A=1122155−225−3−52−2−52.
Kai
1. (i) 固有値・固有ベクトルの関係
相似変換によって特性多項式は変化しない。実際,
det(λI−B)=det(S−1(λI−A)S)=det(λI−A).
したがって A,B の固有値は代数的重複度も含めて一致する。また,
Av=λv⟺B(S−1v)=λ(S−1v).
すなわち,A の固有ベクトル v に対応する B の固有ベクトルは S−1v であり,B の固有ベクトル w からは A の固有ベクトル Sw が得られる。
1. (ii) 数値計算上の利点
ヘッセンベルグ型の零要素の構造を利用すると,固有値を求める QR 反復の 1 回の計算量を,密行列の O(n3) から O(n2) に減らせる。さらに対称行列の場合は三重対角化され,固有値だけを求める三重対角 QR 反復では 1 回の更新を O(n) で行える。対称三重対角行列の格納も O(n) 個の要素で済む。
この前処理は一度だけ行えばよく,反復中も構造を保てるため,反復ごとの計算を軽くできる。また,ハウスホルダ変換などにより S を直交行列に選べば S−1=ST であり,2 ノルムを保つので,条件の悪い一般の相似変換による誤差の増幅を避けられる。QR 法の計算量と直交相似変換
2. ハウスホルダ行列の二乗と逆行列
P=uuT/(uTu) とおくと,
P2=(uTu)2u(uTu)uT=P.
したがって,
H(u)2=(I−2P)2=I−4P+4P2=I.
よって,
H(u)H(u)=I,H(u)−1=H(u).
さらに H(u)T=H(u) であるので,実ベクトル u に対する H(u) は直交行列でもある。
3. 二段階の三重対角化
第 1 段階。 第 1 列の下側のベクトル (1,2,2)T の長さは 3 である。これを (3,0,0)T に写すため,差 (1,2,2)T−(3,0,0)T=(−2,2,2)T に平行なベクトルを用いる。
u1=0−111,
H1=H(u1)=1000031323203231−32032−3231.
左右から H1 を掛けると,
A(1)=H1AH1=13003−334039−104−1−2.
第 2 段階。 第 2 列の下側の (3,4)T の長さは 5。これを (5,0)T に写すため,(3,4)T−(5,0)T=(−2,4)T を用いる。
u2=00−12,
H2=H(u2)=100001000053540054−53.
第 1,2 座標を固定しているため,既に零になった第 1 行・第 1 列の成分を変えない。したがって,
B=H2A(1)H2=13003−35005150056.
ここで
S=H1H2=1000031323201514−31−152015232−1511
とすれば,S−1=H2H1=ST より B=S−1AS である。すべての行列要素は有理数で求められている。
Reference