


 Hybridnorm and Fortran 2003: Separating the physics from the solver  

Next: Solvers
Up: Operatorbased objectoriented solvers
Previous: Operators
The number of different ways that operator might need to be
combined to solve a given inversion problem is infinite. Fortunately,
all possible combinations can be built from four building blocks.
The first is the row operation described above. A second applies two
different operators to the same vector (a column vector),

(4) 
Its corollary, a row operator, which forms a single data
from
to models,

(5) 
Finally, a diagonal operator that applies different operators to different models

(6) 
The final three all imply the creation of a new vector class that is
the combination of two or more vectors. This super vector class is
a storage object that calls the appropriate vector class function sequentially
(except for the dot product function that must add the result of each call).
As described in the next section inversion problems are often combinations
of several of these combooperator/vectors and these functions are often
called recursively.



 Hybridnorm and Fortran 2003: Separating the physics from the solver  

Next: Solvers
Up: Operatorbased objectoriented solvers
Previous: Operators
20101126