There is much good quality interval software available for basic arithmetic and elementary functions, and for rootfinding and graph plotting, linear algebra, differential equations, global optimization, as well as more specialized applications. But for applications programmers, the software is unappealing: much of it is written in not widely-used languages or is not easily portable for other reasons; agreement on names and meaning of basic interval operations is not universal; installation is very system-dependent, and it can be hard to verify that the infrastructure (e.g. control of rounding modes) is correctly set up; there is no agreement on how to handle exceptional cases such as division by zero, infinite or empty intervals, or square root of intervals containing negative values.
The situation is similar to that of "ordinary" numerical software some 30 years ago when projects like NAG and IMSL began to remedy it. The ISL project aims, over a number of years and hopefully with the help of many collaborators, to do the same for interval software. We have just been given a small grant by the UK's Engineering and Physical Sciences Research Council to plan and initiate this work. This meeting is the first stage. You can read our Position Paper on the aims of the project.
The aim is to produce, in stages, a library of interval code that is
easy to install and use, efficient within the limits of current
technology, thoroughly tested, and covers the basic needs of
applications. Because of current trends, the initial implementation is
likely to be in C++.
Basic algorithmic research is not our priority. We aim to consolidate existing software from our contributors making the fewest possible changes to the code, while producing a consistent look and feel to the application programming interface and the documentation. The documentation will aim to support all aspects of use of the library: installation and the test suites used to validate it; the foundations of the interval arithmetic model used; techniques, tips and insights to help develop good interval programming practice; description of the individual library chapters and components.
"Basic algorithmic research is not our priority," is accurate, but open to mis-interpretation. Consider ...
Mission: Provide a full-featured, production quality library of validating routines for use by the wide community of applications developers.
Success might be measured by four mutually conflicting criteria with relative weights roughly (fuzzy?):
We can achieve the best trade-offs by viewing this analogously to traditional librarians. We should not abuse the analogy, but librarians have traditionally gathered the work of others into collections, catalogued it, improved organization and access, and helped people find and use the contents of their collections. We expect to write some bridge classes and make minor modifications to existing codes, but the initial focuses on gathering and organizing to have as wide coverage as quickly as we can.
I think of
The primary concern of ISL are Problem-solving routines, but we must have a base of Interval arithmetic packages and Utility routines on which to rest. Utility routines are heavily used by genuine problem-solving routines. They may also be used by applications. Utility routines have been MANY times re-invented by each author of Problem-solving routines. Our biggest service to authors of Problem-solving routines is a well-defined set of utility APIs so authors of Problem-solving routines are free to concentrate on solving problems.
Applications are our customers. We may offer a list of known applications, but we do not include applications in ISL. The requirements gathering for customers' needs can proceed in parallel with the gathering and cataloguing of Interval arithmetic packages and Problem-solving routines:
The borders between these three classes is sometimes quite fuzzy.
Both the Numerical Algorithms Group
Ltd (NAG) and Sun Microsystems
have expressed interest in the project and have written letters of
support, which we gratefully acknowledge.
An effort is under way to agree a specification for Interval Arithmetic to be included in the C++ Standard Library. Many people are involved in this and we acknowledge the work of Hervé Brönnimann, Guillaume Melquiond and Sylvain Pion.
Drawing on their drafts, ISL have produced a draft standard document for consideration by the Standards Committee. The theoretical model for this standard is based on Pryce's version of Walster and Hansen's containment set (cset) theory. For a description, see the paper by Corliss and Pryce (Jan 2006).
Our daily schedule is somewhat in the flavor of the Scrum software development method:
| 8:30 | Group meeting:
|
| 9:00 | Do what we said
|
| 12:00 | Lunch |
| 13:30 | Applications speaker (see below) |
| 15:00 | Group meeting
|
| 17:00 | Quit for the day |
| Dinner Informal discussions |
Issues to be considered include:
There are several inventories I think we need to gather before we go too far. None of these inventories needs to be comprehensive, but I'd like to get a good start on each of them by January.
Probably more.
Name? Let's ask people. Thanks to Ned for pointing our Google searches. We should look at some of the reverse search tools that show frequency counts of terms people actually search for. Our opinion does not matter. Opinions of our customers matter.
If others like that, I would ask John to invite several of his local
friends. I would expect these talks to be open to anyone, especially
students, who wanted to attend. I'd think one of the benefits we can
offer to our host university is a week's worth of research talks."
The speakers so far are as follows. This is probably the final
line-up.
| Day | Time |
Speaker | Topic
(abstracts) |
| Mon | 13:30-14:30 |
|
Automatic
Differentiation of a Time-Dependent CFD Solver for Optimisation of a Synthetic Jet |
| Tue | 13:30-14:30 |
|
Experiences in The Development of Numerical Libraries and Packages |
| Wed | 13:30-14:30 |
|
On Pantoja's algorithm in control theory |
| Thu | 13:30-14:15 14:15-15:00 |
|
Industrial
CFD at BAE SYSTEMS Numerical difficulties encountered when solving differential and algebraic equations arising in process modeling applications |
| Fri | 13:30-14:30 |
|
Uncertainty Quantification in Computational Mechanics |
RMCS main switchboard Tel +44 1793 782551 |
John's
office MH10 (Marlborough Hall room 10) Tel +44 1793 785683 j.d.pryce@cranfield.ac.uk |
CISE Group
Secretary Miss Karen Farrow Tel +44 1793 785688 k.farrow@cranfield.ac.uk |
(In the UK, replace the +44 by a zero.)