Loading...
Searching...
No Matches
Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix > Class Template Reference

Class managing the representative cycles for Chain_matrix if the option was enabled. More...

#include <gudhi/Persistence_matrix/chain_rep_cycles.h>

Public Types

using Bar = typename Master_matrix::Bar
using Cycle = typename Master_matrix::Cycle
using Column_container = typename Master_matrix::Column_container
using Index = typename Master_matrix::Index
using ID_index = typename Master_matrix::ID_index
using Dimension = typename Master_matrix::Dimension

Public Member Functions

 Chain_representative_cycles ()=default
 Default constructor.
void update_all_representative_cycles (Dimension dim=Master_matrix::template get_null_value< Dimension >())
 Computes the current representative cycles of the matrix.
void update_representative_cycle (const Bar &bar)
 Computes the current representative cycle of the given bar. All other cycles already computed are left untouched (and therefore they could be unvalid for the current matrix).
const std::vector< Cycle > & get_all_representative_cycles () const
 Returns the current representative cycles. If the matrix was modified since the last call, update_all_representative_cycles has to be called to update the returned cycles.
const Cycle & get_representative_cycle (const Bar &bar) const
 Returns the representative cycle corresponding to the given bar. If the matrix was modified since the last call, update_all_representative_cycles or update_representative_cycle has to be called to update the returned cycle.

Friends

void swap (Chain_representative_cycles &base1, Chain_representative_cycles &base2) noexcept
 Swap operator.

Detailed Description

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

Class managing the representative cycles for Chain_matrix if the option was enabled.

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

Member Typedef Documentation

◆ Bar

template<class Master_matrix>
using Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::Bar = typename Master_matrix::Bar

Bar type.

◆ Column_container

template<class Master_matrix>
using Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::Column_container = typename Master_matrix::Column_container

Column container type.

◆ Cycle

template<class Master_matrix>
using Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::Cycle = typename Master_matrix::Cycle

Cycle type.

◆ Dimension

template<class Master_matrix>
using Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::Dimension = typename Master_matrix::Dimension

Dimension type.

◆ ID_index

template<class Master_matrix>
using Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::ID_index = typename Master_matrix::ID_index

IDIdx index type.

◆ Index

template<class Master_matrix>
using Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::Index = typename Master_matrix::Index

MatIdx index type.

Member Function Documentation

◆ get_all_representative_cycles()

template<class Master_matrix>
const std::vector< typename Chain_representative_cycles< Master_matrix >::Cycle > & Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::get_all_representative_cycles ( ) const
inline

Returns the current representative cycles. If the matrix was modified since the last call, update_all_representative_cycles has to be called to update the returned cycles.

Returns
A const reference to a vector of Matrix::Cycle containing all representative cycles.

◆ get_representative_cycle()

template<class Master_matrix>
const Chain_representative_cycles< Master_matrix >::Cycle & Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::get_representative_cycle ( const Bar & bar) const
inline

Returns the representative cycle corresponding to the given bar. If the matrix was modified since the last call, update_all_representative_cycles or update_representative_cycle has to be called to update the returned cycle.

Parameters
barBar corresponding to the wanted representative cycle.
Returns
A const reference to the representative cycle.

◆ update_all_representative_cycles()

template<class Master_matrix>
void Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::update_all_representative_cycles ( Dimension dim = Master_matrix::template get_null_value<Dimension>())
inline

Computes the current representative cycles of the matrix.

Parameters
dimIf different from default value, only the cycles of the given dimension are updated. All others are erased.

◆ update_representative_cycle()

template<class Master_matrix>
void Gudhi::persistence_matrix::Chain_representative_cycles< Master_matrix >::update_representative_cycle ( const Bar & bar)
inline

Computes the current representative cycle of the given bar. All other cycles already computed are left untouched (and therefore they could be unvalid for the current matrix).

Note
For chain matrices with enabled vine swaps, this method will only be more efficient than update_all_representative_cycles if not called for too many bars.
Parameters
barBar corresponding to the wanted representative cycle.

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