Свойство наследования очевидно — подмножество любого линейно независимого множествастрок также линейно независимо. Докажем свойство замены. Пусть А и В — линейно независимые подмножества строк матрицы и |/1|<|5|. Если бы все строки множества В были зависимы от строк множества А, то любое их подмножество из |А|+1 строки было бы линейно зависимым, но это не так. Поэтому в множестве В есть строка, линейно независимая от строкмножества А. Добавление ее к А образует независимое подмножество строк. 4
Максимальное количество линейно независимых строк можно найти, например,
приводя матрицу к треугольному виду на основе алгоритма Гаусса. Оформим эти
вычисления в виде следующей функции:
function rank(var а : matr; m, n
: byte) : byte;
{a – матрица действительных чисел (m строк, n столбцов) }
var i, j, k : byte; t : real;
begin
for i := 1 to n do begin
if a[i,i] =0 then begin
k := i + 1;
while (k <= m) and (a[k,i] = 0) do inc(k);
if k > ra then begin
rank := i-1; exit;
end;
for j := i to n do begin
t := a[i,j]; a[i,j] := a[k,j]; a[k,j] := t;
end;
end;
for k := i+1 to m do begin
for j := i+1 to n do
a[k,j] := a[k,j] – a [i,j]*a[k,i]/a[i,i];
a[k,i] := 0;
end;
end;
if m > n then rank := n else rank := fri-
end;
Аналогичный матроид, связанный с матрицей, можно получить, рассматривая в
качестве Е множество столбцов.