Текст подпрограммы и версий ( Фортран )
amz1r.zip , amz1d.zip , amz1c.zip
Тексты тестовых примеров ( Фортран )
tamz1r.zip , tamz1d.zip , tamz1c.zip
Текст подпрограммы и версий ( Си )
amz1r_c.zip , amz1d_c.zip , amz1c_c.zip
Тексты тестовых примеров ( Си )
tamz1r_c.zip , tamz1d_c.zip , tamz1c_c.zip
Текст подпрограммы и версий ( Паскаль )
amz1r_p.zip , amz1e_p.zip , amz1c_p.zip
Тексты тестовых примеров ( Паскаль )
tamz1r_p.zip , tamz1e_p.zip , tamz1c_p.zip

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

Назначение

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

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

Симметричная матрица  А порядка  N, заданная в компактной форме, преобразуется в полную форму представления. Таким образом, АМZ1R выполняет действие, обратное по отношению к подпрограмме АМZ0R.

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

    SUBROUTINE  AMZ1R (A, N, B) 

Параметры

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

Версии

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

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

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

 

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

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

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

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

   1. DIMENSION  A(6), B(3, 3)
       DATA  A /1.1, 2.1, 2.2, 3.1, 3.2, 3.3/
       N = 3
       CALL  AMZ1R (A, N, B)

Результаты:    B  =  ( 1.1, 2.1, 3.1, 2.1, 2.2, 3.2, 3.1, 3.2, 3.3 )

   2. DIMENSION  A(6), B(3, 3)
       COMPLEX  A, B
       DATA  A /(1.1, 0.), (2.1, 2.1), (2.2, 0.), (3.1, 3.1), (3.2, 3.2), 
     *                (3.3, 0.)/
       N = 3
       CALL  AMZ1C (A, N, B)

Результаты:

       B  =  ( (1.1, 0.), (2.1, 2.1), (3.1, 3.1), (2.1, - 2.1), (2.2, 0.), 
                 (3.2, 3.2), (3.1, - 3.1), (3.2, - 3.2), (3.3, 0.) )