Annotation of rpl/lapack/lapack/zlaset.f, revision 1.1
1.1 ! bertrand 1: SUBROUTINE ZLASET( UPLO, M, N, ALPHA, BETA, A, LDA )
! 2: *
! 3: * -- LAPACK auxiliary routine (version 3.2) --
! 4: * -- LAPACK is a software package provided by Univ. of Tennessee, --
! 5: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! 6: * November 2006
! 7: *
! 8: * .. Scalar Arguments ..
! 9: CHARACTER UPLO
! 10: INTEGER LDA, M, N
! 11: COMPLEX*16 ALPHA, BETA
! 12: * ..
! 13: * .. Array Arguments ..
! 14: COMPLEX*16 A( LDA, * )
! 15: * ..
! 16: *
! 17: * Purpose
! 18: * =======
! 19: *
! 20: * ZLASET initializes a 2-D array A to BETA on the diagonal and
! 21: * ALPHA on the offdiagonals.
! 22: *
! 23: * Arguments
! 24: * =========
! 25: *
! 26: * UPLO (input) CHARACTER*1
! 27: * Specifies the part of the matrix A to be set.
! 28: * = 'U': Upper triangular part is set. The lower triangle
! 29: * is unchanged.
! 30: * = 'L': Lower triangular part is set. The upper triangle
! 31: * is unchanged.
! 32: * Otherwise: All of the matrix A is set.
! 33: *
! 34: * M (input) INTEGER
! 35: * On entry, M specifies the number of rows of A.
! 36: *
! 37: * N (input) INTEGER
! 38: * On entry, N specifies the number of columns of A.
! 39: *
! 40: * ALPHA (input) COMPLEX*16
! 41: * All the offdiagonal array elements are set to ALPHA.
! 42: *
! 43: * BETA (input) COMPLEX*16
! 44: * All the diagonal array elements are set to BETA.
! 45: *
! 46: * A (input/output) COMPLEX*16 array, dimension (LDA,N)
! 47: * On entry, the m by n matrix A.
! 48: * On exit, A(i,j) = ALPHA, 1 <= i <= m, 1 <= j <= n, i.ne.j;
! 49: * A(i,i) = BETA , 1 <= i <= min(m,n)
! 50: *
! 51: * LDA (input) INTEGER
! 52: * The leading dimension of the array A. LDA >= max(1,M).
! 53: *
! 54: * =====================================================================
! 55: *
! 56: * .. Local Scalars ..
! 57: INTEGER I, J
! 58: * ..
! 59: * .. External Functions ..
! 60: LOGICAL LSAME
! 61: EXTERNAL LSAME
! 62: * ..
! 63: * .. Intrinsic Functions ..
! 64: INTRINSIC MIN
! 65: * ..
! 66: * .. Executable Statements ..
! 67: *
! 68: IF( LSAME( UPLO, 'U' ) ) THEN
! 69: *
! 70: * Set the diagonal to BETA and the strictly upper triangular
! 71: * part of the array to ALPHA.
! 72: *
! 73: DO 20 J = 2, N
! 74: DO 10 I = 1, MIN( J-1, M )
! 75: A( I, J ) = ALPHA
! 76: 10 CONTINUE
! 77: 20 CONTINUE
! 78: DO 30 I = 1, MIN( N, M )
! 79: A( I, I ) = BETA
! 80: 30 CONTINUE
! 81: *
! 82: ELSE IF( LSAME( UPLO, 'L' ) ) THEN
! 83: *
! 84: * Set the diagonal to BETA and the strictly lower triangular
! 85: * part of the array to ALPHA.
! 86: *
! 87: DO 50 J = 1, MIN( M, N )
! 88: DO 40 I = J + 1, M
! 89: A( I, J ) = ALPHA
! 90: 40 CONTINUE
! 91: 50 CONTINUE
! 92: DO 60 I = 1, MIN( N, M )
! 93: A( I, I ) = BETA
! 94: 60 CONTINUE
! 95: *
! 96: ELSE
! 97: *
! 98: * Set the array to BETA on the diagonal and ALPHA on the
! 99: * offdiagonal.
! 100: *
! 101: DO 80 J = 1, N
! 102: DO 70 I = 1, M
! 103: A( I, J ) = ALPHA
! 104: 70 CONTINUE
! 105: 80 CONTINUE
! 106: DO 90 I = 1, MIN( M, N )
! 107: A( I, I ) = BETA
! 108: 90 CONTINUE
! 109: END IF
! 110: *
! 111: RETURN
! 112: *
! 113: * End of ZLASET
! 114: *
! 115: END
CVSweb interface <joel.bertrand@systella.fr>