Добрый день,
Есть матрица

, которая обновляется на каждом шаге как

где

и

-- положительно определенная. Очевидно, что для всех

матрица

остается положительно определенной.
Мне нужно на каждом шаге вычислять определеитель:

. Я ищу способ как это делать с наименьшими затратами и желательно с использованием ранее вычисленных значений. В частности, используя Matrix determinant lemma, получится

что уже гораздо лучше, чем полностью вычислять определитель на каждом шаге. Но для этого требуется хранить и обновлять значения обратной матрицы на прошлом шаге (формула Sherman–Morrison?), что тоже затратно. Может есть какие-то более эффективные способы?
И связанный вопрос - есть ли какие-то способы итеративно находить сопряженную матрицу к

? Так кажется, что оба вопроса должны как-то увязываться в итеративном SVD разложении, если оно есть, но я пока ничего такого не нашёл.