Please note that the recommended version of Scilab is 2023.1.0. This page might be outdated.

See the recommended documentation of this function

# 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 1 or 8).- pgcd
vector of the same type as

`p`

- U
matrix of the same type as

`p`

### 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)`

.

If `p`

is given as an integer double (type 1), then it is treated as an `int32`

.

### Examples

// Polynomial case s = %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 // Double case V = [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

Report an issue | ||

<< factorial | Discrete mathematics | lcm >> |