Vue d'ensemble

SymPy 1.11, publié le 14 août 2022, améliore la génération de code et les capacités algébriques.

Fonctionnalités principales

Génération de code

Le module codegen est amélioré pour générer du code C, Fortran et Python optimisé à partir d'expressions symboliques.

python
from sympy import symbols, sin, cos
from sympy.utilities.codegen import codegen

x, y = symbols('x y')
expr = sin(x) ** 2 + cos(y) ** 2

# Générer du code C
[(name, code), (name_h, header)] = codegen(
    ('f', expr), 'C', header=False
)
print(code)

Algèbre améliorée

Les simplifications algébriques et les solveurs d'équations sont plus performants, avec une meilleure gestion des systèmes non linéaires.

python
from sympy import symbols, solve, Eq

x, y = symbols('x y')

# Système d'équations non linéaires
equations = [
    Eq(x**2 + y**2, 25),
    Eq(x + y, 7),
]
solutions = solve(equations, [x, y])
print(solutions)  # [(3, 4), (4, 3)]

Sources