![]() |
Basic Polynomial Algebra Subprograms (BPAS)
v. 1.791
|
A simple data structure for encapsulating a collection of Factor elements. More...
#include <Factors.hpp>
Full inheritance diagram for Factors< Ring >:Public Member Functions | |
| Factors () | |
| Default constructor. More... | |
| Factors (const Ring &r) | |
| Construct a Factors with a single factor. More... | |
| Factors (const std::vector< Ring > &v) | |
| Create a Factors from a list of Ring elements. More... | |
| Factors (const std::vector< Ring > &v, const std::vector< int > &e) | |
| Create a Factors from a list of Ring elements and a parallel array of integers as exponents for each ring element. More... | |
| Factors (const std::vector< Ring > &v, const std::vector< int > &e, const Ring &u) | |
| Create a Factors from a list of ring elements, a parallel array of integers as exponents for each ring element, and a ring element representing the invertible unit of the Ring. More... | |
| Factors (const std::vector< Factor< Ring >> &v) | |
| Create a Factors from a vector of Factor elements. More... | |
| Factors (const std::vector< Factor< Ring >> &v, const Ring &u) | |
| Create a Factors from a vector of Factor elements and an invertible Ring element. More... | |
| Factors (const Factors &f) | |
| Copy consturctor. More... | |
| Factors (Factors &&f) | |
| Move consturctor. More... | |
| ~Factors () | |
| Destructor. | |
| void | setRingElement (const Ring &r) |
| Set the invertible Ring element. More... | |
| Ring | ringElement () const |
| Get the invertible Ring element. More... | |
| void | multiplyRingElement (const Ring &r) |
| Multiply this Factors invertible Ring element by another Ring element. More... | |
| std::vector< Factor< Ring > > | factors () const |
| Get the list of Factor elements. More... | |
| Factor< Ring > | factor (int i) const |
| Get the i'th Factor. More... | |
| void | setFactors (const std::vector< Factor< Ring >> &v) |
| Set the list of Factor elements. More... | |
| void | addFactor (const Factor< Ring > &f) |
| A Factor to the list of Factor elements. More... | |
| void | addFactor (const Ring &r, int e) |
| Add a Ring element and its corresponding exponent as a Factor. More... | |
| void | addFactor (Ring &&r, int e) |
| Add a Ring element and its corresponding exponent as a Factor. More... | |
| void | addFactors (const Factors< Ring > f) |
| Combine another Factors' list of Factor elements with this Factors. More... | |
| size_t | size () const |
| Get the number of Factor elements in this Factors object. More... | |
| Factors< Ring > & | operator= (const Factors< Ring > &f) |
| Copy assignment. More... | |
| Factors< Ring > & | operator= (Factors< Ring > &&f) |
| Move assignment. More... | |
| bool | operator== (const Factors< Ring > &f) const |
| Equality testing for Factors. More... | |
| bool | operator!= (const Factors< Ring > &f) const |
| Inequality testing for Factors. More... | |
| Factor< Ring > & | operator[] (size_t idx) |
| Indexing operator. More... | |
| ExpressionTree | convertToExpressionTree () const |
| Convert the Factors object to an ExpressionTree. More... | |
Friends | |
| std::ostream & | operator<< (std::ostream &out, const Factors< Ring > &f) |
| Output operator. More... | |
A simple data structure for encapsulating a collection of Factor elements.
Factors are encoded as a list of Factor items. That is, a pair of a Ring element and an integer representing its exponent. This list of Factor elements is augmented by an invertible element of the ring (if one such exists) as a constant multiplicative factor.
Default constructor.
Constructs an empty list of factors.
Construct a Factors with a single factor.
| r | the Ring element |
Create a Factors from a list of Ring elements.
Each factor is assumed to have an exponent of 1.
| v | the vector of Ring elements. |
| Factors< Ring >::Factors | ( | const std::vector< Ring > & | v, |
| const std::vector< int > & | e | ||
| ) |
Create a Factors from a list of Ring elements and a parallel array of integers as exponents for each ring element.
| v | the vector of Ring elements |
| e | the parallel vector of integer exponents |
| Factors< Ring >::Factors | ( | const std::vector< Ring > & | v, |
| const std::vector< int > & | e, | ||
| const Ring & | u | ||
| ) |
Create a Factors from a list of ring elements, a parallel array of integers as exponents for each ring element, and a ring element representing the invertible unit of the Ring.
| v | the vector of Ring elements |
| e | the parallel vector of integer exponents |
| u | the multicative factor |
Copy consturctor.
| f | the Factors to copy. |
Move consturctor.
| f | the Factors to move. |
|
inline |
Add a Ring element and its corresponding exponent as a Factor.
| r | the ring element. |
| e | the exponent |
|
inline |
Add a Ring element and its corresponding exponent as a Factor.
| r | the ring element. |
| e | the exponent |
|
inlinevirtual |
Convert the Factors object to an ExpressionTree.
Implements ExpressionTreeConvert.
|
inline |
Multiply this Factors invertible Ring element by another Ring element.
| r | the other Ring element. |
Copy assignment.
| f | the Factors to copy from. |
Move assignment.
| f | the Factors to move from. |
|
inline |
Get the invertible Ring element.
|
inline |
Set the invertible Ring element.
| r | the new invertible Ring element. |
|
inline |
|
friend |
Output operator.
Defines a to string conversion.
| out | the output stream |
| f | the Factors to output |
1.8.13