Annotation of rpl/lapack/lapack/zlascl2.f, revision 1.4

1.1       bertrand    1:       SUBROUTINE ZLASCL2 ( M, N, D, X, LDX )
                      2: *
                      3: *     -- LAPACK routine (version 3.2.1)                               --
                      4: *     -- Contributed by James Demmel, Deaglan Halligan, Yozo Hida and --
                      5: *     -- Jason Riedy of Univ. of California Berkeley.                 --
                      6: *     -- April 2009                                                   --
                      7: *
                      8: *     -- LAPACK is a software package provided by Univ. of Tennessee, --
                      9: *     -- Univ. of California Berkeley and NAG Ltd.                    --
                     10: *
                     11:       IMPLICIT NONE
                     12: *     ..
                     13: *     .. Scalar Arguments ..
                     14:       INTEGER            M, N, LDX
                     15: *     ..
                     16: *     .. Array Arguments ..
                     17:       DOUBLE PRECISION   D( * )
                     18:       COMPLEX*16         X( LDX, * )
                     19: *     ..
                     20: *
                     21: *  Purpose
                     22: *  =======
                     23: *
                     24: *  ZLASCL2 performs a diagonal scaling on a vector:
                     25: *    x <-- D * x
                     26: *  where the DOUBLE PRECISION diagonal matrix D is stored as a vector.
                     27: *
                     28: *  Eventually to be replaced by BLAS_zge_diag_scale in the new BLAS
                     29: *  standard.
                     30: *
                     31: *  Arguments
                     32: *  =========
                     33: *
                     34: *     M       (input) INTEGER
                     35: *     The number of rows of D and X. M >= 0.
                     36: *
                     37: *     N       (input) INTEGER
                     38: *     The number of columns of D and X. N >= 0.
                     39: *
                     40: *     D       (input) DOUBLE PRECISION array, length M
                     41: *     Diagonal matrix D, stored as a vector of length M.
                     42: *
                     43: *     X       (input/output) COMPLEX*16 array, dimension (LDX,N)
                     44: *     On entry, the vector X to be scaled by D.
                     45: *     On exit, the scaled vector.
                     46: *
                     47: *     LDX     (input) INTEGER
                     48: *     The leading dimension of the vector X. LDX >= 0.
                     49: *
                     50: *  =====================================================================
                     51: *
                     52: *     .. Local Scalars ..
                     53:       INTEGER            I, J
                     54: *     ..
                     55: *     .. Executable Statements ..
                     56: *
                     57:       DO J = 1, N
                     58:          DO I = 1, M
                     59:             X( I, J ) = X( I, J ) * D( I )
                     60:          END DO
                     61:       END DO
                     62: 
                     63:       RETURN
                     64:       END
                     65: 

CVSweb interface <joel.bertrand@systella.fr>