Class representing an element of a multi-field. If each instantiation of the class can represent another element, they all share the same characteristics. That is if the characteristics are set for one, they will be set for all the others. The characteristics can be set before instantiating the elements with the static Shared_multi_field_element::initialize method. More...
#include <gudhi/Fields/Multi_field_shared.h>
Public Types | |
using | Element = mpz_class |
using | Characteristic = Element |
Public Member Functions | |
Shared_multi_field_element () | |
Default constructor. Sets the element to 0. | |
Shared_multi_field_element (Element element) | |
Constructor setting the element to the given value. More... | |
Shared_multi_field_element (const Shared_multi_field_element &toCopy) | |
Copy constructor. More... | |
Shared_multi_field_element (Shared_multi_field_element &&toMove) noexcept | |
Move constructor. More... | |
Shared_multi_field_element & | operator= (Shared_multi_field_element other) |
Assign operator. | |
Shared_multi_field_element & | operator= (const Element &value) |
Assign operator. | |
operator unsigned int () const | |
Casts the element into an unsigned int. | |
operator mpz_class () const | |
Casts the element into a mpz_class. | |
Shared_multi_field_element | get_inverse () const |
Returns the inverse of the element in the multi-field, see [6]. More... | |
std::pair< Shared_multi_field_element, Characteristic > | get_partial_inverse (const Characteristic &productOfCharacteristics) const |
Returns the inverse of the element with respect to a sub-product of the characteristics in the multi-field, see [6]. More... | |
Element | get_value () const |
Returns the value of the element. More... | |
Static Public Member Functions | |
static void | initialize (unsigned int minimum, unsigned int maximum) |
Initialize the multi-field to the characteristics (primes) contained in the given interval. Should be called first before constructing the field elements. More... | |
static Shared_multi_field_element | get_additive_identity () |
Returns the additive identity of a field. More... | |
static Shared_multi_field_element | get_multiplicative_identity () |
Returns the multiplicative identity of a field. More... | |
static Shared_multi_field_element | get_partial_multiplicative_identity (const Characteristic &productOfCharacteristics) |
Returns the partial multiplicative identity of the multi-field from the given product. See [6] for more details. More... | |
static Characteristic | get_characteristic () |
Returns the product of all characteristics. More... | |
Class representing an element of a multi-field. If each instantiation of the class can represent another element, they all share the same characteristics. That is if the characteristics are set for one, they will be set for all the others. The characteristics can be set before instantiating the elements with the static Shared_multi_field_element::initialize method.
Type for the field characteristic.
using Gudhi::persistence_fields::Shared_multi_field_element::Element = mpz_class |
Type for the elements in the field.
|
inline |
Constructor setting the element to the given value.
element | Value of the element. |
|
inline |
Copy constructor.
toCopy | Element to copy. |
|
inlinenoexcept |
Move constructor.
toMove | Element to move. |
|
inlinestatic |
Returns the additive identity of a field.
|
inlinestatic |
Returns the product of all characteristics.
|
inline |
Returns the inverse of the element in the multi-field, see [6].
|
inlinestatic |
Returns the multiplicative identity of a field.
|
inline |
Returns the inverse of the element with respect to a sub-product of the characteristics in the multi-field, see [6].
productOfCharacteristics | Sub-product of the characteristics. |
|
inlinestatic |
Returns the partial multiplicative identity of the multi-field from the given product. See [6] for more details.
productOfCharacteristics | Product of the different characteristics to take into account in the multi-field. |
|
inline |
Returns the value of the element.
|
inlinestatic |
Initialize the multi-field to the characteristics (primes) contained in the given interval. Should be called first before constructing the field elements.
minimum | Lowest value in the interval. |
maximum | Highest value in the interval. |