#include <linalg_abstract.h>
Public Types | |
typedef T | conjugate_type |
The type of conjugate(T). For most types, conjugate_type<T> = T. | |
typedef T | norm_type |
In general, the type of T*conjugate(T). | |
typedef T | abs_type |
The type of the absolute value of a T; typically the same as norm_type<T>. | |
typedef T | general_eigenvalue_type |
The type of the eigenvalues of a Matrix<T>. | |
typedef T | general_eigenvector_type |
The type of the elements of an eigenvector of a Matrix<T>. | |
Static Public Member Functions | |
static conjugate_type | conjugate (T t) |
Method to return the conjugate of a T. Generic types are invariant under conjugation. | |
static norm_type | norm (T t) |
Method to return the squared 2-norm of a T. Generically: t*conjugate(t). | |
static abs_type | sqrt (norm_type n) |
Method to return the square root of a norm_type<T>. |
The purpose of linalg_traits<T> is to allow a linear algebra object templated on T to discern properties of T at compile-time. These properties include everything necessary to perform all the member methods of standard Vector and Matrix classes.
linalg_traits<T> is currently specialized for T = double
and T = std::complex<double>
.
|
Method to return the square root of a norm_type<T>. Generically: std::sqrt(). This throws an error if std::sqrt(norm_type<T>) is not defined. |