Multivariate power seriesThe PowerSeries package implements multivariate power series over the algebraic closure of the field of the rational numbers.LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=Creating and accessing power seriesPowerSeries is a module which takes an ordered list of the variables. Below, we define multivariate power series in the variables X and Y, for X > Y.JSFHQyY+SSNQU0c2Ii1JLFBvd2VyU2VyaWVzR0YlNiM3JEkiWEdGJUkiWUdGJSEiIi1JJXdpdGhHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHRiU2I0YkIiIiprint(); # input placeholderPowerSeries form a ring (thus have a zero and a one) of which Polynomials in the same variables are a subring. The calculations below show how to instantiate power series . One can see that each power series is represented as a table containing the terms that have been computed so far and a program for computing the next terms; more on this later.QzI+SSNzMEc2Il9JI1BTR0YlSSVaZXJvR0YlIiIiPkkjczFHRiVfRidJJE9uZUdGJUYpLUkjb3BHJSpwcm90ZWN0ZWRHNiNGK0YpPkkjczJHRiUtX0YnSThQb2x5bm9taWFsVG9Qb3dlclNlcmllc0dGJTYjLCwqJEkiWEdGJSIiI0YpKiRJIllHRiVGO0YpRjpGKUY9RilGKUYpRiktRi82I0YzRiktX0YnSS5Db21wdXRlZFRlcm1zR0YlNiNGJEYpLUZBRjFGKS1GQUY/Rik=print(); # input placeholderThe calculations below show a less triavial example (the sum of all monomials) and how the calculated terms of a power series are memorized.Qzg+SSNzNkc2Il9JI1BTR0YlSTJTdW1PZkFMTE1vbm9taWFsc0dGJSIiIi1fRidJLkNvbXB1dGVkVGVybXNHRiU2I0YkRik+SSJnR0YlLV9GJ0k4SG9tb2dlbmVvdXNQYXJ0RnVuY3Rpb25HRiVGLUYpLV9GJ0ksQ29lZmZpY2llbnRHRiU2JEYkNyRGKUYpRilGKkYpLV9GJ0kwSG9tb2dlbmVvdXNQYXJ0R0YlNiRGJCIiI0YpRipGKS1GOTYkRiRGKUYpRipGKS1GOTYkRiQiIzVGKUYqRik=%;LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=Arithmetic operations on power seriesThe calculations below show how to addd and subtract power series.Qyw+SSNzM0c2Ii1fSSNQU0dGJUkkQWRkR0YlNiRJI3MxR0YlSSNzMkdGJSIiIi1fRihJLkNvbXB1dGVkVGVybXNHRiU2I0YkRi0+SSNzNEdGJS1GJzYkRixGLEYtLUYvNiNGM0YtPkkjczVHRiUtX0YoSSlTdWJ0cmFjdEdGJUY1Ri0=print(); # input placeholderNow, we compute the product of two power series and access the function which computes all the terms of a given total degree.QzQtX0kjUFNHNiJJLkNvbXB1dGVkVGVybXNHRiY2I0kjczJHRiYiIiI+SSNzN0dGJi1fRiVJKU11bHRpcGx5R0YmNiRGKUYpRio+SSJnR0YmLV9GJUk4SG9tb2dlbmVvdXNQYXJ0RnVuY3Rpb25HRiY2I0YsRio+SSNoMEdGJi1GMjYjIiIhRio+SSNoMUdGJi1GMjYjRipGKj5JI2gyR0YmLUYyNiMiIiNGKj5JI2gzR0YmLUYyNiMiIiRGKj5JI2g0R0YmLUYyNiMiIiVGKj5JI2g1R0YmLUYyNiMiIiZGKg==print(); # input placeholderEvery power series with a non-zero constant has an inverse. The calculations below illustrate this fact.Qzg+SSNzOEc2Ii1fSSNQU0dGJUk4UG9seW5vbWlhbFRvUG93ZXJTZXJpZXNHRiU2IywoIiIiRixJIlhHRiUhIiJJIllHRiVGLkYsPkkjczlHRiUtX0YoSS5FeGFjdFF1b3RpZW50R0YlNiRJI3MxR0YlRiRGLC1fRihJLkNvbXB1dGVkVGVybXNHRiU2I0YxRiwtX0YoSTBIb21vZ2VuZW91c1BhcnRHRiU2JEYxIiIjRixGN0YsLUY8NiRGMSIiJEYsRjdGLC1GPDYkRjEiIzVGLEY3Riw+SSRzMTBHRiUtX0YoSSlNdWx0aXBseUdGJTYkRiRGMUYsLUY8NiRGR0ZFRiw=print(); # input placeholderAnother famous example are the geometric series illusrated below.%;QzY+SSJmRzYiSSNzMUdGJSIiIi1JI29wRyUqcHJvdGVjdGVkRzYjRiRGJz5JImhHRiVfSSNQU0dGJUkwR2VvbWV0cmljU2VyaWVzR0YlRictRik2I0YtRic+SSJnR0YlLV9GL0kuRXhhY3RRdW90aWVudEdGJTYkRiRGLUYnLUYpNiNGNEYnPkkicEdGJS1fRi9JKU11bHRpcGx5R0YlNiRGLUY0RictRik2I0Y8Ric+SSNocEdGJS1fRi9JMEhvbW9nZW5lb3VzUGFydEdGJTYkRjwiIzVGJy1JJ2V4cGFuZEdGKjYjRkRGJw==print(); # input placeholderQzY+SSJmRzYiSSNzMUdGJSIiIi1JI29wRyUqcHJvdGVjdGVkRzYjRiRGJz5JImhHRiVfSSNQU0dGJUkyU3VtT2ZBTExNb25vbWlhbHNHRiVGJy1GKTYjRi1GJz5JImdHRiUtX0YvSS5FeGFjdFF1b3RpZW50R0YlNiRGJEYtRictRik2I0Y0Ric+SSJwR0YlLV9GL0kpTXVsdGlwbHlHRiU2JEYtRjRGJy1GKTYjRjxGJz5JI2hwR0YlLV9GL0kwSG9tb2dlbmVvdXNQYXJ0R0YlNiRGPCIjNUYnLUknZXhwYW5kR0YqNiNGREYnprint(); # input placeholderLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=JSFHEvaluation of power seriesEvaluating a multivariate polynomial at power series is an important operatiion illustrated below.JSFHQzA+SSNzWEc2Ii1fSSNQU0dGJUk4UG9seW5vbWlhbFRvUG93ZXJTZXJpZXNHRiU2I0kiWEdGJSIiIj5JI3NZR0YlLUYnNiNJIllHRiVGLD5JImFHRiUtSSZBcnJheUclKnByb3RlY3RlZEc2IzclSSNzMUdGJUYkRi5GLD5JImJHRiU3Iy1JJHNlcUdGNjYkLUkoY29udmVydEdGNjYkJi5JImNHRiU2I0kiaUdGJUknc3ltYm9sR0Y2L0ZHO0YsIiIkRiw+SSRwb2xHRiUsKCZGOzYjRiwiIiMmRjs2I0ZRISIkJkY7NiNGSyIiJUYsPkkkczEzR0YlLUklRXZhbEc2JEY2SShfc3lzbGliR0YlNiVGTUY7RjNGLC1JJ2V4cGFuZEdGNjYjLUkiK0dGNjYkLV9GKEkvUG9seW5vbWlhbFBhcnRHRiU2JEZZRiwsKCEiI0YsRitGS0YxISIlRiw=print(); # input placeholderQyg+SSRwb2xHNiIsJiomJkkiYkdGJTYjIiIjIiIkJkYpNiNGLEYrIiIiLUknUm9vdE9mRzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliR0YlNiQsJiokSSJ6R0YlRitGL0YvRi9GOEYvRi8+SSRzMTRHRiUtSSVFdmFsR0YyNiVGJEYpSSJhR0YlRi8tSSdleHBhbmRHRjM2Iy1JIitHRjM2JC1fSSNQU0dGJUkvUG9seW5vbWlhbFBhcnRHRiU2JEY6IiImLCYtRjE2IywmKiRJI19aR0YyRitGL0YvRi8hIiIqJkkiWEdGJUYsSSJZR0YlRitGUUYvprint(); # input placeholderLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=Univariate polynomials over power seriesUnivariate polynomials over power series (UPoPS) are an essential tool in algebraic geometry. The package UnivariatePolynomialsOverPowerSeries implement those polynomials in characterisitic zero.Creating and accessingUnivariatePolynomialsOverPowerSeries is a module which takes two arguments: the variables of the underlying power series and the variable name of the polynomials. Such a polynomial can be created from an array of its coefficients, thus from an array of power series.JSFHQ0A+SSNQU0c2Ii1JLFBvd2VyU2VyaWVzR0YlNiM3JEkiWEdGJUkiWUdGJSEiIj5JJlVQb1BTR0YlLUlEVW5pdmFyaWF0ZVBvbHlub21pYWxPdmVyUG93ZXJTZXJpZXNHRiU2JEYpSSJaR0YlRiwtSSV3aXRoRzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliR0YlNiNGLiIiIj5JI3UxR0YlX0YuSSRPbmVHRiVGOT5JI3UwR0YlX0YuSSVaZXJvR0YlRjk+SSNzMUdGJV9GJEY9Riw+SSNzMEdGJV9GJEZBRiw+SSNzMkdGJS1fRiRJOFBvbHlub21pYWxUb1Bvd2VyU2VyaWVzR0YlNiMsJkY5RjlGKkYsRjk+SSNzM0dGJS1fRiRJLkV4YWN0UXVvdGllbnRHRiU2JEZDRklGOT5JI2hwR0YlLV9GJEkwSG9tb2dlbmVvdXNQYXJ0R0YlNiRGUCIiI0Y5PkkjczRHRiUtRks2IywmRjlGOUYrRixGOT5JI3M1R0YlLV9GJEkoSW52ZXJzZUdGJTYjRmduRjk+RlYtRlg2JEZcbyIiJEYsPkkjdTJHRiUtX0YuSTdGcm9tQXJyYXlPZlBvd2VyU2VyaWVzR0YlNiNJImFHRiVGOS1fRi5JLkNvbXB1dGVkVGVybXNHRiU2I0Zmb0Y5print(); # input placeholderLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=AritLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=hmetic operationsUPoPS support the usual arithmetic operations (not illustrated below) and translation (illustrated below).Qy4+SSR1MTBHNiItX0kmVVBvUFNHRiVJNkZyb21MaXN0T2ZQb2x5bm9taWFsc0dGJTYjNyVJIllHRiUiIiMsJkkiWEdGJSIiIkYwRjBGMC1fRihJL1BvbHlub21pYWxQYXJ0R0YlNiRGJEYwRjA+SSR1MTFHRiUtX0YoSSpUcmFuc2xhdGVHRiU2JEYkISIiRjAtRjI2JEY2RjBGMD5JJHUxMkdGJS1GOEY9RjAtRjI2JEY/RjBGMA==print(); # input placeholderIn particular, one can translate a univariate polynomial over power series at a power seriesQ0A+SSJuRzYiIiIlIiIiPkkycG93ZXJfc2VyaWVzX3ZhcnNHRiU3Iy1JJHNlcUclKnByb3RlY3RlZEc2JC1JKGNvbnZlcnRHRi02JCYuSSJYR0YlNiNJImlHRiVJJ3N5bWJvbEdGLS9GNjsiIiEsJkYkRichIiJGJ0YnPkkiUEdGJS1JLFBvd2VyU2VyaWVzR0YlNiNGKUY8PkkiVUdGJS1JRFVuaXZhcmlhdGVQb2x5bm9taWFsT3ZlclBvd2VyU2VyaWVzR0YlNiRGKUkiWUdGJUY8PkkidUdGJS1fRkNJNkZyb21MaXN0T2ZQb2x5bm9taWFsc0dGJTYjNyQtSSNvcEdGLUZBRidGJy1fRkNJL1BvbHlub21pYWxQYXJ0R0YlNiRGSUYnRic+SSJ2R0YlLV9GQ0kqVHJhbnNsYXRlR0YlRlRGJy1GUjYkRlZGJ0YnPkkicEdGJS1fRj5JKU11bHRpcGx5R0YlNiQtX0Y+SThQb2x5bm9taWFsVG9Qb3dlclNlcmllc0dGJTYjJkYpNiNGJC1GXW82IywkKiRGJEY8RjxGJy1fRj5GUzYkRmduRidGJz5JIndHRiUtRlg2JEZJRmduRictRlI2JEZqbyIiJEYnRmZvRidGaW9GJ0ZdcEYnprint(); # input placeholderLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=Weierstrass preparation factorizationWeierstrass preparation theorem factorizes a UPoPS into a product of an invertible UPoPS (regarded as a power series) and a Weierstrass polynomial (thus a polynomial which vanishes when all variables are specialized to zero). This is an essential tool in the study of analytic functions as well as in factorization algorithms like those based on Hensel lemma.QyotX0kmVVBvUFNHNiJJLkNvbXB1dGVkVGVybXNHRiY2I0kjdTJHRiYiIiI+NiRJInBHRiZJJmFscGhhR0YmLV9GJUk3V2VpZXJzdHJhc3NQcmVwYXJhdGlvbkdGJjYkRikiIiNGKi1fSSNQU0dGJkYnNiNGLkYqLUY1NiNGLUYqprint(); # input placeholderQzg+SSNzNEc2Ii1fSSNQU0dGJUk4UG9seW5vbWlhbFRvUG93ZXJTZXJpZXNHRiU2IywmIiIiRixJIllHRiUhIiJGLD5JI3M1R0YlLV9GKEkoSW52ZXJzZUdGJTYjRiRGLD5JI3M2R0YlLUYnNiNJIlhHRiVGLD5JImFHRiUtSSZBcnJheUclKnByb3RlY3RlZEc2IzckRjZGMEYsPkkjdTJHRiUtX0kmVVBvUFNHRiVJN0Zyb21BcnJheU9mUG93ZXJTZXJpZXNHRiU2I0Y7RiwtX0ZFSS9Qb2x5bm9taWFsUGFydEdGJTYkRkIiIiNGLD42JEkicEdGJUkmYWxwaGFHRiUtX0ZFSTdXZWllcnN0cmFzc1ByZXBhcmF0aW9uR0YlRktGLC1fRihJLkNvbXB1dGVkVGVybXNHRiU2I0ZPRiwtRlU2I0ZQRiw+SSlyZXNpZHVhbEdGJS1fRkVJKVN1YnRyYWN0R0YlNiRGQi1fRkVJKU11bHRpcGx5R0YlRk5GLC1GSTYkRmVuRkxGLA==The example below shows that the invertible UPoPS may be a UPoPS of positive degree.QzY+SSN1OUc2Ii1fSSZVUG9QU0dGJUk2RnJvbUxpc3RPZlBvbHlub21pYWxzR0YlNiM3JUkiWUdGJSIiIkkiWEdGJUYtLV9GKEkvUG9seW5vbWlhbFBhcnRHRiU2JEYkIiIjRi0+NiRJInBHRiVJJmFscGhhR0YlLV9GKEk3V2VpZXJzdHJhc3NQcmVwYXJhdGlvbkdGJUYyRi0tRjA2JEY2RjNGLS1GMDYkRjdGM0YtPkY1LUY5NiRGJCIiJUYtLUYwNiRGNkZCRi0tRjA2JEY3RkJGLT5JKXJlc2lkdWFsR0YlLV9GKEkpU3VidHJhY3RHRiU2JEYkLV9GKEkpTXVsdGlwbHlHRiVGNUYtLUYwNiRGSEZCRi0=print(); # input placeholderThe example below shows that, in the Weiertrass factorization, the invertible UPoPS and the Weieretrsass factor may be a UPoPS of positive degree, even if the input UPoPS was already invertible (as a power series).%;Qzo+SSR1MTBHNiItX0kmVVBvUFNHRiVJNkZyb21MaXN0T2ZQb2x5bm9taWFsc0dGJTYjNyVJIllHRiUiIiIsJkkiWEdGJUYtRi1GLUYtLV9GKEkvUG9seW5vbWlhbFBhcnRHRiU2JEYkIiIjRi0+NiRJInBHRiVJJmFscGhhR0YlLV9GKEk3V2VpZXJzdHJhc3NQcmVwYXJhdGlvbkdGJUYzRi0tRjE2JEY3RjRGLS1GMTYkRjhGNEYtPkkpcmVzaWR1YWxHRiUtX0YoSSlTdWJ0cmFjdEdGJTYkRiQtX0YoSSlNdWx0aXBseUdGJUY2Ri0tRjE2JEZBRjRGLT5GNi1GOjYkRiQiIiVGLS1GMTYkRjdGTkYtLUYxNiRGOEZORi1GQEYtLUYxNiRGQUZORi0=print(); # input placeholderLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=Hensel lemma factorizationUnivariate polynomials over power series (UPoPS) form a unique factorization domain. Hensel lemma leads to a factorization algorithm for monic UPoPS.Qyo+SSJmRzYiLV9JJlVQb1BTR0YlSTZGcm9tTGlzdE9mUG9seW5vbWlhbHNHRiU2IzclISIiLCRJIlhHRiVGLCIiIkYvLV9GKEkvUG9seW5vbWlhbFBhcnRHRiU2JEYkIiIjRi8+SSZmYWN0c0dGJS1JPEZhY3Rvcml6YXRpb25WaWFIZW5zZWxMZW1tYUc2JCUqcHJvdGVjdGVkRy9JJ19sb2NhbEdGOkkyX24xMzk3OTU5MjQ5OTE0MzJHRiU2JkYkRjRJJXRydWVHRjpGP0YvLUkkbWFwR0Y6NiVGMkY2RjRGLw==print(); # input placeholderQyo+SSJmRzYiLV9JJlVQb1BTR0YlSTZGcm9tTGlzdE9mUG9seW5vbWlhbHNHRiU2IzcmIiIjLCYhIiIiIiJJIlhHRiVGLiwmISIjRi9GMEYvRi9GLy1fRihJL1BvbHlub21pYWxQYXJ0R0YlNiRGJEYsRi8+SSZmYWN0c0dGJS1JPEZhY3Rvcml6YXRpb25WaWFIZW5zZWxMZW1tYUc2JCUqcHJvdGVjdGVkRy9JJ19sb2NhbEdGPEkyX24xMzk3OTU5MjQ5OTE0MzJHRiU2JkYkIiM1SSV0cnVlR0Y8RkJGLy1JJG1hcEdGPDYlRjVGOEZBRi8=print(); # input placeholderQyo+SSJmRzYiLV9JJlVQb1BTR0YlSTZGcm9tTGlzdE9mUG9seW5vbWlhbHNHRiU2IzcmIiIiLCRJIlhHRiUhIiIsJEkiWUdGJUYvRixGLC1fRihJL1BvbHlub21pYWxQYXJ0R0YlNiRGJCIiI0YsPkkmZmFjdHNHRiUtSTxGYWN0b3JpemF0aW9uVmlhSGVuc2VsTGVtbWFHNiQlKnByb3RlY3RlZEcvSSdfbG9jYWxHRjxJMl9uMTM5Nzk1OTI0OTkxNDMyR0YlNiZGJEY2SSV0cnVlR0Y8RkFGLC1JJG1hcEdGPDYlRjRGOEY2Riw=print(); # input placeholderLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=Extended Hensel constructionFor a univariate polynomiial over univariate power series, the extended Hensel construction (EHC) produces the same result as Newton-Puiseux algorithm, thus factoring such univariate polynomial into degree-one polynomials with Puiseux series coefficients.QzI+SSJQRzYiLUksUG93ZXJTZXJpZXNHRiU2IzcjSSJ5R0YlISIiPkkiVUdGJS1JRFVuaXZhcmlhdGVQb2x5bm9taWFsT3ZlclBvd2VyU2VyaWVzR0YlNiRGKUkieEdGJUYrPkklcG9seUdGJSwoKiZGKiIiIkYxIiIkRjYqJiwmRiohIiNGNkY2RjZGMUY2RjZGKkY2RjY+J0krT3V0cHV0RmxhZ0dGJUklbmFtZUclKnByb3RlY3RlZEcuSStwYXJhbWV0cmljR0YlRis+J0kucGFyYW1ldHJpY1ZhckdGJUY+SSJUR0YlRis+SSVpdGVyR0YlRjdGKz4nSTF2ZXJpZmljYXRpb25GbGFnR0YlSShib29sZWFuR0Y/SSV0cnVlR0Y/RistX0YtSTtFeHRlbmRlZEhlbnNlbENvbnN0cnVjdGlvbkdGJTYoRjMiIiFGR0Y9RkRGSkY2print(); # input placeholderFor a univariate polynomial over multivariate power series, the extended Hensel construction (EHC) factors also this univariate polynomial into degree-one polynomials with Puiseux series coefficients (over the algebraic closure of a rational function field.) This can be understood as a weak version of Jung-Abhyankar Theorem.JSFHQyo+SSJQRzYiLUksUG93ZXJTZXJpZXNHRiU2IzckSSJ5R0YlSSJ6R0YlISIiPkkiVUdGJS1JRFVuaXZhcmlhdGVQb2x5bm9taWFsT3ZlclBvd2VyU2VyaWVzR0YlNiRGKUkieEdGJUYsPkklcG9seUdGJSwoKiZGKiIiIkYyIiIkRjcqJiwoRiohIiNGK0Y3RjdGN0Y3RjJGN0Y3RipGN0Y3LV9GLkk7RXh0ZW5kZWRIZW5zZWxDb25zdHJ1Y3Rpb25HRiU2JUY0NyQiIiFGQUY4Rjc=print(); # input placeholderJSFHJSFHLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=TTdSMApJQVJUQUJMRV9TQVZFLzE4NDQ2ODgzODY5NjI2ODc0OTI2WColKWFueXRoaW5nRzYiRiVbZ2whISUhISEiJCIkJS1wb3dlcl9zZXJpZXNHJS1wb3dlcl9zZXJpZXNHJS1wb3dlcl9zZXJpZXNHRiU=TTdSMApJQVJUQUJMRV9TQVZFLzE4NDQ2ODgzODY5NjI2ODQ2ODU0WColKWFueXRoaW5nRzYiRiVbZ2whISUhISEiIyIjJS1wb3dlcl9zZXJpZXNHJS1wb3dlcl9zZXJpZXNHRiU=