QuotientRing
edu.jas.poly

## Class QuotientRing<C extends RingElem<C>>

• ### Field Summary

Fields
Modifier and TypeField and Description
`RingFactory<C>``ring`
Ring factory of this factory.
• ### Constructor Summary

Constructors
Constructor and Description
`QuotientRing(RingFactory<C> r)`
The constructor creates a QuotientRing object from a RingFactory.
• ### Method Summary

Methods
Modifier and TypeMethod and Description
`BigInteger``characteristic()`
Characteristic of this ring.
`Quotient<C>``copy(Quotient<C> c)`
Copy Quotient element c.
`Quotient<C>``create(C n)`
Create from numerator.
`Quotient<C>``create(C n, C d)`
Create from numerator, denominator pair.
`boolean``equals(Object b)`
Comparison with any other object.
`Quotient<C>``fromInteger(BigInteger a)`
Get a Quotient element from a BigInteger value.
`Quotient<C>``fromInteger(long a)`
Get a Quotient element from a long value.
`List<Quotient<C>>``generators()`
Get a list of the generating elements.
`Quotient<C>``getONE()`
Get the one element.
`Quotient<C>``getZERO()`
Get the zero element.
`int``hashCode()`
Hash code for this quotient ring.
`boolean``isAssociative()`
Query if this ring is associative.
`boolean``isCommutative()`
Query if this ring is commutative.
`boolean``isField()`
Query if this ring is a field.
`boolean``isFinite()`
Is this structure finite or infinite.
`RingFactory<C>``pairFactory()`
Factory for base elements.
`Quotient<C>``parse(Reader r)`
`Quotient<C>``parse(String s)`
Parse Quotient from String.
`Quotient<C>``random(int n)`
Quotient random.
`Quotient<C>``random(int n, Random rnd)`
Quotient random.
`String``toScript()`
Get a scripting compatible string representation.
`String``toString()`
Get the String representation as RingFactory.
• ### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`
• ### Field Detail

• #### ring

`public final RingFactory<C extends RingElem<C>> ring`
Ring factory of this factory.
• ### Constructor Detail

• #### QuotientRing

`public QuotientRing(RingFactory<C> r)`
The constructor creates a QuotientRing object from a RingFactory.
Parameters:
`r` - ring factory.
• ### Method Detail

• #### pairFactory

`public RingFactory<C> pairFactory()`
Factory for base elements.
Specified by:
`pairFactory` in interface `QuotPairFactory<C extends RingElem<C>,Quotient<C extends RingElem<C>>>`
• #### create

`public Quotient<C> create(C n)`
Create from numerator.
Specified by:
`create` in interface `QuotPairFactory<C extends RingElem<C>,Quotient<C extends RingElem<C>>>`
• #### create

`public Quotient<C> create(C n,                 C d)`
Create from numerator, denominator pair.
Specified by:
`create` in interface `QuotPairFactory<C extends RingElem<C>,Quotient<C extends RingElem<C>>>`
• #### isFinite

`public boolean isFinite()`
Is this structure finite or infinite.
Specified by:
`isFinite` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Returns:
true if this structure is finite, else false.
`ElemFactory.isFinite()`
• #### copy

`public Quotient<C> copy(Quotient<C> c)`
Copy Quotient element c.
Specified by:
`copy` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Parameters:
`c` -
Returns:
a copy of c.
• #### getZERO

`public Quotient<C> getZERO()`
Get the zero element.
Specified by:
`getZERO` in interface `AbelianGroupFactory<Quotient<C extends RingElem<C>>>`
Returns:
0 as Quotient.
• #### getONE

`public Quotient<C> getONE()`
Get the one element.
Specified by:
`getONE` in interface `MonoidFactory<Quotient<C extends RingElem<C>>>`
Returns:
1 as Quotient.
• #### generators

`public List<Quotient<C>> generators()`
Get a list of the generating elements.
Specified by:
`generators` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Returns:
list of generators for the algebraic structure.
`ElemFactory.generators()`
• #### isCommutative

`public boolean isCommutative()`
Query if this ring is commutative.
Specified by:
`isCommutative` in interface `MonoidFactory<Quotient<C extends RingElem<C>>>`
Returns:
true if this ring is commutative, else false.
• #### isAssociative

`public boolean isAssociative()`
Query if this ring is associative.
Specified by:
`isAssociative` in interface `MonoidFactory<Quotient<C extends RingElem<C>>>`
Returns:
true if this ring is associative, else false.
• #### isField

`public boolean isField()`
Query if this ring is a field.
Specified by:
`isField` in interface `RingFactory<Quotient<C extends RingElem<C>>>`
Returns:
true.
• #### characteristic

`public BigInteger characteristic()`
Characteristic of this ring.
Specified by:
`characteristic` in interface `RingFactory<Quotient<C extends RingElem<C>>>`
Returns:
characteristic of this ring.
• #### fromInteger

`public Quotient<C> fromInteger(BigInteger a)`
Get a Quotient element from a BigInteger value.
Specified by:
`fromInteger` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Parameters:
`a` - BigInteger.
Returns:
a Quotient.
• #### fromInteger

`public Quotient<C> fromInteger(long a)`
Get a Quotient element from a long value.
Specified by:
`fromInteger` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Parameters:
`a` - long.
Returns:
a Quotient.
• #### toString

`public String toString()`
Get the String representation as RingFactory.
Overrides:
`toString` in class `Object`
`Object.toString()`
• #### toScript

`public String toScript()`
Get a scripting compatible string representation.
Specified by:
`toScript` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Returns:
script compatible representation for this ElemFactory.
`ElemFactory.toScript()`
• #### equals

`public boolean equals(Object b)`
Comparison with any other object.
Overrides:
`equals` in class `Object`
`Object.equals(java.lang.Object)`
• #### hashCode

`public int hashCode()`
Hash code for this quotient ring.
Overrides:
`hashCode` in class `Object`
`Object.hashCode()`
• #### random

`public Quotient<C> random(int n)`
Quotient random.
Specified by:
`random` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Parameters:
`n` - such that 0 ≤ v ≤ (2n-1).
Returns:
a random residue element.
• #### random

`public Quotient<C> random(int n,                 Random rnd)`
Quotient random.
Specified by:
`random` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Parameters:
`n` - such that 0 ≤ v ≤ (2n-1).
`rnd` - is a source for random bits.
Returns:
a random residue element.
• #### parse

`public Quotient<C> parse(String s)`
Parse Quotient from String.
Specified by:
`parse` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
Parameters:
`s` - String.
Returns:
Quotient from s.
• #### parse

`public Quotient<C> parse(Reader r)`
`parse` in interface `ElemFactory<Quotient<C extends RingElem<C>>>`
`r` - Reader.