Package edu.jas.application
Class PolyUtilApp<C extends RingElem<C>>
java.lang.Object
edu.jas.application.PolyUtilApp<C>
- Type Parameters:
C
- coefficient type
Polynomial utilities for applications, for example conversion ExpVector to
Product or zero dimensional ideal root computation.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <D extends GcdRingElem<D> & Rational>
List<IdealWithComplexAlgebraicRoots<D>> complexAlgebraicRoots
(Ideal<D> I) Construct exact set of complex roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
IdealWithComplexAlgebraicRoots<D> Construct complex roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<IdealWithComplexAlgebraicRoots<D>> Construct complex roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<IdealWithComplexRoots<D>> complexRoots
(Ideal<D> G, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<List<Complex<BigDecimal>>> complexRoots
(Ideal<D> I, List<GenPolynomial<D>> univs, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<IdealWithComplexRoots<D>> complexRoots
(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<List<Complex<BigDecimal>>> complexRootTuples
(Ideal<D> I, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<List<Complex<BigDecimal>>> complexRootTuples
(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).(package private) static <C extends RingElem<C>>
GenPolynomial<C> convert
(GenPolynomialRing<C> fac, GenPolynomial<C> p) (package private) static <C extends RingElem<C>>
GenPolynomial<Complex<C>> convertComplex
(GenPolynomialRing<Complex<C>> fac, GenPolynomial<C> p) (package private) static <C extends RingElem<C>>
GenPolynomial<Complex<C>> convertComplexComplex
(GenPolynomialRing<Complex<C>> fac, GenPolynomial<Complex<C>> p) static <C extends GcdRingElem<C> & Rational>
GenPolynomial<Complex<RealAlgebraicNumber<C>>> convertToComplexRealCoefficients
(GenPolynomialRing<Complex<RealAlgebraicNumber<C>>> pfac, GenPolynomial<Complex<C>> A) Convert to Complex<RealAlgebraicNumber> coefficients.static <C extends GcdRingElem<C>>
AlgebraicNumber<C> convertToPrimitiveElem
(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, AlgebraicNumber<C> a) Convert to primitive element ring.static <C extends GcdRingElem<C>>
AlgebraicNumber<C> convertToPrimitiveElem
(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, AlgebraicNumber<C> B, AlgebraicNumber<AlgebraicNumber<C>> a) Convert to primitive element ring.static <C extends GcdRingElem<C>>
GenPolynomial<AlgebraicNumber<C>> convertToPrimitiveElem
(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, AlgebraicNumber<C> B, GenPolynomial<AlgebraicNumber<AlgebraicNumber<C>>> a) Convert to primitive element ring.static <C extends GcdRingElem<C>>
GenPolynomial<AlgebraicNumber<C>> convertToPrimitiveElem
(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, GenPolynomial<AlgebraicNumber<C>> a) Convert coefficients to primitive element ring.static <C extends GcdRingElem<C> & Rational>
GenPolynomial<Complex<RealAlgebraicNumber<C>>> evaluateToComplexRealCoefficients
(GenPolynomialRing<Complex<RealAlgebraicNumber<C>>> pfac, GenPolynomial<GenPolynomial<Complex<C>>> A, Complex<RealAlgebraicNumber<C>> r) Evaluate to Complex<RealAlgebraicNumber> coefficients.static <C extends GcdRingElem<C>>
GenPolynomial<GenPolynomial<C>> fromProduct
(GenPolynomialRing<GenPolynomial<C>> pfac, GenPolynomial<Product<Residue<C>>> P, int i) From product representation.static <C extends GcdRingElem<C>>
List<GenPolynomial<GenPolynomial<C>>> fromProduct
(GenPolynomialRing<GenPolynomial<C>> pfac, List<GenPolynomial<Product<Residue<C>>>> L, int i) From product representation.static boolean
isComplexRoots
(List<GenPolynomial<Complex<BigDecimal>>> L, List<List<Complex<BigDecimal>>> roots, BigDecimal eps) Test for complex roots of zero dimensional ideal(L).static boolean
isRealRoots
(List<GenPolynomial<BigDecimal>> L, List<List<BigDecimal>> roots, BigDecimal eps) Test for real roots of zero dimensional ideal(L).static <C extends GcdRingElem<C>>
PrimitiveElement<C> primitiveElement
(AlgebraicNumberRing<C> a, AlgebraicNumberRing<C> b) Construct primitive element for double field extension.static <C extends GcdRingElem<C>>
PrimitiveElement<C> Construct primitive element for double field extension.static <C extends GcdRingElem<C>>
Map<Ideal<C>, PolynomialList<GenPolynomial<C>>> productSlice
(PolynomialList<Product<Residue<C>>> L) Product slice.static <C extends GcdRingElem<C>>
PolynomialList<GenPolynomial<C>> productSlice
(PolynomialList<Product<Residue<C>>> L, int i) Product slice at i.static <C extends GcdRingElem<C>>
StringproductSliceToString
(Map<Ideal<C>, PolynomialList<GenPolynomial<C>>> L) Product slice to String.static <C extends GcdRingElem<C>>
StringproductToString
(PolynomialList<Product<Residue<C>>> L) Product slice to String.static <D extends GcdRingElem<D> & Rational>
List<IdealWithRealAlgebraicRoots<D>> realAlgebraicRoots
(Ideal<D> I) Construct exact set of real roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
IdealWithRealAlgebraicRoots<D> Construct real roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<IdealWithRealAlgebraicRoots<D>> realAlgebraicRoots
(List<IdealWithUniv<D>> I) Construct real roots for zero dimensional ideal(G).static <C extends GcdRingElem<C> & Rational>
GenPolynomial<RealAlgebraicNumber<C>> realAlgFromRealCoefficients
(GenPolynomialRing<RealAlgebraicNumber<C>> afac, GenPolynomial<RealAlgebraicNumber<C>> A) Convert to RealAlgebraicNumber coefficients.static <C extends GcdRingElem<C> & Rational>
GenPolynomial<RealAlgebraicNumber<C>> realFromRealAlgCoefficients
(GenPolynomialRing<RealAlgebraicNumber<C>> rfac, GenPolynomial<RealAlgebraicNumber<C>> A) Convert to RealAlgebraicNumber coefficients.static <D extends GcdRingElem<D> & Rational>
List<IdealWithRealRoots<D>> realRoots
(Ideal<D> G, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<List<BigDecimal>> realRoots
(Ideal<D> I, List<GenPolynomial<D>> univs, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<IdealWithRealRoots<D>> realRoots
(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<List<BigDecimal>> realRootTuples
(Ideal<D> I, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).static <D extends GcdRingElem<D> & Rational>
List<List<BigDecimal>> realRootTuples
(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).static <C extends GcdRingElem<C>>
Product<Residue<C>> toProductRes
(ProductRing<Residue<C>> pfac, GenPolynomial<C> c) Product representation.static <C extends GcdRingElem<C>>
GenPolynomial<Product<Residue<C>>> toProductRes
(GenPolynomialRing<Product<Residue<C>>> pfac, GenPolynomial<GenPolynomial<C>> A) Product representation.static <C extends GcdRingElem<C>>
List<GenPolynomial<Product<Residue<C>>>> toProductRes
(GenPolynomialRing<Product<Residue<C>>> pfac, List<GenPolynomial<GenPolynomial<C>>> L) Product representation.static <C extends GcdRingElem<C>>
List<GenPolynomial<Product<Residue<C>>>> toProductRes
(List<ColoredSystem<C>> CS) Product residue representation.static <C extends GcdRingElem<C>>
GenPolynomial<Residue<C>> toResidue
(GenPolynomialRing<Residue<C>> pfac, GenPolynomial<GenPolynomial<C>> A) Residue coefficient representation.static <C extends GcdRingElem<C>>
List<GenPolynomial<Residue<C>>> toResidue
(GenPolynomialRing<Residue<C>> pfac, List<GenPolynomial<GenPolynomial<C>>> L) Residue coefficient representation.static <D extends GcdRingElem<D> & Rational>
StringtoString
(Complex<RealAlgebraicNumber<D>> c) String representation of a deximal approximation of a complex number.static <D extends GcdRingElem<D> & Rational>
StringString representation of a deximal approximation of a complex number.
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
PolyUtilApp
public PolyUtilApp()
-
-
Method Details
-
toProductRes
public static <C extends GcdRingElem<C>> List<GenPolynomial<Product<Residue<C>>>> toProductRes(GenPolynomialRing<Product<Residue<C>>> pfac, List<GenPolynomial<GenPolynomial<C>>> L) Product representation.- Type Parameters:
C
- coefficient type.- Parameters:
pfac
- polynomial ring factory.L
- list of polynomials to be represented.- Returns:
- Product representation of L in the polynomial ring pfac.
-
toProductRes
public static <C extends GcdRingElem<C>> GenPolynomial<Product<Residue<C>>> toProductRes(GenPolynomialRing<Product<Residue<C>>> pfac, GenPolynomial<GenPolynomial<C>> A) Product representation.- Type Parameters:
C
- coefficient type.- Parameters:
pfac
- polynomial ring factory.A
- polynomial to be represented.- Returns:
- Product representation of A in the polynomial ring pfac.
-
toProductRes
public static <C extends GcdRingElem<C>> Product<Residue<C>> toProductRes(ProductRing<Residue<C>> pfac, GenPolynomial<C> c) Product representation.- Type Parameters:
C
- coefficient type.- Parameters:
pfac
- product ring factory.c
- coefficient to be represented.- Returns:
- Product representation of c in the ring pfac.
-
toProductRes
public static <C extends GcdRingElem<C>> List<GenPolynomial<Product<Residue<C>>>> toProductRes(List<ColoredSystem<C>> CS) Product residue representation.- Type Parameters:
C
- coefficient type.- Parameters:
CS
- list of ColoredSystems from comprehensive GB system.- Returns:
- Product residue representation of CS.
-
toResidue
public static <C extends GcdRingElem<C>> List<GenPolynomial<Residue<C>>> toResidue(GenPolynomialRing<Residue<C>> pfac, List<GenPolynomial<GenPolynomial<C>>> L) Residue coefficient representation.- Parameters:
pfac
- polynomial ring factory.L
- list of polynomials to be represented.- Returns:
- Representation of L in the polynomial ring pfac.
-
toResidue
public static <C extends GcdRingElem<C>> GenPolynomial<Residue<C>> toResidue(GenPolynomialRing<Residue<C>> pfac, GenPolynomial<GenPolynomial<C>> A) Residue coefficient representation.- Parameters:
pfac
- polynomial ring factory.A
- polynomial to be represented.- Returns:
- Representation of A in the polynomial ring pfac.
-
productSlice
public static <C extends GcdRingElem<C>> Map<Ideal<C>,PolynomialList<GenPolynomial<C>>> productSlice(PolynomialList<Product<Residue<C>>> L) Product slice.- Type Parameters:
C
- coefficient type.- Parameters:
L
- list of polynomials with product coefficients.- Returns:
- Slices representation of L.
-
productSlice
public static <C extends GcdRingElem<C>> PolynomialList<GenPolynomial<C>> productSlice(PolynomialList<Product<Residue<C>>> L, int i) Product slice at i.- Type Parameters:
C
- coefficient type.- Parameters:
L
- list of polynomials with product coefficients.i
- index of slice.- Returns:
- Slice of of L at i.
-
fromProduct
public static <C extends GcdRingElem<C>> List<GenPolynomial<GenPolynomial<C>>> fromProduct(GenPolynomialRing<GenPolynomial<C>> pfac, List<GenPolynomial<Product<Residue<C>>>> L, int i) From product representation.- Type Parameters:
C
- coefficient type.- Parameters:
pfac
- polynomial ring factory.L
- list of polynomials to be converted from product representation.i
- index of product representation to be taken.- Returns:
- Representation of i-slice of L in the polynomial ring pfac.
-
fromProduct
public static <C extends GcdRingElem<C>> GenPolynomial<GenPolynomial<C>> fromProduct(GenPolynomialRing<GenPolynomial<C>> pfac, GenPolynomial<Product<Residue<C>>> P, int i) From product representation.- Type Parameters:
C
- coefficient type.- Parameters:
pfac
- polynomial ring factory.P
- polynomial to be converted from product representation.i
- index of product representation to be taken.- Returns:
- Representation of i-slice of P in the polynomial ring pfac.
-
productSliceToString
public static <C extends GcdRingElem<C>> String productSliceToString(Map<Ideal<C>, PolynomialList<GenPolynomial<C>>> L) Product slice to String.- Type Parameters:
C
- coefficient type.- Parameters:
L
- list of polynomials with to be represented.- Returns:
- Product representation of L in the polynomial ring pfac.
-
productToString
public static <C extends GcdRingElem<C>> String productToString(PolynomialList<Product<Residue<C>>> L) Product slice to String.- Type Parameters:
C
- coefficient type.- Parameters:
L
- list of polynomials with product coefficients.- Returns:
- string representation of slices of L.
-
complexRootTuples
public static <D extends GcdRingElem<D> & Rational> List<List<Complex<BigDecimal>>> complexRootTuples(Ideal<D> I, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal.eps
- desired precision.- Returns:
- list of coordinates of complex roots for ideal(G)
-
complexRoots
public static <D extends GcdRingElem<D> & Rational> List<List<Complex<BigDecimal>>> complexRoots(Ideal<D> I, List<GenPolynomial<D>> univs, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal.univs
- list of univariate polynomials.eps
- desired precision.- Returns:
- list of coordinates of complex roots for ideal(G)
-
complexRootTuples
public static <D extends GcdRingElem<D> & Rational> List<List<Complex<BigDecimal>>> complexRootTuples(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).- Parameters:
Il
- list of zero dimensional ideals with univariate polynomials.eps
- desired precision.- Returns:
- list of coordinates of complex roots for ideal(cap_i(G_i))
-
complexRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithComplexRoots<D>> complexRoots(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).- Parameters:
Il
- list of zero dimensional ideals with univariate polynomials.eps
- desired precision.- Returns:
- list of ideals with coordinates of complex roots for ideal(cap_i(G_i))
-
complexRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithComplexRoots<D>> complexRoots(Ideal<D> G, BigRational eps) Construct superset of complex roots for zero dimensional ideal(G).- Parameters:
G
- list of polynomials of a of zero dimensional ideal.eps
- desired precision.- Returns:
- list of ideals with coordinates of complex roots for ideal(G)
-
realRootTuples
public static <D extends GcdRingElem<D> & Rational> List<List<BigDecimal>> realRootTuples(Ideal<D> I, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal.eps
- desired precision.- Returns:
- list of coordinates of real roots for ideal(G)
-
realRoots
public static <D extends GcdRingElem<D> & Rational> List<List<BigDecimal>> realRoots(Ideal<D> I, List<GenPolynomial<D>> univs, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal.univs
- list of univariate polynomials.eps
- desired precision.- Returns:
- list of coordinates of real roots for ideal(G)
-
realRootTuples
public static <D extends GcdRingElem<D> & Rational> List<List<BigDecimal>> realRootTuples(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).- Parameters:
Il
- list of zero dimensional ideals with univariate polynomials.eps
- desired precision.- Returns:
- list of coordinates of real roots for ideal(cap_i(G_i))
-
realRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithRealRoots<D>> realRoots(List<IdealWithUniv<D>> Il, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).- Parameters:
Il
- list of zero dimensional ideals with univariate polynomials.eps
- desired precision.- Returns:
- list of ideals with coordinates of real roots for ideal(cap_i(G_i))
-
realRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithRealRoots<D>> realRoots(Ideal<D> G, BigRational eps) Construct superset of real roots for zero dimensional ideal(G).- Parameters:
G
- list of polynomials of a of zero dimensional ideal.eps
- desired precision.- Returns:
- list of ideals with coordinates of real roots for ideal(G)
-
isRealRoots
public static boolean isRealRoots(List<GenPolynomial<BigDecimal>> L, List<List<BigDecimal>> roots, BigDecimal eps) Test for real roots of zero dimensional ideal(L).- Parameters:
L
- list of polynomials.roots
- list of real roots for ideal(G).eps
- desired precision.- Returns:
- true if root is a list of coordinates of real roots for ideal(L)
-
isComplexRoots
public static boolean isComplexRoots(List<GenPolynomial<Complex<BigDecimal>>> L, List<List<Complex<BigDecimal>>> roots, BigDecimal eps) Test for complex roots of zero dimensional ideal(L).- Parameters:
L
- list of polynomials.roots
- list of complex roots for ideal(L).eps
- desired precision.- Returns:
- true if root is a list of coordinates of complex roots for ideal(L)
-
realAlgebraicRoots
public static <D extends GcdRingElem<D> & Rational> IdealWithRealAlgebraicRoots<D> realAlgebraicRoots(IdealWithUniv<D> I) Construct real roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal with univariate irreducible polynomials and bi-variate polynomials.- Returns:
- real algebraic roots for ideal(G)
-
realAlgebraicRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithRealAlgebraicRoots<D>> realAlgebraicRoots(List<IdealWithUniv<D>> I) Construct real roots for zero dimensional ideal(G).- Parameters:
I
- list of zero dimensional ideal with univariate irreducible polynomials and bi-variate polynomials.- Returns:
- list of real algebraic roots for all ideal(I_i)
-
complexAlgebraicRoots
public static <D extends GcdRingElem<D> & Rational> IdealWithComplexAlgebraicRoots<D> complexAlgebraicRoots(IdealWithUniv<D> I) Construct complex roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal with univariate irreducible polynomials and bi-variate polynomials.- Returns:
- complex algebraic roots for ideal(G) Note: not jet completed in all cases.
-
toString
public static <D extends GcdRingElem<D> & Rational> String toString(Complex<RealAlgebraicNumber<D>> c) String representation of a deximal approximation of a complex number.- Parameters:
c
- compelx number.- Returns:
- String representation of c
-
toString1
String representation of a deximal approximation of a complex number.- Parameters:
c
- compelx number.- Returns:
- String representation of c
-
complexAlgebraicRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithComplexAlgebraicRoots<D>> complexAlgebraicRoots(List<IdealWithUniv<D>> I) Construct complex roots for zero dimensional ideal(G).- Parameters:
I
- list of zero dimensional ideal with univariate irreducible polynomials and bi-variate polynomials.- Returns:
- list of complex algebraic roots for ideal(G)
-
complexAlgebraicRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithComplexAlgebraicRoots<D>> complexAlgebraicRoots(Ideal<D> I) Construct exact set of complex roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal.- Returns:
- list of coordinates of complex roots for ideal(G)
-
convert
static <C extends RingElem<C>> GenPolynomial<C> convert(GenPolynomialRing<C> fac, GenPolynomial<C> p) -
convertComplex
static <C extends RingElem<C>> GenPolynomial<Complex<C>> convertComplex(GenPolynomialRing<Complex<C>> fac, GenPolynomial<C> p) -
convertComplexComplex
static <C extends RingElem<C>> GenPolynomial<Complex<C>> convertComplexComplex(GenPolynomialRing<Complex<C>> fac, GenPolynomial<Complex<C>> p) -
realAlgebraicRoots
public static <D extends GcdRingElem<D> & Rational> List<IdealWithRealAlgebraicRoots<D>> realAlgebraicRoots(Ideal<D> I) Construct exact set of real roots for zero dimensional ideal(G).- Parameters:
I
- zero dimensional ideal.- Returns:
- list of coordinates of real roots for ideal(G)
-
primitiveElement
public static <C extends GcdRingElem<C>> PrimitiveElement<C> primitiveElement(AlgebraicNumberRing<C> a, AlgebraicNumberRing<C> b) Construct primitive element for double field extension.- Parameters:
a
- algebraic number ring with squarefree monic minimal polynomialb
- algebraic number ring with squarefree monic minimal polynomial- Returns:
- primitive element container with algebraic number ring c, with Q(c) = Q(a,b)
-
convertToPrimitiveElem
public static <C extends GcdRingElem<C>> AlgebraicNumber<C> convertToPrimitiveElem(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, AlgebraicNumber<C> a) Convert to primitive element ring.- Parameters:
cfac
- primitive element ring.A
- algebraic number representing the generating element of a in the new ring.a
- algebraic number to convert.- Returns:
- a converted to the primitive element ring
-
convertToPrimitiveElem
public static <C extends GcdRingElem<C>> GenPolynomial<AlgebraicNumber<C>> convertToPrimitiveElem(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, GenPolynomial<AlgebraicNumber<C>> a) Convert coefficients to primitive element ring.- Parameters:
cfac
- primitive element ring.A
- algebraic number representing the generating element of a in the new ring.a
- polynomial with coefficients algebraic number to convert.- Returns:
- a with coefficients converted to the primitive element ring
-
convertToPrimitiveElem
public static <C extends GcdRingElem<C>> AlgebraicNumber<C> convertToPrimitiveElem(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, AlgebraicNumber<C> B, AlgebraicNumber<AlgebraicNumber<C>> a) Convert to primitive element ring.- Parameters:
cfac
- primitive element ring.A
- algebraic number representing the generating element of a in the new ring.a
- recursive algebraic number to convert.- Returns:
- a converted to the primitive element ring
-
primitiveElement
public static <C extends GcdRingElem<C>> PrimitiveElement<C> primitiveElement(AlgebraicNumberRing<AlgebraicNumber<C>> b) Construct primitive element for double field extension.- Parameters:
b
- algebraic number ring with squarefree monic minimal polynomial over Q(a)- Returns:
- primitive element container with algebraic number ring c, with Q(c) = Q(a)(b)
-
convertToPrimitiveElem
public static <C extends GcdRingElem<C>> GenPolynomial<AlgebraicNumber<C>> convertToPrimitiveElem(AlgebraicNumberRing<C> cfac, AlgebraicNumber<C> A, AlgebraicNumber<C> B, GenPolynomial<AlgebraicNumber<AlgebraicNumber<C>>> a) Convert to primitive element ring.- Parameters:
cfac
- primitive element ring.A
- algebraic number representing the generating element of a in the new ring.a
- polynomial with recursive algebraic number coefficients to convert.- Returns:
- a converted to the primitive element ring
-
realAlgFromRealCoefficients
public static <C extends GcdRingElem<C> & Rational> GenPolynomial<RealAlgebraicNumber<C>> realAlgFromRealCoefficients(GenPolynomialRing<RealAlgebraicNumber<C>> afac, GenPolynomial<RealAlgebraicNumber<C>> A) Convert to RealAlgebraicNumber coefficients. Represent as polynomial with RealAlgebraicNumbercoefficients from package edu.jas.root.
- Parameters:
afac
- result polynomial factory.A
- polynomial with RealAlgebraicNumber<C> coefficients to be converted.- Returns:
- polynomial with RealAlgebraicNumber<C> coefficients.
-
realFromRealAlgCoefficients
public static <C extends GcdRingElem<C> & Rational> GenPolynomial<RealAlgebraicNumber<C>> realFromRealAlgCoefficients(GenPolynomialRing<RealAlgebraicNumber<C>> rfac, GenPolynomial<RealAlgebraicNumber<C>> A) Convert to RealAlgebraicNumber coefficients. Represent as polynomial with RealAlgebraicNumbercoefficients from package edu.jas.application
.- Parameters:
rfac
- result polynomial factory.A
- polynomial with RealAlgebraicNumber<C> coefficients to be converted.- Returns:
- polynomial with RealAlgebraicNumber<C> coefficients.
-
convertToComplexRealCoefficients
public static <C extends GcdRingElem<C> & Rational> GenPolynomial<Complex<RealAlgebraicNumber<C>>> convertToComplexRealCoefficients(GenPolynomialRing<Complex<RealAlgebraicNumber<C>>> pfac, GenPolynomial<Complex<C>> A) Convert to Complex<RealAlgebraicNumber> coefficients. Represent as polynomial with Complex<RealAlgebraicNumber> coefficients, C is e.g. BigRational.- Parameters:
pfac
- result polynomial factory.A
- polynomial with Complex coefficients to be converted.- Returns:
- polynomial with Complex<RealAlgebraicNumber> coefficients.
-
evaluateToComplexRealCoefficients
public static <C extends GcdRingElem<C> & Rational> GenPolynomial<Complex<RealAlgebraicNumber<C>>> evaluateToComplexRealCoefficients(GenPolynomialRing<Complex<RealAlgebraicNumber<C>>> pfac, GenPolynomial<GenPolynomial<Complex<C>>> A, Complex<RealAlgebraicNumber<C>> r) Evaluate to Complex<RealAlgebraicNumber> coefficients. Represent as polynomial with Complex<RealAlgebraicNumber> coefficients, C is e.g. BigRational.- Parameters:
pfac
- result polynomial factory.A
- = A(x,Y) a recursive polynomial with GenPolynomial<Complex> coefficients to be converted.r
- Complex<RealAlgebraicNumber> to be evaluated at.- Returns:
- A(r,Y), a polynomial with Complex<RealAlgebraicNumber> coefficients.
-