78 double Det(
void)
const;
145 void print(
void)
const;
164Matrix3
operator+(
const Matrix3 &m1,
const Matrix3 &m2);
174Matrix3
operator-(
const Matrix3 &m1,
const Matrix3 &m2);
184Matrix3
operator/(
const Matrix3 &m,
const double &s);
194Matrix3
operator*(
const Matrix3 &m1,
const Matrix3 &m2);
204Matrix3
operator*(
const Matrix3 &m,
const double &s);
214Matrix3
operator*(
const double &s,
const Matrix3 &m);
246bool operator==(
const Matrix3 &m1,
const Matrix3 &m2);
257bool operator!=(
const Matrix3 &m1,
const Matrix3 &m2);
264 m.
e31 * u.x + m.
e32 * u.y + m.
e33 * u.z);
272 u.x * m.
e13 + u.y * m.
e23 + u.z * m.
e33);
3x3 matrix and related mathamatical operations
Definition matrix3.h:19
double e13
Definition matrix3.h:26
Matrix3 & operator-=(const Matrix3 &m)
Overload operator "-=" for 3x3 matrices For example, mb -= ma.
Definition matrix3.cpp:80
Matrix3 & operator=(const Matrix3 &m)
Overload operator "=" for 3x3 matrices For example, assign mb = ma.
Definition matrix3.cpp:64
Matrix3 & operator/=(const double &s)
Overload operator "/=" for 3x3 matrix and a scalar For example, mb /= 3.0.
Definition matrix3.cpp:96
Matrix3 Inverse(void) const
Inverse a 3x3 matrix.
Definition matrix3.cpp:44
double e31
Definition matrix3.h:26
void Identity(void)
Set a 3x3 matrix to identity matrix.
Definition matrix3.cpp:15
void Zero(void)
Set all elements of a 3x3 matrix to zero.
Definition matrix3.cpp:22
double e11
element e_ij: i_row, j_column
Definition matrix3.h:26
double e33
Definition matrix3.h:26
double e32
Definition matrix3.h:26
ModuleBase::matrix to_matrix(void) const
Change the form of a 3x3 matrix from that of class Matrix3 to that of class matrix.
Definition matrix3.cpp:203
double e21
Definition matrix3.h:26
double e12
Definition matrix3.h:26
double Det(void) const
Calculate the determinant of a 3x3 matrix.
Definition matrix3.cpp:29
Matrix3()
Construct a new Matrix 3 object to Identity matrix.
Definition matrix3.h:33
Matrix3 & operator*=(const double &s)
Overload operator "*=" for 3x3 matrix and a scalar For example, mb *= 3.0.
Definition matrix3.cpp:88
double e23
Definition matrix3.h:26
void print(void) const
Print a 3x3 matrix on screening.
Definition matrix3.cpp:195
double e22
Definition matrix3.h:26
Matrix3 & operator+=(const Matrix3 &m)
Overload operator "+=" for 3x3 matrices For example, mb += ma.
Definition matrix3.cpp:72
Matrix3 Transpose(void) const
Transpose a 3x3 matrix.
Definition matrix3.cpp:39
3 elements vector
Definition vector3.h:22
Definition array_pool.h:6
ComplexMatrix operator-(const ComplexMatrix &m1, const ComplexMatrix &m2)
Definition complexmatrix.cpp:154
ComplexArray operator*(const double r, const ComplexArray &cd)
Scale a ComplexArray cd by real r.
Definition complexarray.cpp:120
bool operator!=(const Matrix3 &m1, const Matrix3 &m2)
Overload operator "!=" to assert the inequality between two 3x3 matrices.
Definition matrix3.cpp:189
Matrix3 operator/(const Matrix3 &m, const double &s)
Overload operator "/" for a (Matrix3)/(scalar) i.e. m/s.
Definition matrix3.cpp:133
bool operator==(const Matrix3 &m1, const Matrix3 &m2)
Overload operator "==" to assert the equality between two 3x3 matrices.
Definition matrix3.cpp:171
ComplexMatrix operator+(const ComplexMatrix &m1, const ComplexMatrix &m2)
Definition complexmatrix.cpp:143