alaerh.f
来自「famous linear algebra library (LAPACK) p」· F 代码 · 共 911 行 · 第 1/3 页
F
911 行
*
ELSE IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
*
WRITE( NOUT, FMT = 9956 )SUBNAM, INFO, UPLO, M, N5, IMAT
*
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
$ LSAMEN( 3, C3, 'CON' ) ) THEN
*
WRITE( NOUT, FMT = 9960 )SUBNAM, INFO, UPLO, M, IMAT
*
ELSE
*
WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, M, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'SY' ) .OR. LSAMEN( 2, P2, 'HE' ) ) THEN
*
* xHE, or xSY: Symmetric or Hermitian indefinite matrices
*
UPLO = OPTS( 1: 1 )
IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9980 )SUBNAM, INFO, INFOE, UPLO, M,
$ N5, IMAT
ELSE
WRITE( NOUT, FMT = 9956 )SUBNAM, INFO, UPLO, M, N5, IMAT
END IF
IF( INFO.NE.0 )
$ WRITE( NOUT, FMT = 9949 )
*
ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9979 )SUBNAM, INFO, INFOE, UPLO, N,
$ N5, IMAT
ELSE
WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, N, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9990 )SUBNAM, INFO, INFOE,
$ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
ELSE
WRITE( NOUT, FMT = 9995 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), N, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
$ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) )
$ THEN
*
WRITE( NOUT, FMT = 9960 )SUBNAM, INFO, UPLO, M, IMAT
*
ELSE
*
WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, M, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'PP' ) .OR. LSAMEN( 2, P2, 'SP' ) .OR.
$ LSAMEN( 2, P2, 'HP' ) ) THEN
*
* xPP, xHP, or xSP: Symmetric or Hermitian packed matrices
*
UPLO = OPTS( 1: 1 )
IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9983 )SUBNAM, INFO, INFOE, UPLO, M,
$ IMAT
ELSE
WRITE( NOUT, FMT = 9960 )SUBNAM, INFO, UPLO, M, IMAT
END IF
IF( INFO.NE.0 )
$ WRITE( NOUT, FMT = 9949 )
*
ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9979 )SUBNAM, INFO, INFOE, UPLO, N,
$ N5, IMAT
ELSE
WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, N, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9990 )SUBNAM, INFO, INFOE,
$ OPTS( 1: 1 ), OPTS( 2: 2 ), N, N5, IMAT
ELSE
WRITE( NOUT, FMT = 9995 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), N, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
$ LSAMEN( 3, C3, 'TRI' ) .OR. LSAMEN( 3, C3, 'CON' ) )
$ THEN
*
WRITE( NOUT, FMT = 9960 )SUBNAM, INFO, UPLO, M, IMAT
*
ELSE
*
WRITE( NOUT, FMT = 9955 )SUBNAM, INFO, UPLO, M, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'PB' ) ) THEN
*
* xPB: Symmetric (Hermitian) positive definite band matrix
*
UPLO = OPTS( 1: 1 )
IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9982 )SUBNAM, INFO, INFOE, UPLO, M,
$ KL, N5, IMAT
ELSE
WRITE( NOUT, FMT = 9958 )SUBNAM, INFO, UPLO, M, KL, N5,
$ IMAT
END IF
IF( INFO.NE.0 )
$ WRITE( NOUT, FMT = 9949 )
*
ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9981 )SUBNAM, INFO, INFOE, UPLO, N,
$ KL, N5, IMAT
ELSE
WRITE( NOUT, FMT = 9957 )SUBNAM, INFO, UPLO, N, KL, N5,
$ IMAT
END IF
*
ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9991 )SUBNAM, INFO, INFOE,
$ OPTS( 1: 1 ), OPTS( 2: 2 ), N, KL, N5, IMAT
ELSE
WRITE( NOUT, FMT = 9996 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), N, KL, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) .OR.
$ LSAMEN( 3, C3, 'CON' ) ) THEN
*
WRITE( NOUT, FMT = 9959 )SUBNAM, INFO, UPLO, M, KL, IMAT
*
ELSE
*
WRITE( NOUT, FMT = 9957 )SUBNAM, INFO, UPLO, M, KL, N5,
$ IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'PT' ) ) THEN
*
* xPT: Positive definite tridiagonal matrices
*
IF( LSAMEN( 3, C3, 'TRF' ) ) THEN
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9987 )SUBNAM, INFO, INFOE, N, IMAT
ELSE
WRITE( NOUT, FMT = 9973 )SUBNAM, INFO, N, IMAT
END IF
IF( INFO.NE.0 )
$ WRITE( NOUT, FMT = 9949 )
*
ELSE IF( LSAMEN( 3, C3, 'SV ' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9984 )SUBNAM, INFO, INFOE, N, N5,
$ IMAT
ELSE
WRITE( NOUT, FMT = 9970 )SUBNAM, INFO, N, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 3, C3, 'SVX' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9994 )SUBNAM, INFO, INFOE,
$ OPTS( 1: 1 ), N, N5, IMAT
ELSE
WRITE( NOUT, FMT = 9999 )SUBNAM, INFO, OPTS( 1: 1 ), N,
$ N5, IMAT
END IF
*
ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
*
IF( LSAME( SUBNAM( 1: 1 ), 'S' ) .OR.
$ LSAME( SUBNAM( 1: 1 ), 'D' ) ) THEN
WRITE( NOUT, FMT = 9973 )SUBNAM, INFO, M, IMAT
ELSE
WRITE( NOUT, FMT = 9969 )SUBNAM, INFO, OPTS( 1: 1 ), M,
$ IMAT
END IF
*
ELSE
*
WRITE( NOUT, FMT = 9963 )SUBNAM, INFO, OPTS( 1: 1 ), M, N5,
$ IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'TR' ) ) THEN
*
* xTR: Triangular matrix
*
IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
WRITE( NOUT, FMT = 9961 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), M, N5, IMAT
ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
WRITE( NOUT, FMT = 9967 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATRS' ) ) THEN
WRITE( NOUT, FMT = 9952 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT
ELSE
WRITE( NOUT, FMT = 9953 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'TP' ) ) THEN
*
* xTP: Triangular packed matrix
*
IF( LSAMEN( 3, C3, 'TRI' ) ) THEN
WRITE( NOUT, FMT = 9962 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), M, IMAT
ELSE IF( LSAMEN( 3, C3, 'CON' ) ) THEN
WRITE( NOUT, FMT = 9967 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), M, IMAT
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATPS' ) ) THEN
WRITE( NOUT, FMT = 9952 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, IMAT
ELSE
WRITE( NOUT, FMT = 9953 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), M, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'TB' ) ) THEN
*
* xTB: Triangular band matrix
*
IF( LSAMEN( 3, C3, 'CON' ) ) THEN
WRITE( NOUT, FMT = 9966 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, IMAT
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATBS' ) ) THEN
WRITE( NOUT, FMT = 9951 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), OPTS( 4: 4 ), M, KL, IMAT
ELSE
WRITE( NOUT, FMT = 9954 )SUBNAM, INFO, OPTS( 1: 1 ),
$ OPTS( 2: 2 ), OPTS( 3: 3 ), M, KL, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'QR' ) ) THEN
*
* xQR: QR factorization
*
IF( LSAMEN( 3, C3, 'QRS' ) ) THEN
WRITE( NOUT, FMT = 9974 )SUBNAM, INFO, M, N, KL, N5, IMAT
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
WRITE( NOUT, FMT = 9978 )SUBNAM, INFO, M, N, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'LQ' ) ) THEN
*
* xLQ: LQ factorization
*
IF( LSAMEN( 3, C3, 'LQS' ) ) THEN
WRITE( NOUT, FMT = 9974 )SUBNAM, INFO, M, N, KL, N5, IMAT
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
WRITE( NOUT, FMT = 9978 )SUBNAM, INFO, M, N, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'QL' ) ) THEN
*
* xQL: QL factorization
*
IF( LSAMEN( 3, C3, 'QLS' ) ) THEN
WRITE( NOUT, FMT = 9974 )SUBNAM, INFO, M, N, KL, N5, IMAT
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
WRITE( NOUT, FMT = 9978 )SUBNAM, INFO, M, N, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'RQ' ) ) THEN
*
* xRQ: RQ factorization
*
IF( LSAMEN( 3, C3, 'RQS' ) ) THEN
WRITE( NOUT, FMT = 9974 )SUBNAM, INFO, M, N, KL, N5, IMAT
ELSE IF( LSAMEN( 5, SUBNAM( 2: 6 ), 'LATMS' ) ) THEN
WRITE( NOUT, FMT = 9978 )SUBNAM, INFO, M, N, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'LU' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
WRITE( NOUT, FMT = 9988 )SUBNAM, INFO, INFOE, M, N, N5,
$ IMAT
ELSE
WRITE( NOUT, FMT = 9975 )SUBNAM, INFO, M, N, N5, IMAT
END IF
*
ELSE IF( LSAMEN( 2, P2, 'CH' ) ) THEN
*
IF( INFO.NE.INFOE .AND. INFOE.NE.0 ) THEN
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?