rugnux: the no-crystal test asks its own significance, 1e-9
The final no-crystal test (RejectChanceLattice) used the 0.001 binomial level of the comparisons between candidate lattices. The lattice it tests is the winner of some fifty indexing attempts, each fitted to an accumulated cloud that already holds the long-lived reflections it then re-finds on the validation frames, so that null is optimistic by roughly the number of attempts. The two in-house no-crystal controls passed it by one or two distinct reflections (tails 10^-2.06 and 10^-2.70 against 10^-3). The test now asks 1e-9 (Z ~ 6); the rescue comparisons keep 0.001. With two reflections by chance the controls would now need 15 distinct reflections instead of 4-5. Real lattices are tens of decades past either level (weakest seen: 10^-83). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SVmAWnzCmRKAXVUCdc4iNi
This commit is contained in:
@@ -147,3 +147,14 @@ TEST_CASE("ValidationEvidenceBeatsChance_ExchangeableArrangements", "[RotationSc
|
||||
// As many at the recorded angles as at an average wrong one is no lattice.
|
||||
CHECK_FALSE(ValidationEvidenceBeatsChance({.reflections = 100, .reflections_by_chance = 500}));
|
||||
}
|
||||
|
||||
TEST_CASE("ValidationEvidenceBeatsChance_NoCrystalSignificance", "[RotationScale]") {
|
||||
// A handful of stray reflections passes 0.001 but not the no-crystal test's own level.
|
||||
CHECK(ValidationEvidenceBeatsChance({.reflections = 5, .reflections_by_chance = 1}));
|
||||
CHECK_FALSE(ValidationEvidenceBeatsChance({.reflections = 5, .reflections_by_chance = 1}, NO_CRYSTAL_SIGNIFICANCE));
|
||||
// Against two by chance it takes 15 (tail 10^-9.7), and 14 is not enough (10^-8.96).
|
||||
CHECK(ValidationEvidenceBeatsChance({.reflections = 15, .reflections_by_chance = 2}, NO_CRYSTAL_SIGNIFICANCE));
|
||||
CHECK_FALSE(ValidationEvidenceBeatsChance({.reflections = 14, .reflections_by_chance = 2}, NO_CRYSTAL_SIGNIFICANCE));
|
||||
// A weak real lattice on a few frames is still tens of decades past it.
|
||||
CHECK(ValidationEvidenceBeatsChance({.reflections = 115, .reflections_by_chance = 4}, NO_CRYSTAL_SIGNIFICANCE));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user