在方阵中寻找线性无关列向量的合适方法是什么?

2024-05-16 20:47:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在平方矩阵中找到线性无关的列向量,但不使用symphy。我不想使用sympy的原因是它在计算大型矩阵时非常慢

比如说,

matrix = [[2, 3 ,5],[-1, -4, -10],[1, -2, -8]]

_, ind_col_idx = sympy.Matrix(matrix.T).rref()

print(ind_col_idx) # (0,1)

print(matrix[ind_col_idx,:]) #array([[  2,   3,   5], [ -1,  -4, -10]])

在类似的堆栈溢出问题中,要在平方矩阵中找到线性独立的列,建议使用特征值。若特征值为零,则其对应的特征向量是线性相关的。但我不明白特征值和线性独立性之间的关系

你能解释特征值和独立性之间的关系吗? 另外,使用特征值确定线性独立列是不正确的

matrix = [[2, 3 ,5],[-1, -4, -10],[1, -2, -8]])

lambdas, V =  np.linalg.eig(matrix) # [-1.12449980e+01,  1.24499800e+00, -1.54101807e-15], []

ind_col_idx = np.where(lambdas == 0)[0] # []

Tags: 关系np线性矩阵col向量matrixprint