Índice analítico[Ocultar][Mostrar]
Non hai que sortear as matemáticas, tanto se es un estudante universitario como se traballa en ciencia de datos.
Incluso pódese argumentar que a ciencia de datos é un tipo de matemática/estatística aplicada. NumPy, SciPy, Scikit-Aprendere TensorFlow son só algunhas das bibliotecas de Python que tratan cuantitativamente as matemáticas.
Non obstante, só hai un competidor para tratar explícitamente os símbolos matemáticos: SymPy.
Descubramos todo sobre SymPy.
O que é SymPy?
SymPy é unha biblioteca de matemáticas simbólicas de Python. Aspira a ser un sistema de álxebra informática (CAS) con todas as funcións mantendo o código o máis básico posible para ser comprensible e facilmente expandible.
Está totalmente escrito en Python. É sinxelo de usar xa que só depende de mpmath, unha biblioteca pura de Python para aritmética arbitraria de coma flotante.
Como biblioteca, creouse cunha importante énfase na usabilidade. A extensibilidade é fundamental no deseño da súa interface de programa de aplicación (API).
Como resultado, non intenta mellorar a linguaxe Python. O obxectivo é que os usuarios poidan usalo xunto a outros Bibliotecas Python no seu fluxo de traballo, xa sexa nun ambiente interactivo ou como un compoñente programado dun sistema maior.
SymPy, como biblioteca, carece dun gráfico incorporado interface co usuario (GUI). A biblioteca é:
- Gratuíto, tanto no que respecta á fala como á cervexa, porque está licenciado baixo a licenza BSD.
- Baseado en Python: está totalmente desenvolvido en Python e emprega Python como linguaxe.
- Lixeiro porque só depende de mpmath, un puro Biblioteca Python para aritmética arbitraria de coma flotante, facilitando o seu uso.
- Pódese incorporar a outros programas e modificar con funcións personalizadas ademais de utilizarse como ferramenta interactiva.
Por que usar SymPy?
Sage, un sistema de álxebra informática, tamén emprega Python como linguaxe de programación. Sage, pola súa banda, é enorme e require unha descarga de máis dun gigabyte. Ten a vantaxe de ser lixeiro.
Ademais de ser compacto, non ten outras dependencias que Python, polo que se pode usar practicamente en todas partes.
Ademais, os obxectivos de Sage e SymPy non son os mesmos. Sage aspira a ser un sistema matemático con todas as características, e faino combinando todos os principais sistemas matemáticos de código aberto nun só.
Cando usa unha función de Sage, como integrar, invoca un dos paquetes de código aberto que contén. En realidade, está integrado en Sage. SymPy, pola súa banda, aspira a ser un sistema autónomo, con todas as funcionalidades implementadas nel mesmo.
A súa capacidade para funcionar como biblioteca é unha característica importante. Moitos sistemas de álxebra informática están pensados para ser usados en ambientes interactivos, pero son difíciles de automatizar ou expandir.
Pódese usar de forma interactiva en Python ou importar ao teu propio programa Python. Tamén ten API para estendela facilmente coas túas propias rutinas.
Instalación de SymPy
Simplemente use o seguinte comando para instalar no seu ambiente.
Símbolos SymPy
Imos comezar con el agora! O seu obxecto fundamental é un símbolo. En SymPy, pode xerar un símbolo x escribindo:
O código anterior xera o símbolo x. Os símbolos nel pretenden emular símbolos matemáticos que representan valores descoñecidos.
Como resultado, a continuación móstrase o seguinte cálculo:
Como se mostra arriba, o símbolo x funciona de forma similar a unha cantidade descoñecida. Se queres facer moitos símbolos, escríbeos do seguinte xeito:
Creaches dous símbolos, y e z, ao mesmo momento neste caso. Estes símbolos agora pódense engadir, restar, multiplicar e dividir segundo queira:
Funcións SymPy
1. función simplify().
O método sympify() transforma unha expresión arbitraria nunha expresión SymPy. Convértese obxectos estándar de Python, como números enteiros.
As cadeas transfórmanse nas súas expresións, así como en números enteiros, etc.
2. función evalf().
Esta función avalía unha expresión numérica especificada cunha precisión de coma flotante de ata 100 díxitos.
A función tamén acepta un obxecto dicionario con valores numéricos para símbolos como argumento secundario. Considere a seguinte frase:
A precisión do punto flotante está configurada en 15 díxitos de forma predeterminada. Non obstante, pódese cambiar a calquera número entre 1 e 100.
A seguinte ecuación avalíase cunha precisión de 20 díxitos.
3. Función Lambdify().
Lambdify é unha función que converte as súas expresións en funcións de Python. O método evalf() é ineficiente cando se avalía unha expresión nunha ampla gama de valores.
Lambdify funciona de forma similar a unha función lambda, agás que traduce os nomes SymPy aos nomes da biblioteca numérica proporcionada, que xeralmente é NumPy.
Por defecto, Lambdify aplícase ás implementacións de bibliotecas estándar de matemáticas.
características
Aquí enuméranse algunhas das características máis significativas da biblioteca; hai moitos máis non incluídos, pero podes consultalos aquí.
1. Capacidades básicas
- Aritmética fundamental: os operadores +, -, *, / e ** son compatibles (potencia)
- Expansión polinómica
- Enteiros, racionais e flotantes con precisión arbitraria
- Funcións trigonométricas, hiperbólicas e exponenciais, raíces, logaritmos, valor absoluto, harmónicos esféricos, funcións factoriais e gamma, funcións zeta, polinomios e funcións especiais.
- Símbolos que non son conmutativos
- Patróns coincidentes
2. Cálculo
- Integración: este método emprega a heurística expandida de Risch-Norman
- Diferenciación.
- Funcións de límite
- Serie de Laurent Taylor
3. Polinomios
- Fundacións Gröbner
- Descomposición de fraccións parciais
- División, mcd Os resultantes son exemplos de aritmética básica.
4. Combinatoria
- Permutacións
- Códigos Gray e Prufer
- Combinacións, particións, subconxuntos
- Grupos de permutación poliédrico, Rubik, simétrico e outros
5. Matemáticas discretas
- Sumacións
- Expresións lóxicas
- Coeficientes binomiais
- Teoría dos números
aplicacións
1. Calculadora de edificios
2. Sistemas de álxebra informática
A diferenza doutros sistemas de álxebra informática, debes declarar manualmente variables simbólicas nel usando a función Symbol().
3. Cálculo
A capacidade dun sistema de cálculo simbólico para facer todo tipo de cálculos de forma simbólica é a súa principal fortaleza.
Pode simplificar enunciados, simbolicamente, calcular derivadas, integrais e límites, resolver ecuacións, interactuar con matrices e facer moito máis.
Para abrirche o apetito, aquí tes unha mostra do poder simbólico.
Que máis podes facer con SymPy?
En lugar de falar sobre problemas adicionais en profundidade, permíteme proporcionarche unha lista de recursos para axudarche a mellorar as túas habilidades:
- Matrices e álxebra lineal: Pode traballar con matrices e realizar operacións básicas de álxebra lineal. A linguaxe é semellante á sintaxe de NumPy. Non obstante, hai diferenzas notables. Para comezar, investiga matrices na biblioteca.
- Expresión: Aproveita unha árbore de expresións, que é unha estrutura baseada en árbores, para facer un seguimento das expresións. Mirar árbores de expresión se queres saber máis sobre o seu funcionamento interno.
- Derivadas e integrais: Pode lograr a maior parte do que aprenderías nunha clase de introdución ao cálculo (menos o pensamento). Podes comezar mirando a nosa función diferenciación en SymPy.
- Relación con NumPy: NumPy e SymPy son bibliotecas relacionadas coas matemáticas. Son, con todo, esencialmente diferentes! NumPy funciona con números, mentres que funciona con expresións simbólicas.
- Simplificacións: É o suficientemente intelixente como para simplificar automaticamente as expresións. Non obstante, se queres un control máis fino sobre isto, mira o seu simplificacións.
Conclusión
SymPy é unha poderosa biblioteca para matemáticas simbólicas.
Podes usalo para crear variables e funcións, así como ampliar e simplificar simbólicamente enunciados matemáticos e resolver ecuacións, desigualdades e mesmo sistemas de ecuacións/desigualdades.
Podes escribir as funcións tanto no texto do script como directamente no terminal (ou Cadernos Jupyter) para obter unha valoración rápida e unha mellor representación gráfica dos cálculos realizados.
Estás preparado para explorar máis SymPy? Avísanos nos comentarios.
Deixe unha resposta