Changelog#
Unreleased#
Molecular manifolds: rigid_quotient is Sella Cartesian
R^{3N}/SE(3) (fix_translation + fix_rotation);
mw_rigid is the Page–McIver / Sella IRC Eckart metric on the
same quotient (rgmin_solver_set_masses). SO(3) is length 9 and
SE(3) is length 12; a 3N cluster is rejected rather than packed
or prefix-interpreted. Periodic bulk sets
rgmin_solver_set_periodic: Sella proj_rot = false, quotient
R^{3N}/T(3). Isolated stays R^{3N}/SE(3). abi_minor 10.
Embedded manopt tokens: Euclidean (default), sphere, SO(3),
Stiefel St(n,1), SE(3). Hourglass mark and the Diataxis book
under docs/orgmode/.
0.2.0#
rgmin_solver_set_highs: opt-in HiGHS feasible-set step. With a host
Hessian this is the convex Newton QP min 1/2 p^T P p + g^T p and
per-coordinate boxes. Without the highs feature the setter returns
eindir / rgpot / eOn share the same session.
0.1.0#
Rust rewrite of the C++ xtensor tree (0.0.1 on the previous
main). Solvers live in Rust. C and C++ reach them through
rgmin_solver_t and rgmin_minimize over dlpk tensors.
Session API:
create/step/step_hess/step_fg/ fusedevalgrad/forget/freeMethods: L-BFGS, BFGS, SR1, SR2, shifted Newton, RFO, eight NLCG conjugacies, steepest, Adam, PSO, FIRE, FIRE 2.0, Barzilai-Borwein, Powell dogleg
Host Hessian policy:
qn_steptwo-loop / Newton / RFO; pairH0 = P^{-1}Accept: none / energy / nonmonotone
Per-atom maxmove and optional rigid-body projection
Optional
highsfeature: two-loop direction, HiGHS only for a feasible set (box, trust, equalities)
The previous C++ main is unrelated history. This tag is the first
Rust release.