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.
|