Существует ли функция BLAS / LAPACK для расчета обновлений коэффициента Холецкого? - PullRequest
0 голосов
/ 21 мая 2018

Пусть A - положительно определенная матрица, а A=L*L' - ее холеская факторизация, где L - нижняя треугольная.Пусть A2 = A + alpha*x*x' будет обновлением матрицы ранга 1 A, где x - вектор соответствующей размерности, а alpha - скаляр.

Обновление коэффициента Холецкого процедура получения факторизации A2=L2*L2' без предварительного вычисления A2, которая полезна для ускорения вычислений в случае таких обновлений матрицы низкого ранга.

Я использую библиотеки BLAS / LAPACK для элементарныхалгебраические манипуляции.Я могу рассчитать факторизацию Холецкого положительно определенной матрицы с помощью процедуры spptrf .Тем не менее, я осмотрелся и не смог найти функцию BLAS / LAPACK, которая выполняет обновления коэффициента Холецкого.Может ли быть так, что нет функции, делающей так?

Дополнительно: В этом старом посте обсуждалось добавление такой подпрограммы.Тем не менее, это очень старая запись (2013), и я не смог найти ничего более свежего.

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Нет такой функции.Вы можете посмотреть на эту дискуссию о SciPy.Я составил скрипт на Python, который обновляет соответствующую статью.Вы можете использовать эту информацию.

https://github.com/scipy/scipy/issues/8188

Если вы чувствуете себя конкурентоспособным и действительно пишете для этого код на Фортране, я был бы очень признателен, если бы вы могли представить его в репозиторий LAPACK в качестве PR https://github.com/Reference-LAPACK/lapack

0 голосов
/ 25 мая 2018

Библиотеки BLAS на Netlib, как вы указали, однако я сомневаюсь, что они есть на сайте.Если вы ищете код, просто здесь есть код . Если вы хотите его быстро, я бы просто превратил этот код в Джулию.Есть книга, которую я никогда не проверял, и она может быть в it. Также обратите внимание, что вы цитировали статью, для которой автор написал код.Вы могли бы просто связаться с автором статьи.Его веб-сайт выглядит как здесь. Однако с этой ссылкой есть проблема.

...