Fast Arithmetic Functions#

sage.arith.functions.LCM_list(v)#

Return the LCM of an iterable v.

Elements of v are converted to Sage objects if they aren’t already.

This function is used, e.g., by lcm().

INPUT:

  • v – an iterable

OUTPUT: integer

EXAMPLES:

sage: from sage.arith.functions import LCM_list
sage: w = LCM_list([3,9,30]); w
90
sage: type(w)
<class 'sage.rings.integer.Integer'>

The inputs are converted to Sage integers:

sage: w = LCM_list([int(3), int(9), int(30)]); w
90
sage: type(w)
<class 'sage.rings.integer.Integer'>
sage.arith.functions.lcm(a, b=None)#

The least common multiple of a and b, or if a is a list and b is omitted the least common multiple of all elements of a.

Note that LCM is an alias for lcm.

INPUT:

  • a,b – two elements of a ring with lcm or

  • a – a list or tuple of elements of a ring with lcm

OUTPUT:

First, the given elements are coerced into a common parent. Then, their least common multiple in that parent is returned.

EXAMPLES:

sage: lcm(97,100)
9700
sage: LCM(97,100)
9700
sage: LCM(0,2)
0
sage: LCM(-3,-5)
15
sage: LCM([1,2,3,4,5])
60
sage: v = LCM(range(1,10000))   # *very* fast!
sage: len(str(v))
4349