Текст подпрограммы и версий ( Фортран )
am15r.zip , am15d.zip , am15c.zip
Тексты тестовых примеров ( Фортран )
tam15r.zip , tam15d.zip , tam15c.zip
Текст подпрограммы и версий ( Си )
am15r_c.zip , am15d_c.zip , am15c_c.zip
Тексты тестовых примеров ( Си )
tam15r_c.zip , tam15d_c.zip , tam15c_c.zip
Текст подпрограммы и версий ( Паскаль )
am15r_p.zip , am15e_p.zip , am15c_p.zip
Тексты тестовых примеров ( Паскаль )
tam15r_p.zip , tam15e_p.zip , tam15c_p.zip

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

Назначение

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

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

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

           QN-1 QN-2 ... Q1В  , 

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

           Qi  =  Е - Wi WiН  , 

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

           Wi  =  ( 0, 0, ... , 0, ai+1 i, ai+2 i, ... , aN i )T  . 

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

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

    SUBROUTINE  AM15R (A, N, M, B) 

Параметры

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

Версии

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

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

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

  1. 

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

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

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

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

Результат:    B  =  ( 1.00000, 3.59139, 0.24574, - 0.20377 )