Прикладна математика

Цю статтю я вирішив написати аби пролити світло на предметноорієнтованість математичних дисциплін через призму власного досвіду. Мені не пощастило (як я про це думав колись) у тому, що я опинився в світі, де математика уже існувала задовго до мене, проте значною мірою доля щастя була в тім, що комп'ютери змінювали математику на моїх очах.

При виборі фалькутету ПМ я керувався елітарним критерієм максимального конкурсу на місце, однак (як зрозумів згодом) стратегія немає такого значення, як має воля до всезбагнення. Саме вона мені дозволила пережити перші розчарування в моєму освітньому шляху і я почав усвідомлено мімікрувати під систему освіти та предмети західного аналітичного духу філософії, як і належить математикам.

Базовий освітній рівень

На початкових курсах своєї подорожі я керувався головним чином спадком радянської школи, тому як доступу до Інтернету, а тим більше до Шпрінгер видань не було, я зміг скласти на той час достатньо повну бібліотеку усього класифікатора УДК 51, яку мені вдалося відновити тільки відносно недавно. В умовах тотального розчарування в рядянській педагогічній школі я вимушений був сфокусуватися значним чином на програмуванні, а не на математиці. Вже тоді мені стало зрозуміло, що запорука якісного середовища математика полягає в якійсній основі. Хоча прикладна математика традиційно не фокусується на засобах програмування та операційних системах, це направлення мене цікавило з самого першого дня першого курсу університету і допомогло пережити складні части наукової зневіри.

— Формальні логіки
— Чисельні методи
— Математичний аналіз
— Функціональний аналіз
— Звичайні диференційні рівняння
— Диференційні рівняння в частинних похідних

Рестроспективний погляд на мою дисоціативну освіту в минулому дозволяє зараз мені реігтегрувати цей досвід і виділити найсуттєвіші його частини. В дусі аналітичної філософії корені логіки, теорії типів та лямбда числення як основи для математики та програмування слід шукати в роботах Расела, Уайтгеда, Пеано, Черча, Карі. Пізніше варно збагнути основні технічні питання математики: робота з універсальними властивостями (теоремами), поняття нескінченності та принципи її декомпозиції (індексація натуральними числами), різні аксіоматичні геометрії, поняття дійсного числа, граничного переходу, класичного аналізу нескінченно-малих Ейлера та Лейбніца. Звичайні диференційні рівняння відкриють багато схованок у вигляді тензорного числення та лінійної алгебри, а рівняння в частинних похідних відкриють ворота у функціональний аналіз, гармонічний аналіз, алгебри Лі та покажуть трохи нелінійної фізики. Окрім рівнянь теоретичної фізики уся база прикладної маметатики зводиться до диференційних рівнянь, а усі інші аспекти математики, як аналіз чи тензорне числення уже випливають як необхідний апарат. З академічної точки зору традиційно виклад матеріала ведеться з математичних теорій, які не містять залежностей і далі усладнюючи алгебраїчні структури переходять то теорій вернього рівня. Важливо завжди бачити повну картину та намагить утримати головну мотивацію математики — обчислення.

Формалізувати прикладну математику базового освітнього рівня мого періоду можна в питаннях на білети в аспірантуру КПІ ФПМ 2016:

1.1 Моделювання Складних Систем. Загальна теорія
1.2 Складні системи. Види забезпечень
1.3 Онтологічні моделі
1.4 Структурні та функціональні моделі
1.5 Аналітичні та алгоритмічні моделі
1.6 Закриті системи та системи з оберненим зв'язком
1.7 Адекватність моделей та їх калібрування
1.8 Теорія масового обслуговування

2.1 Системи штучного інтелекту. Загальна теорія
2.2 Формальні логіки
2.3 Сенсорні моделі та статистичний аналіз
2.4 Моделі на основі нейромереж
2.5 Комп'ютерна лінгвістика

