【问题标题】:Linear Dependence of Set of Vectors in numpynumpy中向量集的线性相关性
【发布时间】:2022-01-24 15:52:46
【问题描述】:

我想通过 numpy 检查某些向量是否相互依赖,我在下面的链接中找到了一些检查矩阵行的线性依赖关系的好建议: How to find linearly independent rows from a matrix

我无法理解“Cauchy-Schwarz 不等式”方法,我认为这是由于我缺乏知识,但是我尝试了特征值方法来检查列之间的线性依赖关系,这是我的代码:

A = np.array([
              [0, 1, 0, 0],
              [0, 0, 1, 0],
              [0, 1, 1, 0],
              [1, 0, 0, 1]
])

lambdas, V = np.linalg.eig(A)
print(lambdas)
print(V)

我得到:

[ 1.          0.          1.61803399 -0.61803399]
[[ 0.          0.70710678  0.2763932  -0.7236068 ]
 [ 0.          0.          0.4472136   0.4472136 ]
 [ 0.          0.          0.7236068  -0.2763932 ]
 [ 1.         -0.70710678  0.4472136   0.4472136 ]]

我的问题是这些特征向量或特征值与我的矩阵列的依赖关系之间的相关性是什么?如何理解哪些列相互依赖,哪些列由这些值独立?

【问题讨论】:

  • 请注意,在链接的答案中,您应该使用np.linalg.eig(A.T)(转置!)来处理行
  • 您的最后一个问题没有意义:特征值不“属于”矩阵的列。也许您想找到说明线性相关性的行组合?请您编辑您的问题以澄清您想要的内容。

标签: python numpy


【解决方案1】:

第二列向量对应特征值0。

当您感到困惑时,只需看看API documentation

v : (…, M, M) 数组

归一化(单位“长度”)特征向量,使得列 v[:,i]是特征值w[i]对应的特征向量。

【讨论】:

    【解决方案2】:

    您可以按照here 的描述通过 QR 分解找到线性独立的列。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 2012-12-29
    • 2023-01-14
    • 1970-01-01
    相关资源
    最近更新 更多