Jive reference manual
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes
jive::solver::SparseIFactor Class Referenceabstract

#include <jive/solver/SparseIFactor.h>

Inheritance diagram for jive::solver::SparseIFactor:
Inheritance graph

Public Types

typedef VectorExchanger Exchanger
 
- Public Types inherited from jive::algebra::AbstractMatrix
typedef AbstractMatrix Self
 The type of this class. More...
 
typedef jem::Tuple< int, 2 > Shape
 A type representing the shape of a matrix. More...
 
typedef util::Vector Vector
 A vector type. More...
 

Public Member Functions

 SparseIFactor (const String &name, Ref< AbstractMatrix > matrix, Ref< Constraints > cons=NIL)
 
virtual void resetEvents ()
 
virtual Shape shape () const
 Returns the shape of this matrix. More...
 
virtual void update ()
 
virtual void matmul (const Vector &lhs, const Vector &rhs) const
 Matrix-vector multiplication. More...
 
virtual void configure (const Properties &props)
 
virtual void getConfig (const Properties &props) const
 
virtual bool hasTrait (const String &trait) const
 
virtual ConstraintsgetConstraints () const
 
void setOptions (int options)
 
int getOptions () const
 
void setDropTol (double tol)
 
double getDropTol () const
 
void setDiagShift (double dshift)
 
double getDiagShift () const
 
void setZeroThreshold (double eps)
 
double getZeroThreshold () const
 
void setExchangeMode (int xmode)
 
int getExchangeMode () const
 
- Public Member Functions inherited from jive::solver::Preconditioner
 Preconditioner (const String &name="")
 
virtual void getInfo (const Properties &info) const
 
virtual String getContext () const
 
- Public Member Functions inherited from jive::algebra::AbstractMatrix
bool isSquare () const
 Tests whether this matrix is square. More...
 
virtual jem::ClassgetClass () const
 Returns the Class instance representing the runtime class of this object. More...
 
- Public Member Functions inherited from jem::Object
virtual String toString () const
 Returns a short textual description of this object. More...
 
virtual long hashValue () const
 Returns a hash value for this object. More...
 
virtual bool equals (const Ref< Object > &obj) const
 Tests whether two objects are equal. More...
 
Ref< Objectclone () const
 Returns a copy of this object. More...
 

Static Public Member Functions

static bool decodeParams (Ref< AbstractMatrix > &matrx, Ref< Constraints > &cons, const Properties &params)
 
- Static Public Member Functions inherited from jive::algebra::AbstractMatrix
static jem::ClassgetType ()
 
- Static Public Member Functions inherited from jem::Object
static ClassgetType ()
 Returns the Class instance representing the Object class. More...
 

Static Public Attributes

static const int REORDER
 
static const int LAST_OPTION
 
static const double ZERO_THRESHOLD
 

Protected Member Functions

virtual ~SparseIFactor ()
 
virtual void factor_ (const SparseMatrix &matrix, const BoolVector &mask, const IdxVector &iperm)=0
 
virtual void solve_ (const Vector &lhs, const Vector &rhs) const =0
 
void setParam_ (int &param, int value)
 
void setParam_ (lint &param, lint value)
 
void setParam_ (double &param, double value)
 
- Protected Member Functions inherited from jive::solver::Preconditioner
virtual ~Preconditioner ()
 
- Protected Member Functions inherited from jem::Collectable
 Collectable ()
 Creates an empty Collectable. More...
 
 ~Collectable ()
 Frees resources. More...
 

Protected Attributes

int options_
 
idx_t maxFill_
 
double droptol_
 
double dshift_
 
double zeroThreshold_
 
bool symmetric_
 
int events_
 

Static Protected Attributes

static const int NEW_VALUES_
 
static const int NEW_STRUCT_
 
static const int NEW_CONFIG_
 

Additional Inherited Members

- Public Attributes inherited from jive::algebra::AbstractMatrix
jem::util::Event< Self & > newShapeEvent
 Signals that the shape of this matrix has changed. More...
 
jem::util::Event< Self & > newValuesEvent
 Signals that the contents of this matrix have been modified. More...
 

Member Typedef Documentation

Constructor & Destructor Documentation

jive::solver::SparseIFactor::SparseIFactor ( const String name,
Ref< AbstractMatrix matrix,
Ref< Constraints cons = NIL 
)
virtual jive::solver::SparseIFactor::~SparseIFactor ( )
protectedvirtual

Member Function Documentation

virtual void jive::solver::SparseIFactor::resetEvents ( )
virtual
virtual Shape jive::solver::SparseIFactor::shape ( ) const
virtual

Returns the shape of this matrix. If s denotes the returned Shape object, then s[0] equals the number of rows and s[1] equals the number of columns in this matrix.

Returns
The shape of this matrix.

Implements jive::solver::Preconditioner.

virtual void jive::solver::SparseIFactor::update ( )
virtual
virtual void jive::solver::SparseIFactor::matmul ( const Vector lhs,
const Vector rhs 
) const
virtual

Multiplies the vector rhs with this matrix and stores the result in the vector lhs. The sizes of the two vectors must be compatible with the shape of this matrix.

Parameters
lhs- the result vector.
rhs- the vector to be multiplied by this matrix.
Precondition
lhs.size() == shape()[0] &&
rhs.size() == shape()[1]

Implements jive::solver::Preconditioner.

virtual void jive::solver::SparseIFactor::configure ( const Properties props)
virtual

Reimplemented from jive::solver::Preconditioner.

virtual void jive::solver::SparseIFactor::getConfig ( const Properties props) const
virtual

Reimplemented from jive::solver::Preconditioner.

virtual bool jive::solver::SparseIFactor::hasTrait ( const String trait) const
virtual
virtual Constraints* jive::solver::SparseIFactor::getConstraints ( ) const
virtual

Reimplemented from jive::solver::Preconditioner.

void jive::solver::SparseIFactor::setOptions ( int  options)
int jive::solver::SparseIFactor::getOptions ( ) const
void jive::solver::SparseIFactor::setDropTol ( double  tol)
double jive::solver::SparseIFactor::getDropTol ( ) const
void jive::solver::SparseIFactor::setDiagShift ( double  dshift)
double jive::solver::SparseIFactor::getDiagShift ( ) const
void jive::solver::SparseIFactor::setZeroThreshold ( double  eps)
double jive::solver::SparseIFactor::getZeroThreshold ( ) const
void jive::solver::SparseIFactor::setExchangeMode ( int  xmode)
int jive::solver::SparseIFactor::getExchangeMode ( ) const
static bool jive::solver::SparseIFactor::decodeParams ( Ref< AbstractMatrix > &  matrx,
Ref< Constraints > &  cons,
const Properties params 
)
static
virtual void jive::solver::SparseIFactor::factor_ ( const SparseMatrix &  matrix,
const BoolVector &  mask,
const IdxVector &  iperm 
)
protectedpure virtual
virtual void jive::solver::SparseIFactor::solve_ ( const Vector lhs,
const Vector rhs 
) const
protectedpure virtual
void jive::solver::SparseIFactor::setParam_ ( int &  param,
int  value 
)
protected
void jive::solver::SparseIFactor::setParam_ ( lint &  param,
lint  value 
)
protected
void jive::solver::SparseIFactor::setParam_ ( double &  param,
double  value 
)
protected

Member Data Documentation

const int jive::solver::SparseIFactor::REORDER
static
const int jive::solver::SparseIFactor::LAST_OPTION
static
const double jive::solver::SparseIFactor::ZERO_THRESHOLD
static
const int jive::solver::SparseIFactor::NEW_VALUES_
staticprotected
const int jive::solver::SparseIFactor::NEW_STRUCT_
staticprotected
const int jive::solver::SparseIFactor::NEW_CONFIG_
staticprotected
int jive::solver::SparseIFactor::options_
protected
idx_t jive::solver::SparseIFactor::maxFill_
protected
double jive::solver::SparseIFactor::droptol_
protected
double jive::solver::SparseIFactor::dshift_
protected
double jive::solver::SparseIFactor::zeroThreshold_
protected
bool jive::solver::SparseIFactor::symmetric_
protected
int jive::solver::SparseIFactor::events_
protected