Sympy

Software captura de pantalla:
Sympy
Detalles de software:
Versión: 0.7.2
Fecha de carga: 20 Feb 15
Promotor: Ondrej Certik
Licencia: Libre
Popularidad: 148

Rating: 3.7/5 (Total Votes: 3)

SymPy es un paquete de manipulación simbólica de código abierto, escrito en Python puro.
El objetivo de SymPy es convertirse en un CAS con todas las funciones en Python, mientras que el código se mantiene tan simple como sea posible para que pueda ser fácilmente extensible y comprensible

Características :.

  • aritméticas básicas *, /, +, -
  • simplificación básica (como a * b * b + 2 * b * a * b - & gt; 3 * a * b ^ 2)
  • expansión (como (a + b) ^ 2 - & gt; a ^ 2 + 2 * a * b + b ^ 2)
  • funciones (exp, ln, sin, cos, tan, ...)
  • números complejos (como exp (I * x) .evalc () - & gt; cos (x) + I * sin (x))
  • diferenciación
  • serie taylor
  • sustitución básica (como x & gt; ln (x))
  • enteros de precisión arbitraria y racionales
  • estándar (python) flota

¿Qué hay de nuevo en esta versión:.

  • SymPy ahora es compatible con Python 3 y PyPy
  • Esta versión también incluye importantes novedades en la combinatoria, la integración definitiva, variables aleatorias, expresiones matriciales, conjuntos, la mecánica clásica, la mecánica cuántica, álgebra conmutativa, trazado y geometría diferencial.
  • También hubo cientos de correcciones de errores a lo largo de toda la base de código.

¿Qué hay de nuevo en la versión 0.7.1:

  • Los grandes cambios:
  • Python 2.4 ya no es compatible. SymPy no funcionará en absoluto en Python 2.4. Si usted todavía tiene que utilizar SymPy bajo Python 2.4 por alguna razón, usted tendrá que usar SymPy 0.7.0 o anterior.
  • La biblioteca conspirar Pyglet es ahora una (opcional) dependencia externa. Anteriormente, enviamos una versión de Pyglet con SymPy, pero esto era vieja y con errores. El plan es finalmente hacer el trazado en SymPy mucho más modular, por lo que soporta varios backends, pero esto no se ha hecho todavía. Por ahora, aún sólo Pyglet se apoya directamente. Tenga en cuenta que Pyglet es sólo una dependencia opcional y sólo se necesita para el trazado. El resto de SymPy todavía se puede utilizar sin ningún tipo de dependencias (excepto para Python).
  • isympy ahora trabaja con el nuevo IPython 0.11.
  • mpmath se ha actualizado a 0,17. Ver las correspondientes notas de la versión Mpmath en http://mpmath.googlecode.com/svn/trunk/CHANGES.
  • Ha añadido un objeto Subs para representar sustituciones no evaluados. Esto finalmente nos permite representamos derivados evaluados en un punto, es decir, diff (f (x), x) .subs (x, 0) devuelve Subs (Derivado de (f (_x), _x), (_x,), (0, )). Esto también significa que SymPy ahora puede calcular correctamente la regla de la cadena cuando se requiere esta funcionalidad, tal como con f (g (x)). Diff (x).
  • Funciones hipergeométricas / Meijer G-Funciones:
  • clases Añadido hiper () y meijerg () para representar hipergeométricas y Meijer G-funciones, respectivamente. Apoyan evaluación numérica (usando mpmath) y la diferenciación simbólica (no con respecto a los parámetros).
  • Añadido un algoritmo para la reescritura de g-funciones hipergeométricas y Meijer, en términos de las funciones más conocidas, llamadas especiales. Es accesible a través de la hyperexpand función (), o también a través de expand_func (). Este algoritmo reconoce muchas funciones elementales, así como funciones completas e incompletas gamma, funciones de Bessel y funciones de error. Se puede ampliar fácilmente para manejar más clases de funciones especiales.
  • Sets:
  • clase Agregado FiniteSet para imitar el comportamiento conjunto de pitón a la vez que interactúan con los intervalos y los sindicatos existentes
  • FiniteSets e intervalos interactúan de modo que, por ejemplo intervalo (0, 10) - FiniteSet (0, 5) produce (0, 5) U (5, 10]
  • FiniteSets también manejar objetos no numéricos por lo que la siguiente es posible {1, 2, "uno", "dos", {a, b}}
  • Agregado ProductSet manejar productos cartesianos de conjuntos
  • Crear usando el operador *, es decir twodice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) o cuadrado = intervalo (0, 1) * Intervalo (0, 1)
  • operador pow también funciona como se esperaba: R3 = intervalo (-oo, oo) ** 3; (3, -5, 0) en R3 == true
  • La resta, la unión, la medición de todo el trabajo de tomar las intersecciones complejas en cuenta.
  • Alta método as_relational a conjuntos, produciendo declaraciones booleanas utilizando Y, O, la ecuación, Lt, Gt, etc ...
  • reduce_poly_inequalities cambiado para que devuelva los sindicatos de series en vez de listas de conjuntos
  • iterables:
  • Agregado generar rutinas para particiones enteros y particiones binarias. La rutina para particiones enteros toma 3 argumentos, el número en sí, el elemento máximo posible a obtener en las particiones generadas y el máximo número posible de elementos que estarán en la partición. Particiones binarias se caracterizan por contener sólo potencias de dos.
  • Añadido generar rutina para particiones múltiples establecidos. Dado un conjunto múltiple, el algoritmo implementado generará todas las posibles particiones de ese multi-set.
  • Agregado generar rutinas de permutaciones de campana, desarreglos y involuciones. Una permutación campana es uno en el que los ciclos que lo componen se componen de números enteros en un orden decreciente. Un trastorno es una permutación tal que el i-ésimo elemento no está en la posición i-ésimo. Una involución es una permutación que multiplicado por sí mismo da la permutación identidad.
  • Agregado generación de rutina para los collares de libre disposición. Un collar sin restricciones es una cadena de un aria de n caracteres, cada uno de unos tipos posibles. Estos se han caracterizado por los parámetros n y k en la rutina.
  • Agregado generación de rutina para los bosques orientados. Esta es una implementación del algoritmo S en TAOCP Vol 4A.
  • xyz bases de Spin:
  • El represento, reescribir y la lógica innerproduct se ha mejorado para trabajar entre dos bases de espín. Esto se hizo mediante la utilización de la matriz de Wigner-D, implementado en la clase WignerD, en la definición de los cambios entre las diferentes bases. En representación de un estado, es decir, representan (JzKet (1,0), base = Jx), se puede utilizar para dar la representación vectorial de cualquier obtener en cualquiera de las bases de x / y / z para valores numéricos de j y m en el giro estado propio. Del mismo modo, la reescritura de los estados en diferentes bases, es decir JzKet (1,0) .rewrite ('Jx'), escribirán los estados como una combinación lineal de los elementos de la base dada. Debido a que esta se basa en la función de representar, esto sólo funciona para los valores j y m numéricos. El producto interior de dos estados propios en diferentes bases se puede evaluar, es decir innerproduct (JzKet (1,0), JxKet (1,1)). Cuando se utilizan dos bases diferentes, un estado se vuelve a escribir en la otra base, por lo que este requiere valores numéricos de j y m, pero innerproducts de los Estados en la misma base todavía se puede hacer de manera simbólica.
  • Los métodos Rotation.D y Rotation.d, en representación de la función de Wigner-D y la función de pequeña d Wigner, devolver una instancia de la clase WignerD, que puede ser evaluada con el método doit () para dar el correspondiente matriz elemento de la matriz de Wigner-D.
  • Otros cambios:
  • Ahora utilizamos MathJax en nuestros documentos. MathJax hace LaTeX matemáticas entierly en el navegador utilizando Javascript. Esto quiere decir que la matemática es mucho más legible que la anterior matemáticas png, que utiliza imágenes. MathJax sólo es compatible con los navegadores modernos, por lo que las matemáticas de LaTeX en la documentación puede no funcionar en navegadores antiguos.
  • La función nroots () ahora le permite establecer la precisión de los cálculos
  • Se ha añadido soporte para los tipos gmpy y mpmath de a sympify ()
  • Fix algunos errores con lambdify ()
  • Fix un error con as_independent y no conmutativos símbolos.
  • Fix un error con cobro revertido (emisión 2516)
  • Muchas correcciones relativas a portar SymPy a Python 3. Gracias a nuestro estudiante GSoC Vladimir Peric, está casi terminada esta tarea.
  • Algunas personas se añadió retroactivamente al archivo AUTORES.
  • Ha añadido un solucionador de un caso especial de la ecuación de Riccati en el módulo de ODE.
  • derivados iteradas son bastante imprimen de forma concisa.
  • Fix un error con la integración de funciones con múltiples DiracDeltas.
  • Añadir soporte para Matrix.norm () que funciona para matrices (no sólo vectores).
  • Mejoras en el algoritmo de bases de Groebner.
  • Plot.saveimage ahora soporta una StringIO archivosalida
  • Expr.as_ordered_terms ahora soporta ordenamientos no lex.
  • diff ahora canonicalizes el orden de los símbolos de diferenciación. Esto es por lo que puede simplificar expresiones como f (x, y) .diff (x, y) - f (x, y) .diff (y, x). Si desea crear un objeto Derivado sin ordenar los argumentos, debe crearla de forma explícita con Derivada, de manera que obtendrá Derivative (f (x, y), x, y)! = Derivada (f (x, y), y, x). Tenga en cuenta que internamente, los derivados que se pueden calcular siempre se calculan en el orden en que se dan en.
  • Funciones añadidas is_sequence () y iterable () para determinar si algo es un iterable o normal iterable, respectivamente.
  • ordenado
  • Habilitado una opción en la Esfinge que añade un enlace de la fuente junto a cada función, que enlaza con una copia del código fuente para esa función.

