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.

Functions

template<typename T>
Eigen::SparseMatrix< T > EigenFunctions::vectorize (Eigen::SparseMatrix< T > &Matrix)
 Vectorize a Sparse Matrix.
template<typename 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>
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>
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< T > EigenFunctions::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>
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.
Eigen::VectorXd EigenFunctions::repeatElements (Eigen::VectorXd input, int n)
 Repeat each element n times after themselves.
Eigen::VectorXd EigenFunctions::reorderVectorFromDim (Eigen::VectorXd input, int dim)
 Changes the order of the vector's elements given a dimension.
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.

Function Documentation

◆ saveMarketVector()

template<typename VectorType>
bool Eigen::saveMarketVector ( const VectorType & vec,
const std::string & filename,
label prec,
std::_Ios_Fmtflags outytpe = std::ios_base::scientific )

Definition at line 466 of file EigenFunctions.H.

◆ SliceFromTensor() [1/2]

template<typename VectorType>
Matrix< VectorType, Dynamic, Dynamic > Eigen::SliceFromTensor ( const Eigen::Tensor< VectorType, 3 > & tensor,
label dim,
label index1 )

Definition at line 518 of file EigenFunctions.H.

◆ SliceFromTensor() [2/2]

template<typename VectorType>
Matrix< VectorType, Dynamic, Dynamic > Eigen::SliceFromTensor ( Eigen::Tensor< VectorType, 3 > & tensor,
label dim,
label index1 )

Definition at line 502 of file EigenFunctions.H.