Re: Math Package to Solve Linear Equations?
Thomas H. George wrote:
> I'm feeling stupid. I used to have a math package which inverted
> matrices to solve systems of linear equations - i.e. enter the matrix
> and the y values and the program inverts the matrix and reports the x
> values. I know how to do it manually but it is laborious for large
> matrices. Perhaps Openoffice.calc/solver does this but it is not clear
> to me how to enter data for solver to do this. apt-cache search matrix
> |grep inversion doesn't turn up anything.
> Would someone please beat me over the head and point me to a simple
> package to do this job?
Libraries (to call from C, C++, Fortran 90 codes):
Petsc - pretty much everyone in the numerical analysis community rely on
this for solving large scale linear problems. Has good parallelization
(MPI) support, lot of sparse, direct solvers etc.,
lapack95 - Good if you are using fortran as your programming language. Has
been around for sometime. Code is well tested but does not have as many
routines as petsc. No parallel solvers or sparse solvers AFAIK.
IMSL - proprietary.
Matlab - proprietary, comes with a good GUI, lots of routines to plot
graphs, contours etc., contains lot of sparse solvers.
Octave - Use versions > 2.9.12 for better experience. Older versions are
incompatible with newer versions. Does not have a GUI provided by the
upstream, plotting capabilities are kind of limited. Does not have that
many sparse solvers. But if it works, it does the job well and the code is
actively developed. It integrates well with Linux (for example it uses
gnuplot for plotting, lapack for solving system of matrices etc.,).
My recommendation is to go either with octave or with petsc depending on
what you are looking for.
Kamaraju S Kusumanchi