Expansion of polynomials: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 28: | Line 28: | ||
* <code>agm</code> | * <code>agm</code> | ||
====Functions with 1 argument==== | ====Functions with 1 argument==== | ||
Replace the top stack element | Replace the top stack element by the function's result: | ||
* <code>abs</code> <code>acosh</code> <code>asin</code> <code>asinh</code> <code>atan</code> <code>atanh</code> <code>cos</code> <code>cosh</code> <code>cot</code> <code>coth</code> <code>csc</code> <code>csch</code> <code>eta</code> <code>exp</code> <code>lambertW</code> <code>log</code> <code>neg</code> <code>sec</code> <code>sech</code> <code>sin</code> <code>sinh</code> <code>sqrt</code> <code>tan</code> <code>tanh</code> | * <code>abs</code> <code>acosh</code> <code>asin</code> <code>asinh</code> <code>atan</code> <code>atanh</code> <code>cos</code> <code>cosh</code> <code>cot</code> <code>coth</code> <code>csc</code> <code>csch</code> <code>eta</code> <code>exp</code> <code>lambertW</code> <code>log</code> <code>neg</code> <code>sec</code> <code>sech</code> <code>sin</code> <code>sinh</code> <code>sqrt</code> <code>tan</code> <code>tanh</code> | ||
* <code>catalan</code>(x) = (1 - sqrt(1 - 4*x)) / (2*x) | * <code>catalan</code>(x) = (1 - sqrt(1 - 4*x)) / (2*x) | ||
Revision as of 19:57, 25 April 2025
- A295237
a:=series(csc(x)*(1-sqrt(1-4*sin(x)))/2, x=0, 20): seq(n!*coeff(a, x, n), n=0..19); # E.g.f. - A345969 Expansion of the e.g.f.
1 / sqrt(3 - 2 / ((1 - x)*exp(x)))- Maple:
a := series(1/sqrt(3-2/((1-x)*exp(x))), x=0, 25): seq(n!*coeff(a, x, n), n=0..24); - jOEIS:
new PolynomialFieldSequence(0, "[[1],[1,-1]]" ",1,3,2,p1,x,exp,*,/,-,sqrt,/", 0, 1)
- Maple:
Parameters
The expansion of (exponential) generating functions is performed by PolynomialFieldSequence with a constructor that has up to 5 parameters:
offset:first indexpolys:a list of list of integers in square brackets, specifying the coefficients of a list of polynomials. The polynomials are referenced by p0, p1, p2, ... where p0 gives the initial term of the iteration. For example, 1-x = 1*x^0 -1*x^1 -> [1,-1].postfix:a string starting with a delimiter, followed by a list of elements that are separated by this delimiterdist:an optional increment to the current indexgfType:0 for an o.g.f., 1 for an e.g.f., +4 if the denominator should be returned instead of the numerator (default 0 = o.g.f)modulus, factor:which element to take when zeros are suppressed (default 1), and periodicity when zeroes are suppressed (default 1). Even coefficients are selected by (0,2), odd coefficients by (1,2).
Postfix notation
The operations of the postfix string are performed in their sequential order. They operate on a stack, and the final result is the lowest stack element.
Special operators
Apush the generating function to be definedxpush the free variable0, 1, 2, ...push an integerpipush the predefined polynomial with index i (cf.polysabove)<ishift the top stack element by i, i.e. multiply by xi^itake the top stack element to the i-th power, whereican be an integer or a fraction (^1/2issqrt)difdifferentiate the top stack elementintformal integration of the top stack elementsubsubstitute, call the g.f.Awith the top stack element
Arithmetic operators, functions with 2 arguments
Replace the 2 top stack elements a, b by a op b, where op is one of:
+-*/agm
Functions with 1 argument
Replace the top stack element by the function's result:
absacoshasinasinhatanatanhcoscoshcotcothcsccschetaexplambertWlognegsecsechsinsinhsqrttantanhcatalan(x) = (1 - sqrt(1 - 4*x)) / (2*x)
Caveats
- Usually the g.f.s have offset 0 and start with a term 1, so
p0 = "1"in most cases. The first polynomial p0 must always include the coefficient of x0, even if the offset is > 0, for example:p0 = "0,1". - Usually the parameter
distis not needed. Sometimes, it must be set to a value > 0 to start the iteration properly. sqrtexpects an argument of the form 1-x. sqrt(x) does not work, it can sometimes be avoided by quadrating all occurrences of x.
Commandline activation
A script OEIS-mat/scripts/poly facilitates the testing of the polynomial expansions. It is activated with up to 4 parameters:
poly polys postfix [-i dist] [-t gfTtype]
Generator Callcodes
There are 3 callcodes:
poly offset polys postfixpolyx offset polys postfix dist gfTypepolyz offset polys postfix dist gfType modulus factor