0E1006 |
^PEvalMod
|
( Q Z Zn → Q' )
Computes value of polynomial mod Zn.
|
0E2006 |
^QAddMod
|
( Q1 Q2 Zn → Q' )
Polynomial addition modulo Zn.
|
0E3006 |
^QSubMod
|
( Q1 Q2 Zn → Q' )
Polynomial subtraction modulo Zn.
|
0E4006 |
^QMulMod
|
( Q1 Q2 Zn → Q' )
Polynomial multiplication modulo Zn.
|
0E5006 |
^QDivMod
|
( Q1 Q2 Zn → Qquo Qrem )
Polynomial division modulo Zn. In regular
division the coefficients in the remainder
can increase very quickly to tens of digits,
thus it is important to normalize the
coefficients whenever possible.
|
0E6006 |
^QInvMod
|
( Q Zn → Q' )
Polynomial inversion modulo Zn.
|
0E7006 |
^QGcdMod
|
( Q1 Q2 Zn → Q' )
Polynomial GCD modulo Zn for univariate
polynomials. The result is made monic.
|
0E8006 |
^QGcdExMod
|
Extended polynomial GCD modulo Zn for
univariate polynomials. The equation:
Q1*Q1' + Q2*Q2' = 1 MOD Zn.
|
4C5006 |
^ISOL1
|
( symb id → id symb' )
|
4C6006 |
^ISOLALL
|
( symb id → id {} )
Internal SOLVE.
|
4C7006 |
^ISOL2ext
|
( symb id → symb' )
( symb id → {} )
Like <REF>ISOL1 if isolflag is set.
Otherwise returns the list of all found
solutions.
|
4C8006 |
^BEZOUTMSOLV
|
( Lpoly Lidnt → Lidnt sols )
If no extension in Lpoly, calls ALG48 GSOLVE
Otherwise, solves by Bezout "Gaussian"
elimination. In the latter case, if system
seems underdetermined, Lidnt is truncated.
Then the system must be exactly determined
and polynomials must be prime together.
|
4C9006 |
^ROOT{}N
|
( meta of roots → list of roots )
Drops tagged roots.
|
4CA006 |
^MHORNER
|
( poly-l {r1...rk} # → P[r1...rk] )
Top-level call. Poly-l might be a matrix.
|
4CB006 |
^MHORNER1
|
( P { r } → P[..r..] )
|
4CC006 |
^SQFFext
|
( Q → { F1 mult1 .. Fn multn } )
|
4CD006 |
^MSQFF
|
( Q → F1 mult1 .. Fn multn #2n )
Full square-free factorization of object. The
result is given as a Meta object.
|
4CE006 |
^%1TWO
|
( ob → ob %1 #2 )
Square free factorization of unknown (?)
object. See MSQFF.
|
4CF006 |
^MZSQFF
|
( Z → Z1 mult1 .. Zn multn #2n )
Full factorization of an integer.
|
4D0006 |
^MZSQFF1
|
( Meta curfac %n newfac T → Meta curfac %n+1 )
( Meta curfac %n newfac F → Meta' newfac %1 )
Adds integer factor to factor list. If the
factor is the same as the last time, only the
multiplicity is increased.
|
4D2006 |
^MLISTSQFF
|
( P → Meta )
Full square-free factorization of a
polynomial with a recursive call on the GCD
of all coefficients.
|
4D3006 |
^METASQFFext
|
( P-list → S1 %1 ..Se-1 %e-1 %e ee Te Re )
Square-free factorization.
|
4DE006 |
^LIDNText
|
( ob → {} )
Gets list of all ids present in ob.
|
4DF006 |
^LVARXNXext
|
( symb → symb x lvarnx lvarx )
Finds variable of symb depending on current
variable and other variable. Using LVAR is
impossible here because of sqrt.
|
4E0006 |
^ISPOLYNOMIAL?
|
( ob → flag )
Returns TRUE if symb is polynomial with
respect to current variable.
|
4E1006 |
^2POLYNOMIAL?
|
( symb1 symb2 → symb1 symb2 flag )
Returns TRUE if symb1 and symb2 are
polynomial with respect to current variable.
|
4E2006 |
^VXINDEP?
|
( symb → symb flag )
Returns TRUE if symb is independent of
current variable.
|
4E3006 |
^LVARXNX2ext
|
|
4E4006 |
^RLVARext
|
( ob → {} )
Recursive search of all variables.
|
4E5006 |
^LLVARDext
|
( o → #depth o lvar )
|
4E6006 |
^VXLVARext
|
( symb → symb lvar )
|
4E7006 |
^LVARext
|
( ob → ob {} )
List of variables. Square roots are included
in the list of rational operators.
|
4E8006 |
^VX>LVARext
|
( ob → ob {} )
Like <REF>LVARext but the current variable is
added using >HCOMP. Square roots are
included in the list of rational operators.
|
4E9006 |
^VX>
|
( {} → {}' )
If VX is in the list then moves it to the
beginning of the list. Otherwise does
nothing.
--
<REF>TEXT:Reserved|VX
|
4EA006 |
^VX!
|
( {} → {} )
If VX is in the list then moves it at the
beginning. Otherwise VX is added to the
beginning of the list.
--
<REF>TEXT:Reserved|VX
|
4EC006 |
^LIDNTLVAR
|
( symb lidnt → symb lidnt lvar )
lvar is the list of variables in symb, but
elements of lidnt are moved to the beginning
of lvar.
|
4ED006 |
^LISTOPRAC
|
( → {} )
Returns the list of rational operator with
sqrt appended to the list.
|
4EE006 |
^LISTOPext
|
( → {} )
List of basic "rational" operators without
square root.
|
4EF006 |
^LISTOPSQRT
|
( → {} )
List of basic "rational" operators with
square root.
|
4F0006 |
^LVARDext
|
( ob listop → lidnt )
( Meta listop → lidnt )
Determines list of variables in ob (or Meta)
using the given list of basic "rational"
operators.
|
4F1006 |
^>VARLIST
|
|
4F2006 |
^DEPTHext
|
( ob → # )
Returns the max number of embedded lists in
ob.
|
4F3006 |
^DEPTHOBJext
|
( objet # → depth )
|
4F6006 |
^TRIMOBJext
|
( ob → ob ' )
Trims object.
|
4F7006 |
^NEWTRIMext
|
( Q → Q )
Recursively tests if Q is a list of one
constant element. This is much faster than
TRIMOBJext and sufficient for the output of
programs which are trimmed on the fly.
|
4F8006 |
^>POLYTRIM
|
( meta → {} )
Equivalent to {}POLY TRIMOBJext.
|
4F9006 |
^ELMGext
|
( ob → ob' )
Trims small numbers (less than epsilon).
|
51F006 |
^ZINTSQRT
|
|
520006 |
^SHALT
|
|
0E9006 |
^IsV>V?
|
( v1 v2 → flag )
Returns TRUE if v1 is lexicographically after
v2.
|
0EB006 |
^PZadic
|
( Q Z → Q' )
|
104006 |
^LISTMAXext
|
( P → P Z T depth )
( P → P ? F #0 )
Step 1 for gcdheu:
Returns FALSE if gcdheu can not be applied
(e.g. if P contains irrquads). Returns TRUE
otherwise, Z is the max of all integers of P
or 2*max if there are complex in P.
|
0EC006 |
^GCDHEUext
|
( A B → a b c pr[pgcd] A'/G' B'/G' flag )
Heuristic GCD.
|