Please note that the recommended version of Scilab is 2025.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 ofp1
andp2
.- U
2x2
unimodular matrix of the type ofp1
, 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 >> |