Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: Français - Português - 日本語 - Русский

See the recommended documentation of this function

# lcm

least common (positive) multiple of integers or of polynomials

### Syntax

```pp = lcm(p)
[pp, fact] = lcm(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).

fact

a polynomial vector or an integer vector.

pp

a polynomial or an integer.

### Description

`pp = lcm(p)` computes the lcm `pp` of polynomial vector `p`.

`[pp, fact] = lcm(p)` computes in addition the vector `fact` such that `p.*fact = pp*ones(p)`.

If `p` is a set of integers with some negative ones, the returned value `pp` of their LCM is always positive.

If `p` is an array of decimal integers, they are priorly converted into `int32` before processing.

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

### Examples

```// Polynomial case
s = %s;
p = [s s*(s+1)^2 s^2*(s+2)];
[pp,fact] = lcm(p);
p.*fact, pp

// Integer case
V = int32([2^2*3^5, 2^3*3^2,2^2*3^4*5]);
lcm(V)

// Double case
V = [2^2*3^5, 2^3*3^2,2^2*3^4*5];
lcm(V)```

• gcd — Greatest (positive) Common Divisor
• bezout — GCD of two polynomials or two integers, by the Bezout method

### History

 Version Description 6.0.1 For input integers possibly negative, the returned LCM is now always positive.