Текст подпрограммы и версий ( Фортран )
afh7r.zip , afh7d.zip
Тексты тестовых примеров ( Фортран )
tafh7r.zip , tafh7d.zip
Текст подпрограммы и версий ( Си )
afh7r_c.zip , afh7d_c.zip
Тексты тестовых примеров ( Си )
tafh7r_c.zip , tafh7d_c.zip
Текст подпрограммы и версий ( Паскаль )
afh7r_p.zip , afh7e_p.zip ,
Тексты тестовых примеров ( Паскаль )
tafh7r_p.zip , tafh7e_p.zip

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

Назначение

Численное треугольное разложение симметричной положительно определенной разреженной матрицы, заданной в формате RR (U) U.

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

Описания форматов RR (U) U и RR (U) О приведены в описаниях подпрограмм AM21R и ASH4R соответственно.

Пусть симметричная положительно определенная разреженная матрица А порядка N задана в формате RR (U) U. Подпрограмма AFH7R вычисляет элементы матрицы U по заданному ее портрету в формате RR (U) О, такую, что A = UTDU, где U - верхняя треугольная матрица с единичной диагональю, а D - диагональная матрица. Портрет матрицы U может быть предварительно получен при помощи подпрограммы AFH6R сначала в формате RR (U) U, а затем упорядочен в формат RR (U) О путем двухкратного применения подпрограммы AMTCR .

С.Писсанецки. Технология разреженных матриц. - М.: Мир, 1988.

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

    SUBROUTINE  AFH7R ( IA, JA, AN, AD, N, IU, JU, UN, DI, IP, IUP) 

Параметры

IA, JA, -     AN, AD    заданные портрет и ненулевые элементы матрицы A в формате RR (U) U;
N - заданный порядок матрицы А (тип: целый);
IU, JU - заданный портрет матрицы U в формате RR (U) O;
UN - вещественный одномерный массив длины N, в который помещаются вычисленные ненулевые элементы матрицы U в соответствии с ее портретом;
DI - вещественный одномерный массив длины N, в который помещаются вычисленные элементы матрицы, обратной к диагональной матрице D разложения;
IP, IPU - целые одномерные массивы длины N, используемые в подпрограмме в качестве рабочих;

Версии

AFH7D - численное треугольное разложение симметричной положительно определенной разреженной матрицы, заданной в формате RR (U) U, в режиме удвоенной точности; при этом параметры AN, AD, UN и DI должны имет тип DOUBLE PRECISION.

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

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

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

      DIMENSION  IA(6), JA(4), IU(6), JU(4), IP(5),
     *                      IUP(5), AN(4), AD(5), UN(4), DI(5)
      DATA  IA /1, 2, 3, 4, 5, 5/
      DATA  JA /5, 5, 5, 5/
      DATA  IU /1, 2, 3, 4, 5, 5/
      DATA  JU /5, 5, 5, 5/
      DATA  AN /2., 0.5, 2., 1./
      DATA  AD /16., 0.625, 3., 0.5, 4./
      N = 5
      CALL  AFH7R (IA, JA, AN, AD, N, IU, JU, UN, DI, IP, IUP)

Результаты:
   
 UN  =  .125000E+00, .800000E+00, .666667E+00, .200000E+01 
  DI  =  .625000E-01, .160000E+01, .333333E+00, .200000E+01, .600002E+02