Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - 日本語 - Русский
Scilab Help >> Elementary Functions > Discrete mathematics > lcm


least common (positive) multiple of integers or of polynomials


pp = lcm(p)
[pp, fact] = lcm(p)



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


a polynomial vector or an integer vector.


a polynomial or an integer.


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).


// 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]);

// Double case
V = [2^2*3^5, 2^3*3^2,2^2*3^4*5];

See also

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


6.0.1 For input integers possibly negative, the returned LCM is now always positive.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Feb 12 19:26:47 CET 2018