v0.1.2
What's Changed
Fixed
- Equality constraints (
a*V1 + a*V2syntax) now correctly share a single free parameter. Previously each labelled term got its own independent parameter, silently ignoring the constraint. - Labelled first-indicator loadings (e.g.
F1 =~ a*V1 + a*V2) are now free, not fixed to 1. Matches lavaan semantics. - Observed variable detection for covariance-only models (
RL ~~ MDD) no longer fails with "0 observed variables". - L-BFGS convergence flag: when the line search exhausts all step sizes, the optimizer is at a stationary point — now correctly reports
converged = true.
Added
- Heywood case warnings: negative variance estimates are detected after every SEM fit and logged at WARN level via the
logcrate. Surfaces in R, Python, and CLI. - New tests for equality constraints (shared params, value propagation, implied covariance, Jacobian) and negative variance detection.
Full Changelog: v0.1.1...v0.1.2