Per le esigenze del calcolo digitale i modelli matematici devono essere approssimati con «procedure puramente aritmetiche» grazie a «metodi iterativi o per passi successivi». Con queste parole, intorno al 1950, Herman Goldstine e John von Neumann segnalavano l'importanza degli algoritmi iterativi nel calcolo scientifico su grande scala. Essi osservavano pure che, a causa dell'elevata mole dei calcoli, i metodi computazionali sono condizionati da ciò che è effettivamente realizzabile nel tempo e nello spazio di un processo automatico. Da qui nasceva un nuovo orientamento di ricerca basato sull'analisi della complessità dei problemi numerici. Oggi iterazione e complessità sono diventati una chiave per rispondere a due quesiti fondamentali: che cosa, in generale, può essere automatizzato? E come si possono risolvere i più diversi problemi della matematica applicata, ad esempio quelli posti dalla fluidodinamica e dall'elaborazione di immagini, dall'apprendimento automatico e dai motori di ricerca su rete? Questo libro si propone di attraversare uno dei settori più ardui e intricati della scienza del calcolo in una prospettiva originale: si combinano sistematicamente complessità e iterazione e si esplorano i percorsi che legano, per diverse teorie, le motivazioni originarie ai risultati più recenti. A realizzare la fusione tra analisi numerica e teoria della complessità, già prevista nei primi anni settanta, servono ora, soprattutto, le trasformate veloci e le matrici sparse o con speciale struttura che provengono da modelli matematici o che vengono inserite artificialmente nel calcolo. Da queste matrici dipende infine l'efficienza degli algoritmi iterativi per calcolare il minimo di funzioni e per risolvere sistemi di equazioni lineari e non lineari di grandi dimensioni.