FieldOperators.h
Go to the documentation of this file.
1/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
2 * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
3 * Author(s): Hannah Schreiber
4 *
5 * Copyright (C) 2024 Inria
6 *
7 * Modification(s):
8 * - YYYY/MM Author: Description of the modification
9 */
10
17namespace Gudhi {
18namespace persistence_matrix {
19
31{
32 public:
33 using Element = unspecified;
34 using Characteristic = unspecified;
42 FieldOperators(Characteristic characteristic = 0);
43
50 void set_characteristic(const Characteristic& characteristic);
57
66 template <typename Integer_type>
67 Element get_value(Integer_type e) const;
68
69 // void get_value(Element& e) const;
70
78 void add_inplace(Element& e1, const Element& e2) const;
79
87 void multiply_inplace(Element& e1, const Element& e2) const;
88
97 void multiply_and_add_inplace_front(Element& e, const Element& m, const Element& a) const;
106 void multiply_and_add_inplace_back(const Element& e, const Element& m, Element& a) const;
107
114 Element get_inverse(const Element& e) const;
115
128
136 friend void swap(FieldOperators& f1, FieldOperators& f2);
137};
138
139} // namespace persistence_matrix
140} // namespace Gudhi
Concept of the field operator classes needed for the class Matrix.
Definition: FieldOperators.h:31
Element get_value(Integer_type e) const
Returns the value of an integer in the field. That is the positive value of the integer modulo the cu...
void multiply_and_add_inplace_front(Element &e, const Element &m, const Element &a) const
Multiplies the first element with the second one and adds the third one, that is (e * m + a) % charac...
unspecified Characteristic
Definition: FieldOperators.h:34
FieldOperators(Characteristic characteristic=0)
Default constructor. If a non-zero characteristic is given, initializes the field with it....
FieldOperators & operator=(FieldOperators other)
Assign operator.
void multiply_inplace(Element &e1, const Element &e2) const
Stores in the first element the multiplication of two given elements in the field,...
unspecified Element
Definition: FieldOperators.h:33
static const Element & get_additive_identity()
Returns the additive identity of the field.
void set_characteristic(const Characteristic &characteristic)
Sets the characteristic of the field. Can eventually be omitted if the characteristic of the class is...
void add_inplace(Element &e1, const Element &e2) const
Stores in the first element the sum of two given elements in the field, that is (e1 + e2) % character...
Element get_inverse(const Element &e) const
Returns the inverse of the given element in the field.
const Characteristic & get_characteristic() const
Returns the current characteristic.
void multiply_and_add_inplace_back(const Element &e, const Element &m, Element &a) const
Multiplies the first element with the second one and adds the third one, that is (e * m + a) % charac...
static const Element & get_multiplicative_identity()
Returns the multiplicative identity of the field.
friend void swap(FieldOperators &f1, FieldOperators &f2)
Swap operator.
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14