Norm of diff of discrete functions segfaults in bindings
Copied over from Github.
calling
abs_err = compute_L2_bochner_norm(
reference_temporal_grid,
spatial_norm=lambda t: compute_H1_norm(
spatial_grid,
reference_interpolation.evaluate(t) - coarse_interpolation_on_reference_grid.evaluate(t)))
fails but
def H1_error(t):
a = reference_interpolation.evaluate(t)
b = coarse_interpolation_on_reference_grid.evaluate(t)
return H1_norm(spatial_grid, a - b)
abs_err = L2_bochner_norm(
reference_temporal_grid,
spatial_norm=H1_error)
resolves this.
This could be a bug in operator-
in the functions bindings in dune-xt.