# TwoFactorize F¶

A basic package for the factorization of bivariate polynomials over a finite field. The functions here represent the base step for the multivariate factorizer.

doFactor: (SparseUnivariatePolynomial SparseUnivariatePolynomial F, Integer, Boolean) -> Factored SparseUnivariatePolynomial SparseUnivariatePolynomial F

doFactor(p, n, ext?) returns the factorisation of polynomial p, p is assumed to be primitive and squarefree, n is degree in auxilary variable, ext? if false inhibits use of extension field.

generalSqFr: SparseUnivariatePolynomial SparseUnivariatePolynomial F -> Factored SparseUnivariatePolynomial SparseUnivariatePolynomial F

generalSqFr(p) returns the square-free factorisation of polynomial p, a sparse univariate polynomial (sup) over a sup over F.

generalTwoFactor: SparseUnivariatePolynomial SparseUnivariatePolynomial F -> Factored SparseUnivariatePolynomial SparseUnivariatePolynomial F

generalTwoFactor(p) returns the factorisation of polynomial p, a sparse univariate polynomial (sup) over a sup over F.

tryTwoFactor: SparseUnivariatePolynomial SparseUnivariatePolynomial F -> Factored SparseUnivariatePolynomial SparseUnivariatePolynomial F

tryTwoFactor(p) returns the factorisation of polynomial p, if it does not require using field extensions, otherwise returns p unfactored (nil factorization).

twoFactor: (SparseUnivariatePolynomial SparseUnivariatePolynomial F, Integer) -> Factored SparseUnivariatePolynomial SparseUnivariatePolynomial F

twoFactor(p, n) returns the factorisation of polynomial p, a sparse univariate polynomial (sup) over a sup over F. Also, p is assumed primitive and square-free and n is the degree of the inner variable of p (maximum of the degrees of the coefficients of p).