Più di un decennio dopo, NumPy pubblica il primo documento di revisione sui concetti fondamentali degli array
Recentemente, i ricercatori di NumPy hanno pubblicato il loro primo documento di revisione ” Programmazione di array con NumPy “, basato su come alcuni concetti fondamentali di array conducono a un paradigma di programmazione semplice e potente per l’organizzazione, l’esplorazione e l’analisi dei dati scientifici. L’intero documento di revisione è stato pubblicato dagli sviluppatori pochi giorni fa dopo un intervallo di quasi quindici anni dal suo inizio.
Creato nel 2005, NumPy è un progetto open source che mira a abilitare il calcolo numerico con Python . Nello scenario attuale, quasi tutti gli scienziati che lavorano in Python attingono alla potenza di NumPy. La libreria aggiunge il supporto per array multidimensionali e matrici di grandi dimensioni e porta in Python la potenza di calcolo di linguaggi come C e Fortran .
Dall’acquisizione della prima immagine di un buco nero all’analisi dello sport, NumPy svolge un ruolo significativo nelle pipeline di analisi della ricerca, inclusi campi come fisica, astronomia, geoscienza, biologia, psicologia, economia, ingegneria, finanza e altro ancora.
Ruolo di NumPy nella programmazione di array
La programmazione di array fornisce una sintassi potente, espressiva e compatta per eseguire funzioni come accedere, manipolare e operare sui dati in vettori, matrici e array di dimensioni superiori. Si dice che NumPy sia la libreria di programmazione di array principale per il popolare linguaggio Python .
Secondo i ricercatori, questa libreria è la base su cui è costruito l’ecosistema scientifico Python, ed è grazie alla pervasività della libreria che diversi progetti, rivolti a un pubblico con esigenze specializzate, hanno sviluppato le proprie interfacce e oggetti array simili a NumPy.
NumPy funge sempre più da livello di interoperabilità tra tali librerie di calcolo di array. Insieme alla sua API, la libreria fornisce un framework flessibile per supportare il prossimo decennio di analisi scientifica e industriale. La semplicità intrinseca di questa libreria ha portato l’array NumPy ad essere il formato di scambio de facto per i dati dell’array in Python .
Il NumPy Array
Si dice che l’array NumPy sia una struttura di dati, che può archiviare e accedere ad array multidimensionali in modo efficiente. Incorpora vari concetti fondamentali di array. Conosciuto anche come tensori, l’array NumPy è costituito da un puntatore alla memoria, insieme ai metadati utilizzati per interpretare i dati memorizzati, in particolare il tipo di dati, la forma e le falcate.
Il tipo di dati definisce la natura degli elementi memorizzati in un array e la forma di un array spiega il numero di elementi lungo ciascun asse e il numero di assi è la dimensionalità dell’array. Allo stesso tempo, sono necessari passi avanti per interpretare la memoria del computer, che immagazzina elementi linearmente, come array multidimensionali.
NumPy ha la capacità di memorizzare array nell’ordine di memoria C o Fortran, iterando prima su righe o colonne. Ciò consente alle librerie esterne scritte in quelle lingue di accedere direttamente ai dati dell’array NumPy in memoria. La libreria fornisce array in memoria, multidimensionali, tipizzati in modo omogeneo su CPU e funziona su macchine, che vanno dai dispositivi embedded ai più grandi supercomputer del mondo.
NumPy e altre biblioteche
Anche se NumPy non fa parte della libreria standard di Python , tuttavia il linguaggio Python ha aggiunto nuove funzionalità e una sintassi speciale in modo che NumPy abbia una notazione di array più concisa e di facile lettura.
Librerie popolari come SciPy e Matplotlib sono strettamente associate a NumPy per vari sviluppi e usi. Secondo i ricercatori, la combinazione di NumPy, SciPy e Matplotlib, insieme a un ambiente interattivo avanzato come IPython o Jupyter, fornisce una solida base per la programmazione di array in Python.
Hanno affermato che questa libreria è la base dell’ecosistema scientifico Python. “L’ambiente interattivo creato dalla fondazione di programmazione di array e dall’ecosistema di strumenti circostante, all’interno di IPython o Jupyter, è ideale per l’analisi esplorativa dei dati.”
Avvolgendo
Con l’aiuto dell’API di alto livello di NumPy, gli utenti possono sfruttare l’esecuzione di codice altamente parallela su più sistemi con milioni di core, il tutto con modifiche minime al codice. La libreria non è più semplicemente la libreria di array di base alla base dell’ecosistema scientifico Python, ma è diventata l’API standard per il calcolo dei tensori e un meccanismo di coordinamento centrale tra i tipi di array e le tecnologie in Python.
NumPy è pronta ad abbracciare un panorama così mutevole e a continuare a svolgere un ruolo di primo piano nel calcolo scientifico interattivo, anche se per farlo saranno necessari finanziamenti sostenuti da parte del governo, del mondo accademico e dell’industria, hanno concluso i ricercatori.