version 1.4, 2018/05/29 07:18:37
|
version 1.5, 2020/05/21 21:46:11
|
Line 37
|
Line 37
|
*> ZSYTRF_AA computes the factorization of a complex symmetric matrix A |
*> ZSYTRF_AA computes the factorization of a complex symmetric matrix A |
*> using the Aasen's algorithm. The form of the factorization is |
*> using the Aasen's algorithm. The form of the factorization is |
*> |
*> |
*> A = U*T*U**T or A = L*T*L**T |
*> A = U**T*T*U or A = L*T*L**T |
*> |
*> |
*> where U (or L) is a product of permutation and unit upper (lower) |
*> where U (or L) is a product of permutation and unit upper (lower) |
*> triangular matrices, and T is a complex symmetric tridiagonal matrix. |
*> triangular matrices, and T is a complex symmetric tridiagonal matrix. |
Line 223
|
Line 223
|
IF( UPPER ) THEN |
IF( UPPER ) THEN |
* |
* |
* ..................................................... |
* ..................................................... |
* Factorize A as L*D*L**T using the upper triangle of A |
* Factorize A as U**T*D*U using the upper triangle of A |
* ..................................................... |
* ..................................................... |
* |
* |
* Copy first row A(1, 1:N) into H(1:n) (stored in WORK(1:N)) |
* Copy first row A(1, 1:N) into H(1:n) (stored in WORK(1:N)) |
Line 256
|
Line 256
|
$ A( MAX(1, J), J+1 ), LDA, |
$ A( MAX(1, J), J+1 ), LDA, |
$ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) ) |
$ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) ) |
* |
* |
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot) |
* Adjust IPIV and apply it back (J-th step picks (J+1)-th pivot) |
* |
* |
DO J2 = J+2, MIN(N, J+JB+1) |
DO J2 = J+2, MIN(N, J+JB+1) |
IPIV( J2 ) = IPIV( J2 ) + J |
IPIV( J2 ) = IPIV( J2 ) + J |
Line 375
|
Line 375
|
$ A( J+1, MAX(1, J) ), LDA, |
$ A( J+1, MAX(1, J) ), LDA, |
$ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) ) |
$ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) ) |
* |
* |
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot) |
* Adjust IPIV and apply it back (J-th step picks (J+1)-th pivot) |
* |
* |
DO J2 = J+2, MIN(N, J+JB+1) |
DO J2 = J+2, MIN(N, J+JB+1) |
IPIV( J2 ) = IPIV( J2 ) + J |
IPIV( J2 ) = IPIV( J2 ) + J |