numlib::ichrem
-- Chinese
remainder theorem for integersnumlib::ichrem
(a,m)
returns the least
nonnegative integer x such that (x-a[i]) mod
m[i]=0 for i=1,..,m if such a number exists; otherwise
numlib::ichrem
(a,m)
returns
FAIL
.
numlib::ichrem(a, m)
a |
- | a list of integers |
m |
- | a list of natural numbers of the same length as
a |
either a nonnegative integer or FAIL
.
m
need not be pairwise coprime.numlib::ichrem
(a,m)
returns an error if
a
is not a list of integers or m
is not a
list of natural numbers or a
and m
are not
lists of the same length.Here the moduli are pairwise coprime. In this case, a solution always exists:
>> numlib::ichrem([2,3,2],[3,5,7])
23
Here the moduli are not pairwise coprime, and a solution does not exist:
>> numlib::ichrem([5,6,8],[20,21,22])
FAIL
Also here the moduli are not pairwise coprime, but a solution nevertheless exists:
>> numlib::ichrem([5,6,7],[20,21,22])
4605