3.1 Чисельно-аналітичне моделювання. Класифікація моделей
3.2 Аналітичне та чисельне моделювання
3.3 Лінійні рівняння та методи їх чисельного розв'язку
3.5 Рівняння в частинних похідних, різницевий метод
3.6 Інтерполяція. Формула Лагранжа
3.7 Чисельне інтегрування (Н'ютона, Гауса, Монте-Карло) та диференціювання

4.1 Прийняття рішень у конфліктних ситуаціях. Вступ до теорії ігор Айзекса
4.2 Дискретні та диференційні ігри
4.3 Інтегральні обмеження
4.4 Поверхні розсіювання
4.5 Універсальні поверхні
4.6 Ігри якості
4.7 Еквіфокальні поверхні та гра "торпеда та катер"
4.8 Ігри з неповною інформацією

5.1 Рівняння матфізики. Загальна теорія. Пряма та обернена задачі
5.2 Скалярні поля. Градієнт
5.3 Векторні поля. Тензор-похідна
5.4 Рівняння теплопровідності
5.5 Коливання струни
5.6 Метод Деламбера та Фур'є
5.7 Потік векторного поля. Теорема Гауса
5.7 Функція Гріна
5.9 Хвильове рівняння
5.10 Рівняння Пуасона
5.11 Потік векторного поля. Теорема Гауса і Стокса

6.1 Диференційні рівняння. Загальная теорія. Початкова та краєва задачі
6.2 Диференційні лінійні рівняння n-го порядку
6.4 Рівняння в частинних похідних
6.5 Рівняння гіперболічного типу
6.6 Рівняння еліптичного типу
6.7 Рівняння параболічного типу
6.8 Теорія стійкості.
6.9 Рівняння Фредгольма

Теоретична інформатика

Якщо коротко описати мій шлях після здобуття ступеня магістра то я би це визначив як 10 років укорінення та здобуття впевненості в професії порграміста. За цей час вдалося зрозуміти вимоги до властивостей середовищ виконання на виробництві. Теоретична інформатика дозволила мені глибше зазирнути у різні школи моделювання обчислень, що дало змогу спробувати виконати декілька вправ у написанні середовищ виконання. Паралельно гроші на життя приносила робота пов'язана з розвитком більше прикладних бібліотек.

— Операційні системи
— Теорія мов програмування
— Теорія масового обслуговування

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

— Інтерпретатор віртуальної машини
— Система процесів та черг віртуальної машини
— Компілятор класу System Fω
— Гомотопічна система

Хоча вступ до ціє роботи вимагає повного занурення в основи роботи процесора та пошуку таких сніпетів які ефективно навантажуватимуть конвеєри фізичного процесору. Технологія побудови інтерпретаторів які разом з виконуваними программами повністю поміщаються у L1 кеш процесора може бути такою ж ефективною як повністю наперед скомпільований оптимізований код.

Що стосується початкової мови для програмування, то я рекомендую в програму для 10-11 класів ввести LISP у формі Racket, а також глибоко зануритися в роботи авторів цього мовного середовища. Їх книжка "Як проектувати програми" може повністю замінити більш класичну SICP книжку чи "On LISP" Пола Грема.

Прикладна математика

Прикладна математика зараз сприймається як все, що я можу порахувати на комп'ютері, а особливо задачі які опимально обчислюють на границі сучасної точності за початковими та граничними умовами. За цей час спектр математичних моделей для мене розширився та доповнився новими дисциплінами. Наступні 10 років я провів більше займаючись формальною математикою та філософією і лише мріяв вернутся в часи базової вищої освіти повністю переглянувши усі математичні засоби та їх взаємодію.

— Алгебраїчна топологія
— Диференціальна геометрія
— Гомотопічна теорія типів
— Теорія топосів

Як би я не хотів вирватися з лап прикладної математики в межі чистої та формальної математики чи формальної філософії думки завжди повертаються у прикладну математику. Прикладна математика в моєму розумінні це чиста математика сформульована формальними методами з метою точної (в таких випадках як логіка, чи символьні обчислення) чи наближеної калькуляції. Наближене обчислення у свою чергу передбачає додатковий апарат у вигляді теорем та теорій, який доводить збереження властивостей та корекність моделі при наближених обчисленнях. Таким чином чистий математик, який вирішив застосувати певну математичну теорію та порахувати в рамках її обчислювальної моделі певний клас формул, вже перетворюється на прикладного математика.

Хоча найабстрактніша чиста математика не оперує конкретними моделями, а лише їх сигнатурами і метамоделями сигнатур (та вище), у ній теж є обчислення — це точні обчислення логіки (доведення теорем), в даному випадку гомотопічної теорії типів, особливого виду логіки який підходять як основна мова для усієї математики. Цей предмет (який вивчає основну мову математики) як і усі логіки можна віднести до прикланої математики (логічні числення), а також і до теоретичної інформатики (яка необхідна для побудови математичної мови-інструменту). Також можна класифікувати цей предмет як формальну філософію, тому що для прикладного формального філософа ця мова є єдиним необхідним інструментом, на відміну відміну від інших прикладних математиків, які зазвичай використовують додатково потужні прикладні теорії (алгтоп та дифгеом) або їх частини.

Оскільки (математичний) твір написаний на (формальній) мові потребує форми, з давна математики використовували літературний жанр у її якості. Це певного роду напів-формальна напів-людська мова, базис якої зводиться до кванторів: "для всіх х, таких що ..." та "існує таке х, що ...". Математика як одна з філософських дисциплін (серед яких також музика, образотворче мистецтво, література, этика) це певна форма поезії яка працює виключно з простором на абсолютному рівні. Без проміжків, без узагальнень і апроксимацій нелінійних динамічних систем, лише абсолютна фібраційна тотальна логіка простору. Такі (математичні) вірші з давніх давен цінувалися (філософами) високо, а їх створення супроводжується не тільки майже езотеричною традицією але і інтегровано в те, що ми зараз називаємо науковим методом пізнання реальності (з метою отримання максимального задоволення максимальний проміжок часу). Велике мистецтво в таких творах показати сутність сприйняття та дати авторський коментар (відповідної глибини), хоча самі теореми теж є самостійним об'єктом творчості.

З появою формальної верифікованої математики (1968) літературна форма математики розширилися та доповнилася тим, що вивчає теоретична інформатика — програмним продуктом, який можна скачати та поставити, у якому є своє обчислювальне середовище, своя мова програмування, своя базова бібліотека та приклади програм (теореми). Але на відміну іншої філософської дисципліни, ігрової індустрії, культура верифікованої математики не набула таких масштабів стандартизації як ISO стандарти з урегулювання складних інформаційних систем включно з Інтернетом. Можна сказати, що сучасні чисті математики обмежують себе чисто філософськими інструментами — системами доведення теорем (Agda, Lean) і тішуться з того; у той час, як прикладі математики зосереджені або в математичних спеціалізованих пакетах Mathematica, Mapple, Mathlab, GAP або з підручних засобів на Github будують MVP моделі та оформляють це у вигляді Jupyter блокноту. Культура блокнотів достатньо непогане поєднання літературного жанру з образотворчим мистецтвом візуалізації даних (як це маніфестується у системі Processing). І чисті і прикладні сучасні математики використовують TeX як де-факто стандарт при класичній літературній публікації (творів мистецтва), а самі програмні продукти або MVP моделі є лише артефактами такої публікації. Лише ті твори (праці) знаходять певну стандартизацію, коли доходять до офіційних пакетів для публічних пакетних менежерів певних мов програмування (як Owlbarn). Певну культуру в сенсі цифрової публікації здобули формальні операційні системи та формальні мови програмування, вийшовши з теоретичної інформатики, однак культура прикладної математики досі не дозволяє говорити про замкнене середовище (наприклад Mirage юнікернел) у якому міститься достатня кількість мовних засобів для створення мов та систем (Menhir), для символьних обчислень (Axiom), для логік та систем доведення теорем (Coq), для програмування (OCaml), для тензорного числення (SPIRAL, Futhark), для паралельних та узгоджених систем (Multicore, LING), для імітаційного моделювання (Simulink) для публікації літературних математичних творів (TeX), для блокнотів (Jupyter). Екосистеми теоретичної інформатики французької та британської шкіл (OCaml, Haskell) які мають здатність вистояти перед викликами уніфікованого середовища прикладного математика.

— Видавнича система для верстки та графіків, яка нагадує TeX
— Лінійна алгебра на BLAS та LAPACK
— Тензорні обчислення на GPU/AVX
— Система вводу-виводу PCIe на NVMe 2.0
— CAS система для символьної математики та алгебраїчної топології
— Віконний менеджер та система рендерінгу на GPU
— Симулятор нейромереж у форматі ONNX
— Інтерфейс прикладного програмування для створення додатків

Чиста математика


˙