Skip to content

num::vec_field

Defined in header <ode/concepts.hpp>

template <class T, class V = vec<real>>
concept vec_field = vector_space<V> && requires(T &field) {
  { field.as_vec() } -> std::same_as<V &>;
};

State exposing its underlying vector space to implicit integrators.

Implicit steppers solve a linear system in the state space, so they need the state as a vector rather than as a field, grid or particle set. The space is a parameter refining vector_space, not the concrete vec<real>: a state over complex amplitudes or single precision exposes its own space just as well, and the earlier form — which named vec<real> outright — excluded both.