4.9 KiB
Findings — логарифмическая замена переменной (линия NEXT_PAPER_logarithmic.md)
Пред-регистрация: PREREG_logarithmic_2026-09-20.md. Здесь — то, что установлено, в порядке
установления. Числа только с Linux (libm).
0. Базовое состояние воспроизведено (2026-09-20, сервер)
pytest tests/ -q→ 665 passed, 9 skipped, 364.91 s.verify_article.py→ «every number stated in the paper matches the sweep data» (все 72 числа).- 🟡 Несоответствие документации: README обещает «490 tests», фактически 674. README не правлю — он описывает опубликованный артефакт; расхождение зафиксировано здесь.
- 🟡 На сервере не было ни одного
*.json:sweep_full.json(1 349 222 байта) залит с ноутбука, иначе проверки, сверяющие статью с данными, молча пропускаются (те самые 9 skipped).
1. 🔴 Два гейта допуска НЕСОВМЕСТИМЫ в строгой формулировке — установлено ВЫВОДОМ, без прогона
Шаг метода: step = (1 − S(|f|/sc))·(far − x), sc = |slope|·|far − x|.
Гейт G1 — c, s выводятся из скобки; гейт G2 — на узких скобках преобразование тождественно
до округления, то есть требует |x − c| / s → 0 при сжатии скобки.
выбор единицы s (все беспараметрические) |
узкая скобка | широкая скобка |
|---|---|---|
s = |f(c)|/|f'(c)| — ньютоновская длина (пред-регистрированный кандидат) |
у простого корня |x−c| ~ |f|/|f'| ~ s, отношение → O(1), тождественности НЕТ |
марш есть |
s = w₀ — исходная ширина скобки (датум задачи) |
|x−c|/w₀ → 0, тождественность есть |
|x−c|/w₀ ≤ 1 ⇒ снова почти тождественность, марша НЕТ |
u = log|x−c| — без единицы вовсе |
режима тождественности нет и x = c не определено |
марш есть |
s = |x−c| — самомасштабируемая |
мультипликативный шаг отличается от аддитивного во втором порядке O((Δ/(x−c))²) ⇒ строгой тождественности НЕТ |
марш есть |
Вывод: ни одна доступная беспараметрическая единица не удовлетворяет G1 и строгому G2 одновременно. Это свойство постановки, а не деталь реализации.
Что из этого следует содержательно: марш требует отношения расстояний, а тождественность —
абсолютной шкалы; одно преобразование не может быть одновременно масштабно-свободным и
масштабно-привязанным. Заодно это объясняет, почему cbrt «работал случайно»: он берёт фиксированную
долю скобки, то есть отношение, и потому марширует — но фиксирует показатель 1/3 как константу, чего
метод себе позволить не может.
Развилка, вынесенная Валерию (решение не моё):
- A — оставить G2 строгим ⇒ линия закрывается сейчас, по выводу; отрицательный результат постановки, сам вывод сохранён.
- B — заменить G2 на его же измеримое чтение из пред-регистрации (L2: «на APS-154 суммарная цена не растёт»), реализовать самомасштабируемый режим и мерить; строгая тождественность была лишним обещанием, а не требованием протокола статьи.
Ослабление пред-регистрированного гейта после его провала — приём, которым легко обмануть себя, поэтому он делается только по явному решению, и оба варианта записаны здесь заранее.