
|
Go to the first, previous, next, last section, table of contents.
- udiv(p1,p2)
-
- urem(p1,p2)
-
- urembymul(p1,p2)
-
- urembymul_precomp(p1,p2,inv)
-
- ugcd(p1,p2)
-
:: Division and GCD for univariate polynomials.
- return
-
univariate polynomial
- p1,p2,inv
-
univariate polynomial
-
For univariate polynomials p1 and p2,
there exist polynomials q and r such that
p1=q*p2+r and the degree of r is less than that of p2.
Then
udiv returns q, urem and urembymul return
r. ugcd returns the polynomial GCD of p1 and p2.
These functions are specially tuned up for dense univariate polynomials.
In urembymul the division by p2 is replaced with
the inverse computation of p2 as a power series and
two polynomial multiplications. It speeds up the computation
when the degrees of inputs are large.
-
urembymul_precomp is efficient when one repeats divisions
by a fixed polynomial.
One has to compute the third argument by ureverse_inv_as_power_series() .
[177] setmod_ff(2^160-47);
1461501637330902918203684832716283019655932542929
[178] A=randpoly_ff(200,x)$
[179] B=randpoly_ff(101,x)$
[180] cputime(1)$
0sec(1.597e-05sec)
[181] srem(A,B)$
0.15sec + gc : 0.15sec(0.3035sec)
[182] urem(A,B)$
0.11sec + gc : 0.12sec(0.2347sec)
[183] urembymul(A,B)$
0.08sec + gc : 0.09sec(0.1651sec)
[184] R=ureverse_inv_as_power_series(B,101)$
0.04sec + gc : 0.03sec(0.063sec)
[185] urembymul_precomp(A,B,R)$
0.03sec(0.02501sec)
- References
-
section
uinv_as_power_series , ureverse_inv_as_power_series .
Go to the first, previous, next, last section, table of contents.
|