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
- Aritmética básica: *, /, +, -, **
- Simplificación
- Expansión
- Funciones : trigonométricas , hiperbólicas , exponenciales , raíces , logaritmos , valor absoluto , armónicos esféricos , factoriales y funciones gamma , funciones zeta , polinomios , hipergeométricas , funciones especiales, etc.
- Sustitución
- Enteros de precisión arbitraria , racionales y de punto flotante.
- Símbolos no conmutativos
- Coincidencia de patrones
Polinomios
Cálculo
- Límites
- Diferenciación
- Integración : Heurística de Risch-Norman implementada
- Serie Taylor ( Serie Laurent )
Resolver ecuaciones
Matemáticas discretas
- Coeficientes binomiales
- Sumas
- Productos
- Teoría de números : generación de números primos , pruebas de primalidad, factorización de enteros , etc.
- Expresiones lógicas [ 12 ]
Matrices
- aritmética básica
- Valores propios y sus vectores propios cuando el polinomio característico se puede resolver mediante radicales.
- Determinantes
- Inversión
- Resolviendo
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
- Formato de impresión legible : Formato de impresión legible ASCII / Unicode , LaTeX
- Generación de código : C, Fortran , Python
Proyectos relacionados
- 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
- ↑ "Versiones - sympy/sympy" . Consultado el 14 de mayo de 2025 a través de GitHub .
- ↑ "SymPy Live" . live.sympy.org . Consultado el 25 de agosto de 2021 .
- ↑ "SymPy Gamma" . www.sympygamma.com . Consultado el 25 de agosto de 2021 .
- 1 2 3 "Página principal de SymPy" . Consultado el 13 de octubre de 2014 .
- 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 .
- ^ 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 .
- ↑ "SymPy vs. Mathematica · sympy/Sympy Wiki" . GitHub .
- ↑ "Estadísticas del proyecto Sympy en Open HUB" . Consultado el 13 de octubre de 2014 .
- ↑ 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.
- ↑ 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 .
- ↑ 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 .
- ↑ "Módulo de supuestos — Documentación de SymPy 1.4" . docs.sympy.org . Consultado el 5 de julio de 2019 .
- ↑ "Mecánica del continuo — Documentación de SymPy 1.4" . docs.sympy.org . Consultado el 5 de julio de 2019 .
- ↑ "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 .
- ↑ "mpmath - Biblioteca de Python para aritmética de punto flotante de precisión arbitraria" . mpmath.org . Consultado el 25 de agosto de 2021 .
- ↑ "GitHub - pearu/sympycore: Exportado automáticamente desde code.google.com/p/sympycore" . GitHub . Enero de 2021. Consultado el 25 de agosto de 2021 .
- ↑ 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 .
- ↑ "GitHub - pygae/galgebra: Paquete de álgebra geométrica simbólica/cálculo para SymPy" . GitHub . Consultado el 25 de agosto de 2021 .
- ↑ "Quameon - Monte Carlo cuántico en Python" . quameon.sourceforge.net . Consultado el 25 de agosto de 2021 .
- ↑ "¡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 .
- ↑ "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 .
- ↑ "Estadística simbólica con SymPy" . ResearchGate . Consultado el 25 de agosto de 2021 .
- ↑ "Documentación de Diofant — Documentación de Diofant 0.13.0a4.dev13+g8c5685115" . diofant.readthedocs.io . Consultado el 25 de agosto de 2021 .
Enlaces externos
- Software de sistema de álgebra computacional para Linux
- Software de sistema de álgebra computacional para macOS
- Software de sistema de álgebra computacional para Windows
- Sistemas de álgebra computacional gratuitos
- Software matemático gratuito
- Software libre programado en Python
- Bibliotecas científicas de Python (lenguaje de programación)
- Software de 2007