3 GitHub [Электронный ресурс]. - Режим доступа: https://ru.wikipedia.org/wiki/GitHub (дата обращения: 30.01.2019)
УДК 004.43
Бахтин И.В. студент 2 курса
09.03.02 Информационные системы и технологии
САФУ имени М.В. Ломоносова Россия, г. Архангельск ИСПОЛЬЗОВАНИЕ PYTHON ДЛЯ МАТЕМАТИЧЕСКИХ
ВЫЧИСЛЕНИЙ
Аннотация: В статье рассмотрена идея использования языка программирования Python для математических вычислений. Рассмотрены сильные и слабые стороны применения Python вместо MATLAB, Mathcad, Maple.
Ключевые слова: Python, Математические библиотеки, MATLAB, Mathcad, Maple.
Bakhtin I. V. the 2nd year student 09.03.02 Information systems and technologies NArFU named after M. V. Lomonosov Russia, Arkhangelsk
USE OF PYTHON FOR MATHEMATICAL CALCULATIONS
Abstract: The article discusses the idea of using the Python programming language for mathematical calculations. Considered the strengths and weaknesses of using Python instead of MATLAB, Mathcad, Maple.
Keywords: Python, Math library, MATLAB, Mathcad, Maple.
Python - мощный высокоуровневый язык программирования, который набрал большую популярность в 2018 году. Его используют в разных областях - включая веб-разработку, системные утилиты, машинное обучение, анализ данных благодаря открытому исходному коду. Данный язык программирования имеет достаточное количество библиотек, которые ускоряют и облегчают процесс разработки.
Если обратиться к рейтингу языков программирования по версии GitHub, то можно увидеть, что Python разместился на третьем месте в списке популярных языков программирования. Сайт Stackoverflow.com называет его «самым быстрорастущим языком программирования». Ознакомиться с ростом популярности ЯП можно на диаграмме:
А
Ä
Growth of major programming languages
Based on Stack Overflow question views in World Bank high-income countries
2012
2014
2016
2018
Time
Рисунок 1 - Тенденция роста Рассмотрим библиотеки, которые могут заменить такие популярные математические обеспечения как: Mattoad, MATLAB, Maple и другие.
Отличительной особенностью использования Python по сравнению с популярными программами является цена. Профессиональные программные обеспечения имеют довольно высокую стоимость. К примеру, подписка на базовую профессиональную лицензию «Mathcad Professional Individual» стоит примерно 40 тысяч рублей. Python же является бесплатным. Для его использования необходимо скачать python с официального сайта. Для более приятной работы, при желании, можно установить IDE (например, PyCharm) и подключить необходимые модули.
Для отображения каких-либо расчетов удобно использовать диаграммы и гистограммы. В основном, для визуализации информации используется библиотека «matplotlib». Синтаксис данной библиотеки похож на синтаксис MATLAB.
А
Ä
Рисунок 2 - Пример работы matplotlib Рассмотрим библиотеку «КитРу». Данная библиотека упрощает работу с векторами и матрицам. В ее функционале имеются методы для различных операций: расчет определителя, транспонирование, умножение и сложение матриц, также полезной функцией является решение линейных уравнений. Например, решим такую систему уравнений:
х± + 2х2 = 10,
23,
х2 + 2х3 — 13.
Для решения системы воспользуемся методом «Нпа^^оГуе» (таблица 1). Ответом будет вектор-строка [4, 3, 5]. Программный код представлен в таблице 1.
Таблица 1
решение системы_
import numpy as np left = np.array ([ [1, 2, 0] right = np.array ([10,23,13]) print(np.linalg.solve(left, right
[3, 2, 1], [0, 1, 2] ]
Рассмотрим еще одну библиотеку под названием «SciPy». Это библиотека для Python с открытым исходным кодом, предназначенная для научных и инженерных расчётов. Главным преимуществом данной
библиотеки являются возможности работы с интегралами, дифференциальными уравнениям, статистика, работа с генетическими алгоритмами.
Для демонстрации функционала библиотеки решим такой интеграл:
j x2dx
Ответ будет 21. Программный код представлен в таблице 2.
Таблица 2
_решение интеграла_
import numpy as np
from scipy.integrate import simps
def f1(x): return x**2
x = np.array([1, 3, 4])
y1=f1(x)
i1 = simps(y1,x) print(i1)
Таким образом, использование Python для математических вычислений имеет место быть. Главным преимуществом перед специализированным программным обеспечением является цена. Все библиотеки, которые были представлены в данной статье находятся в свободном доступе. Для использования необходимо использовать IDE, либо стандартный интерпретатор.
Использованные источники:
1 NumPy [Электронный ресурс]. - Режим доступа: https://pythonworld.ru/numpy (дата обращения: 03.02.2019)
2 matplotlib [Электронный ресурс]. - Режим доступа: https://matplotlib.org/ (дата обращения: 03.02.2019)
3 SciPy [Электронный ресурс]. - Режим доступа: https://docs.scipy.org/doc/scipy/reference/index.html (дата обращения: 30.01.2019)
А