# Computer Algebra Software for Scientific Applications

## Abstract

Computer Algebra may be pursued within a wide range of sophistication. At the lowest level there is the casual user who applies some of the system facilities e.g. to evaluate an integral, to sum a series or to find the solution of a differential equation. For this kind of applications it is usually sufficient to read through the manual which is provided by the system developer. After a while it is realized that the machine might perform additional tasks for which there are no system functions available. So the user starts writing his own special purpose package. As the time goes on additional facilities are added which means that the size of the software keeps growing. That works fine for a while until a critical size of about one thousand lines of code is reached. It suddenly turns out that the time which has to be spent for debugging or adding a new feature has increased to an unacceptable amount. Even worse, that process resembles more and more a vicious circle where a simple change in one part of the program causes unexpected effects in completely different regions and a superficial repair often makes things even worse. While spending most of the time for implementing new algorithms for new tasks, somehow the survey over the organization of the package got lost. At that point the astute user will realize that he has reached a threshold where qualitatively new tools for further proceeding are needed. To provide these tools is the realm of *software engineering*.

## Keywords

Type System Mathematical Object Computer Algebra Scientific Application Computer Algebra System## Preview

Unable to display preview. Download preview PDF.

## References

- [1]E. Kreuzer, G. Leister,
*Programmsystem NEWEUL’90*, Manual, University of Stuttgart, Institut B for Mechanics, AN-24, 1990.Google Scholar - [2]A. C. Hearn,
*Reduce User’s Manual*, part of Reduce.Google Scholar - [3]M. MacCallum, F. Wright,
*Algebraic Computing with Reduce*, Clarendon Press, Oxford, 1991MATHGoogle Scholar - [4]F. Schwarz,
*A Guided Tour Through REDUCE.*Google Scholar - [5]B. Buchberger, G. E. Collins, R. Loos, Eds.,
*Computer Algebra, Symbolic and Algebraic Computation*, Computing Supplementum 4, Springer, 1982.MATHGoogle Scholar - [6]J. D. Davenport, Y. Siret, E. Tournier,
*Computer Algebra*, Academic Press, 1988.MATHGoogle Scholar - [7]K. O. Geddes, S. R. Czapor, G. Labahn,
*Algorithms for Computer Algebra*, Kluwer Academic Publishers, 1993.Google Scholar - [8]R. Zippel,
*Computer Algebra Algorithms*, Kluwer Academic Publishers, 1993.Google Scholar - [9]R. D. Jenks, B. Sutor,
*Axiom*, Springer, 1992.MATHGoogle Scholar - [10]R. S. Pressman,
*Software Engineering*, McGraw-Hill, 1992.Google Scholar - [11]G. Booch,
*Object Oriented Design*, Benjamin/Cummings Publishing, 1991.Google Scholar - [12]P. Coad, E. Yourdon,
*Object-Oriented Analysis and Object-Oriented Design*, both published by Yourdon Press, Englewood Cliffs, 1991.Google Scholar - [13]B. Meyer,
*Object-oriented Software Construction*, Prentice Hall, 1988.Google Scholar - [14]B. Liskov and J. Guttag,
*Abstraction and Specification in Program Development*, The MIT Press, Cambridge, 1986.MATHGoogle Scholar - [15]L. Cardelli, P. Wegner,
*On Understanding Types, Data Abstraction, and Polymorphism*, Computing Surveys 17, 471–522 (1985).CrossRefGoogle Scholar - [16]O. J. Dahl, K. Nygaard,
*SIMULA 67 Common Base Proposal*, Norwegian Computing Center Document, Oslo, 1967.Google Scholar - [17]A. Goldberg, D. Robson,
*Smalltalk-80*, Addison Wesley, 1983.MATHGoogle Scholar - [18]N. Wirth,
*On the Composition of Well-Structured Programs*, Computing Surveys 6, 247–259 (1974).CrossRefMATHGoogle Scholar - [19]T. Budd,
*Object-Oriented Programming*, Addison-Wesley, 1991.Google Scholar - [20]J. F. Fedoraro,
*The Design of a Language for Algberaic Computation Systems*, Thesis, Berkeley, 1983.Google Scholar - [21]N. J. Lehmann,
*Probleme und Bedeutung der Entwicklung von Programmiersprachen*, Elektronische Informationsverarbeitung und Kybernetik 11, 200–206 (1975).MATHGoogle Scholar - [22]A. Weber,
*Structuring the Type System of a Computer Algebra System*, Dissertation, Universität Tübingen, 1992.Google Scholar - [23]J. Schwartz, R. B. K. Dewar, R. Dubinksy, E. Schonberg,
*Programming with Sets: A Introduction to SETL*, Springer, New York, 1986.CrossRefMATHGoogle Scholar - [24]
*Scratchpad II User’s Guide*, Computer Algebra Group at IBM Yorktown Heights.Google Scholar - [25]F. Schwarz,
*Symmetries of Differential Equations: From Sophus Lie to Computer Algebra*, SIAM Review 30, 450–481 (1988).MathSciNetCrossRefMATHGoogle Scholar - [26]F. Schwarz,
*An Algorithm for Determining the Size of Symmetry Groups*, Computing 49, 95–115 (1992).MathSciNetCrossRefMATHGoogle Scholar - [27]A. K. Noor,
*Computerized Symbolic Manipulation in Structural Mechanics*, these Proceedings.Google Scholar - [28]G. Hotz,
*Optical Formula Recognizer*, System Manual, University of Saarbrücken, 1990.Google Scholar