--- rpl/lapack/lapack/dpbtrs.f 2010/08/06 15:28:45 1.3
+++ rpl/lapack/lapack/dpbtrs.f 2023/08/07 08:39:03 1.18
@@ -1,9 +1,127 @@
+*> \brief \b DPBTRS
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+*> \htmlonly
+*> Download DPBTRS + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
+*> [TXT]
+*> \endhtmlonly
+*
+* Definition:
+* ===========
+*
+* SUBROUTINE DPBTRS( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO )
+*
+* .. Scalar Arguments ..
+* CHARACTER UPLO
+* INTEGER INFO, KD, LDAB, LDB, N, NRHS
+* ..
+* .. Array Arguments ..
+* DOUBLE PRECISION AB( LDAB, * ), B( LDB, * )
+* ..
+*
+*
+*> \par Purpose:
+* =============
+*>
+*> \verbatim
+*>
+*> DPBTRS solves a system of linear equations A*X = B with a symmetric
+*> positive definite band matrix A using the Cholesky factorization
+*> A = U**T*U or A = L*L**T computed by DPBTRF.
+*> \endverbatim
+*
+* Arguments:
+* ==========
+*
+*> \param[in] UPLO
+*> \verbatim
+*> UPLO is CHARACTER*1
+*> = 'U': Upper triangular factor stored in AB;
+*> = 'L': Lower triangular factor stored in AB.
+*> \endverbatim
+*>
+*> \param[in] N
+*> \verbatim
+*> N is INTEGER
+*> The order of the matrix A. N >= 0.
+*> \endverbatim
+*>
+*> \param[in] KD
+*> \verbatim
+*> KD is INTEGER
+*> The number of superdiagonals of the matrix A if UPLO = 'U',
+*> or the number of subdiagonals if UPLO = 'L'. KD >= 0.
+*> \endverbatim
+*>
+*> \param[in] NRHS
+*> \verbatim
+*> NRHS is INTEGER
+*> The number of right hand sides, i.e., the number of columns
+*> of the matrix B. NRHS >= 0.
+*> \endverbatim
+*>
+*> \param[in] AB
+*> \verbatim
+*> AB is DOUBLE PRECISION array, dimension (LDAB,N)
+*> The triangular factor U or L from the Cholesky factorization
+*> A = U**T*U or A = L*L**T of the band matrix A, stored in the
+*> first KD+1 rows of the array. The j-th column of U or L is
+*> stored in the j-th column of the array AB as follows:
+*> if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
+*> if UPLO ='L', AB(1+i-j,j) = L(i,j) for j<=i<=min(n,j+kd).
+*> \endverbatim
+*>
+*> \param[in] LDAB
+*> \verbatim
+*> LDAB is INTEGER
+*> The leading dimension of the array AB. LDAB >= KD+1.
+*> \endverbatim
+*>
+*> \param[in,out] B
+*> \verbatim
+*> B is DOUBLE PRECISION array, dimension (LDB,NRHS)
+*> On entry, the right hand side matrix B.
+*> On exit, the solution matrix X.
+*> \endverbatim
+*>
+*> \param[in] LDB
+*> \verbatim
+*> LDB is INTEGER
+*> The leading dimension of the array B. LDB >= max(1,N).
+*> \endverbatim
+*>
+*> \param[out] INFO
+*> \verbatim
+*> INFO is INTEGER
+*> = 0: successful exit
+*> < 0: if INFO = -i, the i-th argument had an illegal value
+*> \endverbatim
+*
+* Authors:
+* ========
+*
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
+*
+*> \ingroup doubleOTHERcomputational
+*
+* =====================================================================
SUBROUTINE DPBTRS( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO )
*
-* -- LAPACK routine (version 3.2) --
+* -- LAPACK computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* November 2006
*
* .. Scalar Arguments ..
CHARACTER UPLO
@@ -13,53 +131,6 @@
DOUBLE PRECISION AB( LDAB, * ), B( LDB, * )
* ..
*
-* Purpose
-* =======
-*
-* DPBTRS solves a system of linear equations A*X = B with a symmetric
-* positive definite band matrix A using the Cholesky factorization
-* A = U**T*U or A = L*L**T computed by DPBTRF.
-*
-* Arguments
-* =========
-*
-* UPLO (input) CHARACTER*1
-* = 'U': Upper triangular factor stored in AB;
-* = 'L': Lower triangular factor stored in AB.
-*
-* N (input) INTEGER
-* The order of the matrix A. N >= 0.
-*
-* KD (input) INTEGER
-* The number of superdiagonals of the matrix A if UPLO = 'U',
-* or the number of subdiagonals if UPLO = 'L'. KD >= 0.
-*
-* NRHS (input) INTEGER
-* The number of right hand sides, i.e., the number of columns
-* of the matrix B. NRHS >= 0.
-*
-* AB (input) DOUBLE PRECISION array, dimension (LDAB,N)
-* The triangular factor U or L from the Cholesky factorization
-* A = U**T*U or A = L*L**T of the band matrix A, stored in the
-* first KD+1 rows of the array. The j-th column of U or L is
-* stored in the j-th column of the array AB as follows:
-* if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j;
-* if UPLO ='L', AB(1+i-j,j) = L(i,j) for j<=i<=min(n,j+kd).
-*
-* LDAB (input) INTEGER
-* The leading dimension of the array AB. LDAB >= KD+1.
-*
-* B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
-* On entry, the right hand side matrix B.
-* On exit, the solution matrix X.
-*
-* LDB (input) INTEGER
-* The leading dimension of the array B. LDB >= max(1,N).
-*
-* INFO (output) INTEGER
-* = 0: successful exit
-* < 0: if INFO = -i, the i-th argument had an illegal value
-*
* =====================================================================
*
* .. Local Scalars ..
@@ -107,11 +178,11 @@
*
IF( UPPER ) THEN
*
-* Solve A*X = B where A = U'*U.
+* Solve A*X = B where A = U**T *U.
*
DO 10 J = 1, NRHS
*
-* Solve U'*X = B, overwriting B with X.
+* Solve U**T *X = B, overwriting B with X.
*
CALL DTBSV( 'Upper', 'Transpose', 'Non-unit', N, KD, AB,
$ LDAB, B( 1, J ), 1 )
@@ -123,7 +194,7 @@
10 CONTINUE
ELSE
*
-* Solve A*X = B where A = L*L'.
+* Solve A*X = B where A = L*L**T.
*
DO 20 J = 1, NRHS
*
@@ -132,7 +203,7 @@
CALL DTBSV( 'Lower', 'No transpose', 'Non-unit', N, KD, AB,
$ LDAB, B( 1, J ), 1 )
*
-* Solve L'*X = B, overwriting B with X.
+* Solve L**T *X = B, overwriting B with X.
*
CALL DTBSV( 'Lower', 'Transpose', 'Non-unit', N, KD, AB,
$ LDAB, B( 1, J ), 1 )