a simple 3x3 matrix More...
#include <mia/3d/matrix.hh>
Public Member Functions | |
| T3DCVector< T > | get_complex_eigenvector (int i) const |
| T | get_det () const |
| int | get_eigenvalues (T3DVector< T > &v) const |
| int | get_rank () const |
| T3DVector< T > | get_real_eigenvector (int i) const |
| T3DMatrix< T > & | operator-= (const T3DMatrix< T > &other) |
| void | print (std::ostream &os) const |
| T3DMatrix () | |
| template<typename I > | |
| T3DMatrix (const T3DMatrix< I > &o) | |
| T3DMatrix (const T3DVector< T3DVector< T > > &other) | |
| T3DMatrix (const T3DVector< T > &x, const T3DVector< T > &y, const T3DVector< T > &z) | |
| T3DMatrix< T > | transposed () const |
Public Member Functions inherited from T3DVector< T3DVector< T > > | |
| void | fill (T3DVector< T > v) |
| Fill the vector elements with value v. More... | |
| double | norm () const |
| double | norm2 () const |
| square of Euclidian norm of the vector More... | |
| T3DVector< T3DVector< T > > & | operator*= (const double a) |
| inplace multiplication More... | |
| T3DVector< T3DVector< T > > & | operator*= (const T3DVector< T3DVector< T > > &a) |
| inplace component wise multiplication More... | |
| T3DVector< T3DVector< T > > & | operator+= (const T3DVector< T3DVector< T > > &a) |
| inplace addition More... | |
| T3DVector | operator- () const |
| T3DVector< T3DVector< T > > & | operator-= (const T3DVector< T3DVector< T > > &a) |
| inplace subtraction More... | |
| T3DVector< T3DVector< T > > & | operator/= (const double a) |
| inplace divisison by a scalar More... | |
| T3DVector< T3DVector< T > > & | operator= (const T3DVector< T3DVector< T > > &other)=default |
| we provide the default copy mechanisms More... | |
| T3DVector< T3DVector< T > > & | operator= (const T3DVector< in > &org) |
| assignment from different vector type More... | |
| const T3DVector< T > | operator[] (size_t i) const |
| T3DVector< T > & | operator[] (size_t i) |
| double | product () const |
| void | read (std::istream &is) |
| read the vector from a formatted string More... | |
| int | size () const |
| T3DVector () | |
| standart constructor More... | |
| T3DVector (int dim) | |
| create a zero-vector, dim must be 3 More... | |
| T3DVector (const T3DVector< T3DVector< T > > &other)=default | |
| we provide the default copy mechanisms More... | |
| T3DVector (const T3DVector< T > &x_, const T3DVector< T > &y_, const T3DVector< T > &z_) | |
| constructor to construct vector from values More... | |
| T3DVector (const T3DVector< in > &org) | |
| type casting copy constructor More... | |
| void | write (std::ostream &os) const |
| print out the formatted vector to the stream More... | |
| const T3DVector< T3DVector< T > > & | xyz () const |
| swizzle operator More... | |
| const T3DVector< T3DVector< T > > | xzy () const |
| swizzle operator More... | |
| const T3DVector< T3DVector< T > > | yxz () const |
| swizzle operator More... | |
| const T3DVector< T3DVector< T > > | yzx () const |
| swizzle operator More... | |
| const T3DVector< T3DVector< T > > | zxy () const |
| swizzle operator More... | |
| const T3DVector< T3DVector< T > > | zyx () const |
| swizzle operator More... | |
Static Public Member Functions | |
| static T3DMatrix< T > | diagonal (T value) |
| static T3DMatrix< T > | diagonal (const T3DVector< T > &values) |
Static Public Attributes | |
| static const T3DMatrix | _0 = T3DMatrix<T>() |
| The zero matrix. More... | |
| static const T3DMatrix | _1 |
| The unity matrix. More... | |
Static Public Attributes inherited from T3DVector< T3DVector< T > > | |
| static T3DVector< T3DVector< T > > | _0 |
| declare the vector (0,0,0) More... | |
| static T3DVector< T3DVector< T > > | _1 |
| declare the vector (1,1,1) More... | |
| static const unsigned int | elements |
| the number of elements this vector holds (=3) More... | |
Additional Inherited Members | |
Public Types inherited from T3DVector< T3DVector< T > > | |
| typedef T3DVector< T > | value_type |
| typedef for generic programming More... | |
Data Fields inherited from T3DVector< T3DVector< T > > | |
| T3DVector< T > | x |
| vector element More... | |
| T3DVector< T > | y |
| vector element More... | |
| T3DVector< T > | z |
| vector element More... | |
a simple 3x3 matrix
This si a simple implementation of a 3x3 matrix that supports the evaluation of certain properties and operations with vectors
| T | the data type of the elements of the matrix |
Definition at line 45 of file 3d/matrix.hh.
Construct a matrix by copying from a differenty typed matrix
| I | the element type of the original matrix |
| o | the matrix to be copied |
Definition at line 170 of file 3d/matrix.hh.
Construct the matrix by giving a 3D vector of 3D vectors
| other | the input matrix |
| T3DMatrix< T >::T3DMatrix | ( | const T3DVector< T > & | x, |
| const T3DVector< T > & | y, | ||
| const T3DVector< T > & | z | ||
| ) |
Construct the matrix by giving the rows as 3D vectors
| x | 1st row |
| y | 2st row |
| z | 3rd row |
Create a diagonal matrix
| value | the value to set the diagonal elements to |
|
static |
Create a diagonal matrix
| values | the values to set the diagonal elements to a(0,0) = values.x, a(1,1) = values.y, ... |
| T3DCVector<T> T3DMatrix< T >::get_complex_eigenvector | ( | int | i | ) | const |
Calculate the complex eigenvector to a given eigenvalues.
| i | number of eigenvector |
| T T3DMatrix< T >::get_det | ( | ) | const |
calculated the eigenvalues of the matrix using the caracteristic polynome, and Cardans formula
| result | stores the three eigenvalues, interprete dependend on returns |
| int T3DMatrix< T >::get_rank | ( | ) | const |
Calculate the eigenvector to a given eigenvalues. This function doesn't work for complex valued eigenvectors
| i | number of eigenvector |
| void T3DMatrix< T >::print | ( | std::ostream & | os | ) | const |
print the matrix to an ostream
| os | the output stream |
The zero matrix.
Definition at line 156 of file 3d/matrix.hh.
The unity matrix.
Definition at line 153 of file 3d/matrix.hh.