gfrank

Вычислите ранг матрицы по Полю Галуа

Синтаксис

rk = gfrank(A,p)

Описание

Примечание

Эта функция выполняет расчеты в GF (p), где p является простым. Если вы работаете в GF (2m), используйте rank функция с массивами Галуа. Для получения дополнительной информации смотрите Вычислительные ранги.

rk = gfrank(A,p) вычисляет ранг матрицы A в GF (p), где p является простым числом.

Примеры

В коде ниже, gfrank говорит, что матрица A имеет меньше, чем полный ранг. Этот вывод имеет смысл, потому что определяющий A равен нулю 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