BandMatrix.h Source File#
BandMatrix.h
Go to the documentation of this file.
Declarations for the class GeneralMatrix which is a virtual base class for matrices handled by solver...
A class for banded matrices, involving matrix inversion processes.
Definition BandMatrix.h:37
void leftMult(const double *const b, double *const prod) const override
Multiply b*A and write result to prod.
Definition BandMatrix.cpp:213
double *const * colPts() override
Return a vector of const pointers to the columns.
Definition BandMatrix.cpp:397
double & operator()(size_t i, size_t j) override
Index into the (i,j) element.
Definition BandMatrix.cpp:138
double rcond(double a1norm) override
Returns an estimate of the inverse of the condition number for the matrix.
Definition BandMatrix.cpp:305
void resize(size_t n, size_t kl, size_t ku, double v=0.0)
Resize the matrix problem.
Definition BandMatrix.cpp:107
size_t ldim() const
Return the number of rows of storage needed for the band storage.
Definition BandMatrix.cpp:195
size_t index(size_t i, size_t j) const
Returns the location in the internal 1D array corresponding to the (i,j) element in the banded array.
Definition BandMatrix.cpp:165
size_t checkColumns(double &valueSmall) const override
Check to see if we have any zero columns in the Jacobian.
Definition BandMatrix.cpp:370
double * ptrColumn(size_t j) override
Return a pointer to the top of column j.
Definition BandMatrix.cpp:392
int factor() override
Perform an LU decomposition, the LAPACK routine DGBTRF is used.
Definition BandMatrix.cpp:226
void mult(const double *b, double *prod) const override
Multiply A*b and write result to prod.
Definition BandMatrix.cpp:200
size_t checkRows(double &valueSmall) const override
Check to see if we have any zero rows in the Jacobian.
Definition BandMatrix.cpp:348
int solve(const double *const b, double *const x)
Solve the matrix problem Ax = b.
Definition BandMatrix.cpp:253
double _value(size_t i, size_t j) const
Return the value of the (i,j) element for (i,j) within the bandwidth.
Definition BandMatrix.cpp:170
double & value(size_t i, size_t j)
Return a changeable reference to element (i,j).
Definition BandMatrix.cpp:148
std::ostream & operator<<(std::ostream &s, const Array2D &m)
Output the current contents of the Array2D object.
Definition Array.cpp:100
Generated by