提问人:ATu 提问时间:10/29/2023 最后编辑:ATu 更新时间:10/31/2023 访问量:66
迭代滑动SVD
Iterative sliding SVD
问:
我现在正在寻找一些(很长)时间的交互式 SVD 算法。 目标是将其用于传入数据流(一次 1 次更新)并执行 一些滑动信号处理,通过动态模式分解来提取信息内容。
想法/问题是:
A is a rectangular matrix m>n build on a measurement stream evolving over time
SVD decomposition of A is known at a given timestamp: [U0,S0,V0]=SVD(A0)
We take the next measurement data to create A1
- 1 line is removed on the top of A0
- 1 new line is added to A0 on the bottom
- Rank of A0 and A1 are supposed identical
- Size of A0 and A1 are the same
- A1 is verry near to A0
Singular values are close and change slowly
Basis operator U0 and V0 are close and changes slowly
Is there a way to verry rapidely calculate SVD(A1) ?
something like [U1,S1,V1] = SVD(A1,U0,S0,V0);
a kind of iterative or perturbation method...
Remark: an iterative eigendecomposition could also do the job
type of: [V1,D1] = eig(A1,V0,D0)
V,D beeing resp. the EgenVectors and EigenValues
From this point a raisonable calculation of U,S,V is also possible
有人知道如何做到这一点吗?
此外,如果一些线性代数专家可以在标准工具(blas、mkl、octave、python...)中实现这一点,那就太棒了。
非常感谢每一个信息。
答: 暂无答案
评论