bpp-seq  2.1.0
 All Classes Namespaces Files Functions Variables Friends Pages
bpp::DistanceMatrix Class Reference

A Matrix class to store phylogenetic distances. More...

#include <Bpp/Seq/DistanceMatrix.h>

+ Inheritance diagram for bpp::DistanceMatrix:
+ Collaboration diagram for bpp::DistanceMatrix:

Public Member Functions

 DistanceMatrix (const std::vector< std::string > &names)
 Build a new distance matrix with specified names. More...
 
 DistanceMatrix (size_t n)
 Build a new distance matrix with specified size. More...
 
virtual ~DistanceMatrix ()
 
 DistanceMatrix (const DistanceMatrix &dist)
 
DistanceMatrixoperator= (const DistanceMatrix &dist)
 
void reset ()
 Reset the distance matrix: all distances are set to 0. More...
 
size_t size () const
 
const std::vector< std::string > & getNames () const
 
const std::string & getName (size_t i) const throw (IndexOutOfBoundsException)
 
void setName (size_t i, const std::string &name) throw (IndexOutOfBoundsException)
 Set the ith name. More...
 
void setNames (const std::vector< std::string > &names) throw (DimensionException)
 Set the names associated to the matrix. More...
 
size_t getNameIndex (const std::string &name) const throw (Exception)
 Get the index of a given name. More...
 
void resize (size_t n)
 Change the dimension of the matrix. More...
 
virtual const double & operator() (const std::string &iName, const std::string &jName) const throw (Exception)
 Access by name. More...
 
virtual double & operator() (const std::string &iName, const std::string &jName) throw (Exception)
 Access by name. More...
 
virtual const double & operator() (size_t i, size_t j) const
 
virtual double & operator() (size_t i, size_t j)
 
RowMatrixclone () const
 
size_t getNumberOfRows () const
 
size_t getNumberOfColumns () const
 
std::vector< double > row (size_t i) const
 
std::vector< double > col (size_t j) const
 
void resize (size_t nRows, size_t nCols)
 
void addRow (const std::vector< double > &newRow)
 
virtual bool equals (const Matrix &m, double threshold=NumConstants::TINY())
 

Private Attributes

std::vector< std::string > names_
 

Detailed Description

A Matrix class to store phylogenetic distances.

Definition at line 55 of file DistanceMatrix.h.

Constructor & Destructor Documentation

bpp::DistanceMatrix::DistanceMatrix ( const std::vector< std::string > &  names)
inline

Build a new distance matrix with specified names.

The dimension of the matrix will be equal to the number of names

Parameters
namesThe names to use.

Definition at line 71 of file DistanceMatrix.h.

References reset().

bpp::DistanceMatrix::DistanceMatrix ( size_t  n)
inline

Build a new distance matrix with specified size.

Row names will be named 'Taxon 0', 'Taxon 1', and so on.

Parameters
nThe size of the matrix.

Definition at line 84 of file DistanceMatrix.h.

References resize().

virtual bpp::DistanceMatrix::~DistanceMatrix ( )
inlinevirtual

Definition at line 90 of file DistanceMatrix.h.

bpp::DistanceMatrix::DistanceMatrix ( const DistanceMatrix dist)
inline

Definition at line 92 of file DistanceMatrix.h.

Member Function Documentation

void bpp::RowMatrix< double >::addRow ( const std::vector< double > &  newRow)
inherited
RowMatrix * bpp::RowMatrix< double >::clone ( ) const
virtualinherited

Implements bpp::Clonable.

std::vector< double > bpp::RowMatrix< double >::col ( size_t  j) const
virtualinherited

Implements bpp::Matrix< Scalar >.

const std::string& bpp::DistanceMatrix::getName ( size_t  i) const throw (IndexOutOfBoundsException)
inline
Returns
The ith name.
Parameters
iName index.
Exceptions
IndexOutOfBoundsExceptionIf i is not a valid index.

Definition at line 141 of file DistanceMatrix.h.

References names_, size(), and size().

size_t DistanceMatrix::getNameIndex ( const std::string &  name) const throw (Exception)

Get the index of a given name.

Parameters
nameThe name to look for.
Returns
The position of the name.
Exceptions
ExceptionIf no names are attached to this matrix, or if the name was not found.

Definition at line 45 of file DistanceMatrix.cpp.

