交換行列

数学、特に線型代数学行列理論において、交換行列は行列ベクトル化形式その転置行列のベクトル化形式に変換するために使用される。具体的には、交換行列K ( m , n )nm × mn の置換行列であり、任意のm × n行列Aに対してvec( A ) を vec( A T )に変換する。

K ( m , n ) vec( A ) = vec( A T ) です。

ここでvec( A )はAの列を積み重ねて得られるmn ×1の列ベクトルです。

ここで、 A = [ A i , j ] です。言い換えると、vec( A ) はA を列優先順序ベクトル化して得られるベクトルです。同様に、vec( A T ) はAを行優先順序でベクトル化して得られるベクトルです。この順列の循環やその他の特性は、インプレース行列転置アルゴリズムにおいて精力的に研究されてきました

量子情報理論の文脈では、交換行列はスワップ行列またはスワップ演算子と呼ばれることもある[1]

プロパティ

  • 交換行列は特別な種類の置換行列であり、したがって直交行列である。特に、K ( m , n )は に等しい。ここで上の置換であり、
  • K ( m , n )の行列式は です
  • 交換行列の定義においてA をA T置き換えると、 K ( m , n ) = ( K ( n , m ) ) Tとなる。したがって、 m = n の特殊なケースでは、交換行列は反転行列あり対称行列となる。
  • 交換行列の主な用途とその名前の由来は、クロネッカー積を交換することである。すべてのm × n行列Aとすべてのr × q行列Bに対して、
この性質はウィシャート共分散行列の高次統計量を開発する際によく使用されます。[2]
  • 上記の式においてn=q=1の場合、それぞれサイズm、rの任意の列ベクトルv、wに対して、
この特性は、この行列が量子情報理論の文脈で「スワップ演算子」と呼ばれる理由です。
  • 交換行列の2つの明示的な形式は次の通りである: e r , j がr次元のj番目の標準ベクトル(つまり、 j番目の座標が 1 で、それ以外が 0 であるベクトル)を表す場合、
  • 交換行列は次のブロック行列として表すことができます。
ここで、nxmブロック行列K i,jp,q要素は次のように与えられる。
例えば、

コード

m行と列の正方行列と長方形行列の両方の場合n、以下のコードによって交換行列を生成できます。

パイソン

numpyをnpとしてインポートする   def comm_mat ( m , n ): # K によって適用される順列を決定w = np . arange ( m * n ) . reshape ( ( m , n ), order = "F" ) . T . ravel ( order = "F" )           # この順列を単位行列の行(つまり各列)に適用し、結果を返します。 return  np . eye ( m  *  n )[ w ,  :]

あるいは、インポートなしのバージョン:

# クロネッカー デルタdef delta ( i , j ): return int ( i == j )      def comm_mat ( m , n ): # K によって適用される順列を決定v = [ m * j + i for i in range ( m ) for j in range ( n )]                   # この順列を単位行列の行(つまり各列)に適用します 。I  =  [[ delta ( i ,  j )  for  j  in  range ( m  *  n )]  for  i  in  range ( m  *  n )]  return  [ I [ i ]  for  i  in  v ]

MATLAB

関数 P = com_mat ( m, n )  % K によって適用される順列を決定するA = reshape ( 1 : m * n , m , n ); v = reshape ( A ' , 1 , []);        % この順列を単位行列の行(つまり各列)に適用します。P = eye ( m * n ) ; P = P ( v ,:);    

R

# スパース行列バージョンcomm_mat = function ( m , n ){ i = 1 : ( m * n ) j = NULL for ( k in 1 : m ) { j = c ( j , m * 0 : ( n -1 ) + k ) } Matrix :: sparseMatrix ( i = i , j = j , x = 1 ) }                                    

次の行列を表します

それぞれ次の列優先および行優先のベクトル化があります。

関連する交換行列は

(それぞれはゼロを表します)。予想通り、次の式が成り立ちます。

参考文献

  1. ^ ワトラス、ジョン(2018年)『量子情報理論』ケンブリッジ大学出版局、94頁。
  2. ^ フォン・ローゼン、ディートリッヒ (1988). 「逆ウィシャート分布のモーメント」. Scand. J. Stat . 15 : 97–109 .
  • Jan R. Magnus と Heinz Neudecker (1988)、「Matrix Differential Calculus with Applications in Statistics and Econometrics」、Wiley。
Retrieved from "https://en.wikipedia.org/w/index.php?title=Commutation_matrix&oldid=1317427359"