Текст подпрограммы и версий ( Фортран )
ammcr.zip , ammcd.zip
Тексты тестовых примеров ( Фортран )
tammcr.zip , tammcd.zip
Текст подпрограммы и версий ( Си )
ammcr_c.zip , ammcd_c.zip
Тексты тестовых примеров ( Си )
tammcr_c.zip , tammcd_c.zip
Текст подпрограммы и версий ( Паскаль )
ammcr_p.zip , ammce_p.zip
Тексты тестовых примеров ( Паскаль )
tammcr_p.zip , tammce_p.zip

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

Назначение

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

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

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

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

    SUBROUTINE  AMMCR (A, N, NCA, B, NLB, NUB, C) 

Параметры

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

Версии

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

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

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

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

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

          DIMENSION  A(5, 2), B(5, 4), C(5, 6)
          DATA  A /0.0, 9*1.0/
          DATA  B /2*0.0, 3*1.0, 0.0, 13*1.0, 0.0/
          N = 5
          NCA = 1
          NLB = 2
          NUB = 1
          CALL  AMMCR (A, N, NCA, B, NLB, NUB, C)

Результаты:

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