假设您有一个满秩的NxM矩阵A,其中M>N。如果我们用Ci(维度为Nx1)表示列,则可以将矩阵写成:
你如何在matlab或python numpy中找到指数{i1,i2,...,iN}?这可以使用奇异值分解完成吗?非常欢迎提供代码片段。
编辑: 为了更具体地说明,考虑以下python代码
A = [C_1, C_2, ..., C_M]
如何获取原始矩阵 A
的第一个线性独立列,以便您可以构造一个新的可逆矩阵 B
,其行列式不为零。
B = [C_i1, C_i2, ..., C_iN]
你如何在matlab或python numpy中找到指数{i1,i2,...,iN}?这可以使用奇异值分解完成吗?非常欢迎提供代码片段。
编辑: 为了更具体地说明,考虑以下python代码
from numpy import *
from numpy.linalg.linalg import det
M = [[3, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 1],
[0, 2, 0, 0, 0]]
M = array(M)
I = [0,1,2,4]
assert(abs(det(M[:,I])) > 1e-8)
因此,对于给定的矩阵M,需要找到一组线性无关列向量的索引,其中列向量的数量为N
。