Quantcast
Channel: Решение олимпиадных задач
Viewing all articles
Browse latest Browse all 10

Матричный матроид

$
0
0

Свойство наследования очевидно — подмножество любого линейно независимого множествастрок также линейно независимо. Докажем свойство замены. Пусть А и В — линейно независимые подмножества строк матрицы и |/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;

Аналогичный матроид, связанный с матрицей, можно получить, рассматривая в

качестве Е множество столбцов.


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images