~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 70E70DD83B13DED3A62371C449A205DB__1707144120 ✰
Заголовок документа оригинал.:
✰ SymPy - Wikipedia ✰
Заголовок документа перевод.:
✰ СимПи — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/SymPy ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/70/db/70e70dd83b13ded3a62371c449a205db.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/70/db/70e70dd83b13ded3a62371c449a205db__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 17:08:55 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 5 February 2024, at 17:42 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

СимПи — Википедия Jump to content

СимПи

Из Википедии, бесплатной энциклопедии
СимПи
Разработчики) Команда разработчиков SymPy
Начальная версия 2007 г .; 17 лет назад ( 2007 )
Стабильная версия
1.12 [1] / 10 мая 2023 г .; 13 месяцев назад ( 10.05.2023 )
Репозиторий
Написано в Питон
Операционная система Кросс-платформенный
Тип Система компьютерной алгебры
Лицензия Новая лицензия BSD
Веб-сайт www .sympy .org  Edit this on Wikidata

SymPy — это с открытым исходным кодом Python библиотека для символьных вычислений . Он предоставляет возможности компьютерной алгебры либо как отдельное приложение, либо как библиотека для других приложений, либо в Интернете как SymPy Live. [2] или SymPy Гамма. [3] SymPy легко установить и проверить, поскольку он полностью написан на Python с небольшим количеством зависимостей. [4] [5] [6] Эта простота доступа в сочетании с простой и расширяемой базой кода на хорошо известном языке делает SymPy системой компьютерной алгебры с относительно низким барьером для входа.

SymPy включает в себя широкий спектр функций: от базовой символьной арифметики до исчисления , алгебры , дискретной математики и квантовой физики . Он способен форматировать результаты вычислений в виде кода LaTeX . [4] [5]

SymPy является свободным программным обеспечением и распространяется по лицензии New BSD . Ведущими разработчиками являются Ондржей Чертик и Аарон Мёрер. Ее основал Ондржей Чертик в 2005 году. [7]

Особенности [ править ]

Библиотека SymPy разделена на ядро ​​со множеством дополнительных модулей.

В настоящее время ядро ​​SymPy содержит около 260 000 строк кода. [8] (он также включает в себя полный набор средств самотестирования: более 100 000 строк в 350 файлах по состоянию на версию 0.7.5), а его возможности включают в себя: [4] [5] [9] [10] [11]

Основные возможности [ править ]

Полиномы [ править ]

Исчисление [ править ]

Решение уравнений [ править ]

Дискретная математика [ править ]

Матрицы [ править ]

Геометрия [ править ]

График [ править ]

Обратите внимание: для построения графика требуется внешний модуль Matplotlib или Pyglet .

  • Координатные модели
  • Построение геометрических объектов
  • 2D и 3D
  • Интерактивный интерфейс
  • Цвета
  • Анимации

Физика [ править ]

Статистика [ править ]

Комбинаторика [ править ]

Печать [ править ]

Связанные проекты [ править ]

Зависимости [ править ]

Начиная с версии 1.0, SymPy имеет пакет mpmath в качестве зависимости.

Существует несколько дополнительных зависимостей, которые могут расширить его возможности:

  • gmpy : если gmpy установлен, полиномиальный модуль SymPy автоматически будет использовать его для более быстрых типов грунта. Это может обеспечить увеличение производительности некоторых операций в несколько раз.
  • matplotlib : если установлен matplotlib, SymPy может использовать его для построения графиков.
  • Pyglet : Альтернативный пакет построения графиков.

Примеры использования [ править ]

Красивая полиграфия [ править ]

Sympy позволяет форматировать выходные данные в более привлекательный формат с помощью pprintфункция. Альтернативно, init_printing() метод позволит красивую печать, поэтому pprintне надо звонить. Pretty-printing будет использовать символы Юникода, если они доступны в текущей среде, в противном случае будет использоваться символы ASCII .

