123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- \documentstyle[11pt,reduce]{article}
- \title{{\tt FPS}\\
- A Package for the\\
- Automatic Calculation \\
- of Formal Power Series}
- \date{}
- \author{Wolfram Koepf\\
- ZIB Berlin \\
- Email: {\tt Koepf@ZIB.de}
- \\
- \\
- Present \REDUCE{} form by \\
- Winfried Neun \\
- ZIB Berlin \\
- Email: {\tt Neun@ZIB.de}}
- \begin{document}
- \maketitle
- \section{Introduction}
- This package can expand functions of certain type into
- their corresponding Laurent-Puiseux series as a sum of terms of the form
- \begin{displaymath}
- \sum_{k=0}^{\infty} a_{k} (x-x_{0})^{m k/n + s}
- \end{displaymath}
- where $m$ is the `symmetry number', $s$ is the `shift number',
- $n$ is the `Puiseux number',
- and $x_0$ is the `point of development'. The following types are
- supported:
- \begin{itemize}
- \item
- {\bf functions of `rational type'}, which are either rational or have a
- rational derivative of some order;
- \item
- {\bf functions of `hypergeometric type'} where $a(k+m)/a(k)$ is a rational
- function for some integer $m$;
- \item
- {\bf functions of `explike type'} which satisfy a linear homogeneous
- differential equation with constant coefficients.
- \end{itemize}
- The FPS package is an implementation of the method
- presented in \cite{Koepf:92}. The implementations of this package
- for {\sc Maple} (by D.\ Gruntz) and {\sc Mathematica} (by W.\ Koepf)
- served as guidelines for this one.
- Numerous examples can be found in \cite{Koepf:93a}--\cite{Koepf:93b},
- most of which are contained in the test file {\tt fps.tst}. Many
- more examples can be found in the extensive bibliography of Hansen \cite{Han}.
- \section{\REDUCE{} operator {\tt FPS}}
- The FPS Package must be loaded first by:
- \begin{verbatim}
- load FPS;
- \end{verbatim}
- {\tt FPS(f,x,x0)} tries to find a formal power
- series expansion for {\tt f} with respect to the variable {\tt x}
- at the point of development {\tt x0}.
- It also works for formal Laurent (negative exponents) and Puiseux series
- (fractional exponents). If the third
- argument is omitted, then {\tt x0:=0} is assumed.
- Examples: {\tt FPS(asin(x)\verb+^+2,x)} results in
- \begin{verbatim}
- 2*k 2*k 2 2
- x *2 *factorial(k) *x
- infsum(----------------------------,k,0,infinity)
- factorial(2*k + 1)*(k + 1)
- \end{verbatim}
- {\tt FPS(sin x,x,pi)} gives
- \begin{verbatim}
- 2*k k
- ( - pi + x) *( - 1) *( - pi + x)
- infsum(------------------------------------,k,0,infinity)
- factorial(2*k + 1)
- \end{verbatim}
- and {\tt FPS(sqrt(2-x\verb+^+2),x)} yields
- \begin{verbatim}
- 2*k
- - x *sqrt(2)*factorial(2*k)
- infsum(--------------------------------,k,0,infinity)
- k 2
- 8 *factorial(k) *(2*k - 1)
- \end{verbatim}
- Note: The result contains one or more {\tt infsum} terms such that it does
- not interfere with the {\REDUCE} operator {\tt sum}. In graphical oriented
- REDUCE interfaces this operator results in the usual $\sum$ notation.
- If possible, the output is given using factorials. In some cases, the
- use of the Pochhammer symbol {\tt pochhammer(a,k)}$:=a(a+1)\cdots(a+k-1)$
- is necessary.
- The operator {\tt FPS} uses the operator {\tt SimpleDE} of the next section.
- If an error message of type
- \begin{verbatim}
- Could not find the limit of:
- \end{verbatim}
- occurs, you can set the corresponding limit yourself and try a
- recalculation. In the computation of {\tt FPS(atan(cot(x)),x,0)},
- REDUCE is not able to find the value for the limit
- {\tt limit(atan(cot(x)),x,0)} since the {\tt atan} function is multi-valued.
- One can choose the branch of {\tt atan} such that this limit equals
- $\pi/2$ so that we may set
- \begin{verbatim}
- let limit(atan(cot(~x)),x,0)=>pi/2;
- \end{verbatim}
- and a recalculation of {\tt FPS(atan(cot(x)),x,0)}
- yields the output {\tt pi - 2*x} which is
- the correct local series representation.
- \section{\REDUCE{} operator {\tt SimpleDE}}
- {\tt SimpleDE(f,x)} tries to find a homogeneous linear differential
- equation with polynomial coefficients for $f$ with respect to $x$.
- Make sure that $y$ is not a used variable.
- The setting {\tt factor df;} is recommended to receive a nicer output form.
- Examples: {\tt SimpleDE(asin(x)\verb+^+2,x)} then results in
- \begin{verbatim}
- 2
- df(y,x,3)*(x - 1) + 3*df(y,x,2)*x + df(y,x)
- \end{verbatim}
- {\tt SimpleDE(exp(x\verb+^+(1/3)),x)} gives
- \begin{verbatim}
- 2
- 27*df(y,x,3)*x + 54*df(y,x,2)*x + 6*df(y,x) - y
- \end{verbatim}
- and {\tt SimpleDE(sqrt(2-x\verb+^+2),x)} yields
- \begin{verbatim}
- 2
- df(y,x)*(x - 2) - x*y
- \end{verbatim}
- The depth for the search of a differential equation for {\tt f} is
- controlled by the variable {\tt fps\verb+_+search\verb+_+depth};
- higher values for {\tt fps\verb+_+search\verb+_+depth}
- will increase the chance to find the solution, but increases the
- complexity as well. The default value for {\tt fps\verb+_+search\verb+_+depth}
- is 5. For {\tt FPS(sin(x\verb+^+(1/3)),x)}, or
- {\tt SimpleDE(sin(x\verb+^+(1/3)),x)} e.\ g., a setting
- {\tt fps\verb+_+search\verb+_+depth:=6} is necessary.
- The output of the FPS package can be influenced by the
- switch {\tt tracefps}. Setting {\tt on tracefps} causes various
- prints of intermediate results.
- \section{Problems in the current version}
- The handling of logarithmic singularities is not yet implemented.
- The rational type implementation is not yet complete.
- The support of special functions \cite{Koepf:94}
- will be part of the next version.
- \begin{thebibliography}{9}
- \bibitem{Han}
- E.\ R. Hansen, {\em A table of series and products.}
- Prentice-Hall, Englewood Cliffs, NJ, 1975.
- \bibitem{Koepf:92} Wolfram Koepf,
- {\em Power Series in Computer Algebra},
- J.\ Symbolic Computation 13 (1992)
- \bibitem{Koepf:93a} Wolfram Koepf,
- {\em Examples for the Algorithmic Calculation of Formal
- Puiseux, Laurent and Power series},
- SIGSAM Bulletin 27, 1993, 20-32.
- \bibitem{Koepf:93b} Wolfram Koepf,
- {\em Algorithmic development of power series.} In:
- Artificial intelligence and symbolic mathematical computing,
- ed.\ by J.\ Calmet and J.\ A.\ Campbell,
- International Conference AISMC-1, Karlsruhe, Germany, August 1992, Proceedings,
- Lecture Notes in Computer Science {\bf 737}, Springer-Verlag,
- Berlin--Heidelberg, 1993, 195--213.
- \bibitem{Koepf:94} Wolfram Koepf,
- {\em Algorithmic work with orthogonal polynomials and special functions.}
- Konrad-Zuse-Zentrum Berlin (ZIB), Preprint SC 94-5, 1994.
- \end{thebibliography}
- \end{document}
|