next up previous contents
Next: Technical Summary Up: The FRISCO Project Previous: Executive Summary   Contents

Objectives and Results

The need to ``solve'' (i.e. simplify or find solutions to) systems of polynomials arises in many areas of science and engineering: for example geometric modelling, robotics, chemical engineering, scheduling and electronics. There are various generic algorithms implemented in commercial algebra systems such as AXIOM, Maple, Mathematica etc. for solving these problems, but in many cases their very generality makes them too inefficient for use on the size of problems encountered in industry. The aim of the FRISCO project was to investigate highly efficient, versatile polynomial solvers and to develop a framework under which they could be delivered to industrial users for the solution of real applications. As the project progressed the precise details of how we would achieve this changed, but the overall goals remained the same.

At the outset of the project we envisaged several main strands of activity. Initially we planned to survey industrial users to gauge their requirements, while at the same time beginning work on the infrastructure required to support the delivery of the solvers. This phase would consolidate earlier work carried out in the PoSSo Basic Research project, and in NAG's AXIOM activity. We would then develop and implement algorithms suitable for industrial use, and populate our framework with them.

In hindsight the project grossly underestimated the difficulties in (a) persuading industrial mathematicians to spend time in describing their problems to researchers; and (b) in adapting the appropriate techniques and tools to solve those problems. Language and basic terminology differed, and the imperatives of working in a commercial environment discouraged speculative activity even if it might lead to process improvements and consequent cost savings. The result was that the project had to expend a great deal more effort in cultivating industrial contacts than had been envisaged at first. Nevertheless the outcome of this activity was particularly rewarding and has led to a number of long-term relationships in areas including automated manufacture and computer aided design. For further details of this work the reader is referred to chapter 8.

While the aim of developing our own framework made perfect sense when we were planning the project, it made less sense by the time the project got underway. The Windows 32 bit operating system was becoming dominant with its component architecture based on OLE (and later Active-X), and partly as a result of this other component technologies such as Java Beans were emerging. The project investigated a number of these and observed that they were capable of handling the physical job of composing a number of communicating components to solve a problem (although they did not address the question of the choice of appropriate data structures). The project decided therefore that rather than design and implement yet another special framework, we would develop tools to allow us to make use of generic frameworks in an efficient and effective way. To this end we increased our efforts in the general area of interoperability (see chapter 5) to allow our tools to interact freely and naturally with those written in conventional languages such as C++ and Fortran. With the recent dramatic increase in the popularity of the Java language (which shares many characteristics with Aldor) this work has achieved much wider applicability than originally anticipated.

The development and implementation of new algorithms for polynomial system solving has been extremely successful, as testified by the large number of papers cited in chapter 6. An important outcome of this work will be the production of a comprehensive handbook (currently under preparation) surveying the state of the art in this area. Not every investigation yielded positive results: some algorithms were not as effective as others and in a number of areas further research is still needed. The rest were implemented in a number of software packages, described in chapter 7. In responding to our increased awareness and understanding of the needs of industry a number of new research areas have opened up, in particular in techniques for applying symbolic algorithms to problems specified with inexact data. Investigation of these areas has carried on beyond the end of the project.

Both mathematics and computer science are fast-moving areas, and if the project has stuck slavishly to its original programme it would have been a failure. In adapting to a changing world we fulfilled the spirit of the original objectives while staying relevant to current trends in the wider world. At the end of the project we have implemented a comprehensive collection of algorithms and deployed them in a range of different frameworks, and in Aldor we have a unique tool for facilitating mixed-language symbolic-numerical computation.


next up previous contents
Next: Technical Summary Up: The FRISCO Project Previous: Executive Summary   Contents
The FRISCO Consortium