Vue d'ensemble

SymPy 1.9, publie le 10 octobre 2021, apporte des ameliorations de performance significatives pour le calcul symbolique et le solveur d'equations.

Fonctionnalites principales

Ameliorations de performance

Les operations de simplification et de substitution sont significativement plus rapides grace a un meilleur cache interne et des algorithmes de comparaison optimises.

python
from sympy import symbols, expand, factor, simplify

x, y = symbols('x y')

# Simplification amelioree
expr = (x**2 + 2*x*y + y**2) / (x + y)
print(simplify(expr))  # x + y

# Factorisation plus rapide
poly = x**4 - y**4
print(factor(poly))  # (x - y)*(x + y)*(x**2 + y**2)

# Expansion
print(expand((x + y)**3))

Solveur ameliore

Le solveur d'equations solve() gere mieux les systemes non lineaires et les equations transcendantes, avec des resultats plus complets.

python
from sympy import symbols, solve, sin, cos, Eq

x, y = symbols('x y')

# Systeme non lineaire
solutions = solve([
    Eq(x**2 + y**2, 25),
    Eq(x + y, 7),
], [x, y])
print(f'Solutions : {solutions}')

# Equation transcendante
sol = solve(sin(x) - x/2, x)
print(f'sin(x) = x/2 : {sol}')

Sources