Реализация метода Якоби-Дэвидсона для кубической задачи на собственные значения


9

У меня есть большая проблема с кубическим собственным значением:

(A0+λA1+λ2A2+λ3A3)x=0.

Я мог бы решить это путем преобразования в линейную задачу на собственные значения, но это привело бы к системе 32 как большой:

[−A0000I000I][xyz]=λ[A1A2A3I000I0][xyz],

где y=λx а также z=λy, Какие еще методы доступны для решения проблемы кубических собственных значений? Я слышал, что есть версия Якоби-Дэвидсона, которая решит ее, но не нашла реализации.

Кроме того, мне нужно иметь возможность нацеливаться на конкретные собственные значения аналогично методу ARPACK со смещением и инвертированием и находить соответствующие собственные векторы.


Каковы размеры задействованных матриц?
— Билл Барт

Ai это порядок 10000×10000, У меня есть две разные формулировки этой проблемы, одна в которойAiплотный, а в другом он редкий.
— OSE

1
В SLEPc есть подпрограммы для квадратичных задач на собственные значения и нелинейных задач на собственные значения, так что вы можете найти то, что вам нужно. Он также имеет функции сдвига и инвертирования и имеет интерфейс к ARPACK.
— Джефф Оксберри

Ответы:


5

При использовании протокола обратной связи ARPACK вам не нужно хранить 3n×3n матрица явно: вам просто нужно предоставить две функции, которые вычисляют:

[xyz]→[−A0xyz] а также [xyz]→[A1x+A2y+A3zyz]

(вы все еще платите за хранение 3×n-мерные векторы, но вы ничего не платите за матрицы).

Что касается обратного преобразования, вы можете сделать то же самое, то есть реализовать его самостоятельно, используя обратный вызов, который вычисляет x↦M−1x вместо x↦Mx и заменить вычисленные λ′s с λ−1, ВычислитьM−1x, вы можете предварительно фактор вашей матрицы M, что означает только предварительный факторинг A0(используя LU, Cholesky, или их редкие версии в зависимости от структуры матрицы). Для полного преобразования с возвратом в сдвиг я думаю, что нечто подобное можно сделать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.