Computer Algebra Software for Scientific Applications

  • F. Schwarz
Part of the CISM International Centre for Mechanical Sciences book series (CISM, volume 343)


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.


Type System Mathematical Object Computer Algebra Scientific Application Computer Algebra System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


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

Copyright information

© Springer-Verlag Wien 1994

Authors and Affiliations

  • F. Schwarz
    • 1
  1. 1.GMDSankt AugustinGermany

Personalised recommendations