Jive reference manual
List of all members | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes
jive::algebra::DenseMatrixObject Class Reference

#include <jive/algebra/DenseMatrixObject.h>

Inheritance diagram for jive::algebra::DenseMatrixObject:
Inheritance graph

Public Member Functions

 DenseMatrixObject (const String &name="", int traits=0)
 
 DenseMatrixObject (const String &name, const Matrix &mat, int traits=0)
 
virtual void readFrom (ObjectInput &in)
 
virtual void writeTo (ObjectOutput &out) const
 
virtual Ref< Objectclone () const
 
virtual Shape shape () const
 Returns the shape of this matrix. More...
 
idx_t size (int idim) const
 
virtual void matmul (const Vector &lhs, const Vector &rhs) const
 Matrix-vector multiplication. More...
 
virtual void multiMatmul (Matrix &lhsVecs, IdxVector &lhsTags, const Matrix &rhsVecs, const IdxVector &rhsTags) const
 
virtual bool hasTrait (const String &trait) const
 
virtual void * getExtByID (ExtensionID extID) const
 
virtual double getValue (idx_t irow, idx_t jcol) const
 
virtual void getBlock (const Matrix &block, const IdxVector &irows, const IdxVector &jcols) const
 
virtual void getDiagonal (const Vector &diag) const
 
virtual void getRowScales (const Vector &rscales) const
 
virtual SparseStruct getStructure () const
 
virtual SparseMatrix toSparseMatrix () const
 
virtual SparseMatrix cloneSparseMatrix () const
 
virtual void setMatrix (const Matrix &mat, int traits=0)
 
virtual void handleNewValues ()
 
virtual void printTo (PrintWriter &out) const
 
const Matrix & getMatrix () const
 
int getTraits () const
 
bool isSymmetric () 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...
 
- Public Member Functions inherited from jive::algebra::DiagMatrixExtension
virtual void getDiagonal (const Vector &diag) const =0
 
virtual void getRowScales (const Vector &scale) const =0
 

Static Public Attributes

static const int SYMMETRIC
 
- Static Public Attributes inherited from jive::algebra::DiagMatrixExtension
static const jem::byte ID [1]
 
- Static Public Attributes inherited from jive::algebra::MultiMatmulExtension
static const jem::byte ID [1]
 
- Static Public Attributes inherited from jive::algebra::DirectMatrixExtension
static const jem::byte ID [1]
 
- Static Public Attributes inherited from jive::algebra::SparseMatrixExtension
static const jem::byte ID [1]
 

Protected Member Functions

virtual ~DenseMatrixObject ()
 
- Protected Member Functions inherited from jem::Collectable
 Collectable ()
 Creates an empty Collectable. More...
 
 ~Collectable ()
 Frees resources. More...
 
- Protected Member Functions inherited from jive::algebra::DiagMatrixExtension
virtual ~DiagMatrixExtension ()
 
- Protected Member Functions inherited from jem::Interface
virtual ~Interface ()
 Empty destructor. More...
 
- Protected Member Functions inherited from jive::algebra::MultiMatmulExtension
virtual ~MultiMatmulExtension ()
 
- Protected Member Functions inherited from jive::algebra::DirectMatrixExtension
virtual ~DirectMatrixExtension ()
 
- Protected Member Functions inherited from jive::algebra::SparseMatrixExtension
virtual ~SparseMatrixExtension ()
 
- Protected Member Functions inherited from jem::Clonable
virtual ~Clonable ()
 
virtual void emitVTable_ ()
 
- Protected Member Functions inherited from jem::io::Serializable
virtual ~Serializable ()
 
virtual void emitVtableFunc_ ()
 

Protected Attributes

Matrix matrix_
 
int traits_
 

Additional Inherited Members

- 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...
 
- 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...
 
- 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...
 

Constructor & Destructor Documentation

jive::algebra::DenseMatrixObject::DenseMatrixObject ( const String name = "",
int  traits = 0 
)
explicit
jive::algebra::DenseMatrixObject::DenseMatrixObject ( const String name,
const Matrix &  mat,
int  traits = 0 
)
explicit
virtual jive::algebra::DenseMatrixObject::~DenseMatrixObject ( )
protectedvirtual

Member Function Documentation

virtual void jive::algebra::DenseMatrixObject::readFrom ( ObjectInput in)
virtual

Implements jem::io::Serializable.

virtual void jive::algebra::DenseMatrixObject::writeTo ( ObjectOutput out) const
virtual

Implements jem::io::Serializable.

virtual Ref<Object> jive::algebra::DenseMatrixObject::clone ( ) const
virtual

Implements jem::Clonable.

virtual Shape jive::algebra::DenseMatrixObject::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::algebra::AbstractMatrix.

idx_t jive::algebra::DenseMatrixObject::size ( int  idim) const
virtual void jive::algebra::DenseMatrixObject::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::algebra::AbstractMatrix.

virtual void jive::algebra::DenseMatrixObject::multiMatmul ( Matrix &  lhsVecs,
IdxVector &  lhsTags,
const Matrix &  rhsVecs,
const IdxVector &  rhsTags 
) const
virtual
virtual bool jive::algebra::DenseMatrixObject::hasTrait ( const String trait) const
virtual
virtual void* jive::algebra::DenseMatrixObject::getExtByID ( ExtensionID  extID) const
virtual
virtual double jive::algebra::DenseMatrixObject::getValue ( idx_t  irow,
idx_t  jcol 
) const
virtual
virtual void jive::algebra::DenseMatrixObject::getBlock ( const Matrix &  block,
const IdxVector &  irows,
const IdxVector &  jcols 
) const
virtual
virtual void jive::algebra::DenseMatrixObject::getDiagonal ( const Vector diag) const
virtual
virtual void jive::algebra::DenseMatrixObject::getRowScales ( const Vector rscales) const
virtual
virtual SparseStruct jive::algebra::DenseMatrixObject::getStructure ( ) const
virtual
virtual SparseMatrix jive::algebra::DenseMatrixObject::toSparseMatrix ( ) const
virtual
virtual SparseMatrix jive::algebra::DenseMatrixObject::cloneSparseMatrix ( ) const
virtual
virtual void jive::algebra::DenseMatrixObject::setMatrix ( const Matrix &  mat,
int  traits = 0 
)
virtual
virtual void jive::algebra::DenseMatrixObject::handleNewValues ( )
virtual
virtual void jive::algebra::DenseMatrixObject::printTo ( PrintWriter out) const
virtual
const Matrix & jive::algebra::DenseMatrixObject::getMatrix ( ) const
int jive::algebra::DenseMatrixObject::getTraits ( ) const
bool jive::algebra::DenseMatrixObject::isSymmetric ( ) const

Member Data Documentation

const int jive::algebra::DenseMatrixObject::SYMMETRIC
static
Matrix jive::algebra::DenseMatrixObject::matrix_
protected
int jive::algebra::DenseMatrixObject::traits_
protected