Go to the documentation of this file.
20 #ifndef __mia_3d_matrix_hh
21 #define __mia_3d_matrix_hh
107 void print( std::ostream& os)
const;
160 void evaluate_ev()
const;
163 mutable int m_ev_type;
165 mutable std::vector<T3DCVector<T>> m_complex_evectors;
166 mutable std::vector<int> m_ev_order;
169 template <
typename T>
170 template <
typename I>
179 template <
typename T>
185 template <
typename T>
189 m.
x.y * x.
x + m.
y.y * x.
y + m.
z.y * x.
z,
190 m.
x.z * x.
x + m.
y.z * x.
y + m.
z.z * x.
z);
194 template <
typename T>
201 template <
typename T>
211 template <
typename T>
215 m.
x.x * x.
x.y + m.
x.y * x.
y.y + m.
x.z * x.
z.y,
216 m.
x.x * x.
x.z + m.
x.y * x.
y.z + m.
x.z * x.
z.z),
218 m.
y.x * x.
x.y + m.
y.y * x.
y.y + m.
y.z * x.
z.y,
219 m.
y.x * x.
x.z + m.
y.y * x.
y.z + m.
y.z * x.
z.z),
221 m.
z.x * x.
x.y + m.
z.y * x.
y.y + m.
z.z * x.
z.y,
222 m.
z.x * x.
x.z + m.
z.y * x.
y.z + m.
z.z * x.
z.z));
232 template <
typename T>
237 template <
typename T>
static T3DMatrix< T > diagonal(T value)
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
T3DVector< T > get_real_eigenvector(int i) const
void print(std::ostream &os) const
T3DVector< T > x
vector element
#define NS_MIA_END
conveniance define to end the mia namespace
static const T3DMatrix _1
The unity matrix.
T3DVector< T > operator*(const T3DMatrix< T > &m, const T3DVector< T > &x)
int get_eigenvalues(T3DVector< T > &v) const
double EXPORT_GSL dot(const gsl_vector *lhs, const gsl_vector *rhs)
T3DCVector< T > get_complex_eigenvector(int i) const
T3DMatrix< double > C3DDMatrix
a simple 3x3 matrix with double precision floating point values
std::ostream & operator<<(std::ostream &os, const T3DMatrix< T > &m)
T3DMatrix< T > & operator-=(const T3DMatrix< T > &other)
T3DVector< T > y
vector element
T3DMatrix< T > transposed() const
T3DMatrix< float > C3DFMatrix
a simple 3x3 matrix with single precision floating point values
static const T3DMatrix _0
The zero matrix.
T3DVector< T > z
vector element