Текст подпрограммы и версий ( Фортран )
amm9r.zip , amm9d.zip
Тексты тестовых примеров ( Фортран )
tamm9r.zip , tamm9d.zip
Текст подпрограммы и версий ( Си )
amm9r_c.zip , amm9d_c.zip
Тексты тестовых примеров ( Си )
tamm9r_c.zip , tamm9d_c.zip
Текст подпрограммы и версий ( Паскаль )
amm9r_p.zip , amm9e_p.zip
Тексты тестовых примеров ( Паскаль )
tamm9r_p.zip , tamm9e_p.zip

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

Назначение

Умножение симметричных ленточных матриц, заданных в компактной форме.

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

АММ9R вычисляет произведение симметричной ленточной матрицы А порядка N с NСА ко - диагоналями на симметричную ленточную матрицу B порядка N с NСВ ко - диагоналями. Матрицы А и B задаются в компактной форме представления. Результатом этого произведения является ленточная матрица C порядка N с М верхними и М нижними ко - диагоналями, где М = min (N - 1, NСА + NСВ). Матрица C запоминается в компактной форме.

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

    SUBROUTINE  AMM9R (A, N, NCA, B, NCB, C) 

Параметры

A - вещественный двумерный массив размера N * (NСА + 1), в котором задается симметричная ленточная матрица А в компактной форме;
N - заданный порядок матриц А и B (тип: целый);
NCA - заданное число ко - диагоналей матрицы А (тип: целый);
B - вещественный двумерный массив размера N * (NСВ + 1), в котором задается симметричная ленточная матрица B в компактной форме;
NCB - заданное число ко - диагоналей матрицы B (тип: целый);
C - вещественный двумерный массив размера N * (min (2N - 1, 2 (NСА + NСВ) + 1)), в котором запоминается ленточная матрица произведения в компактной форме.

Версии

AMM9D - умножение с повышенной точностью симметричных ленточных матриц, заданных в компактной форме.

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

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

  В подпрограмме АММ9D параметры А, B и C должны иметь тип DОUВLЕ РRЕСISIОN.

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

          DIMENSION  A(5, 2), B(5, 2), C(5, 5)
          DATA  A /0.0, 9*1.0/,  B /0.0, 9*1.0/
          N = 5
          NCA = 1
          NCB = 1
          CALL  AMM9R (A, N, NCA, B, NCB, C)

Результаты:

               |  0  0  2  2  1  |
               |  0  2  3  2  1  |
     C  =   |  1  2  3  2  1  |
               |  1  2  3  2  0  |
               |  1  2  2  0  0  |