Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.ru/par_prog/org/basegen.htm
Дата изменения: Mon Oct 28 17:00:18 2013 Дата индексирования: Thu Feb 27 20:58:29 2014 Кодировка: Windows-1251 |
Пусть A и B являются вещественными симметричными или эрмитовыми матрицами порядка n, а матрица B является также положительно определенной.
Обобщенная симметричная проблема собственных значений (GSEP) состоит в нахождении собственных значений l и соответствующих собственных векторов z, не равных нулю, удовлетворяющих одному из видов уравнений.
(1) A z = l B z , (2) A B z = l z , (3) B A z = l z .
При этом для всех видов уравнений (1), (2) или (3) искомые значения l всегда являются вещественными.
Вычисляемые матрицы Z, содержащие столбцы собственных векторов, удовлетворяют следующим уравнениям (условиям ?).
ZT A Z = L (или ZH A Z = L - для эрмитовых матриц), при решении уравнений вида (1) или (3), Z-1 A Z-T = I (или Z-1 A Z-H = I - для эрмитовых матриц), при решении уравнения вида (2), где L - диагональная матрица с расположенными на диагонали собственными значениями.
Матрицы 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 = l B z = > (L-1 A L-T) (LT z) = l (LT z) .
При этом собственные значения уравнения A z = l B z являются также собственными значениями уравнения C y = l 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 = l y, и как собственные векторы z исходной проблемы могут быть получены из собственных векторов y стандартной (линейной) проблемы.
В таблице представлены только вещественные случаи, для комплексных случаев транспонированные матрицы должны быть заменены на комплексно - сопряженные транспонированные.
---------------------------------------------------------------------------------------------------- Восстановление Вид исходных проблемы Разложение Сведение собственных векторов ----------------------------------------------------------------------------------------------------- Az = l 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 = l z B = LLT C = LT AL z = L-T y B = UT U C = UA UT z = U-1 y ----------------------------------------------------------------------------------------------------- BAz = l 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) ).
Общие правила работы с параллельными процессами и распределения матриц по этим процессам аналогичны тому, как это описано для задач решения систем линейных алгебраических уравнений (см.)