![]() |
![]() |
![]() |
![]() | Model fitting by least squares | ![]() |
![]() |
![]() |
![]() |
![]() |
(97) |
![]() |
![]() |
![]() |
(98) |
![]() |
![]() |
![]() |
(99) |
![]() |
![]() |
![]() |
(100) |
![]() |
![]() |
![]() |
(101) |
If I were able and willing to handle linear algebra in a modern way,
I would show you this matrix iteration
![]() |
(102) |
If you have an operator that you are using millions of times
it is worth seeking good choices.
Good choices are those
that make the adjoint of your new operator
a good approximation to its inverse.
These are the two conditions we seek:
![]() |
![]() |
![]() |
(103) |
![]() |
![]() |
![]() |
(104) |
![]() |
![]() |
![]() |
(105) |
![]() |
![]() |
![]() |
(106) |
About the only trick I know is to try and
as diagonal matrices.
For test functions
, I generally use a pattern of moderately spaced impulses.
In physical space we may see places where
is smaller than
.
Those are the places to boost the corresponding diagonal.
There are many test functions you could use.
You could use all ones.
You could use random numbers.
You could use a pile of random old data,
though I'm not sure what you would use for old models.
Take the output.
Take its absolute value.
Maybe smooth it.
Take the square root since the half you put in
appears a second time in
.
I know one more trick.
In seismology many operators appear as integrals.
One of many such operators is called ``Kirchhoff migration''.
Because these operators and their adjoints contain integrations they boost low frequencies.
We can attenuate them back to their original size
by having or
apply
(known in the time domain as the ``Hankel tail'').
What, may we ask is the interpretation of the
variables?
They feel like ``energy conservation'' variables, though it makes no sense
to say the physical energy in
or
should be conserved
in the way of Parseval's theorem of Fourier transforms.
I imagined the
variables might be especially suitable for display
(like preconditioned variables) but now I am less certain.
![]() |
![]() |
![]() |
![]() | Model fitting by least squares | ![]() |
![]() |