Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
bezout
GCD of two polynomials or two integers, by the Bezout method
Syntax
thegcd = bezout(p1,p2) [thegcd, U] = bezout(p1,p2)
Arguments
- p1, p2
- two real polynomials or two integer scalars (type equal to 1, 2 or 8) 
- thegcd
- scalar with the type of - p1: The Greatest Common Divisor of- p1and- p2.
- U
- 2x2unimodular matrix of the type of- p1, such that- [p1 p2]*U = [thegcd 0].
Description
thegcd = bezout(p1, p2) computes the GCD
            thegcd of p1 and p2.
In addition, [thegcd, U] = bezout(p1, p2) computes and returns 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))
If p1 or p2 are given as doubles (type 1),
            then they are processed as null degree polynomials.
Examples
// 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]) // With decimal numbers i1 = 2*3^5; i2 = 2^3*3^2; [thegcd,U] = bezout(i1, i2) V = [2^2*3^5 2^3*3^2 2^2*3^4*5]; [thegcd,U] = gcd(V) V*U lcm(V) // 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)
See also
- gcd — Greatest (positive) Common Divisor
- lcm — least common (positive) multiple of integers or of polynomials
- diophant — Solves the diophantine (Bezout) equation p1*x1 + p2*x2 = b
- sylm — Sylvester matrix of two polynomials
- poly — Polynomial definition from given roots or coefficients, or characteristic to a square matrix.
- roots — roots of a polynomial
- simp — rational simplification
- clean — cleans matrices (round to zero small entries)
History
| Version | Description | 
| 6.0.1 | The second output U is now optional. | 
| Report an issue | ||
| << Polynomials | Polynomials | chepol >> |