Class representing an element of a multi-field. The characteristics will corresponds to all prime numbers in the interval given as template. More...
Public Types | |
using | element_type = mpz_class |
using | characteristic_type = element_type |
Public Member Functions | |
Multi_field_element () | |
Default constructor. Sets the element to 0. | |
Multi_field_element (const element_type &element) | |
Constructor setting the element to the given value. More... | |
Multi_field_element (const Multi_field_element &toCopy) | |
Copy constructor. More... | |
Multi_field_element (Multi_field_element &&toMove) noexcept | |
Move constructor. More... | |
Multi_field_element & | operator= (Multi_field_element other) |
Assign operator. | |
Multi_field_element & | operator= (const element_type &value) |
Assign operator. | |
operator unsigned int () const | |
Casts the element into an unsigned int. | |
operator mpz_class () const | |
Casts the element into an mpz_class. | |
Multi_field_element | get_inverse () const |
Returns the inverse of the element in the multi-field, see [6]. More... | |
std::pair< Multi_field_element, characteristic_type > | get_partial_inverse (const characteristic_type &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_type | get_value () const |
Returns the value of the element. More... | |
Static Public Member Functions | |
static Multi_field_element | get_additive_identity () |
Returns the additive identity of a field. More... | |
static Multi_field_element | get_multiplicative_identity () |
Returns the multiplicative identity of a field. More... | |
static Multi_field_element | get_partial_multiplicative_identity (const characteristic_type &productOfCharacteristics) |
Returns the partial multiplicative identity of the multi-field from the given product. See [6] for more details. More... | |
static characteristic_type | get_characteristic () |
Returns the product of all characteristics. More... | |
Class representing an element of a multi-field. The characteristics will corresponds to all prime numbers in the interval given as template.
minimum | Interval closed lower bound. |
maximum | Interval closed upper bound. |
using Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::characteristic_type = element_type |
Type for the field characteristic.
using Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::element_type = 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.