Corso
Esiste una categoria di integrali definiti che semplicemente non cedono al calcolo con carta e penna. Non perché tu stia sbagliando qualcosa. Alcune funzioni, come e^(−x²) o sin(x)/x, non hanno primitive in forma chiusa. Quando succede, serve un approccio diverso: valuta la funzione in un pugno di punti scelti con cura e combina quei valori per stimare l’area sottostante. Questa è la quadratura.
Questo articolo spiega cos’è la quadratura, come funziona il suo schema generale e i metodi principali, dalla intuitiva regola del punto medio all’approccio, sorprendentemente preciso, di Gauss. Vedremo anche i metodi compositi, le fonti di errore, le strategie adattive e come scegliere il metodo giusto per il problema che hai davanti.
Che cos’è la quadratura?
La parola "quadratura" è antica. Viene dal problema geometrico classico di costruire un quadrato con la stessa area di una data figura, che è solo un altro modo di dire "trova l’area". Oggi il termine indica l’approssimazione numerica di un integrale definito.
L’idea centrale è una sostituzione: invece di trovare una primitiva esatta, campioni la funzione f(x) in un insieme di punti chiamati nodi, moltiplichi ciascun valore per un peso associato e sommi i risultati:

I termini quadratura e integrazione numerica significano sostanzialmente la stessa cosa. La quadratura compare più spesso in contesti matematici; integrazione numerica è il termine quotidiano nel calcolo scientifico.
Come funziona la quadratura numerica
Ogni regola di quadratura opera su un intervallo [a, b]. All’interno di quell’intervallo, seleziona un insieme di nodi xᵢ e assegna a ciascuno un peso wᵢ. L’approssimazione è la somma pesata di cui sopra. Ciò che differenzia i metodi è dove vanno i nodi e come vengono assegnati i pesi. Tutto qui. La regola del trapezio, la regola di Simpson e la quadratura gaussiana sono tutte variazioni dello stesso schema.
L’errore di approssimazione è il divario tra la somma pesata e l’integrale esatto. Ogni metodo ne introduce un po’, e la velocità con cui quell’errore si riduce man mano che aggiungi nodi (o rimpicciolisci gli intervalli) è ciò che separa un buon metodo da uno ottimo. Tieni a mente questa cornice: scegliere un metodo di quadratura significa in realtà scegliere come spendere le tue valutazioni della funzione.
Metodi di quadratura comuni
I metodi qui sotto vanno dal più intuitivo al più sofisticato.
Confronto visivo delle regole di integrazione Punto medio, Trapezio e Simpson. Immagine dell’autore.
Regola del punto medio
Prendi il punto medio di [a, b], valuta lì f e moltiplica per la larghezza (b − a). L’assunzione è che il valore della funzione al centro rappresenti la media su tutto l’intervallo.
Sembra quasi troppo semplice, e su un singolo intervallo lo è. Ma ecco la prima sorpresa: la regola del punto medio è esatta per funzioni costanti e lineari, e il suo errore scala come O(h³) per intervallo, dove h = b − a. È in realtà migliore della regola del trapezio su funzioni lisce, cosa che di solito sorprende.
Regola del trapezio
Usa entrambi gli estremi invece del solo centro. Collegali con una retta e calcola l’area del trapezio risultante: (b − a) · [f(a) + f(b)] / 2. È esatta per funzioni lineari, con errore O(h³) per intervallo, dello stesso ordine della regola del punto medio, sebbene con una costante maggiore.
La regola del trapezio è probabilmente il metodo di quadratura più insegnato, e ciò le ha dato una reputazione sproporzionata. Per funzioni ben comportate è discreta. Ma la regola di Simpson composita quasi sempre fa meglio a parità di numero di valutazioni.
Regola di Simpson
Adatta un polinomio quadratico attraverso tre punti: i due estremi e il punto medio. Integra esattamente quel polinomio:

La valutazione extra al centro costa una chiamata di funzione in più, ma il guadagno è reale: la regola di Simpson è esatta per polinomi fino al terzo grado, e l’errore per intervallo scala come O(h⁵), due ordini meglio della regola del trapezio. Per funzioni lisce, è di solito il primo metodo da prendere in considerazione.
Quadratura gaussiana
Qui le cose diventano davvero interessanti. Le regole del punto medio, del trapezio e di Simpson usano nodi equispaziati. La quadratura gaussiana pone una domanda diversa: e se scegliessimo sia le posizioni dei nodi sia i pesi per massimizzare l’accuratezza?
Con n nodi, la quadratura gaussiana (in particolare la variante di Gauss-Legendre) può integrare esattamente qualsiasi polinomio di grado fino a 2n − 1. Due nodi ti danno esattezza per i cubici; cinque nodi gestiscono polinomi di grado 9. I nodi sono le radici dei polinomi di Legendre e si addensano verso gli estremi dell’intervallo invece di essere in posizioni equidistanti. L’accuratezza extra deriva dal fatto di poter muovere i nodi, non da dove capitano. Il loro addensamento vicino agli estremi è un sottoprodotto della matematica, e vedremo sotto perché.
Ecco come si confrontano tutti e quattro i metodi:
|
Metodo |
Approccio |
Errore per intervallo |
Costo computazionale |
Ideale per |
|
Regola del punto medio |
Valutazione al centro |
O(h³) |
1 valut./intervallo |
Funzioni semplici, lisce |
|
Regola del trapezio |
Approssimazione lineare |
O(h³) |
2 valut./intervallo |
Funzioni periodiche |
|
Regola di Simpson |
Approssimazione quadratica |
O(h⁵) |
3 valut./intervallo |
Funzioni lisce |
|
Quadratura gaussiana |
Nodi + pesi ottimali |
O(h^(2n+1)) |
n valut./intervallo |
Alta accuratezza, funzioni lisce |
Metodi di quadratura compositi
Applicare una regola una volta sola all’intero intervallo [a, b] di solito non basta. La soluzione standard: suddividere l’intervallo in n sottointervalli uguali di ampiezza h = (b − a)/n e applicare la regola di base a ciascuno.
Regole composita del punto medio e del trapezio
Per la regola del trapezio composita, valuta f in n+1 punti equidistanti e somma n trapezi. L’errore totale scende a O(h²). Dimezzando h, l’errore si riduce di un fattore quattro. La regola del punto medio composita segue la stessa logica e ha lo stesso ordine di errore globale.
Regola di Simpson composita
La versione composita richiede un numero pari di sottointervalli. Valuta f in n+1 punti e ottieni un errore globale O(h⁴). Dimezzando h l’errore si riduce di un fattore sedici. Ecco perché la regola di Simpson composita è spesso la scelta predefinita quando ti serve un’accuratezza moderata su una funzione liscia.
Il codice Python qui sotto mostra come l’approssimazione si affina man mano che aggiungi sottointervalli per ∫[0 to π] sin(x) dx (valore esatto: 2.0):
import numpy as np
def composite_simpson(func, lower, upper, num_intervals):
"""Approximate integral using composite Simpson's rule."""
if num_intervals % 2 != 0:
raise ValueError("num_intervals must be even")
nodes = np.linspace(lower, upper, num_intervals + 1)
values = func(nodes)
h = (upper - lower) / num_intervals
weights = np.ones(num_intervals + 1)
weights[1:-1:2] = 4 # odd-indexed interior points
weights[2:-2:2] = 2 # even-indexed interior points
return (h / 3) * np.dot(weights, values)
exact = 2.0
for n in [4, 8, 16, 32]:
approx = composite_simpson(np.sin, 0, np.pi, n)
print(f"n={n:3d}: approx={approx:.10f}, error={abs(approx - exact):.2e}")
Con appena 32 intervalli, l’errore scende sotto 10⁻⁶. Questa è convergenza O(h⁴).
Quadratura gaussiana
L’idea alla base della quadratura gaussiana merita più di una riga in tabella.
Perché i nodi equispaziati non sono sempre ottimali
Quando i nodi sono in punti equidistanti, stai spendendo il budget di valutazioni in un modo che potrebbe non rispecchiare la difficoltà dell’integranda. Alcune regioni richiedono più risoluzione; altre sprecano valutazioni su tratti piatti. La quadratura gaussiana aggira il problema scegliendo nodi che sono dimostrabilmente ottimali per il grado del polinomio che puoi integrare esattamente.
Per n nodi, la regola di Gauss-Legendre seleziona come nodi le n radici del n-esimo polinomio di Legendre Pₙ(x), quindi calcola i pesi in modo che qualsiasi polinomio di grado ≤ 2n − 1 sia integrato senza errore. In pratica, numpy.polynomial.legendre.leggauss(n) restituisce entrambi. I nodi si addensano verso gli estremi di [−1, 1], l’intervallo di riferimento standard, dove l’errore di interpolazione polinomiale tende a essere maggiore e dove una densità di campionamento extra rende di più.
Quando usarla
La quadratura gaussiana dà il meglio quando hai una funzione liscia e analitica e ti serve alta accuratezza con poche valutazioni. Cinque punti di Gauss-Legendre possono superare la regola di Simpson composita con dozzine di intervalli su integrande ben comportate. Ma è poco adatta a funzioni con spigoli, discontinuità, o dati disponibili solo in punti equispaziati fissi. In questi casi, il posizionamento accurato dei nodi gioca contro di te.
Errore e accuratezza nella quadratura
Nessun metodo numerico ha un lasciapassare sull’errore. Due sorgenti distinte influenzano ogni risultato di quadratura, e capirle entrambe è essenziale per sapere quando fidarti della tua risposta.
Le fonti di errore includono:
- Errore di discretizzazione (chiamato anche errore di troncamento) è il divario tra l’integrale esatto e ciò che restituisce la tua regola di quadratura in aritmetica perfetta. È ciò che catturano le formule O(hᵏ). Si riduce aggiungendo più punti o diminuendo la larghezza degli intervalli.
- Errore in virgola mobile è un problema diverso. Sommare molte quantità piccole in aritmetica a precisione finita introduce arrotondamenti che non si riducono con h e possono addirittura crescere. Con regole composite che usano migliaia di sottointervalli, potresti raggiungere un pavimento in cui il rumore in virgola mobile domina e aggiungere intervalli non aiuta più. Per la maggior parte dei compiti di calcolo scientifico, raggiungerai la tolleranza desiderata ben prima di quel pavimento. Ma esiste.
Regolarità della funzione, ampiezza dell’intervallo e scelta del metodo contribuiscono tutti all’errore di discretizzazione. Una funzione irregolare con caratteristiche nette richiede più intervalli o un approccio adattivo.
Quadratura adattiva
Una griglia uniforme spreca valutazioni quando l’integranda è liscia quasi ovunque ma complicata in pochi punti.
Come funziona
Applica una regola di quadratura a un intervallo, poi applica una regola di ordine superiore (o la stessa regola sulle due metà) e confronta. La differenza stima l’errore locale. Se è sotto la tolleranza, accetta l’intervallo. Altrimenti, dividilo e ricorri su ciascuna metà. Ripeti finché ogni sottointervallo non soddisfa la tolleranza.
Il guadagno di efficienza rispetto all’affinamento uniforme può essere grande quando l’integranda ha caratteristiche isolate: un picco stretto, uno spigolo, un’oscillazione rapida circondata da territorio liscio. I metodi adattivi concentrano le valutazioni esattamente dove la funzione le richiede.
scipy.integrate.quad()
In Python, scipy.integrate.quad() implementa la quadratura gaussiana adattiva (in particolare l’algoritmo DQAGSE di QUADPACK). Passa la tua funzione e i limiti; ottieni in uscita la stima e un limite dell’errore. Per la maggior parte degli integrali monodimensionali, è lo strumento giusto, senza bisogno di regolazioni manuali.
from scipy import integrate
import numpy as np
# Integrate a function with a peak near x=0.5
def peaked_func(x):
return np.exp(-100 * (x - 0.5)**2)
result, error_bound = integrate.quad(peaked_func, 0, 1)
print(f"Estimate: {result:.10f}")
print(f"Error bound: {error_bound:.2e}")
quad() gestisce senza problemi questo picco stretto. Una regola di Simpson uniforme avrebbe bisogno di centinaia di sottointervalli per eguagliarla.
Come scegliere un metodo di quadratura
Inizia con scipy.integrate.quad() per integrali monodimensionali in Python, a meno che tu non abbia un motivo per non farlo. È adattivo, accurato e ben testato. Tutto ciò che segue è rilevante quando implementi qualcosa da solo, lavori in un linguaggio senza una buona libreria adattiva o stai ottimizzando per un caso specifico.
- Funzioni lisce, analitiche, con formula nota: la quadratura gaussiana offre la massima accuratezza per valutazione. Se ti serve un’accuratezza moderata e semplicità, la regola di Simpson composita è un’ottima scelta predefinita.
- Funzioni con spigoli o discontinuità: i metodi equispaziati (trapezio, Simpson) tendono a superare la quadratura gaussiana qui, perché il posizionamento fisso dei nodi non viene disturbato dall’irregolarità. Dividi l’intervallo d’integrazione alla discontinuità nota e tratta separatamente ogni pezzo.
- Dati in punti fissi ed equispaziati: la quadratura gaussiana è esclusa. Non puoi valutare la funzione in nodi arbitrari, quindi usa invece la regola del trapezio composita o la regola di Simpson composita.
- Integrali in dimensioni superiori: la quadratura incappa rapidamente nella maledizione della dimensionalità. Con n punti per dimensione e d dimensioni, servono nᵈ valutazioni totali. Dieci dimensioni con dieci punti ciascuna fanno 10¹⁰ valutazioni, impossibile. Il Monte Carlo scala molto meglio sopra circa cinque dimensioni, quindi lì avviene il cambio.
Quadratura vs. metodi numerici correlati
La quadratura non esiste nel vuoto. Aiuta vedere dove si colloca rispetto agli altri strumenti che è probabile tu stia considerando.
Quadratura vs. integrazione analitica
L’integrazione analitica trova una primitiva esatta; la quadratura approssima un numero. Se esiste una primitiva esatta e puoi trovarla, usala. La quadratura si guadagna il posto quando l’integrazione esatta è impossibile o impraticabile.
Quadratura vs. integrazione Monte Carlo
Entrambe approssimano integrali definiti, ma in modo diverso. La quadratura è deterministica: valuta f in nodi fissi e pre-scelti, con convergenza legata alla regolarità della funzione e al numero di nodi. Il Monte Carlo estrae campioni casuali e li media, con errore che scala come O(1/√N) indipendentemente dalla dimensione. È una convergenza più lenta a bassa dimensione, ma indipendente dalla dimensione, il che lo rende la scelta pratica sopra circa cinque dimensioni.
Quadratura vs. interpolazione
Alcune regole di quadratura, inclusa quella di Simpson, funzionano adattando un polinomio attraverso i punti di valutazione e integrandolo esattamente. Ma l’obiettivo è diverso dall’interpolazione. L’interpolazione ricostruisce la funzione; la quadratura vuole solo un numero. Il polinomio è uno strumento, non il risultato.
Conclusione
Ciò che trovo soddisfacente della quadratura è quanto si riesca a ottenere da un’unica idea organizzativa. Ogni metodo qui, punto medio, trapezio, Simpson, Gauss, è in realtà solo una risposta diversa alla stessa domanda: dato un budget di valutazioni della funzione, dove le metti e come le pesi?
Adattare polinomi migliori attraverso i punti di valutazione riduce velocemente l’errore. Spostarsi verso nodi scelti in modo ottimale strizza ancora più accuratezza dallo stesso budget. I metodi adattivi poi mettono insieme tutto, indirizzando le valutazioni esattamente dove la funzione ne ha bisogno.
In Python, scipy.integrate.quad() è la scelta giusta di default per i problemi 1D. Tutto il resto in questo articolo serve quando vuoi capire cosa succede sotto il cofano o quando stai implementando qualcosa da solo. Se vuoi continuare a costruire competenze numeriche con SciPy, segui il nostro corso Introduction to Optimization in Python.
FAQs
What is quadrature in mathematics?
La quadratura è l’approssimazione numerica di un integrale definito. Invece di trovare una primitiva analiticamente, valuti la funzione in un insieme di punti scelti (nodi) e combini quei valori con pesi per stimare l’integrale. Il termine deriva dal problema classico di trovare l’area sotto una curva.
What’s the difference between the trapezoidal rule and Simpson’s rule?
La regola del trapezio approssima l’integranda con una retta tra gli estremi—è esatta per funzioni lineari. La regola di Simpson adatta un quadratico attraverso tre punti (i due estremi più il punto medio), risultando esatta per polinomi fino al terzo grado. Per funzioni lisce, la regola di Simpson converge molto più rapidamente: il suo errore scala come O(h⁵) per intervallo contro O(h³) per la regola del trapezio.
When should I use Gaussian quadrature instead of composite Simpson’s rule?
Usa la quadratura gaussiana quando puoi valutare f in qualunque punto e ti serve alta accuratezza con poche valutazioni—specialmente per funzioni lisce e analitiche. La regola di Simpson composita tende a funzionare meglio quando i tuoi dati si trovano in punti fissi ed equispaziati, o quando la funzione ha spigoli o discontinuità che manderebbero fuori fase il posizionamento dei nodi gaussiani. Per la maggior parte del lavoro pratico, i metodi adattivi come scipy.integrate.quad() fanno questa scelta per te.
What does “adaptive quadrature” mean?
Invece di distribuire i punti di valutazione in modo uniforme, la quadratura adattiva li concentra dove l’errore di approssimazione è grande. Stima l’errore locale su ciascun sottointervallo, suddivide ogni intervallo che supera una tolleranza e ripete finché l’errore totale non è accettabile. Questo la rende efficiente per integrande lisce quasi ovunque ma con regioni isolate e difficili.
How do I compute a numerical integral in Python?
Lo strumento standard è scipy.integrate.quad(). Passa la funzione e i limiti di integrazione, e restituisce l’approssimazione più una stima dell’errore. Per limiti infiniti, passa np.inf o -np.inf. Per integrali multidimensionali, usa dblquad() o tplquad().
Why does quadrature fail for high-dimensional integrals?
Le regole di quadratura posizionano i nodi su una griglia, quindi il numero totale di valutazioni della funzione scala come nᵈ—dove n è il numero di punti per dimensione e d è il numero di dimensioni. In 10 dimensioni con 10 punti ciascuna, sono 10¹⁰ valutazioni. Questo aumento esponenziale è chiamato maledizione della dimensionalità. L’integrazione Monte Carlo lo evita perché il suo tasso d’errore è O(1/√N) indipendentemente dalla dimensione, dove N è il numero totale di campioni casuali.
What’s the difference between quadrature and Monte Carlo integration?
La quadratura è deterministica: valuta la funzione in nodi fissi e pre-scelti, con tassi di convergenza che dipendono dal metodo e dalla regolarità della funzione—tipicamente da O(h²) a O(h⁵) per le regole composite. Il Monte Carlo è randomizzato: estrae campioni uniformemente e li media, con errore che scala come O(1/√N). La quadratura vince in una o due dimensioni. Il Monte Carlo diventa la scelta pratica intorno a cinque-dieci dimensioni.
What are Gaussian nodes and weights?
I nodi gaussiani sono gli zeri di specifici polinomi ortogonali—per la quadratura di Gauss-Legendre, sono le radici del n-esimo polinomio di Legendre. I pesi sono scelti in modo che la regola integri esattamente polinomi fino al grado 2n − 1. A differenza delle griglie equispaziate, i nodi gaussiani si addensano verso il centro dell’intervallo e si tengono lontani dagli estremi. Non serve calcolarli a mano; numpy.polynomial.legendre.leggauss() li fornisce direttamente.

