Loading...
Searching...
No Matches
EigenFunctions.H File Reference

Header file of the EigenFunctions class. More...

#include <mutex>
#include <Eigen/Eigen>
#include <unsupported/Eigen/SparseExtra>
#include <unsupported/Eigen/CXX11/Tensor>
#include "fvCFD.H"

Go to the source code of this file.

Namespaces

namespace  EigenFunctions
 Namespace to perform operation on Eigen objects.
 
namespace  Eigen
 

Functions

template<typename T >
Eigen::SparseMatrix< TEigenFunctions::vectorize (Eigen::SparseMatrix< T > &Matrix)
 Vectorize a Sparse Matrix.
 
template<typename T >
T EigenFunctions::max (Eigen::SparseMatrix< T > &mat, label &ind_row, label &ind_col)
 Find the maximum of a sparse Matrix (Useful for DEIM)
 
template<typename T >
T EigenFunctions::min (Eigen::SparseMatrix< T > &mat, label &ind_row, label &ind_col)
 Find the minimum of a sparse Matrix (Useful for DEIM)
 
void EigenFunctions::sortEigenvalues (Eigen::VectorXd &eigenvalues, Eigen::MatrixXd &eigenvectors)
 sort eigenvalues
 
template<typename T >
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > EigenFunctions::innerProduct (List< Eigen::SparseMatrix< T > > &A, List< Eigen::SparseMatrix< T > > &B)
 Perform Frobenius inner Product between two list of sparse matrices A and B.
 
template<typename T >
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > EigenFunctions::innerProduct (List< Eigen::SparseMatrix< T > > &A, Eigen::SparseMatrix< T > &B)
 Perform Frobenius inner Product between a list of sparse matrices A and a sparse matrix B.
 
template<typename T >
T EigenFunctions::innerProduct (Eigen::SparseMatrix< T > &A, Eigen::SparseMatrix< T > &B)
 Perform Frobenius inner Product between two sparse matrices A and B.
 
template<typename T >
Eigen::SparseMatrix< TEigenFunctions::MVproduct (List< Eigen::SparseMatrix< T > > &A, Eigen::DenseBase< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > &C)
 Sparse Matrix-Vector product between a list of sparse matrices and a vector of coefficients.
 
template<typename T >
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > EigenFunctions::MVproduct (const std::vector< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > &A, Eigen::DenseBase< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > &C)
 Dense Matrix-Vector product between a list of sparse matrices and a vector of coefficients.
 
template<typename T >
List< Eigen::SparseMatrix< T > > EigenFunctions::MMproduct (List< Eigen::SparseMatrix< T > > &A, Eigen::DenseBase< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > &C)
 Sparse Matrix - Dense Matrix product between a list of sparse matrices and a dense matrix.
 
template<typename T >
T EigenFunctions::condNumber (Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &A)
 Conditioning number of a dense matrix.
 
Eigen::VectorXd EigenFunctions::ExpSpaced (double first, double last, int n)
 Returns exponentially spaced vector.
 
template<typename T >
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > EigenFunctions::vectorTensorProduct (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &g, const Eigen::Tensor< T, 3 > &c, const Eigen::Matrix< T, Eigen::Dynamic, 1 > &a)
 A function that computes the product of g.T c a, where c is a third dim tensor.
 
template<typename VectorType >
bool Eigen::saveMarketVector (const VectorType &vec, const std::string &filename, label prec, std::_Ios_Fmtflags outytpe=std::ios_base::scientific)
 
template<typename VectorType >
Matrix< VectorType, Dynamic, Dynamic > Eigen::SliceFromTensor (Eigen::Tensor< VectorType, 3 > &tensor, label dim, label index1)
 
template<typename VectorType >
Matrix< VectorType, Dynamic, Dynamic > Eigen::SliceFromTensor (const Eigen::Tensor< VectorType, 3 > &tensor, label dim, label index1)
 

Detailed Description

Header file of the EigenFunctions class.

Definition in file EigenFunctions.H.