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;
Header file for class Cantera::Array2D.
A class for 2D arrays stored in column-major (Fortran-compatible) form.
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...
virtual void leftMult(const double *const b, double *const prod) const
Left-multiply the matrix by transpose(b), and write the result to prod.
void resize(size_t n, size_t m, doublereal v=0.0)
Resize the matrix.
std::vector< doublereal * > m_colPts
Vector of column pointers.
int m_printLevel
Print Level.
int m_useReturnErrorCode
Error Handling Flag.
const vector_int & ipiv() const
Return a changeable value of the pivot vector.
vector_int m_ipiv
Vector of pivots. Length is equal to the max of m and n.
const doublereal *const * const_colPts() const
Return a const vector of const pointers to the columns.
DenseMatrix()
Default Constructor.
friend int solve(DenseMatrix &A, double *b, size_t nrhs, size_t ldb)
Solve Ax = b. Array b is overwritten on exit with x.
vector_int & ipiv()
Return a changeable value of the pivot vector.
This file contains definitions of constants, types and terms that are used in internal routines and a...
Definitions for the classes that are thrown when Cantera experiences an error condition (also contain...
Namespace for the Cantera kernel.
void increment(const DenseMatrix &A, const double *const b, double *const prod)
Multiply A*b and add it to the result in prod. Uses BLAS routine DGEMV.
const size_t npos
index returned by functions to indicate "no position"
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.
int invert(DenseMatrix &A, size_t nn=npos)
invert A. A is overwritten with A^-1.
std::vector< int > vector_int
Vector of ints.
int solve(DenseMatrix &A, double *b, size_t nrhs=1, size_t ldb=0)
Solve Ax = b. Array b is overwritten on exit with x.