Conteúdo[Esconder][Mostrar]
Não há como contornar a matemática, se você é um estudante universitário ou trabalha em ciência de dados.
Pode-se até argumentar que a ciência de dados é um tipo de matemática/estatística aplicada. NumPy, SciPy, scikit-learn e TensorFlow são apenas algumas das bibliotecas Python que lidam quantitativamente com matemática.
No entanto, há apenas um concorrente para lidar explicitamente com símbolos matemáticos: SymPy.
Vamos descobrir tudo sobre o SymPy.
O que é a SymPyGenericName?
SymPy é uma biblioteca de matemática simbólica Python. Ele aspira a ser um sistema de álgebra computacional (CAS) completo, mantendo o código o mais básico possível para ser compreensível e facilmente expansível.
É totalmente escrito em Python. É simples de usar, pois depende apenas do mpmath, uma biblioteca Python pura para aritmética de ponto flutuante arbitrária.
Como uma biblioteca, foi criada com uma ênfase significativa na usabilidade em mente. A extensibilidade é crítica no design de sua interface de programa de aplicativo (API).
Como resultado, ele não tenta aprimorar a linguagem Python. O objetivo é que os usuários possam usá-lo junto com outros Bibliotecas Python em seu fluxo de trabalho, seja em um ambiente interativo ou como um componente programado de um sistema maior.
SymPy, como uma biblioteca, carece de um gráfico embutido interface com o usuário (GUI). A biblioteca é:
- Gratuito, tanto na fala quanto na cerveja, pois está licenciada sob a licença BSD.
- Baseado em Python: É totalmente desenvolvido em Python e emprega Python como linguagem.
- Leve porque depende apenas de mpmath, um puro Biblioteca Python para aritmética de ponto flutuante arbitrário, tornando-o simples de usar.
- Pode ser incorporado a outros programas e modificado com funções personalizadas, além de ser usado como ferramenta interativa.
Por que usar o SymPy?
Sage, um sistema de álgebra computacional, também emprega Python como sua linguagem de programação. O Sage, por outro lado, é enorme, exigindo um download de mais de um gigabyte. Tem a vantagem de ser leve.
Além de compacto, não possui dependências além do Python, permitindo que seja usado praticamente em todos os lugares.
Além disso, os objetivos do Sage e do SymPy não são os mesmos. O Sage aspira ser um sistema matemático completo, e o faz combinando todos os principais sistemas matemáticos de código aberto em um.
Quando você usa uma função do Sage, como integrar, ela invoca um dos pacotes de código aberto que ela contém. Na realidade, ele está embutido no Sage. O SymPy, por outro lado, pretende ser um sistema autônomo, com todas as funcionalidades implementadas nele mesmo.
A sua capacidade de funcionar como uma biblioteca é uma característica importante. Muitos sistemas de álgebra computacional devem ser usados em ambientes interativos, mas são difíceis de automatizar ou expandir.
Ele pode ser usado interativamente em Python ou importado para seu próprio programa Python. Ele também possui APIs para facilitar a extensão com suas próprias rotinas.
Instalando o SymPy
Basta usar o comando abaixo para instalar em seu ambiente.
Símbolos SymPy
Vamos começar com isso agora! Seu objeto fundamental é um símbolo. No SymPy, você pode gerar um símbolo x escrevendo:
O código acima gera o símbolo x. Os símbolos nele são destinados a emular símbolos matemáticos que representam valores desconhecidos.
Como resultado, o seguinte cálculo é mostrado abaixo:
Como mostrado acima, o símbolo x funciona de forma semelhante a uma quantidade desconhecida. Se você deseja fazer muitos símbolos, escreva-os da seguinte forma:
Você criou dois símbolos, y e z, ao mesmo tempo neste caso. Esses símbolos agora podem ser adicionados, subtraídos, multiplicados e divididos conforme desejado:
Funções SymPy
1. função sympify()
O método sympify() transforma uma expressão arbitrária em uma expressão SymPy. Ele converte objetos padrão do Python, como inteiros.
Strings são transformadas em suas expressões, bem como inteiros, etc.
2. função evalf()
Esta função avalia uma expressão numérica especificada com uma precisão de ponto flutuante de até 100 dígitos.
Além disso, a função aceita um objeto de dicionário com valores numéricos para símbolos como um argumento subs. Considere a seguinte frase:
A precisão do ponto flutuante é definida como 15 dígitos por padrão. No entanto, isso pode ser alterado para qualquer número entre 1 e 100.
A equação a seguir é avaliada com uma precisão de 20 dígitos.
3. Função Lambdify()
Lambdify é uma função que converte suas expressões em funções Python. O método evalf() é ineficiente ao avaliar uma expressão em uma ampla faixa de valores.
Lambdify funciona de forma semelhante a uma função lambda, exceto que traduz nomes SymPy para os nomes da biblioteca numérica fornecida, que geralmente é NumPy.
Por padrão, Lambdify é aplicado a implementações de biblioteca padrão matemática.
Funcionalidades
Alguns dos recursos mais significativos da biblioteca estão listados aqui; há muitos mais não incluídos, mas você pode conferir SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
1. Capacidades Principais
- Aritmética fundamental: os operadores +, -, *, / e ** são suportados (power)
- Uma expansão polinomial
- Números inteiros, racionais e flutuantes com precisão arbitrária
- Funções trigonométricas, hiperbólicas e exponenciais, raízes, logaritmos, valor absoluto, harmônicos esféricos, fatoriais e funções gama, funções zeta, polinômios e funções especiais
- Símbolos não comutativos
- Padrões correspondentes
2. Cálculo
- Integração: Este método emprega a heurística Risch-Norman expandida
- Diferenciação.
- Funções de limite
- Série de Laurent Taylor
3. Polinômios
- Fundações Gröbner
- Decomposição de frações parciais
- Divisão, gcd Resultantes são exemplos de aritmética básica.
4. Combinatória
- permutações
- Códigos Gray e Prufer
- Combinações, Partições, Subconjuntos
- Grupos de Permutação Poliédrico, Rubik, Simétrico e Outros
5. Matemática discreta
- Somas
- Expressões lógicas
- Coeficientes binomiais
- Teoria dos Números
Aplicações
1. Calculadora de Edifícios
2. Sistemas de álgebra computacional
Ao contrário de outros sistemas de álgebra computacional, você deve declarar manualmente variáveis simbólicas nele usando a função Symbol().
3. Cálculo
A capacidade de um sistema de computação simbólica de fazer todo tipo de computação simbolicamente é sua maior força.
Ele pode simplificar declarações, simbolicamente, calcular derivadas, integrais e limites, resolver equações, interagir com matrizes e fazer muito mais.
Para aguçar o apetite, aqui está uma amostra do poder simbólico.
O que mais você pode fazer com o SymPy?
Em vez de falar sobre questões adicionais em profundidade, deixe-me fornecer uma lista de recursos para ajudá-lo a aprimorar suas habilidades:
- Matrizes e Álgebra Linear: Ele pode trabalhar com matrizes e realizar operações básicas de álgebra linear. A linguagem é semelhante à sintaxe do NumPy. No entanto, existem diferenças notáveis. Para começar, investigue matrizes na biblioteca.
- Expression: Ele aproveita uma árvore de expressão, que é uma estrutura baseada em árvore, para acompanhar as expressões. Olhe para a árvores de expressão se você quiser aprender mais sobre seu funcionamento interno.
- Derivadas e Integrais: Ele pode realizar a maior parte do que você aprenderia em uma aula introdutória de cálculo (menos o pensamento). Você pode começar olhando para a nossa função diferenciação em SymPy.
- Relação com NumPy: NumPy e SymPy são ambas bibliotecas relacionadas à matemática. Eles são, no entanto, essencialmente diferentes! O NumPy funciona com números, enquanto funciona com expressões simbólicas.
- Simplificações: É inteligente o suficiente para simplificar automaticamente as expressões. No entanto, se você quiser um controle mais refinado sobre isso, veja seu simplificações.
Conclusão
SymPy é uma biblioteca poderosa para matemática simbólica.
Você pode usá-lo para criar variáveis e funções, bem como estender e simplificar simbolicamente declarações matemáticas e resolver equações, desigualdades e até sistemas de equações/desigualdades.
Você pode escrever as funções tanto no texto do script quanto diretamente no terminal (ou Cadernos Jupyter) para obter uma avaliação rápida e uma melhor representação gráfica dos cálculos realizados.
Você está pronto para explorar mais o SymPy? Deixe-nos saber nos comentários.
Deixe um comentário