Commit f1e129a
fix(scf): FullPivLU has no info() — use isInvertible() for the DIIS guard
The DIIS coefficient solve in solve_scf checked `lu.info() == Eigen::Success`
on an Eigen::FullPivLU, which has no info() member. It slipped through local
builds (newer system Eigen found via find_package) but breaks the CI wheel
build against the pinned Eigen 3.4.0 (the FetchContent fallback):
solver_scf.hpp:299: 'Eigen::FullPivLU<...>' has no member named 'info'
Introduced by ddee430 (experimental SCF solvers), after v1.0.3 — so CI never
exercised it until the pipeline was re-armed. isInvertible() is the correct,
portable check: reject the DIIS extrapolation when the residual overlap matrix
B is singular and fall back to the plain step. SCF regression tests green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 43835e9 commit f1e129a
1 file changed
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
299 | | - | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
300 | 302 | | |
301 | 303 | | |
302 | 304 | | |
| |||
0 commit comments