Loading...
Searching...
No Matches
Gudhi::persistence_matrix::RU_vine_swap< Master_matrix > Class Template Reference
Persistence Matrix

Class managing the vine swaps for RU_matrix. More...

`#include <gudhi/Persistence_matrix/ru_vine_swap.h>`

## Public Types

using | Index = typename Master_matrix::Index
using | ID_index = typename Master_matrix::ID_index
using | Pos_index = typename Master_matrix::Pos_index

## Public Member Functions

| RU_vine_swap ()
| Default constructor.
| RU_vine_swap (const RU_vine_swap &matrixToCopy)
| Copy constructor.
| RU_vine_swap (RU_vine_swap &&other) noexcept
| Move constructor.
bool | vine_swap_with_z_eq_1_case (Pos_index index)
| Does the same than vine_swap, but assumes that the swap is non trivial and therefore skips a part of the case study.
bool | vine_swap (Pos_index index)

Does a vine swap between two cells which are consecutive in the filtration. Roughly, if \( F \) is the current filtration represented by the matrix, the method modifies the matrix such that the new state corresponds to a valid state for the filtration \( F' \) equal to \( F \) but with the two cells at position position and position + 1 swapped. Of course, the two cells should not have a face/coface relation which each other ; \( F' \) has to be a valid filtration. See [vineyards] for more information about vine and vineyards.

RU_vine_swap & | operator= (RU_vine_swap other)
| Assign operator.

## Friends

void | swap (RU_vine_swap &swap1, RU_vine_swap &swap2)
| Swap operator.

## Detailed Description

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

Class managing the vine swaps for RU_matrix.

Template Parameters

  Master_matrix | An instantiation of Matrix from which all types and options are deduced.

## Member Typedef Documentation

## ID_index

template<class Master_matrix>

using Gudhi::persistence_matrix::RU_vine_swap< Master_matrix >::ID_index = typename Master_matrix::ID_index

IDIdx index type.

## Index

template<class Master_matrix>

using Gudhi::persistence_matrix::RU_vine_swap< Master_matrix >::Index = typename Master_matrix::Index

MatIdx index type.

## Pos_index

template<class Master_matrix>

using Gudhi::persistence_matrix::RU_vine_swap< Master_matrix >::Pos_index = typename Master_matrix::Pos_index

PosIdx index type.

## Constructor & Destructor Documentation

## RU_vine_swap() [1/2]

template<class Master_matrix>

Gudhi::persistence_matrix::RU_vine_swap< Master_matrix >::RU_vine_swap | ( | const RU_vine_swap< Master_matrix > & | matrixToCopy | ) |

inline

Copy constructor.

Parameters

  matrixToCopy | Matrix to copy.

## RU_vine_swap() [2/2]

template<class Master_matrix>

Gudhi::persistence_matrix::RU_vine_swap< Master_matrix >::RU_vine_swap | ( | RU_vine_swap< Master_matrix > && | other | ) |

inline noexcept

Move constructor.

Parameters

  other | Matrix to move.

## Member Function Documentation

## vine_swap()

template<class Master_matrix>

bool Gudhi::persistence_matrix::RU_vine_swap< Master_matrix >::vine_swap | ( | Pos_index | index | ) |

inline

Does a vine swap between two cells which are consecutive in the filtration. Roughly, if \( F \) is the current filtration represented by the matrix, the method modifies the matrix such that the new state corresponds to a valid state for the filtration \( F' \) equal to \( F \) but with the two cells at position position and position + 1 swapped. Of course, the two cells should not have a face/coface relation which each other ; \( F' \) has to be a valid filtration. See [vineyards] for more information about vine and vineyards.

Parameters

  index | PosIdx index of the first cell to swap. The second one has to be at position + 1.

Returns
  true If the barcode changed from the swap.
  false Otherwise.

## vine_swap_with_z_eq_1_case()

template<class Master_matrix>

bool Gudhi::persistence_matrix::RU_vine_swap< Master_matrix >::vine_swap_with_z_eq_1_case | ( | Pos_index | index | ) |

inline

Does the same than vine_swap, but assumes that the swap is non trivial and therefore skips a part of the case study.

Parameters

  index | PosIdx index of the first cell to swap. The second one has to be at position + 1.

Returns
  true If the barcode changed from the swap.
  false Otherwise.

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

- include/gudhi/Persistence_matrix/ru_vine_swap.h