Текст подпрограммы и версий ( Фортран )
afh2r.zip , afh2d.zip
Тексты тестовых примеров ( Фортран )
tafh2r.zip , tafh2d.zip
Текст подпрограммы и версий ( Си )
afh2r_c.zip , afh2d_c.zip
Тексты тестовых примеров ( Си )
tafh2r_c.zip , tafh2d_c.zip
Текст подпрограммы и версий ( Паскаль )
afh2r_p.zip , afh2e_p.zip
Тексты тестовых примеров ( Паскаль )
tafh2r_p.zip , tafh2e_p.zip

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

Назначение

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

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

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

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

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

    SUBROUTINE  AFH2R (A, N, NC, IERR) 

Параметры

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

Версии

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

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

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

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

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

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

      DIMENSION  A(3, 2)
      DATA  A /0., 2., 12., 1., 25., 56./
      N = 3
      NC = 1
      CALL  AFH2R (A, N, NC, IERR)

Результаты:  A  =   (0.,  2.,  2.6186,  1.,  4.5826,  7.0102)