![]() |
SheafSystem
0.0.0.0
|
Symmetric matrix with 3 rows and 3 columns. More...
#include <symmetric_matrix_3x3.h>
Public Member Functions | |
| operator met_e3_row_dofs_type< T > & () const | |
| Operator to convert current to met_e3_row_dofs_type. More... | |
| operator st2_e3_row_dofs_type< T > & () const | |
| Operator to convert current to st2_e3_row_dofs_type. More... | |
| T * | operator[] (int xrow) |
| Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j]. More... | |
| const T * | operator[] (int xrow) const |
| Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j]. More... | |
| operator T* () | |
| Conversion (cast) operator to convert to the associated matrix type (non const version). More... | |
| operator const T * () const | |
| Conversion (cast) operator to convert to the associated matrix type (const version). More... | |
| int | row_index (int xrow) const |
| Index for row xrow in the linear storage array. More... | |
| operator general_matrix_3x3< T > () const | |
| Conversion operator to convert to the associated general matrix type. More... | |
| general_matrix_1x3< T > | row (int xrow) const |
| A 1x3 matrix containing the elements or row xrow. More... | |
| general_matrix_3x1< T > | column (int xcolumn) const |
| A 3x1 matrix containing the elements or column xcolumn. More... | |
| void | adjoint (symmetric_matrix_3x3< T > &xresult) const |
| The adjoint of the matrix (pre-allocated). More... | |
| symmetric_matrix_3x3< T > | adjoint () const |
| The adjoint of the matrix (auto-allocated). More... | |
| void | assign (const T &xscalar) |
| Assign all elements of this matrix to the value xvalue. More... | |
| void | determinant (T &xresult) const |
| The determinant of the matrix (pre-allocated). More... | |
| T | determinant () const |
| The determinant of the matrix (auto-allocated). More... | |
| void | diagonalization (symmetric_matrix_3x3< T > &xresult) const |
| The diagonalization of the matrix (pre-allocated). More... | |
| symmetric_matrix_3x3< T > | diagonalization () const |
| The diagonalization of the matrix (auto-allocated). More... | |
| void | identity (symmetric_matrix_3x3< T > &xresult) const |
| The identity matrix (pre-allocated). More... | |
| symmetric_matrix_3x3< T > | identity () const |
| The identity matrix (auto-allocated). More... | |
| void | inverse (symmetric_matrix_3x3< T > &xresult) const |
| The inverse of the matrix (pre-allocated). More... | |
| symmetric_matrix_3x3< T > | inverse () const |
| The inverse of the matrix (auto-allocated). More... | |
| bool | is_diagonal () const |
| True if this matrix is diagonal. More... | |
| bool | is_identity () const |
| True if this is an identity matrix. More... | |
| bool | is_positive_definite () const |
| True if this matrix is positive definite. More... | |
| void | multiply (const T &xscalar, symmetric_matrix_3x3< T > &xresult) const |
| This matrix multiplied by a scalar (pre-allocated). More... | |
| symmetric_matrix_3x3< T > | multiply (const T &xscalar) const |
| This matrix multiplied by a scalar (auto-allocated). More... | |
| void | multiply (const general_matrix_3x1< T > &xother, general_matrix_3x1< T > &xresult) const |
| Premultiply matrix xother by this matrix (pre-allocated). More... | |
| general_matrix_3x1< T > | multiply (const general_matrix_3x1< T > &xother) const |
| Premultiply matrix xother by this matrix (auto-allocated). More... | |
| void | multiply (const general_matrix_3x2< T > &xother, general_matrix_3x2< T > &xresult) const |
| Premultiply matrix xother by this matrix (pre-allocated). More... | |
| general_matrix_3x2< T > | multiply (const general_matrix_3x2< T > &xother) const |
| Premultiply matrix xother by this matrix (auto-allocated). More... | |
| void | multiply (const general_matrix_3x3< T > &xother, general_matrix_3x3< T > &xresult) const |
| Premultiply matrix xother by this matrix (pre-allocated). More... | |
| general_matrix_3x3< T > | multiply (const general_matrix_3x3< T > &xother) const |
| Premultiply matrix xother by this matrix (auto-allocated). More... | |
| void | multiply (const symmetric_matrix_3x3< T > &xother, general_matrix_3x3< T > &xresult) const |
| Premultiply matrix xother by this matrix (pre-allocated). Note that multiplying 2 symmetric matrices results (in general) in a general square matrix. More... | |
| general_matrix_3x3< T > | multiply (const symmetric_matrix_3x3< T > &xother) const |
| Premultiply matrix xother by this matrix (auto-allocated). Note that multiplying 2 symmetric matrices results (in general) in a general square matrix. More... | |
| void | trace (T &xresult) const |
| The trace of the matrix (pre-allocated). More... | |
| T | trace () const |
| The trace of the matrix (auto-allocated). More... | |
| void | transpose (symmetric_matrix_3x3< T > &xresult) const |
| The transpose of the matrix (pre-allocated). More... | |
| symmetric_matrix_3x3< T > | transpose () const |
| The transpose of the matrix (auto-allocated). More... | |
Static Public Member Functions | |
| static int | number_of_rows () |
| The number of rows. More... | |
| static int | number_of_columns () |
| The number of columns. More... | |
| static int | d () |
| Dimension of the underlying elements. More... | |
Public Attributes | |
| T | components [6] |
| Linear storage array. More... | |
Symmetric matrix with 3 rows and 3 columns.
Class symmetric_matrix_3x3 is a special kind of matrix class intended to be used in conjunction with various row_dofs_type classes (pod types). The pod types will be converted (cast) to appropriate matrix types. So, this class is also required to be a pod type also (ie: really just a struct with no inheritance, no constructors, no virtual functions, etc.).
Definition at line 38 of file general_matrix_3x3.h.
| void fiber_bundle::symmetric_matrix_3x3< T >::adjoint | ( | symmetric_matrix_3x3< T > & | xresult | ) | const |
The adjoint of the matrix (pre-allocated).
Definition at line 405 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::adjoint().
| symmetric_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::adjoint | ( | ) | const |
The adjoint of the matrix (auto-allocated).
Definition at line 461 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::assign().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::adjoint(), and fiber_bundle::symmetric_matrix_3x3< T >::column().
| void fiber_bundle::symmetric_matrix_3x3< T >::assign | ( | const T & | xscalar | ) |
Assign all elements of this matrix to the value xvalue.
Definition at line 481 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::determinant().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::adjoint(), fiber_bundle::symmetric_matrix_3x3< T >::diagonalization(), and fiber_bundle::symmetric_matrix_3x3< T >::identity().
| general_matrix_3x1< T > fiber_bundle::symmetric_matrix_3x3< T >::column | ( | int | xcolumn | ) | const |
A 3x1 matrix containing the elements or column xcolumn.
Definition at line 363 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::adjoint(), and fiber_bundle::general_matrix_3x1< T >::components.
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::row().
|
static |
Dimension of the underlying elements.
Definition at line 153 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::operator[]().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::number_of_columns().
| void fiber_bundle::symmetric_matrix_3x3< T >::determinant | ( | T & | xresult | ) | const |
The determinant of the matrix (pre-allocated).
Definition at line 504 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::determinant().
| T fiber_bundle::symmetric_matrix_3x3< T >::determinant | ( | ) | const |
The determinant of the matrix (auto-allocated).
Definition at line 538 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::determinant(), and fiber_bundle::symmetric_matrix_3x3< T >::diagonalization().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::assign(), and fiber_bundle::symmetric_matrix_3x3< T >::determinant().
| void fiber_bundle::symmetric_matrix_3x3< T >::diagonalization | ( | symmetric_matrix_3x3< T > & | xresult | ) | const |
The diagonalization of the matrix (pre-allocated).
Definition at line 559 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::sec_at0_algebra::acos(), fiber_bundle::symmetric_matrix_3x3< T >::assign(), fiber_bundle::sec_at0_algebra::cos(), fiber_bundle::determinant(), fiber_bundle::symmetric_matrix_3x3< T >::diagonalization(), fiber_bundle::symmetric_matrix_3x3< T >::is_diagonal(), fiber_bundle::sec_at0_algebra::pow(), and fiber_bundle::sec_at0_algebra::sqrt().
| symmetric_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::diagonalization | ( | ) | const |
The diagonalization of the matrix (auto-allocated).
Definition at line 685 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::identity(), and fiber_bundle::symmetric_matrix_3x3< T >::is_diagonal().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::determinant(), and fiber_bundle::symmetric_matrix_3x3< T >::diagonalization().
| void fiber_bundle::symmetric_matrix_3x3< T >::identity | ( | symmetric_matrix_3x3< T > & | xresult | ) | const |
The identity matrix (pre-allocated).
Definition at line 708 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::assign(), fiber_bundle::symmetric_matrix_3x3< T >::identity(), and fiber_bundle::symmetric_matrix_3x3< T >::is_identity().
| symmetric_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::identity | ( | ) | const |
The identity matrix (auto-allocated).
Definition at line 734 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::inverse(), and fiber_bundle::symmetric_matrix_3x3< T >::is_identity().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::diagonalization(), and fiber_bundle::symmetric_matrix_3x3< T >::identity().
| void fiber_bundle::symmetric_matrix_3x3< T >::inverse | ( | symmetric_matrix_3x3< T > & | xresult | ) | const |
The inverse of the matrix (pre-allocated).
Definition at line 757 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::determinant(), and fiber_bundle::symmetric_matrix_3x3< T >::inverse().
| symmetric_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::inverse | ( | ) | const |
The inverse of the matrix (auto-allocated).
Definition at line 817 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::inverse(), and fiber_bundle::symmetric_matrix_3x3< T >::is_diagonal().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::identity(), and fiber_bundle::symmetric_matrix_3x3< T >::inverse().
| bool fiber_bundle::symmetric_matrix_3x3< T >::is_diagonal | ( | ) | const |
True if this matrix is diagonal.
Definition at line 837 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::is_identity().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::diagonalization(), and fiber_bundle::symmetric_matrix_3x3< T >::inverse().
| bool fiber_bundle::symmetric_matrix_3x3< T >::is_identity | ( | ) | const |
True if this is an identity matrix.
Definition at line 859 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::is_positive_definite().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::identity(), and fiber_bundle::symmetric_matrix_3x3< T >::is_diagonal().
| bool fiber_bundle::symmetric_matrix_3x3< T >::is_positive_definite | ( | ) | const |
True if this matrix is positive definite.
Definition at line 882 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::is_identity(), and fiber_bundle::general_matrix_3x3< T >::is_positive_definite().
| void fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const T & | xscalar, |
| symmetric_matrix_3x3< T > & | xresult | ||
| ) | const |
This matrix multiplied by a scalar (pre-allocated).
Definition at line 919 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::components.
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::is_positive_definite(), and fiber_bundle::symmetric_matrix_3x3< T >::multiply().
| symmetric_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const T & | xscalar | ) | const |
This matrix multiplied by a scalar (auto-allocated).
Definition at line 944 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply(), and fiber_bundle::vd_algebra::multiply().
| void fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const general_matrix_3x1< T > & | xother, |
| general_matrix_3x1< T > & | xresult | ||
| ) | const |
Premultiply matrix xother by this matrix (pre-allocated).
Definition at line 964 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply().
| general_matrix_3x1< T > fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const general_matrix_3x1< T > & | xother | ) | const |
Premultiply matrix xother by this matrix (auto-allocated).
Definition at line 1003 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply(), and fiber_bundle::vd_algebra::multiply().
| void fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const general_matrix_3x2< T > & | xother, |
| general_matrix_3x2< T > & | xresult | ||
| ) | const |
Premultiply matrix xother by this matrix (pre-allocated).
Definition at line 1023 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply().
| general_matrix_3x2< T > fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const general_matrix_3x2< T > & | xother | ) | const |
Premultiply matrix xother by this matrix (auto-allocated).
Definition at line 1072 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply(), and fiber_bundle::vd_algebra::multiply().
| void fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const general_matrix_3x3< T > & | xother, |
| general_matrix_3x3< T > & | xresult | ||
| ) | const |
Premultiply matrix xother by this matrix (pre-allocated).
Definition at line 1092 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply().
| general_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const general_matrix_3x3< T > & | xother | ) | const |
Premultiply matrix xother by this matrix (auto-allocated).
Definition at line 1147 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply(), and fiber_bundle::vd_algebra::multiply().
| void fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const symmetric_matrix_3x3< T > & | xother, |
| general_matrix_3x3< T > & | xresult | ||
| ) | const |
Premultiply matrix xother by this matrix (pre-allocated). Note that multiplying 2 symmetric matrices results (in general) in a general square matrix.
Definition at line 1167 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::multiply().
| general_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::multiply | ( | const symmetric_matrix_3x3< T > & | xother | ) | const |
Premultiply matrix xother by this matrix (auto-allocated). Note that multiplying 2 symmetric matrices results (in general) in a general square matrix.
Definition at line 1220 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::vd_algebra::multiply(), and fiber_bundle::symmetric_matrix_3x3< T >::trace().
|
static |
The number of columns.
Definition at line 136 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::d().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::number_of_rows().
|
static |
The number of rows.
Definition at line 119 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::number_of_columns().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::operator st2_e3_row_dofs_type< T > &(), and fiber_bundle::operator<<().
| fiber_bundle::symmetric_matrix_3x3< T >::operator const T * | ( | ) | const |
Conversion (cast) operator to convert to the associated matrix type (const version).
Definition at line 236 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::row_index().
| fiber_bundle::symmetric_matrix_3x3< T >::operator general_matrix_3x3< T > | ( | ) | const |
Conversion operator to convert to the associated general matrix type.
Definition at line 285 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::row().
| fiber_bundle::symmetric_matrix_3x3< T >::operator met_e3_row_dofs_type< T > & | ( | ) | const |
Operator to convert current to met_e3_row_dofs_type.
Definition at line 81 of file symmetric_matrix_3x3.impl.h.
| fiber_bundle::symmetric_matrix_3x3< T >::operator st2_e3_row_dofs_type< T > & | ( | ) | const |
Operator to convert current to st2_e3_row_dofs_type.
Definition at line 100 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::number_of_rows().
| fiber_bundle::symmetric_matrix_3x3< T >::operator T* | ( | ) |
Conversion (cast) operator to convert to the associated matrix type (non const version).
Definition at line 214 of file symmetric_matrix_3x3.impl.h.
| T * fiber_bundle::symmetric_matrix_3x3< T >::operator[] | ( | int | xrow | ) |
Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j].
Definition at line 170 of file symmetric_matrix_3x3.impl.h.
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::d().
| const T * fiber_bundle::symmetric_matrix_3x3< T >::operator[] | ( | int | xrow | ) | const |
Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j].
Definition at line 192 of file symmetric_matrix_3x3.impl.h.
| general_matrix_1x3< T > fiber_bundle::symmetric_matrix_3x3< T >::row | ( | int | xrow | ) | const |
A 1x3 matrix containing the elements or row xrow.
Definition at line 320 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::column(), and fiber_bundle::general_matrix_1x3< T >::components.
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::operator general_matrix_3x3< T >().
| int fiber_bundle::symmetric_matrix_3x3< T >::row_index | ( | int | xrow | ) | const |
Index for row xrow in the linear storage array.
Definition at line 259 of file symmetric_matrix_3x3.impl.h.
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::operator const T *().
| void fiber_bundle::symmetric_matrix_3x3< T >::trace | ( | T & | xresult | ) | const |
The trace of the matrix (pre-allocated).
Definition at line 1240 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::trace().
| T fiber_bundle::symmetric_matrix_3x3< T >::trace | ( | ) | const |
The trace of the matrix (auto-allocated).
Definition at line 1261 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::trace(), and fiber_bundle::symmetric_matrix_3x3< T >::transpose().
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::multiply(), and fiber_bundle::symmetric_matrix_3x3< T >::trace().
| void fiber_bundle::symmetric_matrix_3x3< T >::transpose | ( | symmetric_matrix_3x3< T > & | xresult | ) | const |
The transpose of the matrix (pre-allocated).
Definition at line 1282 of file symmetric_matrix_3x3.impl.h.
References fiber_bundle::symmetric_matrix_3x3< T >::components, and fiber_bundle::symmetric_matrix_3x3< T >::transpose().
| symmetric_matrix_3x3< T > fiber_bundle::symmetric_matrix_3x3< T >::transpose | ( | ) | const |
The transpose of the matrix (auto-allocated).
Definition at line 1309 of file symmetric_matrix_3x3.impl.h.
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::trace(), and fiber_bundle::symmetric_matrix_3x3< T >::transpose().
| T fiber_bundle::symmetric_matrix_3x3< T >::components[6] |
Linear storage array.
Definition at line 132 of file symmetric_matrix_3x3.h.
Referenced by fiber_bundle::symmetric_matrix_3x3< T >::multiply(), and fiber_bundle::symmetric_matrix_3x3< T >::transpose().