public class QuotientRing<C extends GcdRingElem<C>> extends java.lang.Object implements RingFactory<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.
|
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.
|
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 residum 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.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.Object
Object.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.Object
Object.equals(java.lang.Object)
public int hashCode()
hashCode
in class java.lang.Object
Object.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()