edu.jas.gbufd
Class GBFactory
- java.lang.Object
-
- edu.jas.gbufd.GBFactory
-
public class GBFactory extends java.lang.ObjectGroebner bases algorithms factory. Select appropriate Groebner bases engine based on the coefficient types.- See Also:
GroebnerBase,GBAlgorithmBuilder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classGBFactory.AlgoAlgorithm indicators: igb = integerGB, egb = e-GB, dgb = d-GB, qgb = fraction coefficients GB, ffgb = fraction free GB.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<C>getImplementation()Determine suitable implementation of GB algorithms, no factory case.static GroebnerBaseAbstract<BigInteger>getImplementation(BigInteger fac)Determine suitable implementation of GB algorithms, case BigInteger.static GroebnerBaseAbstract<BigInteger>getImplementation(BigInteger fac, GBFactory.Algo a)Determine suitable implementation of GB algorithms, case BigInteger.static GroebnerBaseAbstract<BigInteger>getImplementation(BigInteger fac, GBFactory.Algo a, PairList<BigInteger> pl)Determine suitable implementation of GB algorithms, case BigInteger.static GroebnerBaseAbstract<BigInteger>getImplementation(BigInteger fac, PairList<BigInteger> pl)Determine suitable implementation of GB algorithms, case BigInteger.static GroebnerBaseAbstract<BigRational>getImplementation(BigRational fac)Determine suitable implementation of GB algorithms, case BigRational.static GroebnerBaseAbstract<BigRational>getImplementation(BigRational fac, GBFactory.Algo a)Determine suitable implementation of GB algorithms, case BigRational.static GroebnerBaseAbstract<BigRational>getImplementation(BigRational fac, GBFactory.Algo a, PairList<BigRational> pl)Determine suitable implementation of GB algorithms, case BigRational.static GroebnerBaseAbstract<BigRational>getImplementation(BigRational fac, PairList<BigRational> pl)Determine suitable implementation of GB algorithms, case BigRational.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<GenPolynomial<C>>getImplementation(GenPolynomialRing<C> fac)Determine suitable implementation of GB algorithms, case (recursive) polynomial.static GroebnerBaseAbstract<ModInteger>getImplementation(ModIntegerRing fac)Determine suitable implementation of GB algorithms, case ModInteger.static GroebnerBaseAbstract<ModInteger>getImplementation(ModIntegerRing fac, PairList<ModInteger> pl)Determine suitable implementation of GB algorithms, case ModInteger.static GroebnerBaseAbstract<ModLong>getImplementation(ModLongRing fac)Determine suitable implementation of GB algorithms, case ModLong.static GroebnerBaseAbstract<ModLong>getImplementation(ModLongRing fac, PairList<ModLong> pl)Determine suitable implementation of GB algorithms, case ModLong.static <C extends RingElem<C>>
GroebnerBaseAbstract<Product<C>>getImplementation(ProductRing<C> fac)Determine suitable implementation of GB algorithms, case regular rings.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<Quotient<C>>getImplementation(QuotientRing<C> fac)Determine suitable implementation of GB algorithms, case Quotient coefficients.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<Quotient<C>>getImplementation(QuotientRing<C> fac, GBFactory.Algo a)Determine suitable implementation of GB algorithms, case Quotient coefficients.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<Quotient<C>>getImplementation(QuotientRing<C> fac, GBFactory.Algo a, PairList<Quotient<C>> pl)Determine suitable implementation of GB algorithms, case Quotient coefficients.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<Quotient<C>>getImplementation(QuotientRing<C> fac, PairList<Quotient<C>> pl)Determine suitable implementation of GB algorithms, case Quotient coefficients.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<C>getImplementation(RingFactory<C> fac)Determine suitable implementation of GB algorithms, other cases.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<C>getImplementation(RingFactory<C> fac, PairList<C> pl)Determine suitable implementation of GB algorithms, other cases.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<C>getProxy(RingFactory<C> fac)Determine suitable concurrent implementation of GB algorithms if possible.static <C extends GcdRingElem<C>>
GroebnerBaseAbstract<C>getProxy(RingFactory<C> fac, PairList<C> pl)Determine suitable concurrent implementation of GB algorithms if possible.
-
-
-
Method Detail
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getImplementation()
Determine suitable implementation of GB algorithms, no factory case.- Returns:
- GB algorithm implementation for field coefficients.
-
getImplementation
public static GroebnerBaseAbstract<ModLong> getImplementation(ModLongRing fac)
Determine suitable implementation of GB algorithms, case ModLong.- Parameters:
fac- ModLongRing.- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<ModLong> getImplementation(ModLongRing fac, PairList<ModLong> pl)
Determine suitable implementation of GB algorithms, case ModLong.- Parameters:
fac- ModLongRing.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<ModInteger> getImplementation(ModIntegerRing fac)
Determine suitable implementation of GB algorithms, case ModInteger.- Parameters:
fac- ModIntegerRing.- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<ModInteger> getImplementation(ModIntegerRing fac, PairList<ModInteger> pl)
Determine suitable implementation of GB algorithms, case ModInteger.- Parameters:
fac- ModIntegerRing.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigInteger> getImplementation(BigInteger fac)
Determine suitable implementation of GB algorithms, case BigInteger.- Parameters:
fac- BigInteger.- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigInteger> getImplementation(BigInteger fac, GBFactory.Algo a)
Determine suitable implementation of GB algorithms, case BigInteger.- Parameters:
fac- BigInteger.a- algorithm, a = igb, egb, dgb.- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigInteger> getImplementation(BigInteger fac, PairList<BigInteger> pl)
Determine suitable implementation of GB algorithms, case BigInteger.- Parameters:
fac- BigInteger.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigInteger> getImplementation(BigInteger fac, GBFactory.Algo a, PairList<BigInteger> pl)
Determine suitable implementation of GB algorithms, case BigInteger.- Parameters:
fac- BigInteger.a- algorithm, a = igb, egb, dgb.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigRational> getImplementation(BigRational fac)
Determine suitable implementation of GB algorithms, case BigRational.- Parameters:
fac- BigRational.- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigRational> getImplementation(BigRational fac, GBFactory.Algo a)
Determine suitable implementation of GB algorithms, case BigRational.- Parameters:
fac- BigRational.a- algorithm, a = qgb, ffgb.- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigRational> getImplementation(BigRational fac, PairList<BigRational> pl)
Determine suitable implementation of GB algorithms, case BigRational.- Parameters:
fac- BigRational.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static GroebnerBaseAbstract<BigRational> getImplementation(BigRational fac, GBFactory.Algo a, PairList<BigRational> pl)
Determine suitable implementation of GB algorithms, case BigRational.- Parameters:
fac- BigRational.a- algorithm, a = qgb, ffgb.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<Quotient<C>> getImplementation(QuotientRing<C> fac)
Determine suitable implementation of GB algorithms, case Quotient coefficients.- Parameters:
fac- QuotientRing.- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<Quotient<C>> getImplementation(QuotientRing<C> fac, GBFactory.Algo a)
Determine suitable implementation of GB algorithms, case Quotient coefficients.- Parameters:
fac- QuotientRing.a- algorithm, a = qgb, ffgb.- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<Quotient<C>> getImplementation(QuotientRing<C> fac, PairList<Quotient<C>> pl)
Determine suitable implementation of GB algorithms, case Quotient coefficients.- Parameters:
fac- QuotientRing.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<Quotient<C>> getImplementation(QuotientRing<C> fac, GBFactory.Algo a, PairList<Quotient<C>> pl)
Determine suitable implementation of GB algorithms, case Quotient coefficients.- Parameters:
fac- QuotientRing.a- algorithm, a = qgb, ffgb.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<GenPolynomial<C>> getImplementation(GenPolynomialRing<C> fac)
Determine suitable implementation of GB algorithms, case (recursive) polynomial.- Parameters:
fac- GenPolynomialRing<C>.- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends RingElem<C>> GroebnerBaseAbstract<Product<C>> getImplementation(ProductRing<C> fac)
Determine suitable implementation of GB algorithms, case regular rings.- Parameters:
fac- RegularRing.- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getImplementation(RingFactory<C> fac)
Determine suitable implementation of GB algorithms, other cases.- Parameters:
fac- RingFactory<C>.- Returns:
- GB algorithm implementation.
-
getImplementation
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getImplementation(RingFactory<C> fac, PairList<C> pl)
Determine suitable implementation of GB algorithms, other cases.- Parameters:
fac- RingFactory<C>.pl- pair selection strategy- Returns:
- GB algorithm implementation.
-
getProxy
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getProxy(RingFactory<C> fac)
Determine suitable concurrent implementation of GB algorithms if possible.- Parameters:
fac- RingFactory<C>.- Returns:
- GB proxy algorithm implementation.
-
getProxy
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getProxy(RingFactory<C> fac, PairList<C> pl)
Determine suitable concurrent implementation of GB algorithms if possible.- Parameters:
fac- RingFactory<C>.pl- pair selection strategy- Returns:
- GB proxy algorithm implementation.
-
-
DMelt 3.0 © DataMelt by jWork.ORG