Package edu.jas.application
Class SolvableResidueRing<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.application.SolvableResidueRing<C>
-
- All Implemented Interfaces:
AbelianGroupFactory<SolvableResidue<C>>,ElemFactory<SolvableResidue<C>>,MonoidFactory<SolvableResidue<C>>,QuotPairFactory<GenPolynomial<C>,SolvableResidue<C>>,RingFactory<SolvableResidue<C>>,ValueFactory<GenPolynomial<C>,SolvableResidue<C>>,java.io.Serializable
public class SolvableResidueRing<C extends GcdRingElem<C>> extends java.lang.Object implements RingFactory<SolvableResidue<C>>, QuotPairFactory<GenPolynomial<C>,SolvableResidue<C>>, ValueFactory<GenPolynomial<C>,SolvableResidue<C>>
SolvableResidue ring factory based on GenSolvablePolynomialRing with GcdRingFactory interface. Objects of this class are immutable.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected SolvableGroebnerBaseAbstract<C>bbGroebner base engine.SolvableIdeal<C>idealSolvable polynomial ideal for the reduction.protected intisFieldIndicator if this ring is a field.GenSolvablePolynomialRing<C>ringPolynomial ring of the factory.
-
Constructor Summary
Constructors Constructor Description SolvableResidueRing(SolvableIdeal<C> i)The constructor creates a SolvableResidueRing object from an Ideal.SolvableResidueRing(SolvableIdeal<C> i, boolean isMaximal)The constructor creates a SolvableResidueRing object from an SolvableIdeal.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.BigIntegercharacteristic()Characteristic of this ring.SolvableResidue<C>copy(SolvableResidue<C> c)Copy SolvableResidue element c.SolvableResidue<C>create(GenPolynomial<C> n)Create from numerator.SolvableResidue<C>create(GenPolynomial<C> n, GenPolynomial<C> d)Create from numerator, denominator pair.booleanequals(java.lang.Object b)Comparison with any other object.SolvableResidue<C>fromInteger(long a)Get a SolvableResidue element from a long value.SolvableResidue<C>fromInteger(java.math.BigInteger a)Get a SolvableResidue element from a BigInteger value.java.util.List<SolvableResidue<C>>generators()Get a list of the generating elements.SolvableResidue<C>getONE()Get the one element.SolvableResidue<C>getZERO()Get the zero element.inthashCode()Hash code for this residue 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.GenSolvablePolynomialRing<C>pairFactory()Factory for base elements.SolvableResidue<C>parse(java.io.Reader r)Parse SolvableResidue from Reader.SolvableResidue<C>parse(java.lang.String s)Parse SolvableResidue from String.SolvableResidue<C>random(int n)SolvableResidue random.SolvableResidue<C>random(int k, int l, int d, float q)Generate a random residum polynomial.SolvableResidue<C>random(int n, java.util.Random rnd)SolvableResidue random.java.lang.StringtoScript()Get a scripting compatible string representation.java.lang.StringtoString()Get the String representation as RingFactory.GenSolvablePolynomialRing<C>valueFactory()Factory for base elements.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface edu.jas.structure.ElemFactory
valueOf
-
-
-
-
Field Detail
-
bb
protected final SolvableGroebnerBaseAbstract<C extends GcdRingElem<C>> bb
Groebner base engine.
-
ideal
public final SolvableIdeal<C extends GcdRingElem<C>> ideal
Solvable polynomial ideal for the reduction.
-
ring
public final GenSolvablePolynomialRing<C extends GcdRingElem<C>> ring
Polynomial ring of the factory. Shortcut to ideal.list.ring.
-
isField
protected int isField
Indicator if this ring is a field.
-
-
Constructor Detail
-
SolvableResidueRing
public SolvableResidueRing(SolvableIdeal<C> i)
The constructor creates a SolvableResidueRing object from an Ideal.- Parameters:
i- polynomial ideal.
-
SolvableResidueRing
public SolvableResidueRing(SolvableIdeal<C> i, boolean isMaximal)
The constructor creates a SolvableResidueRing object from an SolvableIdeal.- Parameters:
i- solvable polynomial ideal.isMaximal- true, if ideal is maxmal.
-
-
Method Detail
-
pairFactory
public GenSolvablePolynomialRing<C> pairFactory()
Factory for base elements.- Specified by:
pairFactoryin interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableResidue<C extends GcdRingElem<C>>>
-
valueFactory
public GenSolvablePolynomialRing<C> valueFactory()
Factory for base elements.- Specified by:
valueFactoryin interfaceValueFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableResidue<C extends GcdRingElem<C>>>
-
create
public SolvableResidue<C> create(GenPolynomial<C> n)
Create from numerator.- Specified by:
createin interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableResidue<C extends GcdRingElem<C>>>- Specified by:
createin interfaceValueFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableResidue<C extends GcdRingElem<C>>>
-
create
public SolvableResidue<C> create(GenPolynomial<C> n, GenPolynomial<C> d)
Create from numerator, denominator pair.- Specified by:
createin interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableResidue<C extends GcdRingElem<C>>>
-
isFinite
public boolean isFinite()
Is this structure finite or infinite.- Specified by:
isFinitein interfaceElemFactory<C extends GcdRingElem<C>>- Returns:
- true if this structure is finite, else false.
- See Also:
ElemFactory.isFinite()
-
copy
public SolvableResidue<C> copy(SolvableResidue<C> c)
Copy SolvableResidue element c.- Specified by:
copyin interfaceElemFactory<C extends GcdRingElem<C>>- Parameters:
c-- Returns:
- a copy of c.
-
getZERO
public SolvableResidue<C> getZERO()
Get the zero element.- Specified by:
getZEROin interfaceAbelianGroupFactory<C extends GcdRingElem<C>>- Returns:
- 0 as SolvableResidue.
-
getONE
public SolvableResidue<C> getONE()
Get the one element.- Specified by:
getONEin interfaceMonoidFactory<C extends GcdRingElem<C>>- Returns:
- 1 as SolvableResidue.
-
generators
public java.util.List<SolvableResidue<C>> generators()
Get a list of the generating elements.- Specified by:
generatorsin interfaceElemFactory<C extends GcdRingElem<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<C extends GcdRingElem<C>>- Returns:
- true if this ring is commutative, else false.
-
isAssociative
public boolean isAssociative()
Query if this ring is associative.- Specified by:
isAssociativein interfaceMonoidFactory<C extends GcdRingElem<C>>- Returns:
- true if this ring is associative, else false.
-
isField
public boolean isField()
Query if this ring is a field.- Specified by:
isFieldin interfaceRingFactory<C extends GcdRingElem<C>>- Returns:
- false.
-
characteristic
public java.math.BigInteger characteristic()
Characteristic of this ring.- Specified by:
characteristicin interfaceRingFactory<C extends GcdRingElem<C>>- Returns:
- characteristic of this ring.
-
fromInteger
public SolvableResidue<C> fromInteger(java.math.BigInteger a)
Get a SolvableResidue element from a BigInteger value.- Specified by:
fromIntegerin interfaceElemFactory<C extends GcdRingElem<C>>- Parameters:
a- BigInteger.- Returns:
- a SolvableResidue.
-
fromInteger
public SolvableResidue<C> fromInteger(long a)
Get a SolvableResidue element from a long value.- Specified by:
fromIntegerin interfaceElemFactory<C extends GcdRingElem<C>>- Parameters:
a- long.- Returns:
- a SolvableResidue.
-
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<C extends GcdRingElem<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 residue ring.- Overrides:
hashCodein classjava.lang.Object- See Also:
Object.hashCode()
-
random
public SolvableResidue<C> random(int n)
SolvableResidue random.- Specified by:
randomin interfaceElemFactory<C extends GcdRingElem<C>>- Parameters:
n- such that 0 ≤ v ≤ (2n-1).- Returns:
- a random residue element.
-
random
public SolvableResidue<C> random(int k, int l, int d, float q)
Generate a random residum polynomial.- Parameters:
k- bitsize of random coefficients.l- number of terms.d- maximal degree in each variable.q- density of nozero exponents.- Returns:
- a random residue polynomial.
-
random
public SolvableResidue<C> random(int n, java.util.Random rnd)
SolvableResidue random.- Specified by:
randomin interfaceElemFactory<C extends GcdRingElem<C>>- Parameters:
n- such that 0 ≤ v ≤ (2n-1).rnd- is a source for random bits.- Returns:
- a random residue element.
-
parse
public SolvableResidue<C> parse(java.lang.String s)
Parse SolvableResidue from String.- Specified by:
parsein interfaceElemFactory<C extends GcdRingElem<C>>- Parameters:
s- String.- Returns:
- SolvableResidue from s.
-
parse
public SolvableResidue<C> parse(java.io.Reader r)
Parse SolvableResidue from Reader.- Specified by:
parsein interfaceElemFactory<C extends GcdRingElem<C>>- Parameters:
r- Reader.- Returns:
- next SolvableResidue from r.
-
-