Текст подпрограммы и версий ( Фортран ) 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 |
Треугольное разложение положительно определенной симметричной ленточной матрицы методом квадратного корня (методом Холецкого) с компактной формой представления симметричной и треугольной матриц.
Заданная в компактной форме положительно определеная симметричная ленточная матрица А приводится к действительной невырожденной нижней треугольной матрице 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)