1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Borrowed views of the live CMA distribution at solver boundaries.
use crateScalar;
/// Distribution diagnostics borrow solver-owned models without evaluating the problem.
///
/// Available after initialization. A completed generation updates these records;
/// an error can leave partially updated machinery, so it does not promise a
/// coherent checkpoint. Fresh initialization resets the distribution, while exact
/// solver-aware continuation retains it. The axes are square roots of covariance
/// eigenvalues, before multiplication by the overall step size. After a
/// covariance update, the solver floors each eigenvalue at `1e-30` before
/// taking its square root. Initialization retains the configured axes.
/// The backend's symmetric eigensolver reads the covariance's lower triangle;
/// rank-one update rounding can make its upper triangle differ. Coordinate
/// standard deviations instead use the covariance diagonal. The two evolution
/// paths are algorithm state and need not equal either of those scales.