edu.jas.application
Class GBAlgorithmBuilder<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.application.GBAlgorithmBuilder<C>
-
- All Implemented Interfaces:
- java.io.Serializable
public class GBAlgorithmBuilder<C extends GcdRingElem<C>> extends java.lang.Object implements java.io.SerializableBuilder for commutative Gröbner bases algorithm implementations.- See Also:
GroebnerBase,GBFactory, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description GenPolynomialRing<C>ringThe current polynomial ring.PairList<C>strategyRequested pairlist strategy.
-
Constructor Summary
Constructors Constructor and Description GBAlgorithmBuilder(GenPolynomialRing<C> ring)Constructor.GBAlgorithmBuilder(GenPolynomialRing<C> ring, GroebnerBaseAbstract<C> algo)Constructor.GBAlgorithmBuilder(GenPolynomialRing<C> ring, GroebnerBaseAbstract<C> algo, PairList<C> strategy)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description GroebnerBaseAbstract<C>build()Build the GB algorithm implementaton.GBAlgorithmBuilder<C>domainAlgorithm(GBFactory.Algo a)Request d- or e-GB algorithm.GBAlgorithmBuilder<C>euclideanDomain()Request e-GB algorithm.GBAlgorithmBuilder<C>fractionFree()Request fraction free algorithm.GBAlgorithmBuilder<C>graded()Request FGLM algorithm.GBAlgorithmBuilder<C>normalPairlist()Select normal critical pair-list strategy.GBAlgorithmBuilder<C>optimize()Request term order optimization.GBAlgorithmBuilder<C>optimize(boolean rP)Request term order optimization.GBAlgorithmBuilder<C>parallel()Request parallel algorithm.GBAlgorithmBuilder<C>parallel(int threads)Request parallel algorithm.static <C extends GcdRingElem<C>>
GBAlgorithmBuilder<C>polynomialRing(GenPolynomialRing<C> fac)Define polynomial ring.GBAlgorithmBuilder<C>simplePairlist()Select simple critical pair-list strategy.GBAlgorithmBuilder<C>syzygyPairlist()Select syzygy critical pair-list strategy.java.lang.StringtoScript()Get a scripting compatible string representation.java.lang.StringtoString()String representation of the GB algorithm implementation.
-
-
-
Field Detail
-
ring
public final GenPolynomialRing<C extends GcdRingElem<C>> ring
The current polynomial ring.
-
strategy
public final PairList<C extends GcdRingElem<C>> strategy
Requested pairlist strategy.
-
-
Constructor Detail
-
GBAlgorithmBuilder
public GBAlgorithmBuilder(GenPolynomialRing<C> ring)
Constructor.- Parameters:
ring- the polynomial ring.
-
GBAlgorithmBuilder
public GBAlgorithmBuilder(GenPolynomialRing<C> ring, GroebnerBaseAbstract<C> algo)
Constructor.- Parameters:
ring- the polynomial ring.algo- already determined algorithm.
-
GBAlgorithmBuilder
public GBAlgorithmBuilder(GenPolynomialRing<C> ring, GroebnerBaseAbstract<C> algo, PairList<C> strategy)
Constructor.- Parameters:
ring- the polynomial ring.algo- already determined algorithm.strategy- pairlist strategy.
-
-
Method Detail
-
build
public GroebnerBaseAbstract<C> build()
Build the GB algorithm implementaton.- Returns:
- GB algorithm implementaton as GroebnerBaseAbstract object.
-
polynomialRing
public static <C extends GcdRingElem<C>> GBAlgorithmBuilder<C> polynomialRing(GenPolynomialRing<C> fac)
Define polynomial ring.- Parameters:
fac- the commutative polynomial ring.- Returns:
- GBAlgorithmBuilder object.
-
syzygyPairlist
public GBAlgorithmBuilder<C> syzygyPairlist()
Select syzygy critical pair-list strategy. Gebauer and Möller algorithm.- Returns:
- GBAlgorithmBuilder object.
-
normalPairlist
public GBAlgorithmBuilder<C> normalPairlist()
Select normal critical pair-list strategy. Buchberger, Winkler and Kredel algorithm.- Returns:
- GBAlgorithmBuilder object.
-
simplePairlist
public GBAlgorithmBuilder<C> simplePairlist()
Select simple critical pair-list strategy. Original Buchberger algorithm.- Returns:
- GBAlgorithmBuilder object.
-
optimize
public GBAlgorithmBuilder<C> optimize()
Request term order optimization. Call optimize(true) for return of permuted polynomials.- Returns:
- GBAlgorithmBuilder object.
-
optimize
public GBAlgorithmBuilder<C> optimize(boolean rP)
Request term order optimization.- Parameters:
rP- true for return of permuted polynomials, false for inverse permuted polynomials and new GB computation.- Returns:
- GBAlgorithmBuilder object.
-
fractionFree
public GBAlgorithmBuilder<C> fractionFree()
Request fraction free algorithm. For BigRational and Quotient coefficients denominators are cleared and pseudo reduction is used.- Returns:
- GBAlgorithmBuilder object.
-
euclideanDomain
public GBAlgorithmBuilder<C> euclideanDomain()
Request e-GB algorithm.- Returns:
- GBAlgorithmBuilder object.
-
domainAlgorithm
public GBAlgorithmBuilder<C> domainAlgorithm(GBFactory.Algo a)
Request d- or e-GB algorithm.- Parameters:
a- algorithm from GBFactory.Algo.- Returns:
- GBAlgorithmBuilder object.
-
parallel
public GBAlgorithmBuilder<C> parallel()
Request parallel algorithm. Additionaly run a parallel algorithm via GBProxy.- Returns:
- GBAlgorithmBuilder object.
-
parallel
public GBAlgorithmBuilder<C> parallel(int threads)
Request parallel algorithm. Additionaly run a parallel algorithm via GBProxy.- Parameters:
threads- number of threads requested.- Returns:
- GBAlgorithmBuilder object.
-
graded
public GBAlgorithmBuilder<C> graded()
Request FGLM algorithm.- Returns:
- GBAlgorithmBuilder object.
-
toString
public java.lang.String toString()
String representation of the GB algorithm implementation.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
toScript
public java.lang.String toScript()
Get a scripting compatible string representation.- Returns:
- script compatible representation for this Element.
- See Also:
Element.toScript()
-
-
DMelt 3.0 © DataMelt by jWork.ORG