Текст подпрограммы и версий ( Фортран )
adt1r.zip   adt1d.zip   adt1c.zip
Тексты тестовых примеров ( Фортран )
tadt1r.zip   tadt1d.zip   tadt1c.zip
Текст подпрограммы и версий ( Си )
adt1r_c.zip   adt1d_c.zip   adt1c_c.zip
Тексты тестовых примеров ( Си )
tadt1r_c.zip   tadt1d_c.zip   tadt1c_c.zip
Текст подпрограммы и версий ( Пакаль )
adt1r_p.zip   adt1e_p.zip   adt1c_p.zip
Тексты тестовых примеров ( Паскаль )
tadt1r_p.zip   tadt1e_p.zip   tadt1c_p.zip

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

Назначение

Вычисление определителя вещественной треугольной матрицы, заданной в компактной форме.

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

Для заданной в компактной форме вещественной треугольной матрицы А порядка N вычисляется определитель как произведение ее диагональных элементов и записывается в виде

     det A = D1*10D2,  где  1.0 ≤ D1 < 10.0.

Дж. Форсайт, М. Малькольм, К. Моулер. Машинные методы математических вычислений. М.: Мир, 1980.

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

    SUBROUTINE  ADT1R (A, N, DET1, DET2, IERR) 

Параметры

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

Версии

ADT1D - вычисление определителя вещественной треугольной матрицы, заданной в компактной форме с удвоенной точностью.
ADT1C - вычисление определителя комплексной треугольной матрицы, заданной в компактной форме.

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

UTAFSI - подпрограмма выдачи диагностических сообщений.

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

  1. 

В подпрограмме АDТ1D массив А и переменные DЕТ1 и DЕТ2 имеют тип DОUВLЕ РRЕСISIОN.

  2. 

В подпрограмме АDТ1С массив А и переменная DЕТ1 имеют тип СОМРLЕХ.

  3.  Если переменной IЕRR присваивается значение, отличное от нуля, то выдается соответствующее диагностическое сообщение, полагается DЕТ1 = 0.0,  DЕТ2 = 0.0 и происходит выход из подпрограммы.

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

          DIMENSION A(15)
          N = 5
          K = 0
          DO 4 I = 1, N
          DO 3 J = 1, I
          K = K+1
          A(K) = FLOAT(I*10+J)
      3 CONTINUE
      4 CONTINUE
         CALL  ADT1R (A, N, DET1, DET2, IERR)

Результаты:

        DET1  =  1.932612
        DET2  =  7.0