From: AAAI Technical Report FS-92-01. Copyright © 1992, AAAI (www.aaai.org). All rights reserved.

Computer in Simulation Code Development

Richard Liska Faculty of Nuclear Sciences and Physical Engineering, Czech Technical University in Prague Biehovg 7, 115 19 Prague 1, Czechoslovakia tjerl~cspuni12.bitnet, [email protected]

Abstract lems. Rather we want to design tools which can help The majority of large-scale scientific computation prob- and assist a user during the solver development. The lems fall into the area of numerical simulations of real user is expected to understand and control the develop- world systems. Such systems are usually described by ment process. The control remains in user’s hands while a mathematical model in the form of a system of par- a computer performs mechanical tasks necessary during tial differential equations (PDEs) which are solvable only the development. The other interesting approach can be numerically. The productivity of particular numerical a "grey box" PDEs solvers development system which PDEssolver development can be increased by using spe- can be closed for beginners in PDEs solving and open cial program tools. Such tools are usually implemented for experts in PDEs solving. Such system working in in a . The FIDE package in- the closed (black box) modecould be controlled by the cludes several tools performing such tasks as PDEsdis- decision strategy implemented by cretization, analysis of difference schemes and generation methods and containing a large amount of knowledge of numerical code for difference schemes solving. Capa- about numerical PDEs solving. bihty of using the package for a real hard simulation Very simply the numerical simulation can be divided problemis illustrated. Possibilities to enlarge the abili- into four tasks: ties of such tools and to incorporate artificial intelligence 1. designing the mathematical model of a real world methods in the presented methodology are discussed. problem 2. developing a numerical code solving the mathematical Introduction model The greatest part of scientific computation is covered 3. numerical testing of the code by simulation problems. In the simulation problem we have a real world system and want to knowhow this sys- 4. actual calculation and results post-processing tem will behave under certain conditions. The system is These tasks are not performed purely sequentially. Find- usually described by the set of equations, the so called ing an inappropriate behavior of a task one usually re- mathematical model, in which characteristic quantities turns to one of the previous tasks and modifies it. We of the system appear. The mathematical model of a will consider here the second task, which on the base of a real world problem cannot be usually solved directly an- mathematical model (here PDEs) develops a numerical alytically and has to be solved numerically. Wewill re- solving the model and implements the algo- strict only to numerical simulation problems. The ma- rithm in a numerical program. The questions of grid jority of large-scale numerical simulation problems is de- generation and grid adjusting belonging to this task do scribed by the mathematical model in the form of a sys- not fall into the scope of this paper. During the algo- tem of partial differential equations (PDEs) or integro- rithm and code development a considerable amount of differential equations. So we will further restrict to such analytical calculations has to be done. This analytical mathematical models. calculations can be performed by a computer algebra There exist several general numerical PDEssolvers. system (CAS). The paper concentrates mainly on this Howeverthe experience shows that such solvers are not aspect of using computer algebra during designing an capable to solve the real world problems. Even more algorithm and a numerical code for PDEs solving. This any new real world PDEs problem requires developing methodology increases the productivity of the develop- of its ownnumerical solver. The construction of general ment process. The productivity boost is more significant PDEssolvers suitable for broad classes of equations is if a mathematical model or the of a problem not possible for real world problems. Thus the develop- is complicated. ment of simulation code for the specific real problem has Fromthe artificial intelligence point of view CASsare a crucial importance for scientific computation. knowledge systems intercepting a large amount of math- It is necessary to stress out that our aim is not to ematical knowledge. When the knowledge of numerical construct a black box PDEs solvers development system PDEs solving is added the resulted program tools can which should result in limited class of solvable prob- save time and effort of a developer.

