Skip to content

Remove Eigen from CMA-ES and keep its samples in the box - #1582

Merged
NAThompson merged 1 commit into
developfrom
cma-es-eigen-free
Oct 23, 2026
Merged

NAThompson merged 1 commit into
developfrom
cma-es-eigen-free

Conversation

@NAThompson

Copy link
Copy Markdown
Collaborator

A hand-rolled Householder + QL eigensolver replaces Eigen, and samples are projected onto the bounds.

Same 18-problem shootout as #1581 (25 seeds, 2000 calls per dimension, solved at f − f* ≤ max(1, |f*|)/10⁶). Before, CMA-ES sampled outside the box in every run:

CMA-ES data profile

Rosenbrock 10

All 20 problems, for H5Web: cma.h5.zip

🤖 Generated with Claude Code

@NAThompson
NAThompson force-pushed the cma-es-eigen-free branch 2 times, most recently from c6bd92a to 19e39e7 Compare October 23, 2026 02:52
A hand-rolled Householder + QL eigensolver replaces Eigen, and samples are projected onto the bounds. Both are now in the C++20 module, as is MCS.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NAThompson
NAThompson merged commit b8d681b into develop Oct 23, 2026
96 of 97 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