给定一个 numpyndarray
尺寸为 m × n(其中 n>m),如何找到线性独立的列?
一种方法是使用LU分解。因素U
将与您的矩阵大小相同,但将是上三角的。在每一行中U
,选取第一个非零元素:这些是枢轴元素,属于线性独立列。一个独立的例子:
import numpy as np
from scipy.linalg import lu
A = np.array([[1, 2, 3], [2, 4, 2]]) # example for testing
U = lu(A)[2]
lin_indep_columns = [np.flatnonzero(U[i, :])[0] for i in range(U.shape[0])]
输出:[0, 2],表示 A 的第 0 列和第 2 列构成其列空间的基础。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)