determine equality up to some precision
ApproximatelyEqual(p, q, deg, f)
ApproximatelyEqual(u, v, deg, f)
power series generated by this package
univariate polynomials over power series generated by this package
(optional) the precision up to which to compare the inputs
(optional) the keyword option force or force = true or force = false
Two power series p and q are said to be equal up to a degree deg, called the precision, if for each degree d <= deg, the homogeneous components of p and q of degree d are equal.
The command ApproximatelyEqual(p,q) returns true if the two power series are equal up to the minimum of their currently computed precisions, otherwise false.
The command ApproximatelyEqual(p,q,deg) returns true if the two power series are equal up to precision deg, otherwise false. This calling sequence computes any coefficients needed that have not been computed so far.
The command ApproximatelyEqual(u,v) returns true if the two univariate polynomials over power series are equal up to the currently computed precision of each coefficient power series, otherwise false.
The command ApproximatelyEqual(u,v,deg) returns true if the two univariate polynomials over power series are equal by comparing each power series coefficient up to precision deg, otherwise false.
By default, if p and q know their analytic expressions and these analytic expressions are equal, the ApproximatelyEqual command will immediately return true. If you pass the force or force = true option, then the ApproximatelyEqual command will ignore the analytic expressions. The default behavior can be explicitly selected by passing the option force = false.
Any form of the force option passed to the ApproximatelyEqual command when comparing univariate polynomials over power series are used as described above when comparing the power series coefficients.
When using the MultivariatePowerSeries package, do not assign anything to the variables occurring in the power series, Puiseux series, and univariate polynomials over these series. If you do, you may see invalid results.
Define a power series.
a ≔ Inverse⁡PowerSeries⁡1+x+y
a≔PowⅇrSⅇrⅈⅇs of 11+x+y : 1+…
Compute its linear truncation with the Truncate command.
We do the same twice more.
b ≔ GeometricSeries⁡x,y
b≔PowⅇrSⅇrⅈⅇs of 11−x−y : 1+x+y+…
c ≔ Inverse⁡SumOfAllMonomials⁡x,y
c≔PowⅇrSⅇrⅈⅇs of 1−x⁢1−y : 1+…
The power series a, b, and c all have the terms up to homogeneous degree 1 computed. As we see above, these are the same for a and c but different for b.
However, the homogeneous degree 2 parts of a and c are different.
In order to test this, we needed to compute the terms of homogeneous degree 2, as we can see by calling Truncate again.
We define two univariate polynomials over power series, both linear in their with main variable z. The constant coefficient in z is 0. The coefficient of z is also the same, even though this is not immediately obvious from their definition.
f ≔ UnivariatePolynomialOverPowerSeries⁡PowerSeries⁡0,GeometricSeries⁡x,y,z:
g ≔ UnivariatePolynomialOverPowerSeries⁡PowerSeries⁡0,Inverse⁡PowerSeries⁡1−x−y,z:
In this case, the analytic expressions for the coefficients are all pairwise equal. We can use the force option to make Maple do the actual comparisons.
The MultivariatePowerSeries[ApproximatelyEqual] command was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
The MultivariatePowerSeries[ApproximatelyEqual] command was updated in Maple 2022.
The force option was introduced in Maple 2022.
For more information on Maple 2022 changes, see Updates in Maple 2022.
Download Help Document