CoCoALib-0.9905 date: 23 May 2007


CoCoA::MatrixBase Class Reference

#include <matrix.H>

Inheritance diagram for CoCoA::MatrixBase:

Inheritance graph
[legend]
List of all members.

Public Types

typedef std::vector< RingElemvec

Public Member Functions

virtual MatrixBasemyZeroClone (const ring &R, std::size_t NumRows, std::size_t NumCols) const =0
virtual void mySwap (matrix &M)=0
virtual void myAssignZero ()=0
virtual void mySetEntry (std::size_t i, std::size_t j, ConstRefRingElem r)=0
virtual void mySetEntry (std::size_t i, std::size_t j, long n)=0
virtual void mySetEntry (std::size_t i, std::size_t j, const ZZ &N)=0
virtual void myRowMul (std::size_t i, ConstRefRingElem c)=0
 row(i) = c*row(i)
virtual void myColMul (std::size_t j, ConstRefRingElem c)=0
 row(j) = c*row(j)
virtual void myAddRowMul (std::size_t i1, std::size_t i2, ConstRefRingElem c)=0
 row(i1) += c*row(i2)
virtual void myAddColMul (std::size_t j1, std::size_t j2, ConstRefRingElem c)=0
 row(j1) += c*row(j2)
virtual void mySwapRows (std::size_t i1, std::size_t i2)=0
virtual void mySwapCols (std::size_t j1, std::size_t j2)=0
virtual const ringmyBaseRing () const =0
virtual std::size_t myNumRows () const =0
virtual std::size_t myNumCols () const =0
virtual ConstRefRingElem myEntry (std::size_t i, std::size_t j) const =0
virtual void myMulByRow (vec &lhs, const vec &v) const
 lhs = v*M -- vector-by-matrix product, default "dense" definition
virtual void myMulByCol (vec &lhs, const vec &v) const
 lhs = M*v -- matrix-by-vector product, default "dense" definition
virtual bool myIsZeroRow (std::size_t i) const
 tests whether row i is zero -- default "dense" definition
virtual bool myIsZeroCol (std::size_t j) const
 tests whether col j is zero -- default "dense" definition
virtual void myDet (RefRingElem d) const
virtual size_t myRank () const
virtual void myOutputSelf (std::ostream &out) const
virtual void myOutputSelf (OpenMathOutput &OMOut) const
virtual void myCheckIndices (std::size_t i, std::size_t j, const char *where="") const

Protected Member Functions

 MatrixBase ()
virtual ~MatrixBase ()
void myRefCountInc () const
void myRefCountDec () const
void myRefCountZero () const

Friends

class matrix
class ConstMatrix

Detailed Description

Definition at line 149 of file matrix.H.


Member Typedef Documentation

typedef std::vector<RingElem> CoCoA::MatrixBase::vec
 

Reimplemented from CoCoA::ConstMatrixBase.

Definition at line 159 of file matrix.H.


Constructor & Destructor Documentation

CoCoA::MatrixBase::MatrixBase  )  [protected]
 

virtual CoCoA::MatrixBase::~MatrixBase  )  [protected, virtual]
 


Member Function Documentation

virtual MatrixBase* CoCoA::MatrixBase::myZeroClone const ring R,
std::size_t  NumRows,
std::size_t  NumCols
const [pure virtual]
 

virtual void CoCoA::MatrixBase::mySwap matrix M  )  [pure virtual]
 

virtual void CoCoA::MatrixBase::myAssignZero  )  [pure virtual]
 

virtual void CoCoA::MatrixBase::mySetEntry std::size_t  i,
std::size_t  j,
ConstRefRingElem  r
[pure virtual]
 

virtual void CoCoA::MatrixBase::mySetEntry std::size_t  i,
std::size_t  j,
long  n
[pure virtual]
 

virtual void CoCoA::MatrixBase::mySetEntry std::size_t  i,
std::size_t  j,
const ZZ N
[pure virtual]
 

