3

I'm looking for a C++ library that includes pinv (pseudo inverse matrix operation in MATLAB). I tried to use Armadillo but it lacks of Multi-threaded debug DLL(/MDd), but I need that type of lib for my project . check this.

I would be happy if you can share that version of lib or propose an alternative and lightweight library.

trante
  • 33,518
  • 47
  • 192
  • 272
  • I'm pretty sure that [boost linear](http://www.boost.org/doc/libs/1_51_0/libs/numeric/ublas/doc/index.htm) will have something you need. Just check it out. – Armen Tsirunyan Oct 08 '12 at 11:49

2 Answers2

5

You can use cv::invert function of OpenCV to calculate pseudo-inverse of a matrix.

The library is multi threaded, and uses Intel Thread Building Blocks to accelerate processing.

sgarizvi
  • 16,623
  • 9
  • 64
  • 98
1

Armadillo will happily use multi-threaded LAPACK libraries. Instead of using standard LAPACK, it's simply a matter of linking with a version of LAPACK that has multi-threading. For example, Intel's Math Kernel Library (MKL).

mtall
  • 3,574
  • 15
  • 23