recurrences
Stable function · Differentiate a model
Tier: stable · Kind: function · Topic: Differentiate a model
| Julia | Python | Rust |
|---|---|---|
recurrences | recurrences | recurrences |
Note: The causal self-reference recurrences of a view (spec §4.5), with frame and axis. A recurrence’s dim follows each language’s own indexing: 1-based in Julia, 0-based in Python and Rust (the emitted recurrences field of a pair block is 1-based in every binding).
Julia
recurrences(sv::SysView)
recurrences(sv::SysView, obs)
recurrences(sv::SysView, obs, ctx)
recurrences(sv::SysView, obs = _observed_defs(sv), ctx = _ctx(sv)) -> Vector{Recurrence}
Every recurrence of the view (esm-jacobian-spec.md §4.5), in equation order:
each observed whose definition reads itself, with its frame and axis read off
the definition. A self-read that cannot be placed on one axis is refused
with a BandError (EarthSciAST rejects such a document anyway; the producer
never guesses).
Python
recurrences(sv, obs: dict, ctx) -> list[Recurrence]
Every recurrence of the view, in equation order: each observed whose definition reads itself, with its frame and axis read off the definition. A self-read the producer cannot place on one axis is refused (EarthSciAST rejects such a document anyway; the producer never guesses).
Rust
pub fn recurrences(sv: &SysView<'_>, obs: &HashMap<String, Expr>, ctx: &Ctx) -> Result<Vec<Recurrence>, BandError>
Every recurrence of the view, in equation order: each observed whose definition reads itself, with its frame and axis read off the definition. A self-read the producer cannot place on one axis is refused (EarthSciAST rejects such a document anyway; the producer never guesses).