Package edu.jas.ufd
Class FactorAbsolute<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.ufd.FactorAbstract<C>
-
- edu.jas.ufd.FactorAbsolute<C>
-
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
Factorization<C>
,java.io.Serializable
- Direct Known Subclasses:
FactorAlgebraic
,FactorAlgebraicPrim
,FactorComplex
,FactorModular
,FactorModularBerlekamp
,FactorRational
public abstract class FactorAbsolute<C extends GcdRingElem<C>> extends FactorAbstract<C>
Absolute factorization algorithms class. This class contains implementations of methods for factorization over algebraically closed fields. The required field extension is computed along with the factors. The methods have been tested for prime fields of characteristic zero, that is forBigRational
. It might eventually also be used for prime fields of non-zero characteristic, that is withModInteger
. The field extension may yet not be minimal.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class edu.jas.ufd.FactorAbstract
engine, sengine
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FactorAbsolute()
No argument constructor.FactorAbsolute(RingFactory<C> cfac)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PartialFraction<C>
baseAlgebraicPartialFraction(GenPolynomial<C> A, GenPolynomial<C> P)
Univariate GenPolynomial algebraic partial fraction decomposition, Absolute factorization for elementary integration algorithm to linear factors.PartialFraction<C>
baseAlgebraicPartialFractionIrreducibleAbsolute(GenPolynomial<C> A, GenPolynomial<C> P)
Univariate GenPolynomial algebraic partial fraction decomposition, via absolute factorization to linear factors.FactorsMap<C>
baseFactorsAbsolute(GenPolynomial<C> P)
GenPolynomial absolute base factorization of a polynomial.Factors<C>
baseFactorsAbsoluteIrreducible(GenPolynomial<C> P)
GenPolynomial base absolute factorization of a irreducible polynomial.FactorsList<C>
baseFactorsAbsoluteSquarefree(GenPolynomial<C> P)
GenPolynomial absolute base factorization of a squarefree polynomial.FactorsMap<C>
factorsAbsolute(GenPolynomial<C> P)
GenPolynomial absolute factorization of a polynomial.Factors<C>
factorsAbsoluteIrreducible(GenPolynomial<C> P)
GenPolynomial absolute factorization of a irreducible polynomial.FactorsList<C>
factorsAbsoluteSquarefree(GenPolynomial<C> P)
GenPolynomial absolute factorization of a squarefree polynomial.boolean
isAbsoluteFactorization(Factors<C> facs)
GenPolynomial is absolute factorization.boolean
isAbsoluteFactorization(FactorsList<C> facs)
GenPolynomial is absolute factorization.boolean
isAbsoluteFactorization(FactorsMap<C> facs)
GenPolynomial is absolute factorization.boolean
isAbsoluteIrreducible(GenPolynomial<C> P)
GenPolynomial test if is absolute irreducible.java.lang.String
toString()
Get the String representation.-
Methods inherited from class edu.jas.ufd.FactorAbstract
baseFactors, baseFactorsRadical, baseFactorsSquarefree, basePrimitivePart, factors, factorsDegree, factorsRadical, factorsRadical, factorsSquarefree, factorsSquarefreeKronecker, factorsSquarefreeOptimize, isFactorization, isFactorization, isIrreducible, isRecursiveFactorization, isReducible, isSquarefree, normalizeFactorization, primitivePart, recursiveFactors, recursiveFactorsSquarefree, squarefreeFactors, squarefreePart
-
-
-
-
Constructor Detail
-
FactorAbsolute
protected FactorAbsolute()
No argument constructor. Note: can't use this constructor.
-
FactorAbsolute
public FactorAbsolute(RingFactory<C> cfac)
Constructor.- Parameters:
cfac
- coefficient ring factory.
-
-
Method Detail
-
toString
public java.lang.String toString()
Get the String representation.- Overrides:
toString
in classFactorAbstract<C extends GcdRingElem<C>>
- See Also:
Object.toString()
-
isAbsoluteIrreducible
public boolean isAbsoluteIrreducible(GenPolynomial<C> P)
GenPolynomial test if is absolute irreducible.- Parameters:
P
- GenPolynomial.- Returns:
- true if P is absolute irreducible, else false.
-
baseFactorsAbsolute
public FactorsMap<C> baseFactorsAbsolute(GenPolynomial<C> P)
GenPolynomial absolute base factorization of a polynomial.- Parameters:
P
- univariate GenPolynomial.- Returns:
- factors map container: [p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i**e_i. Note: K(alpha) not yet minimal.
-
baseFactorsAbsoluteSquarefree
public FactorsList<C> baseFactorsAbsoluteSquarefree(GenPolynomial<C> P)
GenPolynomial absolute base factorization of a squarefree polynomial.- Parameters:
P
- squarefree and primitive univariate GenPolynomial.- Returns:
- factors list container: [p_1,...,p_k] with P = prod_{i=1, ..., k} p_i. Note: K(alpha) not yet minimal.
-
baseFactorsAbsoluteIrreducible
public Factors<C> baseFactorsAbsoluteIrreducible(GenPolynomial<C> P)
GenPolynomial base absolute factorization of a irreducible polynomial.- Parameters:
P
- irreducible! univariate GenPolynomial.- Returns:
- factors container: [p_1,...,p_k] with P = prod_{i=1, ..., k} p_i in K(alpha)[x] for suitable alpha and p_i irreducible over L[x], where K \subset K(alpha) \subset L is an algebraically closed field over K. Note: K(alpha) not yet minimal.
-
baseAlgebraicPartialFraction
public PartialFraction<C> baseAlgebraicPartialFraction(GenPolynomial<C> A, GenPolynomial<C> P)
Univariate GenPolynomial algebraic partial fraction decomposition, Absolute factorization for elementary integration algorithm to linear factors.- Parameters:
A
- univariate GenPolynomial, deg(A) ≤ deg(P).P
- univariate squarefree GenPolynomial, gcd(A,P) == 1.- Returns:
- partial fraction container.
-
baseAlgebraicPartialFractionIrreducibleAbsolute
public PartialFraction<C> baseAlgebraicPartialFractionIrreducibleAbsolute(GenPolynomial<C> A, GenPolynomial<C> P)
Univariate GenPolynomial algebraic partial fraction decomposition, via absolute factorization to linear factors.- Parameters:
A
- univariate GenPolynomial, deg(A) < deg(P).P
- univariate irreducible GenPolynomial, gcd(A,P) == 1.- Returns:
- partial fraction container.
-
factorsAbsolute
public FactorsMap<C> factorsAbsolute(GenPolynomial<C> P)
GenPolynomial absolute factorization of a polynomial.- Parameters:
P
- GenPolynomial.- Returns:
- factors map container: [p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i**e_i. Note: K(alpha) not yet minimal.
-
factorsAbsoluteSquarefree
public FactorsList<C> factorsAbsoluteSquarefree(GenPolynomial<C> P)
GenPolynomial absolute factorization of a squarefree polynomial.- Parameters:
P
- squarefree and primitive GenPolynomial.- Returns:
- factors list container: [p_1,...,p_k] with P = prod_{i=1, ..., k} p_i. Note: K(alpha) not yet minimal.
-
factorsAbsoluteIrreducible
public Factors<C> factorsAbsoluteIrreducible(GenPolynomial<C> P)
GenPolynomial absolute factorization of a irreducible polynomial.- Parameters:
P
- irreducible! GenPolynomial.- Returns:
- factors container: [p_1,...,p_k] with P = prod_{i=1, ..., k} p_i in K(alpha)[x] for suitable alpha and p_i irreducible over L[x], where K \subset K(alpha) \subset L is an algebraically closed field over K. Note: K(alpha) not yet minimal.
-
isAbsoluteFactorization
public boolean isAbsoluteFactorization(Factors<C> facs)
GenPolynomial is absolute factorization.- Parameters:
facs
- factors container.- Returns:
- true if P = prod_{i=1,...,r} p_i, else false.
-
isAbsoluteFactorization
public boolean isAbsoluteFactorization(FactorsList<C> facs)
GenPolynomial is absolute factorization.- Parameters:
facs
- factors list container.- Returns:
- true if P = prod_{i=1,...,r} p_i, else false.
-
isAbsoluteFactorization
public boolean isAbsoluteFactorization(FactorsMap<C> facs)
GenPolynomial is absolute factorization.- Parameters:
facs
- factors map container.- Returns:
- true if P = prod_{i=1,...,k} p_i**e_i , else false.
-
-