{'fraction_non_alphanumeric': 0.027156796943569622, 'fraction_numerical': 0.007434560379988642, 'mean_word_length': 4.982087708462013, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Numeric Deduction in Symbolic Computation. Application to Normalizing Transformations

Algorithms of numeric (in exact arithmetic) deduction of analytical expressions, proposed and described by Shevchenko and Vasiliev (1993), are developed and implemented in a computer algebra code. This code is built as a superstructure for the computer algebra package by Shevchenko and Sokolsky (1993a) for normalization of Hamiltonian systems of ordinary differential equations, in order that high complexity problems of normalization could be solved. As an example, a resonant normal form of a Hamiltonian describing the hyperboloidal precession of a dynamically symmetric satellite is derived by means of the numeric deduction technique. The technique provides a considerable economy, about 30 times in this particular application, in computer memory consumption. It is naturally parallelizable. Thus the economy of memory consumption is convertible into a gain in computation speed.


Introduction
Complexity of symbolic computations usually depends on integer parameters. E.g. in case of expanding a function in a series, these complexity-governing parameters are the expansion order and the number of variables; in case of computing the determinant of a matrix with symbolic elements, this parameter is the size of the matrix; for solving a system of differential equations, this is the order of the system; etc. Besides, the complexity of computations depends on a number of free symbolic parameters in an analytical expression under construction.
With an increase of N (in what follows any complexity-governing parameter) the complexity of computations usually also increases, this growth however being different for an amount of intermediary computations and for a volume of a final result. E.g. there may be the following situation: the amount of intermediary computations grows exponentially with N, i.e. grows rapidly, but the final result has the complexity growth linear in N, i.e. remains still simple.
Suppose that one resolves a computer algebra problem depending on a parameter. Some variation, say growth, of the parameter leads to growth of complexity of the computation. Let V f in be the volume of the final result, V int be that of all intermediary expressions. If the ratio V f in /V int tends to zero with increasing the value of the parameter, I call such a problem in what follows a 'generic parametric problem', since dependences of V f in and V int on N are expected to be generically different.
An example of a problem analogously generic in the sense above, but in ordinary non-symbolic computations, is provided by computation of a chaotic trajectory of a dynamical system. The exponential divergence of chaotic trajectories (see e.g. Lichtenberg and Lieberman 1992) implies that a linear increase of accuracy of the output of coordinates at a given time of the trajectory's evolution requires an exponential increase of accuracy of starting values and that of computation as a whole.
The term 'generic' does not straightforwardly mean that generic parametric problems are most abundant in applications of computer algebra. This deserves a separate study. Generic parametric problems often emerge when it is necessary to accomplish analytical simplification of intermediary expressions with respect to parameters. It takes space and time. One of such examples, concerning normalization of systems of ordinary differential equations, is considered in this paper.
Rapid growth of complexity with increasing the parameter N leads to a fast exhaustion of computer's memory and impossibility of further analytical computation. Radical means for economy of memory consumption are provided by the method of numeric deduction of analytical expressions, suggested by Shevchenko and Vasiliev (1993). It consists in restoration of an analytical expression on a set of its exact numeric evaluations obtained on a set of some simple exact numeric values of parameters which the derived expression depends upon. One should stress that exact arithmetic is used, not the approximate one usually implied by 'numeric computation'.
The method of numeric (or, to put it rigorously, exact-numeric) deduction is essentially based on an extension to rational functions of the 'evaluationinterpolation' technique for computations with polynomials. This latter technique is standard in computer algebra (see e.g. Geddes et al. 1992, Chapter 5).
The method of numeric deduction (or, the formula-guessing technique) may constitute the only means for deriving analytical expressions, when the parametric problem is generic in the sense above and the value of N is high.
The motivation of the following study is to investigate the benefits of the formula-guessing technique in a real analytical computation. The plan of the paper is as follows. First, theoretical basics for the numeric deduction of analytical expressions are recalled. Then the computer algebra package 'Norma' for normalization of Hamiltonian systems of ordinary differential equations and the problem of normalization itself are described briefly. Then a computer algebra code of numeric deduction, written in the REDUCE language, is described. Then, normalization of a resonant Hamiltonian for the hyperboloidal precession of a symmetric satellite, accomplished by means of this code, is considered. Finally, major results of the experience in application of the code are analysed; these results consist in economy of computer's memory and opportunities for parallelization.
Indeed, the term 'parallelization' provides a better grasp on the essence of the method of numeric deduction. This technique can thus be called the method of 'numeric parallelizing', or, more rigorously, 'exact-numeric parallelizing', since computations in exact arithmetic are implied.

2
Theoretical basics for numeric deduction of analytical expressions Numeric deduction of an analytical expression consists in its restoration upon a set of exact numeric values of parameters which the expression depends upon. In this section the basics of this method are recalled following Shevchenko and Vasiliev (1993). Exclusively exact arithmetic is implied in what follows.
Given the numeric data set computed for various values of paramaters which the unknown analytical expression depends upon, one may try to recover this expression. There are two main ingredients in the procedure of numeric deduction: (1) recovery of structure of the derived expression from its numeric evaluations, and (2) Padé interpolation of numeric values which have one and the same location in this structure. A numeric data set subject for restoration of an analytical expression may be e.g. of the form 1 + 3 * SIN(1/3), 3/2 + 7/9 * SIN(5), etc.
The first major problem is that of distortion of structure of restored expressions. Namely, there exist degenerate cases, when the structure is distorted, because prefix forms, representing transcendental and algebraic functions, disappear due to simplification rules: e.g. LOG(1) = 0, SQRT(4/9) = 2/3. What is more, the most hasardous for the accomplishment of the procedure of restoration is the distortion of the kind SQRT(5/9) = 1/3 * SQRT(5), when numbers 'drift' from under the prefix. Probabilities of distortion for prefix forms representing transcendental and algebraic functions constitute an hierarchy. For some important functions, the probabilities can be found in Shevchenko and Vasiliev (1993). E.g. the probability of distortion for SQRT (square root) is equal to 0.39 when its argument is integer, and to 0.53 when it is rational; that for CBRT (cubic root) is equal to 0.17 and 0.23 accordingly. These are average probabilities calculated for argument values taken at random.
The second major problem is that of verification of a restored expression. It can be verified (1) by means of an independent check (e.g. a solution of an equation can be verified by its direct substitution in the equation); (2) by proving analytically that the powers of restored rational functions in the procedure of Padé interpolation have some upper bounds, and computing the sufficient number of evaluations; (3) by checking the derived expression on an extra set of numeric evaluations, and relying on the assumption that the probability of an accident coincidence is zero.
In the example of normalization of a Hamiltonian system of ordinary differential equations, considered in this paper, the third way is chosen. Besides, the resulting expression obtained by means of numeric deduction, is independently derived by means of a direct symbolic computation requiring much greater memory expenditures.
3 Computer-algebraic normalization of Hamiltonian systems of ordinary differential equations Reduction of a Hamiltonian system of ordinary differential equations to a normal form is often used to derive an analytical solution of the system or to analyse its stability. In particular, the method of normal forms allows one to find approximate general solutions in the neighbourhood of points of equilibria or periodic motions and to analyse stability of motion in their neighbourhood.
The specialized application package 'Norma' (Shevchenko and Sokolsky, 1993a) is intended for an analytical accomplishment of procedures necessary for normalization of autonomous Hamiltonian systems. The codes of the package are written in the language of the REDUCE 3.2 computer algebra system (Hearn, 1985;Yamamoto and Aoki, 1989). The package allows one to accomplish linear and non-linear normalization of the systems. Besides, it is important that it utilizes a special memory-consuming algorithm to derive expansion of a Hamiltonian in power series with respect to canonical variables in the neigbourhood of a fixed point.
Let q j , p j be the coordinate and momentum variables; j = 1, . . ., N, where N is the number of degrees of freedom. When all the eigenvalues of the matrix of a Hamiltonian system linearized in the neighbourhood of a point of equilibrium are strictly imaginary, and resonances up to the second order inclusive are absent, i.e. there are no zero or equal frequencies, the quadratic part of the Hamiltonian, according to Arnold (1974), is reducible to the normal form where λ j = δ j ω j , δ j = ±1. The quantities ω j = |λ j | are the frequencies of the linearized system. In the non-resonant case, in the 'polar' canonical variables r j , ϕ j , defined by the formulas the Birkhoff normal form of order M ≥ 4, according to Arnold (1974), is , where h (≥M +1) represents terms of degree M + 1 and higher with respect to the variables q j and p j (or, equivalently, terms of degree higher than [M/2] with respect to the variables r j ); these terms may depend on angle variables. By definition, the resonance takes place if a set of integer numbers k j exists such that where ω j are the frequencies, k 1 ≥ 0. The quantity k is the order of the resonance.
In the 'Norma' package, the non-linear normalization is performed by the method based on Lie transformations (Hori, 1966;Deprit, 1969;Mersman, 1970). The number of degrees of freedom and the order of normalization are arbitrary. The coefficients of the initial Hamiltonian may have symbolic or exact numeric representation. The code of non-linear normalization in the 'Norma' package computes the normalized Hamiltonian and the generating function of the normalizing transformation.

The code for numeric deduction of analytical expressions
To show how the method of numeric deduction works, I apply the 'Norma' specialized package to studies of small-amplitude periodic motions in the neighbourhood of regular precessions of a dynamically symmetric satellite in a circular orbit around a point gravitating mass. The precession is called hyperboloidal, when a satellite's axis of symmetry describes a hyperboloidal surface in space (Beletsky, 1975).
In what follows, an analytical expression for the normal form in case of a particular resonance is derived. The final formula is important for studies of the orbital stability of motion in the neighbourhood of the hyperboloidal precession (Shevchenko and Sokolsky, 1995). Note that formulas for normal forms for the hyperboloidal and cylindrical precessions for various resonant and non-resonant cases can be found in Sokolsky (1993b, 1995); expressions given there were obtained by means of a direct symbolic computation. The subject of consideration in what follows is not the final formula itself, but the way of its deduction.
The direct symbolic computation (Shevchenko and Sokolsky, 1995) shows that the analytical complexity of resonant normal forms in the problem of hyperboloidal precession grows linearly with the order of normalization, while the volume of intermediary calculations, due to necessity of analytical simplification of intermediary analytical expressions, almost doubles with every order of normalization, i.e. grows exponentially. It means that the computer algebra problem of normalization of the Hamiltonian for the hyperboloidal precession is generic as defined in the Introduction.
Algorithms of numeric deduction are implemented here in a computer algebra code as a superstructure for the 'Norma' computer algebra package. A specific code implementation for an individual problem seems to be the most promising approach for applications of the formula-guessing technique, since the variety of possible applications is too great to attempt to build a universal system.
According to Section 2, a code implementing the formula-guessing technique should include two main parts: a part for the structure analysis of numeric data, and that for numeric restoration of 'remnants' of analytical expressions. The structure of restored expressions in the problem under study is relatively simple. The code for its analysis was written especially for this problem. It does not have general significance and is not described here.
The part realizing the Padé interpolation is of a general applicability. It implements restoration of rational functions which produce elementary numeric remnants. Prefix forms representing transcendental and algebraic functions, according to Section 2, are generally much less destructible. The language of the REDUCE computer algebra system (Hearn, 1985) was used in writing this code of restoration of rational functions. The set of numeric evaluations of the final expression, obtained by means of consecutive application of the 'Norma' package for a set of numeric values of the parameters of the problem, serves as an input for the code.
First the code checks if the number of an expression evaluations is sufficient for restoration of a rational function with prescribed lengths of polynomials in the numerator and denominator. The lengths are specified by setting the minimum and maximum values of the degrees of terms in the interpolating polynomials. They are designated in the code by k and l for the numerator, and by m and n for the denominator. Before computation, certain assumptions can be made on the possible ranges of k, l, m, n. E.g., in the example of the code given below, it is assumed that the denominator consists of a single monomial of a prescribed degree (guessed by induction from the appearance of coefficients of lesser order). Taking wider ranges would result in a somewhat greater computation time. If one makes a wrong assumption on these ranges, the procedure either complains on the insufficiency of data, when the number of data points is insufficient; or fails to verify the final expression on the additional data set, when the assumed ranges do not cover real ones. The data are insufficient, if n sum = l − k + n − m + 1 is greater than the number of data points.
Generally, when no assumptions are made beforehand on the ranges of k, l, m, n, the algorithm is as follows. The values of k, m are set to zero; the values of l, n are step by step increased from zero, and for each set of k, l, m, n, the rational function is restored. Thus the values of l, n are increased until the rational function does not change anymore, i.e. its form stabilizes, and it fits all data points. If at some step the data are insufficient, more numeric data points are computed and added to the data set. Note that the time and memory expenditures at the stage of restoration are negligible in comparison with main expenses, which are associated with the construction of the numeric data set.
In the example which follows, after checking the sufficiency of data, the input data are squared, since the resulting expression, judging from its numeric remnants presented below, contains square roots. Then the procedure rf n of the Padé interpolation is called. It produces the resulting expression f , and the latter is verified for the remaining data points.
The procedure rf n, implementing the Padé interpolation, restores a rational function f from its numeric remnants. Undetermined coefficients and some linear algebra are used.
This direct symbolic computation turned out to require more than 3 Mb of memory, i.e. more than 30 times greater than in case of the numeric deduction computation. The reason for this economy is clear: it needs much less space to store numerals, than to store complicated analytical expressions. Besides, it takes less time and memory to operate with numerals than with analytical formulas. The formula-guessing technique uses very small amount of memory for computations at each point (at each numeric starting value) in the data set. As the computation is made in a sequence, from point to point, the over-all economy of memory is achieved.
This gain in memory's economy can be converted into a gain of the computation speed, if the computation on the data set is performed not in a sequence, but in parallel. Indeed, the final procedure of restoration of an expression is not time-consuming; it is the construction of the data set for this restoration which constitutes a major part of time expenditures. If initial data sets, i.e. sets of numeric values of parameters, are constructed to be of homogeneous complexity, the elementary processes of numeric evaluations of the desired expression at each point would be approximately of one and the same duration. This means that the advantage in memory consumption is convertible into an advantage in the computation speed, if numeric evaluations of the resulting expression on the set of parameters' values are performed in parallel.

Conclusions
The major benefit of using the formula-guessing technique, in comparison with the direct symbolic computation, consists in a considerable decrease of computer's memory consumption. As it was shown above in the example of application of this technique to the problem of normalization of a Hamiltonian system of ordinary differential equations, the relative decrease in the memory consumption can be more than 30 times. This advantage in the memory's economy is convertible into a gain of computation speed. This follows from the fact that the elementary processes of numeric deduction are approximately of one and the same duration, if the set of initial data is constructed to be of homogeneous complexity. Thus the algorithm of numeric deduction of analytical expressions is naturally parallelizable.
It is a pleasure to thank Andrej Sokolsky and Nikolay Vasiliev for useful discussions.