10 #ifndef CT_GENERALMATRIX_H 11 #define CT_GENERALMATRIX_H 28 "is deprecated and will be removed after Cantera 2.3.");
43 virtual void zero() = 0;
50 virtual void mult(
const doublereal* b, doublereal* prod)
const = 0;
57 virtual void leftMult(
const doublereal*
const b, doublereal*
const prod)
const = 0;
92 virtual doublereal
rcond(doublereal a1norm) = 0;
108 virtual doublereal
oneNorm()
const = 0;
111 virtual size_t nRows()
const = 0;
120 virtual size_t nRowsAndStruct(
size_t*
const iStruct = 0)
const = 0;
134 virtual int solve(doublereal* b,
size_t nrhs=1,
size_t ldb=0) = 0;
147 virtual doublereal*
ptrColumn(
size_t j) = 0;
155 virtual doublereal&
operator()(
size_t i,
size_t j) = 0;
163 virtual doublereal
operator()(
size_t i,
size_t j)
const = 0;
169 virtual vector_fp::iterator
begin() = 0;
175 virtual vector_fp::const_iterator
begin()
const = 0;
184 virtual doublereal*
const*
colPts() = 0;
194 virtual size_t checkRows(doublereal& valueSmall)
const = 0;
204 virtual size_t checkColumns(doublereal& valueSmall)
const = 0;
virtual doublereal * ptrColumn(size_t j)=0
Return a pointer to the top of column j, columns are assumed to be contiguous in memory.
An error indicating that an unimplemented function has been called.
virtual GeneralMatrix * duplMyselfAsGeneralMatrix() const =0
Duplicator member function.
int m_factored
Indicates whether the matrix is factored.
virtual doublereal oneNorm() const =0
Calculate the one norm of the matrix.
virtual void clearFactorFlag()
clear the factored flag
virtual size_t nRows() const =0
Return the number of rows in the matrix.
virtual doublereal rcond(doublereal a1norm)=0
Returns an estimate of the inverse of the condition number for the matrix.
virtual vector_fp::iterator begin()=0
Return an iterator pointing to the first element.
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
virtual int factorQR()
Factors the A matrix using the QR algorithm, overwriting A.
virtual int factorAlgorithm() const =0
Return the factor algorithm used.
This file contains definitions for utility functions and text for modules, inputfiles, logs, textlogs, (see Input File Handling, Diagnostic Output, and Writing messages to the screen).
virtual int factor()=0
Factors the A matrix, overwriting A.
virtual void zero()=0
Zero the matrix elements.
virtual doublereal & operator()(size_t i, size_t j)=0
Index into the (i,j) element.
virtual bool factored() const
true if the current factorization is up to date with the matrix
virtual size_t checkRows(doublereal &valueSmall) const =0
Check to see if we have any zero rows in the Jacobian.
virtual void leftMult(const doublereal *const b, doublereal *const prod) const =0
Multiply b*A and write result to prod.
virtual void mult(const doublereal *b, doublereal *prod) const =0
Multiply A*b and write result to prod.
GeneralMatrix(int matType=-1)
Base Constructor.
virtual int solve(doublereal *b, size_t nrhs=1, size_t ldb=0)=0
Solves the Ax = b system returning x in the b spot.
virtual size_t nRowsAndStruct(size_t *const iStruct=0) const =0
Return the size and structure of the matrix.
virtual size_t checkColumns(doublereal &valueSmall) const =0
Check to see if we have any zero columns in the Jacobian.
virtual doublereal *const * colPts()=0
Return a vector of const pointers to the columns.
Namespace for the Cantera kernel.
virtual doublereal rcondQR()
Returns an estimate of the inverse of the condition number for the matrix.
Definitions for the classes that are thrown when Cantera experiences an error condition (also contain...
virtual void useFactorAlgorithm(int fAlgorithm)
Change the way the matrix is factored.