Текст подпрограммы и версий ( Фортран ) 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 |
Преобразование вектора последовательностью матриц отражения, упакованных над главной диагональю прямоугольной матрицы размера 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 )