![]() |
|
#include <complex_matrices.h>
Inheritance diagram for oomph::ComplexMatrixBase:Public Member Functions | |
| ComplexMatrixBase () | |
| (Empty) constructor. More... | |
| ComplexMatrixBase (const ComplexMatrixBase &matrix)=delete | |
| Broken copy constructor. More... | |
| void | operator= (const ComplexMatrixBase &)=delete |
| Broken assignment operator. More... | |
| virtual unsigned long | nrow () const =0 |
| Return the number of rows of the matrix. More... | |
| virtual unsigned long | ncol () const =0 |
| Return the number of columns of the matrix. More... | |
| virtual | ~ComplexMatrixBase () |
| virtual (empty) destructor More... | |
| virtual std::complex< double > | operator() (const unsigned long &i, const unsigned long &j) const =0 |
| virtual int | ludecompose () |
| virtual void | lubksub (Vector< std::complex< double >> &rhs) |
| virtual void | solve (Vector< std::complex< double >> &rhs) |
| virtual void | solve (const Vector< std::complex< double >> &rhs, Vector< std::complex< double >> &soln) |
| virtual void | residual (const Vector< std::complex< double >> &x, const Vector< std::complex< double >> &b, Vector< std::complex< double >> &residual)=0 |
| Find the residual, i.e. r=b-Ax the residual. More... | |
| virtual double | max_residual (const Vector< std::complex< double >> &x, const Vector< std::complex< double >> &rhs) |
| virtual void | multiply (const Vector< std::complex< double >> &x, Vector< std::complex< double >> &soln)=0 |
| Multiply the matrix by the vector x: soln=Ax. More... | |
| virtual void | multiply_transpose (const Vector< std::complex< double >> &x, Vector< std::complex< double >> &soln)=0 |
| Multiply the transposed matrix by the vector x: soln=A^T x. More... | |
Abstract base class for matrices of complex doubles – adds abstract interfaces for solving, LU decomposition and multiplication by vectors.
|
delete |
Broken copy constructor.
|
inlinevirtual |
|
inlinevirtual |
LU backsubstitue a previously LU-decomposed matrix; The passed rhs will be over-written with the solution vector
Reimplemented in oomph::CCComplexMatrix, oomph::CRComplexMatrix, and oomph::DenseComplexMatrix.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by solve().
|
inlinevirtual |
LU decomposition of the matrix using the appropriate linear solver. Return the sign of the determinant
Dummy return
Reimplemented in oomph::CCComplexMatrix, oomph::CRComplexMatrix, and oomph::DenseComplexMatrix.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by solve().
|
inlinevirtual |
Find the maximum residual r=b-Ax – generic version, can be overloaded for specific derived classes where the max. can be determined "on the fly"
References abs(), i, max, n, res, residual(), and plotDoE::x.
|
pure virtual |
Multiply the matrix by the vector x: soln=Ax.
Implemented in oomph::CCComplexMatrix, oomph::CRComplexMatrix, and oomph::DenseComplexMatrix.
|
pure virtual |
Multiply the transposed matrix by the vector x: soln=A^T x.
Implemented in oomph::CCComplexMatrix, oomph::CRComplexMatrix, and oomph::DenseComplexMatrix.
|
pure virtual |
Return the number of columns of the matrix.
Implemented in oomph::CCComplexMatrix, oomph::CRComplexMatrix, and oomph::DenseComplexMatrix.
Referenced by solve().
|
pure virtual |
Return the number of rows of the matrix.
Implemented in oomph::CCComplexMatrix, oomph::CRComplexMatrix, and oomph::DenseComplexMatrix.
Referenced by solve().
|
pure virtual |
Round brackets to give access as a(i,j) for read only (we're not providing a general interface for component-wise write access since not all matrix formats allow efficient direct access!)
Implemented in oomph::CCComplexMatrix, oomph::CRComplexMatrix, and oomph::DenseComplexMatrix.
|
delete |
Broken assignment operator.
|
pure virtual |
Find the residual, i.e. r=b-Ax the residual.
Implemented in oomph::DenseComplexMatrix, oomph::CCComplexMatrix, and oomph::CRComplexMatrix.
Referenced by max_residual().
|
virtual |
Complete LU solve (Nothing gets overwritten!). The default should not need to be overwritten
Complete LU solve (Nothing gets overwritten!). This generic version should never need to be overwritten
References solve().
Complete LU solve (replaces matrix by its LU decomposition and overwrites RHS with solution). The default should not need to be over-written
Complete LU solve (overwrites RHS with solution). This is the generic version which should not need to be over-written.
References lubksub(), ludecompose(), ncol(), nrow(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by solve().