MakarovSuites
Українська
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Зв’язок і ліцензії

Math

Корені в русі

Корені многочлена на комплексній площині, що біжать, поки пливе один коефіцієнт: два корені кубіки зустрічаються на дискримінанті й сходять з дійсної осі парою, шість коренів крутяться на колі, а десять коренів Вілкінсона вилітають у площину від двох мільйонних часток одного коефіцієнта — найближча пара, кількість дійсних і межа Коші вимірюються наживо, і задача про зіткнення.

Корені в русі — Зображення з програми
Зображення з програми

Що відбувається

У многочлена степеня n завжди n коренів на комплексній площині — це основна теорема алгебри, — і вони рухаються неперервно, коли рухається коефіцієнт. Тут один коефіцієнт t пливе сам з моменту відкриття модуля, і корені біжать площиною, лишаючи сліди. У x³ − 3x + t три корені стартують у −√3, 0 і √3; зі зростанням t два з них ковзають назустріч дійсною віссю, зустрічаються при t = 2, де дискримінант 108 − 27t² дорівнює нулю, і разом сходять з осі спряженою парою, дзеркально зверху й знизу — коефіцієнти дійсні, і комплексний корінь ніколи не мандрує сам. Тягни по площині — t рухається рукою. Квартика x⁴ − 5x² + t робить це двічі; z⁶ − t тримає шість коренів на колі радіуса корінь шостого степеня з t. А многочлен Вілкінсона, (x − 1)(x − 2)…(x − 10), — причина безсоння обчислювачів: його корені 1…10, коефіцієнт при x⁹ дорівнює −55, і зсув цього коефіцієнта на одну десятитисячну — дві мільйонні частки — викидає корені з дійсної прямої більш ніж на пів одиниці. Бліде коло — межа Коші: жоден корінь її не полишає. Корені шукаються ітерацією Аберта і звірені з незалежним розв'язувачем.

Рівняння модуля
Рівняння
кубічний:  x³ − 3x + t;  дискримінант 108 − 27t²;  t = 0: −√3, 0, √3;  t = 2: −2 і подвійний корінь у 1;  t = 3: −2.1038 і 1.0519 ± 0.5652i;  для |t| < 2 три дійсні корені, за межами - спряжена пара 1 ± i√((t − 2)/3) біля t = 2
четвертого степеня:  x⁴ − 5x² + t;  x² = (5 ± √(25 − 4t))/2;  t = 0: 0, 0, ±√5;  t = 4: ±1, ±2;  t = 6.25: ±1.5811 двічі
коло:  z⁶ − t;  шість коренів на радіусі |t|^(1/6), повернуті на 30° при t < 0
Вілкінсон:  (x − 1)(x − 2)…(x − 10) + εx⁹, ε = t·10^−5;  x⁹ має коефіцієнт −55, вільний член 10! = 3 628 800;  ε = 10^−6 зсуває корінь на 0.013;  ε = 10^−4 (дві мільйонні частки від −55) робить корені комплексними, |Im| до 0.675, зсуви до 0.90
розв'язувач:  Аберт–Ерліх від 0.9 кола Коші, з теплим стартом від останнього кадру, щоб кожен корінь зберігав свій слід;  звірено з numpy.roots до 10^−6 у двійнику
Коші:  кожен корінь задовольняє |z| ≤ 1 + max|a_i|/|a_n|
завдання:  зблизити два корені кубічного многочлена до відстані 0.2:  |t − 2| < 0.03 (пара лежить у 1 ± √(|t − 2|/3));  1.98 дає 0.163, 1.95 дає 0.259
майстерня:  корені, перетягнуті на площині, стають коефіцієнтами за Вієтом - Π(x − r_k) розкривається, спряжені зберігаються, корінь у межах 0.03 від осі прилипає до неї;  Σ r_k = −a_(n−1)/a_n,  Π r_k = (−1)^n·a₀/a_n
нев'язка й поріг:  |p(z)| проти 2n·ε·Σ|a_i||z|^i, похибки округлення Горнера в z;  у дійсному корені x³ − 3x + 3: 8.9·10^−16 під порогом 2.5·10^−14;  у корені Вілкінсона 10 поріг дорівнює 0.003
чутливість:  |∂z/∂a_k| = |z|^k / |p′(z)|;  Вілкінсон: корінь 10 зсувається на 10⁹/9! = 2755.7 на одиницю a₉, корінь 1 зсувається на 2.8·10^−6;  число обумовленості Σ|a_i||z|^i / (|z||p′(z)|) = 184756 = C(20, 10) у 10, 110 у 1
кратні:  скупчення в межах 10^−3 повідомляється як таке; для x³ − 3x + 2 пара в 1 має |p′| = 1.1·10^−9 - подвійний корінь нескінченно чутливий

Інші експерименти

До каталогу
Дні народження і колізії — Зображення з програми

Math

Дні народження і колізії

Люди приходять на кільце днів, доки двоє не опиняться на одному: у році з 365 днів це 23-й, а не 183-й, на Марсі — 32-й, у 65 536 кошиках хешу — 302-й; прогони проти точної кривої, дні пливуть під перетягуванням від року до 2³², правило квадратного кореня читається наживо, і задача про марсіанську кімнату.

Код, що лагодить сам себе — Зображення з програми

Math

Код, що лагодить сам себе

Шістнадцять бітів у квадраті, одинадцять із них — повідомлення: клацни по одному, і чотири лампи перевірок назвуть його адресу, а блок полагодить себе сам. Дві помилки блок упіймає, але виправити не зможе; три — і він збреше впевнено. Кожне твердження вичерпне: усі 32 768 одиночних помилок знайдено, усі 245 760 подвійних упіймано, усі потрійні виправлено хибно.

Басейни методу Ньютона — Зображення з програми

Math

Басейни методу Ньютона

Розфарбуй кожну стартову точку за коренем, до якого приходить метод Ньютона: при двох коренях межа — пряма, як довів Кейлі 1879 року, при трьох — фрактал, що належить усім трьом басейнам одразу. Потягни корінь і дивись, як рухаються площі: корінь, відтягнутий назовні, забирає МЕНШЕ вікна, а не більше.