Skip to content

211 dev optimise exa linalg#212

Merged
jbcaillau merged 3 commits intodevelopfrom
211-dev-optimise-exa_linalg
Feb 7, 2026
Merged

211 dev optimise exa linalg#212
jbcaillau merged 3 commits intodevelopfrom
211-dev-optimise-exa_linalg

Conversation

@jbcaillau
Copy link
Copy Markdown
Member

@jbcaillau jbcaillau commented Feb 6, 2026

close #211

- Rename type aliases for clarity: VecReal, VecNode, Mat (from Vec1DReal, Vec1DNode, Mat2D)
- Add __dot internal function as core dot product implementation
- Refactor all matrix operations to use views instead of slices (zero allocations)
- Add adjoint×vector product support (v' * w for all type combinations)
- All 481 tests pass, zero ambiguities confirmed by Aqua

Performance: Matrix×vector and matrix×matrix products now use views, eliminating intermediate allocations in hot loops.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@jbcaillau jbcaillau linked an issue Feb 6, 2026 that may be closed by this pull request
@jbcaillau jbcaillau changed the base branch from main to develop February 6, 2026 18:41
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 6, 2026

Breakage test results
Date: 2026-02-06 23:37:27

Name Latest Stable
OptimalControl compat: v0.7.2 compat: v0.7.2

jbcaillau and others added 2 commits February 6, 2026 20:38
Move dimension checks from internal __dot to public API boundary:
- Add assertions to public dot() methods (user-facing)
- Add assertions to adjoint×vector methods (v'*w)
- Remove assertions from __dot (trusted internal helper)
- Matrix operations keep their existing dimension checks

Performance: Eliminates redundant checks in hot loops.
Example: 100×100 matrix×vector now does 1 check instead of 101.

Design: "Validate at boundaries, trust internally" - public API is
defensive while internal helpers are fast.

All 481 tests pass.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@jbcaillau jbcaillau marked this pull request as ready for review February 7, 2026 00:04
@jbcaillau jbcaillau merged commit 4d341c1 into develop Feb 7, 2026
12 of 13 checks passed
@jbcaillau jbcaillau deleted the 211-dev-optimise-exa_linalg branch February 7, 2026 00:05
@jbcaillau jbcaillau mentioned this pull request Mar 9, 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.

[Dev] Optimise exa_linalg

1 participant