edu.jas.ufd
Class FactorComplex<C extends GcdRingElem<C>>

java.lang.Object
  extended by edu.jas.ufd.FactorAbstract<C>
      extended by edu.jas.ufd.FactorAbsolute<Complex<C>>
          extended by edu.jas.ufd.FactorComplex<C>
Type Parameters:
C - coefficient type
All Implemented Interfaces:
Factorization<Complex<C>>, java.io.Serializable

public class FactorComplex<C extends GcdRingElem<C>>
extends FactorAbsolute<Complex<C>>

Complex coefficients factorization algorithms. This class implements factorization methods for polynomials over Complex numbers via the algebraic number C(i) over rational numbers or over (prime) modular integers. Note: Decomposition to linear factors is only via absolute factorization since Complex are not the analytic complex numbers.

Author:
Heinz Kredel
See Also:
Serialized Form

Field Summary
 AlgebraicNumberRing<C> afac
          Complex algebraic factory.
 FactorAbstract<AlgebraicNumber<C>> factorAlgeb
          Factorization engine for algebraic coefficients.
 
Fields inherited from class edu.jas.ufd.FactorAbstract
engine, sengine
 
Constructor Summary
protected FactorComplex()
          No argument constructor.
  FactorComplex(ComplexRing<C> fac)
          Constructor.
  FactorComplex(RingFactory<Complex<C>> fac)
          Constructor.
 
Method Summary
 java.util.List<GenPolynomial<Complex<C>>> baseFactorsSquarefree(GenPolynomial<Complex<C>> P)
          GenPolynomial base factorization of a squarefree polynomial.
 
Methods inherited from class edu.jas.ufd.FactorAbsolute
baseAlgebraicPartialFraction, baseAlgebraicPartialFractionIrreducible, baseAlgebraicPartialFractionIrreducibleAbsolute, baseFactorsAbsolute, baseFactorsAbsoluteIrreducible, baseFactorsAbsoluteSquarefree, factorsAbsolute, factorsAbsoluteIrreducible, factorsAbsoluteSquarefree, isAbsoluteFactorization, isAbsoluteFactorization, isAbsoluteFactorization, isAbsoluteIrreducible, toString
 
Methods inherited from class edu.jas.ufd.FactorAbstract
baseFactors, baseFactorsRadical, basePrimitivePart, factors, factorsDegree, factorsRadical, factorsRadical, factorsSquarefree, isFactorization, isFactorization, isIrreducible, isRecursiveFactorization, isReducible, isSquarefree, primitivePart, recursiveFactors, recursiveFactorsSquarefree, squarefreeFactors, squarefreePart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

factorAlgeb

public final FactorAbstract<AlgebraicNumber<C extends GcdRingElem<C>>> factorAlgeb
Factorization engine for algebraic coefficients.


afac

public final AlgebraicNumberRing<C extends GcdRingElem<C>> afac
Complex algebraic factory.

Constructor Detail

FactorComplex

protected FactorComplex()
No argument constructor. Note: can't use this constructor.


FactorComplex

public FactorComplex(RingFactory<Complex<C>> fac)
Constructor.

Parameters:
fac - complex number factory.

FactorComplex

public FactorComplex(ComplexRing<C> fac)
Constructor.

Parameters:
fac - complex number factory.
Method Detail

baseFactorsSquarefree

public java.util.List<GenPolynomial<Complex<C>>> baseFactorsSquarefree(GenPolynomial<Complex<C>> P)
GenPolynomial base factorization of a squarefree polynomial.

Specified by:
baseFactorsSquarefree in class FactorAbstract<Complex<C extends GcdRingElem<C>>>
Parameters:
P - squarefree GenPolynomial<AlgebraicNumber<C>>.
Returns:
[p_1,...,p_k] with P = prod_{i=1, ..., k} p_i.