SNAP
AreCoprime
determine if two numeric polynomials are relatively prime up to a given error bound
IsSingular
determine if a numeric polynomial has a double root up to a given error bound
Calling Sequence
Parameters
Description
Examples
References
AreCoprime(a, b, z, eps, out)
IsSingular(a, z, eps, out)
a, b
-
univariate numeric polynomials
z
name; indeterminate for a and b
eps
non-negative numeric; error bound
out
(optional) equation of the form output = obj where obj is 'BC' or a list containing one or more instances of this name; select result objects to compute
The AreCoprime(a, b, z, eps) command checks whether univariate numeric polynomials a, b in z remain coprime after perturbations of order eps. This is done by computing reliable lower and upper bounds on the distance between the pair (a, b) and the set of the univariate complex polynomial pairs in z with degrees that do not exceed those of a and b, and that have at least one common root. (See SNAP[DistanceToCommonDivisors].)
The lower bound LB is obtained using the SNAP[DistanceToCommonDivisors] function. The upper bound UP is the minimum between the 1-norm of a and the 1-norm of b.
If eps > UP, false is returned;
if eps < LB, true is returned;
if LB <= eps <= UP, FAIL is returned because it is impossible to provide a reliable answer.
The IsSingular(a, z, eps) command checks whether the univariate numeric polynomial a in z has common roots up to perturbations of order eps. It essentially calls AreCoprime(a, b, z) with b = diff(a, z).
The output option (out) determines the content of the returned expression sequence.
As specified by the out option, Maple returns an expression sequence containing one or more BC, which is the list [v, u] of the numeric polynomials in z that satisfy av+bu=1 and degree⁡u,z<degree⁡a,z and degree⁡v,z<degree⁡b,z (bezout coefficients for coprime polynomials a and b). This list is empty if the routine returns false or FAIL.
with⁡SNAP:
a≔0.1⁢z2+1.5⁢z−0.2
b≔0.2⁢z3+0.15
AreCoprime⁡a,b,z,0.5
false
AreCoprime⁡a,b,z,0.1
true
c≔AreCoprime⁡a,b,z,0.1,output=BC
c≔true,−0.871004100817766⁢z2−0.112232907263963⁢z−0.0585145926760834,0.435502050408883⁢z+6.58864720976522
fnormal⁡expand⁡a⁢c21+b⁢c22
1.
Beckermann, B., and Labahn, G. "A fast and numerically stable Euclidean-like algorithm for detecting relatively prime numerical polynomials." Journal of Symbolic Computation. Vol. 26, (1998): 691-714.
Beckermann, B. and Labahn, G. "When are two numerical polynomials relatively prime?" Journal of Symbolic Computation. Vol. 26, (1998): 677-689.
See Also
expand
SNAP[DistanceToCommonDivisors]
SNAP[DistanceToSingularPolynomials]
Download Help Document