GBFactory
edu.jas.gbufd

Class GBFactory



  • public class GBFactoryextends Object
    Groebner bases algorithms factory. Select appropriate Groebner bases engine based on the coefficient types.
    See Also:
    GroebnerBase, GBAlgorithmBuilder
    • 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<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<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 <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 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.

SCaVis 2.0 © jWork.ORG