| Текст подпрограммы и версий ( Фортран ) am09r.zip , am09d.zip , am09c.zip | Тексты тестовых примеров  ( Фортран ) tam09r.zip , tam09d.zip , tam09c.zip | 
| Текст подпрограммы и версий ( Си ) am09r_c.zip , am09d_c.zip , am09c_c.zip | Тексты тестовых примеров  ( Си ) tam09r_c.zip , tam09d_c.zip , tam09c_c.zip | 
| Текст подпрограммы и версий ( Паскаль ) am09r_p.zip , am09e_p.zip , am09c_p.zip | Тексты тестовых примеров  ( Паскаль ) tam09r_p.zip , tam09e_p.zip , tam09c_p.zip | 
Левосторонние преобразования вектора последовательностью матриц вращения, упакованных под нижней двухдиагональной частью прямоугольной матрицы размера N * М (N ≤ М).
 Вектор B длины N последовательно умножается слева на матрицы
   вращения  R3 2, R4 3,
   ..., RN N - 1,  упакованные
   под нижней двухдиагональной  частью  заданной  прямоугольной  матрицы А
   размера N * М (N ≤ М) 
   таким образом, 
   что если  t = А (i, j-1)  для 
   i > j , то матрица Ri j
   размера N*N является марицей плоского вращения в плоскости
   (i, j), у которой элементы  Ri i =
    Rj j = С,  
   Ri j = - S,    
   Rj i = S,  а остальные  элементы главной
   диагонали равны 1, 
    где 
   С = (1 - | t |2) / (1 + | t |2) , 
   S = 2t / (1 + | t |2). 
SUBROUTINE AM09R (A, N, M, B)
Параметры
| A - | двумерный массив размера N * М, содержащий прямоугольную матрицу, под нижней двухдиагональной частью которой хранится в упакованном виде последовательность матриц вращения (тип: вещественный); | 
| N, M - | число строк и столбцов матрицы А, причем N ≤ М (тип: целый); | 
| B - | одномерный массив длины N, в котором задается исходный вектор; в результате работы подпрограммы на месте B запоминается преобразованный вектор (тип: вещественный). | 
Версии
| AM09D - | левосторонние преобразования вектора последовательностью матриц вращения с повышенной точностью. | 
| AM09C - | левосторонние преобразования комплексного вектора последовательностью комплексных матриц вращения. | 
Вызываемые подпрограммы: нет.
Замечания по использованию
| 1. | Заданная в необходимой форме последовательность матриц вращения, используемых данной подпрограммой, получается, например, в результате работы подпрограммы, реализующей приведение прямоугольной матрицы размера N на М (N ≤ М) к нижнему треугольному виду (АFР7R). | |
| 2. | В подпрограмме АМ09D параметры А и B имеют тип DОUВLЕ РRЕСISIОN. | |
| 3. | В подпрограмме AM09C параметры А и B имеют тип СОМРLЕХ. | 
       DIMENSION  A(4, 5), B(4)
       DATA  A /0., 0., 0.5, 1., 3*0., 1., 0., 3*1., 0.5, 6*1., 0.5/
       DATA  B /4*1./
       CALL  AM09R (A, 4, 5, B)
Результат:  В  =  ( 1.0, - 1.0, 0.2, 1.4 )