|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectedu.jas.ufd.FactorFactory
public class FactorFactory
Factorization algorithms factory. Select appropriate factorization engine based on the coefficient types.
Factorization.factors(edu.jas.poly.GenPolynomial P)Factorization
interface use the FactorFactory. It will select an
appropriate implementation based on the types of polynomial
coefficients C. To obtain an implementation use
getImplementation(), it returns an object of a class
which extends the FactorAbstract class which implements
the Factorization interface.
Factorization<CT> engine; engine = FactorFactory.<CT> getImplementation(cofac); c = engine.factors(a);For example, if the coefficient type is BigInteger, the usage looks like
BigInteger cofac = new BigInteger(); Factorization<BigInteger> engine; engine = FactorFactory.getImplementation(cofac); Sm = engine.factors(poly);
| Constructor Summary | |
|---|---|
protected |
FactorFactory()
Protected factory constructor. |
| Method Summary | ||
|---|---|---|
static
|
getImplementation(AlgebraicNumberRing<C> fac)
Determine suitable implementation of factorization algorithms, case AlgebraicNumber<C>. |
|
static FactorAbstract<BigInteger> |
getImplementation(BigInteger fac)
Determine suitable implementation of factorization algorithm, case BigInteger. |
|
static FactorAbstract<BigRational> |
getImplementation(BigRational fac)
Determine suitable implementation of factorization algorithms, case BigRational. |
|
static
|
getImplementation(ComplexRing<C> fac)
Determine suitable implementation of factorization algorithms, case Complex<C>. |
|
static
|
getImplementation(GenPolynomialRing<C> fac)
Determine suitable implementation of factorization algorithms, case recursive GenPolynomial<C>. |
|
static FactorAbstract<ModInteger> |
getImplementation(ModIntegerRing fac)
Determine suitable implementation of factorization algorithm, case ModInteger. |
|
static FactorAbstract<ModLong> |
getImplementation(ModLongRing fac)
Determine suitable implementation of factorization algorithm, case ModInteger. |
|
static
|
getImplementation(QuotientRing<C> fac)
Determine suitable implementation of factorization algorithms, case Quotient<C>. |
|
static
|
getImplementation(RealAlgebraicRing<C> fac)
Determine suitable implementation of factorization algorithms, case RealAlgebraicNumber<C>. |
|
static
|
getImplementation(RingFactory<C> fac)
Determine suitable implementation of factorization algorithms, other cases. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected FactorFactory()
| Method Detail |
|---|
public static FactorAbstract<ModInteger> getImplementation(ModIntegerRing fac)
fac - ModIntegerRing.
public static FactorAbstract<ModLong> getImplementation(ModLongRing fac)
fac - ModIntegerRing.
public static FactorAbstract<BigInteger> getImplementation(BigInteger fac)
fac - BigInteger.
public static FactorAbstract<BigRational> getImplementation(BigRational fac)
fac - BigRational.
public static <C extends GcdRingElem<C>> FactorAbstract<AlgebraicNumber<C>> getImplementation(AlgebraicNumberRing<C> fac)
C - coefficient type, e.g. BigRational, ModInteger.fac - AlgebraicNumberRing<C>.
public static <C extends GcdRingElem<C>> FactorAbstract<Complex<C>> getImplementation(ComplexRing<C> fac)
C - coefficient type, e.g. BigRational, ModInteger.fac - ComplexRing<C>.
public static <C extends GcdRingElem<C>> FactorAbstract<Quotient<C>> getImplementation(QuotientRing<C> fac)
C - coefficient type, e.g. BigRational, ModInteger.fac - QuotientRing<C>.
public static <C extends GcdRingElem<C>> FactorAbstract<C> getImplementation(GenPolynomialRing<C> fac)
recursiveFactors().
C - coefficient type, e.g. BigRational, ModInteger.fac - GenPolynomialRing<C>.
public static <C extends GcdRingElem<C> & Rational> FactorAbstract<RealAlgebraicNumber<C>> getImplementation(RealAlgebraicRing<C> fac)
C - coefficient type, e.g. BigRational.fac - RealAlgebraicRing<C>.
public static <C extends GcdRingElem<C>> FactorAbstract<C> getImplementation(RingFactory<C> fac)
C - coefficient typefac - RingFactory<C>.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||