Îõ³h*ù…/      !"#$%&'()*+,-.0.2.1.0#Multivariate polynomials on a ring.(c) Stéphane Laurent, 2023GPL-3laurent_step@outlook.fr Safe-Inferred 3ÂÃÄÅÆÝ =/hsprayappend trailing zeros0hspray,append trailing zeros to get the same lengthhsprayAddition of two sprayshspraySubstraction of two sprayshsprayMultiply two sprays hsprayPower of a spray hsprayScale spray by a scalar hsprayScale spray by an integer1hspraydrop trailing zeros2hspray,drop trailing zeros in the powers of a spray3hspray%simplify powers and remove zero terms4hsprayaddition of two sprays5hsprayopposite spray6hsprayscale a spray by a scalar7hsprayderivative of a monomial hsprayDerivative of a spray8hspraymultiply two monomials9hspraymultiply two sprays hspray-Spray corresponding to the basic monomial x_nhspray Unit sprayhsprayThe null sprayhsprayConstant sprayhspray%Get coefficient of a term of a spray :hspraynumber of variables in a spray;hsprayevaluates a monomialhsprayEvaluate a spray<hsprayspray from monomial=hspray'substitute some variables in a monomialhspray$Substitute some variables in a sprayhsprayÎConvert a spray with rational coefficients to a spray with double coefficientshspray*Compose a spray with a change of variableshspray!Create a spray from list of termshspray Permute the variables of a sprayhspraySwap two variables of a spray>hspray(prettyPowers "x" [0, 2, 1] = x^(0, 2, 1)hsprayPretty form of a spray?hspray"prettyPowers' [0, 2, 1] = "x2^2x3"hspray9Pretty form of a spray, with monomials showed as "x1x3^2"@hspray!prettyPowersXYZ [1, 2, 1] = XY^2Zhspray5Pretty form of a spray having at more three variableshsprayTerms of a sprayhspray Spray as listhspray*Bombieri spray (for internal usage in the  scubature library)Ahsprayindex of the maximum of a listhsprayLeading term of a spray Bhspray+whether a monomial divides another monomialChspray:quotient of monomial Q by monomial p, assuming P divides Q hsprayïRemainder of the division of a spray by a list of divisors, using the lexicographic ordering of the monomialsDhsprayslight modification of   to speed up groebner00Ehspray+groebner basis, not minimal and not reducedFhspray'groebner basis, minimal but not reducedGhsprayreduce a Groebner basis!hspray4Groebner basis (always minimal and possibly reduced)Hhspray.generate all permutations of a binary sequence"hsprayElementary symmetric polynomial#hspray)Whether a spray is a symmetric polynomial$hspray–Whether a spray can be written as a polynomial of a given list of sprays; the sprays in the list must belong to the same polynomial ring as the spray%hspray"Resultant of two univariate sprays&hspray&Subresultants of two univariate sprays'hsprayResultant of two sprays(hspraySubresultants of two sprays hspray(index of the variable of differentiationhspray the sprayhspray6function mapping a coefficient to a string, typically Ihspray(a string denoting the variable, e.g. "x"hspray the spray!hspraylist of sprays hspray#whether to return the reduced basis"hspraynumber of variableshsprayindex'hspray×indicator of the variable with respect to which the resultant is desired (e.g. 1 for x)(hspray×indicator of the variable with respect to which the resultant is desired (e.g. 1 for x))     !"#$'%(&)     !"#$'%(&667 8 7 7Ê      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMÎ%hspray-0.2.1.0-3OdnHjq3SNKERRl2dVi8ijMath.Algebra.HsprayhsprayMonomialSprayPowers exponents nvariables^+^^-^^*^^**^*^.^ derivSpraylone unitSpray zeroSpray constantSpraygetCoefficient evalSpraysubstituteSprayfromRationalSpray composeSprayfromListpermuteVariables swapVariables prettySpray prettySpray'prettySprayXYZ sprayTermstoList bombieriSpray leadingTerm sprayDivisiongroebner esPolynomialisSymmetricSprayisPolynomialOf resultant1subresultants1 resultant subresultants$fHashablePowers $fEqPowers $fCHashMap $fCaHashMap $fCHashMap0 $fShowPowers growSequence harmonizesimplifyPowers simplifySpray cleanSpray addSprays negateSpray scaleSpray derivMonomial multMonomial multSpraysnumberOfVariables evalMonomial fromMonomialsubstituteMonomial prettyPowers prettyPowers'prettyPowersXYZmaxIndexdividesquotientsprayDivision' groebner00 groebner0reduceGroebnerBasispermutationsBinarySequencebaseGHC.Showshow