11 #ifndef CT_DENSEMATRIX_H 12 #define CT_DENSEMATRIX_H 64 DenseMatrix(
size_t n,
size_t m, doublereal v = 0.0);
77 void resize(
size_t n,
size_t m, doublereal v = 0.0);
79 virtual doublereal*
const* colPts();
90 virtual void mult(
const double* b,
double* prod)
const;
107 virtual void leftMult(
const double*
const b,
double*
const prod)
const;
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...
int solve(DenseMatrix &A, double *b, size_t nrhs, size_t ldb)
Solve Ax = b. Array b is overwritten on exit with x.
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.
int m_printLevel
Print Level.
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.
virtual void leftMult(const double *const b, double *const prod) const
Left-multiply the matrix by transpose(b), and write the result to prod.
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.
friend int solve(DenseMatrix &A, double *b, size_t nrhs, size_t ldb)
Solve Ax = b. Array b is overwritten on exit with x.
const doublereal *const * const_colPts() const
Return a const vector of const pointers to the columns.
DenseMatrix()
Default Constructor.
int m_useReturnErrorCode
Error Handling Flag.
Namespace for the Cantera kernel.
Definitions for the classes that are thrown when Cantera experiences an error condition (also contain...
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...