11#ifndef CT_DENSEMATRIX_H
12#define CT_DENSEMATRIX_H
68 void resize(
size_t n,
size_t m,
double v=0.0)
override;
70 virtual void mult(span<const double> b, span<double> prod)
const;
87 virtual void leftMult(span<const double> b, span<double> prod)
const;
99 const vector<int>&
ipiv()
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...
const vector< int > & ipiv() const
Return a changeable value of the pivot vector.
void resize(size_t n, size_t m, double v=0.0) override
Resize the matrix.
vector< int > & ipiv()
Return a changeable value of the pivot vector.
DenseMatrix()=default
Default Constructor.
virtual void leftMult(span< const double > b, span< double > prod) const
Left-multiply the matrix by transpose(b), and write the result to prod.
vector< int > m_ipiv
Vector of pivots. Length is equal to the max of m and n.
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.
const size_t npos
index returned by functions to indicate "no position"
void increment(const DenseMatrix &A, span< const double > b, span< double > prod)
Multiply A*b and add it to the result in prod. Uses BLAS routine DGEMV.
void solve(DenseMatrix &A, span< double > b, size_t nrhs, size_t ldb)
Solve Ax = b. Array b is overwritten on exit with x.
void multiply(const DenseMatrix &A, span< const double > b, span< double > prod)
Multiply A*b and return the result in prod. Uses BLAS routine DGEMV.
void invert(DenseMatrix &A, size_t nn)
invert A. A is overwritten with A^-1.