Текст подпрограммы и версий ( Фортран )
am14r.zip , am14d.zip , am14c.zip
Тексты тестовых примеров ( Фортран )
tam14r.zip , tam14d.zip , tam14c.zip
Текст подпрограммы и версий ( Си )
am14r_c.zip , am14d_c.zip , am14c_c.zip
Тексты тестовых примеров ( Си )
tam14r_c.zip , tam14d_c.zip , tam14c_c.zip
Текст подпрограммы и версий ( Паскаль )
am14r_p.zip , am14e_p.zip , am14c_p.zip
Тексты тестовых примеров ( Паскаль )
tam14r_p.zip , tam14e_p.zip , tam14c_p.zip

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

Назначение

Преобразование вектора последовательностью матриц отражения, упакованных над главной диагональю прямоугольной матрицы размера N * М (N ≥ М).

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

Подпрограмма АМ14R вычисляет произведение

            Q1 Q2 ... QM-1В  , 

где Q1, Q2,..., QM - 1 - матрицы отражения размера M * M,  B - заданный вектор длины  M. Матрицы отражения  Qi  имеют вид

            Qi  =  Е - Wi WiH  , 

где  Е - единичная матрица размера M * M,  Wi - вектор длины  M, первые  i  компонент которого равны нулю.
Ненулевые компоненты векторов  Wi,  порождающих матрицы  Qi,  задаются в строках над главной диагональю прямоугольной матрицы  А размера N * М (N ≥ М), т.е.

             Wi  =  ( 0, 0, ... , 0, ai, i+1, ai, i+2, ... , ai, M )H  . 

Данная упаковка последовательности матриц отражения получается, например, в результате работы подпрограммы, реализующей приведение прямоугольной матрицы  А размера N * М (N ≥ М) к верхнему двухдиагональному виду (АFР4R) методом отражений.

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

    SUBROUTINE  AM14R (A, N, M, B) 

Параметры

A - вещественный двумерный массив размера N * М, в котором в упакованном виде хранится информация о матрицах отражения;
N, M - число строк и столбцов матрицы  А соответственно, N ≥ М (тип: целый);
B - вещественный одномерный массив длины  M, в котором задается исходный вектор  B; в результате работы подпрограммы на месте  B запоминается преобразованный вектор Q1 Q2 ... QM - 1 В.

Версии

AM14D - преобразование вектора последовательностью матриц отражения, упакованных над главной диагональю прямоугольной матрицы размера N * М (N ≥ М), с повышенной точностью.
AM14C - преобразование комплексного вектора последовательностью комплексных матриц отражения, упакованных над главной диагональю прямоугольной матрицы размера N * М (N ≥ М).

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

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

  1. 

В подпрограмме АМ14D параметры  А и  B имеют тип DОUВLЕ РRЕСISIОN.

  2.  В подпрограмме AM14C параметры  А и  B имеют тип СОМРLЕХ.

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

       DIMENSION  A(5, 4), B(4), D1(5), D2(4)
       DATA  A /1., 3., 0., - 1., 1., 2*3., - 2., 0., 2*1., - 5., 5*1., 5., - 3., 1./
       DATA  B /1., - 2., 0., 3./
       N = 5
       M = 4
       CALL  AFP4R (A, N, M, D1, D2)
       CALL  AM14R (A, N, M, B)

Результат:      B  =  ( 1.00000, - 0.51676, - 1.62275, 3.17799 )