Comparar rangos de números sympy

doggosvsshibes:

Tengo un problema en sympy. He resuelto una desigualdad, y tengo que comprobar si la solución es de un cierto rango.

Por ejemplo, si quería resolver la desigualdad sympy.solve(x**3 > 0), (que volvería (0 < x) & (x < oo)), y quería devolver verdadero si se devuelve la función de resolver (0 > x) & (x > -oo), sería volver falsa, ya que esos dos rangos no son iguales.

smichr:

relaciones univariantes se pueden convertir a los conjuntos y se puede comprobar si hay Set intersecciones. Si la intersección no es equivalente a cualquiera de los conjuntos de que, ni está contenido en el otro:

>>> a, b = (0 < x) & (x < oo), (0 > x) & (x > -oo)
>>> sa = a.as_set(); sb = b.as_set()
>>> sa
Interval.open(0, oo)
>>> sa.intersection(sb)
EmptySet

Dado que no hay intersección en absoluto, estos conjuntos deben ser diferentes.

Este es un caso donde hay una superposición (contención):

>>> Interval(1, 3).intersection(sa)
Interval(1, 3)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=285090&siteId=1
Recomendado
Clasificación