Referenced by operator()(), operator()(), operator()(), and operator()().

const std::vector<std::string>& bpp::DistanceMatrix::getNames ( ) const
inline
Returns
The names associated to the matrix.

Definition at line 134 of file DistanceMatrix.h.

References names_.

size_t bpp::RowMatrix< double >::getNumberOfColumns ( ) const
virtualinherited

Implements bpp::Matrix< Scalar >.

size_t bpp::RowMatrix< double >::getNumberOfRows ( ) const
virtualinherited

Implements bpp::Matrix< Scalar >.

virtual const double& bpp::DistanceMatrix::operator() ( const std::string &  iName,
const std::string &  jName 
) const throw (Exception)
inlinevirtual

Access by name.

Parameters
iNameName 1 (row)
jNameName 2 (column)
Returns
A reference toward the specified distance.
Exceptions
Exceptionif the matrix has no name of if one of the name do not match existing names.

Definition at line 202 of file DistanceMatrix.h.

References getNameIndex(), and getNameIndex().

Referenced by operator()(), operator=(), and reset().

virtual double& bpp::DistanceMatrix::operator() ( const std::string &  iName,
const std::string &  jName 
) throw (Exception)
inlinevirtual

Access by name.

Parameters
iNameName 1 (row)
jNameName 2 (column)
Returns
A reference toward the specified distance.
Exceptions
Exceptionif the matrix has no name of if one of the name do not match existing names.

Definition at line 217 of file DistanceMatrix.h.

References getNameIndex(), getNameIndex(), and operator()().

virtual const double& bpp::DistanceMatrix::operator() ( size_t  i,
size_t  j 
) const
inlinevirtual

Implements bpp::Matrix< Scalar >.

Definition at line 224 of file DistanceMatrix.h.

References bpp::RowMatrix< Scalar >::operator()().

virtual double& bpp::DistanceMatrix::operator() ( size_t  i,
size_t  j 
)
inlinevirtual

Implements bpp::Matrix< Scalar >.

Definition at line 228 of file DistanceMatrix.h.

References bpp::RowMatrix< Scalar >::operator()().

DistanceMatrix& bpp::DistanceMatrix::operator= ( const DistanceMatrix dist)
inline

Definition at line 94 of file DistanceMatrix.h.

References names_, names_, operator()(), resize(), and size().

void bpp::DistanceMatrix::reset ( )
inline

Reset the distance matrix: all distances are set to 0.

Definition at line 114 of file DistanceMatrix.h.

References operator()(), and size().

Referenced by DistanceMatrix(), and resize().

void bpp::RowMatrix< double >::resize ( size_t  nRows,
size_t  nCols 
)
virtualinherited

Implements bpp::Matrix< Scalar >.

void bpp::DistanceMatrix::resize ( size_t  n)
inline

Change the dimension of the matrix.

Parameters
nthe new dimension of the matrix.

Definition at line 186 of file DistanceMatrix.h.

References names_, names_, reset(), bpp::RowMatrix< Scalar >::resize(), and bpp::TextTools::toString().

Referenced by DistanceMatrix(), and operator=().

std::vector< double > bpp::RowMatrix< double >::row ( size_t  i) const
virtualinherited

Implements bpp::Matrix< Scalar >.

void bpp::DistanceMatrix::setName ( size_t  i,
const std::string &  name 
) throw (IndexOutOfBoundsException)
inline

Set the ith name.

Parameters
iName index.
nameThe new name.
Exceptions
IndexOutOfBoundsExceptionIf i is not a valid index.

Definition at line 154 of file DistanceMatrix.h.

References names_, size(), and size().

void bpp::DistanceMatrix::setNames ( const std::vector< std::string > &  names) throw (DimensionException)
inline

Set the names associated to the matrix.

Parameters
namesMatrix names.
Exceptions
DimensionExceptionIf 'names' have not the same size as the matrix.

Definition at line 166 of file DistanceMatrix.h.

References names_, names_, and names_.

size_t bpp::DistanceMatrix::size ( ) const
inline
Returns
The dimension of the matrix.

Definition at line 129 of file DistanceMatrix.h.

References names_.

Referenced by getName(), getName(), operator=(), reset(), setName(), and setName().

Member Data Documentation

std::vector<std::string> bpp::DistanceMatrix::names_
private

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