bezout — Bezout equation for polynomials or integers
[thegcd,U]=bezout(p1,p2)
[thegcd,U]=bezout(p1,p2)
computes GCD thegcd
of p1
and p2
and in addition a (2x2)
unimodular matrix U
such that:
[p1,p2]*U = [thegcd,0]
The lcm of p1
and p2
is given by:
p1*U(1,2)
(or -p2*U(2,2)
)
// polynomial case x=poly(0,'x'); p1=(x+1)*(x-3)^5;p2=(x-2)*(x-3)^3; [thegcd,U]=bezout(p1,p2) det(U) clean([p1,p2]*U) thelcm=p1*U(1,2) lcm([p1,p2]) // integer case i1=int32(2*3^5); i2=int32(2^3*3^2); [thegcd,U]=bezout(i1,i2) V=int32([2^2*3^5, 2^3*3^2,2^2*3^4*5]); [thegcd,U]=gcd(V) V*U lcm(V)