A Project of a Globally Universal Interactive Program of Formula Derivation Based on Operator Factorization Method

Preprint, Inst. Appl. Math., the Russian Academy of Science

A.W.Niukkanen, I.B.Shchenkov, G.B.Efimov


Russian Academy of Science, Keldysh Institute of Applied Mathematics

Moscow, 2003

This work was supported by RFBR grant 03-01-00708

Abstract

Specific features of the operator factorization method are established making possible a global program implementation of the method with the help of the superstructure Santra 3 over the algorithmic language Refal. The complete set of the main operations of the factorization method is given. These operations serve as prototypes of command entries of the instruction set of the super structure Hypertrans over Santra 3. Program realization of typical operations of factorization method by means of the program tools of the system under development showed feasibility of the project aimed at development of a globally universal Hypertrans mathematical system capable to realize the complete set of operations inherent in the factorization method.

Contents

1. Introduction   .....................................................................................4
2.  Operations    used    in    the    factorization    method   .................5

2.1. Factorization formulas 
2.2. W-multiplication properties 
2.3. W-equivalent operators 
2.4. Operators relationships  
2.5. Elementary reduction formulas 
2.6. Auxiliary algebraic identities 
2.7. Linear transformations
3.  Description    of    Hypertrans    functions    by    tools    of    the    symbolic   manipulation   system   Santra 3     .................................. 11

3.1. Algebraic expression for function 
3.2. Santra 3 representation of recurrence relation for the binomial series 
3.3. Description of operator action upon a hypergeometric function 
3.4. A simple example using system function GTFMSET 
3.5. General identification of polynoms 
3.6. Program call of program operator OMEGAFACT 
3.7. Program function APPLYSER 
3.8. Construction of an W-product 
3.9. Description of the function OMEGAPROD
3.10. Complete description of OMEGAPROD 
3.11. Final result
References   ......................................................................................23


1.  Introduction

The most surprising feature of the operator factorizatiom method [prep1] is that thirty add main operations (see Sec.2) underlying the method allow any formula for any hypergeometric series to be derived in a simple and effective manner. Loosely speaking it means that the set of operations is complete within the class of problems relating to hypergeometric series. Up to the present only separate program tools were available. Having used computer-aided approach to realize one of the desired transformations the researcher was compelled to turn back to manual, with pen and paper, work until he encountered a transformation to which another computer-aided tool could be applicable. The completeness of the factorization method operations opens up the prospect of an uninterrupted computer session of formula derivation. This is the first reason attaching importance to the development of a globally universal program implementing the main operations of the factorization method. The small size of the operation set is an additional feature giving advantage to the factorization method over other approaches.

The tools of investigation used in mathematics are much more numerous than the objects of investigation. While the objects are, more or less, classified and put in an orderly fashion, the tools form a huge disorderly conglomeration of formulas. The tools may include objects that were investigated previously. Is it possible that some objects were at once the goals of investigation and the only investigatory tools of the same set of objects. In our case the striking answer is "yes". The factorization principle being applied to hypergeometric series shows that each simple and multiple series can be directly expressed through simpler series of the same hypergeometric type. If we know the properties of the series occurring in the factorized form of a complicated series we can readily establish any desired property of the complicated series with the help of the self-same set of operations mentioned above. This shows that hypergeometric series constitute a unified family of functions closely connected with one another. Due to prevalence of hypergeometric series in applied science we expect that program realization of the operator factorization method may become a breakthrough not only in the theory of hypergeometric series but in applied analysis as well. In the distant future such programs may provide a basis for a new generation of mathematical information systems using advanced knowledge bases rather than out-of-date data bases.

Specific features of the operator factorization method make possible a global program implementation of the method with the help of the superstructure Santra 3 over the algorithmic language Refal. In Sec.2 we give a complete set of the main operations of the factorization method. These operations serve as prototypes of command entries of the i instruction set of the superstructure Hypertrans over Santa 3 (see Sec.7 in [
prep1]). Program realization of a part of the main operations of the factorization method is given in Sec.3. The examples given in Sec.3 show feasibility of the project aimed at development of a globally universal Hypertrans mathematical system capable to realize the comlete set of operations inherent in the factorization method.
2.  Operations used in the factorization method

These operations play the role of computer commands projects. Although only a minor part of operations is put into a form of Santra 3 commands (see Sec. 3) we give here a complete, with respect to the main operations, set of derivation rules.
2.1. Factorization formulas                    COMMANDS (I)
FACT1. Factorization formula of the series of the F[d;x]
F[d1 ; x1 d(s)] F[d2;x2s] |
 
 
s=0
= F[d1,d2 ; x1 x2] ,  d(s)=d/ds     (1)
FACT2. Factorization formula of the series in one variable containing compound parameter
F[d1 ; x1 d(s)] F[d2;x2sm] |
 
 
s=0
= F[<d1| m>, d2 ; x1mx2]  .     (2)
FACT3. General factorization formula of the series NF
NF[L1L2 ; x1, ... ,xN]
=NF [ L1 ; d(s1), ... ,d(sN)]    NF[L2 ; x1s1, ... ,xNsN ]   |
 
 
" sn=0
.
    (3)