¿Cuál es nuevo en la versión 0.7.0:

  • Se trata de una versión principal que añade mucho nueva funcionalidad .
  • El mayor cambio es la nueva polis, que son mucho más potente y mucho más rápido. Esto afecta a muchas partes del SymPy, incluidos los solucionadores y simplificación.
  • Otro gran cambio es el nuevo módulo cuántica, que se añadió como resultado de dos Google Summer of Code proyectos.
  • Aparte de estos grandes cambios, hay muchos cambios a lo largo de todos SymPy.
  • Esta versión también cuenta con algunos minutos de descanso de compatibilidad hacia atrás en su mayoría menores de edad.

¿Qué hay de nuevo en la versión 0.6.3:

  • portado a python2.6 (todas las pruebas pasan) y Jython (todas las pruebas pasan, excepto los que dependen de la & quot; ast & quot; módulo).
  • La verdadera división era fijo (todas las pruebas pasan con el & quot; -Qnew & quot; opción Python)
  • .
  • buildbot.sympy.org fue creado; SymPy ahora se analiza regularmente en Python 2.4, 2.5 y 2.6 en i386 y amd64.
  • py.bench:. La evaluación comparativa basada en py.test
  • bin / test: un marco sencillo pruebas-py.test similares, sin dependencias externas y con una producción muy bien de color
  • .
  • La mayoría de los límites ahora funcionan.
  • factorización sobre Z [x] se ha mejorado en gran medida.
  • Se añadió la función a trozos. nsimplify () se implementó.
  • Símbolos y sintaxis var se unificaron.
  • impresión de código C.

Requisitos :

  • Python

Programas parecidos

Comentarios a la Sympy

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!