TooN

Object-oriented numerics library
Download

TooN Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Tom Drummond
  • Publisher web site:
  • http://mi.eng.cam.ac.uk/~twd20/

TooN Tags


TooN Description

Object-oriented numerics library Toon (Tom's Object-oriented numerics) library was created to efficiently operate on large numbers of small matrices, and provides easy access to a number of algorithms including matrix decompositions and optimizations.It is designed to integrate very will with the libCVD computer vision library and GVars3 configuration library. Miscellaneous extra algorithms are available in TaG.It provides classes for statically- (known at compile time) and dynamically-(unknown at compile time) sized vectors and matrices and it delegates advanced functions (like SVD or multiplication of large matrices) to LAPACK and BLAS (this means you will need libblas and liblapack).The library makes substantial internal use of templates to achieve run-time speed efficiency whilst retaining a clear programming syntax.To use:1) Make sure you have a suitable compiler (g++ version < 3 is no good)2) Make sure all these files are in your include path.3) Then#include < numerics.h >and#include < numhelpers.h > // (if you want a few extras)#include < SVD.h > // (if you want singular value decompositions)#include < LU.h > // (if you want lu triangular decompositions)#include < SymEigen.h > // (if you want Eigen decomposition of symmetric matrices)4) Finally you need to link with -llapack -lblas (and -lg2c for g++ I'm not sure about other compilers)(this means you will also need liblapack.{a,so} and libblas.{a,so})That's it. Here are some key features of "TooN": · It supports statically sized vectors and matrices very efficiently; · It provides extensive type safety for statically sized vectors and matrices (you can't attempt to multiply a 3x4 matrix and a 2-vector); · It supports transposition, subscripting and slicing of matrices (to obtain a vector) very efficiently; · It interfaces well to other libraries; · It exploits LAPACK and BLAS (for which optimised versions exist on many platforms). Requirements: · libblas · liblapack What's New in This Release: · In addition to many bugfixes, several features have been added. · Mixed static/dynamic slices. Built-in singular value decomposition (much faster than LAPACK for small to moderate sized matrices). · Symmetric matrix square root and inverse square root. · Accurate numerical derivatives (first and second) using Ridder's method. · Efficient resizable vectors. · A regression testing framework. · Better backwards compatibility with TooN-1. · Single precision LAPACK based Cholesky decomposition. · More documentation.


TooN Related Software