OOPS is an object oriented parallel solver using the primal dual interior point methods. Its main component is an object-oriented linear algebra library designed to exploit nested block structure that is often present is truly large-scale optimization problems. This is achieved by treating the building blocks of the structured matrices as objects, that can use their inherent linear algebra implementations to efficiently exploit their structure both in a serial and parallel environment. Virtually any nested block-structure can be exploited by representing the matrices defining the problem as a tree build from these objects. We give details of supported structures and their implementations. Further we give details of how parallelisation is managed in the object-oriented framework.
Technical Report MS04-004, School of Mathematics, The University of Edinburgh, Edinburgh EH9 3JZ, UK