NT² is an Open Source C++ library providing various template matrix classes that can be used with a Matlab like syntax whose performances are close to those obtained with hand written C code. Based on a wide usage of advanced template techniques, this library provides various numerical toolboxes like linear algebra, polynom or optimisation.
Various attempt has been made to provide a generic, rich and intuitive scientific computation library. Most of them failed to provide the expected performance due to various langage limitations. Based on advanced C++ techniques, NT² proposes a new way to handle classical computation needs.
NT² interface is based upon numeric arrays and their manipulation. It provides intuitive functions and operator to perform various operations on them using a Matlab like interface. Eg : common arithmetic operations, original math.h functions, matrix product, singular value decomposition, gaussian elimination, sorting, filtering, eigenvalues and eigenvectors computation. NT² use a modular system to provide other computation help classes. Modules currently available includes polynom handling and function optimisation.
The strongest advantage of NT² is the high performance of the compiled executable. For most operations or operations composition, NT² speeds is very close to hand written C code. Take advantage of a high level matrix library and still run at full C speed. For algebraic, NT² relies on the efficient LAPACK library and provides a ready to use interface to most of LAPACK functionnality.
Moreover NT² is compatible with SIMD multimedia extension. In a matter of seconds, boost your performances with SSE2 or AltiVec code. No need to master those hard to grasp intrinsics or assembly language construct, NT² covers it all in a seamless, intuitive interface.
June 2 - 2006 : Initial Release
NT² v1.0 is available for download.
Including :
More info on compatibility and supported compilers are available in the installation page.
Bug reports, compatibility patch or request for features are welcome.