science

Учебник Научный Python для начинающих

33 урока · 9 разделов · бесплатно, без регистрации

Научный Python превращает обычный язык в полноценную среду для расчётов: численные алгоритмы SciPy поверх NumPy и точную символьную математику SymPy. Курс построен на сквозной связке: сначала вы понимаете идею «руками» на чистой стандартной библиотеке Python (исполнимый код с проверенным выводом), а затем видите, как то же самое делается одной строкой в SciPy или SymPy. Внутри: линейная алгебра, интерполяция, интегрирование, оптимизация, статистика, спецфункции, разреженные и пространственные структуры; символьные вычисления — производные, интегралы, пределы, ряды, уравнения и дифуравнения; LaTeX, визуализация, воспроизводимость и производительность. Для студентов, инженеров и всех, кто считает всерьёз.

Курс «Научный Python: SciPy и SymPy» состоит из 9 разделов и 33 уроков: Научный Python и экосистема SciPy-стека, Подмодули SciPy и линейная алгебра, Интерполяция и численное интегрирование, Оптимизация и поиск корней, Статистика, спец. функции, разреженные и пространственные структуры, SymPy: символьная математика, Символьный матан: производные, интегралы, пределы, ряды, SymPy на практике: матрицы, дифуры, мост к числам и Визуализация, рабочий процесс и производительность. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Научный Python и экосистема SciPy-стека

    1. Что такое научный Python и зачем он нужен

      Научный Python как замена MATLAB и калькулятора: численные и символьные вычисления, моделирование, анализ данных одним инструментом.

    2. SciPy-стек: NumPy, SciPy, SymPy, Matplotlib, pandas

      Из чего состоит SciPy-стек и кто за что отвечает: NumPy — массивы, SciPy — алгоритмы, SymPy — символика, Matplotlib — графики, pandas — таблицы.

    3. Зачем нужен SciPy: алгоритмы поверх NumPy

      Почему поверх NumPy появился SciPy: готовые отлаженные научные алгоритмы вместо самописных циклов — интегрирование, оптимизация, статистика, линейная алгебра.

  2. 2 Подмодули SciPy и линейная алгебра

    1. Карта подмодулей SciPy: что где искать

      Обзор всех ключевых подмодулей SciPy: optimize, integrate, linalg, stats, signal, interpolate, special, sparse, spatial — что каждый делает и когда нужен.

    2. scipy.linalg: решение СЛАУ методом Гаусса

      Решение систем линейных уравнений Ax=b: идея метода Гаусса с реализацией на чистом Python и одной строкой в scipy.linalg.solve.

    3. Разложения матриц: LU, QR, SVD и собственные значения

      Что считают разложения матриц LU, QR, SVD и собственные значения, зачем они нужны и как одной строкой получить их в scipy.linalg.

  3. 3 Интерполяция и численное интегрирование

    1. Интерполяция: восстанавливаем значения между точками

      Линейная интерполяция и идея кубических сплайнов: восстановление значений между измерениями. Реализация на stdlib и scipy.interpolate.interp1d.

    2. Численное интегрирование: трапеции и метод Симпсона

      Численное интегрирование на чистом Python: метод трапеций и метод Симпсона с точным выводом, и одна строка scipy.integrate.quad.

    3. Решение ОДУ: метод Эйлера и scipy solve_ivp

      Численное решение обыкновенных дифференциальных уравнений: метод Эйлера на чистом Python и solve_ivp/odeint в SciPy.

  4. 4 Оптимизация и поиск корней

    1. Поиск корней: бисекция

      Метод бисекции (деление пополам) для поиска корня уравнения: надёжный алгоритм на чистом Python и scipy.optimize.brentq одной строкой.

    2. Метод Ньютона: быстрая сходимость по касательной

      Метод Ньютона для поиска корней: идея касательной, квадратичная сходимость, реализация на чистом Python и scipy.optimize.newton.

    3. Минимизация функций: золотое сечение и scipy.minimize

      Поиск минимума функции: метод золотого сечения на чистом Python и scipy.optimize.minimize/minimize_scalar для многомерной оптимизации.

  5. 5 Статистика, спец. функции, разреженные и пространственные структуры

    1. scipy.stats: распределения и описательная статистика

      Подмодуль scipy.stats: непрерывные и дискретные распределения, описательная статистика. Связь с курсом статистики, реализация на stdlib.

    2. Статистические тесты: проверяем гипотезы

      Статистические тесты в scipy.stats: t-тест, хи-квадрат, p-value. Идея проверки гипотез и связь с курсом статистики.

    3. Специальные функции: гамма, Бесселя, erf

      Специальные функции в scipy.special: гамма-функция, функция ошибок erf, функции Бесселя — что это, зачем нужны и где встречаются.

    4. Разреженные матрицы: когда почти всё — нули

      Разреженные матрицы в scipy.sparse: зачем нужны, форматы COO/CSR/CSC, экономия памяти. Реализация словарём на чистом Python.

    5. Пространственные структуры: KD-дерево и расстояния

      scipy.spatial: поиск ближайшего соседа через KD-дерево, метрики расстояний (евклидово, манхэттенское). Реализация перебора и KD-идеи на stdlib.

  6. 6 SymPy: символьная математика

    1. Что такое SymPy: точное против приближённого

      SymPy — система символьной математики на Python: точные вычисления вместо приближённых. Чем отличается от SciPy, зачем нужна и как мыслит формулами.

    2. Символы и выражения: строим формулы

      Создание символов через symbols() и построение выражений в SymPy. Подстановка значений, базовые операции и предположения о символах.

    3. Упрощение: simplify, expand, factor

      Упрощение выражений в SymPy: simplify, expand (раскрытие скобок), factor (разложение на множители), collect, cancel. Когда какой инструмент.

    4. Решение уравнений: solve и системы

      Символьное решение уравнений в SymPy: solve для одного уравнения и систем, Eq, точные корни (включая комплексные и параметрические).

  7. 7 Символьный матан: производные, интегралы, пределы, ряды

    1. Производные: diff делает дифференцирование за вас

      Символьное дифференцирование в SymPy через diff: точные производные любых функций, частные производные, высшие порядки. Численная производная на stdlib.

    2. Интегралы: integrate, и почему это сложнее

      Символьное интегрирование в SymPy через integrate: неопределённые и определённые интегралы. Почему интегрирование труднее дифференцирования.

    3. Пределы: limit вычисляет точно

      Вычисление пределов в SymPy через limit: устранение неопределённостей 0/0, односторонние пределы, пределы на бесконечности. Численная проверка на stdlib.

    4. Ряды Тейлора: series раскладывает функции

      Разложение функций в ряд Тейлора через series в SymPy: приближение функций многочленами. Реализация ряда для exp на чистом Python.

  8. 8 SymPy на практике: матрицы, дифуры, мост к числам

    1. Матрицы в SymPy: точная линейная алгебра

      Символьные матрицы в SymPy: точный определитель, обратная матрица, собственные значения в радикалах. Сравнение с численным scipy.linalg.

    2. Дифуравнения символьно: dsolve

      Символьное решение обыкновенных дифференциальных уравнений в SymPy через dsolve: точные формулы решений вместо численных траекторий solve_ivp.

    3. Мост к числам: subs, evalf, lambdify

      Переход от символьного к численному в SymPy: subs (подстановка), evalf (точная оценка с любым числом знаков), lambdify (превращение формулы в быструю функцию).

    4. Вывод формул и LaTeX; SymPy против SciPy

      SymPy печатает формулы в LaTeX для статей и презентаций. Итоговое сравнение SymPy (точное) и SciPy (приближённое): когда что выбирать.

  9. 9 Визуализация, рабочий процесс и производительность

    1. Matplotlib для научной визуализации

      Matplotlib как стандарт научной графики в Python: анатомия Figure/Axes, типы научных графиков, связь с курсом визуализации данных.

    2. Рабочий процесс учёного: Jupyter и воспроизводимость

      Рабочий процесс научного Python: Jupyter-блокноты, воспроизводимость расчётов, фиксация версий, организация научного проекта.

    3. Производительность: векторизация, Numba, Cython

      Производительность научного Python: векторизация вместо циклов, когда уходить в Numba/Cython. Замер ускорения векторизации на чистом Python.

    4. Сквозной кейс: символьно вывести формулу, численно посчитать

      Реальный мини-кейс научного Python: символьно вывести формулу (SymPy) и численно посчитать ответ (SciPy/stdlib) — полный конвейер учёного на примере.

py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →