version 1.1, 2015/11/26 11:44:19
|
version 1.6, 2023/08/07 08:39:04
|
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 DPOTRF2( UPLO, N, A, LDA, INFO ) |
* RECURSIVE SUBROUTINE DPOTRF2( UPLO, N, A, LDA, INFO ) |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
* CHARACTER UPLO |
* CHARACTER UPLO |
* INTEGER INFO, LDA, N |
* INTEGER INFO, LDA, N |
Line 17
|
Line 17
|
* .. Array Arguments .. |
* .. Array Arguments .. |
* REAL A( LDA, * ) |
* REAL A( LDA, * ) |
* .. |
* .. |
* |
* |
* |
* |
*> \par Purpose: |
*> \par Purpose: |
* ============= |
* ============= |
Line 41
|
Line 41
|
*> |
*> |
*> The subroutine calls itself to factor A11. Update and scale A21 |
*> The subroutine calls itself to factor A11. Update and scale A21 |
*> or A12, update A22 then calls itself to factor A22. |
*> or A12, update A22 then calls itself to factor A22. |
*> |
*> |
*> \endverbatim |
*> \endverbatim |
* |
* |
* Arguments: |
* Arguments: |
Line 94
|
Line 94
|
* 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 November 2015 |
|
* |
* |
*> \ingroup doublePOcomputational |
*> \ingroup doublePOcomputational |
* |
* |
* ===================================================================== |
* ===================================================================== |
RECURSIVE SUBROUTINE DPOTRF2( UPLO, N, A, LDA, INFO ) |
RECURSIVE SUBROUTINE DPOTRF2( UPLO, N, A, LDA, INFO ) |
* |
* |
* -- LAPACK computational routine (version 3.6.0) -- |
* -- LAPACK computational routine -- |
* -- 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..-- |
* November 2015 |
|
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER UPLO |
CHARACTER UPLO |
Line 126
|
Line 123
|
PARAMETER ( ONE = 1.0D+0, ZERO = 0.0D+0 ) |
PARAMETER ( ONE = 1.0D+0, ZERO = 0.0D+0 ) |
* .. |
* .. |
* .. Local Scalars .. |
* .. Local Scalars .. |
LOGICAL UPPER |
LOGICAL UPPER |
INTEGER N1, N2, IINFO |
INTEGER N1, N2, IINFO |
* .. |
* .. |
* .. External Functions .. |
* .. External Functions .. |
Line 189
|
Line 186
|
IF ( IINFO.NE.0 ) THEN |
IF ( IINFO.NE.0 ) THEN |
INFO = IINFO |
INFO = IINFO |
RETURN |
RETURN |
END IF |
END IF |
* |
* |
* Compute the Cholesky factorization A = U**T*U |
* Compute the Cholesky factorization A = U**T*U |
* |
* |
Line 198
|
Line 195
|
* Update and scale A12 |
* Update and scale A12 |
* |
* |
CALL DTRSM( 'L', 'U', 'T', 'N', N1, N2, ONE, |
CALL DTRSM( 'L', 'U', 'T', 'N', N1, N2, ONE, |
$ A( 1, 1 ), LDA, A( 1, N1+1 ), LDA ) |
$ A( 1, 1 ), LDA, A( 1, N1+1 ), LDA ) |
* |
* |
* Update and factor A22 |
* Update and factor A22 |
* |
* |
CALL DSYRK( UPLO, 'T', N2, N1, -ONE, A( 1, N1+1 ), LDA, |
CALL DSYRK( UPLO, 'T', N2, N1, -ONE, A( 1, N1+1 ), LDA, |
$ ONE, A( N1+1, N1+1 ), LDA ) |
$ ONE, A( N1+1, N1+1 ), LDA ) |
CALL DPOTRF2( UPLO, N2, A( N1+1, N1+1 ), LDA, IINFO ) |
CALL DPOTRF2( UPLO, N2, A( N1+1, N1+1 ), LDA, IINFO ) |
Line 216
|
Line 213
|
* |
* |
* Update and scale A21 |
* Update and scale A21 |
* |
* |
CALL DTRSM( 'R', 'L', 'T', 'N', N2, N1, ONE, |
CALL DTRSM( 'R', 'L', 'T', 'N', N2, N1, ONE, |
$ A( 1, 1 ), LDA, A( N1+1, 1 ), LDA ) |
$ A( 1, 1 ), LDA, A( N1+1, 1 ), LDA ) |
* |
* |
* Update and factor A22 |
* Update and factor A22 |