TBTK
TBTK::LUSolver Class Reference

Solves Hx = y for x, where H is a SparseMatrix. More...

#include <LUSolver.h>

Inheritance diagram for TBTK::LUSolver:
TBTK::Communicator

Public Types

enum  DataType { None, Double, ComplexDouble }
 

Public Member Functions

 LUSolver ()
 
 ~LUSolver ()
 
void setMatrix (const SparseMatrix< double > &sparseMatrix)
 
void setMatrix (const SparseMatrix< std::complex< double >> &sparseMatrix)
 
DataType getMatrixDataType () const
 
void solve (Matrix< double > &b)
 
void solve (Matrix< std::complex< double >> &b)
 
- Public Member Functions inherited from TBTK::Communicator
 Communicator (bool verbose)
 
void setVerbose (bool verbose)
 
bool getVerbose () const
 

Additional Inherited Members

- Static Public Member Functions inherited from TBTK::Communicator
static void setGlobalVerbose (bool globalVerbose)
 
static bool getGlobalVerbose ()
 

Detailed Description

Solves Hx = y for x, where H is a SparseMatrix.

Member Enumeration Documentation

Enum class for specifying the data type of the matrix. Used since complex matrices that are purely real are converted to double type for optimization.

Constructor & Destructor Documentation

TBTK::LUSolver::LUSolver ( )

Constructor

TBTK::LUSolver::~LUSolver ( )

Destructor.

Member Function Documentation

LUSolver::DataType TBTK::LUSolver::getMatrixDataType ( ) const
inline

Get matrix data type.

void TBTK::LUSolver::setMatrix ( const SparseMatrix< double > &  sparseMatrix)

Set matrix.

void TBTK::LUSolver::setMatrix ( const SparseMatrix< std::complex< double >> &  sparseMatrix)

Set matrix.

void TBTK::LUSolver::solve ( Matrix< double > &  b)

Solve.

void TBTK::LUSolver::solve ( Matrix< std::complex< double >> &  b)

Solve.


The documentation for this class was generated from the following file: