Vue d'ensemble
SciPy 1.12, publie le 24 janvier 2024, prepare la compatibilite NumPy 2.0 et ajoute de nouveaux solveurs dans scipy.optimize.
Fonctionnalites principales
Preparation NumPy 2.0
SciPy 1.12 est compatible avec NumPy 2.0 dev, facilitant la transition pour l'ecosysteme scientifique Python.
python
import scipy
import numpy as np
print(f'SciPy: {scipy.__version__}') # 1.12.x
print(f'NumPy: {np.__version__}') # compatible 1.x et 2.x
# Les API depreciees dans NumPy 2.0 sont mises a jour
from scipy import sparse
m = sparse.eye(3, format='csr')
print(m.toarray())
Nouveaux solveurs
Le module scipy.optimize gagne de nouveaux algorithmes pour la programmation lineaire et l'optimisation sous contraintes.
python
from scipy.optimize import milp, LinearConstraint, Bounds
# Programmation lineaire en nombres entiers (MILP)
c = [-1, -2] # minimiser -x - 2y
constraints = LinearConstraint([[1, 1], [1, 0]], ub=[4, 3])
integrality = [1, 1] # variables entieres
result = milp(c, constraints=constraints,
integrality=integrality, bounds=Bounds(0, None))
print(result.x) # [1.0, 3.0]
