|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.jas.gbufd.GBFactory
public class GBFactory
Groebner bases algorithms factory. Select appropriate Groebner bases engine based on the coefficient types.
GroebnerBase.GB(java.util.List P)
GroebnerBase
interface use the GBFactory
. It will select an
appropriate implementation based on the types of polynomial
coefficients C. The method to obtain an implementation is
getImplementation()
. getImplementation()
returns an object of a class which implements the
GroebnerBase
interface, more precisely an object of
abstract class GroebnerBaseAbstract
.
GroebnerBase<CT> engine; engine = GBFactory.<CT> getImplementation(cofac); c = engine.GB(A);For example, if the coefficient type is BigInteger, the usage looks like
BigInteger cofac = new BigInteger(); GroebnerBase<BigInteger> engine; engine = GBFactory.getImplementation(cofac); c = engine.GB(A);
Nested Class Summary | |
---|---|
static class |
GBFactory.Algo
|
Constructor Summary | |
---|---|
protected |
GBFactory()
Protected factory constructor. |
Method Summary | ||
---|---|---|
static
|
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<BigRational> |
getImplementation(BigRational fac)
Determine suitable implementation of GB algorithms, case BigRational. |
|
static
|
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<ModLong> |
getImplementation(ModLongRing fac)
Determine suitable implementation of GB algorithms, case ModLong. |
|
static
|
getImplementation(ProductRing<C> fac)
Determine suitable implementation of GB algorithms, case regular rings. |
|
static
|
getImplementation(RingFactory<C> fac)
Determine suitable implementation of GB algorithms, other cases. |
|
static
|
getProxy(RingFactory<C> fac)
Determine suitable concurrent implementation of GB algorithms if possible. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected GBFactory()
Method Detail |
---|
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getImplementation()
public static GroebnerBaseAbstract<ModLong> getImplementation(ModLongRing fac)
fac
- ModLongRing.
public static GroebnerBaseAbstract<ModInteger> getImplementation(ModIntegerRing fac)
fac
- ModIntegerRing.
public static GroebnerBaseAbstract<BigInteger> getImplementation(BigInteger fac)
fac
- BigInteger.
public static GroebnerBaseAbstract<BigInteger> getImplementation(BigInteger fac, GBFactory.Algo a)
fac
- BigInteger.a
- algorithm.
public static GroebnerBaseAbstract<BigRational> getImplementation(BigRational fac)
fac
- BigRational.
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<GenPolynomial<C>> getImplementation(GenPolynomialRing<C> fac)
fac
- GenPolynomialRing<C>.
public static <C extends RingElem<C>> GroebnerBaseAbstract<Product<C>> getImplementation(ProductRing<C> fac)
fac
- RegularRing.
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getImplementation(RingFactory<C> fac)
fac
- RingFactory<C>.
public static <C extends GcdRingElem<C>> GroebnerBaseAbstract<C> getProxy(RingFactory<C> fac)
fac
- RingFactory<C>.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |