Какой алгоритм используют собственные решения DGGEV или DSYGV в LAPACK? Это алгоритм ‘QZ’, который использует MATLAB?
http://www.netlib.org/lapack/explore-html/d9/d52/dggev_8f_source.html
http://www.netlib.org/lapack/explore-html/d5/d2e/dsygv_8f.html
Кто-нибудь знает, где я могу найти реализацию Алгоритм QZ (обобщенный Разложение Шура) для вычисления собственных значений & векторы в C ++?
РЕДАКТИРОВАТЬ:
Я реализовал некоторые подпрограммы LAPACK и упомянул некоторые наблюдения в этой ссылке:
https://scicomp.stackexchange.com/questions/16220/eigenvectors-matlab-vs-lapack-dggev-or-dggevx
Раньше в MATLAB был список рутин LAPACK, используемых eig
функция в его документации, но решил удалить его по некоторым причинам.
Вот скриншот таблицы из заархивированные документы R2009a:
Я не могу гарантировать, что вещи не изменились с тех пор.
Страница документа qz
функция была похожая таблица LAPACK Rountines:
Для справки, вы также можете посмотреть, как другие научные структуры реализуют эту функцию:
октава: Имеет эквивалент qz
функция. Вот исходный код: http://hg.octave.org/octave/file/tip/libinterp/corefcn/qz.cc
SciPy: Также реализует обобщенное разложение Шура. Ты можешь видеть это также заканчивает тем, что звонило DGGES из Лапак.
Юля: Вот ссылка на реализацию Юлией Разложение Шура: https://github.com/JuliaLang/julia/blob/master/base/linalg/factorization.jl#L697, https://github.com/JuliaLang/julia/blob/master/base/linalg/lapack.jl#L3358
р: Вот эквивалентный R-пакет для обобщенной задачи на собственные значения. Вы можете проверить исходный код: http://cran.r-project.org/web/packages/geigen/index.html