1 / 32

Tacit Assumptions in the Field of Mathematical Software

Tacit Assumptions in the Field of Mathematical Software. Albert M. Erisman Seattle Pacific University Dedicated to John K. Reid at the celebration of his 70 th birthday. Overview . Two stories Six Assumptions and their implications

bina
Download Presentation

Tacit Assumptions in the Field of Mathematical Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tacit Assumptions in the Field of Mathematical Software Albert M. Erisman Seattle Pacific University Dedicated to John K. Reid at the celebration of his 70th birthday

  2. Overview • Two stories • Six Assumptions and their implications • Some questions for those working in the field of mathematical software

  3. July 1972

  4. The Model for Mathematical Software (User Viewpoint) • I need to build a mathematical model • The algorithm at the heart of the model is • The most complex part of the simulation • The part that drives performance and reliability of the entire simulation • By using a standard piece of mathematical software rather than writing this part of the code myself, I can • Save time and money • Improve the reliability of the simulation • Draw on expertise I don’t have • Early weakness in that model • Mathematical software was primarily “shareware” • Often it was questionable in its performance and reliability • These factors led to the field of mathematical software

  5. Tacit Assumptions A tacit assumption or implicit assumption is an assumption that includes the underlying agreements or statements made in the development of a logical argument, course of action, decision, or judgment that are not explicitly voiced nor necessarily understood by the decision maker or judge. [Wikipedia]

  6. Six tacit assumptions that drove the field from the 1960s

  7. Assumption 1 • Scientists and engineers develop their own mathematical simulation codes.

  8. Today’s Reality • For most standard computations (structures, electromagnetics, electronics, chemical process simulation, linear programming, …) most scientists and engineers use standard software developed in their fields enabling • commonality and comparison of results • cost and time savings • The mathematical software in that simulation is largely invisible to the user

  9. Questions for Mathematical Software Developers • Who is the customer for the mathematical software?

  10. Assumption 2 Mathematical software was exchanged for free. • There were no were no intellectual property issues, • This software could readily be used as building blocks for larger simulations.

  11. The Transition • IBM started the trend limiting distribution of math software in 1969 • The change created a business opportunity for mathematical software libraries (NAG, IMSL)

  12. Today’s Reality • A great deal of this software both costs money and has IP restrictions on its use. • IP restrictions often inhibit the use of the mathematical software in the resulting simulation code.

  13. Questions for Mathematical Software Developers • If reuse (and remix) is the goal, are the standard practices for the distribution of software standing in the way of its reuse? • How do these realities get taken into account in the distribution and restrictions on mathematical software? • If the software is exchanged for free without restriction, who pays the salaries of the developers?

  14. Assumption 3 • Mathematical software was designed for scalar computers. • Reducing the computation time for the mathematical software directly translated into a reduction in computational time for the simulation.

  15. Simulation Performance Algorithm performance Algorithm performance

  16. Today’s Reality • Mathematical simulations on parallel computers raise new questions. • Should the algorithms be optimized for the parallel computer, or should the simulation be optimized? • Are these the same?

  17. Questions for Mathematical Software Developers • Should the algorithm developer try to achieve maximal parallelization for the algorithm, or • Should the developer create software that will support the best parallelization of the resulting simulation code? • What other issues should we be thinking about?

  18. Assumption 4 • Mathematical software was primarily used in simulation applications run on mainframe computers (and vector computers). • The changes in this hardware could be readily applied to the libraries, simplifying the challenge for the user in migrating his or her code from one machine to another. • The frequency of use of the mathematical software could easily be measured on the mainframes.

  19. Today’s Reality • This started to change with the coming of the PC. • With today’s powerful microchips and larger memories, mathematical simulations are done on all kinds of devices including hand held and onboard. • The architectures are very diverse leading the challenges in creating standard code with ideal performance across these platforms.

  20. Questions for Mathematical Software Developers • How might the mathematical software be distributed and managed in such a way that users can tailor it for their own environments? • Who troubleshoots problems with the software when a user changes the code?

  21. Assumption 5 Mathematical software was generally written in Fortran or Algol, since most scientific computation was done in these languages.

  22. Today’s Reality • The diversity of platforms may call for many versions (and languages of implementation) of the same algorithm • No single version, even with machine dependent adaptations, may be suitable.

  23. Questions for Mathematical Software Developers • Questions of tailoring and troubleshooting persist as the software is adapted to different computing environments and programming languages

  24. Assumption 6 • The structure of libraries was driven by a mathematical taxonomy: special functions, solution of linear algebraic equations, curve and surface fitting, ordinary differential equations, etc. • Completeness of coverage could be measured by the most commonly used entries in this taxonomy without too much knowledge about the details of the various simulations.

  25. Today’s Reality • Problem characteristics in a particular simulation may dictate algorithm variations that don’t neatly fit the “general purpose” mathematical taxonomy • Complex symmetric (not hermitian) matrix solutions • Sparse matrices with specific patterns • Fixed step ODE solvers • Very specialized curve and surface fitting tools

  26. Simulation Library

  27. Questions for Mathematical Software Developers • How is an external library adapted to specific applications contexts, where that library may need new functionality driven by specific applications? • How does a library organize and support important but non-standard algorithms?

  28. Comment • Assumptions 2 (IP issues), 4 (diversity of environments) and 6 (specialized requirements) kept us from adopting a commercial library as our foundation at Boeing. We studied the issue four or five times from 1980 till 2001.

  29. Continued Need • In spite of the changing assumptions in the field of mathematical software, the need for mathematical software persists and grows • Once confined to simulations, math software is now at the heart of robotics, elevator operations, flight controls, GPS devices, etc. • However, the world in which this software is needed is much more complex, with • Many users migrating to “off the shelf” software • New applications requiring non-standard algorithms • Significant reuse questions • Diverse environments challenging the measure of use, standards of delivery, and the stability of the software

  30. Conclusions • Mathematical software was started with a collection of tacit assumptions in the 1960s • These assumptions are no longer valid • As in the case of land ownership and airplanes, or IP issues and remix capability, this calls for rethinking basic issues • I offer these questions for your consideration

  31. Acknowledgments • I would like to thank Thomas Grandine from Boeing for help in the preparation of these ideas • Ronald F. Boisvert, “Mathematical Software: Past, Present and Future,” Mathematics and Computers in Simulation, vol. 54, 2000, pp. 227-241 • Unknown remix artist

More Related