Functionality from linear algebra such as (modified) principal and mixed matrix invariants.
More...
|
template<int row, int col, ConstantSize Mat> |
auto | funcy::linalg::compute_cofactor (const Mat &A) requires(dim< Mat >() |
| Compute the \((row,col)\)-cofactor of \( A \). Implemented for \( A\in \mathbb{R}^{n,n} \) with \( n=2,3 \). More...
|
|
template<int row, int col, ConstantSize Mat> |
auto | funcy::linalg::compute_cofactor_directional_derivative (const Mat &A, const Mat &B) requires(dim< Mat >() |
| Compute the first directional derivative in direction \( B \) of the \((row,col)\)-cofactor of \( A \). Implemented for \( A\in \mathbb{R}^{n,n} \) with \( n=2,3 \). More...
|
|
template<class Mat > |
auto | funcy::linalg::det (const Mat &A) requires(!Function< Mat > &&!SquareMatrix< Mat >) |
| Generate \(\det(A)\). More...
|
|
template<SquareMatrix Mat> |
auto | funcy::linalg::det (const Mat &A) |
| Generate \(\det(A)\). More...
|
|
template<Function F> |
auto | funcy::linalg::det (const F &f) |
| Generate \(\det\circ f\). More...
|
|
template<SquareMatrix M, int n = dim< M >()> |
auto | funcy::linalg::deviator (const M &A) |
|
template<class Matrix > |
auto | funcy::linalg::deviator (const Matrix &A) |
|
template<Function F> |
auto | funcy::linalg::deviator (const F &f) |
| Generate deviator \( \mathrm{dev}\circ f\).
|
|
template<class Mat > |
auto | funcy::linalg::frobenius_norm (const Mat &A) |
|
template<Function F> |
auto | funcy::linalg::frobenius_norm (const F &f) |
|
| funcy::linalg::RightCauchyGreenStrainTensor< Mat >::RightCauchyGreenStrainTensor (const Mat &F) |
| Constructor. More...
|
|
void | funcy::linalg::RightCauchyGreenStrainTensor< Mat >::update (const Mat &F) |
| Reset point of evaluation.
|
|
const Mat & | funcy::linalg::RightCauchyGreenStrainTensor< Mat >::d0 () const noexcept |
| Function value \( F^T * F \).
|
|
Mat | funcy::linalg::RightCauchyGreenStrainTensor< Mat >::d1 (const Mat &dF1) const |
| First directional derivative \( F^T dF_1 + dF_1^T F \).
|
|
Mat | funcy::linalg::RightCauchyGreenStrainTensor< Mat >::d2 (const Mat &dF1, const Mat &dF2) const |
| Second directional derivative \( dF_2^T dF_1 + dF_1^T dF_2 \).
|
|
| funcy::linalg::LeftCauchyGreenStrainTensor< Mat >::LeftCauchyGreenStrainTensor (const Mat &F) |
| Constructor. More...
|
|
void | funcy::linalg::LeftCauchyGreenStrainTensor< Mat >::update (const Mat &F) |
| Reset point of evaluation.
|
|
const Mat & | funcy::linalg::LeftCauchyGreenStrainTensor< Mat >::d0 () const noexcept |
| Function value \( F^T * F \).
|
|
Mat | funcy::linalg::LeftCauchyGreenStrainTensor< Mat >::d1 (const Mat &dF1) const |
| First directional derivative \( F^T dF_1 + dF_1^T F \).
|
|
Mat | funcy::linalg::LeftCauchyGreenStrainTensor< Mat >::d2 (const Mat &dF1, const Mat &dF2) const |
| Second directional derivative \( dF_2^T dF_1 + dF_1^T dF_2 \).
|
|
template<class Mat > |
auto | funcy::linalg::strain_tensor (const Mat &A) |
| Generate the right Cauchy-Green strain tensor \(A*A^T\). More...
|
|
template<Function F> |
auto | funcy::linalg::strain_tensor (const F &f) |
| Generate the right Cauchy-Green strain tensor \(f*f^T\), where \(f:\cdot\mapsto\mathbb{R}^{n,n} \). More...
|
|
template<class Mat > |
auto | funcy::linalg::left_strain_tensor (const Mat &A) |
| Generate the left Cauchy-Green strain tensor \(A^T*A\). More...
|
|
template<ConstantSize Matrix, class Vector1 , class Vector2 > |
Matrix | funcy::linalg::tensor_product (const Vector1 &v, const Vector2 &w) |
| Compute tensor product \( M = v \otimes w \).
|
|
template<class Matrix , class Vector > |
Matrix | funcy::linalg::tensor_product (const Vector &v) |
| Compute tensor product \( M = v \otimes v \).
|
|
template<class Mat > |
auto | funcy::linalg::trace (const Mat &A) requires(!Function< Mat > &&!ConstantSize< Mat >) |
| Generate \(\mathrm{tr}(A)\in\mathbb{R}^{n,n}\). More...
|
|
template<ConstantSize Mat> |
auto | funcy::linalg::trace (const Mat &A) requires(!Function< Mat >) |
| Generate \(\mathrm{tr}(A)\in\mathbb{R}^{n,n}\). More...
|
|
template<Function F> |
auto | funcy::linalg::trace (const F &f) |
| Generate \(\mathrm{tr}\circ f\), where \(f:\cdot\mapsto\mathbb{R}^{n,n} \). More...
|
|
template<class Mat > |
auto | funcy::linalg::transpose (const Mat &A) |
| Generate \(A^T\in\mathbb{R}^{n,n}\). More...
|
|
template<Function F> |
auto | funcy::linalg::transpose (const F &f) |
| Generate \(f^T\), where \(f:\cdot\mapsto\mathbb{R}^{n,n} \). More...
|
|
template<ConstantSize Matrix> |
Matrix | funcy::linalg::unit_matrix () |
|
template<class Matrix > |
Matrix | funcy::linalg::unit_matrix (int rows) |
|
Functionality from linear algebra such as (modified) principal and mixed matrix invariants.
template<int row, int col, ConstantSize Mat>
auto int class Mat auto funcy::linalg::compute_cofactor |
( |
const Mat & |
A | ) |
|
Compute the \((row,col)\)-cofactor of \( A \). Implemented for \( A\in \mathbb{R}^{n,n} \) with \( n=2,3 \).
The \((i,j)\)-cofactor of a matrix \( A \) is \( (-1)^{i+j} \det(A^\#_{ij}) \), where \( A^\#_ij \) is obtained from \( A \) by deleting the \(i\)-th row and \( j \)-th column.
template<int row, int col, ConstantSize Mat>
auto int class Mat auto funcy::linalg::compute_cofactor_directional_derivative |
( |
const Mat & |
A, |
|
|
const Mat & |
B |
|
) |
| |
Compute the first directional derivative in direction \( B \) of the \((row,col)\)-cofactor of \( A \). Implemented for \( A\in \mathbb{R}^{n,n} \) with \( n=2,3 \).
The \((i,j)\)-cofactor of a matrix \( A \) is \( (-1)^{i+j} \det(A^\#_{ij}) \), where \( A^\#_{ij} \) is obtained from \( A \) by deleting the \(i\)-th row and \( j \)-th column. If \( A\in \mathbb{R}^{3,3} \), then the cofactors are quadratic polynomials of the entries of \( A^\#_{ij} \). In this case this function can also used to compute the second directional derivative in directions \( A \) and \( B \).