Vue d'ensemble
SciPy 1.11, publié le 26 juin 2023, améliore la compatibilité Array API et les opérations sur les matrices creuses.
Fonctionnalités principales
Compatibilité Array API
SciPy 1.11 progresse vers la conformité Array API, permettant d'utiliser des backends alternatifs comme CuPy ou JAX pour les calculs scientifiques.
python
from scipy import linalg
import numpy as np
# Décomposition LU
A = np.array([[2, 5, 8], [4, 6, 3], [7, 1, 9]])
P, L, U = linalg.lu(A)
print(f'L diagonal : {np.diag(L)}')
# Vérification : P @ L @ U == A
print(np.allclose(P @ L @ U, A)) # True
Améliorations sparse
Le module scipy.sparse bénéficie de nouvelles opérations optimisées et d'une meilleure intégration avec les solveurs linéaires.
python
from scipy import sparse
from scipy.sparse.linalg import spsolve
import numpy as np
n = 1000
A = sparse.diags([-1, 2, -1], [-1, 0, 1], shape=(n, n),
format='csr')
b = np.ones(n)
x = spsolve(A, b)
print(f'Solution min/max : {x.min():.2f} / {x.max():.2f}')
