#include <complex_matrices.h>
Public Member Functions | |
DiagonalComplexMatrix (const unsigned long n) | |
DiagonalComplexMatrix (const unsigned long n, std::complex< double > &z) | |
virtual std::complex< double > | operator() (const unsigned long &i, const unsigned long &j) const |
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!) More... | |
virtual std::complex< double > & | operator() (const unsigned long &i, const unsigned long &j) |
void | multiply (const Vector< std::complex< double > > &x, Vector< std::complex< double > > &result) |
Multiply the matrix by the vector x: soln=Ax. More... | |
void | multiply_transpose (const Vector< std::complex< double > > &x, Vector< std::complex< double > > &result) |
Multiply the transposed matrix by the vector x: soln=A^T x. More... | |
virtual void | residual (const Vector< std::complex< double > > &x, const Vector< std::complex< double > > &b, Vector< std::complex< double > > &residual) |
Find the residual, i.e. r=b-Ax the residual. More... | |
void | resize (const unsigned &N, const unsigned &M) |
void | resize (const unsigned &N, const unsigned &M, std::complex< double > z) |
unsigned long | nrow () const |
Return the number of rows of the matrix. More... | |
unsigned long | ncol () const |
Return the number of columns of the matrix. More... | |
![]() | |
ComplexMatrixBase () | |
(Empty) constructor. More... | |
ComplexMatrixBase (const ComplexMatrixBase &matrix) | |
Broken copy constructor. More... | |
void | operator= (const ComplexMatrixBase &) |
Broken assignment operator. More... | |
virtual | ~ComplexMatrixBase () |
virtual (empty) destructor More... | |
virtual int | ludecompose () |
LU decomposition of the matrix using the appropriate linear solver. Return the sign of the determinant. More... | |
virtual void | lubksub (Vector< std::complex< double > > &rhs) |
LU backsubstitue a previously LU-decomposed matrix; The passed rhs will be over-written with the solution vector. More... | |
virtual void | solve (Vector< std::complex< double > > &rhs) |
Complete LU solve (replaces matrix by its LU decomposition and overwrites RHS with solution). The default should not need to be over-written. More... | |
virtual void | solve (const Vector< std::complex< double > > &rhs, Vector< std::complex< double > > &soln) |
Complete LU solve (Nothing gets overwritten!). The default should not need to be overwritten. More... | |
virtual double | max_residual (const Vector< std::complex< double > > &x, const Vector< std::complex< double > > &rhs) |
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". More... | |
Private Attributes | |
Vector< std::complex< double > > | Matrixdata |
Definition at line 161 of file complex_matrices.h.
|
inline |
Definition at line 165 of file complex_matrices.h.
|
inline |
Definition at line 167 of file complex_matrices.h.
References i, oomph::ComplexMatrixBase::multiply(), and oomph::ComplexMatrixBase::operator()().
|
virtual |
Multiply the matrix by the vector x: soln=Ax.
Implements oomph::ComplexMatrixBase.
Definition at line 144 of file complex_matrices.cc.
References i, oomph::QuadTreeNames::N, and oomph::ComplexMatrixBase::ncol().
|
inlinevirtual |
Multiply the transposed matrix by the vector x: soln=A^T x.
Implements oomph::ComplexMatrixBase.
Definition at line 182 of file complex_matrices.h.
References oomph::ComplexMatrixBase::multiply().
|
inlinevirtual |
Return the number of columns of the matrix.
Implements oomph::ComplexMatrixBase.
Definition at line 200 of file complex_matrices.h.
|
inlinevirtual |
Return the number of rows of the matrix.
Implements oomph::ComplexMatrixBase.
Definition at line 198 of file complex_matrices.h.
Referenced by oomph::DenseComplexMatrix::DenseComplexMatrix().
|
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!)
Implements oomph::ComplexMatrixBase.
Definition at line 87 of file complex_matrices.cc.
References i.
|
virtual |
Definition at line 100 of file complex_matrices.cc.
References i.
|
inlinevirtual |
Find the residual, i.e. r=b-Ax the residual.
Implements oomph::ComplexMatrixBase.
Definition at line 189 of file complex_matrices.h.
References oomph::QuadTreeNames::N.
void oomph::DiagonalComplexMatrix::resize | ( | const unsigned & | N, |
const unsigned & | M | ||
) |
Definition at line 116 of file complex_matrices.cc.
Referenced by oomph::PMLElementBase< 2 >::compute_jacobian_inverse_and_det(), and oomph::PMLElementBase< 2 >::compute_laplace_matrix_and_det().
void oomph::DiagonalComplexMatrix::resize | ( | const unsigned & | N, |
const unsigned & | M, | ||
std::complex< double > | z | ||
) |
Definition at line 129 of file complex_matrices.cc.
|
private |
Definition at line 204 of file complex_matrices.h.