Armadillo C++ matrix library Icon

Armadillo C++ matrix library

5.0 Stars (20)
1,270 Downloads (This Week)
Last Update:
Download armadillo-7.300.0.tar.xz
Browse All Files
Windows BSD Mac Linux

Screenshots

Description

Fast C++ matrix library with easy to use functions and syntax, deliberately similar to Matlab. Uses template meta-programming techniques.

Also provides efficient wrappers for LAPACK, BLAS and ATLAS libraries, including high-performance versions such as Intel MKL, AMD ACML and OpenBLAS.

Useful for machine learning, pattern recognition, signal processing, bioinformatics, statistics, econometrics, etc.

For more details, see http://arma.sourceforge.net

Armadillo C++ matrix library Web Site

Features

  • Easy to use
  • Many MATLAB like functions
  • Efficient classes for vectors, matrices, cubes (3rd order tensors) and fields
  • Fast singular value decomposition (SVD), eigen decomposition, QR, LU, Cholesky, FFT
  • Statistical modelling using Gaussian Mixture Models (GMM)
  • Clustering using K-means and Expectation Maximisation
  • Automatic vectorisation of expressions (SIMD)
  • Contiguous and non-contiguous submatrices
  • Automatically combines several operations into one
  • Useful for prototyping directly in C++
  • Useful for conversion of research code into production environments
  • Distributed under a license useful in both open-source and proprietary/commercial contexts

KEEP ME UPDATED

User Ratings

★★★★★
★★★★
★★★
★★
20
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
Write a Review

User Reviews

  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    This library is great for converting Matlab code into efficient C++. My methodology is to copy the Matlab into a C++ editor window, and convert line-by-line. It's not a one-to-one conversion, but, it's close (2-3 lines C++ to 1 Matlab). Efficiency is excellent. I have benchmarked a dot product operation and found its use with OpenBLAS is close to the maximum CPU capability. The only downside is that when Armadillo throws an exception (during development), it can be difficult to find the source of the problem. The best solution is a stack trace in the debugger.

    Posted 10/31/2015
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Excellent all-purpose matrix library.

    Posted 02/28/2015
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    I like this project. It takes advantage of the new C++ features and is very easy to use.

    Posted 01/10/2015
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Excellent usability, active development

    Posted 12/19/2014
  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    A good matrix library that gives the best performance results. It allows the usage of several other third party libraries such as MKL, OpenBlas and ACML. Active development. As a downside, I would say that the last version (4.350, if I am not mistaken) does not support compilers lower or older than the one available in visual studio 2012 (v110). In our company, we had to use an older armadillo version to make it compatible with our environment.

    Posted 10/17/2014
Read more reviews

Additional Project Details

Intended Audience

Information Technology, Science/Research, Education, Telecommunications Industry, Advanced End Users, Developers

Programming Language

MATLAB, C++

Registered

2008-02-08

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Windows
Mac
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies
X

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks
Screenshots can attract more users to your project.
Features can attract more users to your project.