CoolProp  6.6.0
An open-source fluid property and humid air property database
Classes | Namespaces | Functions
MatrixMath.h File Reference
#include "CoolPropTools.h"
#include "Exceptions.h"
#include <vector>
#include <string>
#include <numeric>
#include <sstream>
#include "float.h"
#include "Eigen/Core"

Go to the source code of this file.

Classes

struct  VectorNd< dimcount, T >
 A wrapper around std::vector. More...
 
struct  VectorNd< 0, T >
 

Namespaces

 CoolProp
 Code for all the binary pairs in the mixture.
 

Functions

template<class T >
std::size_t CoolProp::num_rows (std::vector< T > const &in)
 Some shortcuts and regularly needed operations. More...
 
template<class T >
std::size_t CoolProp::num_rows (std::vector< std::vector< T >> const &in)
 
template<class T >
std::size_t CoolProp::max_cols (std::vector< std::vector< T >> const &in)
 
template<class T >
bool CoolProp::is_squared (std::vector< std::vector< T >> const &in)
 
template<class T >
std::size_t CoolProp::num_cols (std::vector< T > const &in)
 
template<class T >
std::size_t CoolProp::num_cols (std::vector< std::vector< T >> const &in)
 
template<typename T >
std::vector< T > CoolProp::eigen_to_vec1D (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &coefficients, int axis=0)
 Convert vectors and matrices. More...
 
template<class T >
std::vector< std::vector< T > > CoolProp::eigen_to_vec (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &coefficients)
 
template<class T >
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > CoolProp::vec_to_eigen (const std::vector< std::vector< T >> &coefficients)
 
template<class T >
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > CoolProp::vec_to_eigen (const std::vector< T > &coefficients, int axis=0)
 
template<class T >
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > CoolProp::vec_to_eigen (const T &coefficient)
 
template<class T >
Eigen::Matrix< T, Eigen::Dynamic, 1 > CoolProp::makeColVector (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matrix)
 Convert 1D matrix to vector. More...
 
template<class T >
Eigen::Matrix< T, Eigen::Dynamic, 1 > CoolProp::makeVector (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matrix)
 
template<class T >
Eigen::Matrix< T, 1, Eigen::Dynamic > CoolProp::makeRowVector (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matrix)
 
template<class T >
void CoolProp::removeRow (Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matrix, std::size_t rowToRemove)
 Remove rows and columns from matrices. More...
 
template<class T >
void CoolProp::removeColumn (Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matrix, std::size_t colToRemove)
 
template<class T >
std::string CoolProp::vec_to_string (const std::vector< T > &a, const char *fmt)
 Templates for turning vectors (1D-matrices) into strings. More...
 
template<class T >
std::string CoolProp::vec_to_string (const std::vector< T > &a)
 
std::string CoolProp::stringvec_to_string (const std::vector< std::string > &a)
 Templates for turning vectors (1D-matrices) into strings. More...
 
template<class T >
std::string CoolProp::vec_to_string (const T &a, const char *fmt)
 Templates for turning numbers (0D-matrices) into strings. More...
 
template<class T >
std::string CoolProp::vec_to_string (const T &a)
 
template<class T >
std::string CoolProp::vec_to_string (const std::vector< std::vector< T >> &A, const char *fmt)
 Templates for turning 2D-matrices into strings. More...
 
template<class T >
std::string CoolProp::vec_to_string (const std::vector< std::vector< T >> &A)
 
template<class T >
std::string CoolProp::mat_to_string (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &A, const char *fmt)
 Templates for turning Eigen matrices into strings. More...
 
template<class T >
std::string CoolProp::mat_to_string (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &A)
 
template<typename T >
void CoolProp::swap_rows (std::vector< std::vector< T >> *A, size_t row1, size_t row2)
 Template class for turning numbers (0D-matrices) into strings. More...
 
template<typename T >
void CoolProp::subtract_row_multiple (std::vector< std::vector< T >> *A, size_t row, T multiple, size_t pivot_row)
 
template<typename T >
void CoolProp::divide_row_by (std::vector< std::vector< T >> *A, size_t row, T value)
 
template<typename T >
size_t CoolProp::get_pivot_row (std::vector< std::vector< T >> *A, size_t col)
 
template<typename T >
std::vector< std::vector< T > > CoolProp::linsolve_Gauss_Jordan (std::vector< std::vector< T >> const &A, std::vector< std::vector< T >> const &B)
 
template<class T >
std::vector< std::vector< T > > CoolProp::linsolve (std::vector< std::vector< T >> const &A, std::vector< std::vector< T >> const &B)
 
template<class T >
std::vector< T > CoolProp::linsolve (std::vector< std::vector< T >> const &A, std::vector< T > const &b)
 
template<class T >
std::vector< T > CoolProp::get_row (std::vector< std::vector< T >> const &in, size_t row)
 
template<class T >
std::vector< T > CoolProp::get_col (std::vector< std::vector< T >> const &in, size_t col)
 
template<class T >
std::vector< std::vector< T > > CoolProp::make_squared (std::vector< std::vector< T >> const &in)
 
template<class T >
CoolProp::multiply (std::vector< T > const &a, std::vector< T > const &b)
 
template<class T >
std::vector< T > CoolProp::multiply (std::vector< std::vector< T >> const &A, std::vector< T > const &b)
 
template<class T >
std::vector< std::vector< T > > CoolProp::multiply (std::vector< std::vector< T >> const &A, std::vector< std::vector< T >> const &B)
 
template<class T >
CoolProp::dot_product (std::vector< T > const &a, std::vector< T > const &b)
 
template<class T >
std::vector< T > CoolProp::cross_product (std::vector< T > const &a, std::vector< T > const &b)
 
template<class T >
std::vector< std::vector< T > > CoolProp::transpose (std::vector< std::vector< T >> const &in)
 
template<class T >
std::vector< std::vector< T > > CoolProp::invert (std::vector< std::vector< T >> const &in)
 
void CoolProp::removeRow (Eigen::MatrixXd &matrix, unsigned int rowToRemove)
 
void CoolProp::removeColumn (Eigen::MatrixXd &matrix, unsigned int colToRemove)
 
template<typename Derived >
Eigen::MatrixXd CoolProp::minor_matrix (const Eigen::MatrixBase< Derived > &A, std::size_t i, std::size_t j)