Articulo de referencia

SymPy

{{cite web|url=https://github.com/sympy/sympy/releases|title=Releases - sympy/sympy|via=[[GitHub]]|accessdate=14 May 2025}} "},"latest release date":{"wt":"{{Start date and age|...

SymPy es una biblioteca de Python de código abierto para computación simbólica . Proporciona capacidades de álgebra computacional como aplicación independiente, como biblioteca para otras aplicaciones o en la web como SymPy Live [ 2 ] o SymPy Gamma [ 3 ] . SymPy es fácil de instalar e inspeccionar porque está escrito completamente en Python con pocas dependencias [ 4 ] [ 5 ] [ 6 ] . Esta facilidad de acceso, combinada con un código base simple y extensible en un lenguaje conocido, convierte a SymPy en un sistema de álgebra computacional con una barrera de entrada relativamente baja.

SymPy incluye funciones que abarcan desde aritmética simbólica básica hasta cálculo , álgebra , matemáticas discretas y física cuántica . Es capaz de formatear el resultado de los cálculos como código LaTeX . [ 4 ] [ 5 ]

SymPy es software libre y está licenciado bajo la licencia BSD de 3 cláusulas . Los desarrolladores principales son Ondřej Čertík y Aaron Meurer. Fue creado en 2005 por Ondřej Čertík. [ 7 ]

Características

La biblioteca SymPy está dividida en un núcleo con muchos módulos opcionales.

Actualmente, el núcleo de SymPy tiene alrededor de 260.000 líneas de código [ 8 ] (también incluye un conjunto completo de autopruebas: más de 100.000 líneas en 350 archivos a partir de la versión 0.7.5), y sus capacidades incluyen: [ 4 ] [ 5 ] [ 9 ] [ 10 ] [ 11 ]

Capacidades básicas

Polinomios

Cálculo

Resolver ecuaciones

Matemáticas discretas

Matrices

Geometría

Trazado de líneas

Tenga en cuenta que para generar gráficos se requiere el módulo externo Matplotlib o Pyglet .

  • Modelos de coordenadas
  • Representación gráfica de entidades geométricas
  • 2D y 3D
  • Interfaz interactiva
  • Bandera
  • Animaciones

Física

Estadística

Combinatoria

Impresión

  • SageMath : una alternativa de código abierto a Mathematica , Maple , MATLAB y Magma (SymPy está incluido en Sage).
  • SymEngine: una reescritura del núcleo de SymPy en C++ , con el fin de aumentar su rendimiento. Actualmente se está trabajando para que SymEngine también sea el motor subyacente de Sage. [ 14 ]
  • mpmath: una biblioteca de Python para aritmética de punto flotante de precisión arbitraria [ 15 ]
  • SympyCore: otro sistema de álgebra computacional en Python [ 16 ]
  • SfePy: Software para resolver sistemas de ecuaciones diferenciales parciales acopladas (EDP) mediante el método de elementos finitos en 1D, 2D y 3D. [ 17 ]
  • GAlgebra: Módulo de álgebra geométrica (anteriormente sympy.galgebra ). [ 18 ]
  • Quameon: Monte Carlo cuántico en Python. [ 19 ]
  • Lcapy: Paquete experimental de Python para la enseñanza del análisis de circuitos lineales . [ 20 ]
  • Proyecto LaTeX Expression: Composición tipográfica sencilla en LaTeX de expresiones algebraicas en forma simbólica con sustitución automática y cálculo de resultados. [ 21 ]
  • Modelado estadístico simbólico: Adición de operaciones estadísticas a modelos físicos complejos. [ 22 ]
  • Diofant: una bifurcación de SymPy, iniciada por Sergey B Kirpichev [ 23 ]

Dependencias

Desde la versión 1.0, SymPy tiene el paquete mpmath como dependencia.

Existen varias dependencias opcionales que pueden mejorar sus capacidades:

  • gmpy : Si gmpy está instalado, el módulo polinomial de SymPy lo utilizará automáticamente para tipos de datos más rápidos. Esto puede aumentar considerablemente el rendimiento de ciertas operaciones.
  • matplotlib : Si matplotlib está instalado, SymPy puede usarlo para generar gráficos.
  • Pyglet : Paquete alternativo para la creación de gráficos.

Véase también

Referencias

  1. "Versiones - sympy/sympy" . Consultado el 14 de mayo de 2025 a través de GitHub .
  2. "SymPy Live" . live.sympy.org . Consultado el 25 de agosto de 2021 .
  3. "SymPy Gamma" . www.sympygamma.com . Consultado el 25 de agosto de 2021 .
  4. 1 2 3 "Página principal de SymPy" . Consultado el 13 de octubre de 2014 .
  5. 1 2 3 Joyner, David; Čertík, Ondřej; Meurer, Aaron; Granger, Brian E. (2012). "Sistemas de álgebra computacional de código abierto: SymPy". ACM Communications in Computer Algebra . 45 (3/4): 225– 234. doi : 10.1145/2110170.2110185 . S2CID 44862851 . 
  6. ^ Meurer, Aarón; Smith, Christopher P.; Paprocki, Mateusz; Čertík, Ondřej; Kirpichev, Sergey B.; Rocklin, Mateo; Kumar, AMiT; Ivanov, Sergio; Moore, Jason K. (2 de enero de 2017). "SymPy: computación simbólica en Python" (PDF) . PeerJ Ciencias de la Computación . 3 : e103. doi : 10.7717/peerj-cs.103 . ISSN 2376-5992 . 
  7. "SymPy vs. Mathematica · sympy/Sympy Wiki" . GitHub .
  8. "Estadísticas del proyecto Sympy en Open HUB" . Consultado el 13 de octubre de 2014 .
  9. Gede, Gilbert; Peterson, Dale L.; Nanjangud, Angadh; Moore, Jason K.; Hubbard, Mont (2013). Dinámica multicuerpo restringida con Python: De la generación de ecuaciones simbólicas a la publicación . Conferencias técnicas internacionales de ingeniería de diseño y conferencias sobre computadoras e información en ingeniería de la ASME 2013. Sociedad Estadounidense de Ingenieros Mecánicos. págs. V07BT10A051. doi : 10.1115/DETC2013-13470 . ISBN  978-0-7918-5597-3.
  10. Rocklin, Matthew; Terrel, Andy (2012). "Estadística simbólica con SymPy". Computing in Science & Engineering . 14 (3): 88– 93. Bibcode : 2012CSE....14c..88R . doi : 10.1109/MCSE.2012.56 . S2CID 18307629 . 
  11. Asif, Mushtaq; Olaussen, Kåre (2014). "Generador automático de código para integradores de orden superior". Computer Physics Communications . 185 (5): 1461– 1472. arXiv : 1310.2111 . Bibcode : 2014CoPhC.185.1461M . doi : 10.1016/j.cpc.2014.01.012 . S2CID 42041635 . 
  12. "Módulo de supuestos — Documentación de SymPy 1.4" . docs.sympy.org . Consultado el 5 de julio de 2019 .
  13. "Mecánica del continuo — Documentación de SymPy 1.4" . docs.sympy.org . Consultado el 5 de julio de 2019 .
  14. "GitHub - symengine/symengine: SymEngine es una biblioteca de manipulación simbólica rápida, escrita en C++" . GitHub . Consultado el 25 de agosto de 2021 .
  15. "mpmath - Biblioteca de Python para aritmética de punto flotante de precisión arbitraria" . mpmath.org . Consultado el 25 de agosto de 2021 .
  16. "GitHub - pearu/sympycore: Exportado automáticamente desde code.google.com/p/sympycore" . GitHub . Enero de 2021. Consultado el 25 de agosto de 2021 .
  17. Desarrolladores, SfePy. "SfePy: Elementos finitos simples en Python — Documentación de la versión de SfePy: 2021.2+git.13ca95f1" . sfepy.org . Consultado el 25 de agosto de 2021 .
  18. "GitHub - pygae/galgebra: Paquete de álgebra geométrica simbólica/cálculo para SymPy" . GitHub . Consultado el 25 de agosto de 2021 .
  19. "Quameon - Monte Carlo cuántico en Python" . quameon.sourceforge.net . Consultado el 25 de agosto de 2021 .
  20. "¡Bienvenido a la documentación de Lcapy! — Documentación de Lcapy 0.76" . 16 de enero de 2021. Archivado del original el 16 de enero de 2021. Consultado el 25 de agosto de 2021 .
  21. "Documentación del proyecto LaTeX Expression — Documentación de LaTeX Expression 0.3.dev" . mech.fsv.cvut.cz. Consultado el 25 de agosto de 2021 .
  22. "Estadística simbólica con SymPy" . ResearchGate . Consultado el 25 de agosto de 2021 .
  23. "Documentación de Diofant — Documentación de Diofant 0.13.0a4.dev13+g8c5685115" . diofant.readthedocs.io . Consultado el 25 de agosto de 2021 .
  • Sitio web oficialEdita esto en Wikidata
  • Planeta SymPy
  • Colección de tutoriales de SymPy
  • Repositorio de código en GitHub
  • Foro de apoyo y desarrollo
  • Sala de chat de Gitter