next up previous [pdf]

Next: Solvers Up: Operator-based object-oriented solvers Previous: Operators

Combining 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 $ \bf L_1$ is fed into a second operator $ \bf L_2$ ,

$\displaystyle \bf d= \bf L_2 \bf L_1 \bf m .$ (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 .$ (4)

Its corollary, a row operator, which forms a single data $ \bf d$ 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].$ (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].$ (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.
next up previous [pdf]

Next: Solvers Up: Operator-based object-oriented solvers Previous: Operators

2011-09-13