Sympy

Tela Software:
Sympy
Detalhes de Software:
Versão: 0.7.2
Data de upload: 20 Feb 15
Revelador: Ondrej Certik
Licença: Livre
Popularidade: 54

Rating: 4.5/5 (Total Votes: 2)

SymPy é um pacote de manipulação simbólica open source, escrito em Python puro.
O objetivo de SymPy é tornar-se uma CAS cheio de recursos em Python, enquanto o código é mantido o mais simples possível para que possa ser facilmente extensível e compreensível

Características :.

  • aritméticas básicas *, /, +, -
  • simplificação de base (como a * b * b * 2 + b * a * b - & gt; 3 * a * b ^ 2)
  • expansão (como (a + b) ^ 2 - & gt; a ^ 2 + 2 * a * b + b ^ 2)
  • funções (exp, ln, sin, cos, tan, ...)
  • números complexos (como exp (I * x) .evalc () - & gt; cos (x) + I * sin (x))
  • diferenciação
  • série taylor
  • substituição de base (como x- & gt; ln (x))
  • inteiros de precisão arbitrária e rationals
  • standard (python) flutua

O que é novo nesta versão:.

  • SymPy agora suporta Python 3 e PyPy
  • Esta versão também inclui os principais novos recursos de análise combinatória, a integração definitiva, variáveis ​​aleatórias, expressões matriciais, conjuntos, mecânica clássica, mecânica quântica, álgebra comutativa, traço, e geometria diferencial.
  • Também houve centenas de correções de erros em toda a base de código.

O que é novo na versão 0.7.1:

  • As principais alterações:
  • Python 2.4 não é mais suportado. SymPy não vai funcionar em tudo em Python 2.4. Se você ainda precisa usar SymPy sob Python 2.4, por algum motivo, você vai precisar usar SymPy 0.7.0 ou anterior.
  • A biblioteca plotagem Pyglet é agora um (opcional) dependência externa. Anteriormente, nós lançamos uma versão do Pyglet com SymPy, mas este era velho e buggy. O plano é, eventualmente, fazer a plotagem em SymPy muito mais modular, para que ele suporta muitos backends, mas isso não foi feito ainda. Por enquanto, ainda só Pyglet é suportado diretamente. Note-se que Pyglet é apenas uma dependência opcional e só é necessária para o corte. O resto do SymPy ainda pode ser utilizado sem quaisquer dependências (exceto para Python).
  • isympy trabalha agora com o novo IPython 0,11.
  • mpmath foi atualizado para 0,17. Veja as notas de lançamento mpmath correspondentes a http://mpmath.googlecode.com/svn/trunk/CHANGES.
  • Adicionado um objeto Subs para representar substituições não avaliadas. Isso finalmente nos permite representar derivados avaliadas em um ponto, ou seja, diff (f (x), x) .subs (x, 0) retorna Subs (Derivative (f (_x), _x), (_x,), (0, )). Isto também significa que SymPy agora pode calcular corretamente a regra da cadeia quando essa funcionalidade é necessária, por exemplo, com f (g (x)). Diff (x).
  • funções Hipergeométricas / Meijer G-Funções:
  • aulas Adicionado hyper () e meijerg () para representar Hipergeométricas e Meijer G-funções, respectivamente. Eles apóiam avaliação numérica (usando mpmath) e diferenciação simbólica (não no que diz respeito aos parâmetros).
  • Adicionado um algoritmo para reescrever g-funções hipergeométrica e Meijer, em termos de mais familiares, funções especiais nomeados. É acessível através da hyperexpand function (), ou também via expand_func (). Este algoritmo reconhece muitas funções elementares, e também funções completas e incompletas gama, funções de Bessel e funções de erro. Ele pode ser facilmente estendido para lidar com mais classes de funções especiais.
  • Sets:
  • classe Adicionado FiniteSet para imitar o comportamento conjunto python ao mesmo tempo, interagindo com intervalos existentes e Sindicatos
  • FiniteSets e Intervalos de interagir de modo a que, por exemplo intervalo (0, 10) - FiniteSet (0, 5) produz (0, 5) U (5, 10]
  • FiniteSets também lidar com objetos não-numéricos de modo que o que se segue é possível {1, 2, "um", "dois", {a, b}}
  • Adicionado ProductSet para lidar com produtos cartesianos de conjuntos
  • Criar usando o operador *, ou seja, twodice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) ou quadrado = intervalo (0, 1) * intervalo (0, 1)
  • operador pow também funciona como esperado: R3 = Interval (-oo, oo) ** 3; (3, -5, 0) em R3 == true
  • Subtração, união, todo o trabalho de medição tendo cruzamentos complexos em conta.
  • Adicionado método as_relational a conjuntos, produzindo declarações boolean usando And, Or, Eq, Lt, Gt, etc ...
  • reduce_poly_inequalities alterado para retornar sindicatos de conjuntos, em vez de listas de conjuntos
  • Iterables:
  • Adicionado gerando rotinas para partições inteiras e partições binárias. A rotina para partições inteiras leva 3 argumentos, o próprio número, o elemento máximo possível permitido nas partições geradas e ao maior número possível de elementos que estarão na partição. Partições binárias são caracterizados por conter apenas potências de dois.
  • Adicionado gerando rotina para partições multi-definidos. Dado um multiset, o algoritmo implementado irá gerar todas as partições possíveis desse multi-set.
  • Adicionado gerar rotinas de permutações de sino, desarranjos e involuções. Uma permutação de sino é aquele em que os ciclos que compõem consistem de inteiros em ordem decrescente. A perturbação é uma permutação de tal modo que o i-ésimo elemento não está na posição i. Uma involução é uma permutação que quando multiplicado por si mesmo dá a permutação identidade.
  • Adicionado gerando rotina para colares irrestritos. Um colar irrestrita é uma a-ary seqüência de n caracteres, cada um dos possíveis tipos. Estes têm sido caracterizado pelos parâmetros n e k na rotina.
  • Adicionado gerando rotina para florestas orientadas. Esta é uma implementação do algoritmo S em TAOCP Vol 4A.
  • xyz bases rodada:
  • O representam, reescrever e lógica innerproduct foi melhorado para trabalhar entre duas bases de spin. Isto foi feito utilizando a matriz de Wigner-D, implementado na classe WignerD, para definir as alterações entre as várias bases. Representando um estado, ou seja, representam (JzKet (1,0), base = Jx), pode ser utilizado para se obter o vector de qualquer representação obter em qualquer das bases de x / y / z para valores numéricos de j e m no giro eigenstate. Da mesma forma, reescrevendo estados em bases diferentes, ou seja, JzKet (1,0) .rewrite ('Jx'), vai escrever os estados como uma combinação linear de elementos da base dado. Porque este conta com a função de representar, isso só funciona para valores numéricos j e m. O produto interno de duas eigenstates em bases diferentes podem ser avaliados, isto é, innerproduct (JzKet (1,0), JxKet (1,1)). Quando duas bases diferentes são usadas, um Estado é reescrito na outra base, então isso requer valores numéricos de j e m, mas innerproducts de Estados na mesma base ainda pode ser feito simbolicamente.
  • Os métodos Rotation.D e Rotation.d, representando a função de Wigner-D e a função de pequeno-d Wigner, retornar uma instância da classe WignerD, que pode ser avaliado com o método doit () para dar o correspondente matriz elemento da matriz de Wigner-D.
  • Outras alterações:
  • Agora usamos MathJax em nossos docs. MathJax torna LaTeX matemática entierly no navegador usando Javascript. Isto significa que a matemática é muito mais legível do que a matemática png anterior, que usa imagens. MathJax é suportado apenas em navegadores modernos, de modo matemática LaTeX nos docs pode não funcionar em navegadores mais antigos.
  • nroots () agora permite que você defina a precisão dos cálculos
  • Adicionado suporte para gmpy e mpmath dos tipos de sympify ()
  • Corrigir alguns bugs com lambdify ()
  • Corrigir um bug com símbolos as_independent e não-comutativa.
  • Corrigir um bug com a cobrar (edição 2516)
  • Muitas correções relativas a portar SymPy para Python 3. Graças ao nosso aluno GSoC Vladimir Peric, esta tarefa está quase concluído.
  • Algumas pessoas foram retroativamente adicionada ao arquivo autores.
  • Adicionado um solver para um caso especial da equação de Riccati no módulo ODE.
  • derivados iterados são bastante impresso de forma concisa.
  • Corrigir um bug com as funções de integração com múltiplos DiracDeltas.
  • Adicionar suporte para Matrix.norm () que trabalha para Matrizes (não apenas vetores).
  • Melhorias no bases algoritmo Groebner.
  • Plot.saveimage agora suporta um StringIO outfile
  • Expr.as_ordered_terms agora suporta ordenações não lex.
  • diff agora Canonicaliza a ordem dos símbolos de diferenciação. Isto é de modo que pode simplificar expressões como f (x, y) .diff (x, y) - f (x, y) .diff (y, x). Se você quiser criar um objeto derivado sem classificar os argumentos, você deve criá-lo explicitamente com Derivada, de modo que você vai ter Derivative (f (x, y), x, y)! = Derivative (f (x, y), y, x). Note-se que internamente, os derivados que podem ser computados são sempre calculados na ordem em que eles são apresentados na.
  • funções Adicionado is_sequence () e iterable () para determinar se algo é um iterable ou normal iterable, respectivamente.
  • encomendado
  • Ativado uma opção no Sphinx que adiciona um link da fonte ao lado de cada função, que liga a uma cópia do código-fonte para essa função.

