Classes | |
class | TooN::DiagonalMatrix< Size, Precision, Base > |
struct | TooN::Matrix< Rows, Cols, Precision, Layout > |
class | TooN::Vector< Size, Precision, Base > |
Functions | |
template<int Size, class P , class B > | |
TooN::Matrix< 3, 3, P > | TooN::cross_product_matrix (const Vector< Size, P, B > &vec) |
template<int R, int C, class P , class B > | |
P | TooN::determinant (const Matrix< R, C, P, B > &A) |
template<int R, int C, typename Precision , typename Base > | |
Precision | TooN::determinant_gaussian_elimination (const Matrix< R, C, Precision, Base > &A_) |
template<int R, int C, typename P , typename B > | |
Matrix< R, C, P > | TooN::exp (const Matrix< R, C, P, B > &m) |
template<int Size, class Precision , class Base > | |
Internal::VectorStartFill < Size, Precision, Base > | TooN::Fill (Vector< Size, Precision, Base > &v) |
template<int R, int C, class Precision , class Base > | |
Internal::MatrixStartFill< R, C, Precision, Base > | TooN::Fill (Matrix< R, C, Precision, Base > &m) |
template<int Rows, int Cols, class Precision , class Base > | |
TOON_DEPRECATED void | TooN::Fill (Matrix< Rows, Cols, Precision, Base > &m, const Precision &p) |
template<int Size, class Precision , class Base > | |
TOON_DEPRECATED void | TooN::Fill (Vector< Size, Precision, Base > &v, const Precision &p) |
template<int S, class P , class B > | |
bool | TooN::isfinite (const Vector< S, P, B > &v) |
template<int S, class P , class B > | |
bool | TooN::isnan (const Vector< S, P, B > &v) |
template<int Size, class Precision , class Base > | |
Precision | TooN::norm (const Vector< Size, Precision, Base > &v) |
template<int R, int C, typename P , typename B > | |
P | TooN::norm_1 (const Matrix< R, C, P, B > &m) |
template<int Size, class Precision , class Base > | |
Precision | TooN::norm_1 (const Vector< Size, Precision, Base > &v) |
template<int Size, class Precision , class Base > | |
Precision | TooN::norm_2 (const Vector< Size, Precision, Base > &v) |
template<int R, int C, typename P , typename B > | |
P | TooN::norm_fro (const Matrix< R, C, P, B > &m) |
template<int R, int C, typename P , typename B > | |
P | TooN::norm_inf (const Matrix< R, C, P, B > &m) |
template<int Size, class Precision , class Base > | |
Precision | TooN::norm_inf (const Vector< Size, Precision, Base > &v) |
template<int Size, class Precision , class Base > | |
Precision | TooN::norm_sq (const Vector< Size, Precision, Base > &v) |
template<int Size, class Precision , class Base > | |
void | TooN::normalize (Vector< Size, Precision, Base > v) |
template<int Size, typename Precision , typename Base > | |
Vector<(Size==Dynamic?Dynamic:Size-1), Precision > | TooN::project (const Vector< Size, Precision, Base > &v) |
template<int Rows, int Cols, typename Precision , typename Base > | |
void | TooN::Symmetrize (Matrix< Rows, Cols, Precision, Base > &m) |
template<int Rows, int Cols, typename Precision , typename Base > | |
Precision | TooN::trace (const Matrix< Rows, Cols, Precision, Base > &m) |
template<int Size, class Precision , class Base > | |
Vector< Size, Precision > | TooN::unit (const Vector< Size, Precision, Base > &v) |
template<int Size, typename Precision , typename Base > | |
Vector<(Size==Dynamic?Dynamic:Size+1), Precision > | TooN::unproject (const Vector< Size, Precision, Base > &v) |
Variables | |
static Operator < Internal::Identity < Internal::One > > | TooN::Identity |
static const Operator < Internal::Scalars < Internal::One > > | TooN::Ones |
static Operator< Internal::Zero > | TooN::Zeros |
| |
template<int Rows, int Cols> | |
Matrix< Rows, Cols, double, Reference::RowMajor > | TooN::wrapMatrix (double *data) |
Vector and Matrix classes, and helpers.
TooN::Matrix<3, 3, P> TooN::cross_product_matrix | ( | const Vector< Size, P, B > & | vec | ) | [inline] |
P TooN::determinant | ( | const Matrix< R, C, P, B > & | A | ) | [inline] |
Compute the determinant of a matrix using an appropriate method. The obvious method is used for 2x2, otherwise determinant_gaussian_elimination() or determinant_LU() is used depending on the value of TOON_DETERMINANT_LAPACK
. See also Functions using LAPACK.
A | The matrix to find the determinant of. |
Definition at line 149 of file determinant.h.
Precision TooN::determinant_gaussian_elimination | ( | const Matrix< R, C, Precision, Base > & | A_ | ) | [inline] |
Compute the determinant using Gaussian elimination.
A_ | The matrix to find the determinant of. |
Definition at line 66 of file determinant.h.
Matrix<R, C, P> TooN::exp | ( | const Matrix< R, C, P, B > & | m | ) | [inline] |
Internal::VectorStartFill<Size, Precision, Base> TooN::Fill | ( | Vector< Size, Precision, Base > & | v | ) | [inline] |
Set up a vector for filling. Uses the following syntax:
Overfill is detected at compile time if possible, underfill is detected at run-time. The checks can not be optimized out for dynamic vectors, so define TOON_NDEBUG_FILL
to prevent the checks from being used.
v | Vector to fill |
Internal::MatrixStartFill<R, C, Precision, Base> TooN::Fill | ( | Matrix< R, C, Precision, Base > & | m | ) | [inline] |
Set up a matrix for filling. Uses the following syntax:
Matrix<2,2> m; Fill(m) = 1, 2, 3, 4;
Overfill is detected at compile time if possible, underfill is detected at run-time. The checks can not be optimized out for dynamic matrices, so define TOON_NDEBUG_FILL
to prevent the checks from being used.
m | Matrix to fill |
TOON_DEPRECATED void TooN::Fill | ( | Matrix< Rows, Cols, Precision, Base > & | m, | |
const Precision & | p | |||
) | [inline] |
TOON_DEPRECATED void TooN::Fill | ( | Vector< Size, Precision, Base > & | v, | |
const Precision & | p | |||
) | [inline] |
bool TooN::isfinite | ( | const Vector< S, P, B > & | v | ) | [inline] |
bool TooN::isnan | ( | const Vector< S, P, B > & | v | ) | [inline] |
Precision TooN::norm | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
P TooN::norm_1 | ( | const Matrix< R, C, P, B > & | m | ) | [inline] |
Precision TooN::norm_1 | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
Precision TooN::norm_2 | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
P TooN::norm_fro | ( | const Matrix< R, C, P, B > & | m | ) | [inline] |
P TooN::norm_inf | ( | const Matrix< R, C, P, B > & | m | ) | [inline] |
Precision TooN::norm_inf | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
Precision TooN::norm_sq | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
void TooN::normalize | ( | Vector< Size, Precision, Base > | v | ) | [inline] |
Vector<(Size==Dynamic?Dynamic:Size-1), Precision> TooN::project | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
void TooN::Symmetrize | ( | Matrix< Rows, Cols, Precision, Base > & | m | ) | [inline] |
Precision TooN::trace | ( | const Matrix< Rows, Cols, Precision, Base > & | m | ) | [inline] |
Vector<Size, Precision> TooN::unit | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
Vector<(Size==Dynamic?Dynamic:Size+1), Precision> TooN::unproject | ( | const Vector< Size, Precision, Base > & | v | ) | [inline] |
Matrix<Rows, Cols, double, Reference::RowMajor> TooN::wrapMatrix | ( | double * | data | ) | [inline] |
Wrap external data as a Matrix As usual, if template sizes are provided, then the run-time size is only used if the template size is not Dynamic.
Definition at line 98 of file reference.hh.
Operator<Internal::Identity<Internal::One> > TooN::Identity [static] |
This function is used to add a scalar to the diagonal of a matrix, or to construct matrices. For example:
Matrix<3> v; ... ... Matrix<3> u = v + Identity * 4;
Both + and += are supported. For assignment, if the matrix is non-square, then all elements off the leading diagonal are set to zero. For construction of dynamic matrices, a size needs to be given:
Matrix<3> m_static = Identity; Matrix<> m_dynamic = Identity(3); //Construct a 3x3 matrix
const Operator<Internal::Scalars<Internal::One> > TooN::Ones [static] |
This function is used to add a scalar to every element of a vector or matrix. For example:
Vector<3> v; ... ... v += Ones * 3; //Add 3 to every element of v;
Both + and += are supported on vectors,matrices and slices.
For construction of dynamic vectors and matrices, a size needs to be given:
Operator<Internal::Zero> TooN::Zeros [static] |
This function is used to initialize vectors and matrices to zero. For construction of dynamic vectors and matrices, a size needs to be given. For example: