迭代滑动SVD

Iterative sliding SVD

提问人:ATu 提问时间:10/29/2023 最后编辑:ATu 更新时间:10/31/2023 访问量:66

问:

我现在正在寻找一些(很长)时间的交互式 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...)中实现这一点,那就太棒了。

非常感谢每一个信息。

迭代 倍频程 线性代数 SVD 滑动

评论

0赞 Community 10/30/2023
请编辑问题,将其限制在特定问题上,并具有足够的细节以确定适当的答案。

答: 暂无答案