 |
 |
 |
 | Krylov space solver in Fortran 2009: Beta version |  |
![[pdf]](icons/pdf.png) |
Next: Solvers
Up: Operator-based object-oriented solvers
Previous: Operators
The number of different ways that an 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 a chain operator. When the results of applying the first
operator
is fed into a second operator
,
 |
(3) |
A second applies two
different operators to the same vector (a column vector),
![$\displaystyle \left[ \begin{array}{c} \bf d_1\\ \bf d_2 \\ \end{array} \right] = \left[ \begin{array}{c} \bf L_1\\ \bf L_2 \\ \end{array} \right] \bf m .$](img25.png) |
(4) |
Its corollary, a row operator, which forms a single data
from
to models,
![$\displaystyle d = \left[ \begin{array}{cc} \bf L_1& \bf L_2 \\ \end{array} \right] \left[ \begin{array}{c} \bf m_1\\ \bf m_2 \\ \end{array} \right].$](img26.png) |
(5) |
Finally, a diagonal operator that applies different operators to different models
![$\displaystyle \left[ \begin{array}{c} \bf d_1\\ \bf d_2 \\ \end{array} \right] ...
...rray} \right] \left[ \begin{array}{c} \bf m_1\\ \bf m_2 \\ \end{array} \right].$](img27.png) |
(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 combo-operator/vectors and these functions are often
called recursively.
 |
 |
 |
 | Krylov space solver in Fortran 2009: Beta version |  |
![[pdf]](icons/pdf.png) |
Next: Solvers
Up: Operator-based object-oriented solvers
Previous: Operators
2011-09-13