Skip to content

fix(cuqdyn-rs): correct the p3/p4 swap in the Lotka-Volterra model - #15

Open
davidrpenas wants to merge 1 commit into
mainfrom
fix/lv-model-and-panics
Open

fix(cuqdyn-rs): correct the p3/p4 swap in the Lotka-Volterra model#15
davidrpenas wants to merge 1 commit into
mainfrom
fix/lv-model-and-panics

Conversation

@davidrpenas

Copy link
Copy Markdown
Collaborator

The compiled model computed dy2 = (p3*y0 - p2)y1, while prob_mod_dynamics_LV.m defines dy2 = (p3y1 - p4)*y2: p3 and p4 were swapped, so parameters fitted with the fully-observed LV example were not comparable component-wise with MATLAB. The expression variant in lotka_volterra_expr() and tests/data carried the same swap, and the unit test and test_ode_solver's inputs encoded it; the expected trajectories are unchanged, only which slot holds the interaction rate. The lv2_partobs example was never affected.

Two clippy-driven rewrites in models.rs had also turned panic format captures into literal text; restored the interpolation. cargo test and the ctest suite pass.

The compiled model computed dy2 = (p3*y0 - p2)*y1, while prob_mod_dynamics_LV.m
defines dy2 = (p3*y1 - p4)*y2: p3 and p4 were swapped, so parameters fitted with
the fully-observed LV example were not comparable component-wise with MATLAB.
The expression variant in lotka_volterra_expr() carried the same swap, and the
unit test and test_ode_solver's lotka-volterra scenario encoded it; the expected
trajectories are unchanged, only which slot holds the interaction rate. The
lv2_partobs example was never affected.

Two clippy-driven rewrites in models.rs had also turned panic format captures
into literal text; restored the interpolation. cargo test and the ctest suite
pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@davidrpenas
davidrpenas force-pushed the fix/lv-model-and-panics branch from cf31d17 to 4f2ae86 Compare September 7, 2026 12:01
@davidrpenas davidrpenas closed this Sep 7, 2026
@davidrpenas davidrpenas reopened this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant