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.