version 1.2, 2016/08/27 15:27:12
|
version 1.4, 2017/06/17 10:54:11
|
Line 2
|
Line 2
|
* |
* |
* =========== DOCUMENTATION =========== |
* =========== DOCUMENTATION =========== |
* |
* |
* Online html documentation available at |
* Online html documentation available at |
* http://www.netlib.org/lapack/explore-html/ |
* http://www.netlib.org/lapack/explore-html/ |
* |
* |
* Definition: |
* Definition: |
* =========== |
* =========== |
* |
* |
* RECURSIVE SUBROUTINE ZGETRF2( M, N, A, LDA, IPIV, INFO ) |
* RECURSIVE SUBROUTINE ZGETRF2( M, N, A, LDA, IPIV, INFO ) |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
* INTEGER INFO, LDA, M, N |
* INTEGER INFO, LDA, M, N |
* .. |
* .. |
Line 17
|
Line 17
|
* INTEGER IPIV( * ) |
* INTEGER IPIV( * ) |
* COMPLEX*16 A( LDA, * ) |
* COMPLEX*16 A( LDA, * ) |
* .. |
* .. |
* |
* |
* |
* |
*> \par Purpose: |
*> \par Purpose: |
* ============= |
* ============= |
Line 35
|
Line 35
|
*> |
*> |
*> This is the recursive version of the algorithm. It divides |
*> This is the recursive version of the algorithm. It divides |
*> the matrix into four submatrices: |
*> the matrix into four submatrices: |
*> |
*> |
*> [ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 |
*> [ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 |
*> A = [ -----|----- ] with n1 = min(m,n)/2 |
*> A = [ -----|----- ] with n1 = min(m,n)/2 |
*> [ A21 | A22 ] n2 = n-n1 |
*> [ A21 | A22 ] n2 = n-n1 |
*> |
*> |
*> [ A11 ] |
*> [ A11 ] |
*> The subroutine calls itself to factor [ --- ], |
*> The subroutine calls itself to factor [ --- ], |
*> [ A12 ] |
*> [ A12 ] |
Line 101
|
Line 101
|
* Authors: |
* Authors: |
* ======== |
* ======== |
* |
* |
*> \author Univ. of Tennessee |
*> \author Univ. of Tennessee |
*> \author Univ. of California Berkeley |
*> \author Univ. of California Berkeley |
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date June 2016 |
*> \date June 2016 |
* |
* |
Line 113
|
Line 113
|
* ===================================================================== |
* ===================================================================== |
RECURSIVE SUBROUTINE ZGETRF2( M, N, A, LDA, IPIV, INFO ) |
RECURSIVE SUBROUTINE ZGETRF2( M, N, A, LDA, IPIV, INFO ) |
* |
* |
* -- LAPACK computational routine (version 3.6.1) -- |
* -- LAPACK computational routine (version 3.7.0) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* June 2016 |
* June 2016 |
Line 241
|
Line 241
|
* |
* |
* Solve A12 |
* Solve A12 |
* |
* |
CALL ZTRSM( 'L', 'L', 'N', 'U', N1, N2, ONE, A, LDA, |
CALL ZTRSM( 'L', 'L', 'N', 'U', N1, N2, ONE, A, LDA, |
$ A( 1, N1+1 ), LDA ) |
$ A( 1, N1+1 ), LDA ) |
* |
* |
* Update A22 |
* Update A22 |
* |
* |
CALL ZGEMM( 'N', 'N', M-N1, N2, N1, -ONE, A( N1+1, 1 ), LDA, |
CALL ZGEMM( 'N', 'N', M-N1, N2, N1, -ONE, A( N1+1, 1 ), LDA, |
$ A( 1, N1+1 ), LDA, ONE, A( N1+1, N1+1 ), LDA ) |
$ A( 1, N1+1 ), LDA, ONE, A( N1+1, N1+1 ), LDA ) |
* |
* |
* Factor A22 |
* Factor A22 |