carl
24.04
Computer ARithmetic Library
|
This class can be used to construct iterated field extensions from a sequence of real algebraic numbers. More...
#include <FieldExtensions.h>
Public Member Functions | |
std::pair< bool, Poly > | extend (Variable v, const IntRepRealAlgebraicNumber< Rational > &r) |
Extend the current number field with the field extension defined by r. More... | |
Poly | embed (const Poly &poly) |
Private Attributes | |
std::map< Variable, IntRepRealAlgebraicNumber< Rational > > | mModel |
This class can be used to construct iterated field extensions from a sequence of real algebraic numbers.
In particular it makes sure that the minimal polynomials are "reduced", i.e. making sure that they are minimal polynomial w.r.t. the current extension field.
Definition at line 128 of file FieldExtensions.h.
|
inline |
Definition at line 201 of file FieldExtensions.h.
|
inline |
Extend the current number field with the field extension defined by r.
The minimal polynomial of r (with is a minimal polynomials in Q[x]) is embedded into the current number field and the minimal polynomial for r within this number field is computed. The resulting polynomial is this minimal polynomial over the current number field.
We may have one of two cases:
In the first case, we return true and the term to substitute with. In the second case, we return false and the new minimal polynomial.
Definition at line 167 of file FieldExtensions.h.
|
private |
Definition at line 130 of file FieldExtensions.h.