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