>>>  from   Sympy   import   pprint  ,   init_printing  ,   Символ  ,   грех  ,   cos  ,   exp  ,   sqrt  ,   series  ,   Интеграл  ,   Функция 
 >> 
 >>>  x   =   Символ  (  «x»  ) 
 >>>  y   =   Символ  (  «y»  ) 
 >>>  f   =   Функция  (  "f"  ) 
 >>>  # pprint по умолчанию будет использовать Юникод, если он доступен 
 >>>  pprint  (  x   **   exp  (  x  )) 
 ⎛ x⎞ 
 ⎝ℯ ⎠ 
 x 
 >>>  # Вывод без юникода 
 >>>  pprint  (  Integral  (  f  (  x  ),   x  ),   use_unicode  =  False  ) 
 / 
 | 
  |   е(х) dx 
 | 
  / 
 >>>  # Сравнить с тем же выражением, но на этот раз юникод включен 
 >>>  pprint  (  Integral  (  f  (  x  ),   x  ),   use_unicode  =  True  ) 

 ⎮ f(x) dx 

 >>>  # В качестве альтернативы вы можете вызовите init_printing() один раз и напечатайте без функции pprint. 
  >>>  init_printing  () 
 >>>  sqrt  (  sqrt  (  exp  (  x  ))) 
 ____ 
 4 ╱ x 
 ╲╱ ℯ 
 >>>  (  1  /  cos  (  x  ))  .   серия  (  x  ,   0  ,   10  ) 
 2 4 6 8 
 x 5⋅x 61⋅x 277⋅x ⎛ 10⎞ 
 1 + ── + ──── + ───── + ────── + O⎝ х ⎠ 
 2 24 720 8064 

Расширение [ править ]

>>>  from   Sympy   import   init_printing  ,   Символ  ,   разверните 
 >>>  init_printing  () 
 >>> 
 >>>  a   =   Символ  (  «a»  ) 
 >>>  b   =   Символ  (  «b»  ) 
 >>>  e   =   (  a   +   б  )   **   3 
 >>>  е 
 (а + б)³ 
 >>>  е  .   развернуть  () 
 a³ + 3⋅a²⋅b + 3⋅a⋅b² + b³ 

Пример произвольной точности [ править ]

>>>  из   Sympy   import   Rational  ,   pprint 
 >>>  e   =   2  **  50   /   Rational  (  10  )   **   50 
 >>>  pprint  (  e  ) 
 1/88817841970012523233890533447265625 

Дифференциация [ править ]

>>>  from   Sympy   import   init_printing  ,   символы  ,   ln  ,   diff 
 >>>  init_printing  () 
 >>>  x  ,   y   =   символы  (  "x y"  ) 
 >>>  f   =   x  **  2   /   y   +   2   *   x   -   ln  (  y  ) 
 >>>  diff  (  f  ,   x  ) 
 2⋅x 
 ─── + 2 
 y 
 >>>  diff  (  f  ,   y  ) 
 2 
 x 1 
 - ── - ─ 
 2 y 
 y 
 >>>  diff  (  diff  (  f  ,   x  ),   y  ) 
 -2⋅x 
 ──── 
 2 
 y 

График [ править ]

Вывод примера построения графика
>>>  из   Sympy   импорта   символов  ,   cos 
 >>>  из   Sympy.plotting   importplot3d   plot3d 
 >>>  x  ,   y   =   символы  (  «x y  ) 
 >>>  (  cos  cos  (  x   *   3  )   *   )  (  y   *   5  -   »   y  ,   (  x  ,   -  1  ,   1  ),   (  y  ,   -  1  ,   1  )) 
 <sympy.plotting.plot.Plot объект по адресу 0x3b6d0d0> 

Ограничения [ править ]

>>>  from   Sympy   import   init_printing  ,   Символ  ,   предел  ,   sqrt  ,   оо 
 >>>  init_printing  () 
 >>> 
 >>>  x   =   Символ  (  "x"  ) 
 >>>  предел  (  sqrt  (  x  **  2   -   5   *   x   +   6  )   -   x  ,   x  ,   оо  ) 
 -5/2 
 >>>  предел  (  x   *   (  sqrt  (  x  **  2   +   1  )   -   x  ),   x  ,   оо  ) 
 1/2 
 >>>  предел  (  1   /   x  **  2  ,   x  ,   0  ) 

 >>>  предел  (((  x   -   1  )   /   (  x   +   1  ))   **   x  ,   x  ,   оо  ) 
 -2 

Дифференциальные уравнения [ править ]

>>>  fromsympy   sin   import   init_printing  ,   Символ  ,   Функция  ,   Eq  ,   dsolve  ,   Символ  ,   diff 
 >>>  init_printing  () 
 >>> 
 >>>  x   =   Функция  (  «x»  ) 
 >>>  f   =   (  »  «f  ) 
 >> 
 >>>>  eq   =   Eq  (  f  (  x  )  .  diff  (  x  ),   f  (  x  )) 
 >>>  eq 
 d 
 ── (f (x)) = f (x) 
 dx 
 >>>    
 >>>  dsolve  (  eq  ,   f  (  x  )) 
 x 
 f(x) = C₁⋅ℯ 

 >>> 
 >>>  eq   =   Eq  (  x  **  2   *   f  (  x  )  .  diff  (  x  ),   -  3   *   x   *   f  (  x  )   +   sin  (  x  )   /   x  ) 
 >>>  eq 
 2 d sin(x) 
 x ⋅──(f(x)) = -3⋅x⋅f(x) + ────── 
 dx x 
 > > 
 >>>  dsolve  (  eq  ,   f  (  x  )) 
 C₁ - cos(x) 
 f(x) = ─────────── 

Интеграция [ править ]

>>>  from   Sympy   import   init_printing  ,   integration  ,   Symbol  ,   exp  ,   cos  ,   erf 
 >>>  init_printing  () 
 >>>  x   =   Символ  (  "x"  ) 
 >>>  # Полиномиальная функция 
 >>>  f   =   x  **  2   +   x   +   1 
 >>>  f 
 2 
 x + x + 1 
 >>>  интегрировать  (  f  ,   x  ) 
 3 2 
 xx 
 ── + ── + x 
 3 2 
 >>>  # Рациональная функция 
 >>>  f   =   x   /   (  x  * *  2   +   2   *   x   +   1  ) 
 >>>  f 
 x 
 ──────────── 
 2 
 x + 2⋅x + 1 

 >>>  интегрировать  (  f  ,   x  ) 
 1 
 log(x + 1) + ───── 
 x + 1 
 >>>  # Экспоненциально-полиномиальные функции 
 >>>  f   =   x  **  2   *   exp  (  x  )   *   cos  (  x  ) 
 >>>  f 
 2 x 
 x ⋅ℯ ⋅cos(x) 
 >>>  интегрировать  (  f  ,   x  ) 
 2 x 2 xxx 
 x ⋅ℯ ⋅sin(x) x ⋅ℯ ⋅cos(x) x ℯ ⋅sin(x) ℯ ⋅cos(x) 
 ──────── ──── + ──────────── - x⋅ℯ ⋅sin(x) + ───────── - ──────── 
 2 2 2 2 
 >>>  # Неэлементарный интеграл 
 >>>  f   =   exp  (  -  (  x  **  2  ))   *   erf  (  x  ) 
 >>>  f 
 2 
 -x 
 ℯ ⋅erf(x) 
 >>>  интегрировать  (  f  ,   x  ) 

 ___ 2 
 ╲╱ π ⋅erf (x) 
 ───────────── 
 4 

Серия [ править ]

>>>  from   Sympy   import   Символ  ,   cos  ,   sin  ,   pprint 
 >>>  x   =   Символ  (  "x"  ) 
 >>>  e   =   1   /   cos  (  x  ) 
 >>>  pprint  (  e  ) 
 1 
 ────── 
 cos (x) 
 >>>  pprint  (  e  .  series  (  x  ,   0  ,   10  )) 
 2 4 6 8 
 x 5⋅x 61⋅x 277⋅x ⎛ 10⎞ 
 1 + ── + ──── + ──── ─ + ────── + O⎝x ⎠ 
 2 24 720 8064 
 >>>  e   =   1  /  sin  (  x  ) 
 >>>  pprint  (  e  ) 
 1 
 ────── 
 sin(x) 
 >>>  pprint  (  e  .  series  (  x  ,   0  ,   4  )) 
 3 
 1 x 7⋅x ⎛ 4⎞ 
 ─ + ─ + ──── + O⎝x ⎠ 
 x 6 360 

Логическое рассуждение [ править ]

Пример 1 [ править ]

>>>  из   Sympy   import   * 
 >>>  x   =   Символ  (  »  ) 
 >>>  y   =   Символ  (  «y»  ) 
 >>>  факты   =   Q.  « x   положительный  (  Икс  ),   Q  .   положительный  (  y  ) 
 >>>  при   условии  (  *  факты  ): 
 ...      распечатать  (  спросить  (  Q  .  положительный  (  2   *   x   +   y  ))) 
 True 

Пример 2 [ править ]

>>>  from   Sympy   import   * 
 >>>  x   =   Символ  (  "x"  ) 
 >>>  # Предположение о x 
 >>>  fact   =   [  Q  .   prime  (  x  )] 
 >>>  с   предположением  (  *  факт  ): 
 ...      распечатать  (  спросить  (  Q  .  рациональное  (  1   /   x  ))) 
 True 

См. также [ править ]

Ссылки [ править ]

  1. ^ "Релизы - симпы/симпы" . Проверено 6 сентября 2022 г. - через GitHub .
  2. ^ «СимПи Лайв» . live.sympy.org . Проверено 25 августа 2021 г.
  3. ^ «СимПи Гамма» . www.sympygamma.com . Проверено 25 августа 2021 г.
  4. ^ Перейти обратно: а б с «Домашняя страница SymPy» . Проверено 13 октября 2014 г.
  5. ^ Перейти обратно: а б с Джойнер, Дэвид; Чертик, Ондржей; Мёрер, Аарон; Грейнджер, Брайан Э. (2012). «Системы компьютерной алгебры с открытым исходным кодом: SymPy». ACM-коммуникации в компьютерной алгебре . 45 (3/4): 225–234. дои : 10.1145/2110170.2110185 . S2CID   44862851 .
  6. ^ Мёрер, Аарон; Смит, Кристофер П.; Папроцкий, Матеуш; Чертик, Ондржей; Кирпичев Сергей Борисович; Роклин, Мэтью; Кумар, АМиТ; Иванов, Сергей; Мур, Джейсон К. (2 января 2017 г.). «SymPy: символьные вычисления в Python» (PDF) . PeerJ Информатика . 3 : е103. дои : 10.7717/peerj-cs.103 . ISSN   2376-5992 .
  7. ^ «SymPy против Mathematica · Sympy/Sympy Wiki» . Гитхаб .
  8. ^ «Статистика проекта Sympy на Open HUB» . Проверено 13 октября 2014 г.
  9. ^ Геде, Гилберт; Петерсон, Дейл Л.; Нанджангуд, Ангад; Мур, Джейсон К.; Хаббард, Монт (2013). Динамика многотельных тел с ограничениями с помощью Python: от генерации символьных уравнений до публикации . ASME 2013 Международные технические конференции по проектированию и инженерному делу и Конференция по компьютерам и информации в инженерии. Американское общество инженеров-механиков. стр. V07BT10A051. дои : 10.1115/DETC2013-13470 . ISBN  978-0-7918-5597-3 .
  10. ^ Роклин, Мэтью; Террел, Энди (2012). «Символическая статистика с SymPy». Вычисления в науке и технике . 14 (3): 88–93. Бибкод : 2012CSE....14c..88R . дои : 10.1109/MCSE.2012.56 . S2CID   18307629 .
  11. ^ Асиф, Муштак; Олауссен, Коре (2014). «Автоматический генератор кода для интеграторов высшего порядка». Компьютерная физика. Коммуникации . 185 (5): 1461–1472. arXiv : 1310.2111 . Бибкод : 2014CoPhC.185.1461M . дои : 10.1016/j.cpc.2014.01.012 . S2CID   42041635 .
  12. ^ «Модуль предположений — документация SymPy 1.4» . docs.sympy.org . Проверено 5 июля 2019 г.
  13. ^ «Механика сплошной среды — документация SymPy 1.4» . docs.sympy.org . Проверено 5 июля 2019 г.
  14. ^ «GitHub — symengine/symengine: SymEngine — это быстрая библиотека символьных манипуляций, написанная на C++» . Гитхаб . Проверено 25 августа 2021 г.
  15. ^ «mpmath — библиотека Python для арифметики с плавающей запятой произвольной точности» . mpmath.org . Проверено 25 августа 2021 г.
  16. ^ «GitHub — pearu/sympycore: автоматически экспортируется из code.google.com/p/sympycore» . Гитхаб . Январь 2021 года . Проверено 25 августа 2021 г.
  17. ^ Разработчики, SfePy. «SfePy: простые конечные элементы в Python — версия SfePy: документация 2021.2+git.13ca95f1» . sfepy.org . Проверено 25 августа 2021 г.
  18. ^ «GitHub — pygae/galgebra: пакет символьной геометрической алгебры/исчисления для SymPy» . Гитхаб . Проверено 25 августа 2021 г.
  19. ^ «Quameon — квантовый метод Монте-Карло на Python» . Quameon.sourceforge.net . Проверено 25 августа 2021 г.
  20. ^ «Добро пожаловать в документацию Lcapy! — Документация Lcapy 0.76» . 16 января 2021 г. Архивировано из оригинала 16 января 2021 г. Проверено 25 августа 2021 г.
  21. ^ «Документация проекта LaTeX Expression — документация LaTeX Expression 0.3.dev» . mech.fsv.cvut.cz. ​ Проверено 25 августа 2021 г.
  22. ^ «Символическая статистика с SymPy» . Исследовательские ворота . Проверено 25 августа 2021 г.
  23. ^ «Документация Диофанта — Документация Диофанта 0.13.0a4.dev13+g8c5685115» . diofant.readthedocs.io . Проверено 25 августа 2021 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 70E70DD83B13DED3A62371C449A205DB__1707144120
URL1:https://en.wikipedia.org/wiki/SymPy
Заголовок, (Title) документа по адресу, URL1:
SymPy - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)