26 #ifndef MATRIXSYMMETRIC_H
27 #define MATRIXSYMMETRIC_H
static MatrixSymmetric3D square(const MatrixSymmetric3D &A)
Calculates the pointwise square.
MatrixSymmetric3D & operator-=(const MatrixSymmetric3D &A)
Matrix substraction.
friend std::istream & operator>>(std::istream &is, MatrixSymmetric3D &A)
Add elements to an istream.
friend std::ostream & operator<<(std::ostream &os, const MatrixSymmetric3D &A)
Add elements to an ostream.
MatrixSymmetric3D operator+(const MatrixSymmetric3D &A) const
Matrix addition.
MatrixSymmetric3D & operator/=(const Mdouble a)
Scalar division.
void setZero()
Sets all elements to zero.
MatrixSymmetric3D operator-(const MatrixSymmetric3D &A) const
Matrix substraction.
MatrixSymmetric3D & operator+=(const MatrixSymmetric3D &A)
Matrix addition.
static MatrixSymmetric3D symmetrisedDyadic(const Vec3D &a, const Vec3D &b)
Calculates the symmetrised dyadic product of two Vec3D: .
static MatrixSymmetric3D selfDyadic(const Vec3D &a)
Calculates the dyadic product of a Vec3D with itself: .
MatrixSymmetric3D operator/(const Mdouble a) const
Scalar division.
MatrixSymmetric3D()
Default constructor.
friend Vec3D operator*(const MatrixSymmetric3D &A, const Vec3D &b)
Vector multiplication.
Implementation of a 3D matrix.
Implementation of a 3D vector (by Vitaliy).
Mdouble trace() const
Returns the MEAN of the diagonal elements (i.e. the trace divided by three).
static MatrixSymmetric3D sqrt(const MatrixSymmetric3D &A)
Calculates the pointwise square root.
Implementation of a 3D symmetric matrix.
Mdouble XX
The six distinctive matrix elements.