LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ zerrqrt()

subroutine zerrqrt ( character*3  PATH,
integer  NUNIT 
)

ZERRQRT

Purpose:
 ZERRQRT tests the error exits for the COMPLEX*16 routines
 that use the QRT 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 zerrqrt.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, zgeqrt2, zgeqrt3, zgeqrt,
84  $ zgemqrt
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 QRT factorization
116 *
117 * ZGEQRT
118 *
119  srnamt = 'ZGEQRT'
120  infot = 1
121  CALL zgeqrt( -1, 0, 1, a, 1, t, 1, w, info )
122  CALL chkxer( 'ZGEQRT', infot, nout, lerr, ok )
123  infot = 2
124  CALL zgeqrt( 0, -1, 1, a, 1, t, 1, w, info )
125  CALL chkxer( 'ZGEQRT', infot, nout, lerr, ok )
126  infot = 3
127  CALL zgeqrt( 0, 0, 0, a, 1, t, 1, w, info )
128  CALL chkxer( 'ZGEQRT', infot, nout, lerr, ok )
129  infot = 5
130  CALL zgeqrt( 2, 1, 1, a, 1, t, 1, w, info )
131  CALL chkxer( 'ZGEQRT', infot, nout, lerr, ok )
132  infot = 7
133  CALL zgeqrt( 2, 2, 2, a, 2, t, 1, w, info )
134  CALL chkxer( 'ZGEQRT', infot, nout, lerr, ok )
135 *
136 * ZGEQRT2
137 *
138  srnamt = 'ZGEQRT2'
139  infot = 1
140  CALL zgeqrt2( -1, 0, a, 1, t, 1, info )
141  CALL chkxer( 'ZGEQRT2', infot, nout, lerr, ok )
142  infot = 2
143  CALL zgeqrt2( 0, -1, a, 1, t, 1, info )
144  CALL chkxer( 'ZGEQRT2', infot, nout, lerr, ok )
145  infot = 4
146  CALL zgeqrt2( 2, 1, a, 1, t, 1, info )
147  CALL chkxer( 'ZGEQRT2', infot, nout, lerr, ok )
148  infot = 6
149  CALL zgeqrt2( 2, 2, a, 2, t, 1, info )
150  CALL chkxer( 'ZGEQRT2', infot, nout, lerr, ok )
151 *
152 * ZGEQRT3
153 *
154  srnamt = 'ZGEQRT3'
155  infot = 1
156  CALL zgeqrt3( -1, 0, a, 1, t, 1, info )
157  CALL chkxer( 'ZGEQRT3', infot, nout, lerr, ok )
158  infot = 2
159  CALL zgeqrt3( 0, -1, a, 1, t, 1, info )
160  CALL chkxer( 'ZGEQRT3', infot, nout, lerr, ok )
161  infot = 4
162  CALL zgeqrt3( 2, 1, a, 1, t, 1, info )
163  CALL chkxer( 'ZGEQRT3', infot, nout, lerr, ok )
164  infot = 6
165  CALL zgeqrt3( 2, 2, a, 2, t, 1, info )
166  CALL chkxer( 'ZGEQRT3', infot, nout, lerr, ok )
167 *
168 * ZGEMQRT
169 *
170  srnamt = 'ZGEMQRT'
171  infot = 1
172  CALL zgemqrt( '/', 'N', 0, 0, 0, 1, a, 1, t, 1, c, 1, w, info )
173  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
174  infot = 2
175  CALL zgemqrt( 'L', '/', 0, 0, 0, 1, a, 1, t, 1, c, 1, w, info )
176  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
177  infot = 3
178  CALL zgemqrt( 'L', 'N', -1, 0, 0, 1, a, 1, t, 1, c, 1, w, info )
179  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
180  infot = 4
181  CALL zgemqrt( 'L', 'N', 0, -1, 0, 1, a, 1, t, 1, c, 1, w, info )
182  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
183  infot = 5
184  CALL zgemqrt( 'L', 'N', 0, 0, -1, 1, a, 1, t, 1, c, 1, w, info )
185  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
186  infot = 5
187  CALL zgemqrt( 'R', 'N', 0, 0, -1, 1, a, 1, t, 1, c, 1, w, info )
188  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
189  infot = 6
190  CALL zgemqrt( 'L', 'N', 0, 0, 0, 0, a, 1, t, 1, c, 1, w, info )
191  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
192  infot = 8
193  CALL zgemqrt( 'R', 'N', 1, 2, 1, 1, a, 1, t, 1, c, 1, w, info )
194  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
195  infot = 8
196  CALL zgemqrt( 'L', 'N', 2, 1, 1, 1, a, 1, t, 1, c, 1, w, info )
197  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
198  infot = 10
199  CALL zgemqrt( 'R', 'N', 1, 1, 1, 1, a, 1, t, 0, c, 1, w, info )
200  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
201  infot = 12
202  CALL zgemqrt( 'L', 'N', 1, 1, 1, 1, a, 1, t, 1, c, 0, w, info )
203  CALL chkxer( 'ZGEMQRT', infot, nout, lerr, ok )
204 *
205 * Print a summary line.
206 *
207  CALL alaesm( path, ok, nout )
208 *
209  RETURN
210 *
211 * End of ZERRQRT
212 *
recursive subroutine zgeqrt3(M, N, A, LDA, T, LDT, INFO)
ZGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact...
Definition: zgeqrt3.f:134
subroutine zgeqrt2(M, N, A, LDA, T, LDT, INFO)
ZGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY represen...
Definition: zgeqrt2.f:129
subroutine zgeqrt(M, N, NB, A, LDA, T, LDT, WORK, INFO)
ZGEQRT
Definition: zgeqrt.f:143
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:65
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3199
subroutine zgemqrt(SIDE, TRANS, M, N, K, NB, V, LDV, T, LDT, C, LDC, WORK, INFO)
ZGEMQRT
Definition: zgemqrt.f:170
Here is the call graph for this function:
Here is the caller graph for this function: