\documentstyle[12pt]{article}
%\input math
%\input drawing
\setlength{\textwidth}{14.0cm}
\setlength{\topmargin}{-1.0cm}
\setlength{\textheight}{21.0cm}

\title{\bf Communications of the Poisson Series Processors  PSPC  \\
with general scientific software. }
\author{
 A. Abad${}^1$, A. Gav\'{\i}n${}^1$ and J.F. San-Juan${}^{1,2}$ \\ [2ex] \\ 
  {\small ${}^{1}$Grupo de Mec\'anica Espacial, Univ. de Zaragoza, 50009 Zaragoza, Spain}
 \\
  {\small ${}^{2}$Dept de Matem\'aticas y Computaci\'on, Univ. de la Rioja, 26004 Logro\~no, Spain}
}
\date{}
\begin{document}
\maketitle


\section*{Extended abstract}

In a previous paper \cite{aba98} we described ATESAT,
a software system to obtain automatically analytical theories in the artificial
satellite problem. The core of ATESAT is an specialised computer algebraic system,
named PSPC, used to handle a {\sl Mathematica}l object, the Poisson Series, that appears
very frequently in Non-linear Mechanics and in particular in Celestial Mechanics.
\par\medskip
A Poisson series is a multivariate Fourier series of the form

\[
 \sum_{i_0,\ldots,i_{n-1},j_0,\ldots,j_{m-1}}
 C_{i_0,\ldots,i_{n-1}}^{j_0,\ldots,j_{m-1}} x_0^{i_0} \ldots x_{n-1}^{i_{n-1}}
 \mbox{${\displaystyle {{\rm sin} \choose {\rm cos}}}$}
 (j_0y_0+\ldots+j_{m-1}y_{m-1});
 \]
\noindent this series consists of a rational
or real coefficient, $n$ polynomial variables with integer exponents and a
trigonometric function of a linear combination of angular variables.  The set
${\cal P}$ of Poisson series is a commutative algebra with a unit element. We
call it series by an abuse of language, because although it may have a finite or
infinite number of terms, in practice, in order to define an equivalent
computational object, we need to consider only series with a finite number of
terms.
\par\medskip

Usually, high order theories in Celestial Mechanics include
series with a very big number of terms. For instance, in ATESAT we manipulate
around 1200000 algebraic terms of this kind of series to apply three Lie
transformations (elimination of the parallax, elimination of the perigee and
Delaunay normalization) to the main problem of the artificial satellite and
create a six order theory.
\par\medskip

PSPC is a library of functions to manipulate
algebraically Poisson Series. It reproduces its algebraic structure in the
computer and extends the range of operations to differential and integral
calculus and other more involved operations such as substitutions of variables by
series, splitting series depending on certain conditions, etc. A more detailed
description of PSPC can be found in \cite{aba93}.
\par\medskip

Once we apply PSPC for solving a problem, we
obtain as  result one or more Poisson Series with a variable size depending on
the problem. Usually these series must be used:
\begin{itemize}

\item To make a qualitative study of the results
using other computer algebraic systems like {\sl Mathematica} or other with more
general tools including graphics.

\item To evaluate a theory making a quantitative study
of the problem by means of a compiled program using languages like C or FORTRAN.

\item To use a scientific word processor, like \LaTeX\, to write a  paper with the
results of  the theory.
\end{itemize}

Thus, a manipulation of the results
is needed to write the series in a format compatible with a software different than
PSPC. An automatic translation of the series would avoid the possible errors of the
manual manipulation of the series.  We describe here the characteristics of the
translation of the Poisson Series generated by PSPC to a format readable by {\sl
Mathematica}, C and \LaTeX.
\par\medskip

In the case of \LaTeX, the problem is a simple
translation between two different languages. However, when we try to use Poisson
Series in a C program to evaluate it, or in a {\sl Mathematica} session to handle it
together with a more general range of functions, we must take into account
different aspects than the simple translation.
\par\medskip

Considering the big size of the series  appearing in particular problems, like
the ones handed by ATESAT, we need  a way to write automatically an efficient C or FORTRAN
code to evaluate the series.  The efficiency will consist in reducing as much as
possible the number of accesses to the mathematical library, minimizing the evaluation of powers
and trigonometric functions and a good definition of the data structures used in the
evaluation. An algorithm of Coffey \& Deprit \cite{coffey} was used to make this efficient code;
however, the characteristics of the internal storage format of the series in PSPC makes
possible to improve the efficiency of the previous algorithm in certain cases.
\par\medskip

PSPC can collaborate with {\sl Mathematica} in two different
ways. The  simplest one    is the translation of the Series to the {\sl
Mathematica} format in order to use them in a {\sl Mathematica} session as a
usual {\sl Mathematica} object. A more involved way is to create, by means of the
communication protocol, MathLink (a new kernel of {\sl Mathematica}) named
PSPCLink. By means of this new kernel we will pass to PSPCLink all the operations
with Poisson Series and  we will pass to the kernel of {\sl Mathematica}
the rest of operations.  With this tool we combine the flexibility of {\sl
Mathematica} with the efficiency of PSPC.

\begin{thebibliography}{99}

\bibitem{aba93} Abad,~A. \& San Juan,~J.~F.: 1993, ``{PSPC}: {A} {P}oisson
{S}eries {P}rocessor coded in {C}," in {\it Dynamics and Astrometry of Natural
and Artificial Celestial Bodies} (S. Kurzy\'nska {\it et al} eds.), pp.
383--389. Poznan, Poland.

\bibitem{aba95} Abad,~A. \& San Juan,~J.~F.: 1995, ``{ATESAT}: Software Tool
for Obtaining Automatically Ephemeris from Analytical Simplifications," {\it
Conseil de L'Europe. Cahiers du Centre Europ\'een de G\'eodynamique et de
S\'eismologie.} (Ed. A. Elipe \& P. P\^aquet). Luxembourg. {\bf 10} pp 93--98.

\bibitem{aba96} Abad,~A. \& San Juan,~J.~F.: 1997, ``PSPCLink: A Cooperation
Between General Symbolic and Poisson Series Processors,"  {\sl
Journal of Symbolic Computation} {\bf 24}, 113--122.

\bibitem{aba98} Abad,~A, A. Elipe, J. Palaci\'an and J.F. San Juan.: 1998,
``ATESAT: A Symbolic Processor for Artificial Satellite Theory". {\it Mathematics
and Computers in Simulation}. {\bf 45}, 497--510.
\bibitem{aba98b} Abad,~A. \& San Juan,~J.~F.: 1998, ``Desarrollo de un kernel para
el tratamiento de series de Poisson en  Mathematica". Actas del cuarto
encuentro de Algebra Computacional y aplicaciones . Siguenza. pp 1--9.

\bibitem{coffey} Coffey, S.L. and Deprit, A 1980, ``Fast Evaluation of Fourier
Series". {\it Astron . Astrophys}. {\bf 81}, pp 310--315.

\bibitem{sanJuan96}
San-Juan, J.~F.: 1996, ``Manipulaci\'on Algebraica de Series
de Poisson. Aplicaci\'on a la  teor\'{\i}a del sat\'elite artificial",
Ph.D. thesis, Universidad de Zaragoza.

\bibitem {Wolfram}
Wolfram,~S.: 1988, {\sl Mathematica}$^{\rm TM}$, {\it A System
for Doing Mathematics by Computer,\/} Addison--Wesley Publishing Company,
Inc.

\end{thebibliography}
\end{document}
