||Hybrid-norm and Fortran 2003: Separating the physics from the solver||
Up: Reproducible Documents
Object-oriented approaches allow a separation between solvers and operators. An abstract
vector class is created with a limited set of methods. Solvers are written in terms
of this abstract vector class and operators act on vectors inherited from the
abstract class. Ideally,
this separation allows the geophysicist to leverage the work of the mathematician without
needing to understand the implementation details of the optimization method.
The minimal set of object-oriented features of Fortran95 and its predecessors limited
the potential separation between the physics and the solver. New inversion approaches,
such as the hybrid norm, further hampered this separation when using conventional
vector class descriptions.
the object-oriented features of Fortran 2003, a more complete separation between solvers
and operators can be achieved. By expanding the vector class definition, approaches such
as the hybrid norm can be implemented.