Skip to content

Develop - #44

Merged
jwdink merged 25 commits into
mainfrom
develop
Jun 8, 2026
Merged

Develop#44
jwdink merged 25 commits into
mainfrom
develop

Conversation

@jwdink

@jwdink jwdink commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

jwdink and others added 22 commits April 18, 2026 15:01
Verifies that get_initial_mean(offsets) == F^i @ initial_mean for each
group's offset, covering integer and datetime offsets, multiple groups,
and with/without decay. Tests pass against both the original iterative
implementation and the new closed-form one.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Season.get_initial_mean previously stepped through O(period) matrix
multiplications on every forward pass to rotate the initial state to
each group's starting phase. For day_in_year (period=8766h) this was
~8767 matmuls per forward call. The new implementation decomposes each
2x2 block of F into its rotation angle and magnitude, then applies
F^i = decay^i * R(i * lam) analytically in a single vectorised op.

Also changed MeasurementModel.nonlinear_processes from @Property to
@cached_property, eliminating a list-comprehension rebuild on every
timestep (~124K calls per 5-epoch benchmark run).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jwdink
jwdink merged commit fd229b5 into main Jun 8, 2026
7 checks passed
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