Computer Algebra |
My main interest in this domain is the implementation of algorithms developed within my research on partial differential equations and commutative algebra, respectively. A long time ago, I wrote a general survey article [41, 78] on the whole field of Computer Algebra and Differential Equations which is by now probably rather outdated. For many years, I mainly used the computer algebra system MuPAD. The AG Computational Mathematics at Universität Kassel had a cooperation agreement with SciFace (the company behind MuPAD); this cooperation ended now that MuPAD has become a part of Matlab. I have now started a new cooperation with the CoCoA group in Genua; currently, we are working on an implementation of Janet and Pommaret bases. We developed a general object oriented environment for differential equations within the domains package of MuPAD. It contains a number of categories and domains allowing for the efficient and convenient implementation of sophisticated algorithms. As concrete examples we realised a completion and a Lie symmetry package. They contain a number of particular features not found in other such packages. For users who are not familiar with using categories and domains we implemented a new MuPAD library DETools providing comfortable interfaces that automatically take care of selecting appropriate domains etc. Unfortunately, the documention of these programs and packages remained fairly rudementary and consists mainly of some technical reports and papers [42, 48, 79] . Our completion package is based on our own algorithm for completing arbitrary differential systems to involutive ones. It combines algebraic and geometric ideas and is described in full detail in [19] . In particular, it realises the Cartan-Kuranishi completion and yields thus intrinsic geometric results like the number of prolongations and projections needed. Nevertheless the algorithm does not require more steps as classical algebraic algorithms based on the Janet-Riquier theory. The key is a clever organisation of the order in which the individual steps are performed based on the new concept of a skeleton of a differential equation. Strictly speaking, the algorithm works only for linear systems, although it can also be applied to more general systems provided no nonlinearities appear in the leading terms. Currently, we are working on a rigorous extension to fully nonlinear systems using ideas from differential algebra. Our Lie symmetry package can handle point, generalised and non-classical symmetries. Especially for the latter ones, we have probably one of the most general implementations. It covers not only the usual Bluman-Cole approach but also allows for setting up the determining equations for higher "levels" as discussed by me already some years ago in a paper [12] (see also [47] for some general ideas about applications of the formal theory with symmetry analysis). Another unusual feature of our Lie package is that due to our object oriented approach we can make full use of special structures of the given differential equation. For example, polynomial arithmetics is used, if the equations have only polynomial nonlinearities. This can lead to a significant speed up in some applications (in benchmark we observed speed ups up to a factor 7!). Furthermore, we avoid the determination of unnecessary coefficients in the prolongation of the ansatz of the symmetry generators. Again this can lead to considerable savings, if the differential equation is sparse (which is the case in most applications - in particular, for evolution equations). The DETools library provides besides the above mentioned interfaces a number of procedures for miscellaneous tasks. This begins with some plot functions for the results of numerical integrations within MuPAD and some additional functions useful for analysing or generating numerical methods. Some other procedures generate equations of motion or field equations for physical models. Finally, we started to work on a solver for partial differential equations, but so far only an implementation of the method of characteristics exist. In addition to these packages related to differential equations, we provided an implementation of involutive bases. Again we based our package on domains and categories in order to be able to treat simultaneously many different polynomial algebras of solvable type (however, concrete realisations exist only of commutative polynomials, linear differential operators and the Weyl algebra) or involutive divisions (so far, only the Janet and the Pommaret division are actually realised). A preliminary description of our MuPAD implementation of involutive bases is given in [51, 80] . |
Home, Last update: Thu Oct 20 19:43:36 CEST 2011 |