Текст подпрограммы и версий ( Фортран )
afh1r.zip , afh1d.zip , afh1c.zip
Тексты тестовых примеров ( Фортран )
tafh1r.zip , tafh1d.zip , tafh1c.zip
Текст подпрограммы и версий ( Си )
afh1r_c.zip , afh1d_c.zip , afh1c_c.zip
Тексты тестовых примеров ( Си )
tafh1r_c.zip , tafh1d_c.zip , tafh1c_c.zip
Текст подпрограммы и версий ( Паскаль )
afh1r_p.zip , afh1e_p.zip , afh1c_p.zip
Тексты тестовых примеров ( Паскаль )
tafh1r_p.zip , tafh1e_p.zip , tafh1c_p.zip

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

Назначение

Треугольное разложение положительно определенной симметричной матрицы методом квадратного корня (методом Холецкого) с компактной формой представления симметричной и треугольной матриц.

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

Заданная положительно определенная симметричная матрица А приводится к действительной невырожденной нижней треугольной матрице L, такой, что LLT = А, методом квадратного корня (методом Холецкого).

В.В.Воеводин, Численные методы алгебры (теория и алгорифмы), "Наука", М., 1966 г.

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

    SUBROUTINE  AFH1R (A, N, IERR) 

Параметры

A - вектор длины N * (N + 1) / 2, в котором содержится заданная матрица, записанная в компактной форме; по окончании работы подпрограммы в массиве А запоминается также в компактной форме нижняя треугольная матрица L (тип: вещественный);
N - порядок матрицы (тип: целый);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом:
IЕRR=65 - если исходная матрица не является положительно определенной.

Версии

AFH1D - треугольное разложение положительно определенной симметричной матрицы методом квадратного корня с компактной формой представления симметричной и треугольной матриц с повышенной точностью.
AFH1C - треугольное разложение положительно определенной эрмитовой матрицы методом квадратного корня с компактной формой представления матриц.

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

UTAF10 - подпрограмма выдачи диагностических сообщений при работе подпрограмм АFН1R, AFH1C .
UTAF11 - подпрограмма выдачи диагностических сообщений при работе подпрограмм АFН1D, AFH1P .

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

  Для подпрограммы АFН1D параметр А должен тиметь тип DОUВLЕ РRЕСISIОN, а для АFН1С - тип СОМРLЕХ.

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

      DIMENSION  A(6)
      DATA  A /1., 2., 20., 3., 26., 70./
      N = 3
      CALL  AFH1R (A, N, IERR)

Результаты:    А = (1., 2., 4., 3., 5., 6.),   IЕRR = 0