Зміст[Сховати][Показати]
Математика не обходить стороною, незалежно від того, чи ви студент університету, чи працюєте в галузі науки про дані.
Можна навіть стверджувати, що наука про дані є різновидом прикладної математики/статистики. NumPy, SciPy, scikit-learn та TensorFlow це лише деякі з бібліотек Python, які мають справу з математикою кількісно.
Однак існує лише один конкурент для явного використання математичних символів: SymPy.
Давайте дізнаємося все про SymPy.
Що таке SymPy?
SymPy — це бібліотека символічної математики Python. Він прагне бути повнофункціональною системою комп’ютерної алгебри (CAS), зберігаючи при цьому код якнайпростішого, щоб бути зрозумілим і легко розширюваним.
Він повністю написаний на Python. Він простий у використанні, оскільки він спирається лише на mpmath, чисту бібліотеку Python для довільної арифметики з плаваючою комою.
Як бібліотека, вона була створена із значним акцентом на зручність використання. Розширюваність має вирішальне значення при розробці інтерфейсу прикладної програми (API).
Як результат, він не намагається покращити мову Python. Мета полягає в тому, щоб користувачі могли використовувати його разом з іншими Бібліотеки Python у їхньому робочому процесі, чи то в інтерактивному середовищі, чи як запрограмований компонент більшої системи.
SymPy, як бібліотека, не має вбудованої графіки інтерфейс користувача (GUI). Бібліотека це:
- Безкоштовно, як щодо мовлення, так і щодо пива, оскільки воно ліцензовано за ліцензією BSD.
- На основі Python: він повністю розроблений на Python і використовує Python як мову.
- Легкий, оскільки покладається лише на mpmath, чистий Бібліотека Python для довільної арифметики з плаваючою комою, що робить його простим у використанні.
- Можна включати в інші програми та модифікувати за допомогою спеціальних функцій на додаток до використання як інтерактивний інструмент.
Навіщо використовувати SymPy?
Sage, система комп’ютерної алгебри, також використовує Python як мову програмування. Sage, з іншого боку, величезний, вимагає завантаження більше ніж гігабайт. Він має перевагу в тому, що він легкий.
Крім того, що він компактний, він не має інших залежностей, крім Python, що дозволяє використовувати його практично скрізь.
Крім того, цілі Sage і SymPy не збігаються. Sage прагне бути повнофункціональною математичною системою, і вона робить це, об’єднуючи всі основні математичні системи з відкритим кодом в одну.
Коли ви використовуєте функцію Sage, наприклад integrate, вона викликає один із пакетів з відкритим кодом, які вона містить. Насправді він вбудований в Sage. SymPy, з іншого боку, прагне бути автономною системою з усіма функціональними можливостями, реалізованими в ній самій.
Його здатність функціонувати як бібліотека є важливою характеристикою. Багато систем комп’ютерної алгебри призначені для використання в інтерактивних середовищах, але їх важко автоматизувати або розширити.
Його можна використовувати інтерактивно в Python або імпортувати у вашу власну програму Python. Він також має API для легкого розширення його власними підпрограмами.
Встановлення SymPy
Просто скористайтеся командою нижче, щоб встановити у вашому середовищі.
Символи SymPy
Давайте почнемо з цим зараз! Його основним об'єктом є символ. У SymPy можна створити символ x, написавши:
Наведений вище код генерує символ x. Символи в ньому призначені для імітації математичних символів, які представляють невідомі значення.
У результаті нижче показано наступне обчислення:
Як показано вище, символ x функціонує аналогічно невідомій кількості. Якщо ви хочете створити багато символів, напишіть їх так:
У цьому випадку ви створили два символи, y і z, одночасно. Тепер ці символи можна додавати, віднімати, множити та ділити за бажанням:
Функції SymPy
1. функція sympify().
Метод sympify() перетворює довільний вираз у вираз SymPy. Він перетворює стандартні об’єкти Python, наприклад цілі числа.
Рядки перетворюються на їхні вирази, а також цілі числа тощо.
2. функція evalf().
Ця функція оцінює вказаний числовий вираз з точністю з плаваючою комою до 100 цифр.
Функція додатково приймає об’єкт словника з числовими значеннями для символів як аргумент subs. Розглянемо таку фразу:
Точність з плаваючою комою за замовчуванням встановлена на 15 цифр. Однак його можна змінити на будь-яке число від 1 до 100.
Наступне рівняння оцінюється з точністю до 20 цифр.
3. Функція Lambdify().
Lambdify — це функція, яка перетворює свої вирази у функції Python. Метод evalf() неефективний при оцінці виразу в широкому діапазоні значень.
Lambdify працює подібно до лямбда-функції, за винятком того, що вона перекладає імена SymPy в імена наданої числової бібліотеки, яка зазвичай є NumPy.
За замовчуванням Lambdify застосовується до реалізацій математичних стандартних бібліотек.
риси
Тут наведено кілька найважливіших функцій бібліотеки; є багато інших, які не включені, але ви можете перевірити їх тут.
1. Основні можливості
- Фундаментальна арифметика: підтримуються оператори +, -, *, / і ** (потужність)
- Поліноміальне розкладання
- Цілі числа, раціональні числа та числа з плаваючою чиселою з довільною точністю
- Тригонометричні, гіперболічні та експоненціальні функції, корені, логарифми, абсолютні значення, сферичні гармоніки, факториали та гамма-функції, дзета-функції, поліноми та спеціальні функції
- Символи, які не є комутативними
- Відповідні візерунки
2. Обчислення
- Інтеграція: у цьому методі використовується розширена евристика Ріша-Нормана
- Диференціація.
- Граничні функції
- Серіал Лорана Тейлора
3. Поліноми
- Фундамент Грьобнера
- Розкладання неповних дробів
- Ділення, gcd Результати є прикладами базової арифметики.
4. Комбінаторика
- Перестановки
- Коди Грея і Прюфера
- Комбінації, розділи, підмножини
- Багатогранні, Рубікові, Симетричні та інші групи перестановок
5. Дискретна математика
- Підведення підсумків
- Логічні вирази
- Біноміальні коефіцієнти
- Теорія чисел
додатків
1. Будівельний калькулятор
2. Системи комп'ютерної алгебри
На відміну від інших систем комп’ютерної алгебри, ви повинні вручну оголошувати в ній символічні змінні за допомогою функції Symbol().
3. Обчислення
Здатність символічної обчислювальної системи виконувати всі види обчислень символічно є її головною перевагою.
Він може спрощувати твердження, символічно, обчислювати похідні, інтеграли та межі, розв’язувати рівняння, взаємодіяти з матрицями та робити багато іншого.
Щоб розбудити апетит, ось смак символічної сили.
Що ще можна зробити з SymPy?
Замість того, щоб детально розповідати про додаткові питання, дозвольте мені надати вам список ресурсів, які допоможуть вам покращити свої навички:
- Матриці та лінійна алгебра: Він може працювати з матрицями та виконувати основні операції лінійної алгебри. Мова схожа на синтаксис NumPy. Однак є помітні відмінності. Для початку дослідіть матриці в бібліотеці.
- Вираз: Він використовує дерево виразів, яке є структурою на основі дерева, щоб відстежувати вирази. Подивись на дерева виразів якщо ви хочете дізнатися більше про їхню внутрішню роботу.
- Похідні та інтеграли: Він може досягти більшої частини того, що ви навчитеся на вступному уроці обчислення (за винятком мислення). Ви можете почати з огляду на нашу функцію диференціювання в SymPy.
- Відносини з NumPy: NumPy і SymPy - це бібліотеки, пов'язані з математикою. Все-таки вони істотно різні! NumPy працює з числами, тоді як він працює з символічними виразами.
- Спрощення: Він достатньо розумний, щоб автоматично спрощувати вирази. Однак, якщо ви хочете більш детального контролю над цим, подивіться на це спрощення.
Висновок
SymPy — потужна бібліотека для символічної математики.
Ви можете використовувати його для створення змінних і функцій, а також символічно розширювати та спрощувати математичні твердження та розв’язувати рівняння, нерівності та навіть системи рівнянь/нерівностей.
Ви можете писати функції як у тексті скрипта, так і безпосередньо в терміналі (або Блокноти Юпітера), щоб отримати швидку оцінку та краще графічне зображення виконаних обчислень.
Чи готові ви вивчити більше SymPy? Дайте нам знати в коментарях.
залишити коментар