LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ zerrlqt()

subroutine zerrlqt ( character*3  PATH,
integer  NUNIT 
)

ZERLQT

Purpose:
 ZERRLQT tests the error exits for the COMPLEX routines
 that use the LQT decomposition of a general matrix.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name for the routines to be tested.
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016

Definition at line 57 of file zerrlqt.f.

57  IMPLICIT NONE
58 *
59 * -- LAPACK test routine (version 3.7.0) --
60 * -- LAPACK is a software package provided by Univ. of Tennessee, --
61 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
62 * December 2016
63 *
64 * .. Scalar Arguments ..
65  CHARACTER*3 path
66  INTEGER nunit
67 * ..
68 *
69 * =====================================================================
70 *
71 * .. Parameters ..
72  INTEGER nmax
73  parameter( nmax = 2 )
74 * ..
75 * .. Local Scalars ..
76  INTEGER i, info, j
77 * ..
78 * .. Local Arrays ..
79  COMPLEX*16 a( nmax, nmax ), t( nmax, nmax ), w( nmax ),
80  $ c( nmax, nmax )
81 * ..
82 * .. External Subroutines ..
83  EXTERNAL alaesm, chkxer, zgelqt3, zgelqt,
84  $ zgemlqt
85 * ..
86 * .. Scalars in Common ..
87  LOGICAL lerr, ok
88  CHARACTER*32 srnamt
89  INTEGER infot, nout
90 * ..
91 * .. Common blocks ..
92  COMMON / infoc / infot, nout, ok, lerr
93  COMMON / srnamc / srnamt
94 * ..
95 * .. Intrinsic Functions ..
96  INTRINSIC dble, dcmplx
97 * ..
98 * .. Executable Statements ..
99 *
100  nout = nunit
101  WRITE( nout, fmt = * )
102 *
103 * Set the variables to innocuous values.
104 *
105  DO j = 1, nmax
106  DO i = 1, nmax
107  a( i, j ) = 1.d0 / dcmplx( dble( i+j ), 0.d0 )
108  c( i, j ) = 1.d0 / dcmplx( dble( i+j ), 0.d0 )
109  t( i, j ) = 1.d0 / dcmplx( dble( i+j ), 0.d0 )
110  END DO
111  w( j ) = 0.d0
112  END DO
113  ok = .true.
114 *
115 * Error exits for LQT factorization
116 *
117 * ZGELQT
118 *
119  srnamt = 'ZGELQT'
120  infot = 1
121  CALL zgelqt( -1, 0, 1, a, 1, t, 1, w, info )
122  CALL chkxer( 'ZGELQT', infot, nout, lerr, ok )
123  infot = 2
124  CALL zgelqt( 0, -1, 1, a, 1, t, 1, w, info )
125  CALL chkxer( 'ZGELQT', infot, nout, lerr, ok )
126  infot = 3
127  CALL zgelqt( 0, 0, 0, a, 1, t, 1, w, info )
128  CALL chkxer( 'ZGELQT', infot, nout, lerr, ok )
129  infot = 5
130  CALL zgelqt( 2, 1, 1, a, 1, t, 1, w, info )
131  CALL chkxer( 'ZGELQT', infot, nout, lerr, ok )
132  infot = 7
133  CALL zgelqt( 2, 2, 2, a, 2, t, 1, w, info )
134  CALL chkxer( 'ZGELQT', infot, nout, lerr, ok )
135 *
136 * ZGELQT3
137 *
138  srnamt = 'ZGELQT3'
139  infot = 1
140  CALL zgelqt3( -1, 0, a, 1, t, 1, info )
141  CALL chkxer( 'ZGELQT3', infot, nout, lerr, ok )
142  infot = 2
143  CALL zgelqt3( 0, -1, a, 1, t, 1, info )
144  CALL chkxer( 'ZGELQT3', infot, nout, lerr, ok )
145  infot = 4
146  CALL zgelqt3( 2, 2, a, 1, t, 1, info )
147  CALL chkxer( 'ZGELQT3', infot, nout, lerr, ok )
148  infot = 6
149  CALL zgelqt3( 2, 2, a, 2, t, 1, info )
150  CALL chkxer( 'ZGELQT3', infot, nout, lerr, ok )
151 *
152 * ZGEMLQT
153 *
154  srnamt = 'ZGEMLQT'
155  infot = 1
156  CALL zgemlqt( '/', 'N', 0, 0, 0, 1, a, 1, t, 1, c, 1, w, info )
157  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
158  infot = 2
159  CALL zgemlqt( 'L', '/', 0, 0, 0, 1, a, 1, t, 1, c, 1, w, info )
160  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
161  infot = 3
162  CALL zgemlqt( 'L', 'N', -1, 0, 0, 1, a, 1, t, 1, c, 1, w, info )
163  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
164  infot = 4
165  CALL zgemlqt( 'L', 'N', 0, -1, 0, 1, a, 1, t, 1, c, 1, w, info )
166  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
167  infot = 5
168  CALL zgemlqt( 'L', 'N', 0, 0, -1, 1, a, 1, t, 1, c, 1, w, info )
169  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
170  infot = 5
171  CALL zgemlqt( 'R', 'N', 0, 0, -1, 1, a, 1, t, 1, c, 1, w, info )
172  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
173  infot = 6
174  CALL zgemlqt( 'L', 'N', 0, 0, 0, 0, a, 1, t, 1, c, 1, w, info )
175  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
176  infot = 8
177  CALL zgemlqt( 'R', 'N', 2, 2, 2, 1, a, 1, t, 1, c, 1, w, info )
178  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
179  infot = 8
180  CALL zgemlqt( 'L', 'N', 2, 2, 2, 1, a, 1, t, 1, c, 1, w, info )
181  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
182  infot = 10
183  CALL zgemlqt( 'R', 'N', 1, 1, 1, 1, a, 1, t, 0, c, 1, w, info )
184  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
185  infot = 12
186  CALL zgemlqt( 'L', 'N', 1, 1, 1, 1, a, 1, t, 1, c, 0, w, info )
187  CALL chkxer( 'ZGEMLQT', infot, nout, lerr, ok )
188 *
189 * Print a summary line.
190 *
191  CALL alaesm( path, ok, nout )
192 *
193  RETURN
194 *
195 * End of ZERRLQT
196 *
subroutine zgelqt(M, N, MB, A, LDA, T, LDT, WORK, INFO)
ZGELQT
Definition: zgelqt.f:141
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:65
recursive subroutine zgelqt3(M, N, A, LDA, T, LDT, INFO)
ZGELQT3 recursively computes a LQ factorization of a general real or complex matrix using the compact...
Definition: zgelqt3.f:133
subroutine zgemlqt(SIDE, TRANS, M, N, K, MB, V, LDV, T, LDT, C, LDC, WORK, INFO)
ZGEMLQT
Definition: zgemlqt.f:170
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3199
Here is the call graph for this function:
Here is the caller graph for this function: