21.2.2 Expressions Involving Permutation Matrices

Last-modified: 2025-03-06 (木) 20:42:53

21.2.2 置換行列を含む式

Pが順列行列でMが行列の場合、式は MP*Mの行を順列化します。同様に、は列の順列化を生成します。行列の除算とを使用して逆順列化を行うことができます。 M*PP\MM/P

前述の置換行列を作成するための構文は、置換行列と置換ベクトルの関係を理解するのに役立ちます。つまり、次が成り立ちます。ここで、 はI = eye (n) 単位行列です。

 I(p,:) * M = (I*M) (p,:) = M(p,:)

同様に、

 M * I(:,p) = (M*I) (:,p) = M(:,p)

式I(p,:)およびはI(:,p)順列行列です。

置換行列は転置(または共役転置、これは同じで、置換行列は複素数ではないため)したり、置換を反転したり、行置換行列を列置換行列に変換したりすることができます。 置換行列の場合、転置は反転と同等であるため、 は とP\M同等ですP'*M。 置換行列(または逆)の転置は定数時間の操作であり、内部でフラグを反転するだけなので、逆置換に対する上記の 2 つの同等の式のどちらを選択するかは、完全にユーザーの好み次第です。

置換行列による乗算と除算は、疎行列と組み合わせた場合にも効率的に機能します。つまりP*S、 (Pは置換行列、Sは疎行列)は、疎行列の行を置換して疎行列を返します。式S*P、P\Sは S/P同様に機能します。

2 つの順列行列は、乗算または除算 (サイズが一致する場合) して、順列の合成を実行できます。また、順列行列は、順列ベクトル (または 2 つのベクトル) でインデックス付けされ、再び順列行列が生成されます。その他の操作では、通常、順列行列が生成されないため、暗黙的な変換がトリガーされます。