Metodi di Runge-Kutta
Appunti di calcolo numerico
Metodi di Runge-Kutta
Il metodo di Eulero, sebbene utile in molti casi, ha limitazioni di accuratezza ed efficienza, soprattutto per problemi di grandi dimensioni, ad alta dimensionalità o con equazioni differenziali rigide. Per ottenere risultati più precisi e gestire tolleranze d’errore più stringenti, ci affidiamo ai metodi di Runge-Kutta.
Problema di Cauchy e Formulazione Generale
Consideriamo un problema di Cauchy generico per un’equazione differenziale ordinaria (ODE):
\left\{ \begin{aligned} y' &= f(x,y), \\ y(a) &= y_a. \end{aligned} \right.
Un metodo di Runge-Kutta a un passo per approssimare la soluzione di questo problema può essere scritto come:
y_{k+1} = \Phi(x_k, y_k, h) = y_k + A h f(x_k, y_k) + B h f(x_k + C h, y_k + D h f(x_k, y_k)).
dove h è il passo di discretizzazione e i coefficienti A, B, C, D devono essere scelti per garantire l’accuratezza del metodo.
Calcolo dell’Errore Locale di Troncamento
Per valutare l’accuratezza del metodo, calcoliamo l’errore locale di troncamento \tau(h), che rappresenta la differenza tra la soluzione esatta y(x+h) e la stima data dal metodo \Phi(x, y(x), h):
\begin{aligned} \tau(h) &= \color{blue}y(x+h)-\color{DarkGreen}\Phi(x,y(x),h)\\ & = {\color{blue}y(x+h)}- \color{DarkGreen} y(x) - A h f(x,y(x)) - B h f(x+Ch,y(x)+Dh f(x,y(x))) \end{aligned}
dove y(x) è la soluzione esatta per la quale possiamo scrivere la serie di Taylor
y(x+h) = y(x) + y^\prime(x) h + y^{\prime\prime}(x)\frac{h^2}{2}+ \cdots + y^{(p)}(x)\frac{h^p}{p!}+\mathcal{O}(h^{p+1})
Dalla ODE possiamo scrivere i primi due termini della serie come segue
y(x+h) = y(x) + \underbrace{f(x,y(x))}_{y^\prime(x)} h + \underbrace{\left( \dfrac{\partial f(x,y(x))}{\partial x}+ \dfrac{\partial f(x,y(x))}{\partial y}f(x,y(x)) \right)}_{y^{\prime\prime}(x)}\frac{h^2}{2}+ \mathcal{O}(h^3)
Sviluppo dell’Errore Locale di Troncamento
Sostituiamo questa espansione in \tau(h):
\begin{aligned} \tau(h) & = {\color{blue} \cancel{y(x)} + f(x,y(x)) h+ \left(\dfrac{\partial f(x,y(x))}{\partial x}+ \dfrac{\partial f(x,y(x))}{\partial y}f(x,y(x)) \right) \dfrac{h^2}{2}+\mathcal{O}(h^3)} \\ & - \color{DarkGreen} \cancel{y(x)} - A h f(x,y(x))\\ & \color{DarkGreen} - B h \left( f(x,y(x))+ \dfrac{\partial f(x,y(x))}{\partial x}Ch+ \dfrac{\partial f(x,y(x))}{\partial y}Dh f(x,y(x))+ \mathcal{O}(h^2) \right) \\ & = h\cdot{\color{DarkRed}f(x,y(x))}(1-A-B) + \dfrac{h^2}{2}\cdot{\color{DarkRed}\dfrac{\partial f(x,y(x))}{\partial x}} \left(1-2BC\right)\\ &+ \dfrac{h^2}{2}\cdot{\color{DarkRed}\dfrac{\partial f(x,y(x))}{\partial y}f(x,y(x))} \left(1-2BD\right)+ \mathcal{O}(h^3) \end{aligned}
Per ottenere un metodo di secondo ordine, imponiamo le condizioni seguenti:
\left\{ \begin{aligned} 1-A-B & = 0 \\ 1-2BC & = 0 \\ 1-2BD & = 0 \end{aligned} \right.
Queste condizioni assicurano che l’errore di troncamento \tau(h) = \mathcal{O}(h^3), quindi il metodo globale sarà del secondo ordine.
Soluzioni Parametriche e Forma Generale dei Metodi di Runge-Kutta del Secondo Ordine
Risolvendo il sistema di equazioni sopra, possiamo esprimere i parametri A, C, e D in funzione di B come segue:
A = 1 - B, \qquad C = D = \frac{1}{2B}.
Pertanto, i metodi di Runge-Kutta del secondo ordine assumono la forma generale:
y_{k+1} = y_k + (1 - B) h f(x_k, y_k) + B h f\left(x_k + \frac{h}{2B}, y_k + \frac{h}{2B} f(x_k, y_k)\right).
Definiamo ora:
b_1 = 1 - B, \quad b_2 = B, \quad c_1 = 0, \quad c_2 = \frac{1}{2B}, \quad A_{21} = \frac{1}{2B}.
Possiamo riscrivere il metodo come segue:
\begin{aligned} y_{k+1} &= y_k + b_1 K_1 + b_2 K_2 \\[1em] K_1 &= h f(x_k + c_1 h, y_k) \\[1em] K_2 &= h f\left(x_k + c_2 h, y_k + A_{21} K_1\right) \end{aligned}
Questa è la formulazione classica dei metodi di Runge-Kutta, che permette di approssimare soluzioni di ODE fino a un errore del secondo ordine con combinazioni lineari delle valutazioni di f in punti intermedi.
Estensione della Procedura
Il metodo di Runge-Kutta può essere esteso includendo termini aggiuntivi per ottenere una maggiore precisione. Consideriamo una formulazione estesa del metodo:
\begin{aligned} y_{k+1} &= \Phi(x_k, y_k, h) \\ &= y_k + A h f(x_k + B h, y_k + C h f(x_k, y_k)) \\ &\qquad + D h f(x_k + E h, y_k + F h f(x_k, y_k)). \end{aligned}
Anche in questo caso, utilizzando l’espansione di Taylor e minimizzando l’errore locale di troncamento, otteniamo un sistema di condizioni non lineari sui coefficienti A, B, C, D, E e F che devono essere soddisfatte. Queste condizioni conducono a intere famiglie di metodi di Runge-Kutta con proprietà diverse in termini di accuratezza e stabilità.
Un metodo di Runge-Kutta generico è costruito a partire da una formula di avanzamento nella forma generale:
\begin{aligned} y_{k+1} &= y_k + \sum_{i=1}^{s} b_i K_i, \\ \text{dove} & \\ K_1 &= h f\Big(t_k + h c_1, y_k + \sum_{j=1}^{s} a_{1j} K_j\Big), \\[1em] K_2 &= h f\Big(t_k + h c_2, y_k + \sum_{j=1}^{s} a_{2j} K_j\Big), \\[1em] & \vdots \\[1em] K_s &= h f\Big(t_k + h c_s, y_k + \sum_{j=1}^{s} a_{sj} K_j\Big). \end{aligned}
Questa formulazione introduce un totale di 2s + s^2 coefficienti, dove:
- b_1, b_2, \ldots, b_s rappresentano i pesi per i termini K_i,
- c_1, c_2, \ldots, c_s rappresentano i coefficienti temporali,
- a_{ij} (con i, j = 1, 2, \ldots, s) rappresentano i coefficienti delle combinazioni lineari delle valutazioni di f nei punti intermedi.
Per determinare questi coefficienti, si applica la procedura della serie di Taylor in più variabili e si confrontano i termini della serie con l’espansione della soluzione esatta. Questo permette di ridurre l’errore locale di troncamento a un ordine \mathcal{O}(h^p) desiderato.
Poiché il calcolo di queste condizioni può essere complesso, esistono già tabelle che forniscono le condizioni di ordine per i coefficienti b_i, c_j, e a_{ij} fino a ordini molto elevati.
Condizioni di Ordine per i Metodi di Runge-Kutta
Ordine 1 (Metodo di Eulero)
Un metodo di Runge-Kutta ha ordine 1 se soddisfa la seguenti condizioni:
\qquad\displaystyle\sum_{j=1}^{s} a_{ij} = c_i,\qquad i=1,2,\ldots,s
\qquad\displaystyle\sum_{i=1}^{s} b_i = 1
Ordine 2
Un metodo di Runge-Kutta ha ordine 2 se soddisfa in aggiunta la seguente condizione:
- \qquad\displaystyle\sum_{i=1}^{s} b_i c_i = \dfrac{1}{2}
Ordine 3
Un metodo di Runge-Kutta ha ordine 3 se soddisfa in aggiunta le seguenti condizioni:
\qquad\displaystyle\sum_{i=1}^{s} b_i c_i^2 = \dfrac{1}{3}
\qquad\displaystyle\sum_{i,j=1}^{s} b_i a_{ij} c_j = \dfrac{1}{6}
Ordine 4
Un metodo di Runge-Kutta ha ordine 4 se soddisfa in aggiunta le seguenti condizioni:
\qquad\displaystyle\sum_{i=1}^{s} b_i c_i^3 = \dfrac{1}{4}
\qquad\displaystyle\sum_{i,j=1}^{s} b_i c_i a_{ij} c_j = \dfrac{1}{8}
\qquad\displaystyle\sum_{i,j=1}^{s} b_i a_{ij} c_j^2 = \dfrac{1}{12}
\qquad\displaystyle\sum_{i,j,k=1}^{s} b_i a_{ij} a_{jk} c_k = \dfrac{1}{24}
Ordini Superiori
Le condizioni di ordine per p > 4 diventano sempre più complesse e richiedono un numero maggiore di condizioni sui coefficienti.
Ordine 5 richiede 17 condizioni.
Ordine 6 richiede 37 condizioni.
Ordine 7 richiede 85 condizioni.
Ordine 8 richiede 200 condizioni.
Ordine 9 richiede 486 condizioni.
Ordine 10 richiede 1205 condizioni. \large \color{magenta} \left. \begin{aligned} &\color{DarkGreen}\underbrace{ \color{DarkRed}\overbrace{\color{blue}\overbrace{ \underbrace{\color{blue}\bm{A}\mathbf{1}=\bm{c}}_{\textrm{consistenza}},\quad \color{blue}\bm{b}\cdot\mathbf{1}=1, }^{\textrm{ordine 1}}\quad \color{DarkRed}\bm{b}\cdot\bm{c} = \frac{1}{2}}^{\textrm{ordine 2}},\quad \color{DarkGreen}\bm{b}\cdot\bm{c}^2 = \frac{1}{3},\quad \bm{b}\cdot\bm{d} = \frac{1}{6} }_{\textrm{ordine 3}} \\ & \color{magenta}\bm{b}\cdot\bm{c}^3 = \frac{1}{4},\quad (\bm{b}\otimes\bm{c})\cdot\bm{d} = \frac{1}{8},\quad \bm{e}\cdot\bm{c}^2 = \frac{1}{12},\quad \bm{e}\cdot\bm{d} = \frac{1}{24} \quad \end{aligned} \right\} _{\color{magenta}\textrm{ordine 4}}
\bm{d} = \bm{A}\bm{c}, \qquad \bm{e} = \bm{A}^T\bm{b}, \qquad \bm{c}^2 = \bm{c}\otimes\bm{c},\qquad \bm{c}^3 = \bm{c}\otimes\bm{c}\otimes\bm{c}
Di seguito, riportiamo una lista dei principali metodi di Runge-Kutta comunemente utilizzati.
Metodi di Runge-Kutta Espliciti
La forma generale di un metodo di Runge-Kutta esplicito è un metodo a un passo che approssima la soluzione utilizzando più fasi intermedie all’interno di ciascun passo temporale. Il metodo è rappresentato come segue:
\begin{aligned} z_{k+1} &= z_k + \sum_{i=1}^{s} b_i K_i, \\ &\left\{\begin{aligned} K_1 &= h f\Big(t_k, z_k\Big), \\[1em] K_2 &= h f\Big(t_k + h c_2, z_k + a_{21} K_1\Big), \\[1em] K_3 &= h f\Big(t_k + h c_3, z_k + a_{31} K_1 + a_{32} K_2\Big), \\[1em] \vdots & \\[1em] K_s &= h f\Big(t_k + h c_s, z_k + \sum_{j=1}^{s-1} a_{sj} K_j\Big), \end{aligned} \right. \end{aligned}
dove K_1,K_2,\ldots,K_s sono valori intermedi chiamati stadi, e s è il numero di stadi. Le costanti a_{ij}, b_i e c_i definiscono il metodo di Runge-Kutta specifico e sono scelte per raggiungere un’accuratezza di ordine superiore. Il metodo calcola più somme pesate delle valutazioni della funzione (i valori K_i) per ottenere approssimazioni più accurate della soluzione.
I valori t_k+hc_i rappresentano punti di quadratura nell’intervallo temporale [t_k,t_{k+1}], e le quantità K_i/h approssimano i valori della funzione in questi punti.
Tableau di Butcher
Per semplificare la notazione dei metodi di Runge-Kutta, i coefficienti a_{ij}, b_i e c_i vengono spesso riassunti in una forma compatta chiamata tableau di Butcher. Il tableau per il metodo di Runge-Kutta esplicito è dato da:
\begin{array} {c|ccccc} 0 & 0 & 0 & 0 & 0 & 0 \\ c_2 & a_{21} & 0 & 0 & 0 & 0 \\ c_3 & a_{31} & a_{32} & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \ddots & 0 & 0 \\ c_s & a_{s1} & a_{s2} & \ldots & a_{s,s-1} & 0 \\ \hline & b_1 & b_2 & \ldots & b_{s-1} & b_s \end{array}
Euler Esplicito
Il metodo di Euler esplicito rappresentato utilizzando un tableau di Butcher:
\def\arraystretch{1.5} \begin{array}{c|c} 0 & 0 \\ \hline & 1 \end{array} \tag{1}
Metodo del Punto Medio
Il Metodo del Punto Medio, noto anche come Metodo di Collatz, è una variante del metodo di Euler esplicito. Questo approccio è classificato come metodo del secondo ordine e consiste in due fasi, consentendo di migliorare l’accuratezza nell’integrazione numerica.
\def\arraystretch{1.5} \begin{array}{c|cc} 0 & 0 & 0 \\ 1/2 & 1/2 & 0 \\ \hline & 0 & 1 \end{array} \tag{2}
Metodo di Heun
Il Metodo di Heun, spesso noto come la regola del trapezio esplicita, rappresenta un miglioramento rispetto al metodo di Euler esplicito standard. Questa tecnica è classificata come un metodo del secondo ordine e utilizza due fasi per ottenere una maggiore accuratezza nell’integrazione numerica.
\def\arraystretch{1.5} \begin{array}{c|cc} 0 & 0 & 0 \\ 1 & 1 & 0 \\ \hline & 1/2 & 1/2 \end{array} \tag{3}
Metodo di Ralston
Il metodo di Ralston è una tecnica del secondo ordine che utilizza due fasi, progettata specificamente per ottenere un limite minimo all’errore locale.
\def\arraystretch{1.5} \begin{array}{c|cc} 0 & 0 & 0 \\ 2/3 & 2/3 & 0 \\ \hline & 1/4 & 3/4 \end{array} \tag{4}
Metodo generico del secondo ordine
\def\arraystretch{1.5} \begin{array}{c|cc} 0 & 0 & 0 \\ \alpha & \alpha & 0 \\ \hline\\[-1em] & 1-\dfrac{1}{2\alpha} & \dfrac{1}{2\alpha} \end{array} \qquad \alpha\in(0,1) \tag{5}
Metodo del terzo ordine di Runge-Kutta (RK3)
\def\arraystretch{1.5} \begin{array} {c|ccc} 0 & 0 & 0 & 0 \\ 1/2 & 1/2 & 0 & 0 \\ 1 & -1 & 2 & 0 \\ \hline & 1/6 & 2/3 & 1/6 \end{array} \tag{6}
Metodo del terzo ordine di Heun
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ 1/3 & 1/3 & 0 & 0 \\ 2/3 & 0 & 2/3 & 0 \\ \hline & 1/4 & 0 & 3/4 \end{array} \tag{7}
Metodo del terzo ordine di Ralston
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ 1/2 & 1/2 & 0 & 0 \\ 3/4 & 0 & 3/4 & 0 \\ \hline & 2/9 & 1/3 & 4/9 \end{array} \tag{8}
Strong Stability Preserving Runge-Kutta (SSPRK3)
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1/2 & 1/4 & 1/4 & 0 \\ \hline & 1/6 & 1/6 & 2/3 \end{array} \tag{9}
Metodo generico del terzo ordine
Con \alpha \neq 0, 2/3, 1:
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ \alpha & \alpha & 0 & 0 \\ 1 & 1+\dfrac{1-\alpha}{\alpha(3\alpha-2)} & -\dfrac{1-\alpha}{\alpha(3\alpha-2)} & 0 \\[1em] \hline \\[-1em] & \dfrac{1}{2}-\dfrac{1}{6\alpha} & \dfrac{1}{6\alpha(1-\alpha)} & \dfrac{2-3\alpha}{6\alpha(1-\alpha)} \end{array} \tag{10}
Metodo di Runge-Kutta classico (RK4)
\def\arraystretch{1.5} \begin{array} {c|cccc} 0 & 0 & 0 & 0 & 0 \\ 1/2 & 1/2 & 0 & 0 & 0 \\ 1/2 & 0 & 1/2 & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 \\ \hline & 1/6 & 2/6 & 2/6 & 1/6 \end{array} \tag{11}
Ralston metodo del quarto ordine
È un metodo del secondo ordine con due stadi, progettato per minimizzare l’errore di troncamento.
\def\arraystretch{1.5} \begin{array}{c|ccccc} 0 & 0 & 0 & 0 & 0 \\ 2/5 & 2/5 & 0 & 0 & 0 \\ c_3 & a_{3,1} & a_{3,2} & 0 & 0 \\ 1 & a_{4,1} & a_{4,2} & a_{4,3} & 0 \\ \hline\\ & b_1 & b_2 & b_3 & b_4 \end{array} \tag{12}
dove
\begin{aligned} b_1 & = \dfrac{263}{1812}+\dfrac{2}{151}\sqrt{5}\\ b_2 & = \dfrac{125}{3828}-\dfrac{250}{957}\sqrt{5} \\ b_3 & = \dfrac{3426304}{5924787}+\dfrac{553984}{1974929}\sqrt{5} \\ b_4 & = \dfrac{10}{41}-\dfrac{4}{123}\sqrt{5} \\ c_3 & = \dfrac{7}{8}-\dfrac{3}{16}\sqrt{5} \\ a_{3,1} & = \dfrac{357}{256}\sqrt{5}-\dfrac{2889}{1024} \\ a_{4,1} & = \dfrac{1047}{3020}\sqrt{5}-\dfrac{673}{1208} \\ a_{3,2} &= \dfrac{3785}{1024}-\dfrac{405}{256}\sqrt{5} \\ a_{4,2} &= -\dfrac{975}{2552}-\dfrac{1523}{1276}\sqrt{5} \\ a_{4,3} &= \dfrac{93408}{48169}+\dfrac{203968}{240845}\sqrt{5} \end{aligned}
Metodo del quarto ordine con regola 3/8
\def\arraystretch{1.5} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ 1/3 & 1/3 & 0 & 0 & 0 \\ 2/3 & -1/3 & 1 & 0 & 0 \\ 1 & 1 & -1 & 1 & 0 \\ \hline & 1/8 & 3/8 & 3/8 & 1/8 \end{array}
Metodi di Runge-Kutta Impliciti
Finora abbiamo discusso esclusivamente dei metodi di Runge-Kutta espliciti. Tuttavia, quando si affrontano equazioni rigide, è consigliabile utilizzare i metodi di Runge-Kutta impliciti.
Il metodo di Runge-Kutta implicito generico è un metodo a un passo caratterizzato dalla seguente rappresentazione:
\begin{aligned} z_{k+1} &= z_k + \sum_{i=1}^{s}b_iK_i \\ &\left\{\begin{aligned} K_1 &= hf\Big(t_k+hc_1,z_k + \displaystyle\sum_{j=1} ^{s}a_{1j}K_j\Big) \\[1em] K_2 &= hf\Big(t_k+hc_2,z_k + \displaystyle\sum_{j=1} ^{s}a_{2j}K_j\Big) \\[1em] \vdots \\[1em] K_s &= hf\Big(t_k+hc_s,z_k + \displaystyle\sum_{j=1} ^{s}a_{sj}K_j\Big) \end{aligned} \right. \end{aligned} \tag{13}
Il tableau per Equazione 13 sarà quindi della forma:
\def\arraystretch{1.5} \begin{array} {c|cccc} c_1 & a_{11} & a_{12} & \ldots & a_{1s} \\ c_2 & a_{21} & a_{22} & \ldots & a_{2s} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ c_s & a_{s1} & a_{s2} & \ldots & a_{ss} \\ \hline & b_1 & b_2 & \ldots & b_ss \end{array}
Metodo di Eulero Implicito
Il metodo di Eulero implicito rappresentato utilizzando un tableau:
\def\arraystretch{1.5} \begin{array}{c|c} 1 & 1 \\ \hline & 1 \end{array} \tag{14}
Metodo del Punto Medio Implicito
Il metodo del punto medio implicito è un’adattamento del metodo di Eulero esplicito, spesso chiamato metodo di Collatz. Si tratta di un metodo del secondo ordine caratterizzato da due stadi, che offre una maggiore precisione nella risoluzione delle equazioni differenziali ordinarie.
Metodo originale y_{k+1} = y_k + h f\left( x_k + \frac{1}{2}h, \dfrac{y_k+y_{k+1}}{2} \right)
formulazione come Runge-Kutta \begin{aligned} y_{k+1} & = y_k + K_1 \\ K_1 &= h f\left( x_k + \frac{1}{2}h, \dfrac{y_{k+1}+y_k}{2} \right) \\ &= h f\left( x_k + \frac{1}{2}h, y_k + \dfrac{y_{k+1}-y_k}{2} \right) \\ &= h f\left( x_k + \frac{1}{2}h, y_k + \frac{1}{2}K_1\right) \end{aligned}
per cui il tableau diventa \def\arraystretch{1.5} \begin{array}{c|c} 1/2 & 1/2 \\ \hline & 1 \end{array} \tag{15}
Metodo di Crank-Nicolson
Il metodo di Crank-Nicolson corrisponde alla regola trapezoidale implicita.
Metodo originale y_{k+1} = y_k + \dfrac{1}{2}h \left(f( x_k,y_k)+f( x_{k+1},y_{k+1})\right)
formulazione come Runge-Kutta \begin{aligned} y_{k+1} & = y_k + \frac{1}{2}K_1+ \frac{1}{2}K_2 \\ K_1 &= h f( x_k,y_k) \\ K_2 &= h f( x_k + h, y_{k+1}) \\ &= h f\left( x_k + h, y_k + \frac{1}{2}K_1+ \frac{1}{2}K_2\right) \\ \end{aligned}
per cui il tableau diventa
\def\arraystretch{1.5} \begin{array}{c|cc} 0 & 0 & 0 \\ 1 & 1/2 & 1/2 \\ \hline & 1/2 & 1/2 \end{array} \tag{16}
Metodi di Gauss-Legendre
Questi metodi si basano sui punti della quadratura di Gauss-Legendre.
Metodo di Gauss-Legendre del quarto ordine
\def\arraystretch{3} \begin{array}{c|cc} \dfrac{1}{2}-\dfrac{\sqrt3}{6} & \dfrac{1}{4} & \dfrac{1}{4}-\dfrac{\sqrt3}{6} \\ \dfrac{1}{2}+\dfrac{\sqrt3}{6} & \dfrac{1}{4}+\dfrac{\sqrt3}{6} & \dfrac{1}{4} \\ \hline & \dfrac{1}{2} & \dfrac{1}{2} \\ & \dfrac{1}{2}+\dfrac{\sqrt{3}}{2} & \dfrac{1}{2}-\dfrac{\sqrt{3}}{2} \end{array} \tag{17}
Metodo di Gauss-Legendre del sesto ordine
\def\arraystretch{3} \begin{array}{c|ccc} \dfrac{1}{2} - \dfrac{\sqrt{15}}{10} & \dfrac{5}{36} & \dfrac{2}{9}- \dfrac{\sqrt{15}}{15} & \dfrac{5}{36} - \dfrac{\sqrt{15}}{30} \\ \dfrac{1}{2} & \dfrac{5}{36} + \dfrac{\sqrt{15}}{24} & \dfrac{2}{9} & \dfrac{5}{36} - \dfrac{\sqrt{15}}{24} \\ \dfrac{1}{2} + \dfrac{\sqrt{15}}{10} & \dfrac{5}{36} + \dfrac{\sqrt{15}}{30} & \dfrac{2}{9} + \dfrac{\sqrt{15}}{15} & \dfrac{5}{36} \\[1em] \hline & \dfrac{5}{18} & \dfrac{4}{9} & \dfrac{5}{18} \\ & -\dfrac{5}{6} & \dfrac{8}{3} & -\dfrac{5}{6} \end{array} \tag{18}
Metodi di Lobatto
Metodo di Lobatto IIIA del quarto ordine
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ 1/2 & 5/24& 1/3 & -1/24 \\ 1 & 1/6 & 2/3 & 1/6 \\ \hline & 1/6 & 2/3 & 1/6 \end{array} \tag{19}
Lobatto IIIB del quarto ordine
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 1/6 & -1/6 & 0 \\ 1/2 & 1/6 & 1/3 & 0 \\ 1 & 1/6 & 5/6 & 0 \\ \hline & 1/6 & 2/3 & 1/6 \end{array} \tag{20}
Lobatto IIIC del quarto ordine
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 1/6 & -1/3 & 1/6 \\ 1/2 & 1/6 & 5/12 & -1/12 \\ 1 & 1/6 & 2/3 & 1/6 \\ \hline & 1/6 & 2/3 & 1/6 \end{array} \tag{21}
Lobatto IIIC^\star del quarto ordine
\def\arraystretch{1.5} \begin{array}{c|ccc} 0 & 0 & 0 & 0 \\ 1/2 & 1/4 & 1/4 & 0 \\ 1 & 0 & 1 & 0 \\ \hline & 1/6 & 2/3 & 1/6 \end{array} \tag{22}
Metodi di Radau
Metodo di Radau IA del quinto ordine
\def\arraystretch{3} \begin{array}{c|ccc} 0 & \dfrac{1}{9} & \dfrac{-1 - \sqrt{6}}{18} & \dfrac{-1 + \sqrt{6}}{18} \\ \dfrac{3}{5} - \dfrac{\sqrt{6}}{10} & \dfrac{1}{9} & \dfrac{11}{45} + \dfrac{7\sqrt{6}}{360} & \dfrac{11}{45} - \dfrac{43\sqrt{6}}{360}\\ \dfrac{3}{5} + \dfrac{\sqrt{6}}{10} & \dfrac{1}{9} & \dfrac{11}{45} + \dfrac{43\sqrt{6}}{360} & \dfrac{11}{45} - \dfrac{7\sqrt{6}}{360} \\ \hline & \dfrac{1}{9} & \dfrac{4}{9} + \dfrac{\sqrt{6}}{36} & \dfrac{4}{9} - \dfrac{\sqrt{6}}{36} \end{array} \tag{23}
Radau II del quinto ordine
\def\arraystretch{3} \begin{array}{c|ccc} \dfrac{2}{5} - \dfrac{\sqrt{6}}{10} & \dfrac{11}{45} - \dfrac{7\sqrt{6}}{360} & \dfrac{37}{225} - \dfrac{169\sqrt{6}}{1800} & -\dfrac{2}{225} + \dfrac{\sqrt{6}}{75} \\ \dfrac{2}{5} + \dfrac{\sqrt{6}}{10} & \dfrac{37}{225} + \dfrac{169\sqrt{6}}{1800} & \dfrac{11}{45} + \dfrac{7\sqrt{6}}{360} & -\dfrac{2}{225} - \dfrac{\sqrt{6}}{75}\\ 1 & \dfrac{4}{9} - \dfrac{\sqrt{6}}{36} & \dfrac{4}{9} + \dfrac{\sqrt{6}}{36} & \dfrac{1}{9} \\ \hline & \dfrac{4}{9} - \dfrac{\sqrt{6}}{36} & \dfrac{4}{9} + \dfrac{\sqrt{6}}{36} & \dfrac{1}{9} \end{array} \tag{24}