MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
maiamath.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  maia
 Namespace for auxiliary functions/classes.
 
namespace  maia::math
 

Typedefs

using maia::math::MFloatMatrix2d = Eigen::Matrix< MFloat, 2, 2 >
 all assume dense matrix calculations More...
 
using maia::math::MFloatMatrix3d = Eigen::Matrix< MFloat, 3, 3 >
 
using maia::math::MFloatMatrixXd = Eigen::Matrix< MFloat, Eigen::Dynamic, Eigen::Dynamic >
 
template<MInt nDim>
using maia::math::MFloatMatrix = Eigen::Matrix< MFloat, nDim, nDim >
 
using maia::math::MFloatVector2d = Eigen::Vector< MFloat, 2 >
 
using maia::math::MFloatVector3d = Eigen::Vector< MFloat, 3 >
 
using maia::math::MFloatVectorXd = Eigen::Vector< MFloat, Eigen::Dynamic >
 
template<MInt nDim>
using maia::math::MFloatVector = Eigen::Vector< MFloat, nDim >
 
using maia::math::MTriplet = Eigen::Triplet< MFloat >
 

Functions

template<typename T , std::size_t N>
Eigen::MatrixXd maia::math::ConvertToEigenMatrix (std::array< std::array< T, N >, N > data)
 convert array to eigen matrix More...
 
template<typename T , std::size_t N>
void maia::math::adjointRow (std::array< std::array< T, N >, N > &m, std::array< T, N > &A, const MInt r)
 
template void maia::math::adjointRow< MFloat, 3 > (std::array< std::array< MFloat, 3 >, 3 > &m, std::array< MFloat, 3 > &A, const MInt)
 
template<typename T >
void maia::math::adjoint1stRow4x4 (std::array< std::array< T, 4 >, 4 > &m, std::array< T, 4 > &A)
 
template void maia::math::adjoint1stRow4x4< MFloat > (std::array< std::array< MFloat, 4 >, 4 > &m, std::array< MFloat, 4 > &A)
 
template<typename T , std::size_t N>
void maia::math::adjoint1stRow (std::array< std::array< T, N >, N > &m, std::array< T, N > &A)
 
template void maia::math::adjoint1stRow< MFloat, 4 > (std::array< std::array< MFloat, 4 >, 4 > &m, std::array< MFloat, 4 > &A)
 
template void maia::math::adjoint1stRow< MFloat, 3 > (std::array< std::array< MFloat, 3 >, 3 > &m, std::array< MFloat, 3 > &A)
 
template<typename T , std::size_t N>
MFloat maia::math::determinant (std::array< T, N > &m)
 
template MFloat maia::math::determinant< MFloat, 2ul > (std::array< MFloat, 2ul > &)
 
template MFloat maia::math::determinant< MFloat, 3ul > (std::array< MFloat, 3ul > &)
 
template MFloat maia::math::determinant< MFloat, 4ul > (std::array< MFloat, 4ul > &)
 
template<typename T , std::size_t N>
MFloat maia::math::determinant (std::array< std::array< T, N >, N > &m)
 
template MFloat maia::math::determinant< MFloat, 2ul > (std::array< std::array< MFloat, 2ul >, 2ul > &)
 
template MFloat maia::math::determinant< MFloat, 3ul > (std::array< std::array< MFloat, 3ul >, 3ul > &)
 
template MFloat maia::math::determinant< MFloat, 4ul > (std::array< std::array< MFloat, 4ul >, 4ul > &)
 
void maia::math::invert (MFloat *A, const MInt m, const MInt n)
 
template<class T >
void maia::math::invert (T &A, T &AInv, const MInt m, const MInt n)
 
template void maia::math::invert< ScratchSpace< MFloat > > (ScratchSpace< MFloat > &, ScratchSpace< MFloat > &, const MInt, const MInt)
 
template void maia::math::invert< maia::tensor::Tensor< MFloat > > (maia::tensor::Tensor< MFloat > &, maia::tensor::Tensor< MFloat > &, const MInt, const MInt)
 
template<class T >
void maia::math::invert (T &A, T &weights, T &AInv, const MInt m, const MInt n)
 
template void maia::math::invert< ScratchSpace< MFloat > > (ScratchSpace< MFloat > &, ScratchSpace< MFloat > &, ScratchSpace< MFloat > &, const MInt, const MInt)
 
template void maia::math::invert< maia::tensor::Tensor< MFloat > > (maia::tensor::Tensor< MFloat > &, maia::tensor::Tensor< MFloat > &, maia::tensor::Tensor< MFloat > &, const MInt, const MInt)
 
template<class T >
MInt maia::math::invertR (T &A, T &weights, T &AInv, const MInt m, const MInt n)
 
template MInt maia::math::invertR< ScratchSpace< MFloat > > (ScratchSpace< MFloat > &, ScratchSpace< MFloat > &, ScratchSpace< MFloat > &, const MInt, const MInt)
 
void maia::math::solveSparseMatrix (MFloat *A_coeff, MInt **pos, const MInt n, const MInt m, MFloat *b, MFloat *x)
 
void maia::math::solveSparseMatrixIterative (MFloat *A_coeff, MInt **pos, const MInt n, const MInt m, MFloat *b, MFloat *x)
 
void maia::math::solveDenseMatrix (MFloat *A_coeff, MInt **pos, const MInt n, const MInt m, MFloat *b, MFloat *x)
 
void maia::math::multiplySparseMatrixVector (MFloat *A_coeff, MInt **pos, const MInt n, const MInt m, MFloat *b, MFloat *x)
 
template<MInt nDim>
void maia::math::solveQR (std::array< std::array< MFloat, nDim >, nDim > &A_, std::array< MFloat, nDim > &b_)
 
template void maia::math::solveQR< 2 > (std::array< std::array< MFloat, 2 >, 2 > &, std::array< MFloat, 2 > &)
 
template void maia::math::solveQR< 3 > (std::array< std::array< MFloat, 3 >, 3 > &, std::array< MFloat, 3 > &)
 
void maia::math::calcEigenValues (MFloat A[3][3], MFloat w[3])
 
void maia::math::calcEigenValues (MFloat **A_in, MFloat *lambda_in, const MInt m)
 
void maia::math::calcEigenVectors (MFloat A[3][3], MFloat Q[3][3], MFloat w[3])
 
std::vector< MFloatmaia::math::svd (MFloat *const A, MFloat *const b, const MInt m, const MInt n, MFloat *const x)