Class representing an element of a multi-field. The characteristics will corresponds to all prime numbers in the interval given as template. More...
#include <gudhi/Fields/Multi_field.h>
Public Types | |
| using | Element = mpz_class |
| using | Characteristic = Element |
Public Member Functions | |
| Multi_field_element () | |
| Default constructor. Sets the element to 0. | |
| Multi_field_element (const Element &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 &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 > | 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 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 &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... | |
Friends | |
| void | operator+= (Multi_field_element &f1, Multi_field_element const &f2) |
| operator+= | |
| Multi_field_element | operator+ (Multi_field_element f1, Multi_field_element const &f2) |
| operator+ | |
| void | operator+= (Multi_field_element &f, const Element &v) |
| operator+= | |
| Multi_field_element | operator+ (Multi_field_element f, const Element &v) |
| operator+ | |
| Element | operator+ (Element v, Multi_field_element const &f) |
| operator+ | |
| void | operator-= (Multi_field_element &f1, Multi_field_element const &f2) |
| operator-= | |
| Multi_field_element | operator- (Multi_field_element f1, Multi_field_element const &f2) |
| operator- | |
| void | operator-= (Multi_field_element &f, const Element &v) |
| operator-= | |
| Multi_field_element | operator- (Multi_field_element f, const Element &v) |
| operator- | |
| Element | operator- (Element v, Multi_field_element const &f) |
| operator- | |
| void | operator*= (Multi_field_element &f1, Multi_field_element const &f2) |
| operator*= | |
| Multi_field_element | operator* (Multi_field_element f1, Multi_field_element const &f2) |
| operator* | |
| void | operator*= (Multi_field_element &f, const Element &v) |
| operator*= | |
| Multi_field_element | operator* (Multi_field_element f, const Element &v) |
| operator* | |
| Element | operator* (Element v, Multi_field_element const &f) |
| operator* | |
| bool | operator== (const Multi_field_element &f1, const Multi_field_element &f2) |
| operator== | |
| bool | operator== (const Element &v, const Multi_field_element &f) |
| operator== | |
| bool | operator== (const Multi_field_element &f, const Element &v) |
| operator== | |
| bool | operator!= (const Multi_field_element &f1, const Multi_field_element &f2) |
| operator!= | |
| bool | operator!= (const Element &v, const Multi_field_element &f) |
| operator!= | |
| bool | operator!= (const Multi_field_element &f, const Element &v) |
| operator!= | |
| void | swap (Multi_field_element &f1, Multi_field_element &f2) |
| Swap operator. | |
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 = Element |
Type for the field characteristic.
| using Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::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.