edu.jas.poly
Class GenSolvablePolynomial<C extends RingElem<C>>
- java.lang.Object
-
- edu.jas.poly.GenPolynomial<C>
-
- edu.jas.poly.GenSolvablePolynomial<C>
-
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
- AbelianGroupElem<GenPolynomial<C>>, Element<GenPolynomial<C>>, MonoidElem<GenPolynomial<C>>, RingElem<GenPolynomial<C>>, java.io.Serializable, java.lang.Comparable<GenPolynomial<C>>, java.lang.Iterable<Monomial<C>>
- Direct Known Subclasses:
- LocalSolvablePolynomial, QLRSolvablePolynomial, QuotSolvablePolynomial, RecSolvablePolynomial, ResidueSolvablePolynomial
public class GenSolvablePolynomial<C extends RingElem<C>> extends GenPolynomial<C>
GenSolvablePolynomial generic solvable polynomials implementing RingElem. n-variate ordered solvable polynomials over C. Objects of this class are intended to be immutable. The implementation is based on TreeMap respectively SortedMap from exponents to coefficients by extension of GenPolybomial. Only the coefficients are modeled with generic types, the exponents are fixed to ExpVector with long entries (this will eventually be changed in the future).- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description GenSolvablePolynomialRing<C>ringThe factory for the solvable polynomial ring.
-
Constructor Summary
Constructors Constructor and Description GenSolvablePolynomial(GenSolvablePolynomialRing<C> r)Constructor for zero GenSolvablePolynomial.GenSolvablePolynomial(GenSolvablePolynomialRing<C> r, C c)Constructor for GenSolvablePolynomial.GenSolvablePolynomial(GenSolvablePolynomialRing<C> r, C c, ExpVector e)Constructor for GenSolvablePolynomial.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description GenSolvablePolynomial<C>copy()Clone this GenSolvablePolynomial.booleanequals(java.lang.Object B)Comparison with any other object.GenSolvablePolynomialRing<C>factory()Get the corresponding element factory.GenSolvablePolynomial<C>monic()GenSolvablePolynomial monic, i.e.GenSolvablePolynomial<C>multiply(C b)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiply(C b, C c)GenSolvablePolynomial left and right multiplication.GenSolvablePolynomial<C>multiply(C b, ExpVector e)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiply(C b, ExpVector e, C c, ExpVector f)GenSolvablePolynomial left and right multiplication.GenSolvablePolynomial<C>multiply(ExpVector e)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiply(ExpVector e, ExpVector f)GenSolvablePolynomial left and right multiplication.GenSolvablePolynomial<C>multiply(GenSolvablePolynomial<C> Bp)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiply(GenSolvablePolynomial<C> S, GenSolvablePolynomial<C> T)GenSolvablePolynomial left and right multiplication.GenSolvablePolynomial<C>multiply(java.util.Map.Entry<ExpVector,C> m)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiplyLeft(C b)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiplyLeft(C b, ExpVector e)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiplyLeft(ExpVector e)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>multiplyLeft(java.util.Map.Entry<ExpVector,C> m)GenSolvablePolynomial multiplication.GenSolvablePolynomial<C>[]quotientRemainder(GenSolvablePolynomial<C> S)GenSolvablePolynomial left division with remainder.-
Methods inherited from class edu.jas.poly.GenPolynomial
abs, coefficient, coefficientIterator, compareTo, contract, contractCoeff, degree, degree, degreeVector, deHomogenize, divide, divide, divideAndRemainder, doPutToMap, doPutToMap, doRemoveFromMap, egcd, exponentIterator, extend, extendLower, extendUnivariate, gcd, getMap, hashCode, hegcd, homogenize, inverse, isConstant, isHomogeneous, isONE, isUnit, isZERO, iterator, leadingBaseCoefficient, leadingExpVector, leadingMonomial, length, map, maxNorm, modInverse, multiply, negate, numberOfVariables, quotientRemainder, reductum, remainder, reverse, scaleSubtractMultiple, scaleSubtractMultiple, signum, subtract, subtract, subtract, subtractMultiple, subtractMultiple, sum, sum, sum, sumNorm, toScript, toScriptFactory, toString, toString, totalDegree, trailingBaseCoefficient, trailingExpVector
-
-
-
-
Field Detail
-
ring
public final GenSolvablePolynomialRing<C extends RingElem<C>> ring
The factory for the solvable polynomial ring. Hides super.ring.
-
-
Constructor Detail
-
GenSolvablePolynomial
public GenSolvablePolynomial(GenSolvablePolynomialRing<C> r)
Constructor for zero GenSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.
-
GenSolvablePolynomial
public GenSolvablePolynomial(GenSolvablePolynomialRing<C> r, C c, ExpVector e)
Constructor for GenSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.c- coefficient.e- exponent.
-
GenSolvablePolynomial
public GenSolvablePolynomial(GenSolvablePolynomialRing<C> r, C c)
Constructor for GenSolvablePolynomial.- Parameters:
r- solvable polynomial ring factory.c- coefficient.
-
-
Method Detail
-
factory
public GenSolvablePolynomialRing<C> factory()
Get the corresponding element factory.- Specified by:
factoryin interfaceElement<GenPolynomial<C extends RingElem<C>>>- Overrides:
factoryin classGenPolynomial<C extends RingElem<C>>- Returns:
- factory for this Element.
- See Also:
Element.factory()
-
copy
public GenSolvablePolynomial<C> copy()
Clone this GenSolvablePolynomial.
-
equals
public boolean equals(java.lang.Object B)
Comparison with any other object.
-
multiply
public GenSolvablePolynomial<C> multiply(GenSolvablePolynomial<C> Bp)
GenSolvablePolynomial multiplication.- Parameters:
Bp- GenSolvablePolynomial.- Returns:
- this*Bp, where * denotes solvable multiplication.
-
multiply
public GenSolvablePolynomial<C> multiply(GenSolvablePolynomial<C> S, GenSolvablePolynomial<C> T)
GenSolvablePolynomial left and right multiplication. Product with two polynomials.- Parameters:
S- GenSolvablePolynomial.T- GenSolvablePolynomial.- Returns:
- S*this*T.
-
multiply
public GenSolvablePolynomial<C> multiply(C b)
GenSolvablePolynomial multiplication. Product with coefficient ring element.- Overrides:
multiplyin classGenPolynomial<C extends RingElem<C>>- Parameters:
b- coefficient.- Returns:
- this*b, where * is coefficient multiplication.
-
multiply
public GenSolvablePolynomial<C> multiply(C b, C c)
GenSolvablePolynomial left and right multiplication. Product with coefficient ring element.- Parameters:
b- coefficient.c- coefficient.- Returns:
- b*this*c, where * is coefficient multiplication.
-
multiply
public GenSolvablePolynomial<C> multiply(ExpVector e)
GenSolvablePolynomial multiplication. Product with exponent vector.- Overrides:
multiplyin classGenPolynomial<C extends RingElem<C>>- Parameters:
e- exponent.- Returns:
- this * xe, where * denotes solvable multiplication.
-
multiply
public GenSolvablePolynomial<C> multiply(ExpVector e, ExpVector f)
GenSolvablePolynomial left and right multiplication. Product with exponent vector.- Parameters:
e- exponent.f- exponent.- Returns:
- xe * this * xf, where * denotes solvable multiplication.
-
multiply
public GenSolvablePolynomial<C> multiply(C b, ExpVector e)
GenSolvablePolynomial multiplication. Product with ring element and exponent vector.- Overrides:
multiplyin classGenPolynomial<C extends RingElem<C>>- Parameters:
b- coefficient.e- exponent.- Returns:
- this * b xe, where * denotes solvable multiplication.
-
multiply
public GenSolvablePolynomial<C> multiply(C b, ExpVector e, C c, ExpVector f)
GenSolvablePolynomial left and right multiplication. Product with ring element and exponent vector.- Parameters:
b- coefficient.e- exponent.c- coefficient.f- exponent.- Returns:
- b xe * this * c xf, where * denotes solvable multiplication.
-
multiplyLeft
public GenSolvablePolynomial<C> multiplyLeft(C b, ExpVector e)
GenSolvablePolynomial multiplication. Left product with ring element and exponent vector.- Parameters:
b- coefficient.e- exponent.- Returns:
- b xe * this, where * denotes solvable multiplication.
-
multiplyLeft
public GenSolvablePolynomial<C> multiplyLeft(ExpVector e)
GenSolvablePolynomial multiplication. Left product with exponent vector.- Parameters:
e- exponent.- Returns:
- xe * this, where * denotes solvable multiplication.
-
multiplyLeft
public GenSolvablePolynomial<C> multiplyLeft(C b)
GenSolvablePolynomial multiplication. Left product with coefficient ring element.- Parameters:
b- coefficient.- Returns:
- b*this, where * is coefficient multiplication.
-
multiplyLeft
public GenSolvablePolynomial<C> multiplyLeft(java.util.Map.Entry<ExpVector,C> m)
GenSolvablePolynomial multiplication. Left product with 'monomial'.- Parameters:
m- 'monomial'.- Returns:
- m * this, where * denotes solvable multiplication.
-
multiply
public GenSolvablePolynomial<C> multiply(java.util.Map.Entry<ExpVector,C> m)
GenSolvablePolynomial multiplication. Product with 'monomial'.- Overrides:
multiplyin classGenPolynomial<C extends RingElem<C>>- Parameters:
m- 'monomial'.- Returns:
- this * m, where * denotes solvable multiplication.
-
monic
public GenSolvablePolynomial<C> monic()
GenSolvablePolynomial monic, i.e. leadingCoefficient == 1. If leadingCoefficient is not invertible returns this unmodified.- Overrides:
monicin classGenPolynomial<C extends RingElem<C>>- Returns:
- monic(this).
-
quotientRemainder
public GenSolvablePolynomial<C>[] quotientRemainder(GenSolvablePolynomial<C> S)
GenSolvablePolynomial left division with remainder. Fails, if exact division by leading base coefficient is not possible. Meaningful only for univariate polynomials over fields, but works in any case.- Parameters:
S- nonzero GenSolvablePolynomial with invertible leading coefficient.- Returns:
- [ quotient , remainder ] with this = quotient * S + remainder and deg(remainder) < deg(S) or remiander = 0.
- See Also:
PolyUtil.baseSparsePseudoRemainder(edu.jas.poly.GenPolynomial,edu.jas.poly.GenPolynomial).
-
-
DMelt 3.0 © DataMelt by jWork.ORG