11 #ifndef CT_DENSEMATRIX_H
12 #define CT_DENSEMATRIX_H
84 DenseMatrix(
size_t n,
size_t m, doublereal v = 0.0);
106 void resize(
size_t n,
size_t m, doublereal v = 0.0);
108 virtual doublereal*
const* colPts();
120 virtual void mult(
const double* b,
double* prod)
const;
136 virtual void leftMult(
const double*
const b,
double*
const prod)
const;
const doublereal *const * const_colPts() const
Return a const vector of const pointers to the columns.
DenseMatrix & operator=(const DenseMatrix &y)
Assignment operator.
int invert(DenseMatrix &A, size_t nn)
invert A. A is overwritten with A^-1.
const vector_int & ipiv() const
Return a changeable value of the pivot vector.
const size_t npos
index returned by functions to indicate "no position"
vector_int m_ipiv
Vector of pivots. Length is equal to the max of m and n.
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
void increment(const DenseMatrix &A, const double *b, double *prod)
Multiply A*b and add it to the result in prod. Uses BLAS routine DGEMV.
CELapackError(const std::string &routine, const std::string &msg)
Constructor passes through to main Cantera error handler.
int m_printLevel
Print Level.
int solve(DenseMatrix &A, double *b)
Solve Ax = b. Array b is overwritten on exit with x.
A class for 2D arrays stored in column-major (Fortran-compatible) form.
Header file for class Cantera::Array2D.
std::vector< int > vector_int
Vector of ints.
void resize(size_t n, size_t m, doublereal v=0.0)
Resize the matrix.
std::vector< doublereal * > m_colPts
Vector of column pointers.
void multiply(const DenseMatrix &A, const double *const b, double *const prod)
Multiply A*b and return the result in prod. Uses BLAS routine DGEMV.
Base class for exceptions thrown by Cantera classes.
virtual void leftMult(const double *const b, double *const prod) const
Left-multiply the matrix by transpose(b), and write the result to prod.
Exception thrown when an LAPACK error is encountered associated with inverting or solving a matrix...
DenseMatrix()
Default Constructor.
int m_useReturnErrorCode
Error Handling Flag.
friend int solve(DenseMatrix &A, double *b)
Solve Ax = b. Array b is overwritten on exit with x.
vector_int & ipiv()
Return a changeable value of the pivot vector.
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...