O que é novo na versão 0.7.0:

  • Este é um grande lançamento que acrescenta muito nova funcionalidade .
  • A maior mudança é os novos polígonos, que são muito mais poderoso e muito mais rápido. Isso afeta muitas partes do SymPy, incluindo os solucionadores e simplificação.
  • Outra grande mudança é o novo módulo de quantum, que foi adicionado como um resultado de duas Google Summer of Code projetos.
  • Para além destas grandes mudanças, há muitas mudanças ao longo de todos SymPy.
  • Esta versão também tem algumas principalmente menores quebras de compatibilidade para trás.

O que é novo na versão 0.6.3:

  • portado para python2.6 (todos os testes passar) e Jython (todos os testes passarem exceto aqueles dependendo do & quot; ast & quot; módulo).
  • A verdadeira divisão foi fixado (todos os testes de passar com o & quot; -Qnew & quot; opção Python)
  • .
  • buildbot.sympy.org foi criado; SymPy agora é regularmente testado em Python 2.4, 2.5, e 2.6 em ambos os i386 e amd64.
  • py.bench:. Análise comparativa entre py.test
  • bin / test: uma estrutura simples teste py.test-like, sem dependências externas e com saída bem coloridos
  • .
  • A maioria dos limites agora trabalhar.
  • Factorization sobre Z [x] foi muito melhorada.
  • função Piecewise foi adicionado. nsimplify () foi implementado.
  • Símbolos e sintaxe var foram unificados.
  • impressão do código C.

Requisitos :

  • Python

Programas semelhantes

JMathLib
JMathLib

3 Jun 15

GNU polyxmass
GNU polyxmass

3 Jun 15

wxMaxima
wxMaxima

23 Nov 17

Comentário para Sympy

Comentários não encontrado
Adicionar comentário
Ligue imagens!