previous up next print clean
Next: Research Scenarios Up: PROGRAMMING ALGEBRA Previous: Composite Operators

Solvers

A solver's solve(A, b, x) method computes an estimate of the model ${\bf x}$ for the given operator ${\bf A}$and a known data vector ${\bf b}$. To test Jag's ability to accommodate a wide variety of application-independent solvers, we implemented six solvers:

The program fragment of the Steepest Decent Solver in the Appendix demonstrates the simple but powerful abstract mathematical formulations that Jag's class hierarchy provides. The solver exclusively contains abstract interface objects and methods. Consequently, such a solver will work with any implementation of those interfaces.

We additionally devised a scheme that allows a programmer to supply his own report and termination methods to an iterative solver. Both methods are executed at the end of each iteration. The report method might print a statement about the state of the estimation and the termination method decides to continue the iteration or not. By supplying a report and termination method, programmer gains tight control over an iterative solver.

Finally, a NormalEquations class permits a programmer to conveniently set up the normal equations ${\bf (A' A) x = A' b}$ for a given minimization problem ${\bf A x = b}$.


previous up next print clean
Next: Research Scenarios Up: PROGRAMMING ALGEBRA Previous: Composite Operators
Stanford Exploration Project
11/11/1997