Files
sim-numerics/PREREG_roots_jl_2026-09-21.md
T

3.4 KiB
Raw Blame History

PREREG — второй независимый корпус: эталон методов со скобкой Roots.jl / ModAB

Составлено до прогона, ветка signfix-and-gates. Валерий: «давай проверим ещё на наборе задач».

Корпус (corpus_roots_jl.py, закоммичен до прогона)

Опубликованный эталон: Roots.jl test/benchmark-bracketing-methods.jl (коммит cf1d256, 2026-03-30), взятый из эталона метода ModAB (Ganchovski & Traykov, github.com/Proektsoftbg/Numerical). Задачи f01–f91 перенесены с Julia (f92–f93 с бесконечной скобкой не берутся: ни один сравниваемый метод её не принимает). Все 91 имеют разные знаки на концах.

  • Исключение пересечений с наборами разработки — объективно: функция совпадает с функцией APS или Chandrupatla до 10⁻¹² в 7 фиксированных точках скобки. Найдено 13 (f05, f06, f08, f12–f15, f17–f20, f41, f62). Основной вывод — по 78 оставшимся.
  • Строгий вариант (сообщается): только f24–f91 — вне блока f01–f23, повторяющего семейства APS с другими параметрами.
  • Успех — корней источник не даёт, есть разрывы и полюса: в пределах 10⁻⁶ от ответа функция меняет знак (или ответ — точный ноль). XTOL 10⁻¹², MAXFEV 200, неудача = 200; гарантия ≤ 2⌈log₂(w/xtol)⌉ + 4 на решённых.

Варианты и критерии — те же, что в PREREG_out_of_sample

A = Г2 + contra+flatanalogmempt+exp+half; B = defect+flatanalogmempt+exp; справочно — предложенный метод без добавок; соперники — библиотечные Чандрупатла, Брент, TOMS748.

# ПРОЙДЕНО, если (на 78 задачах)
R1 сумма вызовов V меньше, чем у Чандрупатлы
R2 по задачам против Чандрупатлы побед больше, чем поражений, знаковый тест p < 0.05
R3 гарантия: 0 нарушений; решено не меньше, чем у Чандрупатлы

«Переносится» — только при R1, R2, R3. Метод не меняется; корпус и критерии не меняются. Сообщаются: все три соперника, строгий вариант f24–f91, 13 пересекающихся задач отдельно, задачи, которые не решил хоть кто-то.

Ожидание, записано заранее: в корпусе много разрывных и патологических задач (f38–f40, f76–f83), где ни у одной модели нет преимущества и все близки к делению пополам; кратных корней меньше, чем в нашем корпусе C3 (f24, f25, f26, f43–f45, f72–f74) — там, по прошлому опыту, наш главный выигрыш.