Нахождение m-линейно независимых столбцов матрицы на MATLAB - PullRequest
0 голосов
/ 02 октября 2018

Пусть у нас есть линейная система Ax <= b.Чтобы найти вершину этого многогранного множества, нам нужно выбрать m линейно независимых столбцов A и решить систему с соответствующими переменными.Как я могу сгенерировать <strong>все m-линейно-независимых столбцов, используя MATLAB?Затем я найду все вершины многогранника, которые у меня есть.

Я могу думать только о том, чтобы: сгенерировать все (n, m) комбинации подмножеств.Проверьте один за другим.Всякий раз, когда ранги равны = m, принимайте эти решения, поскольку они имеют полный m-ранг.Есть ли более эффективный метод?

1 Ответ

0 голосов
/ 03 октября 2018

Чтобы найти линейно независимый столбец, вы можете использовать eig или qr.

для eig собственные значения, равные нулю, будут указывать на независимые столбцы

для qr нули на диагонали матрицы R будут указывать на независимые столбцы

, например:

mat2 =
 1     1     1
 1     1     1
 0     0     2

qr дает

R =
-1.414213562373095  -1.414213562373095  -1.414213562373095
               0                   0                   0
               0                   0   2.000000000000000

и eigт

ans =
 2
 0
 2
...