Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.0 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> Polynomials > bezout

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 p1 and p2.

U

2x2 unimodular 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 polynomials
  • simp — rational simplification
  • clean — cleans matrices (round to zero small entries)

History

VersionDescription
6.0.1 The second output U is now optional.
Report an issue
<< Polynomials Polynomials chepol >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:49:19 CET 2020