GEOSX
|
Contains tensorOps functions for operating on 2x2 and 3x3 matrices. More...
Go to the source code of this file.
Namespaces | |
LvArray | |
The top level namespace. | |
LvArray::tensorOps | |
Contains operations for operating on compile time sized vectors and matrices. | |
Functions | |
Fixed size square matrix operations | |
Functions that are overloaded to operate square matrices of a fixed size.
| |
template<std::ptrdiff_t M, typename MATRIX > | |
constexpr auto | LvArray::tensorOps::determinant (MATRIX const &matrix) |
template<std::ptrdiff_t M, typename DST_MATRIX , typename SRC_MATRIX > | |
constexpr auto | LvArray::tensorOps::invert (DST_MATRIX &&LVARRAY_RESTRICT_REF dstMatrix, SRC_MATRIX const &LVARRAY_RESTRICT_REF srcMatrix) |
Invert the source matrix srcMatrix and store the result in dstMatrix . More... | |
template<std::ptrdiff_t M, typename MATRIX > | |
constexpr auto | LvArray::tensorOps::invert (MATRIX &&matrix) |
Invert the matrix matrix overwritting it. More... | |
Fixed size symmetric matrix operations | |
Functions that are overloaded to operate symmetric matrices of a fixed size.
| |
template<std::ptrdiff_t M, typename DST_VECTOR , typename SYM_MATRIX_A , typename VECTOR_B > | |
constexpr void | LvArray::tensorOps::Ri_eq_symAijBj (DST_VECTOR &&LVARRAY_RESTRICT_REF dstVector, SYM_MATRIX_A const &LVARRAY_RESTRICT_REF symMatrixA, VECTOR_B const &LVARRAY_RESTRICT_REF vectorB) |
Multiply the vector vectorB by the symmetric matrix symMatrixA and store the result in dstVector . More... | |
template<std::ptrdiff_t M, typename DST_VECTOR , typename SYM_MATRIX_A , typename VECTOR_B > | |
constexpr void | LvArray::tensorOps::Ri_add_symAijBj (DST_VECTOR &&LVARRAY_RESTRICT_REF dstVector, SYM_MATRIX_A const &LVARRAY_RESTRICT_REF symMatrixA, VECTOR_B const &LVARRAY_RESTRICT_REF vectorB) |
Multiply the vector vectorB by the symmetric matrix symMatrixA and add the result to dstVector . More... | |
template<std::ptrdiff_t M, typename DST_MATRIX , typename SYM_MATRIX_A , typename MATRIX_B > | |
constexpr void | LvArray::tensorOps::Rij_eq_symAikBjk (DST_MATRIX &&LVARRAY_RESTRICT_REF dstMatrix, SYM_MATRIX_A const &LVARRAY_RESTRICT_REF symMatrixA, MATRIX_B const &LVARRAY_RESTRICT_REF matrixB) |
Multiply the transpose of matrix matrixB by the symmetric matrix symMatrixA and store the result in dstMatrix . More... | |
template<std::ptrdiff_t M, typename DST_SYM_MATRIX , typename MATRIX_A , typename SYM_MATRIX_B > | |
constexpr void | LvArray::tensorOps::Rij_eq_AikSymBklAjl (DST_SYM_MATRIX &&LVARRAY_RESTRICT_REF dstSymMatrix, MATRIX_A const &LVARRAY_RESTRICT_REF matrixA, SYM_MATRIX_B const &LVARRAY_RESTRICT_REF symMatrixB) |
Multiply the transpose of matrix matrixA by the symmetric matrix symMatrixB then by matrixA and store the result in dstSymMatrix . More... | |
template<std::ptrdiff_t M, typename SYM_MATRIX > | |
constexpr auto | LvArray::tensorOps::symDeterminant (SYM_MATRIX const &symMatrix) |
template<std::ptrdiff_t M, typename DST_SYM_MATRIX , typename SRC_SYM_MATRIX > | |
constexpr auto | LvArray::tensorOps::symInvert (DST_SYM_MATRIX &&LVARRAY_RESTRICT_REF dstSymMatrix, SRC_SYM_MATRIX const &LVARRAY_RESTRICT_REF srcSymMatrix) |
Invert the symmetric matrix srcSymMatrix and store the result in dstSymMatrix . More... | |
template<std::ptrdiff_t M, typename SYM_MATRIX > | |
constexpr auto | LvArray::tensorOps::symInvert (SYM_MATRIX &&symMatrix) |
Invert the symmetric matrix symMatrix overwritting it. More... | |
template<std::ptrdiff_t M, typename DST_VECTOR , typename SYM_MATRIX > | |
constexpr void | LvArray::tensorOps::symEigenvalues (DST_VECTOR &&LVARRAY_RESTRICT_REF eigenvalues, SYM_MATRIX const &LVARRAY_RESTRICT_REF symMatrix) |
Compute the eigenvalues of the symmetric matrix symMatrix . More... | |
template<std::ptrdiff_t M, typename DST_VECTOR , typename DST_MATRIX , typename SYM_MATRIX > | |
constexpr void | LvArray::tensorOps::symEigenvectors (DST_VECTOR &&LVARRAY_RESTRICT_REF eigenvalues, DST_MATRIX &&LVARRAY_RESTRICT_REF eigenvectors, SYM_MATRIX const &LVARRAY_RESTRICT_REF symMatrix) |
Compute the eigenvalues and eigenvectors of the symmetric matrix symMatrix . More... | |
template<std::ptrdiff_t M, typename DST_SYM_MATRIX , typename SRC_MATRIX > | |
constexpr void | LvArray::tensorOps::denseToSymmetric (DST_SYM_MATRIX &&dstSymMatrix, SRC_MATRIX const &srcMatrix) |
Convert the upper triangular part of srcMatrix to a symmetric matrix. More... | |
template<std::ptrdiff_t M, typename DST_MATRIX , typename SRC_SYM_MATRIX > | |
constexpr void | LvArray::tensorOps::symmetricToDense (DST_MATRIX &&dstMatrix, SRC_SYM_MATRIX const &srcSymMatrix) |
Convert the srcSymMatrix into a dense matrix. More... | |
Contains tensorOps functions for operating on 2x2 and 3x3 matrices.
Definition in file fixedSizeSquareMatrixOps.hpp.