2 from sympy
.core
.numbers
import igcdex
4 def crt(m
, v
, symmetric
=False):
5 """Chinese Remainder Theorem.
7 The integers in m are assumed to be pairwise coprime. The output
8 is then an integer f, such that f = v_i mod m_i for each pair out
19 for m_i
, v_i
in zip(m
, v
):
21 s
, t
, g
= igcdex(e
, m_i
)
36 """First part of chines remainder theorem, for multiple application. """
44 s
.append(igcdex(e
[-1], m_i
)[0])
48 def crt2(m
, v
, mm
, e
, s
, symmetric
=False):
49 """Second part of Chinese Remainder Theorem, for multiple application. """
52 for m_i
, v_i
, e_i
, s_i
in zip(m
, v
, e
, s
):