Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C library for linear algebra [closed]

Please, give me some tips for a HIGH PERFORMANCE C library for linear algebra (matrix algebra, eigenvalues, eigenvectors etc.). Can be both open-source or closed-source.

like image 455
Cartesius00 Avatar asked Aug 29 '11 09:08

Cartesius00


People also ask

Is there linear algebra library in C?

linalg is a library for linear algebra and regression implemented in C. The code is optimized for readability and clarity instead of raw efficiency (though it tries not to ignore issues of efficiency completely).

Is there a matrix library in C++?

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

How do you use armadillo in Visual Studio?

To use Armadillo in your Visual C++ project, add $(ARMADILLO_ROOT)/include as an Include directory. Since Armadillo source code uses LAPACK and BLAS, your project needs to link with these libraries. Armadillo ships with pre-built 32-bit .


2 Answers

  1. CLAPACK (f2c'ed version of LAPACK)
  2. GSL - GNU Scientific Library

EDIT Thanks to comments from osgx:

  • CLAPACK is the library which uder the hood uses very high-performance BLAS library, as do other libraries, like ATLAS.
  • GSL is a standalone C library, not as fast as any based on BLAS. However its performance is still quite good (not extremely good though) and is used quite often; mostly because of its portability.

I know both LAPACK and GSL and I can recommend both of them. LAPACK is very low-level library and GSL may be more comfortable to use, but speaking of good performance -- BLAS-based library it is.

like image 163
Archie Avatar answered Sep 28 '22 06:09

Archie


ATLAS, maybe?

Edit: if you're open to C++, you should definitely check Eigen, it's a very neat library, and pretty fast too, according to the benchmarks.

like image 45
static_rtti Avatar answered Sep 28 '22 07:09

static_rtti