Machine Learning Library
Public Types | Public Member Functions | List of all members
CSparseVector< Type > Class Template Reference

Sparse, immutable vector representation. More...

#include <CSparseVector.h>

Inheritance diagram for CSparseVector< Type >:
CVector< Type > CObject< Type >

Public Types

typedef pair< int, Type > element_type
 
typedef element_typepointer_type
 
typedef keyed_iterator< Type > iterator
 

Public Member Functions

 CSparseVector (int dim, int size, Type elements[], int pos[])
 
 CSparseVector (int dim, int size, vector< Type > elements, vector< int > pos)
 
 CSparseVector (int dim, int size)
 
 CSparseVector (const CSparseVector< Type > &o)
 
 CSparseVector (const CVector< Type > &o)
 
CVector< Type > * clone () const
 destructor More...
 
virtual ~CSparseVector ()
 
const Type & operator[] (int index) const
 return constant reference to n'th vector element More...
 
int dimension () const
 return vector dimension More...
 
Type getElement (int iIndex) const
 return copy of n'th vector element More...
 
void setElement (int index, pair< int, Type > value)
 
int getNumNonZero () const
 returns the number of non-zero entries More...
 
bool isNaN () const
 returns true if vector contains nan elements More...
 
Type euclideanLength (bool bQuad=false) const
 returns euclidean length of vector More...
 
virtual string className () const
 Returns the class name. More...
 
CVector< double > * toDouble () const
 create a copy with every element stored as 'double' More...
 
CVector< float > * toFloat () const
 create a copy with every element stored as 'float' More...
 
CDenseVector< int > sort ()
 
CVector< Type > & operator*= (const CVector< Type > &v2)
 
CVector< Type > & operator/= (const CVector< Type > &v2)
 
virtual CVector< Type > & operator*= (const Type &)
 multiply every element with scalar More...
 
virtual CVector< Type > & operator/= (const Type &)
 divide every element by scalar More...
 
keyed_iterator< Type > begin () const
 
keyed_iterator< Type > begin ()
 
keyed_iterator< Type > end () const
 
keyed_iterator< Type > end ()
 
- Public Member Functions inherited from CVector< Type >
virtual ~CVector ()
 
virtual vector< Type > toSTL () const
 
virtual bool operator== (const CVector< Type > &rhs) const
 returns true if rhs has the same elements More...
 
Type operator* (const CVector< Type > &) const
 scalar product with vector More...
 
CVector< Type > & operator*= (const CVector< Type > &)
 multiply vectors elementwise More...
 
CVector< Type > & operator/= (const CVector< Type > &)
 divide vectors elementwise More...
 
Type euclideanDistance (const CVector< Type > &, bool b=false) const
 
Type coCosineDistance (const CVector< Type > &) const
 returns common cosine distance of the two vectors More...
 
void adaptToVec (const CVector< Type > &, float fEps1, float fEps2)
 
virtual bool serialize (fstream &stream, IO_MODE mode)
 Read/write from binary stream. More...
 
- Public Member Functions inherited from CObject< Type >
 CObject ()
 Constructor. More...
 
virtual ~CObject ()
 Destructor. More...
 
virtual bool serialize2 (CArchiv &tArchiv)
 
void setVerbose (VERBOSE_LEVEL tVerbose)
 Set the verbose level. More...
 
VERBOSE_LEVEL verbose (void) const
 Return current verbose level. More...
 
virtual bool isA (const char *acClass) const
 Check if the object is an instance of the class with given name. More...
 
DATATYPE dataType () const
 Returns the template data type. More...
 

Additional Inherited Members

- Protected Attributes inherited from CObject< Type >
unsigned char ucVerbose
 
- Static Protected Attributes inherited from CVector< Type >
static const CVectorOperations
< Type > & 
op_table
 

Detailed Description

template<class Type>
class CSparseVector< Type >

Sparse, immutable vector representation.

Member Typedef Documentation

template<class Type>
typedef pair<int, Type> CSparseVector< Type >::element_type
template<class Type>
typedef keyed_iterator<Type> CSparseVector< Type >::iterator
template<class Type>
typedef element_type* CSparseVector< Type >::pointer_type

Constructor & Destructor Documentation

template<class Type>
CSparseVector< Type >::CSparseVector ( int  dim,
int  size,
Type  elements[],
int  pos[] 
)
template<class Type>
CSparseVector< Type >::CSparseVector ( int  dim,
int  size,
vector< Type >  elements,
vector< int >  pos 
)
template<class Type>
CSparseVector< Type >::CSparseVector ( int  dim,
int  size 
)
template<class Type>
CSparseVector< Type >::CSparseVector ( const CSparseVector< Type > &  o)
template<class Type>
CSparseVector< Type >::CSparseVector ( const CVector< Type > &  o)
template<class Type>
virtual CSparseVector< Type >::~CSparseVector ( )
virtual

Member Function Documentation

template<class Type>
keyed_iterator<Type> CSparseVector< Type >::begin ( ) const
inline
template<class Type>
keyed_iterator<Type> CSparseVector< Type >::begin ( )
inline
template<class Type>
virtual string CSparseVector< Type >::className ( ) const
inlinevirtual

Returns the class name.

Reimplemented from CVector< Type >.

template<class Type>
CVector<Type>* CSparseVector< Type >::clone ( ) const
virtual

destructor

create identical copy

Implements CVector< Type >.

template<class Type>
int CSparseVector< Type >::dimension ( ) const
inlinevirtual

return vector dimension

Implements CVector< Type >.

template<class Type>
keyed_iterator<Type> CSparseVector< Type >::end ( ) const
inline
template<class Type>
keyed_iterator<Type> CSparseVector< Type >::end ( )
inline
template<class Type>
Type CSparseVector< Type >::euclideanLength ( bool  bQuad = false) const
virtual

returns euclidean length of vector

Implements CVector< Type >.

template<class Type>
Type CSparseVector< Type >::getElement ( int  n) const
virtual

return copy of n'th vector element

Implements CVector< Type >.

template<class Type>
int CSparseVector< Type >::getNumNonZero ( ) const
inlinevirtual

returns the number of non-zero entries

Implements CVector< Type >.

template<class Type>
bool CSparseVector< Type >::isNaN ( ) const
virtual

returns true if vector contains nan elements

Implements CVector< Type >.

template<class Type>
CVector<Type>& CSparseVector< Type >::operator*= ( const CVector< Type > &  v2)
inline
template<class Type>
virtual CVector<Type>& CSparseVector< Type >::operator*= ( const Type &  )
virtual

multiply every element with scalar

Implements CVector< Type >.

template<class Type>
CVector<Type>& CSparseVector< Type >::operator/= ( const CVector< Type > &  v2)
inline
template<class Type>
virtual CVector<Type>& CSparseVector< Type >::operator/= ( const Type &  )
virtual

divide every element by scalar

Implements CVector< Type >.

template<class Type>
const Type& CSparseVector< Type >::operator[] ( int  n) const
virtual

return constant reference to n'th vector element

Implements CVector< Type >.

template<class Type>
void CSparseVector< Type >::setElement ( int  index,
pair< int, Type >  value 
)
template<class Type>
CDenseVector<int> CSparseVector< Type >::sort ( )
virtual

Implements CVector< Type >.

template<class Type>
CVector<double>* CSparseVector< Type >::toDouble ( ) const
virtual

create a copy with every element stored as 'double'

Implements CVector< Type >.

template<class Type>
CVector<float>* CSparseVector< Type >::toFloat ( ) const
virtual

create a copy with every element stored as 'float'

Implements CVector< Type >.


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