public class QuotientRing<Term extends AMonomial<Term>,Poly extends AMultivariatePolynomial<Term,Poly>> extends ARing<Poly> implements IPolynomialRing<Poly>
| Modifier and Type | Field and Description |
|---|---|
MultivariateRing<Poly> |
baseRing
the base ring
|
Ideal<Term,Poly> |
ideal
the ideal
|
| Constructor and Description |
|---|
QuotientRing(MultivariateRing<Poly> baseRing,
Ideal<Term,Poly> ideal) |
| Modifier and Type | Method and Description |
|---|---|
Poly |
add(Poly a,
Poly b)
Add two elements
|
BigInteger |
cardinality()
Returns the number of elements in this ring (cardinality) or null if ring is infinite
|
BigInteger |
characteristic()
Returns characteristic of this ring
|
int |
compare(Poly o1,
Poly o2) |
Poly |
copy(Poly element)
Makes a deep copy of the specified element (for immutable instances the same reference returned).
|
Poly[] |
divideAndRemainder(Poly dividend,
Poly divider)
Returns quotient and remainder of
dividend / divider |
Poly |
factory()
Factory polynomial
|
Poly |
getOne()
Returns unit element of this ring (one)
|
Poly |
getZero()
Returns zero element of this ring
|
boolean |
isEuclideanRing()
Returns whether this ring is a Euclidean ring
|
boolean |
isField()
Returns whether this ring is a field
|
boolean |
isOne(Poly element)
Tests whether specified element is one (exactly)
|
boolean |
isUnit(Poly element)
Tests whether specified element is a ring unit
|
boolean |
isZero(Poly element)
Tests whether specified element is zero
|
Iterator<Poly> |
iterator()
Returns iterator over ring elements (for finite rings, otherwise throws exception)
|
Poly |
mod(Poly el) |
Poly |
multiply(Poly a,
Poly b)
Multiplies two elements
|
Poly |
negate(Poly element)
Negates the given element
|
Poly |
normalForm(Poly el) |
int |
nVariables()
Number of polynomial variables
|
Poly |
parse(String string)
Parse string into ring element
|
Poly |
randomElement(org.apache.commons.math3.random.RandomGenerator rnd)
Returns a random element from this ring
|
Poly |
randomElementTree(org.apache.commons.math3.random.RandomGenerator rnd)
If this ring has a complicated nested structure, this method guaranties that the resulting random element will
reflect ring complicated structure, i.e.
|
Poly |
reciprocal(Poly element)
Gives the inverse element
element ^ (-1) |
Poly |
subtract(Poly a,
Poly b)
Subtracts
b from a |
String |
toString() |
String |
toString(IStringifier<Poly> stringifier)
convert this to string with the use of stringifier
|
Poly |
valueOf(long val)
Returns ring element associated with specified
long |
Poly |
valueOf(Poly val)
Converts a value from other ring to this ring.
|
Poly |
valueOfBigInteger(BigInteger val)
Returns ring element associated with specified integer
|
Poly |
variable(int variable)
Creates poly representing a single specified variable
|
isPerfectPower, perfectPowerBase, perfectPowerExponentclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitmkCoder, parse, signumabs, add, addMutable, createArray, createArray, createArray, createArray, createArray2d, createArray2d, createZeroesArray, createZeroesArray2d, decrement, divideExact, divideExactMutable, divideOrNull, extendedGCD, factor, factorial, factorSquareFree, fillZeros, firstBezoutCoefficient, gcd, gcd, gcd, getNegativeOne, increment, isFinite, isFiniteField, isMinusOne, isPerfectPower, isUnitOrZero, lcm, lcm, lcm, max, min, multiply, multiply, multiply, multiplyMutable, negateMutable, perfectPowerBase, perfectPowerExponent, pow, pow, pow, quotient, randomElement, randomElementTree, randomNonZeroElement, remainder, setToValueOf, subtractMutable, valueOfcomparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongforEach, spliteratorpublic final MultivariateRing<Poly extends AMultivariatePolynomial<Term,Poly>> baseRing
public QuotientRing(MultivariateRing<Poly> baseRing, Ideal<Term,Poly> ideal)
public int nVariables()
IPolynomialRingnVariables in interface IPolynomialRing<Poly extends AMultivariatePolynomial<Term,Poly>>public Poly factory()
IPolynomialRingfactory in interface IPolynomialRing<Poly extends AMultivariatePolynomial<Term,Poly>>public Poly variable(int variable)
IPolynomialRingvariable in interface IPolynomialRing<Poly extends AMultivariatePolynomial<Term,Poly>>public boolean isField()
Ringpublic boolean isEuclideanRing()
RingisEuclideanRing in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>public BigInteger cardinality()
Ringcardinality in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>public BigInteger characteristic()
Ringcharacteristic in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>public Poly subtract(Poly a, Poly b)
Ringb from apublic Poly multiply(Poly a, Poly b)
Ringpublic Poly negate(Poly element)
Ringpublic Poly copy(Poly element)
Ringpublic Poly[] divideAndRemainder(Poly dividend, Poly divider)
Ringdividend / dividerdivideAndRemainder in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>dividend - the dividenddivider - the divider{quotient, remainder}public Poly reciprocal(Poly element)
Ringelement ^ (-1) reciprocal in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>element - the elementelement ^ (-1)public Poly getZero()
Ringpublic Poly getOne()
Ringpublic boolean isZero(Poly element)
Ringpublic boolean isOne(Poly element)
RingisOne in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>element - the ring elementRing.isUnit(Object)public boolean isUnit(Poly element)
RingisUnit in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>element - the ring elementRing.isOne(Object)public Poly valueOf(long val)
Ringlongpublic Poly valueOfBigInteger(BigInteger val)
RingvalueOfBigInteger in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>val - integerpublic Poly valueOf(Poly val)
Ringval
== valueOf(val) is possible).public Iterator<Poly> iterator()
Ringpublic int compare(Poly o1, Poly o2)
compare in interface Comparator<Poly extends AMultivariatePolynomial<Term,Poly>>public Poly parse(String string)
Ringpublic Poly randomElement(org.apache.commons.math3.random.RandomGenerator rnd)
RingrandomElement in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>rnd - the source of randomnesspublic Poly randomElementTree(org.apache.commons.math3.random.RandomGenerator rnd)
RingrandomElementTree in interface Ring<Poly extends AMultivariatePolynomial<Term,Poly>>public String toString(IStringifier<Poly> stringifier)
StringifiabletoString in interface Stringifiable<Poly extends AMultivariatePolynomial<Term,Poly>>Copyright © 2022. All rights reserved.