Matrix whose only nonzero elements are on its main diagonal
線型代数 において 、 対角行列とは、 主対角線 以外の要素 がすべて 0 である 行列のこと です。この用語は通常、 正方行列 を指します。主対角線の要素は、0 または非ゼロのいずれかになります。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 ) が 対角行列であるとは、 ∀ i , j ∈ { 1 , 2 , … , n } , i ≠ j ⟹ d i , j = 0. {\displaystyle \forall i,j\in \{1,2,\ldots ,n\},i\neq j\implies d_{i,j}=0.}
ただし、主な対角エントリには制限はありません。
対角行列 という用語 は、 直交対角行列 。これは m 行 n 列の行列で、すべての要素がd i ( i はゼロ)の形式ではない 。例えば、 [ 1 0 0 0 4 0 0 0 − 3 0 0 0 ] or [ 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{or}}\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 は 、次の演算子を使用して ベクトルから構築できます 。 a = [ a 1 … a n ] T {\displaystyle \mathbf {a} ={\begin{bmatrix}a_{1}&\dots &a_{n}\end{bmatrix}}^{\textsf {T}}} diag {\displaystyle \operatorname {diag} } D = diag ( a 1 , … , a n ) . {\displaystyle \mathbf {D} =\operatorname {diag} (a_{1},\dots ,a_{n}).}
これは、より簡潔に と表記することもできます 。 D = diag ( a ) {\displaystyle \mathbf {D} =\operatorname {diag} (\mathbf {a} )}
同じ演算子は、 各引数 A i が行列である ブロック 対角行列を表すためにも使用されます。 A = diag ( A 1 , … , A n ) {\displaystyle \mathbf {A} =\operatorname {diag} (\mathbf {A} _{1},\dots ,\mathbf {A} _{n})}
diag 演算子は、 と表記されます。 ここ で、 は アダマール積 を表し 、 1 は要素 1 を持つ定数ベクトルです。 diag ( a ) = ( a 1 T ) ∘ I , {\displaystyle \operatorname {diag} (\mathbf {a} )=\left(\mathbf {a} \mathbf {1} ^{\textsf {T}}\right)\circ \mathbf {I} ,} ∘ {\displaystyle \circ }
行列からベクトルへの診断演算子 逆行列からベクトルへの diag 演算子は、引数が行列になり、結果がその対角要素のベクトルになる、 同じ名前の で表されることもあります。 diag ( D ) = [ a 1 … a n ] T , {\displaystyle \operatorname {diag} (\mathbf {D} )={\begin{bmatrix}a_{1}&\dots &a_{n}\end{bmatrix}}^{\textsf {T}},}
次の特性が成り立ちます。 diag ( A B ) = ∑ j ( A ∘ B T ) i j = ( A ∘ 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 λ ] ≡ λ I 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 で割ることができるため) であるためです 。したがって、非対角項が 0 でない限り、それらは交換しません。 [b] 対角要素がすべて等しくない、またはすべて異なる対角行列には、空間全体と対角行列のみの中間の中心化があります。 [1] D = diag ( a 1 , … , a n ) {\displaystyle \mathbf {D} =\operatorname {diag} (a_{1},\dots ,a_{n})} a i ≠ a j , {\displaystyle a_{i}\neq a_{j},} m i j ≠ 0 , {\displaystyle m_{ij}\neq 0,} ( D M ) i j = a i m i j {\displaystyle (\mathbf {DM} )_{ij}=a_{i}m_{ij}} ( M D ) i j = m i j a j , {\displaystyle (\mathbf {MD} )_{ij}=m_{ij}a_{j},} a j m i j ≠ m i j a i {\displaystyle a_{j}m_{ij}\neq m_{ij}a_{i}}
抽象ベクトル空間 V (具体的なベクトル空間 K n ではなく) の場合、スカラー行列の類似物は スカラー変換です。これは、 環 R 上の モジュール Mに対して、行列の代数を 自己準同型代数 End( M ) ( M 上の線型作用素の代数) で置き換えた場合 に、より一般的に当てはまります。正式には、スカラー乗算は線型写像であり、 End ( M )を R - 代数 として 示す写像 (スカラー λ からそれに対応するスカラー変換、つまり λ による乗算)を誘導します 。ベクトル空間の場合、スカラー変換はまさに自己準同型代数の 中心 であり、同様に、スカラー可逆変換は 一般線型群 GL( V ) の中心です。前者は、より一般的には、自己準同型代数が行列代数と同型である真の 自由モジュール です。 R → End ( M ) , {\displaystyle R\to \operatorname {End} (M),} M ≅ R n , {\displaystyle M\cong R^{n},}
ベクトル演算 ベクトルと対角行列を掛け合わせると、各項にそれぞれ対応する対角要素が掛け合わされます。対角行列 とベクトルが与えられた場合 、積は次のようになります。 D = diag ( a 1 , … , a n ) {\displaystyle \mathbf {D} =\operatorname {diag} (a_{1},\dots ,a_{n})} v = [ x 1 ⋯ x n ] 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 とそれに関連する 固有ベクトル e 1 , ..., e n です 。
プロパティ diag( a 1 , ..., a n ) の 行列 式 は積 a 1 ⋯ a n です。 対角行列の 付加行列 もまた対角行列です。 すべての行列が正方行列である場合、 行列が対角行列となるのは、それが三角行列かつ 正規行列 である場合のみです。 行列が対角行列となるのは、 上 三角行列と 下三角行列 の両方である場合のみです。 対角行列は 対称 です。 単位 行列 I n と 零行列 は対角行列です。 1×1 行列は常に対角行列です。 トレース がゼロの 2×2 行列の平方は 常に対角になります。
アプリケーション 対角行列は線形代数の多くの分野で用いられます。行列演算と固有値・固有ベクトルは上述のように簡潔に記述できるため、与えられた行列や 線形写像は 対角行列で表現することが一般的に望ましいとされています。
実際、 n 行 n 列の行列 Aが 対角行列に相似で ある (つまり、 X −1 AX が対角行列となるような行列 X が存在する)のは、 n 個の線形独立な 固有ベクトルを持つ場合に限られます。このような行列は 対角化可能 であると言われています 。
実数体 や 複素数 体 では 、 さらに多くのことが当てはまります。 スペクトル定理に よれば、すべての 正規行列は 対角行列と ユニタリ相似 です( AA ∗ = A ∗ Aならば、 UAU ∗ が対角となるような ユニタリ行列 U が存在します )。さらに、 特異値分解 によれば、任意の行列 Aに対して、U ∗ AV が正の成分を持つ対角行列となるようなユニタリ行列 U と V が存在し 、その行列は U ∗ AV となります。
作用素理論 作用素論、特に 偏微分方程式 の研究 では 、作用素が基底に対して対角関係にある場合、特に作用素は理解しやすく、偏微分方程式も解きやすい。これは、 分離可能な偏微分方程式 に対応する。したがって、作用素を理解するための重要な手法は、座標変換(作用素の用語では 積分変換) であり、基底を 固有関数 の 固有基底 に変更することで、方程式を分離可能にする。重要な例としては、 熱方程式 のラプラシアン作用素など、定数係数微分作用素(より一般的には並進不変作用素)を対角化する フーリエ変換が 挙げられる。
特に簡単なのは 乗算演算子 です。これは、固定された関数(の値)による乗算として定義されます。各ポイントでの関数の値は、行列の対角要素に対応します。
参照
注記 ^ 証明: 基本行列 が与えられた場合、は 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月1日. 2020年8月30日 閲覧 。 ^ ニアリング、ジェームズ (2010). 「第7.9章 固有値と固有ベクトル」 (PDF) . 物理学のための数学ツール. ドーバー出版. ISBN 978-0486482125 . 2012年 1月1日 閲覧 。
出典