99 DOUBLE PRECISION FUNCTION zqrt11( M, K, A, LDA, TAU, WORK, LWORK )
107 INTEGER k, lda, lwork, m
110 COMPLEX*16 a( lda, * ), tau( * ), work( lwork )
116 DOUBLE PRECISION zero, one
117 parameter( zero = 0.0d0, one = 1.0d0 )
130 INTRINSIC dble, dcmplx
133 DOUBLE PRECISION rdummy( 1 )
141 IF( lwork.LT.m*m+m )
THEN
142 CALL
xerbla(
'ZQRT11', 7 )
151 CALL
zlaset(
'Full', m, m, dcmplx( zero ), dcmplx( one ), work,
156 CALL
zunm2r(
'Left',
'No transpose', m, m, k, a, lda, tau, work,
157 $ m, work( m*m+1 ), info )
161 CALL
zunm2r(
'Left',
'Conjugate transpose', m, m, k, a, lda, tau,
162 $ work, m, work( m*m+1 ), info )
165 work( (
j-1 )*m+
j ) = work( (
j-1 )*m+
j ) - one
169 $ ( dble( m )*
dlamch(
'Epsilon' ) )
subroutine zunm2r(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO)
ZUNM2R multiplies a general matrix by the unitary matrix from a QR factorization determined by cgeqrf...
subroutine xerbla(SRNAME, INFO)
XERBLA
double precision function zqrt11(M, K, A, LDA, TAU, WORK, LWORK)
ZQRT11
subroutine zlaset(UPLO, M, N, ALPHA, BETA, A, LDA)
ZLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values...
double precision function zlange(NORM, M, N, A, LDA, WORK)
ZLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
double precision function dlamch(CMACH)
DLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j