# gcd

Greatest Common Divisor

## Calling Sequence

    [pgcd, U] = gcd(p)

## Arguments

p

  a polynomial row vector `p = [p1, ..., pn]` (type equal to 2) or an integer row vector (type equal to 8).

## Description

`[pgcd, U] = gcd(p)` computes the gcd of components of `p` (`pgcd`) and a unimodular matrix (with polynomial inverse) `U`, with minimal degree such that

`p*U = [0 ... 0 pgcd]`.

In mathematics, a unimodular matrix `U` is a square integer matrix having determinant `+1` or `-1`.

The greatest common divisor of an array `p` of real numbersof real numbers can be obtained by converting it to a polynomial before calling `gcd`, through `p = inv_coeff(p, 0)`.

## Examples

    //polynomial case
    s=poly(0,'s');
    p=[s,s*(s+1)^2,2*s^2+s^3];
    [pgcd,u]=gcd(p);
    p*u

    //integer case
    V=int32([2^2*3^5, 2^3*3^2,2^2*3^4*5]);
    [thegcd,U]=gcd(V)
    V*U

    gcd(uint8([15 20]))

    gcd([iconvert(15,4) iconvert(20,4)])

    gcd(iconvert([15 20],4))

## See Also

- bezout
- lcm
- hermit