#include <Matrix3.hpp>
Public Member Functions | |
Matrix3 () | |
Matrix3 (double diagonal) | |
Matrix3 (const CartVect &diagonal) | |
Matrix3 (const std::vector< double > &diagonal) | |
Matrix3 (double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22) | |
Matrix3 (const Matrix3 &f) | |
template<typename Vector > | |
Matrix3 (const Vector &row0, const Vector &row1, const Vector &row2, const bool isRow) | |
Matrix3 (const double v[size]) | |
void | copyto (double v[Matrix3::size]) |
Matrix3 & | operator= (const Matrix3 &m) |
Matrix3 & | operator= (const double v[size]) |
double * | operator[] (unsigned i) |
const double * | operator[] (unsigned i) const |
double & | operator() (unsigned r, unsigned c) |
double | operator() (unsigned r, unsigned c) const |
double & | operator() (unsigned i) |
double | operator() (unsigned i) const |
double * | array () |
const double * | array () const |
Matrix3 & | operator+= (const Matrix3 &m) |
Matrix3 & | operator-= (const Matrix3 &m) |
Matrix3 & | operator*= (double s) |
Matrix3 & | operator/= (double s) |
Matrix3 & | operator*= (const Matrix3 &m) |
bool | is_symmetric () |
bool | is_positive_definite () |
template<typename Vector > | |
ErrorCode | eigen_decomposition (Vector &evals, Matrix3 &evecs) |
template<typename Vector > | |
ErrorCode | eigen_decomposition_native (Vector &eigenvalues, Matrix3 &eigenvectors) |
void | transpose_inplace () |
Matrix3 | transpose () const |
template<typename Vector > | |
void | copycol (int index, Vector &vol) |
void | swapcol (int srcindex, int destindex) |
template<typename Vector > | |
Vector | vcol (int index) const |
void | colscale (int index, double scale) |
void | rowscale (int index, double scale) |
CartVect | col (int index) const |
CartVect | row (int index) const |
CartVect | diagonal () const |
double | trace () const |
double | determinant () const |
Matrix3 | inverse () const |
bool | invert () |
double | subdet (int r, int c) const |
void | print (std::ostream &s) const |
Static Public Member Functions | |
static Matrix3 | identity () |
Static Public Attributes | |
static const int | size = 9 |
Private Attributes | |
double | _mat [size] |
Friends | |
Matrix3 | operator+ (const Matrix3 &a, const Matrix3 &b) |
Matrix3 | operator- (const Matrix3 &a, const Matrix3 &b) |
Matrix3 | operator* (const Matrix3 &a, const Matrix3 &b) |
Definition at line 173 of file Matrix3.hpp.
|
inline |
Definition at line 187 of file Matrix3.hpp.
References _mat, MOAB_DMEMZERO, and size.
Referenced by identity(), inverse(), and transpose().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 416 of file Matrix3.hpp.
References _mat.
Referenced by moab::EvalSet::evaluate_reverse(), and moab::LinearTet::evaluate_reverse().
|
inline |
|
inline |
Definition at line 971 of file Matrix3.hpp.
Referenced by moab::OrientedBox::area(), moab::OrientedBox::axis(), moab::box_from_axes(), moab::OrientedBox::closest_location_in_box(), moab::OrientedBox::contained(), moab::OrientedBox::dimensions(), eigen_decomposition_native(), moab::OrientedBox::inner_radius(), moab::OrientedBox::inner_radius_squared(), moab::OrientedBox::make_hex(), moab::operator<<(), moab::OrientedBox::OrientedBox(), moab::OrientedBox::outer_radius(), moab::OrientedBox::outer_radius_squared(), moab::OrientedBox::scaled_axis(), and moab::OrientedBox::volume().
|
inline |
Definition at line 917 of file Matrix3.hpp.
Referenced by moab::box_from_axes(), and moab::OrientedBox::order_axes_by_length().
|
inline |
|
inline |
Definition at line 332 of file Matrix3.hpp.
Referenced by moab::LinearTet::initFcn(), and moab::LinearTri::initFcn().
|
inline |
Definition at line 1033 of file Matrix3.hpp.
References _mat.
Referenced by moab::Element::Map::det_ijacobian(), moab::Element::Map::det_jacobian(), moab::EvalSet::evaluate_reverse(), moab::LinearTet::evaluate_reverse(), moab::LinearTri::evaluate_reverse(), moab::Element::Map::ievaluate(), moab::LinearTet::initFcn(), moab::LinearTri::initFcn(), moab::Element::SpectralHex::integrate_scalar_field(), moab::element_utility::Spectral_hex_map< _Matrix >::integrate_scalar_field(), moab::ElemUtil::integrate_trilinear_hex(), moab::LinearHex::integrateFcn(), moab::LinearQuad::integrateFcn(), inverse(), invert(), moab::AffineXform::reflection(), moab::AffineXform::scale(), moab::Element::LinearTet::set_vertices(), moab::Element::LinearTri::set_vertices(), moab::GeomUtil::VolMap::solve_inverse(), moab::ElemUtil::VolMap::solve_inverse(), and test_spectral_hex().
|
inline |
|
inline |
Definition at line 635 of file Matrix3.hpp.
References _mat, eigen_decomposition_native(), is_symmetric(), MB_CHK_SET_ERR, and MB_SUCCESS.
Referenced by moab::OrientedBox::compute_from_covariance_data(), and moab::OrientedBox::compute_from_vertices().
|
inline |
Definition at line 666 of file Matrix3.hpp.
References col(), EPSILON, identity(), MB_SUCCESS, and moab::CartVect::normalize().
Referenced by eigen_decomposition().
|
inlinestatic |
Definition at line 785 of file Matrix3.hpp.
References Matrix3().
Referenced by eigen_decomposition_native().
|
inline |
Definition at line 1043 of file Matrix3.hpp.
References _mat, determinant(), and Matrix3().
Referenced by moab::Element::Map::det_ijacobian(), moab::EvalSet::evaluate_reverse(), moab::LinearTet::evaluate_reverse(), moab::LinearTri::evaluate_reverse(), moab::Element::Map::ievaluate(), moab::Element::Map::ijacobian(), moab::LinearTet::initFcn(), moab::LinearTri::initFcn(), moab::AffineXform::inverse(), moab::Element::LinearTet::set_vertices(), moab::Element::LinearTri::set_vertices(), moab::element_utility::Linear_hex_map::solve_inverse(), moab::GeomUtil::VolMap::solve_inverse(), and moab::ElemUtil::VolMap::solve_inverse().
|
inline |
Definition at line 1064 of file Matrix3.hpp.
References _mat, determinant(), moab::Util::is_finite(), and size.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 478 of file Matrix3.hpp.
|
inline |
Definition at line 456 of file Matrix3.hpp.
Definition at line 434 of file Matrix3.hpp.
Definition at line 445 of file Matrix3.hpp.
|
inline |
Definition at line 467 of file Matrix3.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 991 of file Matrix3.hpp.
|
inline |
Definition at line 944 of file Matrix3.hpp.
|
inline |
Definition at line 1095 of file Matrix3.hpp.
|
inline |
Definition at line 849 of file Matrix3.hpp.
Referenced by moab::box_from_axes(), and moab::OrientedBox::order_axes_by_length().
|
inline |
|
inline |
Definition at line 806 of file Matrix3.hpp.
References _mat, and Matrix3().
Referenced by moab::OrientedBox::intersect_ray().
|
inline |
|
inline |
Definition at line 898 of file Matrix3.hpp.
Definition at line 1154 of file Matrix3.hpp.
Definition at line 1130 of file Matrix3.hpp.
Definition at line 1142 of file Matrix3.hpp.
|
private |
Definition at line 182 of file Matrix3.hpp.
Referenced by array(), col(), colscale(), copycol(), copyto(), determinant(), diagonal(), eigen_decomposition(), inverse(), invert(), is_positive_definite(), is_symmetric(), Matrix3(), operator()(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), operator[](), print(), row(), rowscale(), subdet(), swapcol(), trace(), transpose(), transpose_inplace(), and vcol().
|
static |
Definition at line 176 of file Matrix3.hpp.
Referenced by col(), colscale(), copyto(), moab::LinearTet::initFcn(), moab::LinearTri::initFcn(), invert(), Matrix3(), operator*=(), operator+=(), operator-=(), operator/=(), operator=(), row(), rowscale(), subdet(), swapcol(), and vcol().