Package edu.jas.application
Class SolvableLocalResidueRing<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.application.SolvableLocalResidueRing<C>
-
- All Implemented Interfaces:
AbelianGroupFactory<SolvableLocalResidue<C>>
,ElemFactory<SolvableLocalResidue<C>>
,MonoidFactory<SolvableLocalResidue<C>>
,QuotPairFactory<GenPolynomial<C>,SolvableLocalResidue<C>>
,RingFactory<SolvableLocalResidue<C>>
,java.io.Serializable
public class SolvableLocalResidueRing<C extends GcdRingElem<C>> extends java.lang.Object implements RingFactory<SolvableLocalResidue<C>>, QuotPairFactory<GenPolynomial<C>,SolvableLocalResidue<C>>
SolvableLocalResidue ring factory for SolvableLocalResidue based on GenSolvablePolynomial with GcdRingElem interface. Objects of this class are immutable. It represents the "classical quotient ring modulo an ideal".- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected SolvableGroebnerBaseAbstract<C>
bb
Groebner base engine.SolvableSyzygyAbstract<C>
engine
Syzygy engine of the factory.GreatestCommonDivisorAbstract<C>
fdengine
FD engine of the factory.SolvableIdeal<C>
ideal
Solvable polynomial ideal for the reduction.protected int
isField
Indicator if this ring is a field.GenSolvablePolynomialRing<C>
ring
Solvable polynomial ring of the factory.
-
Constructor Summary
Constructors Constructor Description SolvableLocalResidueRing(SolvableIdeal<C> i)
The constructor creates a SolvableLocalResidueRing object from a SolvableIdeal.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.math.BigInteger
characteristic()
Characteristic of this ring.SolvableLocalResidue<C>
copy(SolvableLocalResidue<C> c)
Copy SolvableLocalResidue element c.SolvableLocalResidue<C>
create(GenPolynomial<C> n)
Create from numerator.SolvableLocalResidue<C>
create(GenPolynomial<C> n, GenPolynomial<C> d)
Create from numerator, denominator pair.boolean
equals(java.lang.Object b)
Comparison with any other object.SolvableLocalResidue<C>
fromInteger(long a)
Get a SolvableLocalResidue element from a long value.SolvableLocalResidue<C>
fromInteger(java.math.BigInteger a)
Get a SolvableLocalResidue element from a BigInteger value.java.util.List<SolvableLocalResidue<C>>
generators()
Get a list of the generating elements.SolvableLocalResidue<C>
getONE()
Get the one element.SolvableLocalResidue<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.GenSolvablePolynomialRing<C>
pairFactory()
Factory for base elements.SolvableLocalResidue<C>
parse(java.io.Reader r)
Parse SolvableLocalResidue from Reader.SolvableLocalResidue<C>
parse(java.lang.String s)
Parse SolvableLocalResidue from String.SolvableLocalResidue<C>
random(int n)
SolvableLocalResidue random.SolvableLocalResidue<C>
random(int k, int l, int d, float q)
Generate a random quotient.SolvableLocalResidue<C>
random(int n, java.util.Random rnd)
SolvableLocalResidue random.java.lang.String
toScript()
Get a scripting compatible string representation.java.lang.String
toString()
Get the String representation as RingFactory.-
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
-
ring
public final GenSolvablePolynomialRing<C extends GcdRingElem<C>> ring
Solvable polynomial ring of the factory.
-
ideal
public final SolvableIdeal<C extends GcdRingElem<C>> ideal
Solvable polynomial ideal for the reduction.
-
engine
public final SolvableSyzygyAbstract<C extends GcdRingElem<C>> engine
Syzygy engine of the factory.
-
fdengine
public final GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> fdengine
FD engine of the factory.
-
bb
protected final SolvableGroebnerBaseAbstract<C extends GcdRingElem<C>> bb
Groebner base engine.
-
isField
protected int isField
Indicator if this ring is a field.
-
-
Constructor Detail
-
SolvableLocalResidueRing
public SolvableLocalResidueRing(SolvableIdeal<C> i)
The constructor creates a SolvableLocalResidueRing object from a SolvableIdeal.- Parameters:
i
- ideal in solvable polynomial ring.
-
-
Method Detail
-
pairFactory
public GenSolvablePolynomialRing<C> pairFactory()
Factory for base elements.- Specified by:
pairFactory
in interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableLocalResidue<C extends GcdRingElem<C>>>
-
create
public SolvableLocalResidue<C> create(GenPolynomial<C> n)
Create from numerator.- Specified by:
create
in interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableLocalResidue<C extends GcdRingElem<C>>>
-
create
public SolvableLocalResidue<C> create(GenPolynomial<C> n, GenPolynomial<C> d)
Create from numerator, denominator pair.- Specified by:
create
in interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,SolvableLocalResidue<C extends GcdRingElem<C>>>
-
isFinite
public boolean isFinite()
Is this structure finite or infinite.- Specified by:
isFinite
in interfaceElemFactory<C extends GcdRingElem<C>>
- Returns:
- true if this structure is finite, else false.
-
copy
public SolvableLocalResidue<C> copy(SolvableLocalResidue<C> c)
Copy SolvableLocalResidue element c.- Specified by:
copy
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
c
-- Returns:
- a copy of c.
-
getZERO
public SolvableLocalResidue<C> getZERO()
Get the zero element.- Specified by:
getZERO
in interfaceAbelianGroupFactory<C extends GcdRingElem<C>>
- Returns:
- 0 as SolvableLocalResidue.
-
getONE
public SolvableLocalResidue<C> getONE()
Get the one element.- Specified by:
getONE
in interfaceMonoidFactory<C extends GcdRingElem<C>>
- Returns:
- 1 as SolvableLocalResidue.
-
generators
public java.util.List<SolvableLocalResidue<C>> generators()
Get a list of the generating elements.- Specified by:
generators
in interfaceElemFactory<C extends GcdRingElem<C>>
- Returns:
- list of generators for the algebraic structure.
-
isCommutative
public boolean isCommutative()
Query if this ring is commutative.- Specified by:
isCommutative
in 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:
isAssociative
in 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:
isField
in interfaceRingFactory<C extends GcdRingElem<C>>
- Returns:
- true.
-
characteristic
public java.math.BigInteger characteristic()
Characteristic of this ring.- Specified by:
characteristic
in interfaceRingFactory<C extends GcdRingElem<C>>
- Returns:
- characteristic of this ring.
-
fromInteger
public SolvableLocalResidue<C> fromInteger(java.math.BigInteger a)
Get a SolvableLocalResidue element from a BigInteger value.- Specified by:
fromInteger
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
a
- BigInteger.- Returns:
- a SolvableLocalResidue.
-
fromInteger
public SolvableLocalResidue<C> fromInteger(long a)
Get a SolvableLocalResidue element from a long value.- Specified by:
fromInteger
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
a
- long.- Returns:
- a SolvableLocalResidue.
-
toString
public java.lang.String toString()
Get the String representation as RingFactory.- Overrides:
toString
in classjava.lang.Object
-
toScript
public java.lang.String toScript()
Get a scripting compatible string representation.- Specified by:
toScript
in interfaceElemFactory<C extends GcdRingElem<C>>
- Returns:
- script compatible representation for this ElemFactory.
-
equals
public boolean equals(java.lang.Object b)
Comparison with any other object.- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
Hash code for this quotient ring.- Overrides:
hashCode
in classjava.lang.Object
-
random
public SolvableLocalResidue<C> random(int n)
SolvableLocalResidue random.- Specified by:
random
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
n
- such that 0 ≤ v ≤ (2n-1).- Returns:
- a random quotient element.
-
random
public SolvableLocalResidue<C> random(int k, int l, int d, float q)
Generate a random quotient.- Parameters:
k
- bitsize of random coefficients.l
- number of terms.d
- maximal degree in each variable.q
- density of nozero exponents.- Returns:
- a random quotient.
-
random
public SolvableLocalResidue<C> random(int n, java.util.Random rnd)
SolvableLocalResidue random.- Specified by:
random
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
n
- such that 0 ≤ v ≤ (2n-1).rnd
- is a source for random bits.- Returns:
- a random quotient element.
-
parse
public SolvableLocalResidue<C> parse(java.lang.String s)
Parse SolvableLocalResidue from String. Syntax: "{ polynomial | polynomial }" or "{ polynomial }" or " polynomial | polynomial " or " polynomial "- Specified by:
parse
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
s
- String.- Returns:
- SolvableLocalResidue from s.
-
parse
public SolvableLocalResidue<C> parse(java.io.Reader r)
Parse SolvableLocalResidue from Reader.- Specified by:
parse
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
r
- Reader.- Returns:
- next SolvableLocalResidue from r.
-
-