Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix > Class Template Reference

Class managing the pivot and partitioning of columns in Chain_matrix. More...

Public Types

using index = typename Master_matrix::index
 
using id_index = typename Master_matrix::id_index
 

Public Member Functions

 Chain_column_extra_properties ()
 Default constructor. Sets the pivot and pair to -1, which means "not existing".
 
 Chain_column_extra_properties (id_index pivot)
 Constructor setting the pivot at the given value and the pair to -1 (i.e. not paired). More...
 
 Chain_column_extra_properties (id_index pivot, index pair)
 Constructor setting the pivot and the pair at the given values. More...
 
 Chain_column_extra_properties (const Chain_column_extra_properties &col)
 Copy constructor. More...
 
 Chain_column_extra_properties (Chain_column_extra_properties &&col)
 Move constructor. More...
 
index get_paired_chain_index () const
 Returns -1 if the column is not paired, the MatIdx of the pair otherwise. More...
 
bool is_paired () const
 Indicates if the column is paired or not. More...
 
void assign_paired_chain (index other_col)
 Sets the value of the pair. More...
 
void unassign_paired_chain ()
 Unpairs a column.
 
Chain_column_extra_propertiesoperator= (const Chain_column_extra_properties &other)
 Assign operator.
 

Friends

void swap (Chain_column_extra_properties &col1, Chain_column_extra_properties &col2)
 Swap operator.
 

Detailed Description

template<class Master_matrix>
class Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >

Class managing the pivot and partitioning of columns in Chain_matrix.

The columns of a chain matrix are partitioned in three sets: \( F \), \( G \) and \( H \) with a bijection between \( G \) and \( H \). If a column is in \( F \), the value of Chain_column_extra_properties::pairedColumn_ is -1, while the value corresponds to the MatIdx index of the image of the bijection if the column is in either \( G \) or \( H \). See [41] for more details.

Template Parameters
Master_matrixAn instanciation of Matrix from which all types and options are deduced.

Member Typedef Documentation

◆ id_index

template<class Master_matrix >
using Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::id_index = typename Master_matrix::id_index

IDIdx index type.

◆ index

template<class Master_matrix >
using Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::index = typename Master_matrix::index

MatIdx index type.

Constructor & Destructor Documentation

◆ Chain_column_extra_properties() [1/4]

template<class Master_matrix >
Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::Chain_column_extra_properties ( id_index  pivot)
inline

Constructor setting the pivot at the given value and the pair to -1 (i.e. not paired).

Parameters
pivotRow index of the pivot. Corresponds to the IDIdx index of the face represented by the column.

◆ Chain_column_extra_properties() [2/4]

template<class Master_matrix >
Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::Chain_column_extra_properties ( id_index  pivot,
index  pair 
)
inline

Constructor setting the pivot and the pair at the given values.

Parameters
pivotRow index of the pivot. Corresponds to the IDIdx index of the face represented by the column.
pairMatIdx index of the pair of the column.

◆ Chain_column_extra_properties() [3/4]

template<class Master_matrix >
Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::Chain_column_extra_properties ( const Chain_column_extra_properties< Master_matrix > &  col)
inline

Copy constructor.

Parameters
colColumn to copy.

◆ Chain_column_extra_properties() [4/4]

template<class Master_matrix >
Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::Chain_column_extra_properties ( Chain_column_extra_properties< Master_matrix > &&  col)
inline

Move constructor.

Parameters
colColumn to move.

Member Function Documentation

◆ assign_paired_chain()

template<class Master_matrix >
void Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::assign_paired_chain ( index  other_col)
inline

Sets the value of the pair.

Parameters
other_colMatIdx of the pair column.

◆ get_paired_chain_index()

template<class Master_matrix >
index Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::get_paired_chain_index ( ) const
inline

Returns -1 if the column is not paired, the MatIdx of the pair otherwise.

Returns
-1 if the column is not paired, the MatIdx of the pair otherwise.

◆ is_paired()

template<class Master_matrix >
bool Gudhi::persistence_matrix::Chain_column_extra_properties< Master_matrix >::is_paired ( ) const
inline

Indicates if the column is paired or not.

Returns
true If the column is paired.
false Otherwise.

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