Текст подпрограммы и версий ( Фортран )
aee8r.zip , aee8d.zip
Тексты тестовых примеров ( Фортран )
taee8r.zip , taee8d.zip
Текст подпрограммы и версий ( Си )
aee8r_c.zip , aee8d_c.zip
Тексты тестовых примеров ( Си )
taee8r_c.zip , taee8d_c.zip
Текст подпрограммы и версий ( Паскаль )
aee8r_p.zip , aee8e_p.zip
Тексты тестовых примеров ( Паскаль )
taee8r_p.zip , taee8e_p.zip

Подпрограмма:  AEE8R

Назначение

Вычисление собственных значений симметричной трехдиагональной матрицы, принадлежащих данному полуинтервалу, и определение номеров этих собственных значений.

Математическое описание

Пусть все собственные значения заданной симметричной трехдиагональной матрицы Т порядка N перенумерованы в порядке неубывания :

      λ1 ≤ λ2 ≤  ...  ≤ λN-1 ≤ λN

Подпрограмма АЕЕ8R определяет номера собственных значений матрицы Т, принадлежащих данному полуинтервалу (V, U), и производит вычисление этих собственных значений методом бисекций.

Дж.Х.Уилкинсон, Алгебраическая проблема собственных значений, "Наука", М., 1970.

Использование

    SUBROUTINE  AEE8R ( A, B, N, V, U, M1, M2, RU, W) 

Параметры

A - вещественный вектор длины N, содержащий диагональные элементы симметричной трехдиагональной матрицы;
B - вещественный вектор длины N, содержащий в последних N - 1 компонентах поддиагональные элементы симметричной трехдиагональной матрицы;
N - заданный порядок симметричной трехдиагональной матрицы (тип: целый);
V, U - соответственно нижняя и верхняя границы заданного полуинтервала (тип: вещественный);
M1, M2 - номера соответственно наименьшего и наибольшего собственных значений, принадлежащих данному полуинтервалу (тип: целый);
RU - вещественный вектор длины N, используемый как рабочий;
W - вектор длины N, с М1 - й по М2 - ю компоненту которого содержатся вычисленные собственные значения принадлежащие заданному полуинтервалу.

Версии

AEE8D - вычисление собственных значений симметричной трехдиагональной матрицы, заданной с двойной точностью, принадлежащих данному полуинтервалу, и определение номеров этих собственных значений.

Вызываемые подпрограммы : нет

Замечания по использованию

  1. 

Подпрограмма АЕЕ8R не сохраняет исходные векторы А и В.

  2. 

Если заданный полуинтервал не содержит ни одного собственного значения симметричной трехдиагональной матрицы, то подпрограмма АЕЕ8R присваивает М1 и М2 нулевые значения.

  3. 

В подпрограмме АЕЕ8D параметры А, В, V, U, RU, W должны иметь тип DОUВLЕ РRЕСISIОN.

  4.  Подпрограмма АЕЕ8R может быть использована для вычисления собственных значений комплексной эрмитовой трехдиагональной матрицы, принадлежащих данному полуинтервалу, и определения номеров этих собственных значений. Для этого нужно предварительно привести комплексную эрмитовую трехдиагональную матрицу к вещественной симметричной трехдиагональной матрице преобразованиями подобия (например, обратиться к подпрограмме АFЕ0С).
  5.  Подпрограмма АЕE8R использует служебную подпрограмму AMA1R.
Подпрограмма АЕE8D использует служебную подпрограмму AMA1D.

Пример использования

      DIMENSION  A(50), B(50), RU(50), W(50)
      DATA  A /1., 49., 48*0.0/
      DATA  B /0., 7., 48*0./
      N = 50.
      V = -2.
      U = 7.
      CALL  AEE8R (A, B, N, V, U, M1, M2, RU, W)

Результаты:

      M1  =  1,  M2  =  49 , 
      W(1)  =  W(2)  =  ...  =  W(49)  =  -1.34*10-11