Найти в Дзене
pro Python

Новая библиотека numethods: чистый Python для численных методов

Новая библиотека numethods: чистый Python для численных методов 🚀🐍 numethods от denizd1 – лёгкая объектно-ориентированная библиотека классических численных алгоритмов без NumPy и SciPy! 🎉 Основные возможности numethods: 1. Решение систем линейных уравнений - LU-разложение с частичным выбором главного элемента 🔀 - Метод Гаусса–Жордана ➗ - Итерационные методы: Якоби и Гаусс–Зейдель 🔄 - Холецкого факторизация для симметричных положительно определённых матриц 🔒 2. Нахождение корней уравнений - Метод бисекции ✂️ - Fixed-Point итерация 🔁 - Метод секущих 📐 - Метод Ньютона ⚙️ 3. Интерполяция полиномами - Ньютона (разделённые разности) ➿ - Лагранжа 📏 4. QR-разложение и наименьшие квадраты - Классический и модифицированный Грама–Шмидта 📊 - QR с отражениями Хаусхолдера 🔍 - Решение через QR и Least Squares 📈 5. Сходимость к собственным значениям и векторам - Степенная и обратная степенная итерации 🔝 - Итерация по Релею 🎯 - QR-итерация для собственных значений 🔣 6. SVD - Синг

Новая библиотека numethods: чистый Python для численных методов 🚀🐍

numethods от denizd1 – лёгкая объектно-ориентированная библиотека классических численных алгоритмов без NumPy и SciPy! 🎉

Основные возможности numethods:

1. Решение систем линейных уравнений

- LU-разложение с частичным выбором главного элемента 🔀

- Метод Гаусса–Жордана ➗

- Итерационные методы: Якоби и Гаусс–Зейдель 🔄

- Холецкого факторизация для симметричных положительно определённых матриц 🔒

2. Нахождение корней уравнений

- Метод бисекции ✂️

- Fixed-Point итерация 🔁

- Метод секущих 📐

- Метод Ньютона ⚙️

3. Интерполяция полиномами

- Ньютона (разделённые разности) ➿

- Лагранжа 📏

4. QR-разложение и наименьшие квадраты

- Классический и модифицированный Грама–Шмидта 📊

- QR с отражениями Хаусхолдера 🔍

- Решение через QR и Least Squares 📈

5. Сходимость к собственным значениям и векторам

- Степенная и обратная степенная итерации 🔝

- Итерация по Релею 🎯

- QR-итерация для собственных значений 🔣

6. SVD

- Сингулярное разложение через собственные значения $$A^T A$$ 🔒

7. Численное решение ОДУ

- Явный и неявный Эйлер ➗

- Методы Хойна и классический RK4 🏃

- Адаптивный RK45 🎛

- Мультишаговые методы Адамса–Бэшфорда и Адамса–Моултона 🔗

- Предиктор-корректор 🔮

8. Численное интегрирование (квадратура)

- Составные правила трапеций и Симпсона 📐

- Гаусс–Лежандра (2 и 3 точки) 🧮

9. Численное дифференцирование

- Прямые, обратные и центральные разности (2nd и 4th order) 🔢

- Вторая производная 🔄

- Экстраполяция Ричардсона ✨

10. Утилиты для матриц и векторов

- Классы Matrix и Vector с операциями *, @, .T, нормами и др. 📚

Пример использования

from numethods import RK4, NewtonRoot, LUDecomposition

f = lambda t, y: -2*y

solver = RK4(f, t0=0, y0=1, h=0.1)

ts, ys = solver.integrate(1.0)

print(ys[-1], math.exp(-2*1))

Почему numethods стоит попробовать?

- 🎓 Учебная ценность: каждый алгоритм реализован «вручную»

- 🛠 Лёгковесность: нет внешних зависимостей

- ⚡️ Универсальный API: привычные методы .solve(), .integrate(), .compute()

Репозиторий: https://github.com/denizd1/numethods