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