Tacit assumptions in the field of mathematical software
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

Tacit Assumptions in the Field of Mathematical Software PowerPoint PPT Presentation


  • 44 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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 70th birthday


Overview

Overview

  • Two stories

  • Six Assumptions and their implications

  • Some questions for those working in the field of mathematical software


Tacit assumptions in the field of mathematical software

July

1972


The model for mathematical software user viewpoint

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


Tacit assumptions

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]


Tacit assumptions in the field of mathematical software

Six tacit assumptions that drove the field from the 1960s


Assumption 1

Assumption 1

  • Scientists and engineers develop their own mathematical simulation codes.


Today s reality

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


Questions for mathematical software developers

Questions for Mathematical Software Developers

  • Who is the customer for the mathematical software?


Assumption 2

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.


The transition

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)


Today s reality1

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.


Questions for mathematical software developers1

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?


Assumption 3

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.


Simulation performance

Simulation Performance

Algorithm performance

Algorithm performance


Today s reality2

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?


Questions for mathematical software developers2

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?


Assumption 4

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.


Today s reality3

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.


Questions for mathematical software developers3

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?


Assumption 5

Assumption 5

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


Today s reality4

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.


Questions for mathematical software developers4

Questions for Mathematical Software Developers

  • Questions of tailoring and troubleshooting persist as the software is adapted to different computing environments and programming languages


Assumption 6

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.


Today s reality5

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


Tacit assumptions in the field of mathematical software

Simulation

Library


Questions for mathematical software developers5

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?


Comment

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.


Continued need

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


Conclusions

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


Acknowledgments

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


  • Login