Factor - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Factor

inert factor function

 

Calling Sequence

Parameters

Description

Examples

References

Calling Sequence

Factor(a, K)

Parameters

a

-

multivariate polynomial

K

-

optional specification of the algebraic extension

Description

• 

The Factor function is a placeholder for representing the factorization of the polynomial a over a unique factorization domain. It is used in conjunction with either mod or evala, which define the coefficient domain as described below.

• 

The call Factor(a) mod p computes the factorization of a over the integers modulo p a prime integer. The polynomial a must have rational coefficients or coefficients from a finite field specified by RootOfs.

• 

The call Factor(a, K) mod p and computes the factorization of the polynomial a over the Galois field (finite field) defined by the algebraic extension K over the integers mod p a prime integer. The extension K is specified by a RootOf and must be irreducible over the integers mod p.

• 

The call evala(Factor(a, K)) computes the factorization of the polynomial a over an algebraic number (or function) field defined by the extension K, which is specified as a RootOf or a set of RootOfs. The polynomial a must have algebraic number (or function) coefficients.

• 

Factorization methods available are lenstra, trager, and linear. The default is trager. One selects the method by adding the name to the option set (see evala).

• 

For the factorization of a univariate polynomial over an algebraic number field, use Lenstra's factorizer. This method is sometimes faster for small degree fields than the default factorizer.

• 

For the factorization of a univariate polynomial over a finite field, Factor uses the Cantor Zassenhaus distinct degree algorithm. Berlekamp's algorithm is an alternate method that is more efficient in cases involving large p and a polynomial a that is irreducible or has few factors (see Berlekamp).

• 

The Domains package is implicitly used to factor multivariate polynomials over a Galois field defined by a single extension. It can also be used explicitly to factor over a tower of multiple algebraic extensions.

Examples

Factorx2+3x+3mod7

x+6x+4

(1)

aliasα=RootOfx2+x+1:

Factorx3+1,αmod2

x+αx+α+1x+1

(2)

aliassqrt2=RootOfx22:

evalaFactorx22,sqrt2

xsqrt2x+sqrt2

(3)

evalaFactorx22,sqrt2,lenstra

xsqrt2x+sqrt2

(4)

evalaFactorx22y2,sqrt2

sqrt2y+xsqrt2y+x

(5)

aliasβ=RootOfy2x,y:

evalaFactorxy21,β

xy+βxyβx

(6)

expandx3+y5+2xy2+3mod7

xy7+x4y2+3y5+3x3+2xy2+6

(7)

Factormod7

y5+x3+2xy2+3

(8)

Factorx2+2xy+y2+1+x+y,αmod5

y+x+α+1y+x+4α

(9)

Factorx2y+xy2+2αxy+αx2+4αx+y+αmod5

y+x+ααx+xy+1

(10)

References

  

Bernardin, Laurent, and Monagan, Michael B., "Efficient Multivariate Factorization over Finite Fields." In Proceedings of AAECC '97, pp. 15-28. Edited by Teo Mora and Harold F. Mattson. Springer, 1997.

  

Lenstra, A. K., "Lattices and Factorization of Polynomials over Algebraic Number Fields." In Proceedings of EUROCAM '82, pp. 32-39. Edited by Jacques Calmet. Springer, 1982.

See Also

AFactor

AFactors

alias

Berlekamp

Domains

Domains

evala

Expand

factor

Factors

ifactor

mod

PolynomialTools[Split]

RootOf

Sqrfree