IT++ is a C++ library offering classes and functions for linear algebra, numerical optimization, signal processing, communications, and statistics, widely used by researchers in industry and academia. Developed at Chalmers University of Technology, its core consists of templated vector and matrix classes, similar to Matlab/Octave. IT++ leverages free and open source libraries like BLAS, LAPACK, and FFTW, or optimized alternatives such as ATLAS, MKL, and ACML. It runs on Linux, Solaris, Windows, and OS X.
Example
Here is a trivial example demonstrating the IT++ functionality similar to Matlab/Octave,
#include <iostream> #include <itpp/itbase.h> using namespace std; using namespace itpp; int main() { vec a = linspace(0.0, 2.0, 2); vec b = "1.0 2.0"; vec c = 2*a + 3*b; cout << "c =\n" << c << endl; mat A = "1.0 2.0; 3.0 4.0"; mat B = "0.0 1.0; 1.0 0.0"; mat C = A*B + 2*A; cout << "C =\n" << C << endl; cout << "inverse of B =\n" << inv(B) << endl; return 0; }See also
- Free and open-source software portal
- List of numerical analysis software
- List of numerical libraries
- Numerical linear algebra
- Scientific computing
External links
References
IT++, Free Software Directory, Free Software Foundation, http://directory.fsf.org /wiki/Free_Software_Directory ↩
Bogdan Cristea. 2009. Turbo receivers with IT++. In Proceedings of the 2nd International Conference on Simulation Tools and Techniques (Simutools '09). ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), ICST, Brussels, Belgium, Belgium, doi:10.4108/ICST.SIMUTOOLS2009.5564 /wiki/Doi_(identifier) ↩
de Lima, C.H.M.; Stancanelli, E.M.G.; Rodrigues, E.B.; da S. Maciel, J.M.; Cavalcanti, F.R.P., A software development framework based on C++ OOP language for link-level simulation tools, Telecommunications Symposium, 2006 International, Fortaleza, Brazil, doi:10.1109/ITS.2006.4433344 /wiki/Doi_(identifier) ↩