public class QuotientRing<C extends GcdRingElem<C>> extends java.lang.Object implements RingFactory<Quotient<C>>, QuotPairFactory<GenPolynomial<C>,Quotient<C>>
| Modifier and Type | Field and Description |
|---|---|
GreatestCommonDivisor<C> |
engine
GCD engine of the factory.
|
GenPolynomialRing<C> |
ring
Polynomial ring of the factory.
|
boolean |
ufdGCD
Use GCD of package edu.jas.ufd.
|
| Constructor and Description |
|---|
QuotientRing(GenPolynomialRing<C> r)
The constructor creates a QuotientRing object from a GenPolynomialRing.
|
QuotientRing(GenPolynomialRing<C> r,
boolean ufdGCD)
The constructor creates a QuotientRing object from a GenPolynomialRing.
|
| Modifier and Type | Method and Description |
|---|---|
java.math.BigInteger |
characteristic()
Characteristic of this ring.
|
Quotient<C> |
copy(Quotient<C> c)
Copy Quotient element c.
|
Quotient<C> |
create(GenPolynomial<C> n)
Create from numerator.
|
Quotient<C> |
create(GenPolynomial<C> n,
GenPolynomial<C> d)
Create from numerator, denominator pair.
|
protected GenPolynomial<C> |
divide(GenPolynomial<C> n,
GenPolynomial<C> d)
Divide.
|
boolean |
equals(java.lang.Object b)
Comparison with any other object.
|
long |
extensionDegree()
Degree of extension field.
|
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.
|
protected GenPolynomial<C> |
gcd(GenPolynomial<C> n,
GenPolynomial<C> d)
Greatest common divisor.
|
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.
|
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.
|
GenPolynomialRing<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 k,
int l,
int d,
float q)
Generate a random quotient polynomial.
|
Quotient<C> |
random(int n,
java.util.Random rnd)
Quotient random.
|
java.lang.String |
toScript()
Get a scripting compatible string representation.
|
java.lang.String |
toString()
Get the String representation as RingFactory.
|
public final GenPolynomialRing<C extends GcdRingElem<C>> ring
public final GreatestCommonDivisor<C extends GcdRingElem<C>> engine
public final boolean ufdGCD
public QuotientRing(GenPolynomialRing<C> r)
r - polynomial ring.public QuotientRing(GenPolynomialRing<C> r, boolean ufdGCD)
r - polynomial ring.ufdGCD - flag, if syzygy or gcd based algorithm used for engine.public GenPolynomialRing<C> pairFactory()
pairFactory in interface QuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,Quotient<C extends GcdRingElem<C>>>public Quotient<C> create(GenPolynomial<C> n)
create in interface QuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,Quotient<C extends GcdRingElem<C>>>public Quotient<C> create(GenPolynomial<C> n, GenPolynomial<C> d)
create in interface QuotPairFactory<GenPolynomial<C extends GcdRingElem<C>>,Quotient<C extends GcdRingElem<C>>>protected GenPolynomial<C> divide(GenPolynomial<C> n, GenPolynomial<C> d)
n - first polynomial.d - second polynomial.protected GenPolynomial<C> gcd(GenPolynomial<C> n, GenPolynomial<C> d)
n - first polynomial.d - second polynomial.public boolean isFinite()
isFinite in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>ElemFactory.isFinite()public Quotient<C> copy(Quotient<C> c)
copy in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>c - public Quotient<C> getZERO()
getZERO in interface AbelianGroupFactory<Quotient<C extends GcdRingElem<C>>>public Quotient<C> getONE()
getONE in interface MonoidFactory<Quotient<C extends GcdRingElem<C>>>public java.util.List<Quotient<C>> generators()
generators in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>ElemFactory.generators()public boolean isCommutative()
isCommutative in interface MonoidFactory<Quotient<C extends GcdRingElem<C>>>public boolean isAssociative()
isAssociative in interface MonoidFactory<Quotient<C extends GcdRingElem<C>>>public boolean isField()
isField in interface RingFactory<Quotient<C extends GcdRingElem<C>>>public java.math.BigInteger characteristic()
characteristic in interface RingFactory<Quotient<C extends GcdRingElem<C>>>public Quotient<C> fromInteger(java.math.BigInteger a)
fromInteger in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>a - BigInteger.public Quotient<C> fromInteger(long a)
fromInteger in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>a - long.public java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public java.lang.String toScript()
toScript in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>ElemFactory.toScript()public boolean equals(java.lang.Object b)
equals in class java.lang.ObjectObject.equals(java.lang.Object)public int hashCode()
hashCode in class java.lang.ObjectObject.hashCode()public Quotient<C> random(int n)
random in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>n - such that 0 ≤ v ≤ (2n-1).public Quotient<C> random(int k, int l, int d, float q)
k - bitsize of random coefficients.l - number of terms.d - maximal degree in each variable.q - density of nozero exponents.public Quotient<C> random(int n, java.util.Random rnd)
random in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>n - such that 0 ≤ v ≤ (2n-1).rnd - is a source for random bits.public Quotient<C> parse(java.lang.String s)
parse in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>s - String.public Quotient<C> parse(java.io.Reader r)
parse in interface ElemFactory<Quotient<C extends GcdRingElem<C>>>r - Reader.public long extensionDegree()