gfrank
ガロア体上の行列のランクを計算
構文
rk = gfrank(A,p)
説明
メモ
この関数は、p が素数のとき、GF(p) の計算を行います。GF(2m) で操作している場合、ガロア配列に対して関数 rank
を使用します。詳細については、ランクの計算を参照してください。
rk = gfrank(A,p)
は、p
が素数である場合に GF(p
) で行列 A
のランクを計算します。
例
下記のコードにおいて、gfrank
は、行列 A
はフルランクでないことを示しています。この結論は、A
の行列式が zero mod p
であるため理に適っています。
A = [1 0 1; 2 1 0; 0 1 1]; p = 3; det_a = det(A); % Ordinary determinant of A detmodp = rem(det(A),p); % Determinant mod p rankp = gfrank(A,p); disp(['Determinant = ',num2str(det_a)]) disp(['Determinant mod p is ',num2str(detmodp)]) disp(['Rank over GF(p) is ',num2str(rankp)])
出力は以下のようになります。
Determinant = 3 Determinant mod p is 0 Rank over GF(p) is 2
アルゴリズム
gfrank
は、ガウス消去と同様のアルゴリズムを使用します。
バージョン履歴
R2006a より前に導入