#include <mpmatrix.h>

Collaboration diagram for MaxPlus::Matrix:

List of all members.

Public Member Functions

 Matrix (unsigned int size)
 ~Matrix ()
unsigned int getSize (void) const
MPTime get (unsigned int row, unsigned int column) const
void put (unsigned int row, unsigned int column, MPTime value)
void paste (unsigned int top_row, unsigned int left_column, const Matrix *pastedMatrix)
MatrixcreateCopy () const
MatrixgetTransposedCopy () const
MatrixgetSubMatrix (const list< unsigned int > indices) const
void toString (CString &outString, double scale=1.0) const
Matrixadd (MPTime increase) const
void add (MPTime increase, Matrix *result) const
void maximum (const Matrix *matB, Matrix *result)
Vectormpmultiply (const Vector &v) const
Matrixoperator+= (MPTime increase)
Matrixoperator-= (MPTime decrease)
MatrixincrementalMaximum (const Matrix *matrix)
MPTime largestFiniteElement () const
MPTime minimalFiniteElement () const
MatrixplusClosureMatrix (MPTime posCycleThre) const
MatrixstarClosureMatrix (MPTime posCycleThre) const
MatrixallPairLongestPathMatrix (MPTime posCycleThre, bool implyZeroSelfEdges) const

Private Member Functions

 Matrix (const Matrix &)
Matrixoperator= (const Matrix &)
 Matrix ()

Private Attributes

vector< MPTimetable
unsigned int sz

Constructor & Destructor Documentation

MaxPlus::Matrix::Matrix ( unsigned int  size  ) 

Construct a Maxplus matrix of size by size

References MaxPlus::MP_MINUSINFINITY, sz, and table.

MaxPlus::Matrix::~Matrix (  ) 

Destructor of MaxPlus matrix

MaxPlus::Matrix::Matrix ( const Matrix  )  [private]
MaxPlus::Matrix::Matrix (  )  [private]

Member Function Documentation

Matrix * MaxPlus::Matrix::add ( MPTime  increase  )  const

Matrix addition of scalar.

References getSize(), and Matrix().

Referenced by operator+=(), and operator-=().

Here is the call graph for this function:

void MaxPlus::Matrix::add ( MPTime  increase,
Matrix result 
) const

Matrix addition of scalar with existing result matrix.

References c, getSize(), and put().

Here is the call graph for this function:

Matrix * MaxPlus::Matrix::allPairLongestPathMatrix ( MPTime  posCycleThre,
bool  implyZeroSelfEdges 
) const

Matrix all pair longest path.

References createCopy(), get(), getSize(), MaxPlus::MP_MAX(), MaxPlus::MP_MINUSINFINITY, put(), toString(), and v.

Referenced by plusClosureMatrix(), and starClosureMatrix().

Here is the call graph for this function:

Matrix * MaxPlus::Matrix::createCopy (  )  const

Matrix copy.

References getSize(), Matrix(), and table.

Referenced by allPairLongestPathMatrix().

Here is the call graph for this function:

MPTime MaxPlus::Matrix::get ( unsigned int  row,
unsigned int  column 
) const

Get an entry from the matrix. Row and column index must be between 0 and size-1

References getSize(), and table.

Referenced by allPairLongestPathMatrix(), MaxPlusAnalysis::Exploration::convertToHSDFByMP(), maximum(), and paste().

Here is the call graph for this function:

Matrix * MaxPlus::Matrix::getSubMatrix ( const list< unsigned int >  indices  )  const

Make submatrix with indices in list.

References Matrix(), put(), and v.

Referenced by FSMSADF::GraphConversion::computeMaxPlusMatricesFromScenarios().

Here is the call graph for this function:

Matrix * MaxPlus::Matrix::getTransposedCopy (  )  const

Matrix transposed copy.

References getSize(), Matrix(), and put().

Here is the call graph for this function:

Matrix& MaxPlus::Matrix::incrementalMaximum ( const Matrix matrix  )  [inline]

References maximum().

Here is the call graph for this function:

MPTime MaxPlus::Matrix::largestFiniteElement (  )  const

Matrix return largest element.

References c, getSize(), and MaxPlus::MP_MINUSINFINITY.

Here is the call graph for this function:

void MaxPlus::Matrix::maximum ( const Matrix matB,
Matrix result 
)

Matrix maximum with existing result matrix.

References c, get(), getSize(), MaxPlus::MP_MAX(), and put().

Referenced by incrementalMaximum().

Here is the call graph for this function:

MPTime MaxPlus::Matrix::minimalFiniteElement (  )  const

Matrix get minimal element

References c, getSize(), MaxPlus::MP_MIN(), and MaxPlus::MP_MINUSINFINITY.

Here is the call graph for this function:

Vector * MaxPlus::Matrix::mpmultiply ( const Vector v  )  const

mpmultiply() Matrix-vector multiplication.

References MaxPlus::Vector::get(), MaxPlus::Vector::getSize(), getSize(), MaxPlus::MP_MAX(), MaxPlus::MP_MINUSINFINITY, MaxPlus::MP_PLUS(), and MaxPlus::Vector::put().

Here is the call graph for this function:

Matrix& MaxPlus::Matrix::operator+= ( MPTime  increase  )  [inline]

References add().

Here is the call graph for this function:

Matrix& MaxPlus::Matrix::operator-= ( MPTime  decrease  )  [inline]

References add(), and MaxPlus::MP_ISMINUSINFINITY().

Here is the call graph for this function:

Matrix& MaxPlus::Matrix::operator= ( const Matrix  )  [private]
void MaxPlus::Matrix::paste ( unsigned int  top_row,
unsigned int  left_column,
const Matrix pastedMatrix 
)

Paste submatrix into matrix

References get(), getSize(), and put().

Here is the call graph for this function:

Matrix * MaxPlus::Matrix::plusClosureMatrix ( MPTime  posCycleThre  )  const

Matrix plus closure.

References allPairLongestPathMatrix().

Here is the call graph for this function:

void MaxPlus::Matrix::put ( unsigned int  row,
unsigned int  column,
MPTime  value 
)

Put a value in the matrix. Row and column index must be between 0 and size-1

References getSize(), and table.

Referenced by add(), allPairLongestPathMatrix(), MaxPlusAnalysis::Exploration::convertToMaxPlusMatrix(), getSubMatrix(), getTransposedCopy(), maximum(), and paste().

Here is the call graph for this function:

Matrix * MaxPlus::Matrix::starClosureMatrix ( MPTime  posCycleThre  )  const

Matrix star closure.

References allPairLongestPathMatrix().

Here is the call graph for this function:

void MaxPlus::Matrix::toString ( CString outString,
double  scale = 1.0 
) const

Matrix to string.

References getSize(), and MaxPlus::timeToString().

Referenced by allPairLongestPathMatrix().

Here is the call graph for this function:


Member Data Documentation

unsigned int MaxPlus::Matrix::sz [private]

Referenced by getSize(), and Matrix().

vector<MPTime> MaxPlus::Matrix::table [private]

Referenced by createCopy(), get(), Matrix(), and put().


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