determine Puiseux expansions of an algebraic function with "nice" coefficients
algfun_series_sol(F, x, y, opts)
algfun_series_sol(F, x=a, y, opts)
irreducible polynomial in two variables
name of the independent variable
name of the dependent variable
sequence of optional arguments of the form 'option'='value', where option is one of coeffs, msparse_order, mpoints_search, or RNF
point of expansion
An irreducible polynomial F of degree N in the variable y with coefficients in a field L⁡x gives an algebraic extension L(x)[y]/(F) of L⁡x, that is, it gives an algebraic function y⁡x which is a multivalued function. The algebraic function has N Puiseux expansions at x=a. Each Puiseux expansion is of the form ∑n=−K∞⁡v⁡n⁢x−anr for some integer r (r is called the ramification index of the Puiseux expansion), and some integer K and elements v⁡n in the algebraic closure of L.
The algcurves[algfun_series_sol] command determines those Puiseux expansions whose coefficients v⁡n have special properties ("nice" expansions). It can determine polynomial, rational, hypergeometric, d'Alembertian, m-sparse, or m-sparse m-hypergeometric sequences v⁡n (where m is an integer greater than 1 and can be given as an optional argument or, otherwise, be chosen as the maximal value for each expansion by the command).
If the point of expansion is given and is of the form x=a, the command returns a set of "nice" expansions at a. Otherwise, the command finds all the "nice" points. These are the points where the "nice" expansions exist. In this case, the command returns a set of lists ['Point'=the point A, a set of "nice" expansions at x=A]. The point A is an algebraic number or the symbol _a which denotes any regular point of the given algebraic function.
The command determines the field L from the input. The ground field L of the computation is the smallest field such that F and the given or constructed points of expansion are in L(x)[y]. The field L must be a rational number field or its algebraic extension by an algebraic number or several parameters.
The command builds a linear ordinary differential equation which the given algebraic function satisfies. Then it uses the package Slode for finding "nice" points and for building "nice" expansions for the constructed linear ordinary differential equation. The "nice" Puiseux expansion at the point x=a is represented in one of the following forms:
For a polynomial, rational, hypergeometric, or d'Alembertian sequence v⁡n:
where −K≤μ and γ⁡n is a polynomial, rational, hypergeometric, or d'Alembertian term in n.
For an m-sparse m-hypergeometric sequence v⁡n:
where 0<=M<m and γ⁡n is a hypergeometric term in n.
For an m-sparse sequence v⁡n:
where rec is a homogeneous linear recurrence with polynomial coefficients for the sequence v⁡m⁢n+M.
Each optional argument is of the type 'option' = 'value'. The following options are supported.
Specifies the type of the coefficients; the default value is hypergeom.
dAlembertian, that is, v⁡n is annihilated by a linear recurrence operator that can be written as a composition of first-order operators (see LinearOperators).
hypergeom, that is, v⁡n+1v⁡n is a rational function in n for all large enough n.
rational, that is, v⁡n is a rational function in n for all large enough n.
polynomial, that is, v⁡n is a polynomial in n for all large enough n.
sparse, that is, for all large enough n only each m-th coefficient v⁡m⁢n+M is nonzero, where 2≤m is an integer (it is called the sparse order) and M is an integer such that 0≤M<m.
mhypergeom, that is, v⁡n satisfies the property of the option sparse and v⁡n+1⁢m+Mv⁡m⁢n+M is a rational function in n for all large enough n.
Specifies the sparse order. This option is given as 'msparse_order'=n, where n is an integer greater than 1. This option is useful only if one of the options 'coeffs'='mhypergeom' or 'coeffs'='sparse' is given.
Specifies the algorithm for finding the "nice" points. This option is useful only in the case when the point of expansion is not specified and one of the options 'coeffs'='mhypergeom' or 'coeffs'='sparse' is given. The default value is full.
full, that is, the algorithm, which gives all "nice" points
quick, that is, the algorithm, which may miss some "nice" points but takes considerably less time than the full algorithm
Specifies the representation of v⁡n. This option makes sense only if one of the options 'coeffs'='hypergeom' or 'coeffs'='mhypergeom' is given. The default value is false.
false, that is, v⁡n is represented as in the package LREtools.
true, that is, v⁡n is the first minimal representation of a hypergeometric term (see RationalNormalForms).
f ≔ x11−2⁢x8+x5−y2⁢x6+2⁢y2⁢x3−y2+2⁢y⁢x3−2⁢y−1
f ≔ x5⁢y6−1
f ≔ x⁢y2−1−2⁢y−y2
Download Help Document