ucl-bug/jwave

CBS adjoint

Opened this issue · 0 comments

Despite the fact that, as it is, the Convergent Born Series does not allow for an heterogeneous density, it is still a powerful technique, especially for low-contrast sound speed media.

In absence of density heterogeneity the Helmholtz operator is self-adjoint (up to a change of sign for the absorption term). This means that it can be possible to override the vjp operation from jax with one that uses the CBS.

Potential things to look for:

  • I suspect this will not allow for backpropagation through the solver operations, so there should be a clear warning for the user if one tries to find such gradients
  • Make sure to calculate gradients for all remaining terms, including source terms
  • It would be very nice to be able to mix and match the forward and adjoint solver. For example, solving for the forward map using Waveholtz and the backward map with CBS.