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>> Serializable
public class SolvableResidueRing<C extends GcdRingElem<C>>
extends 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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final SolvableGroebnerBaseAbstract
<C> Groebner base engine.final SolvableIdeal
<C> Solvable polynomial ideal for the reduction.protected int
Indicator if this ring is a field.private static final org.apache.logging.log4j.Logger
final GenSolvablePolynomialRing
<C> Polynomial ring of the factory. -
Constructor Summary
ConstructorsConstructorDescriptionThe 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
Modifier and TypeMethodDescriptionCharacteristic of this ring.copy
(SolvableResidue<C> c) Copy SolvableResidue element c.create
(GenPolynomial<C> n) Create from numerator.create
(GenPolynomial<C> n, GenPolynomial<C> d) Create from numerator, denominator pair.boolean
Comparison with any other object.fromInteger
(long a) Get a SolvableResidue element from a long value.Get a SolvableResidue element from a BigInteger value.Get a list of the generating elements.getONE()
Get the one element.getZERO()
Get the zero element.int
hashCode()
Hash code for this residue ring.boolean
Query if this ring is associative.boolean
Query if this ring is commutative.boolean
isField()
Query if this ring is a field.boolean
isFinite()
Is this structure finite or infinite.Factory for base elements.Parse SolvableResidue from Reader.Parse SolvableResidue from String.random
(int n) SolvableResidue random.random
(int k, int l, int d, float q) Generate a random residum polynomial.SolvableResidue random.toScript()
Get a scripting compatible string representation.toString()
Get the String representation as RingFactory.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 Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
bb
Groebner base engine. -
ideal
Solvable polynomial ideal for the reduction. -
ring
Polynomial ring of the factory. Shortcut to ideal.list.ring. -
isField
protected int isFieldIndicator if this ring is a field.
-
-
Constructor Details
-
SolvableResidueRing
The constructor creates a SolvableResidueRing object from an Ideal.- Parameters:
i
- polynomial ideal.
-
SolvableResidueRing
The constructor creates a SolvableResidueRing object from an SolvableIdeal.- Parameters:
i
- solvable polynomial ideal.isMaximal
- true, if ideal is maxmal.
-
-
Method Details
-
pairFactory
Factory for base elements.- Specified by:
pairFactory
in interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,
SolvableResidue<C extends GcdRingElem<C>>>
-
valueFactory
Factory for base elements.- Specified by:
valueFactory
in interfaceValueFactory<GenPolynomial<C extends GcdRingElem<C>>,
SolvableResidue<C extends GcdRingElem<C>>>
-
create
Create from numerator.- Specified by:
create
in interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,
SolvableResidue<C extends GcdRingElem<C>>> - Specified by:
create
in interfaceValueFactory<GenPolynomial<C extends GcdRingElem<C>>,
SolvableResidue<C extends GcdRingElem<C>>>
-
create
Create from numerator, denominator pair.- Specified by:
create
in interfaceQuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,
SolvableResidue<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.
- See Also:
-
copy
Copy SolvableResidue element c.- Specified by:
copy
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
c
-- Returns:
- a copy of c.
-
getZERO
Get the zero element.- Specified by:
getZERO
in interfaceAbelianGroupFactory<C extends GcdRingElem<C>>
- Returns:
- 0 as SolvableResidue.
-
getONE
Get the one element.- Specified by:
getONE
in interfaceMonoidFactory<C extends GcdRingElem<C>>
- Returns:
- 1 as SolvableResidue.
-
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.
- See Also:
-
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:
- false.
-
characteristic
Characteristic of this ring.- Specified by:
characteristic
in interfaceRingFactory<C extends GcdRingElem<C>>
- Returns:
- characteristic of this ring.
-
fromInteger
Get a SolvableResidue element from a BigInteger value.- Specified by:
fromInteger
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
a
- BigInteger.- Returns:
- a SolvableResidue.
-
fromInteger
Get a SolvableResidue element from a long value.- Specified by:
fromInteger
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
a
- long.- Returns:
- a SolvableResidue.
-
toString
Get the String representation as RingFactory. -
toScript
Get a scripting compatible string representation.- Specified by:
toScript
in interfaceElemFactory<C extends GcdRingElem<C>>
- Returns:
- script compatible representation for this ElemFactory.
- See Also:
-
equals
Comparison with any other object. -
hashCode
public int hashCode()Hash code for this residue ring. -
random
SolvableResidue random.- Specified by:
random
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
n
- such that 0 ≤ v ≤ (2n-1).- Returns:
- a random residue element.
-
random
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
SolvableResidue 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 residue element.
-
parse
Parse SolvableResidue from String.- Specified by:
parse
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
s
- String.- Returns:
- SolvableResidue from s.
-
parse
Parse SolvableResidue from Reader.- Specified by:
parse
in interfaceElemFactory<C extends GcdRingElem<C>>
- Parameters:
r
- Reader.- Returns:
- next SolvableResidue from r.
-