LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ zlaipd()

subroutine zlaipd ( integer  n,
complex*16, dimension( * )  a,
integer  inda,
integer  vinda 
)

ZLAIPD

Purpose:
 ZLAIPD sets the imaginary part of the diagonal elements of a complex
 matrix A to a large value.  This is used to test LAPACK routines for
 complex Hermitian matrices, which are not supposed to access or use
 the imaginary parts of the diagonals.
Parameters
[in]N
          N is INTEGER
         The number of diagonal elements of A.
[in,out]A
          A is COMPLEX*16 array, dimension
                        (1+(N-1)*INDA+(N-2)*VINDA)
         On entry, the complex (Hermitian) matrix A.
         On exit, the imaginary parts of the diagonal elements are set
         to BIGNUM = EPS / SAFMIN, where EPS is the machine epsilon and
         SAFMIN is the safe minimum.
[in]INDA
          INDA is INTEGER
         The increment between A(1) and the next diagonal element of A.
         Typical values are
         = LDA+1:  square matrices with leading dimension LDA
         = 2:  packed upper triangular matrix, starting at A(1,1)
         = N:  packed lower triangular matrix, starting at A(1,1)
[in]VINDA
          VINDA is INTEGER
         The change in the diagonal increment between columns of A.
         Typical values are
         = 0:  no change, the row and column increments in A are fixed
         = 1:  packed upper triangular matrix
         = -1:  packed lower triangular matrix
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 82 of file zlaipd.f.

83*
84* -- LAPACK test routine --
85* -- LAPACK is a software package provided by Univ. of Tennessee, --
86* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
87*
88* .. Scalar Arguments ..
89 INTEGER INDA, N, VINDA
90* ..
91* .. Array Arguments ..
92 COMPLEX*16 A( * )
93* ..
94*
95* =====================================================================
96*
97* .. Local Scalars ..
98 INTEGER I, IA, IXA
99 DOUBLE PRECISION BIGNUM
100* ..
101* .. External Functions ..
102 DOUBLE PRECISION DLAMCH
103 EXTERNAL dlamch
104* ..
105* .. Intrinsic Functions ..
106 INTRINSIC dble, dcmplx
107* ..
108* .. Executable Statements ..
109*
110 bignum = dlamch( 'Epsilon' ) / dlamch( 'Safe minimum' )
111 ia = 1
112 ixa = inda
113 DO 10 i = 1, n
114 a( ia ) = dcmplx( dble( a( ia ) ), bignum )
115 ia = ia + ixa
116 ixa = ixa + vinda
117 10 CONTINUE
118 RETURN
double precision function dlamch(cmach)
DLAMCH
Definition dlamch.f:69
Here is the caller graph for this function: