73 parameter ( nmax = 2 )
79 DOUBLE PRECISION A( nmax, nmax ), T( nmax, nmax ), W( nmax ),
80 $ b( nmax, nmax ), c( nmax, nmax )
92 COMMON / infoc / infot, nout, ok, lerr
93 COMMON / srnamc / srnamt
101 WRITE( nout, fmt = * )
107 a( i, j ) = 1.d0 / dble( i+j )
108 c( i, j ) = 1.d0 / dble( i+j )
109 t( i, j ) = 1.d0 / dble( i+j )
121 CALL dtplqt( -1, 1, 0, 1, a, 1, b, 1, t, 1, w, info )
122 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
124 CALL dtplqt( 1, -1, 0, 1, a, 1, b, 1, t, 1, w, info )
125 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
127 CALL dtplqt( 0, 1, -1, 1, a, 1, b, 1, t, 1, w, info )
128 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
130 CALL dtplqt( 0, 1, 1, 1, a, 1, b, 1, t, 1, w, info )
131 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
133 CALL dtplqt( 0, 1, 0, 0, a, 1, b, 1, t, 1, w, info )
134 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
136 CALL dtplqt( 1, 1, 0, 2, a, 1, b, 1, t, 1, w, info )
137 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
139 CALL dtplqt( 2, 1, 0, 2, a, 1, b, 1, t, 1, w, info )
140 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
142 CALL dtplqt( 2, 1, 0, 1, a, 2, b, 1, t, 1, w, info )
143 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
145 CALL dtplqt( 2, 2, 1, 2, a, 2, b, 2, t, 1, w, info )
146 CALL chkxer(
'DTPLQT', infot, nout, lerr, ok )
152 CALL dtplqt2( -1, 0, 0, a, 1, b, 1, t, 1, info )
153 CALL chkxer(
'DTPLQT2', infot, nout, lerr, ok )
155 CALL dtplqt2( 0, -1, 0, a, 1, b, 1, t, 1, info )
156 CALL chkxer(
'DTPLQT2', infot, nout, lerr, ok )
158 CALL dtplqt2( 0, 0, -1, a, 1, b, 1, t, 1, info )
159 CALL chkxer(
'DTPLQT2', infot, nout, lerr, ok )
161 CALL dtplqt2( 2, 2, 0, a, 1, b, 2, t, 2, info )
162 CALL chkxer(
'DTPLQT2', infot, nout, lerr, ok )
164 CALL dtplqt2( 2, 2, 0, a, 2, b, 1, t, 2, info )
165 CALL chkxer(
'DTPLQT2', infot, nout, lerr, ok )
167 CALL dtplqt2( 2, 2, 0, a, 2, b, 2, t, 1, info )
168 CALL chkxer(
'DTPLQT2', infot, nout, lerr, ok )
174 CALL dtpmlqt(
'/',
'N', 0, 0, 0, 0, 1, a, 1, t, 1, b, 1, c, 1,
176 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
178 CALL dtpmlqt(
'L',
'/', 0, 0, 0, 0, 1, a, 1, t, 1, b, 1, c, 1,
180 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
182 CALL dtpmlqt(
'L',
'N', -1, 0, 0, 0, 1, a, 1, t, 1, b, 1, c, 1,
184 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
186 CALL dtpmlqt(
'L',
'N', 0, -1, 0, 0, 1, a, 1, t, 1, b, 1, c, 1,
188 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
190 CALL dtpmlqt(
'L',
'N', 0, 0, -1, 0, 1, a, 1, t, 1, b, 1, c, 1,
193 CALL dtpmlqt(
'L',
'N', 0, 0, 0, -1, 1, a, 1, t, 1, b, 1, c, 1,
195 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
197 CALL dtpmlqt(
'L',
'N', 0, 0, 0, 0, 0, a, 1, t, 1, b, 1, c, 1,
199 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
201 CALL dtpmlqt(
'R',
'N', 2, 2, 2, 1, 1, a, 1, t, 1, b, 1, c, 1,
203 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
205 CALL dtpmlqt(
'R',
'N', 1, 1, 1, 1, 1, a, 1, t, 0, b, 1, c, 1,
207 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
209 CALL dtpmlqt(
'L',
'N', 1, 1, 1, 1, 1, a, 1, t, 1, b, 0, c, 1,
211 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
213 CALL dtpmlqt(
'L',
'N', 1, 1, 1, 1, 1, a, 1, t, 1, b, 1, c, 0,
215 CALL chkxer(
'DTPMLQT', infot, nout, lerr, ok )
219 CALL alaesm( path, ok, nout )
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine dtpmlqt(SIDE, TRANS, M, N, K, L, MB, V, LDV, T, LDT, A, LDA, B, LDB, WORK, INFO)
DTPMLQT
subroutine derrlqtp(PATH, NUNIT)
DERRLQTP
subroutine dtplqt2(M, N, L, A, LDA, B, LDB, T, LDT, INFO)
DTPLQT2 computes a LQ factorization of a real or complex "triangular-pentagonal" matrix, which is composed of a triangular block and a pentagonal block, using the compact WY representation for Q.
subroutine dtplqt(M, N, L, MB, A, LDA, B, LDB, T, LDT, WORK, INFO)
DTPLQT