Version:

This page here has been created for the latest stable release of Salvus. You have chosen to view the documentation for another Salvus version. Please be aware there might be some small differences you have to account for.

Misfit functionals involving velocity

What difference does it make if the misfit functional uses velocity traces vobsv_{\text{obs}} instead of displacements uobsu_{\text{obs}}?

The answer might be a bit more complicated than you think.

Usually, we solve the wave equation with displacement as primary state variable. To keep things simple let's consider the scalar wave equation in a homogeneous medium

c2tt2uΔu=f,c^{-2}\,\partial^2_{tt} u - \Delta u = f,

with initial conditions

u(0)=0,tu(0)=0.u(0) = 0,\quad \partial_t u(0) = 0.

For displacement measurements uobsu_{\text{obs}} and the L2L_2-misfit,

12uuobs2,\frac{1}{2}\| u - u_{\text{obs}} \|^2,

it is well known that the adjoint source is then simply given by the residuals uobsuu_{\text{obs}} - u.

Instead of displacements uobsu_{\text{obs}}, we now want to consider the L2L_2-misfit for velocity measurements.

Strategy 1 - Transforming the wave equation

Under some reasonable regularity assumptions on the source time function, we can just take the time derivative of the wave equation and obtain:

c2ttt3uΔ(tu)=tf,c^{-2}\,\partial^3_{ttt} u - \Delta \left(\partial_t u\right) = \partial_t f,

with initial conditions

tu(0)=0,tt2u(0)=0.\partial_t u(0) = 0,\quad \partial^2_{tt} u(0) = 0.

This results in the same wave equation as the one originally defined but with velocity as state variable and the time-differentiated source time function on the right-hand-side:

c2tt2vΔv=tf,c^{-2}\,\partial^2_{tt} v - \Delta v = \partial_t f,

with initial conditions

v(0)=0,tv(0)=0.v(0) = 0,\quad \partial_{t} v(0) = 0.

For velocity measurements vobsv_{\text{obs}} the L2L_2-misfit then reads

12vvobs2,\frac{1}{2}\| v - v_{\text{obs}} \|^2,

and the adjoint source is given by the velocity residuals vobsvv_{\text{obs}} - v.

In summary, we transform the forward equation from displacement to velocity as primary state variable, in which case we can directly deduce the adjoint source in terms of velocity and then also solve the adjoint equation in the velocity formulation to obtain gradients.

Strategy 2 - Invoking the chain rule

Alternatively, we can keep the wave equation in the displacement formulation and invoke the chain rule to compute the correct adjoint source. In this case, the velocity misfit is given by

12tuvobs2.\frac{1}{2}\| \partial_t u - v_{\text{obs}} \|^2.

What is the correct adjoint source in this case?

  • is it the residuals (vobstu)\left(v_{\text{obs}}- \partial_t u\right)?
  • or maybe the time derivative of the residuals t(vobstu)\partial_t \left(v_{\text{obs}}- \partial_t u\right)?

The answer is that both are incorrect!

Let's recall that the adjoint source is defined as the negative derivative of the misfit functional with respect to the state variable. In our case, we have

χ(u)=12tuvobs2=120T(tu(t)vobs(t))2dt,\chi(u) = \frac{1}{2} \| \partial_t u - v_{\text{obs}}\|^2 = \frac{1}{2}\,\int_0^T \left(\partial_t u(t) - v_{\text{obs}}(t)\right)^2\,dt,

and the adjoint source is defined as

uχ(u).-\frac{\partial}{\partial u}\,\chi(u).

In variational form, we obtain the directional derivative of χ\chi as

(uχ(u),δu)=0T(tu(t)vobs(t))tδu(t)dt.\left(\frac{\partial}{\partial u}\,\chi(u), \delta u\right) = \int_0^T \big(\partial_t u(t) - v_{\text{obs}}(t)\big)\,\partial_t \delta u(t)\,dt.

To shift the time derivative onto the first term, we apply integration-by-parts which yields:

0T(tu(t)vobs(t))tδu(t)dt=0Tt(tu(t)vobs(t))δu(t)dt\int_0^T \big(\partial_t u(t) - v_{\text{obs}}(t)\big)\,\partial_t \delta u(t)\,dt = - \int_0^T \partial_t \big(\partial_t u(t) - v_{\text{obs}}(t)\big)\,\delta u(t)\,dt

where we have used the homogeneous initial (resp. final time) conditions of forward and adjoint equation. From the last equation, we deduce that the correct adjoint source in the displacement formulation is thus given by

t(tuvobs),\partial_t\big(\partial_t u - v_{\text{obs}}\big),

i.e., it has the opposite sign of what we might have guessed.

In summary, this strategy solves the adjoint equation in its usual displacement formulation, but correctly accounts for velocities by invoking the chain rule when computing the adjoint source.

Pros and cons

The gradients will be exactly the same in both cases.

In the second case, the adjoint source needs to account for the time derivative and to apply the chain rule properly. The good news is that Salvus does this automatically when the misfit is defined in velocities, so you don't have to worry about this as a user.

The numerical time integration scheme is more accurate in the primary state variable than in its time derivative. Hence, solving the wave equation for velocity using the time derivative of the source time function would be the preferred way.

The only downside here is that the field labels become ambiguous, because Salvus would still call the primary field displacement.

The whole argument also applies to acceleration.

PAGE CONTENTS