Chinese Remainder Theorem

Let I and J be integral fractional ideals over the same order S in an étale algebra. Assume that I and J are coprime, that is, I + J=S. Then I ∩J = I.J and we have a canonical S-linear isomorphism frac(S)(I ∩J) simeq frac(S)(I) x frac(S)(J).

ChineseRemainderTheorem(Is, as) : SeqEnum[AlgEtQIdl], SeqEnum[AlgEtQElt]-> AlgEtQElt
Given a sequence Is of ideals of S, pairwise coprime, and a sequence as of elements of S, it returns an element e such that e - as[i] ∈Is[i] for every i.
ChineseRemainderTheorem(I, J, a, b) : AlgEtQIdl, AlgEtQIdl, AlgEtQElt, AlgEtQElt -> AlgEtQElt
Given two coprime ideals I and J of S, two elements a, b ∈S, finds e such that (e - a) ∈I and (e - b) ∈J.
ChineseRemainderTheoremFunctions(Is) : SeqEnum[AlgEtQIdl] -> Map, Map
Given a sequence Is of N integral fractional S-ideals I1, ..., IN, pairwise coprime, returns a map S to SN representing the natural isomorphism (S /I) to (S /I1) x ... x (S /IN), where I=∏i Ii, and a map SN to S representing the inverse.

Example AlgEtQ_CRTFunctions (H42E9)

> _<x> := PolynomialRing(Integers());
> A := EtaleAlgebra((x^2+2)*(x^2+3));
> O := MaximalOrder(A);
> I1 := PrimesAbove(2*O)[1];
> I2 := PrimesAbove(3*O)[1];
> toProd, fromProd := ChineseRemainderTheoremFunctions([I1,I2]);
> toProd(One(A));
[
<1, 0>,
<1, 0>
]
V2.29, 28 November 2025