FACT4. Special factorization formula of the series NF
NF[<d| m1, ... ,mN>, L ; x1, ... ,xN]
= F [ d ; d(s) ]   NF[L ; x1sm1, ... ,xNsmN |
 
 
s=0
.
    (4)
FACT5. Factorization of NF containing the glueing operator F[d0 ; x dm(s)]
F[d0;x dm(s)]F[d1 ; x1sm] ··· F[dN ; xNsm]|s=0
=F é
ê
ê
ë
d0,
1
m
,...,
(m-1)
m
:d1;...;dN; xx1mm,...,xxNmm ù
ú
ú
û
.
    (5)

2.2. W-multiplication properties                 COMMANDS (II)
OMEGA 1. Commutativity property u*v=v*u           (COMM)
u(d(s))v(xs)|s=0=v(d(s))u(xs)|s=0     (6)
OMEGA 2. Coupling rule                        (COUP)
u(d(s))v(xs)|s=0=u(xd(s))v(s)|s=0.     (7)
OMEGA 3. Associativity property                    (ASSO)
<w*(u*v)|x>=<(w*u)*v|x>     (8)
OMEGA 4. exp(x) plays the role of W-unit               (OMUN)   that is f=f*exp=f, or
exp(d(s))f(xs)|s=0=f(d(s))exp(xs)s=0=f(x).     (9)
OMEGA 5. The property of the W-unit function exp (see (9)) can be interpreted as "renaming" (s for x) property              (REN)
exp(xd(s))f(s)|s=0= f(x)=f(s)|sÞ x.     (10)

2.3. W-equivalent operators                   COMMANDS (III)
EQUIV1. An arbitrary operator multiplied by power function
F(d(s))sn Y(s)|s=0 = F(n)(d(s)) Y(s)|s=0     (11)
EQUIV2. An arbitrary operator multiplied by exponential function
F(d(s))exs Y(s)|s=0 = F(d(s)+xY(s)|s=0     (12)
EQUIV3. The binomial operator multiplied by exponential function
F01[a;d(s)]exs Y(s)|s=0 = (1-x)-aF01 é
ê
ê
ë
a;
d(s)
1-x
ù
ú
ú
û
  Y(s) ½
½
½
½
 



s=0
    (13)

2.4. Operators relationships                  COMMANDS (IV)
OPER1. Shift operator identity                      (SHIFT)
exp(u d(x))f(x)=f(x+u) .     (14)
OPER2. Similarity transformation (F and f are arbitrary functions, A is an arbitrary operator)                            (SIMIL)
f-1 F(Af=F(f-1A f )=F(A+f-1[A,f ] ) .     (15)
OPER3. Operator argument displacement formula           (DISP)
exp(-vx)F[d(x)]exp(vx)=F[d(x)+v]     (16)
OPER4. Applying of a differential operator to exp(x)      (OPEXP)
F(d(x)) exp(ux)=F(uexp(ux)     (17)
OPER5. Generalized Leibnitz rule                    (LEIB)
F(d(x)) f1(x)f2(x)= F(d(x1)+d(x2))f1(x1)f2(x2)|x1=x2=x     (18)
OPER6. Differentiation of hypergeometric series           (DIFHYP)
dn(xF[dux] = un(d,nF[d+nux]     (19)



2.5. Elementary reduction formulas
             COMMANDS (V)
RED1. Reduction of the exponential series F
00          (REDEXP)
F00[*//*;x]=exp(x)     (20)
RED2. Reduction of the binomial series F01           (REDBIN)
F01[a//*;x]º F[a;x]=(1-x)-a.     (21)
RED3. Reduction of infinite geometrical progression       (GEOINF)
¥
å
n=0
xnº F01[1;x] =
1
1-x
    (22)
RED4. Reduction of finite geometrical progression       (GEOFIN)
N
å
n=0
xn =
1-xN+1
1-x
    (23)
RED5. Breaking up of the series NF with empty glueing set into a product of simple series
NF[* : d1 ;...; dNx1,...,xN] = F[d1x1]··· F[dNxN]     (24)
RED6. Equal parameters can be cancelled out from the numerator and denominator list of parameters of a series NF, that is           (CANC)
F[a, d//ax] = F[dx]     (25)

RED7. If a series
NF contains the parameter á0|mñ where mn³n=1,...,N then the summation indices of the NF corresponding to positive mn's vanish. The corresponding variables and spectral components should be cancelled out. Only those quantities connected with zero mn's survive in the coefficience of the series NF                      (SUPPR)
RED8. The contraction reduction is clear from            (CONTR)
4F[á d1|1333ñ ,á d2|2111ñ ,...;  x1,x2,x3,x4]
=2F[á d1|13ñ ,á d2|21ñ  ;x1,x2+x3+x4].     (26)


RED9. The series bº
N+1F(x0x) having binomial type (1//0) with respect to x0 is expressed as                             (BIN)
bº N+1F[á n|1,mñ ,L*;x0,x]
= (1-x0)-n N F[á n|1,mñ ,L*;(1-x0)-m x]     (27)



2.6. Auxiliary algebraic identities
              COMMANDS (VI)
ALG1 Analogs of Gauss-Legendre multiplication formula   (MULT(m))
(a,m i) = mm i  æ
ç
ç
è
a
m
,i ö
÷
÷
ø
æ
ç
ç
è
a+1
m
,i ö
÷
÷
ø
 ···  æ
ç
ç
è
a+m-1
m
,i ö
÷
÷
ø
 ,     (28)
(MULT (2)) :        (a,2i)  =  4i  æ
ç
ç
è
a
2
,i ö
÷
÷
ø
æ
ç
ç
è
a+1
2
,i ö
÷
÷
ø
    (29)
ALG2. Inversion formula for Pochhammer symbol         (INVER)
(a, -I) = (-1)I (1-aI)-1     (30)
ALG3. Inversion of RED1: introduction of equal parameters in numerator and denominator of a series                     (INTRO)
F[dx] = F[ad//ax]     (31)
ALG4. Vertical transfer of parameters                  (VERT)
NF[á a | m1,...,mN ñLx] =NF[L//á 1-a | m1,..., mN ñ; (-1)m  x] ,     (32)
        x =[x1,...,xN],    (-1)m x = [(-1)m1x1,...,(-1)mNxN]
ALG5. Any series
NF is symmetric with respect to simultaneous permutation of arguments xi \rightleftharpoons xj, individual sets of parameters di \rightleftharpoons dj and all corresponding spectral numbers mi \rightleftharpoons mili \rightleftharpoons lj, etc.        (SYMM)
ALG6. Uniformization (in x) of the argument of the series F
01    (UNIF)
F01[ax+u]=(1-x-u)-a=(1-u)-a  F01 é
ê
ê
ë
a
x
1-u
ù
ú
ú
û
    (33)
ALG7. Factorization of geometrical progression F01[1; x] into a product of two progressions                               (PROG)
F01[1; x] = (år=0N-1xr)   F01[1; xN]     (34)
ALG8. Decomposition of ex into a sum of N series FN-10(xN (DEXP(N))
ex =
N-1
å
r=0
xr
r!
F é
ê
ê
ê
ë
*;  (x/N)N
1+r
N
,···,
N-1
N
,
N+1
N
,···,
N+r
N
ù
ú
ú
ú
û
    (35)

ALG9. Addition formula for binomial series           (ADDBIN)
F01[ax1+x2] =
¥
å
n=0
 
(a,n)
n!
  x1n F01[a+nx1x2n F01[a+nx2]     (36)
ALG10. A series N+1F containing an "indefinite" parameter á0|_1,p ñ with zero argument and alternating spectrum |_1,p ñ where _1º -1,  p 1³ 0, ... pN³0 is reduced to a simpler form containing but "definite" parameters. We illustrate this important fact by the instance of two variables:
2F[á0|1,
1
ñ,á d'1|m1,m2ñ, ...:d1;d2;  x1,x2]             (INDEF)
2F[á d2//1|1,1ñ,á d'1|m12, m2ñ,··· :d1; * ; x1x2,-x2] ,     (37)
where m12=m1+m2.

The inverse "indefinite" transformation is               (INDEF2)
F[d0,á d1'|m1,m2ñ, ··· : d1; * ; z1,z2]
=F[á 0 | 1,1 ñ,á d1' | m1-m2,m2 ñ, ··· : d1; 1,d0; -z1/z2,-z2].     (38)
2.7. Linear transformations                 MACRO-COMMANDS
1. Canonical form of the series
N+1F[L0,L*x0, x] with respect to x0 is the form where all spectral numbers relating x0 are non-negative. The Kummer and the Gauss canonical forms having types (1//0) and (2//1) with respect x0 are given by
KN+1F [án1|1, m1ñ  // án0|1, m0ñ] ,  L*x0,x] ,
G = N+1F[á n1|1,m1ñ,án2|1,m2ñ //án0|1,m0ñ],L*;x0,x] .
2. Kummer-type linear transformation Linear transformation connecting two series having the Kummer type (1//1) with respect to x0 (the L* symbolizes the coefficients independent of summation index i0):
F é
ë
án1|1,m1ñ L* ; x0, x
án0|1,m0ñ
ù
û
                         LIN(K)
= exp(x0F é
ê
ê
ë
án
 
0
1
|1,m
 
0
1
ñ
, án1|0,m1ñL* ; -x0,x
án0|1,m0ñ 
, án
 
0
1
|0,m
 
0
1
ñ
ù
ú
ú
û
 .
3. Linear Gauss-type transformations For each series we use a canonical representation where all spectral numbers connected with x0 are equal to 1. In the three transformations there are changed, consecutively, the first (G01), the second (G02) and the both (G00) numerator parameters. The symbol Q in (GOQ) is the number of argument.
F é
ë
án1|1,m1ñ , án2|1,m2ñ , L* ; x0,x
án0|1,m0ñ
ù
û
=
     

= L
10Fº(1-x0)-n2  ×                          LIN(G01)
× F é
ê
ê
ê
ê
ë
án
 
0
1
|1,m
 
0
1
ñ ,
án2|1,m2ñ ,
án1|0,m1ñ ,  L* ; 
x0
x0-1
,
x
(1-x0)m2
án0|1,m0ñ ,
án
 
0
1
|0,m
 
0
1
ñ
ù
ú
ú
ú
ú
û
     

= L
20Fº(1-x0)-n1  ×                          LIN(G02)
× F é
ê
ê
ê
ê
ë
án1|1,m1ñ ,
án
 
0
2
|1,m
 
0
2
ñ ,
án2|0,m2ñ , L* ;
x0
x0-1
,
x
(1-x0) m1
án0|1,m0ñ ,
án
 
0
2
|0,m
 
0
2
ñ
ù
ú
ú
ú
ú
û
     
  = L00Fº(1-x0)n 0 1_2_  ×                          LIN(G00)
× F é
ê
ê
ë
án
 
0
1
|1,m
 
0
1
ñ,
án
 
0
2
|1,m
 
0
2
ñ,
án1|0,m1ñ , án2|0,m2ñ , L* ; x0,X
án0|1,m0ñ,
án
 
0
1
|0,m
 
0
1
ñ,
án
 
0
2
|0,m
 
0
2
ñ
ù
ú
ú
û
,
     
where X= x(1-x0)-m  _012  .
3.  Description of Hypertrans functions by tools of the symbolic manipulation system Santra 3

The main goal of this section is to substantiate the statement that the operations of the factorization method can be programmed using the language of Santra 3 system which is based on the language of already existent Santra 2 system [1]-[6]. In turn the Santra 2 is based on the accumulated experience of algebraic transformations [7]-[10] using Refal 2 language [11]-[13].

For the sake of brevity we do not give a detailed language description confining ourselves to description of specific algorithms which correspond to the selected transformations of hypergeometric functions. Such descriptions may serve as examples of proposed language constructions thus reinforcing the proclaimed feasibility of Hypertrans construction (levels 2,3 and 4 are implied; see Sec.7 in [
prep1]). Level 2 (Santra 3 language) is on the stage of realization completion. Level 3 (Hypertrans functions) which is the basic level of Hypertrans system will assure full-scale possibilities of formula derivation for hypergeometric series. Level 4 (graphic Hypertrans shell) would give us a handy graphic access to the tools of the level 3.

The level 1 is supposed to be complemented by effective graphic interface. This problem falling outside the scope of the present project is expected to be solved by the author of Refal 6 [
arklimov]. This will make Refal 6 more complete and convenient for extensive use in development of various projects.

Derivation of recurrence relation for the Bessel-type series F
10 (see Sec. 4.7 in Ref.[prep1]) will give us sufficiently persuasive example with respect to the potentialities of the operator factorization method and the feasibility of implementing the main operations of the method by means of Santra 3 language constructions.

The surprising (and typical for the factorization method!) thing is that the desired relation for the series F
10 follows from the elementary relation
(1-x)-a = (1-x)(1-x)-a-1 = (1-x)-a-1 - x (1-x)-a-1 .     (39)

Using power expansion F[ax] for the binomial function (1-x)
-a we have
F[ax] = F[a+1; x] - x F[a+1; x] .         (40)

We shall construct, step by step, Santra 3 representation of the identity (
40) and all program operators and functions necessary to derive the desired recurrence relation using eq. (40) as a proto-relation (see Sec. 4.6.4 in [prep1]). To begin with we consider a separate hypergeometric function.
3.1. Algebraic expression for hypergeometric function
An algebraic expression is represented in Santra by a single "fraction-like" construction with common denominator. This construction is converted into a normal form permitting easy performance of different algebraic operations. A normal form is introduced by angular bracket "<...>" where dots stand for a Santra expression. The Santra representation of the binomial series F[ax] is
<"F' (((<"a'>)) ()) (<"x'>)>
Double and single quotes form bracket-like structure which is called q-text. The names of variables and functions are introduced by q-texts. Generally, the q-texts are used to indicate the program fragments whose computation is delayed. These fragments may contain, in turn, upper level q-texts. The tree structure of q-texts can be used to realize the data processing on analogy with abstract data types. It is also of use for implementing relocated subroutines.

The function F has two arguments each enclosed in angular brackets and parentheses. The first bracket pair contains parameter and the second one encloses argument. Generally, the total set of parameters is represented by upper and lower sets of parameters (see [
prep1]). Each set must be enclosed in a separate bracket pair. Empty parentheses denote empty set of parameters. To finish construction of the normal form, the whole expression should be put into angular brackets. If the above expression were a part of more general expression the latter should be delimited by a separate pair of angular brackets signifying reduction of the total expression to normal form. The inner angular brackets play the same role. The printed form of the expression would be the same as given above.
3.2. Santra 3 representation of recurrence relation for the binomial series
Turn now to the identity (
40). The universal structure of the programming system appears in that the identity can be looked at as an object and as such it can be represented by a special operator EQU having arbitrary structure. To avoid the necessity of reducing the total identity to a common denominator it is expedient to break up the both parts of the identity onto separate summands each having a separate representation enclosed into a separate pair of brackets. Besides, the left and the right sides will be put into separate external parentheses. The resultant construction representing the identity (40) takes the form
<"EQU' ( (<"F'  (((<"a'>)) ()) (<"x'>)>))                  
( (<"F'  (((<"a'+1>)) ()) (<"x'>)>)                  
  (<-"x' *  "F'  (((<"a'+1>)) ()) (<"x'>)>)) > : e0 =                  
To be able to process the identity as a whole we give the name eO to it. The equality sign plays the role of delimiter and indicator that the program will not return to the fragment.
3.3. Description of operator action upon a hypergeometric function
What operation can be performed with the object eO? Recollect that action of operators upon functions (under supplementary "zero condition") is the essence of the factorization method. That's why we need description of operators. The operator
F20 é
ê
ê
ê
ë
*
z
d
dx
a,a+1
ù
ú
ú
ú
û
½
½
½
½
 



x=0
 ,
which is to be applied to the identity (40) is represented by the record
<"COND' (<"F'  (()  ((<"a'>)  (<"a'+1>)))  (<"z'*"d'(<"x'>)>)  >)                  
  ((<"x'>)  (<0>))  >)  >                  
The external function COND is used to denote the condition "x=0" (see the second parameter); the first parameter represents the body of the operator proper. Differentiation o perator is given by the program function "d'(<"x'>). An action of operator will be denoted by the program operator OPER. As a result the action of the operator F20 upon the function F[ax] can be written as
<"OPER' (<"COND' (<"F' (() ((<"a'>) (<"a'+1>)))                  
  (<"z'*"d'(<"x'>)>) >) ((<"x'>) (<0>)) >)                  
       (<"F' (((<"a'>)) ()) (<"x'>) >) >  (I)                  
The record is formal because the condition "x=0" relates to the function produced by the action of operator rather than to the operator itself. To make the record "less abstract" and more transparent we transform the above record as follows
<"COND' (<"OPER'(<"F' (() ((<"a'>) (<"a'+1>)))                  
  (<"z'*"d'(<"x'>)>) >) (<"F' (((<"a'>)) ()) (<"x'>) >) >)                  
  ((<"x'>) (<0>)) > : eOP =    (II)                  
In what follows we shall use more descriptive form (II). The form of the type (I) may appear in case of "nonrecognizability" of either the operator or the object (see the last sentence in the function OMEGAFACT below). An expression of type (II) will be constructed with the help of the program function OMEGAFACT whose arguments are operator and object. The program definition of OMEGAFACT is performed with the help of the system function GTFMSET
<GTFMSET ("OMEGAFACT')(("...'))>        
where OMEGAFACT is the name of the defined function, and dots uncover content of the function. We next proceed to description of this function.
3.4. A simple example using system function GTFMSET
As a simple illustrative example we give description of function of one argument FACT which calculates factorial of an integer:
<GT FMSET ("FACT')(("(eN),                  
  {                  
  <1> : eN = <1>;                  
  = <(eN) * FACT(<(eN)-1>)>;                  
  };          '))>;                  

The symbol eN is variable of the function FACT. The first entry of the variable in parentheses (eN) is a formal parameter describing the argument. The possible use of the fuction is illustrated by expression
<FACT (<5>)>

The result of this calculation is the number <120>. Printing output (along with calculation) is performed by
<PRIEL (<FACT (<5>)>)>

3.5. General identification of polynoms
Generalized identification of polynoms is an important instrument of description of functions. The identification allows the functions which are contextually defined by argument, exponent, coefficient and free term to be extracted from normal forms. A function f may apper in formula as
a + b  *  [f(x)]n ,
where a is a free term, b is a coefficient, x is a set of arguments and n is a power. Program-driven search of all such expressions can be realized with the help of a generalized pattern
~ eA + eB  *  "F'eX  eN
where the program variables beginning with "e" correspond to the letters of the above form describing the entry of function f in an expression. The corresponding fragments of such expression can be obtained as values of the program variables. The generalized patterns being an innovation of Santra 3 will be widely empoyed in the present work.
3.6. Program call of program operator OMEGAFACT
OMEGAFACT which is the function to be defined has two arguments. The first argument is an operator. The second argument is an object upon which the operator acts. Skipping the stage of detailed program description of the function we only give the function call:
<OMEGAFACT (eOP) (e0) >  :  eOF,

The two arguments of the function OMEGAFACT will be represented by two terms "(eO) (eX)". The first sentence describing occurence of new grammar structures in the operator EQU is
eX ~ "EQU'(eL)(eR) =                  
  <"EQU'(<<(APPLYSER (OMEGAFACT (eO)) eL)>>)                  
             (<<(APPLYSER (OMEGAFACT (eO)) eR)>>)>;                  
The generalized identification is used here for the particular case a=0, b=1,  n=1. The above sentence makes it possible to perform the W-factorization for each separate part of the initial identity.
3.7. Program function APPLYSER
The new function APPLYSER describes the action of the operator OMEGAFACT on the components of the operator EQU
<GT FMSET ("APPLYSER')(("                  
  {                  
  (eO) tX eZ = (<<(eO tX)>>) <<(APPLYSER (eO) eZ)>>;                  
  tO =;                  
  };          '))     >;                
There are new variables in the description. Their names begin with letter "t" to indicate that only terms (expressions in brackets in our case) can serve as values of the variables. We can not yet write
... = (<eO tX>) <APPLYSER (eO) eZ>;                    
after the first equality sign because the t-variables can appear at the inner parentheses level rather than at the angular bracket level. In short we may conclude that the function APPLYSER makes possible application of an operator to each separate term of the left and right sides of an identity.
3.8. Construction of an W-product
Construction of an W-product is described by the next sentence:
eO ~ eCO  *  "COND'(eY)((eXX)(<0>)),                  
eY ~ eCY  *  "F'eOA,                  
eX ~ eCX  *  "F'eXA =                  
<( eCO)  *  (eCY)  *  (eCX)  *                  
"C OND'(<"OPER'                  
(<<(""F'' eOA)>>) (<<(""F''eXA)>>)>) ((eXX)(<0>))>) >;                  
The operator which is the operand of COND is recognized first. The object representing hypergeometric function with some coefficient is the next to be recognized. The resultant expression standing affer equality sign begins with formation of a multiplier which is the product of multipliers serving as coefficients of COND, of the operator and of the object to be operated upon. The complete description of the function OMEGAFACT is
< GTFMSET ("OMEGAFACT')(("(eO) (eX),                  
   {                  
   eX   "EQU'(eL)(eR)                  
=   <"EQU'(<<(APPLYSER (OMEGAFACT (eO)) eL)>>)                  
     (<<(APPLYSER (OMEGAFACT (eO)) eR)>>)>;                  
  eO ~ eCO * "COND'(eY)((eXX)(<0>)),                  
  eY ~ eCY * "F'eOA,                  
  eX ~ eCX * "F'eXA =                  
   <(eCO) * (eCY) * (eCX) *                  
   "COND'(<"OPER'                  
  (<<(""F''eOA)>>) (<<(""F''eXA)>>)>) ((eXX)(<0>))>) >;                  
  = <"OPER' (eO) (eX)>;                  
  };                  
  '))>;                  
An additional sentence is used in the description. It is used when application of an operator is not recognized and the arguments should be left in the operator OPER without change. At the next step the W-product should be convolved. The convolution is performed by the function OMEGAPROD
<OMEGAPROD (eOF)> : eR1 ,
where eOF is the convolute W-product.
3.9. Description of the function OMEGAPROD
We describe the function OMEGAPROD by stages. The first sentence describes entry into an identity. It is similar to what was done above. For the sake of brevity we omit it.

The next sentence is the main one. We describe each part of it separately. First, the operator COND is extracted from the argument of the function eA. The next program operator to be extracted is OPER whose arguments is the applied operator and the operand object which also represents a hypergeometric function. In addition, it is verified that the operator contains the differential component with the parameter "x" (see last but one fragment). The resultant construction is
  eA ~ eCC * "COND'(eX)((eXX)(<0>)),                  
  eX ~ eCO * "OPER'(eO)(eY),                  
  eO ~ eCF * "F'((eUO) (eDO))(eFO),                  
  eFO ~ eCFO * "d' (eXX),                  
  eY ~ eCY * "F'((eUY) (eDY))(eYO),                  
Then it is verified that the argument of the object contains a single term with the unit degree of the variable "x". To this end the argument is expanded in powers of "x" by a system function ZCOEFX. For our case the expansion reduces to a single term with unit degree of "x":
<ZCOEFX (eXX) (eYO)> : ((eYY) <1>) ,

where eYY is coefficient of "x".

Further analysis clears up if the transformed expression contains a power of "x" as coefficient of the hypergeometric function. Again the funtion ZCOEFX is used with respect to coefficient in the object eCY. In case of zero degree the usual W-convolution is performed. Otherwise the multiplier is removed from the transformed expression according to the relation
F é
ê
ê
ë
d; z 
d
dx
ù
ú
ú
û
 xn  Y(x) ½
½
½
½
 



x=0
= (d,nzn  F é
ê
ê
ë
d+nz
d
dx
ù
ú
ú
û
 Y(x) ½
½
½
½
 



x=0
         (*)

that directly follows from (
11) and (19).

The multiplier is (d,n) and the parameter of operator becomes d+n. These components are represented by functions POCHCOEF and POCHPAR, respectively. Degree of the variable "x" and the set d of parameters occuring in the initial differential operator serve as parameters of these two functions.

In the resultant expression (following the equality sign) a multiplier is formed. The multiplier is the product of coefficients of operators COND and OPER and coefficients of the differential operator and its object. The corresponding record is
<ZCOEFX (eXX) (eCY)> : ((eYYY) eP),                  
{                    
  eP : <0> = <(eCC) * (eCO) * (eCF) * (eCY) *                  
  "F'(<PARJOIN (eUO eUY) (eDO eDY)>)                  
  (<(eFO) * (eYY)>)>;                  
= <(eCC) (eCO) * (eCF) * (eCY) *                  
POCHC OEF (eP) (eUO) (eDO) * (eCFO)(eP) *                  
OMEGA PROD (<"COND' (<"OPER'                  
(<"F' (<POCHPAR (eP) (eUO) (eDO)>) (eFO)>)                  
(<"F' ((eUY) (eDY)) (eYO)>)                  
>) ((eXX) (<0>))>)>;                  
};                    
The eYY being coefficient of "x" is result of differentiation of eYO with respect to "x". The function PARJOIN combines the set of parameters occuring in operator and object into a single set and provides cancellation of equal parameters in numerator and denominator s ets. Following the use of (*) the function OMEGAPROD is applied recursively to the already obtained W-product without variable "x" in coefficient at this stage.
The functions PARJOIN, POCHCOEF and POCHPAR are described as follows:
 
    
PARJOIN
                 
< GTFMSET ("PARJOIN')(("                  
  {                  
  (e1 tX e2) (e3 tX e4) = <PARJOIN (e1 e2) (e3 e4)>;                  
  e1 = e1;                  
  };                  
  '))>;                  
 
    
POCHCOEF
                 
  <GTFMSET ("POCHCOEF')(("(eP) (eU) (eD)') =                  
     <POCHCOEFFORM (eP) (eU) / POCHCOEFFORM (eP) (eD)>;                  
  '))>;                  
 
    
POCHCOEFFORM
                 
  <GTFMSET ("POCHCOEFFORM')(("                  
    {                  
    (eP) ((eX) eZ) = <POCH (<0>) (eP) (eX) * <POCHCOEFFORM (eP) (eZ)>;                  
    () = <1>;                  
    };                  
  '))>;                  
 
    
POCH
                 
  <GTFMSET ("POCH')(("(eN) (eP) (eX),                  
   {                  
     eN : eP = <1>;                  
     = <(eX) * POCH (<(eN)+1>) (eP) (<(eX)+1>)>;                  
    };                  
  '))>;                  
 
    
POCHPAR
                 
  <GTFMSET ("POCHPAR')(("(eP) (eU) (eD) = (<POCHPARFORM (eP) (eU)>)                  
     (<POCHPARFORM (eP) (eU)>);                  
  '))>;                  
 
    
POCHPARFORM
                 
< GTFMSET ("POCHPARFORM')(("                  
  {                  
  (eP) ((eX) eZ) = (<(eX)+(eP)>) <POCHPARFORM (eP) (eZ)>;                  
  eX =;      };     '))    >;                  


3.10. Complete description of OMEGAPROD

The complete description of OMEGAPROD is
< GTFMSET ("OMEGAPROD')(("eA,                  
  {                  
    eA ~ "EQU'(eL)(eR) =                  
    <"EQU'(<<(APPLYSER (OMEGAPROD) eL)>>)                  
      (<<(APPLYSER (OMEGAPROD) eR)>>)>;                  
  eA ~ eCC * "COND'(eX)((eXX)(<0>)),                  
  eX ~ eCO * "OPER'(eO)(eY),                  
  eO ~ eCF * "F'((eUO) (eDO))(eFO),                  
  eFO ~ eCFO * "d' (eXX),                  
  eY ~ eCY * "F'((eUY) (eDY))(eYO),                  
  <ZCOEFX (eXX) (eYO)> : ((eYY) <1>),                  
  <ZCOEFX (eXX) (eCY)> : ((eYYY) eP),                  
     {                  
     eP : <0> = <(eCC) * (eCO) * (eCF) * (eCY) *                  
       "F'(<PARJOIN (eUO eUY) (eDO eDY)>)                  
       (<(eFO) * (eYY)>)>;                  
  = <(eCC) * (eCO) * (eCF) * (eCY) *                  
     POCHCOEF (eP) (eUO) (eDO) * (eCFO)(eP) *                  
      OMEGAPROD (<"COND' (<"OPER'                  
      (<"F' (<POCHPAR (eP) (eUO) (eDO)>) (eFO)>)                  
      (<"F' ((eUY) (eDY)) (eYO)>)                  
      >) ((eXX) (<0>))>)>;                  
  };     };      '))>;                  

3.11. Final result

To print the expression eR1 we use the record <PRIEL (eR1)>. As a result the following line is printed
<"E QU' ((<"F' (() ((<"a' + 1>))) (<"z'>)>))                  
  ((<"F' (() ((<"a'>))) (<"z'>)>)                  
   (<(<"F' (() ((<"a + 2'>))) (<"z'>)>) / (<"a 2 + "a'>)>))>                  
To make the change a=b-1 we use the operator APPLYSER. To this end the components of the above identity are given the meaning of the values of the variable eR1 on analogy with description of OMEGAFACT. The substitution function ZSAX is chosen as an operator variable:
eR 1 ~ "EQU'(eL)(eR) =                  
  <"EQU'(<<(APPLYSER (ZSAX (<"a'>) (<"b'-1>)) eL)>>)                  
    (<<(APPLYSER (ZSAX (<"a'>) (<"b'-1>)) eR)>>)> : eR2 =                  
To print the expression we use the record
<PRIEL (eR2)>

As a result we obtain the final expression for recurrence relation for Bessel-type series in terms of Santra 3 language
<"E QU' ((<"F' (() ((<"b'>))) (<"z'>)>))                  
  ((<"F' (() ((<"b - 1'>))) (<"z'>)>)                  
   (<-(<"F' (() ((<"b + 1'>))) (<"z'>)>) / (<"b 2 - "b'>)>))>                  
which is equivalent to the desired result
F é
ê
ë
* z
b
ù
ú
û
= F é
ê
ë
* z
b-1
ù
ú
û
-
1
(b-1)b
 z  F é
ê
ë
* z
b+1
ù
ú
û
 .
We have used above only a minor part of operations of the factorization method. The possibility of program implementation of operations of the factorization method has been demonstrated by the examples of command protypes FACT1 (Eq. (1)), REDBIN (Eq. (22)), CANC (Eq. (25)), EQUIV1 (Eq. (11)) and DIFHYP (Eq. (19)). As other operations do not surpass by far the complicacy of the above operations this indirectly confirmes the feasibility of program implementation of the operator factorization method by program tools of Santra 3 system.

References

[prep1]
A.W. Niukkanen, I.B. Shchenkov, G.B. Efimov. Operator factorization technique of formula derivation in the theory of simple and multiple hypergeometric functions of one and several variables. Keldysh Inst. of Appl. Math. RAS, Preprint No 81, 2003, (27 p.)
[1]
I.B. Shchenkov. System of symbolic analytical transformations SANTRA-2. Description of formal part of command language. Keldysh Inst. of Appl. Math. Academy of Science USSR, Preprint No 1, 1989 (32p.).
[2]
I.B. Shchenkov. System of symbolic analytical transformations SANTRA-2. Description of dynamical functions. Keldysh Inst. of Appl. Math. Academy of Science USSR, Preprint No 7, 1989 (24p.).
[3]
I.B. Shchenkov. System of symbolic analytical transformations SANTRA-2. Description of functions supporting non-algebraic operations. Keldysh Inst. of Appl. Math. Academy of Science USSR, Preprint No 21, 1989 (31p.).
[4]
I.B. Shchenkov. System of symbolic analytical transformations SANTRA-2. Operations over expression belonging to the main classes. Keldysh Inst. of Appl. Math. Academy of Science USSR, Preprint No 14, 1991 (38p.).
[5]
I.B. Shchenkov. System of symbolic analytical transformations SANTRA-2. Operations over matrices. Keldysh Inst. of Appl. Math. Academy of Science USSR, Preprint No 15, 1991 (29p.).
[6]
I.B. Shchenkov. System of symbolic analytical transformations SANTRA-2. Program design and program checkout tools. Keldysh Inst. of Appl. Math. Academy of Science USSR, Preprint No 1, 1993 (28p.).
[7]
A.P.Budnik, E.V.Gai, N.S. Rabotnov, V.F. Turchin, S.V. Popov, I.B. Shchenkov. Machine performance of analytical transformations in mathematical physics with the help of REFAL language. Theses. Symposium on processing of symbolic information. Computer Center GSSR, Tbilisi, 1970.
[8]
I.B. Shchenkov. Program in mathematical physics with the help of REFAL language. Theses. Symposium on processing of symbolic information. Computer Center GSSR, Tbilisi, 1970.
[9]
A.P.Budnik, E.V.Gai, N.S. Rabotnov, N.S.Klimov, V.F. Turchin, I.B. Shchenkov. Basis wave functions and operator matrices in the nuclei model. Yadernaya fizika (in Russian), V. 14, No 2, pp.304-314, 1971.
[10]
V.N. Vinogradov, F.V. Gai, S.V. Popov, N.C. Rabotnov, I.B. Shchenkov. Construction of physical bases of O(5) and SV(3) groups with automated execution of symbolic transformations. Yadernaya fizika (in Russian), V. 16, No 6, pp.1178-1187, 1972.
[11]
And. V. Klimov, S.A. Romanenko. Programming system Refal-2 for Unified Series of Electronoc Compating Machines. Description of command language. IAM, Academy of Science USSR, Moscow: 1987.
[12]
And. V. Klimov, S.A. Romanenko. Programming system Refal-2 for Unified Series of Electronoc Compating Machines. Description of functions library. IAM, Academy of Science USSR, Preprint No 200, 1996.
[13]
S.A. Romanenko. Implementation of Refal-2. IAM, Academy of Science USSR, Moscow: 1987.
[arklimov]
http://www.refal.net/~arklimov/refal6/

This document was translated from LATEX by HEVEA.