Have you tried DSYTRI?
http://www.netlib.org/lapack/double/dsytri.f
mfh
--
You received this message because you are subscribed to the Google Groups "matrixprogramming" group.
To post to this group, send email to matrixpr...@googlegroups.com.
To unsubscribe from this group, send email to matrixprogramm...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/matrixprogramming?hl=en.
The right declaration would be extern "C" void DSYTRI( ...). The first
underscore is added automatically. This is the way the linker works.
First check parameters to the function. It well might be that something
is wrong and then there is a crash within the function. Alternatively
make a small test to call it some simpler setup. Then you can try to
link it independently to different BLAS.
DSPSV is for packed symmetric storage. DSYSV is for unpacked
symmetric storage -- the usual way that you would store a nonsymmetric
matrix (the routine only reads and writes the upper or lower triangle,
depending on the UPLO argument). It looks like you are using unpacked
symmetric storage.
mfh
_SY__(_) routines are for any symmetric matrix. As long as your
matrix is nonsingular, the solver driver routines should work just
fine.
If your matrices are as small as the example problem you enclosed, you
should just use DGESV and stop worrying ;-)
mfh
DPOTRI should return an error, since that routine should only work for
symmetric positive definite ("PO") matrices. "SY" routines are for
symmetric, but not necessarily positive definite matrices.
mfh