Package edu.jas.arith
Interface ModularRingFactory<C extends RingElem<C> & Modular>
- All Superinterfaces:
AbelianGroupFactory<C>
,ElemFactory<C>
,Iterable<C>
,MonoidFactory<C>
,RingFactory<C>
,Serializable
- All Known Implementing Classes:
ModIntegerRing
,ModIntRing
,ModLongRing
public interface ModularRingFactory<C extends RingElem<C> & Modular>
extends RingFactory<C>, Iterable<C>
Modular ring factory interface. Defines Chinese remainder method and get
modul method.
-
Method Summary
Modifier and TypeMethodDescriptionchineseRemainder
(C c, C ci, C a) Chinese remainder algorithm.Return the BigInteger modul for the factory.Methods inherited from interface edu.jas.structure.AbelianGroupFactory
getZERO
Methods inherited from interface edu.jas.structure.ElemFactory
copy, fromInteger, fromInteger, generators, isFinite, parse, parse, random, random, toScript, valueOf
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
Methods inherited from interface edu.jas.structure.MonoidFactory
getONE, isAssociative, isCommutative
Methods inherited from interface edu.jas.structure.RingFactory
characteristic, isField
-
Method Details
-
getIntegerModul
BigInteger getIntegerModul()Return the BigInteger modul for the factory.- Returns:
- a BigInteger of this.modul.
-
chineseRemainder
Chinese remainder algorithm. Assert c.modul ≥ a.modul and c.modul * a.modul = this.modul.- Parameters:
c
- modular.ci
- inverse of c.modul in ring of a.a
- other ModLong.- Returns:
- S, with S mod c.modul == c and S mod a.modul == a.
-