76 COMPLEX A( NMAX, NMAX ), T( NMAX, NMAX ), W( NMAX ),
77 $ B( NMAX, NMAX ), C( NMAX, NMAX )
89 COMMON / infoc / infot, nout, ok, lerr
90 COMMON / srnamc / srnamt
93 INTRINSIC float,
cmplx
98 WRITE( nout, fmt = * )
104 a( i, j ) = 1.0 /
cmplx(float( i+j ),0.0)
105 c( i, j ) = 1.0 /
cmplx(float
106 t( i, j ) = 1.0 /
cmplx(float( i+j ),0.0)
108 w( j ) =
cmplx(0.0,0.0)
118 CALL ctpqrt( -1, 1, 0, 1, a, 1, b, 1, t, 1, w, info )
119 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
121 CALL ctpqrt( 1, -1, 0, 1, a, 1, b, 1, t, 1, w, info )
122 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
124 CALL ctpqrt( 0, 1, -1, 1, a, 1, b, 1, t, 1, w, info )
125 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
127 CALL ctpqrt( 0, 1, 1, 1, a, 1, b, 1, t, 1, w, info )
128 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
130 CALL ctpqrt( 0, 1, 0, 0, a, 1, b, 1, t, 1, w, info )
131 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
133 CALL ctpqrt( 0, 1, 0, 2, a, 1, b, 1, t, 1, w, info )
134 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
136 CALL ctpqrt( 1, 2, 0, 2, a, 1, b, 1, t, 1, w, info )
137 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
139 CALL ctpqrt( 2, 1, 0, 1, a, 1, b, 1, t, 1, w, info )
140 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
142 CALL ctpqrt( 2, 2, 1, 2, a, 2, b, 2, t, 1, w, info )
143 CALL chkxer(
'CTPQRT', infot, nout, lerr, ok )
149 CALL ctpqrt2( -1, 0, 0, a, 1, b, 1, t, 1, info )
152 CALL CTPQRT2( 0, -1, 0, A, 1, B, 1, T, 1, INFO )
153 CALL CHKXER( 'ctpqrt2', INFOT, NOUT, LERR, OK )
155 CALL CTPQRT2( 0, 0, -1, A, 1, B, 1, T, 1, INFO )
156 CALL CHKXER( 'ctpqrt2', INFOT, NOUT, LERR, OK )
158 CALL CTPQRT2( 2, 2, 0, A, 1, B, 2, T, 2, INFO )
159 CALL CHKXER( 'ctpqrt2', INFOT, NOUT, LERR, OK )
161 CALL CTPQRT2( 2, 2, 0, A, 2, B, 1, T, 2, INFO )
162 CALL CHKXER( 'ctpqrt2', INFOT, NOUT, LERR, OK )
164 CALL CTPQRT2( 2, 2, 0, A, 2, B, 2, T, 1, INFO )
165 CALL CHKXER( 'ctpqrt2', INFOT, NOUT, LERR, OK )
171 CALL CTPMQRT( '/
', 'n
', 0, 0, 0, 0, 1, A, 1, T, 1, B, 1, C, 1,
173 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
175 CALL CTPMQRT( 'l
', '/
', 0, 0, 0, 0, 1, A, 1, T, 1, B, 1, C, 1,
177 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
179 CALL CTPMQRT( 'l
', 'n
', -1, 0, 0, 0, 1, A, 1, T, 1, B, 1, C, 1,
181 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
183 CALL CTPMQRT( 'l
', 'n
', 0, -1, 0, 0, 1, A, 1, T, 1, B, 1, C, 1,
185 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
187 CALL CTPMQRT( 'l
', 'n
', 0, 0, -1, 0, 1, A, 1, T, 1, B, 1, C, 1,
190 CALL CTPMQRT( 'l
', 'n
', 0, 0, 0, -1, 1, A, 1, T, 1, B, 1, C, 1,
192 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
194 CALL CTPMQRT( 'l
', 'n
', 0, 0, 0, 0, 0, A, 1, T, 1, B, 1, C, 1,
196 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
198 CALL CTPMQRT( 'r
', 'n
', 1, 2, 1, 1, 1, A, 1, T, 1, B, 1, C, 1,
200 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
202 CALL CTPMQRT( 'l
', 'n
', 2, 1, 1, 1, 1, A, 1, T, 1, B, 1, C, 1,
204 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
206 CALL CTPMQRT( 'r
', 'n
', 1, 1, 1, 1, 1, A, 1, T, 0, B, 1, C, 1,
208 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
210 CALL CTPMQRT( 'l
', 'n
', 1, 1, 1, 1, 1, A, 1, T, 1, B, 0, C, 1,
212 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
214 CALL CTPMQRT( 'l
', 'n
', 1, 1, 1, 1, 1, A, 1, T, 1, B, 1, C, 0,
216 CALL CHKXER( 'ctpmqrt', INFOT, NOUT, LERR, OK )
220 CALL ALAESM( PATH, OK, NOUT )
subroutine ctpmqrt(side, trans, m, n, k, l, nb, v, ldv, t, ldt, a, lda, b, ldb, work, info)
CTPMQRT