Change language to:
English - Français - 日本語 - Português -

See the recommended documentation of this function

Справка Scilab >> 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)```