virtual void CoCoA::MatrixBase::myRowMul std::size_t  i,
ConstRefRingElem  c
[pure virtual]
 

row(i) = c*row(i)

virtual void CoCoA::MatrixBase::myColMul std::size_t  j,
ConstRefRingElem  c
[pure virtual]
 

row(j) = c*row(j)

virtual void CoCoA::MatrixBase::myAddRowMul std::size_t  i1,
std::size_t  i2,
ConstRefRingElem  c
[pure virtual]
 

row(i1) += c*row(i2)

virtual void CoCoA::MatrixBase::myAddColMul std::size_t  j1,
std::size_t  j2,
ConstRefRingElem  c
[pure virtual]
 

row(j1) += c*row(j2)

virtual void CoCoA::MatrixBase::mySwapRows std::size_t  i1,
std::size_t  i2
[pure virtual]
 

virtual void CoCoA::MatrixBase::mySwapCols std::size_t  j1,
std::size_t  j2
[pure virtual]
 

void CoCoA::ConstMatrixBase::myRefCountInc  )  const [inline, protected, inherited]
 

Definition at line 180 of file matrix.H.

Referenced by CoCoA::ConstMatrix::ConstMatrix().

void CoCoA::ConstMatrixBase::myRefCountDec  )  const [inline, protected, inherited]
 

Definition at line 181 of file matrix.H.

Referenced by CoCoA::ConstMatrix::~ConstMatrix().

void CoCoA::ConstMatrixBase::myRefCountZero  )  const [inline, protected, inherited]
 

Definition at line 182 of file matrix.H.

virtual const ring& CoCoA::ConstMatrixBase::myBaseRing  )  const [pure virtual, inherited]
 

virtual std::size_t CoCoA::ConstMatrixBase::myNumRows  )  const [pure virtual, inherited]
 

virtual std::size_t CoCoA::ConstMatrixBase::myNumCols  )  const [pure virtual, inherited]
 

virtual ConstRefRingElem CoCoA::ConstMatrixBase::myEntry std::size_t  i,
std::size_t  j
const [pure virtual, inherited]
 

virtual void CoCoA::ConstMatrixBase::myMulByRow vec lhs,
const vec v
const [virtual, inherited]
 

lhs = v*M -- vector-by-matrix product, default "dense" definition

virtual void CoCoA::ConstMatrixBase::myMulByCol vec lhs,
const vec v
const [virtual, inherited]
 

lhs = M*v -- matrix-by-vector product, default "dense" definition

virtual bool CoCoA::ConstMatrixBase::myIsZeroRow std::size_t  i  )  const [virtual, inherited]
 

tests whether row i is zero -- default "dense" definition

virtual bool CoCoA::ConstMatrixBase::myIsZeroCol std::size_t  j  )  const [virtual, inherited]
 

tests whether col j is zero -- default "dense" definition

virtual void CoCoA::ConstMatrixBase::myDet RefRingElem  d  )  const [virtual, inherited]
 

virtual size_t CoCoA::ConstMatrixBase::myRank  )  const [virtual, inherited]
 

virtual void CoCoA::ConstMatrixBase::myOutputSelf std::ostream &  out  )  const [virtual, inherited]
 

virtual void CoCoA::ConstMatrixBase::myOutputSelf OpenMathOutput OMOut  )  const [virtual, inherited]
 

virtual void CoCoA::ConstMatrixBase::myCheckIndices std::size_t  i,
std::size_t  j,
const char *  where = ""
const [virtual, inherited]
 


Friends And Related Function Documentation

friend class matrix [friend]
 

Definition at line 155 of file matrix.H.

friend class ConstMatrix [friend, inherited]
 

Definition at line 121 of file matrix.H.


The documentation for this class was generated from the following file:
Generated on Wed May 23 13:46:20 2007 for CoCoALib by  doxygen 1.4.6