【发布时间】:2021-12-28 13:10:58
【问题描述】:
我有一个(n, m) 矩阵A,它的秩为r < minimum([n, m])。我想找到跨越列/行空间的r 向量的基础。我该怎么做?
这是一个如何生成数据的方法。由于排名是3,我希望能够找到3 向量的基础。
using LinearAlgebra: svd, rank, Diagonal
function generate_rank_r_matrix(r; n=20, m=10)
U, S, V = svd(randn(n, m))
return U[:, 1:r] * Diagonal(S[1:r]) * V[:, 1:r]'
end
A = generate_rank_r_matrix(3)
rank(A)
尝试
我知道qr 分解的Q 矩阵本质上包含列空间的一些基础,但我不确定如何仅找到r 向量。
也许可以使用 SVD?
【问题讨论】:
标签: julia linear-algebra