Предположим, у меня есть матрица A Shape (p, nb) , и я создаю скользящее окно, взяв подменность p rows и n Compular am = a [:, m: m + n] . (SVD): < /p>
Код: Выделить всё
U_m, S_m, Vh_m = svd(Am) = svd(A[:, m:m+n]
Код: Выделить всё
U_m1, S_m1, Vh_m1 = svd(Am1) = svd(A[:, m+1:m+1+n]
Я хочу вычислить SVD из M+1 , используя SVD windo Полный SVD с нуля. Также я предпочитаю, чтобы он не прибегал к низководному приближению, но предполагаю, что Rank (am) = min (p, n) .
Код: Выделить всё
U_m1, S_m1, Vh_m1 = sliding_svd(U_m, S_m, Vh_m, A[:,m+1:m+1+n], A[:,m],A[:,m+n])
Я задал аналогичный вопрос в обмене математическим стеком:
https://math.stackexchange.com/question ... -sving-svd
Я ищу код или статью, которые могут быть реализованы в Python, с использованием Numpy, чтобы решить эту проблему, или, по крайней мере, какой-нибудь стол. проблема).
Подробнее здесь: https://stackoverflow.com/questions/795 ... omposition