NumPy 1.0: il fondamento numerico di Python scientifico

NumPy 1.0 (25 ottobre 2006) di Travis Oliphant: libreria numerica che unifica Numeric e numarray, ndarray come struttura base per array n-dimensionali, operazioni vettorizzate ottimizzate. Il pilastro dell'ecosistema scientifico Python.

Open SourceR&D NumPyTravis OliphantScientific PythonndarrayOpen Source

La frammentazione pre-NumPy

A inizio 2000 il calcolo numerico in Python era frammentato: Numeric (1995, Jim Hugunin) e numarray (2001, STScI) erano due librerie array con API divergenti; la comunità scientifica era divisa.

Travis Oliphant (allora alla Brigham Young University, poi co-fondatore di Enthought e Continuum Analytics / Anaconda) unifica i due nel 2005-2006 con NumPy. La versione 1.0 è rilasciata il 25 ottobre 2006. Licenza BSD 3-Clause.

ndarray

Il cuore di NumPy è ndarray — array n-dimensionale omogeneo:

  • Tipo dato fisso (float32, int64, ecc.) — più efficiente di liste Python
  • Shape multi-dimensionale — matrici 2D, tensori 3D+
  • Broadcasting — operazioni tra array di shape compatibili
  • Vectorized operations — operazioni elementari senza for loop Python
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([10, 20])
print(a + b)        # broadcasting: [[11,22],[13,24]]
print(a @ b)        # matrix multiply: [50, 110]
print(np.linalg.inv(a))  # matrix inverse

Gli operatori sono implementati in C + BLAS/LAPACK, 10-100x più veloci di loop Python equivalenti.

L’ecosistema scientifico

NumPy nasce per diventare la base di uno stack più ampio:

  • SciPy (Eric Jones, Travis Oliphant, Pearu Peterson, 2001+) — algoritmi numerici avanzati
  • matplotlib (John Hunter, 2003) — visualizzazione
  • SymPy — calcolo simbolico

L’adozione concreta dipenderà dalla capacità di costruire intorno a ndarray un ecosistema coerente.

Finanziamento

NumPy è mantenuto da volontari e da Travis Oliphant senza una struttura di finanziamento dedicata.

Nel contesto italiano

Nei laboratori di ricerca scientifica italiani Python sta entrando come alternativa moderna a MATLAB e Fortran per prototipazione rapida. NumPy è il componente che rende plausibile questa scelta.


Riferimenti: NumPy 1.0 (25 ottobre 2006). Travis Oliphant. Unificazione di Numeric (1995) e numarray (2001). Licenza BSD 3-Clause. BLAS/LAPACK backend.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi