*> \verbatim
*> INFO is INTEGER
*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
+*> < 0: if INFO = -i, the i-th argument had an illegal value.
*> \endverbatim
*
* Authors:
*
* .. Local Scalars ..
LOGICAL LQUERY, UPPER
- INTEGER J, LWKOPT, IINFO
+ INTEGER J, LWKOPT
INTEGER NB, MJ, NJ, K1, K2, J1, J2, J3, JB
COMPLEX ALPHA
* ..
IPIV( 1 ) = 1
IF ( N.EQ.1 ) THEN
A( 1, 1 ) = REAL( A( 1, 1 ) )
- IF ( A( 1, 1 ).EQ.ZERO ) THEN
- INFO = 1
- END IF
RETURN
END IF
*
*
CALL CLAHEF_AA( UPLO, 2-K1, N-J, JB,
$ A( MAX(1, J), J+1 ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ),
- $ IINFO )
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
*
CALL CLAHEF_AA( UPLO, 2-K1, N-J, JB,
$ A( J+1, MAX(1, J) ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ), IINFO)
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
* ===========
*
* SUBROUTINE CLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
-* H, LDH, WORK, INFO )
+* H, LDH, WORK )
*
* .. Scalar Arguments ..
* CHARACTER UPLO
-* INTEGER J1, M, NB, LDA, LDH, INFO
+* INTEGER J1, M, NB, LDA, LDH
* ..
* .. Array Arguments ..
* INTEGER IPIV( * )
*> WORK is COMPLEX workspace, dimension (M).
*> \endverbatim
*>
-*> \param[out] INFO
-*> \verbatim
-*> INFO is INTEGER
-*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
-*> \endverbatim
*
* Authors:
* ========
*
* =====================================================================
SUBROUTINE CLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
- $ H, LDH, WORK, INFO )
+ $ H, LDH, WORK )
*
* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
*
* .. Scalar Arguments ..
CHARACTER UPLO
- INTEGER M, NB, J1, LDA, LDH, INFO
+ INTEGER M, NB, J1, LDA, LDH
* ..
* .. Array Arguments ..
INTEGER IPIV( * )
* ..
* .. Executable Statements ..
*
- INFO = 0
J = 1
*
* K1 is the first column of the panel to be factorized
* Set A(J, J+1) = T(J, J+1)
*
A( K, J+1 ) = WORK( 2 )
- IF( (A( K, J ).EQ.ZERO ) .AND. (A( K, J+1 ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( K-1, J ).EQ.ZERO)) ) THEN
- IF(INFO .EQ. 0) THEN
- INFO = J
- END IF
- END IF
*
IF( J.LT.NB ) THEN
*
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
- ELSE
- IF( (A( K, J ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J-1, J ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 10
* Set A(J+1, J) = T(J+1, J)
*
A( J+1, K ) = WORK( 2 )
- IF( (A( J, K ).EQ.ZERO) .AND. (A( J+1, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO .EQ. 0)
- $ INFO = J
- END IF
*
IF( J.LT.NB ) THEN
*
CALL CLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
- ELSE
- IF( (A( J, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 30
* ===========
*
* SUBROUTINE CLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
-* H, LDH, WORK, INFO )
+* H, LDH, WORK )
*
* .. Scalar Arguments ..
* CHARACTER UPLO
-* INTEGER J1, M, NB, LDA, LDH, INFO
+* INTEGER J1, M, NB, LDA, LDH
* ..
* .. Array Arguments ..
* INTEGER IPIV( * )
*> WORK is REAL workspace, dimension (M).
*> \endverbatim
*>
-*> \param[out] INFO
-*> \verbatim
-*> INFO is INTEGER
-*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
-*> \endverbatim
*
* Authors:
* ========
*
* =====================================================================
SUBROUTINE CLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
- $ H, LDH, WORK, INFO )
+ $ H, LDH, WORK )
*
* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
*
* .. Scalar Arguments ..
CHARACTER UPLO
- INTEGER M, NB, J1, LDA, LDH, INFO
+ INTEGER M, NB, J1, LDA, LDH
* ..
* .. Array Arguments ..
INTEGER IPIV( * )
* ..
* .. Executable Statements ..
*
- INFO = 0
J = 1
*
* K1 is the first column of the panel to be factorized
* Set A(J, J+1) = T(J, J+1)
*
A( K, J+1 ) = WORK( 2 )
- IF( (A( K, J ).EQ.ZERO ) .AND. (A( K, J+1 ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( K-1, J ).EQ.ZERO)) ) THEN
- IF(INFO .EQ. 0) THEN
- INFO = J
- ENDIF
- END IF
*
IF( J.LT.NB ) THEN
*
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
- ELSE
- IF( (A( K, J ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J-1, J ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 10
* Set A(J+1, J) = T(J+1, J)
*
A( J+1, K ) = WORK( 2 )
- IF( (A( J, K ).EQ.ZERO) .AND. (A( J+1, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO .EQ. 0)
- $ INFO = J
- END IF
*
IF( J.LT.NB ) THEN
*
CALL CLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
- ELSE
- IF( (A( J, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 30
*> \verbatim
*> INFO is INTEGER
*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
+*> < 0: if INFO = -i, the i-th argument had an illegal value.
*> \endverbatim
*
* Authors:
*
* .. Local Scalars ..
LOGICAL LQUERY, UPPER
- INTEGER J, LWKOPT, IINFO
+ INTEGER J, LWKOPT
INTEGER NB, MJ, NJ, K1, K2, J1, J2, J3, JB
COMPLEX ALPHA
* ..
ENDIF
IPIV( 1 ) = 1
IF ( N.EQ.1 ) THEN
- IF ( A( 1, 1 ).EQ.ZERO ) THEN
- INFO = 1
- END IF
RETURN
END IF
*
*
CALL CLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( MAX(1, J), J+1 ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ),
- $ IINFO )
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
*
CALL CLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( J+1, MAX(1, J) ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ), IINFO)
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
* ===========
*
* SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
-* H, LDH, WORK, INFO )
+* H, LDH, WORK )
*
* .. Scalar Arguments ..
* CHARACTER UPLO
-* INTEGER J1, M, NB, LDA, LDH, INFO
+* INTEGER J1, M, NB, LDA, LDH
* ..
* .. Array Arguments ..
* INTEGER IPIV( * )
*> WORK is DOUBLE PRECISION workspace, dimension (M).
*> \endverbatim
*>
-*> \param[out] INFO
-*> \verbatim
-*> INFO is INTEGER
-*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
-*> \endverbatim
*
* Authors:
* ========
*
* =====================================================================
SUBROUTINE DLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
- $ H, LDH, WORK, INFO )
+ $ H, LDH, WORK )
*
* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
*
* .. Scalar Arguments ..
CHARACTER UPLO
- INTEGER M, NB, J1, LDA, LDH, INFO
+ INTEGER M, NB, J1, LDA, LDH
* ..
* .. Array Arguments ..
INTEGER IPIV( * )
* ..
* .. Executable Statements ..
*
- INFO = 0
J = 1
*
* K1 is the first column of the panel to be factorized
* Set A(J, J+1) = T(J, J+1)
*
A( K, J+1 ) = WORK( 2 )
- IF( (A( K, J ).EQ.ZERO ) .AND. (A( K, J+1 ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( K-1, J ).EQ.ZERO)) ) THEN
- IF(INFO .EQ. 0) THEN
- INFO = J
- ENDIF
- END IF
*
IF( J.LT.NB ) THEN
*
CALL DLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
- ELSE
- IF( (A( K, J ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J-1, J ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 10
* Set A(J+1, J) = T(J+1, J)
*
A( J+1, K ) = WORK( 2 )
- IF( (A( J, K ).EQ.ZERO) .AND. (A( J+1, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO .EQ. 0)
- $ INFO = J
- END IF
*
IF( J.LT.NB ) THEN
*
CALL DLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
- ELSE
- IF( (A( J, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 30
*> \verbatim
*> INFO is INTEGER
*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
+*> < 0: if INFO = -i, the i-th argument had an illegal value.
*> \endverbatim
*
* Authors:
*
* .. Local Scalars ..
LOGICAL LQUERY, UPPER
- INTEGER J, LWKOPT, IINFO
+ INTEGER J, LWKOPT
INTEGER NB, MJ, NJ, K1, K2, J1, J2, J3, JB
DOUBLE PRECISION ALPHA
* ..
ENDIF
IPIV( 1 ) = 1
IF ( N.EQ.1 ) THEN
- IF ( A( 1, 1 ).EQ.ZERO ) THEN
- INFO = 1
- END IF
RETURN
END IF
*
*
CALL DLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( MAX(1, J), J+1 ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ),
- $ IINFO )
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
*
CALL DLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( J+1, MAX(1, J) ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ), IINFO)
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
* ===========
*
* SUBROUTINE SLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
-* H, LDH, WORK, INFO )
+* H, LDH, WORK )
*
* .. Scalar Arguments ..
* CHARACTER UPLO
-* INTEGER J1, M, NB, LDA, LDH, INFO
+* INTEGER J1, M, NB, LDA, LDH
* ..
* .. Array Arguments ..
* INTEGER IPIV( * )
*> WORK is REAL workspace, dimension (M).
*> \endverbatim
*>
-*> \param[out] INFO
-*> \verbatim
-*> INFO is INTEGER
-*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
-*> \endverbatim
*
* Authors:
* ========
*
* =====================================================================
SUBROUTINE SLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
- $ H, LDH, WORK, INFO )
+ $ H, LDH, WORK )
*
* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
*
* .. Scalar Arguments ..
CHARACTER UPLO
- INTEGER M, NB, J1, LDA, LDH, INFO
+ INTEGER M, NB, J1, LDA, LDH
* ..
* .. Array Arguments ..
INTEGER IPIV( * )
* ..
* .. Executable Statements ..
*
- INFO = 0
J = 1
*
* K1 is the first column of the panel to be factorized
* Set A(J, J+1) = T(J, J+1)
*
A( K, J+1 ) = WORK( 2 )
- IF( (A( K, J ).EQ.ZERO ) .AND. (A( K, J+1 ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( K-1, J ).EQ.ZERO)) ) THEN
- IF(INFO .EQ. 0) THEN
- INFO = J
- ENDIF
- END IF
*
IF( J.LT.NB ) THEN
*
CALL SLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
- ELSE
- IF( (A( K, J ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J-1, J ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 10
* Set A(J+1, J) = T(J+1, J)
*
A( J+1, K ) = WORK( 2 )
- IF( (A( J, K ).EQ.ZERO) .AND. (A( J+1, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO .EQ. 0)
- $ INFO = J
- END IF
*
IF( J.LT.NB ) THEN
*
CALL SLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
- ELSE
- IF( (A( J, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 30
*> \verbatim
*> INFO is INTEGER
*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
+*> < 0: if INFO = -i, the i-th argument had an illegal value.
*> \endverbatim
*
* Authors:
*
* .. Local Scalars ..
LOGICAL LQUERY, UPPER
- INTEGER J, LWKOPT, IINFO
+ INTEGER J, LWKOPT
INTEGER NB, MJ, NJ, K1, K2, J1, J2, J3, JB
REAL ALPHA
* ..
ENDIF
IPIV( 1 ) = 1
IF ( N.EQ.1 ) THEN
- IF ( A( 1, 1 ).EQ.ZERO ) THEN
- INFO = 1
- END IF
RETURN
END IF
*
*
CALL SLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( MAX(1, J), J+1 ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ),
- $ IINFO )
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
*
CALL SLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( J+1, MAX(1, J) ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ), IINFO)
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
*
* .. Local Scalars ..
LOGICAL LQUERY, UPPER
- INTEGER J, LWKOPT, IINFO
+ INTEGER J, LWKOPT
INTEGER NB, MJ, NJ, K1, K2, J1, J2, J3, JB
COMPLEX*16 ALPHA
* ..
IPIV( 1 ) = 1
IF ( N.EQ.1 ) THEN
A( 1, 1 ) = DBLE( A( 1, 1 ) )
- IF ( A( 1, 1 ).EQ.ZERO ) THEN
- INFO = 1
- END IF
RETURN
END IF
*
*
CALL ZLAHEF_AA( UPLO, 2-K1, N-J, JB,
$ A( MAX(1, J), J+1 ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ),
- $ IINFO )
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
*
CALL ZLAHEF_AA( UPLO, 2-K1, N-J, JB,
$ A( J+1, MAX(1, J) ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ), IINFO)
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
* ===========
*
* SUBROUTINE ZLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
-* H, LDH, WORK, INFO )
+* H, LDH, WORK )
*
* .. Scalar Arguments ..
* CHARACTER UPLO
-* INTEGER J1, M, NB, LDA, LDH, INFO
+* INTEGER J1, M, NB, LDA, LDH
* ..
* .. Array Arguments ..
* INTEGER IPIV( * )
*> WORK is COMPLEX*16 workspace, dimension (M).
*> \endverbatim
*>
-*> \param[out] INFO
-*> \verbatim
-*> INFO is INTEGER
-*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
-*> \endverbatim
*
* Authors:
* ========
*
* =====================================================================
SUBROUTINE ZLAHEF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
- $ H, LDH, WORK, INFO )
+ $ H, LDH, WORK )
*
* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
*
* .. Scalar Arguments ..
CHARACTER UPLO
- INTEGER M, NB, J1, LDA, LDH, INFO
+ INTEGER M, NB, J1, LDA, LDH
* ..
* .. Array Arguments ..
INTEGER IPIV( * )
* ..
* .. Executable Statements ..
*
- INFO = 0
J = 1
*
* K1 is the first column of the panel to be factorized
* Set A(J, J+1) = T(J, J+1)
*
A( K, J+1 ) = WORK( 2 )
- IF( (A( K, J ).EQ.ZERO ) .AND. (A( K, J+1 ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( K-1, J ).EQ.ZERO)) ) THEN
- IF(INFO .EQ. 0) THEN
- INFO = J
- END IF
- END IF
*
IF( J.LT.NB ) THEN
*
CALL ZLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
- ELSE
- IF( (A( K, J ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J-1, J ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 10
* Set A(J+1, J) = T(J+1, J)
*
A( J+1, K ) = WORK( 2 )
- IF( (A( J, K ).EQ.ZERO) .AND. (A( J+1, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO .EQ. 0)
- $ INFO = J
- END IF
*
IF( J.LT.NB ) THEN
*
CALL ZLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
- ELSE
- IF( (A( J, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 30
* ===========
*
* SUBROUTINE ZLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
-* H, LDH, WORK, INFO )
+* H, LDH, WORK )
*
* .. Scalar Arguments ..
* CHARACTER UPLO
-* INTEGER J1, M, NB, LDA, LDH, INFO
+* INTEGER J1, M, NB, LDA, LDH
* ..
* .. Array Arguments ..
* INTEGER IPIV( * )
*> WORK is COMPLEX*16 workspace, dimension (M).
*> \endverbatim
*>
-*> \param[out] INFO
-*> \verbatim
-*> INFO is INTEGER
-*> = 0: successful exit
-*> < 0: if INFO = -i, the i-th argument had an illegal value
-*> > 0: if INFO = i, D(i,i) is exactly zero. The factorization
-*> has been completed, but the block diagonal matrix D is
-*> exactly singular, and division by zero will occur if it
-*> is used to solve a system of equations.
-*> \endverbatim
*
* Authors:
* ========
*
* =====================================================================
SUBROUTINE ZLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
- $ H, LDH, WORK, INFO )
+ $ H, LDH, WORK )
*
* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
*
* .. Scalar Arguments ..
CHARACTER UPLO
- INTEGER M, NB, J1, LDA, LDH, INFO
+ INTEGER M, NB, J1, LDA, LDH
* ..
* .. Array Arguments ..
INTEGER IPIV( * )
* ..
* .. Executable Statements ..
*
- INFO = 0
J = 1
*
* K1 is the first column of the panel to be factorized
* Set A(J, J+1) = T(J, J+1)
*
A( K, J+1 ) = WORK( 2 )
- IF( (A( K, J ).EQ.ZERO ) .AND. (A( K, J+1 ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( K-1, J ).EQ.ZERO)) ) THEN
- IF(INFO .EQ. 0) THEN
- INFO = J
- ENDIF
- END IF
*
IF( J.LT.NB ) THEN
*
CALL ZLASET( 'Full', 1, M-J-1, ZERO, ZERO,
$ A( K, J+2 ), LDA)
END IF
- ELSE
- IF( (A( K, J ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J-1, J ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 10
* Set A(J+1, J) = T(J+1, J)
*
A( J+1, K ) = WORK( 2 )
- IF( (A( J, K ).EQ.ZERO) .AND. (A( J+1, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO .EQ. 0)
- $ INFO = J
- END IF
*
IF( J.LT.NB ) THEN
*
CALL ZLASET( 'Full', M-J-1, 1, ZERO, ZERO,
$ A( J+2, K ), LDA )
END IF
- ELSE
- IF( (A( J, K ).EQ.ZERO) .AND.
- $ ((K.EQ.1) .OR. (A( J, K-1 ).EQ.ZERO)) ) THEN
- IF (INFO.EQ.0) THEN
- INFO = J
- END IF
- END IF
END IF
J = J + 1
GO TO 30
*
* .. Local Scalars ..
LOGICAL LQUERY, UPPER
- INTEGER J, LWKOPT, IINFO
+ INTEGER J, LWKOPT
INTEGER NB, MJ, NJ, K1, K2, J1, J2, J3, JB
COMPLEX*16 ALPHA
* ..
ENDIF
IPIV( 1 ) = 1
IF ( N.EQ.1 ) THEN
- IF ( A( 1, 1 ).EQ.ZERO ) THEN
- INFO = 1
- END IF
RETURN
END IF
*
*
CALL ZLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( MAX(1, J), J+1 ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ),
- $ IINFO )
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*
*
CALL ZLASYF_AA( UPLO, 2-K1, N-J, JB,
$ A( J+1, MAX(1, J) ), LDA,
- $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ), IINFO)
- IF( (IINFO.GT.0) .AND. (INFO.EQ.0) ) THEN
- INFO = IINFO+J
- ENDIF
+ $ IPIV( J+1 ), WORK, N, WORK( N*NB+1 ) )
*
* Ajust IPIV and apply it back (J-th step picks (J+1)-th pivot)
*