[ Home :
TooN: Tom's Object-oriented numerics library
TooN is a C++ numerics library which is designed to operate efficiently on large numbers of
small matrices, and provides easy access to a number of algorithms including
matrix decompositions and optimizations.
TooN is type generic and works well with a variety of numeric types including
double, float and automatic differentiation types.
It is designed to integrate very will with the libCVD computer
vision library and GVars3 configuration library.
Miscellaneous extra algorithms are available in TaG
- 22/06/2018: Version 3.0 released
- TooN 3 is only compatible with C++14 onwards, but there are no imajor design changes.
- Remove DEFAULT_PRECISION since it's kind of awful
- Make in-place normalize() work as expected.
- DiagonalMatrix inverse.
- Construct using initialiser lists or in-place arrays.
- Many bug fixes.
- 09/11/2015: Version 3 begun.
- Version 3 drops compatibility with anything below C++14. This is motivated by
a bug report over a bugfeature which isn't fixable in any reasonably way in
- Version 2.2 will continue to exist and I'll accept patches, but
I won't be backporting any features myself.
- 27/09/2013: Version 2.2 released. Changes:
- License chanced to the BSD license.
- 25/09/2013: License changed to BSD
- 18/02/2013: Version 2.1 released. Changes:
- Built in unpivoted type generic QR factorisation using Householder reflections.
- swap now swaps Vector efficiently.
- 2x2 Matrix inverse function.
- Lots of conistency improvements (more general DiagonalMatrix, optimizations defaulting
to Dynamic, construct Vector from Data, FADBAD++ improvements).
- More extensive regression tests.
- Fixed some numerical bugs in 2x2 and 3x3 SymEigen .
- Platform compatibility improvements (VS2010, regression tests with non GNU AWK).
- 02/12/2012: Automatic regression testing on drone.io
- 22/11/2012: Moved to github.
- 08/02/2012: Version 2.0 released (after nearly 3.5 years in beta and it's cleaner, more general, more fully featured and smaller than TooN 1).
Changes since Beta_8
Notable bugfixes and cleanups since Beta_8
- Matrix square root.
- Matrix logarithm and SL<>::ln()
- Sim(2) and Sim(3) groups
- fadbad++ integration with SO(3) and SE(3)
- CLAPACK compatibility
- More consistent use of Precision and DefaultPrecision
- More consistent fadbad++ integration
- Various platform fixes (especially MinGW and clang++)
- More general operators for group objects
- Fixed out of bounds error in builtin SVD
- 06/02/2012: Switched source repository to git
- 03/11/2010: Released Version 2.0 Beta 8
The use of the latest version, git or a recent snapshot is recommended.
TooN Documentation .
TooN Internals Documentation
Mailing list. This list covers everything (commits, general questions, etc...)
Mailing list archives
TooN is currently licensed under the GPL with the libstdc++ exception.
Use in proprietary programs
You can use TooN in proprietary programs. TooN is under the same license as
GCC's C++ standard library and GCC has been used extensively for proprietary
Updated June 22nd 2018, 06:16