Найдите конкретное решение Ax
= b
по главному Полю Галуа
x = gflineq(A,b)
x = gflineq(A,b,p)
[x,vld] = gflineq(...)
Примечание
Эта функция выполняет расчеты в GF (p), где p является простым. Для работы в ГФ (2m), применить \
или /
оператор массивам Галуа. Для получения дополнительной информации смотрите Решение Линейных Уравнений.
x = gflineq(A,b)
выводит конкретное решение линейного уравнения A x
= b
в ГФ (2). Элементы в a
, b
и x
0 или 1. Если уравнение не имеет решения, то x
пуст.
x = gflineq(A,b,p)
возвращает конкретное решение линейного уравнения A x
= b
по GF (p
), где p
является простым числом. Если A
является k-на-n матрицей и b
- вектор длины k, x
является вектором длины n. Каждая запись A
, x
, и b
- целое число от 0 до p-1
. Если решения не существует, x
пуст.
[x,vld] = gflineq(...)
возвращает флаг vld
что указывает на существование решения. Если vld
= 1, решение x
существует и действителен; если vld
= 0, решение не существует.
Приведенный ниже код вырабатывает некоторые допустимые решения линейного уравнения над GF (3).
A = [2 0 1;
1 1 0;
1 1 2];
% An example in which the solutions are valid
[x,vld] = gflineq(A,[1;0;0],3)
Ниже приведен выход.
x = 2 1 0 vld = 1
Напротив, команда ниже находит, что линейное уравнение не имеет решений.
[x2,vld2] = gflineq(zeros(3,3),[2;0;0],3)
Ниже приведен выход.
This linear equation has no solution. x2 = [] vld2 = 0
gflineq
использует Гауссову элиминацию.