Un piccolo articolo di divulgazione matematica

La rivista dell'IMI (Instituto de Matemática Interdisciplinar) dell'Università Complutense di Madrid mi ha invitato a scrivere un articolo di divulgazione per la loro rubrica 1+400: articoli di 400 parole corredati da una immagine. A questo link trovate il mio articolo originale in lingua inglese.

Qua sotto ne riporto una versione italiana tradotta da ChatGPT.

Esperimenti con gli autovalori

La matematica sperimentale è un ramo della matematica che sfuma i confini tra calcolo, intuizione e dimostrazione formale. Abbraccia un approccio empirico, utilizzando strumenti computazionali, tecniche di visualizzazione ed esperimenti numerici per ottenere una comprensione dei fenomeni matematici, scoprire pattern e formulare congetture. Nel suo lavoro Some Basic Theorems on the Foundations Kurt Gödel scrisse: "Se la matematica descrive un mondo oggettivo proprio come la fisica, non c'è motivo per cui i metodi induttivi non debbano essere applicati in matematica allo stesso modo in cui sono applicati in fisica." Un altro eminente matematico, Jacques Hadamard, credeva che lo scopo del rigore matematico fosse quello di sanzionare e legittimare le conquiste dell'intuizione1. In questo senso, la matematica sperimentale è uno strumento prezioso per sperimentare e conquistare l'intuizione. Infine, nell'educazione matematica, la matematica sperimentale facilita lo sviluppo dell'intuizione attraverso un coinvolgimento diretto con oggetti matematici.

La matematica sperimentale si basa pesantemente su metodi computazionali associati alla visualizzazione dei dati. Nelle mie esplorazioni, scrivo comunemente codice Python all'interno di Jupyter notebook, che offre strumenti per la computazione numerica, la manipolazione dei dati, la matematica simbolica e la visualizzazione avanzata. L'esplorazione discussa in questo articolo ha origine dal libro "Computational Discovery on Jupyter"2 e inizia investigando gli autovalori di matrici costruite tramite la selezione casuale di elementi da un insieme finito di valori. La domanda principale è: quale è la distribuzione degli autovalori nel piano ℂ quando due elementi in tali matrici vengono designati come parametri reali, t₁ e t₂, e vengono permessi di variare?

Esiste un elegante teorema3, il teorema dei cerchi di Gershgorin, che delinea una regione nel piano complesso che racchiude tutti gli autovalori di una matrice complessa quadrata. La regione di Gershgorin è un'unione di cerchi facilmente calcolabili e disegnabili usando carta e matita. Ma cosa succede quando si tratta di calcolare e visualizzare gli autovalori? Ho cercato di affrontare questa domanda creando un notebook Python in Jupyter4, utilizzando le funzioni di algebra lineare di NumPy e sfruttando le capacità di visualizzazione di Matplotlib.

Il risultato è rappresentato nell'immagine seguente.

Ogni sottografico rappresenta gli autovalori in ℂ per singole matrici, ciascuna campionata con 500.000 valori di t₁ e t₂ nell'intervallo [-20, 20] x [-20, 20]. Le matrici sono generate casualmente, con elementi estratti dall'insieme {0, -i, i, 1, 1/2}. Anche i due elementi sostituiti dai parametri t₁ e t₂ sono selezionati casualmente. Rimane incerto se questa visualizzazione possa fornire nuove intuizioni; potrebbe non rivelare nulla di significativo. Tuttavia, è innegabilmente una bellissima opera d'arte matematica.


  1. George Polya. Mathematical Discovery: On Understanding, Learning and Teaching Problem Solving (Combined Edition). John Wiley, Hoboken, NJ, 1981. 

  2. https://computational-discovery-on-jupyter.github.io/Computational-Discovery-on-Jupyter/index.html 

  3. Gerschgorin, S. "Über die Abgrenzung der Eigenwerte einer Matrix" Izv. Akad. Nauk. USSR Otd. Fiz.-Mat. Nauk 7, 749-754, 1931. 

  4. My Python code: https://github.com/profConradi/eigenfish 

social