UMFPACK should have a Fortran-77 interface. Presumably you should use
it. Alternatively you can use MUMPS that is written directly in Fortran
90.
--
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.
7 Using UMFPACK in a Fortran program
Well, in
8.3 Installing the Fortran interface
there is following:
>This interface is highly non-portable, since it depends on how C and
Fortran are interfaced.
So you may need to be ready to invest some time. It could be that my
document
Using Fortran Subroutines from C++
http://matrixprogramming.com/2008/03/usingfortranfromc
could be of help to understand the potential problems even though it
considers another way, from Fortran to C.
On 19.05.2011 22:35 Zhizhuo Zhao said the following:
Yes, UMFPACK is a direct solver (the same for MUMPS). Yes, a direct
solver can be used nowadays for 2 million by 2 million but you may need
a lot of RAM. It is highly depends on the matrix however.
> on the conjugate gradient method and might be the better option for my case.
An iterative solver could be better than a direct solver, or it could be
worse. It is again highly depends on the matrix. Usually you need a
preconditioner for an iterative solver.
> Anyway, did you use LINSOL before? I met some trouble on compiling it.
>
> ./source/linsol/linsol.f is being compiled ...
> ifort -c -O3 -I./include -I/opt/mpich/include ./source/linsol/linsol.f
> cp linsol.o ./source/linsol/linsol.o
> linsol.o is being linked ...
> ifort -o ./bin/linsol linsol.o ./lib/liblinsol.a ./lib/libnocomm.a
> -I/opt/mpich/include -L/opt/mpich/lib -lmpichf90 -lmpich
> ld: skipping incompatible /opt/mpich/lib/libmpichf90.a when searching for
> -lmpichf90
> ld: cannot find -lmpichf90
> make: *** [linsol] Error 1
Something is wrong with libmpichf90.a. It could be that you compile for
32-bit and this library is for 64-bit or vice versa. Or it from some
other platform.
--