#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. |
1.4.4