SCOREC core
Parallel unstructured mesh tools
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Namespaces | Functions
apfMatrix.h File Reference

The APF linear algebra matrix interface. More...

Go to the source code of this file.

Classes

class  apf::Matrix< M, N >
 template-generic matrix of M by N doubles More...
 
class  apf::Matrix3x3
 convenience wrapper over apf::Matrix<3,3> More...
 

Namespaces

 apf
 All APF symbols are contained in this namespace.
 

Functions

template<std::size_t M, std::size_t N>
Matrix< N, M > apf::transpose (Matrix< M, N > const &m)
 transpose a matrix
 
template<std::size_t M, std::size_t N>
Matrix< M, N > apf::tensorProduct (Vector< M > const &a, Vector< N > const &b)
 tensor product of two vectors
 
template<std::size_t M, std::size_t N>
Matrix< M-1, N-1 > apf::getMinor (Matrix< M, N > const &A, std::size_t i, std::size_t j)
 get the minor matrix associated with entry (i,j) of matrix A More...
 
template<std::size_t M, std::size_t N>
double apf::getCofactor (Matrix< M, N > const &A, std::size_t i, std::size_t j)
 get the cofactor associated with entry (i,j) of matrix A More...
 
template<std::size_t M, std::size_t N>
double apf::getDeterminant (Matrix< M, N > const &A)
 get the determinant of a matrix A More...
 
Matrix< 3, 3 > apf::cofactor (Matrix< 3, 3 > const &m)
 get the matrix of cofactors for a given matrix
 
Matrix< 2, 2 > apf::invert (Matrix< 2, 2 > const &m)
 invert a 2 by 2 matrix
 
Matrix< 3, 3 > apf::invert (Matrix< 3, 3 > const &m)
 invert a 3 by 3 matrix
 
template<std::size_t M, std::size_t N>
double apf::getInnerProduct (Matrix< M, N > const &a, Matrix< M, N > const &b)
 get the component-wise inner product of two matrices
 
Matrix3x3 apf::cross (Vector3 const &u)
 get the skew-symmetric cross product matrix of a vector
 
Matrix3x3 apf::rotate (Vector3 const &u, double a)
 get the rotation matrix around an axis More...
 
Matrix3x3 apf::getFrame (Vector3 const &v)
 derive an orthogonal frame whose x axis is the given vector More...
 
int apf::eigen (Matrix3x3 const &A, Vector< 3 > *eigenVectors, double *eigenValues)
 get the eigenvectors and eigenvalues of a 3 by 3 matrix
 
template<std::size_t M>
void apf::applyMatrixFunc (Matrix< M, M > const &A, double(*callback)(double), Matrix< M, M > &newMat)
 

Detailed Description

The APF linear algebra matrix interface.

Definition in file apfMatrix.h.