Articles of sympy

Reemplace ** con Math.pow en SymPy

Tengo una expresión de SymPy en Python y me gustaría copiarla y pegarla en un código fuente de Java. El problema es que hay una notación diferente para la exponenciación: Java utiliza Math.pow(a,b) ; Python utiliza a**b . Entonces, mi pregunta es: ¿hay alguna manera de imprimir la expresión SymPy en el “formato Java”?

¿Quieres hacer multi-variación minimizar con sympy

Quiero usar la minimización con scipy.optimize utilizando personajes simbolizados from scipy.optimize import minimize from sympy.utilities.lambdify import lambdify import sympy as sp x1, x2, x3, x4 = sp.symbols(‘x1 x2 x3 x4’) FormulaMain = sp.symbols(‘-2*x1**2*x3+6*x1**2*x4+13*x1**2-3*x1*x2**2+x1*x2+3*x1*x3**2-3*x4+103′) HandleMain = lambdify((x1,x2,x3,x4),FormulaMain,’numpy’) bnds = ((-1, 1), (-1, 1), (-1, 1), (-1, 1)) PrintParams = minimize(HandleMain,[1,1,1,1],method=’SLSQP’,bounds=bnds) print PrintParams Cuando ejecuto el código, […]

Obtenga un valor del conjunto de soluciones devuelto como finiteset por Sympy

Estoy creando un script en la biblioteca de Python Sympy y tratando de acceder al resultado devuelto por las funciones solveset () y linsolve (). Mi problema es que el objeto devuelto por estas funciones es de tipo finiteset y quiero seleccionar algunos resultados automáticamente para volver a ingresarlo en otras ecuaciones. ¿Algún cuerpo podría […]

Doble integral con límites variables en Python Scipy + sympy (?)

El problema matemático completo está aquí . Brevemente quiero integrar una función con una doble integral. La integral interna tiene límites 20 y x-2 , mientras que la integral tiene límites 22 y 30 . Sé que con Scipy puedo calcular la integral doble con scipy.integrate.nquad . Me gustaría hacer algo como esto: def f(x, […]

¿Cómo usar sympy.physics.quantum Commutator?

Quiero trabajar algunas manipulaciones de conmutador y encontré esta herramienta en sympy. Parece funcionar como se esperaba (pero la documentación es prácticamente inexistente o al menos encontré poco, pero vea el comentario de Dalton Bentley a continuación), pero encontré el siguiente problema. from sympy.physics.quantum import Commutator as Comm from sympy.physics.quantum import Operator A = Operator(‘A’) […]

¿Es posible indexar una matriz numpy con símbolos sympy?

Helle, quiero hacer un resumen en una matriz numpy como esta import numpy as np import sympy as sy import cv2 i, j = sy.symbols(‘i j’, Integer=True) #next read some grayscale image to create a numpy array of pixels a = cv2.imread(filename) b = sy.summation(sy.summation(a[i][j], (i,0,1)), (j,0,1)) #double summation Pero me estoy enfrentando con un […]

Simpy simplificar expresión relacional (desigualdad)

¿Por qué no funciona la siguiente simplificación , o cómo podría solucionarse? >>> x = Symbol(‘x’, real=True) >>> y = Symbol(‘y’, real=True) >>> simplify(x – 1 < y – 1) x – 1 < y – 1 Pero esto funciona: >>> simplify(x – 1 – (y – 1) < 0) x – y < 0 […]

DiracDelta no da resultado correcto.

Tengo que usar dirac delta en una integral complicada y esperaba ver cómo funciona con un caso simple, pero devuelve la respuesta incorrecta. ¿Alguna pista de lo que hice mal en lo siguiente? from sympy import DiracDelta from scipy import integrate def f(x): return x*DiracDelta(x-1) b, err = integrate.quad(f, 0, 5) print b Esto devuelve […]

Cómo sustituir el símbolo por la matriz usando simPy y numPy

Estoy tratando de sustituir dos símbolos en mi ecuación por la forma matricial de cada uno de ellos. Creé una función de conmutador que formó mi expresión: t, vS, = sy.symbols(‘t, vS’, commutative = False) hS = t + vS eta = myComm(t,hS) dHs = myComm(eta,hS) print dHs.expand() dando la expresión correcta que quiero: 2*t*vS*t […]

Sustitución recursiva en sympy.

Tengo una expresión sympy con múltiples variables que necesitan ser sustituidas. El problema es que algunas de las expresiones que se van a sustituir también contienen instancias de variables que deben sustituirse. from sympy import * from sympy.abs import a,b, x,y expr = a + b replace = [[a, x+y], [b, 2*a]] expr.subs(replace) # 2*a […]