You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A path's metadata carries the endgame's last samples, under any number of threads #504
A path's SolutionMetaData does not carry the endgame's last samples. They cannot be recovered after the solve, and they are what a caller needs to read how the path approached its endpoint: the samples and their times give the power-series or Cauchy approach, the rate at which successive approximations agree, and the evidence a rank read or a singularity diagnosis uses.
Today a caller gets them only by attaching an observer to the endgame (the ComputedSamplePoint events, collected by SampleLadderCollector). Under threading that does not work: each worker runs a copy of the endgame, and an Observable's copy drops its observers (deliberately, so copies are safe on other threads). So the samples exist only in serial runs, and anything recorded from them depends on the thread count, against the rule that a seeded solve's results do not depend on how it ran (#491).
latest_path_point exists, but it is filled only for a path that fails.
Requested: SolutionMetaData carries the endgame's last few samples (the points, at their precision, and their times; two at least), for every path that reaches the endgame, threaded or not. With the existing records machinery they would then reach a solve's path records as well.
Use: a cellular decomposition built on b2 (in development in ofloveandhate/b2_experiments) records the computation behind each point it uses; the endgame's last samples are the part of a path's history that cannot be recomputed later.
Activity