edu.jas.poly
Class QuotientRing<C extends RingElem<C>>
- java.lang.Object
-
- edu.jas.poly.QuotientRing<C>
-
- All Implemented Interfaces:
- AbelianGroupFactory<Quotient<C>>, ElemFactory<Quotient<C>>, MonoidFactory<Quotient<C>>, QuotPairFactory<C,Quotient<C>>, RingFactory<Quotient<C>>, java.io.Serializable
public class QuotientRing<C extends RingElem<C>> extends java.lang.Object implements RingFactory<Quotient<C>>, QuotPairFactory<C,Quotient<C>>
Quotient ring factory using RingElem and RingFactory. Objects of this class are immutable.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description RingFactory<C>ringRing 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
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.math.BigIntegercharacteristic()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.booleanequals(java.lang.Object b)Comparison with any other object.Quotient<C>fromInteger(java.math.BigInteger a)Get a Quotient element from a BigInteger value.Quotient<C>fromInteger(long a)Get a Quotient element from a long value.java.util.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.inthashCode()Hash code for this quotient ring.booleanisAssociative()Query if this ring is associative.booleanisCommutative()Query if this ring is commutative.booleanisField()Query if this ring is a field.booleanisFinite()Is this structure finite or infinite.RingFactory<C>pairFactory()Factory for base elements.Quotient<C>parse(java.io.Reader r)Parse Quotient from Reader.Quotient<C>parse(java.lang.String s)Parse Quotient from String.Quotient<C>random(int n)Quotient random.Quotient<C>random(int n, java.util.Random rnd)Quotient random.java.lang.StringtoScript()Get a scripting compatible string representation.java.lang.StringtoString()Get the String representation as RingFactory.
-
-
-
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:
pairFactoryin interfaceQuotPairFactory<C extends RingElem<C>,Quotient<C extends RingElem<C>>>
-
isFinite
public boolean isFinite()
Is this structure finite or infinite.- Specified by:
isFinitein interfaceElemFactory<Quotient<C extends RingElem<C>>>- Returns:
- true if this structure is finite, else false.
- See Also:
ElemFactory.isFinite()
-
generators
public java.util.List<Quotient<C>> generators()
Get a list of the generating elements.- Specified by:
generatorsin interfaceElemFactory<Quotient<C extends RingElem<C>>>- Returns:
- list of generators for the algebraic structure.
- See Also:
ElemFactory.generators()
-
isCommutative
public boolean isCommutative()
Query if this ring is commutative.- Specified by:
isCommutativein interfaceMonoidFactory<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:
isAssociativein interfaceMonoidFactory<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.
-
characteristic
public java.math.BigInteger characteristic()
Characteristic of this ring.- Specified by:
characteristicin interfaceRingFactory<Quotient<C extends RingElem<C>>>- Returns:
- characteristic of this ring.
-
fromInteger
public Quotient<C> fromInteger(java.math.BigInteger a)
Get a Quotient element from a BigInteger value.- Specified by:
fromIntegerin interfaceElemFactory<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:
fromIntegerin interfaceElemFactory<Quotient<C extends RingElem<C>>>- Parameters:
a- long.- Returns:
- a Quotient.
-
toString
public java.lang.String toString()
Get the String representation as RingFactory.- Overrides:
toStringin classjava.lang.Object- See Also:
Object.toString()
-
toScript
public java.lang.String toScript()
Get a scripting compatible string representation.- Specified by:
toScriptin interfaceElemFactory<Quotient<C extends RingElem<C>>>- Returns:
- script compatible representation for this ElemFactory.
- See Also:
ElemFactory.toScript()
-
equals
public boolean equals(java.lang.Object b)
Comparison with any other object.- Overrides:
equalsin classjava.lang.Object- See Also:
Object.equals(java.lang.Object)
-
hashCode
public int hashCode()
Hash code for this quotient ring.- Overrides:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
-
DMelt 3.0 © DataMelt by jWork.ORG