I know there are some optimized algorithms around for all kind of matrix decompositions (QR decomposition, SVD,...), multiplications and the likes. Yet, I couldn't find a good overview. For C++, there is quite some useful information in this question, but I'm looking for those things in C.
Asked
Active
Viewed 5.7k times
22
-
1Related question : http://stackoverflow.com/questions/198991/recommendations-for-a-small-c-based-vector-and-matrix-library – Joris Meys Dec 21 '10 at 16:50
3 Answers
21
You did not mention whether you wanted an open-source or a commercial software, so here is a list containing both:
- GNU Scientific Library (GSL)
- Basic Linear Algebra Subprograms (BLAS)
- Meschach
- Numerical Algorithms Group (NAG)
There was also this previous question on the subject.
-
-
1Nice answer, +1. Do you know any package (one of the answer maybe) that supports *matrix multiplication in parallel*? – gsamaras Apr 01 '15 at 21:19
5
You might want to take a look at BLAS and LAPACK. These are written in Fortran, but are callable from C, and are pretty much the standard libraries of this type.
Most serious linear algebra packages that I know of (MATLAB, Octave, NumPy) are built using these.

NPE
- 486,780
- 108
- 951
- 1,012
-
3The problem is, for small matrices, they tend to spend more time classifying their arguments than actually doing math. – Mike Dunlavey Jun 18 '13 at 12:52
3
Perhaps GNU Scientific Library (GSL) would be of interest.
http://www.gnu.org/software/gsl/
Documentation topics: http://www.gnu.org/software/gsl/manual/html_node/

Victor Zamanian
- 3,100
- 24
- 31