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 — наименьшее общее кратное (положительное) целых чисел или полиномов
- diophant — Solves the diophantine (Bezout) equation p1*x1 + p2*x2 = b
- sylm — Sylvester matrix of two polynomials
- poly — Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
- roots — roots of a polynomial
- simp — rational simplification
- clean — очищает матрицы (округление малых значений до нуля)
History
Версия | Описание |
6.0.1 | The second output U is now optional. |
Report an issue | ||
<< Polynomials | Polynomials | chepol >> |