Persistence Fields

## Classes | |

class | Gudhi::persistence_fields::Multi_field_element< minimum, maximum > |

Class representing an element of a multi-field. The characteristics will corresponds to all prime numbers in the interval given as template. More... | |

class | Gudhi::persistence_fields::Multi_field_operators |

Class defining operators for a multi-field with "consecutive" charateristic range. More... | |

class | Gudhi::persistence_fields::Shared_multi_field_element |

Class representing an element of a multi-field. If each instanciation of the class can represent another element, they all share the same characteritics. That is if the characteristics are set for one, they will be set for all the others. The characteristics can be set before instianciating the elements with the static Shared_multi_field_element::initialize method. More... | |

class | Gudhi::persistence_fields::Multi_field_element_with_small_characteristics< minimum, maximum, Unsigned_integer_type, class > |

Class representing an element of a multi-field, such that the product of all characteristics fits into the given `Unsigned_integer_type` template argument. The characteristics will corresponds to all prime numbers in the interval given as other template arguments. More... | |

class | Gudhi::persistence_fields::Multi_field_operators_with_small_characteristics |

Class defining operators for a multi-field with "consecutive" charateristic range, such that `productOfAllCharacteristics ^ 2` fits into an unsigned int. More... | |

class | Gudhi::persistence_fields::Shared_multi_field_element_with_small_characteristics< Unsigned_integer_type, class > |

Class representing an element of a multi-field, such that `productOfAllCharacteristics ^ 2` fits into the given `Unsigned_integer_type` template argument. If each instanciation of the class can represent another element, they all share the same characteritics. That is if the characteristics are set for one, they will be set for all the others. The characteristics can be set before instanciating the elements with the static Shared_multi_field_element_with_small_characteristics::initialize method. More... | |

class | Gudhi::persistence_fields::Z2_field_element |

Class representing an element of the \( \mathbb{F}_2 \) field. More... | |

class | Gudhi::persistence_fields::Z2_field_operators |

Class defining operators for the \( \mathbb{F}_2 \) field. More... | |

class | Gudhi::persistence_fields::Zp_field_element< characteristic, Unsigned_integer_type, class > |

Class representing an element of the \( \mathbb{F}_p \) field for any prime number \( p \). More... | |

class | Gudhi::persistence_fields::Zp_field_operators< Unsigned_integer_type, class > |

Class defining operators for the \( \mathbb{F}_p \) field for any prime number \( p \). More... | |

class | Gudhi::persistence_fields::Shared_Zp_field_element< Unsigned_integer_type, class > |

Class representing an element of the \( \mathbb{F}_p \) field for any prime number \( p \). If each instanciation of the class can represent another element, they all share the same characteritics. That is if the characteristics are set for one, they will be set for all the others. The characteristics can be set before instianciating the elements with the static Shared_Zp_field_element::initialize method. More... | |

Set of classes allowing addition and multiplication, as well as inverse computation, in \( \mathbb{F}_p \) fields, with \( p \) some prime number, or in multi-fields as defined in [6].

There are two types of classes:

- those defining directly a field element, allowing to use them as any integer: the operators are overwritten such that the calculation is done in the field. For example, if \( e = 2 \) is an instanciation of an \( \mathbb{F}_3 \) element class, then
`e + 3`

returns an element instanciation of value`2`

, - those only defining the operators of a field or multi-field. They represent a collection of methods taking one or two integers as input and treating them as elements of the field. For example, if \( op \) is an instanciation of a \( \mathbb{F}_3 \) operator class,
`op.add(2, 3)`

returns`2`

.

The field operator classes all respect the persistence_matrix::FieldOperators concept.

Here is a list of examples using the module:

- Persistence_field/example_field_operations.cpp - A simple example to showcase how to use the different field element and operator classes.