Текст подпрограммы и версий ( Фортран )
amz2r.zip , amz2d.zip , amz2c.zip
Тексты тестовых примеров ( Фортран )
tamz2r.zip , tamz2d.zip , tamz2c.zip
Текст подпрограммы и версий ( Си )
amz2r_c.zip , amz2d_c.zip , amz2c_c.zip
Тексты тестовых примеров ( Си )
tamz2r_c.zip , tamz2d_c.zip , tamz2c_c.zip
Текст подпрограммы и версий ( Паскаль )
amz2r_p.zip , amz2e_p.zip , amz2c_p.zip
Тексты тестовых примеров ( Паскаль )
tamz2r_p.zip , tamz2e_p.zip , tamz2c_p.zip

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

Назначение

Преобразование полной ленточной матрицы в компактную форму представления.

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

АМZ2R преобразует полную ленточную матрицу  А порядка  N с NUС верхними и NLС нижними ко - диагоналями в компактную форму представления. При этом следует иметь в виду, что экономия памяти происходит только тогда, когда (NUС + 1 + NLС) меньше  N.

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

    SUBROUTINE  AMZ2R (A, N, NUC, NLC, B) 

Параметры

A - вещественный двумерный массив размера N на N, в котором задается ленточная матрица в полной форме;
N - заданный порядок матрицы (тип: целый);
NUC - заданное число верхних ко - диагоналей (тип:целый);
NLC - число нижних ко - диагоналей (тип: целый);
B - вещественный двумерный массив размера N на (NUС + 1 + NLС), в котором запоминается исходная ленточная матрица в компактной форме представления.

Версии

AMZ2D - преобразование полной ленточной матрицы, заданной с удвоенной точностью, в компактную форму представления.
AMZ2C - преобразование полной комплексной ленточной матрицы в компактную форму представления.

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

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

 

Массив  B может занимать то же место в памяти, что и массив  А (это означает, что первый элемент массива  B может совпадать с первым элементом массива  А).

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

В подпрограмме АМZ2С параметры  А и  B должны иметь тип СОМРLЕХ.

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

       DIMENSION  A(5, 5), B(5, 4)
       DATA  A /1.1, 2.1, 3.1, 0., 0., 1.2, 2.2, 3.2, 4.2, 0., 0., 2.3, 3.3, 
     *                 4.3, 5.3, 0., 0., 3.4, 4.4, 5.4, 0., 0., 0., 4.5, 5.5/
       N = 5
       NUC = 1
       NLC = 2
       CALL  AMZ2R (A, N, NUC, NLC, B)

Результаты:

       B  =  ( 0., 0., 3.1, 4.2, 5.3, 0., 2.1, 3.2, 4.3, 5.4, 1.1, 2.2, 3.3, 4.4, 
                 5.5, 1.2, 2.3, 3.4, 4.5, 0. )