74 From: AAAI Technical Report FS-92-01. Copyright © 1992, AAAI (www.aaai.org). All rights reserved. The paper concentrates on description of the FIDE in a PDEscan be discretized in every coordinate on the package implemented in the REDUCE(Hearn 1991) original grid or on the second one. Every equation of computer algebra system to assist users during devel- the system can be integrated over the cell of the orig- opment of numerical code for solving PDEs. The nu- inal grid or of the second one. The decision on which merical FORTRANis used in grids the individual quantities (looked for functions of the methodology presented. The package uses the finite coordinates) are to be defined and over which grid cells difference method for PDEs solving. The FIDE package the individual equations are to be integrated is made so consists of the following modules that have been built, as to minimize the of interpolations used during tested, and documented: integrating the whole PDEs. Such a decision is really EXPRESfor transforming PDES into any orthogonal not easy, especially for large systems. coordinate system. The IIMET module for discretization by the integro- interpolation method accomplishes this decision by ei- IIMETfor discretization of PDEsby the integro-inter- ther heuristically driven, or full search and from in- polation method. put PDEs the module produces the system of difference GILIDOPfor discretization of PDEs by the support- equations. The discretization of individual basic types operators method. of terms appearing in PDEscan be defined, and the dis- cretization can be controlled in several manners, so that APPROXfor determining the truncation error of dif- almost any discretization, according to the user’s wish, ference schemes. can be achieved by this module. Input PDEs can also CHARPOLfor calculating the amplification matrix include vector or tensor equations, in which case these and characteristic of difference schemes, equations are converted into scalar ones by the EXPRES which are needed in the Fourier stability analysis. module before the discretization begins. HURWPfor locating polynomial roots necessary in Support-Operators Method verifying the yon Neumannstability condition. The support-operators method (Samarski et al. 1981) LINBAND for generating the block of FORTRAN is a special method for PDEs discretization on non- code, which solves a system of linear algebraic equa- orthogonal meshes. According to this method the differ- tions with band matrix appearing frequently in differ- ence scheme for a system of differential equations, which ence schemes. are written in the terms of first order invariant differen- The FIDE package has been included into the REDUCE tial operators, is built so that the difference analogues network available on of chosen integral relations between the operators hold. where the full code, documentation and test files can be Oneof these relations for the first order invariant differ- found. For more detailed description of the package see ential operators div, grad is (Liska & Drska 1990). fv udiv I’rg d V + fv(l~,grad u) d V = Sov U (l~, ff) Discretization (1) Discretization is the transformation of PDEsinto a sys- Considering a problem with zero boundary condition on tem of algebraic difference equations, so called differ- the surface OVwe can from (1) derive that grad = -div* ence scheme. The discretization can become a tedious where the star denotes the adjoint operator with re- task especially in cases of complicated PDEs, compli- spect to the functional scalar product (f, g) fvfg d V. cated geometry and higher dimensions. For example in Having a suitable defined difference operator DIV and 2D problem on rectangle one has to treat at least 9 dif- the difference approximation of the integral relation (1) ference schemes, one inside, 4 on the different boundary the support-operators method construct a difference op- lines and 4 on the boundary corners. In 3D the num- erator GRADnamely from the operator DIV and the ber of different difference schemes on cube becomes even approximation. 27. The amount of analytical transformations involved The method can be automated on logically rectan- in such tasks is really large and well suited for treating gular meshes. The formalization of the method, which by CAS. is necessary for development, is based on the concept of grid function spaces. The scalar or vector grid Integro-Interpolation Method function is a function defined in the grid nodes (or cells) The FIDE package includes the IIMET module which and has unique symbolic values (depending on multi- performs the discretization of PDEson orthogonal grids index which corresponds to the node) on logically rect- by integro-interpolation method. This method was cho- angular subsets of the grid. Grid operators are linear op- sen because it is quite universal, it can be applied to non- erators acting from one grid function space to another. linear PDEs,and in linear cases it produces conservative The grid operator has again unique values on logically difference schemes. In every coordinate the second grid rectangular subsets of the grid. On every grid function with grid points halfway between the original ones is de- space A two scalar products are defined. The natural fined. The basic principle of the integro-interpolation scalar product (u, v)A is a difference approximation of method is in integrating the given PDEsover the whole the functional scalar product. The formal scalar prod- cell of a grid. If direct integration is not possible, some uct [u, v]A is the sum of products of the grid functions kind of interpolation is used. Every quantity appearing values over all nodes (or cells) in the grid. The natural

75 From: AAAI Technical® Report FS-92-01. Copyright © 1992, AAAI (www.aaai.org). All rights reserved. O* and formal O adjoint operators to the grid operator after Fourier expansions in non-time coordinates calcu- O which works from the space A of its arguments to the lates the amplification matrix of the difference scheme space V of its values are defined by for transition from one time layer to another one. The yon Neumannstability condition then states that all (u, O )v = (o’u, Odv = [0%, dA, W, eigenvalues of the amplification matrix, i.e. roots of its The grid operator PA corresponding to the natural scalar characteristic polynomial, must lie in the unit circle in product on the grid function space A is defined by the complex plane for all Fourier components. Calcu- lation of the amplification matrix and its characteristic (U,V)A = [U,PAV]A. polynomial is performed by the module CHARPOL. By conformal mapping the problem of locating roots The natural adjoint grid operator O*, necessary for the of polynomial in the unit circle can be transformed to construction of difference operators which approximate locating roots of polynomial in left half plane (with neg- the differential ones, can then be expressed as ative real parts), i.e. to the Routh-Hurwitz problem O* ---- P~I(pAo)®. (Ganzha & Vorozhtsov 1987). The Routh-Hurwitz prob- lem can be solved by several methods one of which is The non-zero boundary conditions can also be incorpo- Hurwitz method utilizing the Lienard-Chipart stability rated into this formalization. criterion (for other method see (Ganzha & Liska 1989)). The support-operator method has been implemented As a result, from the characteristic polynomial of the in the GKIDOPmodule. For more detailed descrip- amplification matrix of the difference scheme one ob- tion of the used algorithms see (Liska & Shashkov 1991; tains several inequalities connected by logical operators Liska, Shashkov , & Solovjov 1992) ANDand OR, which have to hold for the scheme to be stable. The inequalities have to hold for all Fourier Analysis of Difference Scheme components in all non-time coordinates. This method is implemented in the HURWPmodule and results in the Having obtained the difference scheme one needs to in- system of generally quantified inequalities. For quan- vestigate its properties which are very important for tifier elimination from these inequalities the cylindrical numerical behaving of code derived from the difference algebraic decomposition (CAD) algorithm can be used scheme and which also describe the relation between the (Steinberg 1991). The first tests using the SACLIBim- solution of difference scheme and PDEs. The following plementation of partial CADalgorithm (Collins & Hong subsections are devoted to investigating the properties 1991; Hong1992) for stability analysis by this method of difference schemes. has been done. Truncation error Truncation error determines the order of accuracy of Code Generation the difference scheme in powers of grid steps. Trunca- After discretization and the analysis of the properties tion error analysis is performedby expandingall discrete of the difference scheme the next task is to develop the function values in the difference scheme into the Taylor numerical code for solving the system of algebraic equa- series and collecting terms as polynomial in grid steps tions which formed the difference scheme. The system A. For the truncation error analysis it is necessary to of algebraic equations has special form. Its matrix (or distinguish on which type of grid we are working. We Jacobian in non-linear case) is usually the band matrix restrict again to logically rectangular grids. Orthogonal or block band matrix for which special solution algo- grids can be uniform with constant grid step Az or non- rithms exists. Sometimes, e.g. in altered direction im- uniform with grid step Az~. For non-orthogonal grids plicit (ADI) method, the system is constructed so that we have grid steps e.g. Azij, Ayij and we are using sub- has somespecial features allowing to use fast techniques stitution for the solution. For band matrices the fast band ma- Axi.i = 6alj trix solvers exists for other systems the most promising solvers are precondition conjugate gradient solvers or al- Ayij = 6/~ij gebraic multigrid solvers. Anytimethe best is to use the where 5 is small and aij, ~ij are parameters. Then the verified routines from numerical libraries. truncation error is determined in power of 6. Wehave Code generation is the process during which CAScre- to distinguish adaptive grids and other special cases too. ates a text file containing a source numerical program. The truncation error analysis is accomplished by the AP- Having the difference scheme in forms of in PROX module. CASwe can analyze the scheme extracting the matrix (or Jacobian) of the system of algebraic equations and Stability generate the code which prepares the input parameters Stability is one of the most important properties of dif- for the solver routine, calls the routine and extract the ference scheme. If the difference scheme is unstable the output parameters to our data structures. rounding errors are amplified during numerical solving The LINBANDmodule has been designed for auto- of the schemewhich results in increasing artificial oscil- matic generation of FORTRANcode for solving system lations in the numerical solution. of linear algebraic equations with band matrices which The Fourier method is probably the most commonand appear quite often in difference schemes. The program simplest method for local stability analysis. The method is based on GENTRAN(Gates 1986) REDUCEpack-

76 From: AAAI Technical Report FS-92-01. Copyright © 1992, AAAI (www.aaai.org). All rights reserved. age for code generation and translation. The program performs all the above tasks and can be used in cooper- ation with numerical libraries ESSL (IBM), LINPACK, and NAG,for which it prepares the band matrices in ar- rays in special economical forms used by these libraries and it uses their linear solvers for band matrix systems. The tridiagonal systems are taken as a special case us- ing more effective tridiagonal routines. The use of band (3) matrices can be extended from 1D difference schemes to more dimensions by using ADI method which splits the difference scheme into several substeps in each of which one direction remain implicit¯ We need to solve a set of linear band systems in each time substep. The code fjO,n+l,k+l __ fO~n+l generation for difference schemes solving is described in vj 1/2 (hi+ 1 + hi) more detail in (Liska 1992). _ f0. ,i i f0.j+l,k+ll2 j,k+ll2 Yi nk+ll2 fl,n+l Application ak÷l/2 1/2 (h~,÷l --~ h~) =" ~ j,k.+l/2 As an application of the FIDEpackage to a real world whereh t, h~ and h~ are gridsteps in time,space and problem we present here the numerical solution of the ¯ ¯ d velocltycoordinates. In the secondstep of the ADI Fokker-Planck equation (FPE). Via the distribution function f(t, z,v) on the position and velocity space, method from the time layer n + 1 to n + 2 the spa. the FPE describes a system of electrically charged par- tial are taken on the explicit time layer n + 1 tides interacting through Coulombforces. Weuse it for and the velocity derivatives on the implicit time layer n + 2. Discretization on velocity borders and numerical a very detailed description of electrons in plasmas heated evaluation of integrals in terms K°, K1 is performed in a by high intensity laser beams. The method of solution is taken from (Epperlein, Pdckard, & Bell 1988). special way ensuring conservation of the number of par- ticles and particles energy. By discretizing equations (2) The distribution function is replaced by its diffusive also on all boundaries and boundary crossings we obtain approximationf (t, z, v) -- f0 (t, z, v) v/v. fl (t, z, v ), the total number of 18 difference schemes similar to (3) for whose components fo,fl the FPE in one dimension for both steps of the ADI method. can be written as The scheme has been analyzed in the interior point. 01’o vO.fi a 0 (v2fl) The APPROXmodule determines the order of its ap- lee O (K0f0+ t 2 2) O--’t + 30z20v 3v proximation O(h + (hZ) + (hV) in both steps of the ,0/0 ADI method. After reordering, all the 18 difference K , (2) schemes make up several systems of linear algebraic equations with band matrices. For their solution, blocks - ni Yei - of FORTRANcode have been generated by the LIN- -~ fl, BANDmodule. Also some other parts of the numerical code, as e.g. integral evaluation, have been generated where by GENTRAN.Up to 2000 lines of FORTRANcode, ° what is more than 2/3 of the whole numerical program K = 4a£ fo(u) u2du, for FPE solving, has been generated automatically. 4a (l/or ~oo The developed numerical code for solving Fokker- K1 Planck equation has been used for simulation of ul- = T v f°(u)u4du+v2 fo(u)udu trashort laser pulses interaction with plasma. Several variants of the code in plane and cylindrical t--Jkm. / v(,:+ (n Y./v3)2) with additional terms in equations has been prepared. New physical results has been obtained with the code and e, m.,w, a(t, z), Y.,(t, z),Y.i(t, z),ni(t, E0(t, z) (Drska, Limpouch, & Liska 1991; Drska, Limpouch, are physical constants or quantities, which need not be Liska 1992). The experience with the code development defined here. proves the advantages of presented methodology which Equations (2) have been discretized by the IIMET are summarized in the conclusion. and/or GPdDOPmodule by using the altered direction implicit method. In the first step of the ADI method Other Possibilities from the time layer n to n + 1 the spatial derivatives In this section we will consider other possibilities of ap- are taken on the implicit layer n + 1 and the velocity plying computer algebra in the process of developing nu- derivatives on the explicit time layer n. In the interior merical algorithms and codes for solving PDEs. Wecon- grid point the following scheme is obtained centrate here again on the finite difference method for PDEssolving. Of course variational methods as the fi- f~in’}’1_ fO~ ~l. j,k.÷l/2 fl,n+l -- fl,n+l j,k-I/2 nite element method or other methods can be used too. ht + 3 ih For discretization of PDEs also other methods are

77 From: AAAI Technical Report FS-92-01. Copyright © 1992, AAAI (www.aaai.org). All rights reserved. suitable for implementation in CAS. As an example n,,merical algorithms - which algorithm is suitable the boundary fitted coordinates method (Steinberg for given problem; how the algorithm should be Roache 1991) can be mentioned. This method is based changed if it has unsuitable properties. on transforming a non-orthogonal logically rectangular algorithm analysis - methods of investigating proper- meshto a rectangular one on which the discretization is ties of numerical algorithms as truncation error, sta- performed. bility and conservation. More research should be done on the quantifier elimi- nation from inequalities which can be applied in stabil- code generation - how utilize existing numerical li- ity analysis as shown above. Present for the braries; how generate code for new architecture ma- elimination is extremely time consuming or needs very chines. qualified, careful and time consuming human support. Considering organization and utilization of this knowl- But our experience in this area is still insufficient. edge the following questions have to be investigated For the stability analysis also other methods could aim - identify which aims the knowledge should ad- be employed. Important is the stability on boundaries dress. because quite often boundaries are sources of instabil- ities, for an example of CASapplication in this area knowledge formalization see (Mazepa 1989). Powerful stability analysis method - how the knowledge should be represented; which is the energy method. Although this method probably types of knowledge can appear. cannot be fully automatized, tools can be built to as- knowledge acquisition- locate knowledge sources; sist user whoperforms stability analysis by this method. which methods of knowledge acquisition should be Also other important properties of difference schemes used. as symmetry or conservation could be checked by CAS inference methods - which reasoning methods should tools. be applied to the knowledge; combining reasoning and For the code generation step the code generation facil- procedural methods. ities for other types of difference schemes(general linear schemes and non-linear schemes) should be designed. As knowledge system - identify which is stated already above the best approach is to use ver- capabilities should the perspective knowledge system ified numerical routines from numerical libraries in the posses to be suitable for use (numeric, symbolic and generated code for actual solving of the schemes. To any algebraic computation; access to numerical libraries; solver routine its precise formal description can be asso- graphical facilities; knowledgerepresentation; reason- ciated (Dewar & Richardson 1990; Cook 90). The formal ing facilities) description contains the information about what task Let us mention the relation between procedural and the routine performs, meaning of the routine parame- declarative knowledge in CASand in the presented ters and the way in which data should be stored in the methodology of PDEs solvers development. In CASthe parameters (e.g. storing the band matrix in an array). majority of knowledge is implemented as a procedural The general tool for code generation for solving differ- one. The same is true in the package FIDE which sup- ence schemes can be constructed which according to the ports the developments of PDEssolvers. The possibil- formal description of the routines can choose the most ity to use declarative knowledge for the description of suitable routine and generate the code using this rou- the numerical algebraic equations systems solvers is dis- tine. This approach has the advantage that new solver cussed in the end of the previous section. It is very routines can be included without changing the tool. In likely that a more advanced and capable system for sup- artificial intelligence terminology this formalism can be porting the development of PDEs solvers will need a described as reasoning with frame knowledge represen- clever combination of procedural and declarative knowl- tation. Using CASmeans that during the reasoning we edge processing. Similarly the combination of different can use analytical conditions and formulas analysis. types of knowledge representation and reasoning mech- The generated code should have the minimal number anisms will be necessary. of operations (code optimization problem), see e.g. (Hulzen et al. 1989) and also should minimize Conclusion the floating-point errors appearing during the calcula- Using of computer algebra systems in the process of nu- tion, see e.g. (Molenkamp, Goldman, & Hulzen 1991). merical simulation codes development brings several ad- vantages Knowledge of PDEs Code Development ¯ increased speed of development Knowledge about numerical solving of PDEs is spread in a large amount of books, articles, programs and ex- ¯ decreased of bugs perts. The task of extracting and organizing this knowl- ¯ rapid and accurate modifications of existing programs edge is really immense. According to different phases of The first two advantages are related to the fact that the development process one can distinguish the special using this methodology the developer is working with knowledge concerning higher constructs than are arrays of and loops. grid generation - how the grid should be build on She or he can more concentrate on the solved problem given region for given problem; how the grid should while mechanical tasks are performed by a computer. be changed during calculation. The last advantage expresses the experience that the From: AAAI Technical Report FS-92-01. Copyright © 1992, AAAI (www.aaai.org). All rights reserved. problem or method of its solution can be quite easily [Hong 1992] Hong, H. 1992. Simple solution modified, e.g. by adding some previously neglected term construction in cylindrical algebraic decomposition to PDEs or choosing different difference scheme on a based quantifier elimination. In Wang,P. S., editor, boundary. It seems that for high dimensions and compli- ISSA C’9~, International Symposium on Symbolic and cated geometries the simulation code development with- Algebraic Computation, Berkeley, California. ACM out the assisting program tools outlined here is almost Press. 177-188. impossible. [van Hulzen et al.1989] Hulzen, J. A. van; Hulshof, B. J. A.; Gates, B. L.; and Heerwaarden, M. C. van Acknowledgments 1989. A code optimization package for REDUCE.In This work has been partially supported within the Gonnet, G., editor, ISSAC’89, International Sympo- framework of the IBMAcademic Initiative in Czechoslo- sium on Symbolic and Algebraic Computation, Port- vakia and by the Czech Technical University grant No. land, New York. ACM.163-170. 906. [Liska and Drska 1990] Liska, R. and Drska, L. 1990. FIDE: A REDUCEpackage for automation of Finite References difference method for solving pDE:. In Watanabe, [Collinsand Hong 1991]Collins, G. E. and Hong,H. S. and Nagata, M., editors, ISSAC ’90, Proceedings 1991.Partial cylindrical algebraic decomposition for of the International Symposium on Symbolic and Al- quantifierelimination. J. Symb. Comp. 12(3):299-328. gebraic Computation, Tokyo, New York. ACMPress, Addison Wesley. 169-176. [Cook1990] Cook, G. O. Jr. 1990.ALPAL: a program to generatephysics simulation codes from natural de- [Liska and Shashkov 1991] Liska, R. and Shashkov, scriptions.Int. J. Mod.Phys. C 1(1):1-51. M. Yu. 1991. Algorithms for difference schemes construction on non-orthogonal logically rectangular [Dewarand Richardson1990] Dewar:90Dewar, M. C. and Richardson,M. G. 1990.Reconciling symbolic meshes. In Watt, S. M., editor, ISSAC’91, Interna- tional Symposium on Symbolic and Algebraic Compu- and numericcomputation in a practicalsetting. In tation, Bonn, New York. ACMPress. 419-426. Miola, A., editor, Design and Implementation of Symbolic Computation Systems, DISCO’90, Berlin. [Liska et al.1992a] Liska, R.; Shashkov, M. Yu.; and Springer-Verlag. 195-204. LNCS429. Solovjov, A.V. 1992. Support-operators method for PDE discretization: Symbolic algorithms and re- [Drska et al.1991] Drska, L.; Limpouch, J.; and Liska, alization. In Richter, G., editor, IMACS PDE- R. 1991. Simulation study of laser-matter interaction 7, 7th IMACS International Conference on Com- in subpicosecond range. In Tsintsadze, N. L., editor, puter Methods for Partial Differential Equations, New 10-th European Summer School on Plasma Physics, Brunswick, New Brunswick. IMACS.(In press). Tbilisi, USSR, 1990, Singapore. WorldScientific. 435- 440. [Liska 1992] Liska, R. 1992. Numerical code genera- tion for finite difference schemes solving. In Brezin- [Drska et al.1992] Drska, L.; Limpouch, J.; and Liska, ski, C. and Kulisch, U., editors, Computational and R. 1992. Fokker-planck simulations of ultrashort-pulse Applied I - Algorithms and Theory, Am- laser-plasma interactions. Laser and Particle Beams. sterdam. Elsevier. Proceedings of the 13th IMACS (In press). World Congress, Dublin, Ireland, 1991 and IMACS [Epperlein et al.1988] Epperlein, E. M.; Rickard, G. J.; Conference on Modelling and Control of Technologi- and Bell, A. R. 1988. A code for the solution of the cal Systems, Lille, France, 1991 (In press). Vlasov-Fokker-Planck equation in 1-D or 2-D. Comp. [Mazepa 1989] Mazepa, N. E. 1989. Vycislenije spek- Phys. Comm. 52:7-13. troy raznostnych krajevych zadac s primeneniem SAV. [Ganzhaand Liska 1989] Ganzha,V. and Liska,R. Technical Report Pll-89-382, SUJV, Dubna. 1989.Application of the REDUCEcomputer algebra [Molenkamp et al.1991] Molenkamp, J. H. J.; Goldman, systemto stabilityanalysis of differenceschemes. In V. V.; and Hulzen, J. A. van 1991. An improved Kaltofen,E. and Watt,S. M., editors,Computers and approach to automatic error cumulation control. In Mathematics’89, MIT, New York.Springer-Verlag. Watt, S. M., editor, ISSAC’91, International Sympo- 119-129. sium on Symbolic and Algebraic Computation, Bonn, [Ganzha and Vorozhtsov1987] Ganzha, V. G. and New York. ACMPress. 414-418. Vorozhtsov,E. V. 1987.The stabilityanalysis of dif- [Samarskii et al.1981] Samarskii, A. A.; Tishkin, V. F.; ferenceschemes by numericalsolution of the gener- Favorskii, A. P.; and Shashkov, M. Yu. 1981. Opera- alizedRouth-Hurwitz problem. Comp. Phys. Comm. tional finite-difference schemes. Differential equations 43:209-216. 17:863-885. [Gates 1986] Gates, B. L. 1986. A numerical code gen- [Steinberg 1991] Steinberg, S. 1991. private communi- eration facility for REDUCE.In Char, B. W., editor, cation. SYMSAC’86, Waterloo. ACMPress. 94-99. [Steinberg and Roache 1991] Steinberg, S. and Roache, [Hearn 1991] Hears, A. C. 1991. REDUCEuser’s man- P. J. 1991. Discretizing symmetric operators in gen- ual, version 3.4. Technical Report, CP78 (Rev. 7/91), eral coordinates. Technical report, University of New The RANDCorporation, Santa Monica. Mexico, Albuquerque.

79