|
Calling Sequence
|
|
SetHenselBound(bound, u)
SetHenselBound(bound)
|
|
Parameters
|
|
bound
|
-
|
a non-negative integer
|
u
|
-
|
(optional) univariate polynomial over power series generated by this package
|
|
|
|
|
Description
|
|
•
|
Using the first calling sequence, we set the bound for the given object u. This is used when computing the extended Hensel construction of u (unless overridden in the ExtendedHenselConstruction command itself).
|
•
|
Using the second calling sequence, we set the global default value for the bound. This value is used when computing the Puiseux factorization of a univariate polynomial over power series for which the bound has not been set using the first calling sequence (unless overridden in the ExtendedHenselConstruction command itself). Initially, the default value for the bound is 10.
|
•
|
Both calling sequences return the previously stored value for the bound, either in u (for the first calling sequence) or the default (for the second).
|
•
|
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.
|
|
|
Examples
|
|
>
|
|
Create a univariate polynomial over power series using procedures to create its coefficients.
>
|
bproc := proc(d) if d = 10 then return y^(10); else return 0; end if; end proc;
|
| (1) |
>
|
|
| (2) |
>
|
bproc1 := proc(d) if d = 4 then return y^(4); else return 0; end if; end proc;
|
| (3) |
>
|
|
| (4) |
>
|
bproc2 := proc(d) if d = 20 then return y^(20); else return 0; end if; end proc;
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
Computing the ExtendedHencelConstruction would use the initial value of the global default bound, 10. This is too low to determine the Newton polynomial of the input polynomial (it needs to be 20), so we see an error message.
>
|
|
If we set a different global default, that's the value that is used. This value is high enough.
>
|
|
| (9) |
If we set the bound for u specifically, that overrides the default value.
>
|
|
>
|
|
| (11) |
If we specify the bound in the ExtendedHenselConstruction command itself, that overrides all set values. This is, once again, too low of a value for the bound.
>
|
|
Error, (in MultivariatePowerSeries:-ExtendedHenselConstruction) leading coefficient of Object(MultivariatePowerSeries:-UnivariatePolynomialOverPowerSeriesObject,Array(0..3, [Object(MultivariatePowerSeries:-PowerSeriesObject,Array(0..21, [0,0,0,0,0,0,0,0,0,0,y^10,0,0,0,0,0,0,0,0,0,0,0]),21,MultivariatePowerSeries:-PowerSeriesObject:-proc_gen,{y},ancestors),Object(MultivariatePowerSeries:-PowerSeriesObject,Array(0..20, [0,0,0,0,y^4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),20,MultivariatePowerSeries:-PowerSeriesObject:-proc_gen,{y},ancestors),Object(MultivariatePowerSeries:-PowerSeriesObject,Array(0..20, [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,y^20]),20,MultivariatePowerSeries:-PowerSeriesObject:-proc_gen,{y},ancestors),Object(MultivariatePowerSeries:-PowerSeriesObject,Array(0..21, [0,0,0,0,0,0,0,0,0,0,y^10,0,0,0,0,0,0,0,0,0,0,0]),21,MultivariatePowerSeries:-PowerSeriesObject:-proc_gen,{y},ancestors)])) may be zero
| |
In this case, it is not possible to determine if the leading coefficient of is non-zero or not.
|
|
References
|
|
|
Monforte, A.A., & Kauers, M. "Formal Laurent series in several variables." Expositiones Mathematicae. Vol. 31 No. 4 (2013): 350-367.
|
|
|
Compatibility
|
|
•
|
The MultivariatePowerSeries[SetHenselBound] command was introduced in Maple 2023.
|
|
|
|