edu.jas.arith
Interface ModularRingFactory<C extends RingElem<C> & Modular>

All Superinterfaces:
AbelianGroupFactory<C>, ElemFactory<C>, MonoidFactory<C>, RingFactory<C>, java.io.Serializable
All Known Implementing Classes:
ModIntegerRing, ModLongRing

public interface ModularRingFactory<C extends RingElem<C> & Modular>
extends RingFactory<C>

Modular ring factory interface. Defines chinese remainder method and get modul method.

Author:
Heinz Kredel

Method Summary
 C chineseRemainder(C c, C ci, C a)
          Chinese remainder algorithm.
 BigInteger getIntegerModul()
          Return the BigInteger modul for the factory.
 
Methods inherited from interface edu.jas.structure.RingFactory
characteristic, isField
 
Methods inherited from interface edu.jas.structure.AbelianGroupFactory
getZERO
 
Methods inherited from interface edu.jas.structure.MonoidFactory
getONE, isAssociative, isCommutative
 
Methods inherited from interface edu.jas.structure.ElemFactory
copy, fromInteger, fromInteger, generators, isFinite, parse, parse, random, random, toScript
 

Method Detail

getIntegerModul

BigInteger getIntegerModul()
Return the BigInteger modul for the factory.

Returns:
a BigInteger of this.modul.

chineseRemainder

C chineseRemainder(C c,
                   C ci,
                   C a)
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.