--- rpl/lapack/lapack/zlagtm.f 2010/08/06 15:28:56 1.3
+++ rpl/lapack/lapack/zlagtm.f 2017/06/17 10:54:19 1.16
@@ -1,10 +1,154 @@
+*> \brief \b ZLAGTM performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix, B and C are rectangular matrices, and α and β are scalars, which may be 0, 1, or -1.
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+*> \htmlonly
+*> Download ZLAGTM + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
+*> [TXT]
+*> \endhtmlonly
+*
+* Definition:
+* ===========
+*
+* SUBROUTINE ZLAGTM( TRANS, N, NRHS, ALPHA, DL, D, DU, X, LDX, BETA,
+* B, LDB )
+*
+* .. Scalar Arguments ..
+* CHARACTER TRANS
+* INTEGER LDB, LDX, N, NRHS
+* DOUBLE PRECISION ALPHA, BETA
+* ..
+* .. Array Arguments ..
+* COMPLEX*16 B( LDB, * ), D( * ), DL( * ), DU( * ),
+* $ X( LDX, * )
+* ..
+*
+*
+*> \par Purpose:
+* =============
+*>
+*> \verbatim
+*>
+*> ZLAGTM performs a matrix-vector product of the form
+*>
+*> B := alpha * A * X + beta * B
+*>
+*> where A is a tridiagonal matrix of order N, B and X are N by NRHS
+*> matrices, and alpha and beta are real scalars, each of which may be
+*> 0., 1., or -1.
+*> \endverbatim
+*
+* Arguments:
+* ==========
+*
+*> \param[in] TRANS
+*> \verbatim
+*> TRANS is CHARACTER*1
+*> Specifies the operation applied to A.
+*> = 'N': No transpose, B := alpha * A * X + beta * B
+*> = 'T': Transpose, B := alpha * A**T * X + beta * B
+*> = 'C': Conjugate transpose, B := alpha * A**H * X + beta * B
+*> \endverbatim
+*>
+*> \param[in] N
+*> \verbatim
+*> N is INTEGER
+*> The order of the matrix A. N >= 0.
+*> \endverbatim
+*>
+*> \param[in] NRHS
+*> \verbatim
+*> NRHS is INTEGER
+*> The number of right hand sides, i.e., the number of columns
+*> of the matrices X and B.
+*> \endverbatim
+*>
+*> \param[in] ALPHA
+*> \verbatim
+*> ALPHA is DOUBLE PRECISION
+*> The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise,
+*> it is assumed to be 0.
+*> \endverbatim
+*>
+*> \param[in] DL
+*> \verbatim
+*> DL is COMPLEX*16 array, dimension (N-1)
+*> The (n-1) sub-diagonal elements of T.
+*> \endverbatim
+*>
+*> \param[in] D
+*> \verbatim
+*> D is COMPLEX*16 array, dimension (N)
+*> The diagonal elements of T.
+*> \endverbatim
+*>
+*> \param[in] DU
+*> \verbatim
+*> DU is COMPLEX*16 array, dimension (N-1)
+*> The (n-1) super-diagonal elements of T.
+*> \endverbatim
+*>
+*> \param[in] X
+*> \verbatim
+*> X is COMPLEX*16 array, dimension (LDX,NRHS)
+*> The N by NRHS matrix X.
+*> \endverbatim
+*>
+*> \param[in] LDX
+*> \verbatim
+*> LDX is INTEGER
+*> The leading dimension of the array X. LDX >= max(N,1).
+*> \endverbatim
+*>
+*> \param[in] BETA
+*> \verbatim
+*> BETA is DOUBLE PRECISION
+*> The scalar beta. BETA must be 0., 1., or -1.; otherwise,
+*> it is assumed to be 1.
+*> \endverbatim
+*>
+*> \param[in,out] B
+*> \verbatim
+*> B is COMPLEX*16 array, dimension (LDB,NRHS)
+*> On entry, the N by NRHS matrix B.
+*> On exit, B is overwritten by the matrix expression
+*> B := alpha * A * X + beta * B.
+*> \endverbatim
+*>
+*> \param[in] LDB
+*> \verbatim
+*> LDB is INTEGER
+*> The leading dimension of the array B. LDB >= max(N,1).
+*> \endverbatim
+*
+* Authors:
+* ========
+*
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
+*
+*> \date December 2016
+*
+*> \ingroup complex16OTHERauxiliary
+*
+* =====================================================================
SUBROUTINE ZLAGTM( TRANS, N, NRHS, ALPHA, DL, D, DU, X, LDX, BETA,
$ B, LDB )
*
-* -- LAPACK auxiliary routine (version 3.2) --
+* -- LAPACK auxiliary routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* November 2006
+* December 2016
*
* .. Scalar Arguments ..
CHARACTER TRANS
@@ -16,63 +160,6 @@
$ X( LDX, * )
* ..
*
-* Purpose
-* =======
-*
-* ZLAGTM performs a matrix-vector product of the form
-*
-* B := alpha * A * X + beta * B
-*
-* where A is a tridiagonal matrix of order N, B and X are N by NRHS
-* matrices, and alpha and beta are real scalars, each of which may be
-* 0., 1., or -1.
-*
-* Arguments
-* =========
-*
-* TRANS (input) CHARACTER*1
-* Specifies the operation applied to A.
-* = 'N': No transpose, B := alpha * A * X + beta * B
-* = 'T': Transpose, B := alpha * A**T * X + beta * B
-* = 'C': Conjugate transpose, B := alpha * A**H * X + beta * B
-*
-* N (input) INTEGER
-* The order of the matrix A. N >= 0.
-*
-* NRHS (input) INTEGER
-* The number of right hand sides, i.e., the number of columns
-* of the matrices X and B.
-*
-* ALPHA (input) DOUBLE PRECISION
-* The scalar alpha. ALPHA must be 0., 1., or -1.; otherwise,
-* it is assumed to be 0.
-*
-* DL (input) COMPLEX*16 array, dimension (N-1)
-* The (n-1) sub-diagonal elements of T.
-*
-* D (input) COMPLEX*16 array, dimension (N)
-* The diagonal elements of T.
-*
-* DU (input) COMPLEX*16 array, dimension (N-1)
-* The (n-1) super-diagonal elements of T.
-*
-* X (input) COMPLEX*16 array, dimension (LDX,NRHS)
-* The N by NRHS matrix X.
-* LDX (input) INTEGER
-* The leading dimension of the array X. LDX >= max(N,1).
-*
-* BETA (input) DOUBLE PRECISION
-* The scalar beta. BETA must be 0., 1., or -1.; otherwise,
-* it is assumed to be 1.
-*
-* B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
-* On entry, the N by NRHS matrix B.
-* On exit, B is overwritten by the matrix expression
-* B := alpha * A * X + beta * B.
-*
-* LDB (input) INTEGER
-* The leading dimension of the array B. LDB >= max(N,1).
-*
* =====================================================================
*
* .. Parameters ..
@@ -189,7 +276,7 @@
120 CONTINUE
ELSE IF( LSAME( TRANS, 'T' ) ) THEN
*
-* Compute B := B - A'*X
+* Compute B := B - A**T *X
*
DO 140 J = 1, NRHS
IF( N.EQ.1 ) THEN
@@ -207,7 +294,7 @@
140 CONTINUE
ELSE IF( LSAME( TRANS, 'C' ) ) THEN
*
-* Compute B := B - A'*X
+* Compute B := B - A**H *X
*
DO 160 J = 1, NRHS
IF( N.EQ.1 ) THEN