Пусть A и B являются вещественными симметричными или эрмитовыми матрицами порядка n, а матрица B является также положительно определенной.
Обобщенная симметричная проблема собственных значений (GSEP) состоит в нахождении собственных значений λ и соответствующих собственных векторов z, не равных нулю, удовлетворяющих одному из видов уравнений.
(1) A z = λ B z , (2) A B z = λ z , (3) B A z = λ z .
При этом для всех видов уравнений (1), (2) или (3) искомые значения λ всегда являются вещественными.
Вычисляемые матрицы Z, содержащие столбцы собственных векторов, удовлетворяют следующим уравнениям.
ZT A Z = Λ (или ZH A Z = Λ - для эрмитовых матриц), при решении уравнений вида (1) или (3), Z-1 A Z-T = I (или Z-1 A Z-H = I - для эрмитовых матриц), при решении уравнения вида (2), где Λ - диагональная матрица с расположенными на диагонали собственными значениями.
Матрицы Z удовлетворяют также уравнениям
ZT B Z = I (или ZH B Z = I - для эрмитовых матриц), при решении уравнений вида (1) или (2), ZT B-1 Z = I (или ZH B-1 Z = I - для эрмитовых матриц), при решении уравнения вида (3).
Подробнее, вычисление состоит из следующих этапов.
1. Каждый из указанных видов обобщенной проблемы собственных значений (1), (2) или (3) может быть приведен к стандартной (линейной) симметричной проблеме собственных значений, посредством использования разложения Холецкого для матрицы B:
B = L LT или B = UT U - для вещественного симметричного случая, B = L LH или B = UH U - для случая эрмитовых матриц. Тогда при B = L LT мы получаем A z = λ B z = > (L-1 A L-T) (LT z) = λ (LT z) .
При этом собственные значения уравнения A z = λ B z являются также собственными значениями уравнения C y = λ y, где симметричная матрица C = L-1 A L-T , а y = LT z .
В случае эрмитовых матриц C = L-1 A L-H , а y = LH z .
2. Выполняется решение полученной стандартной (линейной) проблемы собственных значений, с использованием целевых подпрограмм имеющихся в разделе Комплекса для решения линейной симметричной проблемы собственных значений (см.).
3. Восстановление собственных векторов для обобщенной проблемы собственных значений z из полученных собственных векторов для линейной проблемы собственных значений y может быть выполнено просто использованием соответствующих подпрограмм из пакета BLAS уровня 2 или 3.
В таблице ниже показано, как каждая из трех видов проблем собственных значений может быть сведена к стандартной форме C y = λ y, и как собственные векторы z исходной проблемы могут быть получены из собственных векторов y стандартной (линейной) проблемы.
В таблице представлены только вещественные случаи, для комплексных случаев транспонированные матрицы должны быть заменены на комплексно - сопряженные транспонированные.
---------------------------------------------------------------------------------------------------- Восстановление Вид исходных проблемы Разложение Сведение собственных векторов ----------------------------------------------------------------------------------------------------- Az = λ Bz B = LLT C = L-1 AL-T z = L-T y B = UT U C = U-T AU-1 z = U-1 y ----------------------------------------------------------------------------------------------------- ABz = λ z B = LLT C = LT AL z = L-T y B = UT U C = UA UT z = U-1 y ----------------------------------------------------------------------------------------------------- BAz = λ z B = LLT C = LT AL z = L y B = UT U C = UA UT z = UT y -----------------------------------------------------------------------------------------------------
Разложение Холецкого матрицы B выполняется с помощью базовой подпрограммы PDPOTRF.
Используя это разложение, приведение обобщенной проблемы собственных значений к стандартной линейной форме выполняется с помощью базовых подпрограмм PDSYNGST (PDHEGST).
Далее используется, необходимая для конкретного случая, одна из целевых подпрограмм Комплекса для решения линейной проблемы собственных значений ( PDSYEV1, PZHEGV1, PDSYEV2, PZHEGV2, PDSYEV3, PZHEGV3, PDSYEV4, PZHEGV4, PDSYEV5, PZHEGV5, PDSYEV6, PZHEGV6 ) см..
При необходимости вычисления собственных векторов, восстановление собственных векторов для обобщенной проблемы собственных значений по собственным векторам линейной проблемы собственных значений производится с помощью базовых подпрограмм PDTRSM ( для уравнений вида (1) или (2) ) или PDTRMM ( для уравнений вида (3) ).
Общие правила работы с параллельными процессами и распределения матриц по этим процессам аналогичны тому, как это описано для задач решения систем линейных алгебраических уравнений (см.)