Linear Algebra in C++

S

Sprechen sie C++

I ended up developing my own package of linear algebra and abstract algebra
templates.

I called the project tensor.h and its thousands of lines of code

it all templates so it is independent (more or less) to the underlying
field/ring

Its legal with my library to use A = B etc as the operators are all
overloaded properly.

It took me over 2 years to develop.
 
D

Daniel

I have found the TNT and JAMA libraries quite excellent. See:
   http://math.nist.gov/tnt/
(Be sure you know what operator= does in this code.)
I recall the Rogue Wave matrix library also used shallow copy
semantics for operator=, I never liked that, it made it easy to make a
mistake.

-- Daniel
 
Joined
Sep 1, 2012
Messages
2
Reaction score
0
FLENS

There is one C++ library missing in this list: FLENS

http://flens.sf.net

Disclaimer: Yes, this is my baby

It is header only
  • Comes with a simple, non-performant, generic (i.e. templated) C++ reference implemenation of BLAS.
  • If available you can use an optimized BLAS implementation as backend. In this case its like using BLAS directly (some Benchmark I should update).
  • You can use overloaded operators instead of calling BLAS functions.
  • It comes with its own, stand-alone, generic re-implemenation of a bunch of LAPACK functions. We call this port FLENS-LAPACK.
  • FLENS-LAPACK has exactly the same accuracy and performance as Netlib's LAPACK. And in my experience (FLENS-)LAPACK+ATLAS or (FLENS-)LAPACK+OpenBLAS gives you the same performance as ACML or MKL.
  • FLENS has a different policy regarding the creation of temporary vector/matrices in the evaluation of linear algebra expressions. The FLENS policy is: Never create them!!!.
  • However, in a special debug-mode we allow the creation of temporaries "when necessary". This "when necessary" policy thing is the default in other libraries like Eigen or Armadillo or in Matlab.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,744
Latest member
CortneyMcK

Latest Threads

Top