[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.6.2 Factorization

08E006 ^BerlekampP ( P #prime → P F / P Lf #prime T )
Berlekamp's algorithm for finding modular factors of a univariate polynomial.
08F006 ^Berlekamp ( P → P F / P Lf #prime T )
Berlekamp's algorithm for finding modular factors of a univariate polynomial with a leading frontend for finding linear factors faster. The input polynomial must be square free, otherwise the polynomial is not fully factored. Due to memory restrictions byte sized coefficients are used and the following restrictions were imposed: prime<128 and degree<256. If the conditions are not met FALSE is returned. BCD: prime≤97.
0A8006 ^ALG48FCTR? ( P → [ meta cst_coeff TRUE | P FALSE ] )
Factorizes square-free polynomial in Erable format.
0A9006 ^MFactTriv ( P → meta-factor P' )
Extracts all trivial power factors of P.
0AA006 ^CheckPNoExt ( P → P flag )
Checks that P does not contain any DOCOL (i.e. extensions).
0AB006 ^PPP ( P → PP PC )
Computes primitive polynomial and content of non-const P with respect to X1. The results are trimmed (provided P was).
0AC006 ^PFactor ( P → Lfk Z )
Does a complete factorization of P. The result is trimmed.
0AD006 ^PSqff ( P → Lfk )
Square-free and trivial factorization, including integer content, of P taken positive. Factors of same power are not necessarily merged or adjacent, but all Fi's are square-free.
0AE006 ^PHFctr ( P → Lf )
Heuristic factorization of polynomial taken positive. LAM FullFact? must be bound. If LAM FullFact? is TRUE, a full factorization is done. If it is FALSE, only square-free and trivial factorization is done.
0AF006 ^PHFctr1 ( P → Lf )
Heuristic factorization of primitive polynomial. LAM FullFact? must be bound. If TRUE, a full factorization is done. When FALSE, only a square-free and trivial factorization are done.
0B0006 ^PHFctr0 ( P → Lf )
Heuristic factorization of primitive square-free non constant polynomial.
0D8007 ^P2P# ( P → P' # )
Extracts trivial power of poly. P must be a valid poly (if list, begin with a non zero coeff).
0B1006 ^DeCntMulti ( R → L )
Transforms list with count into simple list.
R = { {f1 #k1} ... {fn #kn} }
L = { f1 f1 .. fn fn }.
0B2006 ^DoLS ( L S F → L' )
Applies program F(Li,S) to every elem of L.
0B3006 ^PNFctr ( Z → Lf )
Factorization of positive integer as polynomial.
Lf = {} if Z is 1
Lf = { {Z1 #k1} ... {Zn #kn} } o/w.
0B4006 ^PSQFF ( P → Lsqff )
Computes the square-free factorization of primitive P. The result is trimmed (provided P was).
0B5006 ^LiftZAdic ( p z F → L )
Lift n-1 z-adic factorization into n factorization.
0B6006 ^LFCProd ( C L → C P )
Calculates combination product.
0B7006 ^UFactor ( P → Lf )
Factorization of a square free primitive univariate polynomial.
0B8006 ^UFactor1 ( P → Lf )
Factorization of a square free primitive univariate polynomial of degree > 2.
0B9006 ^MonicLf ( Lfp p → Lfp' )
Converts true modular factorization to monic factorization by dividing by the leading coefficient of factor 1.
0BA006 ^DemonicLf ( Lfp lc p → Lfp' )
Converts monic modular factorization to true modular factorization by multiplying factor1 by lcoeff.
0BB006 ^LiftLinear ( #root1 .. #rootn #n → )
Lifts modular roots of a polynomial to find linear factors of a univariate polynomial.
Lflin = list of found true factors
Lfplin' = remaining linear factors
P' = remaining polynomial
Assumes UFactor lambda variables available and uses them for input and output.
0BC006 ^LiftGeneral ( → )
Lifts factorization mod p to factorization mod p^k where p^k exceeds the factor bound for succesful true factor extraction. Assumes UFactor lambda variables.
0BD006 ^UFactorDeg2 ( P → Lf )
Factorization of a degree 2 polynomial. Polynomial is univariate, square free and primitive.
0BE006 ^CombineFac ( P Lfp p → Tf Tfp )
Combines modular factors to true factors. P is the polynomial to factor, Lfp is the list of modular factors, and p the modulo. The entry returns the a list of found true factors (Tf) and the list of modular factors for each true factor (Tfp)
0BF006 ^CombProd ( lc Lfp p Cb → F )
Calculates modular combination.
0C0006 ^CombInit ( #r → Cb )
Inits modular combination list to value
{ 1 0 0 0 .. }.
0C1006 ^CombNext ( Cb → Cb' flag )
Gets next possible modular combination. Assumes Cb is valid and is in tempob area.
0C2006 ^RmCombNext ( Lf Cb → Lfrm Lf' Cb' flag )
Removes next possible combination after a successful combination has been found, and remove the used factors from the factor list.
0C3006 ^PFactTriv ( P → P' Lf )
Extracts all trivial power factors of P.
0C4006 ^VarFactor ( P #var → P #n )
Calculates what power of the given variable is a factor in P.
0C5006 ^PFactPowCnt ( P → P Lk flag )
Calculates trivial power factors in P. flag is TRUE if any of the powers is nonzero.
0C6006 ^PDivLk ( P Lk → P' )
Divides polynomial by its trivial powers.
282006 ^FEVIDENText ( P → meta-fact cst coeff )
Real mode: full factorization over the integer Complex mode: find all 1st order factors of P.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated by Carsten Dominik on May, 30 2005 using texi2html