非ゼロ要素のみが主対角線上にある行列
線型代数 において 、 対角行列 とは、 主対角線 以外の要素が すべてゼロである 行列のことです。この用語は通常、 正方行列 を指します。主対角線の要素は、ゼロでも非ゼロでもかまいません。2×2 対角行列の例は 、3×3 対角行列の例は です 。任意のサイズの 単位行列 、またはその倍数は、スカラー行列と呼ばれる対角行列で、たとえば です。 幾何学 では、対角行列を スケーリング行列 として使用することがあります 。これは、対角行列を掛け合わせるとスケール (サイズ) が変わり、場合によっては 形状 も変わるためです。スケールが均一に変化するのはこのスカラー行列だけです。
[
3
0
0
2
]
{\displaystyle \left[{\begin{smallmatrix}3&0\\0&2\end{smallmatrix}}\right]}
[
6
0
0
0
5
0
0
0
4
]
{\displaystyle \left[{\begin{smallmatrix}6&0&0\\0&5&0\\0&0&4\end{smallmatrix}}\right]}
[
0.5
0
0
0.5
]
{\displaystyle \left[{\begin{smallmatrix}0.5&0\\0&0.5\end{smallmatrix}}\right]}
意味
上で述べたように、対角行列とは、すべての非対角要素がゼロである行列である。つまり、 n列 n行の行列 D = ( d i , j ) は 、 次の場合に対角行列である
。
∀
私
、
じゅう
∈
{
1
、
2
、
…
、
ん
}
、
私
≠
じゅう
⟹
d
私
、
じゅう
=
0.
{\displaystyle \forall i,j\in \{1,2,\ldots ,n\},i\neq j\implies d_{i,j}=0.}
ただし、主な対角エントリは制限されません。
対角行列 という用語は 、 直交対角行列 。これは m 行 n 列の行列で、すべての要素がd i の形式ではなく 、 i が 0 である行列です。例:
[
1
0
0
0
4
0
0
0
−
3
0
0
0
]
または
[
1
0
0
0
0
0
4
0
0
0
0
0
−
3
0
0
]
{\displaystyle {\begin{bmatrix}1&0&0\\0&4&0\\0&0&-3\\0&0&0\\\end{bmatrix}}\quad {\text{または}}\quad {\begin{bmatrix}1&0&0&0&0\\0&4&0&0&0\\0&0&-3&0&0\end{bmatrix}}}
しかし、 対角行列は 正方行列を指すことが多く、明示的に次のように指定することができます。 正方対角行列 。正方対角行列は 対称行列なので 、 対称対角行列 。
次の行列は正方対角行列です。
[
1
0
0
0
4
0
0
0
−
2
]
{\displaystyle {\begin{bmatrix}1&0&0\\0&4&0\\0&0&-2\end{bmatrix}}}
要素が 実数 または 複素数 の場合、それは 通常の行列 でもあります。
この記事の残りの部分では、正方対角行列のみを検討し、単に「対角行列」と呼びます。
ベクトルから行列への diag 演算子
対角行列 D は 、次の演算子を使用して ベクトルから構築できます 。
1つの
=
[
1つの
1
⋯
1つの
ん
]
T
{\displaystyle \mathbf {a} ={\begin{bmatrix}a_{1}&\dotsm &a_{n}\end{bmatrix}}^{\textsf {T}}}
診断
{\displaystyle \operatorname {diag} }
だ
=
診断
(
1つの
1
、
…
、
1つの
ん
)
{\displaystyle \mathbf {D} =\演算子名 {diag} (a_{1},\dots ,a_{n})}
これは、より簡潔に と書くこともできます 。
だ
=
診断
(
1つの
)
{\displaystyle \mathbf {D} =\演算子名 {diag} (\mathbf {a} )}
同じ演算子は、 各引数 A i が行列で
ある ブロック対角行列 を表すためにも使用されます。
あ
=
診断
(
あ
1
、
…
、
あ
ん
)
{\displaystyle \mathbf {A} =\演算子名 {diag} (\mathbf {A} _{1},\dots ,\mathbf {A} _{n})}
diag演算子 は 次のように記述できます。
ここで、は アダマール積 を表し 、 1 は 要素 1 を持つ定数ベクトルです。
診断
(
1つの
)
=
(
1つの
1
T
)
∘
私
{\displaystyle \operatorname {diag} (\mathbf {a} )=\left(\mathbf {a} \mathbf {1} ^{\textsf {T}}\right)\circ \mathbf {I} }
∘
{\displaystyle \circ}
行列からベクトルへの対数演算子
逆行列からベクトルへの diag 演算子は、引数が行列になり、結果がその対角要素のベクトルになる、
同じ名前の で表されることもあります。
診断
(
だ
)
=
[
1つの
1
⋯
1つの
ん
]
T
{\displaystyle \operatorname {diag} (\mathbf {D} )={\begin{bmatrix}a_{1}&\dotsm &a_{n}\end{bmatrix}}^{\textsf {T}}}
次の特性が当てはまります。
診断
(
あ
B
)
=
∑
じゅう
(
あ
∘
B
T
)
私
じゅう
=
(
あ
∘
B
T
)
1
{\displaystyle \operatorname {diag} (\mathbf {A} \mathbf {B} )=\sum _{j}\left(\mathbf {A} \circ \mathbf {B} ^{\textsf {T}} \right)_{ij}=\left(\mathbf {A} \circ \mathbf {B} ^{\textsf {T}}\right)\mathbf {1} }
スカラー行列
対角要素が等しい対角行列は スカラー行列 、つまり 単位行列 I のスカラー倍数 λです。 ベクトル に対する効果は、 λ による スカラー乗算 です 。たとえば、 3×3 スカラー行列は次の形式になります。
[
λ
0
0
0
λ
0
0
0
λ
]
≡
λ
私
3
{\displaystyle {\begin{bmatrix}\lambda &0&0\\0&\lambda &0\\0&0&\lambda \end{bmatrix}}\equiv \lambda {\boldsymbol {I}}_{3}}
スカラー行列は 行列の代数の 中心 です。つまり、それらはまさに同じサイズの他のすべての正方行列と 交換可能な行列です。 [a] 対照的に、 体 (実数など)上では、すべての対角要素が異なる対角行列は、対角行列とのみ交換可能です(その 中心化は 対角行列の集合です)。これは、対角行列が、積の ( i , j ) 項 を持つ 行列 M を与える場合 、および および( m ij で割ることができるため)で あるためです 。したがって、非対角項がゼロでない限り、それらは交換しません。 [b] 対角要素がすべて等しい、またはすべて異なるわけではない対角行列には、空間全体と対角行列のみの中間の中心化があります。 [1]
だ
=
診断
(
1つの
1
、
…
、
1つの
ん
)
{\displaystyle \mathbf {D} =\演算子名 {diag} (a_{1},\dots ,a_{n})}
1つの
私
≠
1つの
じゅう
、
{\displaystyle a_{i}\neq a_{j},}
メートル
私
じゅう
≠
0
、
{\displaystyle m_{ij}\neq 0,}
(
だ
ま
)
私
じゅう
=
1つの
私
メートル
私
じゅう
{\displaystyle (\mathbf {DM} )_{ij}=a_{i}m_{ij}}
(
ま
だ
)
私
じゅう
=
メートル
私
じゅう
1つの
じゅう
、
{\displaystyle (\mathbf {MD} )_{ij}=m_{ij}a_{j},}
1つの
じゅう
メートル
私
じゅう
≠
メートル
私
じゅう
1つの
私
{\displaystyle a_{j}m_{ij}\neq m_{ij}a_{i}}
抽象ベクトル空間 V (具体的なベクトル空間 K n ではなく )の場合、スカラー行列の類似物は スカラー変換 です。これは、 環 R 上の モジュール M に対して、行列の代数 を自己準同型代数 End( M ) ( M 上の線型作用素の代数 )で置き換えた場合に、より一般的に当てはまります。形式的には、スカラー乗算は線型写像であり、 (スカラー λからそれに対応するスカラー変換、 λ による乗算への )写像を誘導し、 End( M ) を R 代数 として 示し ます 。ベクトル空間の場合、スカラー変換はまさに自己準同型代数の 中心であり、同様に、スカラー可逆変換は 一般線型群 GL( V ) の中心です 。前者は、より一般的には、自己準同型代数が行列代数と同型である真の 自由モジュール です。
R
→
終わり
(
ま
)
、
{\displaystyle R\to \operatorname {End} (M),}
ま
≅
R
ん
、
{\displaystyle M\cong R^{n},}
ベクトル演算
ベクトルに対角行列を掛けると、各項に、対応する対角要素が掛けられます。対角行列 とベクトルが与えられた場合 、積は次のようになります。
だ
=
診断
(
1つの
1
、
…
、
1つの
ん
)
{\displaystyle \mathbf {D} =\演算子名 {diag} (a_{1},\dots ,a_{n})}
ヴ
=
[
x
1
⋯
x
ん
]
T
{\displaystyle \mathbf {v} ={\begin{bmatrix}x_{1}&\dotsm &x_{n}\end{bmatrix}}^{\textsf {T}}}
D
v
=
diag
(
a
1
,
…
,
a
n
)
[
x
1
⋮
x
n
]
=
[
a
1
⋱
a
n
]
[
x
1
⋮
x
n
]
=
[
a
1
x
1
⋮
a
n
x
n
]
.
{\displaystyle \mathbf {D} \mathbf {v} =\operatorname {diag} (a_{1},\dots ,a_{n}){\begin{bmatrix}x_{1}\\\vdots \\x_{n}\end{bmatrix}}={\begin{bmatrix}a_{1}\\&\ddots \\&&a_{n}\end{bmatrix}}{\begin{bmatrix}x_{1}\\\vdots \\x_{n}\end{bmatrix}}={\begin{bmatrix}a_{1}x_{1}\\\vdots \\a_{n}x_{n}\end{bmatrix}}.}
これは、対角行列の代わりにベクトル を使用し 、 ベクトルの アダマール積 (エントリごとの積)を取ることで、より簡潔に表現できます。
d
=
[
a
1
⋯
a
n
]
T
{\displaystyle \mathbf {d} ={\begin{bmatrix}a_{1}&\dotsm &a_{n}\end{bmatrix}}^{\textsf {T}}}
d
∘
v
{\displaystyle \mathbf {d} \circ \mathbf {v} }
D
v
=
d
∘
v
=
[
a
1
⋮
a
n
]
∘
[
x
1
⋮
x
n
]
=
[
a
1
x
1
⋮
a
n
x
n
]
.
{\displaystyle \mathbf {D} \mathbf {v} =\mathbf {d} \circ \mathbf {v} ={\begin{bmatrix}a_{1}\\\vdots \\a_{n}\end{bmatrix}}\circ {\begin{bmatrix}x_{1}\\\vdots \\x_{n}\end{bmatrix}}={\begin{bmatrix}a_{1}x_{1}\\\vdots \\a_{n}x_{n}\end{bmatrix}}.}
これは数学的には同等ですが、この疎行列 のゼロ項をすべて格納することを回避します。この積は、 バックプロパゲーションでの導関数の積の計算や TF-IDF でのIDF重みの乗算 など 、 機械学習 で使用されます。 [2]行列を効率的に乗算する BLAS フレームワークの中には 、アダマール積機能が直接含まれていないものもあるためです。 [3]
行列演算
行列の加算と 乗算の演算 は、対角行列では特に簡単です。 左上隅から始まる対角要素が a 1 、 ... 、 a n である対角行列をdiag( a 1 、...、 a n ) と書きます。すると、 加算 については、次のようになります
。
diag
(
a
1
,
…
,
a
n
)
+
diag
(
b
1
,
…
,
b
n
)
=
diag
(
a
1
+
b
1
,
…
,
a
n
+
b
n
)
{\displaystyle \operatorname {diag} (a_{1},\,\ldots ,\,a_{n})+\operatorname {diag} (b_{1},\,\ldots ,\,b_{n})=\operatorname {diag} (a_{1}+b_{1},\,\ldots ,\,a_{n}+b_{n})}
行列の乗算 については 、
diag
(
a
1
,
…
,
a
n
)
diag
(
b
1
,
…
,
b
n
)
=
diag
(
a
1
b
1
,
…
,
a
n
b
n
)
.
{\displaystyle \operatorname {diag} (a_{1},\,\ldots ,\,a_{n})\operatorname {diag} (b_{1},\,\ldots ,\,b_{n})=\operatorname {diag} (a_{1}b_{1},\,\ldots ,\,a_{n}b_{n}).}
対角行列 diag( a 1 , ..., a n ) は、要素 a 1 , ..., a n がすべて非ゼロの場合にのみ 逆行列を 持ちます 。この場合、
diag
(
a
1
,
…
,
a
n
)
−
1
=
diag
(
a
1
−
1
,
…
,
a
n
−
1
)
.
{\displaystyle \operatorname {diag} (a_{1},\,\ldots ,\,a_{n})^{-1}=\operatorname {diag} (a_{1}^{-1},\,\ldots ,\,a_{n}^{-1}).}
特に、対角行列はすべての n 行 n 列の行列の環の 部分環 を形成します。
n 行 n 列の行列 A を 左 から diag( a 1 , ..., an ) で 乗算すると、 すべての iについて A の i 行 目 に a i を 乗算するのと同じになります。 また 、行列 A を 右 から diag( a 1 , ..., an ) で乗算すると、 すべての iについて A の i 列 目 に a i を 乗算するのと同じになります 。
固有基底における演算子行列
演算子行列の係数の決定 で説明したように、 行列 A が 対角形式をとる 特別な基底 e 1 、...、 e n があります。したがって、定義方程式では、 i ≠ j のすべての係数 a i, j はゼロであり、合計ごとに1つの項のみが残ります。生き残った対角要素 a i, j は固有値 と呼ばれ 、 方程式では λ i で指定され、次のように簡約されます。結果として得られる方程式は固有値方程式 [4] と呼ばれ、 特性多項式 、さらには 固有値と固有ベクトルを 導出するために使用されます 。
A
e
j
=
∑
i
a
i
,
j
e
i
{\textstyle \mathbf {Ae} _{j}=\sum _{i}a_{i,j}\mathbf {e} _{i}}
A
e
i
=
λ
i
e
i
.
{\displaystyle \mathbf {Ae} _{i}=\lambda _{i}\mathbf {e} _{i}.}
言い換えれば、 diag ( λ1 ,..., λn ) の 固有値は λ1 , ... , λn と それ に 関連する 固有ベクトル e1 ,... ,
en です 。
プロパティ
diag( a 1 , ..., a n ) の 行列 式 は積 a 1 ⋯ a n です。
対角行列の 付加行列 もまた対角行列です。
すべての行列が正方行列である場合、
行列が対角行列となるのは、それが三角行列かつ 正規行列 である場合のみです。
行列が対角行列となるのは、 上 三角行列と 下三角行列 の両方である場合のみです。
対角行列は 対称 です。
単位行列 I n と 零 行列 は対角行列です。
1×1 行列は常に対角行列です。
トレース がゼロの 2×2 行列の平方は 常に対角になります。
アプリケーション
対角行列は線形代数の多くの分野で発生します。上記の行列演算と固有値/固有ベクトルの簡単な説明のため、通常、与えられた行列または線形マップ を対角行列で
表すことが望ましいです。
実際、与えられた n 行 n 列の行列 A は 、 n 個の線形独立な 固有ベクトルを持つ場合にのみ、 対角行列( X −1 AX が対角となるような行列 X が存在する)に類似し ます。このような行列は 対角化可能 であると言われています 。
実数 または 複素数 の 体では 、 さらに多くのことが当てはまります。 スペクトル定理 によれば、すべての 正規行列は 対角行列と ユニタリ相似です ( AA ∗ = A ∗ Aの場合、 UAU ∗ が対角となるような ユニタリ行列 U が存在します )。さらに、 特異値分解 により、任意の行列 Aに対して、 U ∗ AV が 正の要素を持つ対角となるようなユニタリ行列 U と V が 存在することに なります。
作用素理論
作用素理論、特に 偏微分方程式 の研究 では 、作用素が基底に対して対角関係にある場合、特に作用素を理解しやすく、偏微分方程式を解きやすいものになります。これは、 分離可能な偏微分方程式 に対応します。したがって、作用素を理解するための重要な手法は、座標の変更(作用素の言葉で言えば 積分変換)です。これにより、基底が 固有関数 の 固有基底 に変更され、方程式が分離可能になります 。
重要な例としては、 熱方程式 のラプラシアン作用素など、定数係数微分作用素(より一般的には並進不変作用素)を対角化する フーリエ変換があります。
特に簡単なのは 乗算演算子 です。これは、固定された関数(の値)による乗算として定義されます。各点における関数の値は、行列の対角要素に対応します。
参照
注記
^ 証明: 基本行列 が与えられた場合、は Mの i 行目 のみの行列であり 、 は M の j 列目のみの正方行列である ため、非対角要素はゼロでなければならず、 i番目の対角要素は j 番目の対角要素とほぼ等しくなります 。
e
i
j
{\displaystyle e_{ij}}
M
e
i
j
{\displaystyle Me_{ij}}
e
i
j
M
{\displaystyle e_{ij}M}
^ より一般的な環では、常に割り切れるわけではないので、これは成り立ちません。
参考文献
^ 「対角行列は常に可換か?」 Stack Exchange。2016年3月15日。 2018年 8月4日 閲覧 。
^ Sahami, Mehran (2009-06-15). テキストマイニング: 分類、クラスタリング、およびアプリケーション。CRC Press。p. 14。ISBN 9781420059458 。
^ 「 BLAS における要素ごとのベクトル-ベクトル乗算?」 。 stackoverflow.com。2011-10-01。2020-08-30 閲覧 。
^ ニアリング、ジェームズ (2010)。「第 7.9 章: 固有値と固有ベクトル」 (PDF) 。物理学のための数学ツール。ドーバー出版 。ISBN 978-0486482125 . 2012年 1月1日 閲覧 。
出典