PREREG before any run: third corpus - the GSL root-finding test suite (10, published) and 122 physics/engineering equations on grids fixed beforehand (Kepler incl. e up to 0.999, Colebrook-White, Lambert W, Planck/Wien, van der Waals CO2 incl. near-critical, IRR, finite square well). T1-T3 as before; GSL part reported separately; per equation breakdown.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
vvs
2026-09-21 19:47:21 +01:00
co-authored by Claude Opus 5
parent 554ec0c0ae
commit 8ea89dd38d
2 changed files with 134 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
# PREREG — третий независимый корпус: набор GSL и прикладные уравнения
Составлено до прогона, ветка `signfix-and-gates`. Валерий: «давай ещё найдём корпус для теста, для
статьи это будет только плюс».
## Корпус (`corpus_applied.py`, закоммичен до прогона)
- **G** — тестовый набор модуля поиска корней GNU Scientific Library (`roots/test.c`,
`test_funcs.c`, зеркало github.com/ampl/gsl): все 10 задач со скобкой, как в оригинале.
- **P** — 122 уравнения из физики и инженерии на стандартных сетках параметров, заданных до прогона:
уравнение Кеплера (35: e ∈ {0.1, 0.5, 0.9, 0.99, 0.999} × 7 значений M), Колбрука–Уайта (36: Re ×
шероховатость), W-функция Ламберта (7), закон смещения Вина/Планка (7), Ван-дер-Ваальс для CO₂
(20: T × P, включая околокритическую T = 304 K), внутренняя норма доходности (12), конечная
квантовая яма (5). Все 132 имеют разные знаки на концах.
- Успех — смена знака в пределах 10⁻⁶ от ответа (как в PREREG_roots_jl). XTOL 10⁻¹², MAXFEV 200,
неудача = 200; гарантия ≤ 2⌈log₂(w/xtol)⌉ + 4.
Сетки выбраны мной — корпус не так независим, как опубликованный, поэтому **часть G (опубликованная)
сообщается отдельно**, а по части P — разбивка по уравнениям.
## Варианты и критерии — те же
**A** = Г2 + `contra+flatanalogmempt+exp+half`; **B** = `defect+flatanalogmempt+exp`; справочно — предложенный
метод без добавок; соперники — библиотечные Чандрупатла, Брент, TOMS748.
| # | ПРОЙДЕНО, если (все 132) |
|---|---|
| **T1** | сумма вызовов V меньше, чем у Чандрупатлы |
| **T2** | по задачам против Чандрупатлы побед больше, чем поражений, знаковый тест p < 0.05 |
| **T3** | гарантия: 0 нарушений; решено не меньше, чем у Чандрупатлы |
«Переносится» — T1, T2, T3 одновременно; сообщается также, выполнен ли T1 отдельно (выигрыш по сумме).
Метод, корпус и критерии не меняются.
**Ожидание, записано заранее:** почти-кратные случаи — Кеплер с e → 1 при малом M (около нуля
E − e sin E ≈ (1 − e)E + E³/6) и околокритический Ван-дер-Ваальс; остальное — гладкие простые корни,
где по двум прошлым корпусам ожидается паритет.