ВУЗ:
Составители:
6.3 Программная реализация алгоритмов Холесского
Верхнетреугольное разложение Холесского:
P (N, N), P = UU
T
, P > 0, U— верхнетреугольная мат рица.
DO 5 J = N, 2, −1
c
j = n, n − 1, . . . , 2
U(J, J) = SQRT(P(J, J))
α = 1./U(J, J)
DO 5 K = 1 , J −1
U(K, J) = α ∗ P (K, J)
β = U(K, J)
DO 5 I = 1 , K
5 P (I, K) = P (I, K) − β ∗ U(I, J)
U(1, 1) = SQRT(P (1, 1))
Замечание 6.4. Матрица U должна замещать P в компьютерной па-
мяти. Нижние части матриц U и P не должны использоваться вовсе (память
для них не выделяе т ся). В любом случае верхнетреугольная часть мат рицы
P теряется, так как на ее месте появляется ве рхнетреугольная час ть мат-
рицы U, т. е. все вычисления ведутся в одном и том же массиве P .
Верхнетреугольное без
√
· разложение Холесского:
P (N, N), P =
¯
UD
¯
U
T
, P > 0,
¯
U— верхнетреугольная матрица
с единичной диагональю, D — диагональная матрица.
DO 5 J = N, 2, −1
c
j = n, n − 1, . . . , 2
D(J) = P (J, J)
α = 1./D( J)
DO 5 K = 1, J − 1
β = P (K, J)
¯
U(K, J) = α ∗ β
DO 5 I = 1 , K
5 P (I, K) = P (I, K) −β ∗
¯
U(I, J)
D(1) = P (1, 1)
Замечание 6.5. В любом случае верхнетреугольная часть матрицы
P теряется, так как на ее месте появляется ве рхнетреугольная час ть мат-
рицы
¯
U, при этом единицы, соответствующие диагонали матрицы
¯
U, только
подразумеваются, а на их ме сте пишутся диагональные элементы матрицы
D. Для поддиагональной части массива P память не выделяется.
95
Страницы
- « первая
- ‹ предыдущая
- …
- 93
- 94
- 95
- 96
- 97
- …
- следующая ›
- последняя »
