Loading [MathJax]/extensions/tex2jax.js
MAIA bb96820c
Multiphysics at AIA
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
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)