Loading...
Searching...
No Matches
Gudhi::persistence_fields::Multi_field_element< minimum, maximum > Class Template Reference

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 (Element element)
 Constructor setting the element to the given value.
 
 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].
 
std::pair< Multi_field_element, Characteristicget_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].
 
Element get_value () const
 Returns the value of the element.
 

Static Public Member Functions

static Multi_field_element get_additive_identity ()
 Returns the additive identity of a field.
 
static Multi_field_element get_multiplicative_identity ()
 Returns the multiplicative identity of a field.
 
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.
 
static Characteristic get_characteristic ()
 Returns the product of all characteristics.
 

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) noexcept
 Assign operator.
 

Detailed Description

template<unsigned int minimum, unsigned int maximum>
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.

Template Parameters
minimumInterval closed lower bound.
maximumInterval closed upper bound.

Member Typedef Documentation

◆ Characteristic

template<unsigned int minimum, unsigned int maximum>
using Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::Characteristic = Element

Type for the field characteristic.

◆ Element

template<unsigned int minimum, unsigned int maximum>
using Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::Element = mpz_class

Type for the elements in the field.

Constructor & Destructor Documentation

◆ Multi_field_element()

template<unsigned int minimum, unsigned int maximum>
Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::Multi_field_element ( Element element)
inline

Constructor setting the element to the given value.

Parameters
elementValue of the element.

Member Function Documentation

◆ get_additive_identity()

template<unsigned int minimum, unsigned int maximum>
static Multi_field_element Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::get_additive_identity ( )
inlinestatic

Returns the additive identity of a field.

Returns
The additive identity of a field.

◆ get_characteristic()

template<unsigned int minimum, unsigned int maximum>
static Characteristic Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::get_characteristic ( )
inlinestatic

Returns the product of all characteristics.

Returns
The product of all characteristics.

◆ get_inverse()

template<unsigned int minimum, unsigned int maximum>
Multi_field_element Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::get_inverse ( ) const
inlinenodiscard

Returns the inverse of the element in the multi-field, see [6].

Returns
The inverse.

◆ get_multiplicative_identity()

template<unsigned int minimum, unsigned int maximum>
static Multi_field_element Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::get_multiplicative_identity ( )
inlinestatic

Returns the multiplicative identity of a field.

Returns
The multiplicative identity of a field.

◆ get_partial_inverse()

template<unsigned int minimum, unsigned int maximum>
std::pair< Multi_field_element, Characteristic > Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::get_partial_inverse ( const Characteristic & productOfCharacteristics) const
inlinenodiscard

Returns the inverse of the element with respect to a sub-product of the characteristics in the multi-field, see [6].

Parameters
productOfCharacteristicsSub-product of the characteristics.
Returns
Pair of the inverse and the characteristic the inverse corresponds to.

◆ get_partial_multiplicative_identity()

template<unsigned int minimum, unsigned int maximum>
static Multi_field_element Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::get_partial_multiplicative_identity ( const Characteristic & productOfCharacteristics)
inlinestatic

Returns the partial multiplicative identity of the multi-field from the given product. See [6] for more details.

Parameters
productOfCharacteristicsProduct of the different characteristics to take into account in the multi-field.
Returns
The partial multiplicative identity of the multi-field.

◆ get_value()

template<unsigned int minimum, unsigned int maximum>
Element Gudhi::persistence_fields::Multi_field_element< minimum, maximum >::get_value ( ) const
inlinenodiscard

Returns the value of the element.

Returns
Value of the element.

Friends And Related Symbol Documentation

◆ swap

template<unsigned int minimum, unsigned int maximum>
void swap ( Multi_field_element< minimum, maximum > & f1,
Multi_field_element< minimum, maximum > & f2 )
friend

Assign operator.

Swap operator.


The documentation for this class was generated from the following file: