63 parameter ( nmax = 4 )
66 INTEGER i, info, iter, j
69 DOUBLE PRECISION a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
70 $ c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
71 $ w( 2*nmax ), x( nmax )
72 DOUBLE PRECISION work(nmax*nmax)
84 COMMON / infoc / infot, nout, ok, lerr
85 COMMON / srnamc / srnamt
93 WRITE( nout, fmt = * )
99 a( i, j ) = 1.d0 / dble( i+j )
100 af( i, j ) = 1.d0 / dble( i+j )
114 CALL dsposv(
'/',0,0,a,1,b,1,x,1,work,swork,iter,info)
115 CALL chkxer(
'DSPOSV', infot, nout, lerr, ok )
117 CALL dsposv(
'U',-1,0,a,1,b,1,x,1,work,swork,iter,info)
118 CALL chkxer(
'DSPOSV', infot, nout, lerr, ok )
120 CALL dsposv(
'U',0,-1,a,1,b,1,x,1,work,swork,iter,info)
121 CALL chkxer(
'DSPOSV', infot, nout, lerr, ok )
123 CALL dsposv(
'U',2,1,a,1,b,2,x,2,work,swork,iter,info)
124 CALL chkxer(
'DSPOSV', infot, nout, lerr, ok )
126 CALL dsposv(
'U',2,1,a,2,b,1,x,2,work,swork,iter,info)
127 CALL chkxer(
'DSPOSV', infot, nout, lerr, ok )
129 CALL dsposv(
'U',2,1,a,2,b,2,x,1,work,swork,iter,info)
130 CALL chkxer(
'DSPOSV', infot, nout, lerr, ok )
135 WRITE( nout, fmt = 9999 )
'DSPOSV'
137 WRITE( nout, fmt = 9998 )
'DSPOSV'
140 9999
FORMAT( 1x, a6,
' drivers passed the tests of the error exits' )
141 9998
FORMAT(
' *** ', a6,
' drivers failed the tests of the error ',
subroutine dsposv(UPLO, N, NRHS, A, LDA, B, LDB, X, LDX, WORK, SWORK, ITER, INFO)
DSPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)