Class ResidueSolvablePolynomial<C extends GcdRingElem<C>>
java.lang.Object
edu.jas.poly.GenPolynomial<SolvableResidue<C>>
edu.jas.poly.GenSolvablePolynomial<SolvableResidue<C>>
edu.jas.application.ResidueSolvablePolynomial<C>
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
AbelianGroupElem<GenPolynomial<SolvableResidue<C>>>, Element<GenPolynomial<SolvableResidue<C>>>, MonoidElem<GenPolynomial<SolvableResidue<C>>>, RingElem<GenPolynomial<SolvableResidue<C>>>, Serializable, Comparable<GenPolynomial<SolvableResidue<C>>>, Iterable<Monomial<SolvableResidue<C>>>
public class ResidueSolvablePolynomial<C extends GcdRingElem<C>>
extends GenSolvablePolynomial<SolvableResidue<C>>
ResidueSolvablePolynomial generic solvable polynomials with solvable residue
coefficients implementing RingElem. n-variate ordered solvable polynomials
over solvable residue coefficients. Objects of this class are intended to be
immutable. The implementation is based on TreeMap respectively SortedMap from
exponents to coefficients by extension of GenPolynomial.
Will eventually be deprecated use QLRSolvablePolynomial.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final booleanprivate static final org.apache.logging.log4j.Loggerfinal ResidueSolvablePolynomialRing<C> The factory for the recursive solvable polynomial ring.Fields inherited from class GenPolynomial
blen, hash, val -
Constructor Summary
ConstructorsModifierConstructorDescriptionConstructor for zero ResidueSolvablePolynomial.Constructor for ResidueSolvablePolynomial.Constructor for ResidueSolvablePolynomial.Constructor for ResidueSolvablePolynomial.ResidueSolvablePolynomial(ResidueSolvablePolynomialRing<C> r, GenSolvablePolynomial<SolvableResidue<C>> S) Constructor for ResidueSolvablePolynomial.protectedResidueSolvablePolynomial(ResidueSolvablePolynomialRing<C> r, SortedMap<ExpVector, SolvableResidue<C>> v) Constructor for ResidueSolvablePolynomial. -
Method Summary
Modifier and TypeMethodDescriptioncopy()Clone this ResidueSolvablePolynomial.booleanComparison with any other object.factory()Get the corresponding element factory.inthashCode()Hash code for this polynomial.ResidueSolvablePolynomial multiplication.ResidueSolvablePolynomial left and right multiplication.multiply(SolvableResidue<C> b) ResidueSolvablePolynomial multiplication.multiply(SolvableResidue<C> b, SolvableResidue<C> c) ResidueSolvablePolynomial left and right multiplication.multiply(SolvableResidue<C> b, ExpVector e) ResidueSolvablePolynomial multiplication.multiply(SolvableResidue<C> b, ExpVector e, SolvableResidue<C> c, ExpVector f) ResidueSolvablePolynomial left and right multiplication.ResidueSolvablePolynomial multiplication.ResidueSolvablePolynomial left and right multiplication.ResidueSolvablePolynomial multiplication.ResidueSolvablePolynomial multiplication.multiplyLeft(SolvableResidue<C> b, ExpVector e) ResidueSolvablePolynomial multiplication.ResidueSolvablePolynomial multiplication.ResidueSolvablePolynomial multiplication.protected ResidueSolvablePolynomial<C> ResidueSolvablePolynomial multiplication with exponent vector.Methods inherited from class GenSolvablePolynomial
divide, evalAsRightRecursivePolynomial, isRightRecursivePolynomial, leftMonic, monic, multiply, multiply, quotientRemainder, remainder, rightDivide, rightMonic, rightQuotientRemainder, rightRecursivePolynomial, rightRemainder, scaleSubtractMultiple, scaleSubtractMultiple, scaleSubtractMultiple, subtractMultiple, subtractMultipleMethods inherited from class GenPolynomial
abs, bitLength, coefficient, coefficientIterator, coeffPrimitivePart, compareTo, contract, contractCoeff, degree, degree, degreeMin, degreeVector, deHomogenize, deltaExpVectors, deltaExpVectors, divide, divide, doAddTo, doAddTo, doAddTo, doPutToMap, doPutToMap, doRemoveFromMap, egcd, exponentIterator, extend, extendLower, extendUnivariate, gcd, getMap, hegcd, homogenize, inflate, inverse, isConstant, isHomogeneous, isONE, isUnit, isWeightHomogeneous, isZERO, iterator, leadingBaseCoefficient, leadingExpVector, leadingFacetPolynomial, leadingMonomial, leadingWeightPolynomial, leftDivideCoeff, length, map, mapOnStream, mapOnStream, maxNorm, modInverse, monicRight, multiply, negate, negateAlt, numberOfVariables, quotientRemainder, reductum, remainder, reverse, rightDivideCoeff, rightGcd, scaleSubtractMultiple, scaleSubtractMultiple, scaleSubtractMultiple, signum, spliterator, squareNorm, subtract, subtract, subtract, subtract, subtractMultiple, subtractMultiple, sum, sum, sum, sum, sumNorm, toScript, toScriptFactory, toString, toString, totalDegree, trailingBaseCoefficient, trailingExpVector, weightDegreeMethods inherited from interface MonoidElem
leftDivide, leftRemainder, power, rightDivide, rightRemainder, twosidedDivide, twosidedRemainder
-
Field Details
-
ring
The factory for the recursive solvable polynomial ring. Hides super.ring. -
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
ResidueSolvablePolynomial
Constructor for zero ResidueSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.
-
ResidueSolvablePolynomial
Constructor for ResidueSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.e- exponent.
-
ResidueSolvablePolynomial
public ResidueSolvablePolynomial(ResidueSolvablePolynomialRing<C> r, SolvableResidue<C> c, ExpVector e) Constructor for ResidueSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.c- coefficient polynomial.e- exponent.
-
ResidueSolvablePolynomial
Constructor for ResidueSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.c- coefficient polynomial.
-
ResidueSolvablePolynomial
public ResidueSolvablePolynomial(ResidueSolvablePolynomialRing<C> r, GenSolvablePolynomial<SolvableResidue<C>> S) Constructor for ResidueSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.S- solvable polynomial.
-
ResidueSolvablePolynomial
protected ResidueSolvablePolynomial(ResidueSolvablePolynomialRing<C> r, SortedMap<ExpVector, SolvableResidue<C>> v) Constructor for ResidueSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.v- the SortedMap of some other (solvable) polynomial.
-
-
Method Details
-
factory
Get the corresponding element factory.- Specified by:
factoryin interfaceElement<C extends GcdRingElem<C>>- Overrides:
factoryin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Returns:
- factory for this Element.
- See Also:
-
copy
Clone this ResidueSolvablePolynomial.- Specified by:
copyin interfaceElement<C extends GcdRingElem<C>>- Overrides:
copyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Returns:
- copy of this.
- See Also:
-
equals
Comparison with any other object.- Specified by:
equalsin interfaceElement<C extends GcdRingElem<C>>- Overrides:
equalsin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
B-- Returns:
- true if this is equal to b, else false.
- See Also:
-
hashCode
public int hashCode()Hash code for this polynomial.- Specified by:
hashCodein interfaceElement<C extends GcdRingElem<C>>- Overrides:
hashCodein classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Returns:
- the hashCode.
- See Also:
-
multiply
ResidueSolvablePolynomial multiplication.- Parameters:
Bp- ResidueSolvablePolynomial.- Returns:
- this*Bp, where * denotes solvable multiplication.
-
multiply
public ResidueSolvablePolynomial<C> multiply(ResidueSolvablePolynomial<C> S, ResidueSolvablePolynomial<C> T) ResidueSolvablePolynomial left and right multiplication. Product with two polynomials.- Parameters:
S- ResidueSolvablePolynomial.T- ResidueSolvablePolynomial.- Returns:
- S*this*T.
-
multiply
ResidueSolvablePolynomial multiplication. Product with coefficient ring element.- Overrides:
multiplyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
b- coefficient polynomial.- Returns:
- this*b, where * is coefficient multiplication.
-
multiply
ResidueSolvablePolynomial left and right multiplication. Product with coefficient ring element.- Overrides:
multiplyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
b- coefficient polynomial.c- coefficient polynomial.- Returns:
- b*this*c, where * is coefficient multiplication.
-
multiply
ResidueSolvablePolynomial multiplication. Product with exponent vector.- Overrides:
multiplyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
e- exponent.- Returns:
- this * xe, where * denotes solvable multiplication.
-
multiply
ResidueSolvablePolynomial left and right multiplication. Product with exponent vector.- Overrides:
multiplyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
e- exponent.f- exponent.- Returns:
- xe * this * xf, where * denotes solvable multiplication.
-
multiply
ResidueSolvablePolynomial multiplication. Product with ring element and exponent vector.- Overrides:
multiplyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
b- coefficient polynomial.e- exponent.- Returns:
- this * b xe, where * denotes solvable multiplication.
-
multiply
public ResidueSolvablePolynomial<C> multiply(SolvableResidue<C> b, ExpVector e, SolvableResidue<C> c, ExpVector f) ResidueSolvablePolynomial left and right multiplication. Product with ring element and exponent vector.- Overrides:
multiplyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
b- coefficient polynomial.e- exponent.c- coefficient polynomial.f- exponent.- Returns:
- b xe * this * c xf, where * denotes solvable multiplication.
-
multiplyLeft
ResidueSolvablePolynomial multiplication. Left product with ring element and exponent vector.- Overrides:
multiplyLeftin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
b- coefficient polynomial.e- exponent.- Returns:
- b xe * this, where * denotes solvable multiplication.
-
multiplyLeft
ResidueSolvablePolynomial multiplication. Left product with exponent vector.- Overrides:
multiplyLeftin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
e- exponent.- Returns:
- xe * this, where * denotes solvable multiplication.
-
multiplyLeft
ResidueSolvablePolynomial multiplication. Left product with coefficient ring element.- Overrides:
multiplyLeftin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
b- coefficient polynomial.- Returns:
- b*this, where * is coefficient multiplication.
-
multiplyLeft
ResidueSolvablePolynomial multiplication. Left product with 'monomial'.- Overrides:
multiplyLeftin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
m- 'monomial'.- Returns:
- m * this, where * denotes solvable multiplication.
-
multiply
ResidueSolvablePolynomial multiplication. Product with 'monomial'.- Overrides:
multiplyin classGenSolvablePolynomial<SolvableResidue<C extends GcdRingElem<C>>>- Parameters:
m- 'monomial'.- Returns:
- this * m, where * denotes solvable multiplication.
-
shift
ResidueSolvablePolynomial multiplication with exponent vector.- Parameters:
f- exponent vector.- Returns:
- B*f, where * is commutative multiplication.
-