Risoluzione Numerica di PDE
Sia \Omega \subseteq \mathbb{R}^d un aperto connesso, u: \overline{\Omega} \to \mathbb{R} e L[u] un operatore differenziale. Consideriamo il problema:
L[u] = f
con f: \overline{\Omega} \to \mathbb{R} nota e sufficientemente regolare.
In questo capitolo ci concentreremo su PDE del secondo ordine in due variabili spaziali (x,y) \in \Omega \subseteq \mathbb{R}^2:
L[u] = A \frac{\partial^2 u}{\partial x^2} + B \frac{\partial^2 u}{\partial x \partial y} + C \frac{\partial^2 u}{\partial y^2} + D \frac{\partial u}{\partial x} + E \frac{\partial u}{\partial y} + Fu
con A, B, C, D, E, F: \Omega \to \mathbb{R}.
Le condizioni al bordo fissano in qualche modo il valore di u sulla frontiera di \Omega.
Possiamo considerare una conica associata al problema:
c(x,y) \coloneqq Ax^2 + Bxy + Cy^2 + Dx + Ey + F = 0
§ Teorema. Siano a, b, c, d, e, f \in \mathbb{R} i coefficienti e c(x,y) la funzione associata. Supponiamo che la conica
\mathcal{C} := \{ (x,y) \in \mathbb{R}^2 \mid c(x,y) = 0 \}
sia non degenere, cioè:
\begin{vmatrix} a & b/2 & c/2 \\ b/2 & d & e/2 \\ c/2 & e/2 & f \end{vmatrix} \neq 0
Allora si distinguono tre casi in base a \Delta := b^2 - 4ac:
-
\Delta < 0: ellisse\rightsquigarrowproblemi ellittici. -
\Delta = 0: parabola\rightsquigarrowproblemi parabolici. -
\Delta > 0: iperbole\rightsquigarrowproblemi iperbolici.
Tipi di problemi
Problemi ellittici
Consideriamo l’operatore:
\Delta u := \operatorname{tr}(\nabla^2 u) = \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}
detto Laplaciano. In particolare l’equazione differenziale \Delta u = 0 è detta equazione di Laplace.
Osservazione. C’è una corrispondenza tra le soluzioni di questa equazione in \mathbb{R}^2 e le funzioni olomorfe f: A \subseteq \mathbb{R}^2 \to \mathbb{C} con f(x,y) = u(x,y) + i v(x,y). Le condizioni di Cauchy-Riemann ci dicono:
\begin{cases}
\dfrac{\partial u}{\partial x} = \dfrac{\partial v}{\partial y} \\[1em]
\dfrac{\partial u}{\partial y} = -\dfrac{\partial v}{\partial x}
\end{cases}
Per u, v sufficientemente regolari, derivando ulteriormente si ottiene:
\begin{cases}
\dfrac{\partial^2 u}{\partial x^2} = \dfrac{\partial^2 v}{\partial x \partial y} \\[1em]
\dfrac{\partial^2 u}{\partial y^2} = -\dfrac{\partial^2 v}{\partial y \partial x}
\end{cases} \implies \Delta u = 0 \text{ e } \Delta v = 0
Equazione di Poisson
§ Definizione. L’equazione
\Delta u = f(x,y)
è chiamata equazione di Poisson.
Si distinguono vari tipi di condizioni al bordo:
-
Dirichlet: valore di
unoto sulla frontiera, ad esempio per l’equazione del calore stiabiliamo la temperatura sulla frontierau(x,y) = f(x,y) \text{ su } \partial \Omega -
Neumann: valore della derivata normale di
unoto sulla frontiera, ad esempio per il flusso di calore attraverso la frontiera\dfrac{\partial u}{\partial \hat{n}} = g(x,y) \text{ su } \partial \Omega -
Robin: combinazione delle due precedenti
\alpha \dfrac{\partial u}{\partial \hat{n}} + \beta u = r(x,y) \text{ su } \partial \Omega
Esempio (Modello fisico). Membrana elastica, u tensione della membrana, condizioni di Dirichlet.
Altezza:
(x, y, u(x,y))su\Omega(x, y, g(x,y))su\partial \Omega
Vorremmo trovare la superficie di minima area che soddisfa questi vincoli:
A = \iint_{\Omega} \sqrt{1 + \left( \frac{\partial u}{\partial x} \right)^2 + \left( \frac{\partial u}{\partial y} \right)^2} \, \mathrm dx \mathrm dy
Per trovare il minimo si ricorre al calcolo delle variazioni.
Problemi parabolici
Un esempio classico è dato dai problemi dipendenti dal tempo, come l’equazione del calore:
\gamma \frac{\partial u(x,t)}{\partial t} - \frac{\partial^2 u(x,t)}{\partial x^2} = 0, \quad 0 < x < \ell, t \ge 0
con condizioni iniziali e al bordo:
\begin{cases} u(x,0) = g(x) & x \in [0,\ell] \\ u(0,t) = L \\ u(\ell,t) = R \end{cases}
In più dimensioni, l’equazione assume la forma:
\gamma \frac{\partial u(\mathbf{x},t)}{\partial t} - \Delta_{\mathbf{x}} u = 0
Problemi iperbolici
Questi problemi sono spesso legati alle “leggi di conservazione”.
§ Definizione (Equazione delle onde).
\begin{cases} \dfrac{\partial^2 u}{\partial t^2} - \lambda \dfrac{\partial^2 u}{\partial x^2} = 0 & \lambda > 0 \\[1em] u(\cdot, 0) = u_0, \quad \dfrac{\partial u}{\partial t} (\cdot, 0) = v_0 \\[1em] u(0,t) = u(1,t) = 0 \end{cases}
Osservazione. Se cerchiamo soluzioni della forma u(x,y,z,t) = v(x,y,z) \cos(\omega t), otteniamo:
\nabla^2 v = -\frac{\omega^2}{\lambda} v
con v(x,y,z) = 0 su \partial \Omega, dove le incognite sono la funzione v e la frequenza \omega.
§ Definizione (Equazione di trasporto).
\begin{cases} \dfrac{\partial u}{\partial t} - c \dfrac{\partial u}{\partial x} = f(x,t) \\[1em] u(\cdot, 0) = g \end{cases}
Discretizzazioni
L’obiettivo è approssimare la soluzione u di una PDE tramite un sistema algebrico.
Introduzione
Sia n > 0. Approssimiamo u(x) su una griglia con n punti, vorremmo che u_i \approx u(x_i).
Questo trasforma l’operatore differenziale L in un operatore lineare L_n di dimensione n:
L u = f \implies L_n \mathbf{u} = \mathbf{f}
In questo ambito ci interessa studiare:
-
Come costruire
L_npartendo daL. -
L’ordine di convergenza.
-
Quali proprietà di
Lvengono ereditate daL_n.
Metodo di Galerkin
Supponiamo che l’operatore L sia definito su uno spazio di Hilbert H. Il problema L[u] = f può essere formulato in forma debole: cerchiamo u \in H tale che
\langle L[u] - f, v \rangle = 0 \quad \forall v \in H
Sia \{ \phi_i \}_{i \ge 0} una base di H. Esprimiamo u come combinazione lineare degli elementi della base: u = \sum_{i \ge 0} u_i \phi_i. Sostituendo nella formulazione debole e scegliendo v = \phi_j si ottiene:
\langle L \left[ \sum_{i \ge 0} u_i \phi_i \right] - f, \phi_j \rangle = 0 \quad \forall j
che si semplifica nel sistema lineare:
\sum_{i \ge 0} u_i \langle L[\phi_i], \phi_j \rangle = \langle f, \phi_j \rangle \quad \forall j
Problema modello: Laplaciano 1D
Consideriamo il seguente problema modello:
\begin{cases} u''(x) = f(x) & x \in (0,1) \\ u(0) = \alpha \\ u(1) = \beta \end{cases}
Per il teorema fondamentale del calcolo integrale, possiamo scrivere:
u(t) = u(0) + u'(0) t + \int_0^t \int_0^s f(x) \, \mathrm dx \mathrm ds
Questo approccio richiede un’elevata regolarità per le funzioni coinvolte, ad esempio se assumiamo che f \in C^2 allora u \in C^4.
Discretizzazione
Consideriamo un problema della forma L[u] = f. Sia u(x_i) \approx u_i. Se l’operatore differenziale è L[u] = u'', per Taylor abbiamo:
\begin{align}
u''(x) &= \frac{u(x-h) - 2u(x) + u(x+h)}{h^2} + \frac{h^2}{24}(u^{(4)}(\xi) + u^{(4)}(\eta)) \\
&= \frac{u(x-h) - 2u(x) + u(x+h)}{h^2} + h^2 \tau
\end{align}
con |\tau| \le \frac{1}{12} M_4, dove M_4 = \sup_x |u^{(4)}(x)|.
Dunque, se consideriamo la discretizzazione L[u]=u'' \rightsquigarrow L_n u = \frac{1}{h^2}(u_{i-1} - 2u_i + u_{i+1})_i, da cui otteniamo:
L_n u = f - h^2 \tau
Definito in questo modo, L_n: \mathbb{R}^{n+2} \to \mathbb{R}^n è una matrice n \times (n+2):
L_n = \frac{1}{h^2} \begin{bmatrix}
1 & -2 & 1 & & & \\
& 1 & -2 & 1 & & \\
& & \ddots & \ddots & \ddots & \\
& & & 1 & -2 & 1
\end{bmatrix}
Il vettore di componenti h^2 \tau = (L[u]|_{x=x_i} - L_n u)_i è detto errore locale di discretizzazione.
In generale, l’approssimazione si dice consistente di ordine p se \exists \gamma > 0 tale che:
|L[u]|_{x_i} - L_n u| \le \gamma h^p
Possiamo togliere la prima e l’ultima colonna e riscrivere il sistema come segue con una matrice quadrata A_n:
-\frac{1}{h^2} \begin{bmatrix}
-2 & 1 & & \\
1 & -2 & 1 & \\
& \ddots & \ddots & \ddots \\
& & 1 & -2 & 1
\end{bmatrix} \mathbf{u} = \mathbf{f} - h^2 \mathbf{\tau} - \frac{1}{h^2} \begin{bmatrix}
a \\
0 \\
\vdots \\
0 \\
b
\end{bmatrix}
e chiamiamo A_n := -\frac{1}{h^2} \begin{bmatrix} \dots \end{bmatrix} la nuova matrice discretizzata. A questo punto possiamo considerare un nuovo problema associato al precedente senza l’errore locale:
A_n \mathbf{v} = \mathbf{f} - \frac{1}{h^2}(a\mathbf{e}_1 + b\mathbf{e}_n) \quad (1)
Nell’incognita \mathbf{v}, a questo punto introduciamo \mathbf{\epsilon}^{(n)} = \mathbf{v} - \mathbf{u} come l’errore globale, che ci permette di quantificare l’accuratezza del metodo. Vorremmo che \|\mathbf{\epsilon}^{(n)}\|_\infty \to 0 in modo che infittendo la discretizzazione possiamo sperare di convergere alla soluzione esatta.
Per stimare \|\mathbf{\epsilon}^{(n)}\|_\infty sottraiamo (1) e (2), dove (2) è:
A_n \mathbf{u} = \mathbf{f} - h^2 \mathbf{\tau}^{(n)} - \frac{1}{h^2}(a\mathbf{e}_1 + b\mathbf{e}_n) \quad (2)
Otteniamo:
A_n \mathbf{\epsilon}^{(n)} = h^2 \mathbf{\tau}^{(n)} \implies \mathbf{\epsilon}^{(n)} = h^2 A_n^{-1} \mathbf{\tau}^{(n)}
\implies \|\mathbf{\epsilon}^{(n)}\| \le h^2 \|A_n^{-1}\| \|\mathbf{\tau}^{(n)}\|
Studiamo ora la convergenza in norma 2 e in norma \infty.
Analisi errore in norma 2
Vorremmo trovare gli autovalori della matrice A_n. Osserviamo che A_n = 2I - H_n con H_n = \text{trid}(1,0,1).
Gli autovalori di A_n sono:
\lambda_j(A_n) = 2 - 2\cos\left(\frac{j\pi}{n+1}\right) = 4 \sin^2\left(\frac{j\pi}{2(n+1)}\right)
per j=1, \dots, n.
L’inversa ha autovalori \lambda_j(A_n^{-1}) = 1/\lambda_j(A_n). La norma 2 di una matrice simmetrica è il suo raggio spettrale.
\|A_n^{-1}\|_2 = \max_j \frac{1}{\lambda_j(A_n)} = \frac{1}{\lambda_{\min}(A_n)} = \frac{1}{4 \sin^2\left(\frac{\pi}{2(n+1)}\right)}
Poiché \sin(x) \approx x per x \to 0 e h = 1/(n+1):
\|A_n^{-1}\|_2 \approx \frac{1}{4 \left(\frac{\pi}{2(n+1)}\right)^2} = \frac{(n+1)^2}{\pi^2} = \frac{1}{\pi^2 h^2}
Quindi:
\|\mathbf{\epsilon}^{(n)}\|_2 \le h^2 \|A_n^{-1}\|_2 \|\mathbf{\tau}^{(n)}\|_\infty \approx h^2 \frac{1}{\pi^2 h^2} \|\mathbf{\tau}^{(n)}\|_\infty = \frac{1}{\pi^2} \|\mathbf{\tau}^{(n)}\|_\infty
Se la soluzione è regolare, \tau è limitato e la convergenza è garantita.
Analisi errore in norma infinito
Per stimare \|\mathbf{\epsilon}^{(n)}\|_\infty ci basta studiare \|A_n^{-1}\|_\infty.
Notiamo che -A_n = \frac{2}{h^2}(I - B_n), dove B_n è una matrice tridiagonale con zeri sulla diagonale e 1/2 sopra e sotto.
Per Gershgorin, gli autovalori di \text{trid}(1,0,1) sono tra 0 e 2.
B_n ha raggio spettrale \rho(B_n) < 1, quindi la serie \sum B_n^i converge.
Vale -A_n^{-1} = \sum B_n^i \ge 0. Segue inoltre che -A_n^{-1} > 0.
Analisi matriciale
Poiché -A_n^{-1} > 0, si ha \|A_n^{-1}\|_\infty = \|(-A_n^{-1}) \mathbf{e}\|_\infty, dove \mathbf{e} = (1, \dots, 1)^T.
Ci interessa dunque trovare \mathbf{w} = -A_n^{-1} \mathbf{e}, ovvero risolvere A_n \mathbf{w} = -\mathbf{e}.
Poiché A_n rappresenta la derivata seconda discretizzata, possiamo intuire che \mathbf{w} sia legato alla discretizzazione di una funzione u(x) tale che u''(x) = 1.
La soluzione è u(x) = \frac{1}{2}x(1-x).
I valori di w_i dovrebbero essere proporzionali a u(x_i) = \frac{1}{2} x_i(1-x_i).
Infatti, si può verificare che w_i = \frac{h^2}{2} i(n+1-i).
Con questa scelta, si ha:
(A_n \mathbf{w})_i = -\frac{1}{h^2} (w_{i-1} - 2w_i + w_{i+1}) = -1 = (-\mathbf{e})_i
Quindi:
\|A_n^{-1}\|_\infty = \|\mathbf{w}\|_\infty = \max_i \frac{h^2}{2} i(n+1-i)
Il massimo si ha per i \approx (n+1)/2:
\|A_n^{-1}\|_\infty \approx \frac{h^2}{2} \frac{n+1}{2} \left(n+1 - \frac{n+1}{2}\right) = \frac{h^2}{8}(n+1)^2 = \frac{1}{8}
Dunque, l’errore globale in norma infinito è:
\|\mathbf{\epsilon}^{(n)}\|_\infty \le h^2 \|A_n^{-1}\|_\infty \|\mathbf{\tau}^{(n)}\|_\infty \approx \frac{h^2}{8} \|\mathbf{\tau}^{(n)}\|_\infty
Se u \in C^4([0,1]), allora \|\mathbf{\tau}^{(n)}\|_\infty \le \frac{1}{12} \max_{[0,1]} |u^{(4)}|, e quindi:
\|\mathbf{\epsilon}^{(n)}\|_\infty \le \frac{h^2}{96} \max_{[0,1]} |u^{(4)}|
Questo mostra che il metodo converge con ordine 2.
Analisi tramite il principio del massimo
Un approccio alternativo per la stima dell’errore si basa sul principio del massimo.
§ Teorema (Principio del massimo, continuo). Sia L un operatore ellittico della forma
L[u] = -\sum_{i,j=1}^d a_{ij}(x) \frac{\partial^2 u}{\partial x_i \partial x_j} - \sum_{i=1}^d b_i(x) \frac{\partial u}{\partial x_i}
con (a_{ij}) uniformemente definita positiva e coefficienti continui su \overline{\Omega}.
Se u \in C^2(\Omega) \cap C^0(\overline{\Omega}) è una sottosoluzione, cioè L[u] \le 0 in \Omega, allora
\max_{x \in \overline{\Omega}} u(x) = \max_{x \in \partial \Omega} u(x)
§ Teorema (Principio del massimo, discreto). Sia \mathbf{v} \in \mathbb{R}^{n+2} un vettore tale che (A_n \mathbf{v})_i \ge 0 per i=1, \dots, n. Allora
\max_{i=1,\dots,n} v_i \le \max(v_0, v_{n+1})
Dimostrazione. Per assurdo, supponiamo che esista un indice k \in \{1, \dots, n\} tale che v_k sia un massimo e v_k > \max(v_0, v_{n+1}).
Dalla condizione (A_n \mathbf{v})_k \ge 0 abbiamo:
-\frac{1}{h^2}(v_{k-1} - 2v_k + v_{k+1}) \ge 0 \implies 2v_k \le v_{k-1} + v_{k+1}
Poiché v_k è il massimo, v_{k-1} \le v_k e v_{k+1} \le v_k. L’unica possibilità per cui la disuguaglianza sia soddisfatta è che v_{k-1} = v_k = v_{k+1}.
Ripetendo questo ragionamento, si ottiene che v_0 = v_1 = \dots = v_{n+1} = v_k, il che contraddice l’ipotesi v_k > \max(v_0, v_{n+1}).
§ Teorema (Stima dell’errore). L’errore globale soddisfa la stima:
\|\mathbf{\epsilon}^{(n)}\|_\infty \le \frac{h^2}{8} \|\mathbf{\tau}^{(n)}\|_\infty
Dimostrazione. Ricordiamo che A_n \mathbf{\epsilon}^{(n)} = h^2 \mathbf{\tau}^{(n)}.
Consideriamo la funzione ausiliaria w(x) = \frac{1}{2}x(1-x), la cui discretizzazione è w_i = \frac{1}{2}x_i(1-x_i).
Abbiamo visto che (A_n \mathbf{w})_i = 1 per ogni i.
Definiamo un vettore \mathbf{z}^{\pm} = \pm \mathbf{\epsilon}^{(n)} + h^2 \|\mathbf{\tau}^{(n)}\|_\infty \mathbf{w}.
Applichiamo l’operatore A_n:
A_n \mathbf{z}^{\pm} = \pm A_n \mathbf{\epsilon}^{(n)} + h^2 \|\mathbf{\tau}^{(n)}\|_\infty A_n \mathbf{w} = \pm h^2 \mathbf{\tau}^{(n)} + h^2 \|\mathbf{\tau}^{(n)}\|_\infty \mathbf{e} \ge 0
dove \mathbf{e} = (1, \dots, 1)^T.
Per il principio del massimo discreto, \max_{i=1,\dots,n} z_i^{\pm} \le \max(z_0^{\pm}, z_{n+1}^{\pm}).
Notiamo che \epsilon_0 = \epsilon_{n+1} = 0 e w_0 = w_{n+1} = 0. Quindi z_0^{\pm} = z_{n+1}^{\pm} = 0.
Ne segue che z_i^{\pm} \le 0 per ogni i=1, \dots, n.
\pm \epsilon_i + h^2 \|\mathbf{\tau}^{(n)}\|_\infty w_i \le 0 \implies |\epsilon_i| \le h^2 \|\mathbf{\tau}^{(n)}\|_\infty w_i
Prendendo il massimo su i:
\|\mathbf{\epsilon}^{(n)}\|_\infty \le h^2 \|\mathbf{\tau}^{(n)}\|_\infty \|\mathbf{w}\|_\infty
Poiché \|\mathbf{w}\|_\infty = \max_i \frac{1}{2}x_i(1-x_i) = \frac{1}{8}, otteniamo la tesi.
Caso multidimensionale
Siano u: \Omega \subseteq \mathbb{R}^d \to \mathbb{R} e f: \Omega \to \mathbb{R}, g: \partial \Omega \to \mathbb{R}.
\begin{cases} \Delta u = f & \text{su } \Omega \\ u = g & \text{su } \partial \Omega \end{cases}
consideriamo d=2 ed una discretizzazione su una griglia m \times n:
x_i = i h_x, \quad h_x = \frac{1}{m+1}
y_j = j h_y, \quad h_y = \frac{1}{n+1}
Consideriamo le approssimazioni per le derivate parziali:
\begin{align}
\frac{\partial^2 u}{\partial x^2} \bigg|_{x_i, y_j} &= \frac{1}{h_x^2} (u_{i-1,j} - 2u_{i,j} + u_{i+1,j}) + h_x^2 \tau_{ij} \\[1em]
\frac{\partial^2 u}{\partial y^2} \bigg|_{x_i, y_j} &= \frac{1}{h_y^2} (u_{i,j-1} - 2 u_{i,j} + u_{i,j+1}) + h_y^2 \nu_{ij}
\end{align}
O come STENCIL:
\begin{bmatrix} & -1 & \\ -1 & 4 & -1 \\ & -1 & \end{bmatrix}
Una possibile scelta per L_{m,n}[u] è con:
L_m: derivata lungoiL_n: derivata lungoj
\rightsquigarrow L_{m,n}[u] = L_m U + U L_n
con U = (u_{ij})_{ij} matrice che rappresenta i valori di u(x_i, y_j). Il sistema sarà:
A_m U + U A_n = F + h_x^2 \tau^{(m,n)} + h_y^2 \nu^{(m,n)}
\rightsquigarrow A_m V + V A_n = F \quad (V \approx U)
Questo non è molto comodo da risolvere, proviamo a riordinarlo:
\text{vec}(U) := \begin{bmatrix} \mathbf{u}_{:,1} \\ \mathbf{u}_{:,2} \\ \vdots \\ \mathbf{u}_{:,n} \end{bmatrix}
Introduciamo il prodotto di Kronecker:
A \otimes B = \begin{bmatrix} a_{11} B & \dots & a_{1m} B \\ \vdots & & \vdots \\ a_{n1} B & \dots & a_{nm} B \end{bmatrix}
per A \in \mathbb{R}^{n_1 \times m_1} e B \in \mathbb{R}^{n_2 \times m_2}, A \otimes B sarà (n_1 n_2) \times (m_1 m_2).
Possiamo anche definire per V \in \mathbb{R}^n ssp, W \in \mathbb{R}^m ssp, V \otimes W come ssp in \mathbb{R}^{nm}.
§ Proposizione. Siano A, X, B matrici. Consideriamo:
\text{vec}(AXB) = (B^T \otimes A) \text{vec}(X)
Possiamo riscrivere il sistema precedente come
A_m V I_n + I_m V A_n = F
e applicando \text{vec}(\cdot):
(I_n \otimes A_m + A_n \otimes I_m) \text{vec}(V) = \text{vec}(F)
(A_n^T = A_n poiché simmetrica).
I sistemi della forma:
- Lyapunov:
AX + XA^T = F - Sylvester:
AX + XB = F
Nel nostro caso per n=m possiamo ricondurci ad una matrice diagonale, ad esempio prendendo:
A = S D S^T con S trasformata in seni e D sampling di \frac{1}{h^2}(2 - 2 \cos \theta).
E l’analisi dell’errore deriva da quella per il caso 1-D.
Parabolico
Ad esempio possiamo considerare:
\begin{cases}
\gamma \dfrac{\partial u}{\partial t} - \Delta u = 0 \\
u = u_0 & \text{su } \{0\} \times \Omega \\
u = g & \text{su } [0,T] \times \partial \Omega
\end{cases}
Se ad esempio discretizziamo u come u_i^j con u_i^j \approx u(t_j, x_i):
\rightsquigarrow \gamma \frac{u_i^{j+1} - u_i^j}{\Delta t} - \frac{1}{h^2}(u_{i-1}^j - 2 u_i^j + u_{i+1}^j) = h^2 \tau_{i}^j + \Delta t \dots
Da cui otteniamo la seguente senza termine di errore:
\gamma \frac{u_i^{j+1} - u_i^j}{\Delta t} - \frac{1}{h^2}(u_{i-1}^j - 2 u_i^j + u_{i+1}^j) = 0
\implies \mathbf{v}^{(j+1)} = \mathbf{v}^{(j)} + \frac{\Delta t}{\gamma h^2} A \mathbf{v}^{(j)} = \left( I + \frac{\Delta t}{\gamma h^2} A \right) \mathbf{v}^{(j)}
Possiamo scrivere il sistema per tutti i passi temporali come:
A_{m,n} \begin{bmatrix} \mathbf{v}^{(1)} \\ \vdots \\ \mathbf{v}^{(n)} \end{bmatrix} = \begin{bmatrix} \mathbf{v}^{(0)} \\ \vdots \end{bmatrix}
con A_{m,n} = \begin{bmatrix} I & & & \\ -T & I & & \\ & \ddots & \ddots & \\ & & -T & I \end{bmatrix} e T \coloneqq I + \frac{\Delta t}{\gamma h^2} A.
Bisogna stare attenti perché l’inversa di una matrice di questo tipo ha la forma:
\begin{bmatrix} I & & & \\ -T & I & & \\ & \ddots & \ddots & \\ & & -T & I \end{bmatrix}^{-1} = \begin{bmatrix} I & & & \\ T & I & & \\ T^2 & T & I & \\ \vdots & & & \ddots \end{bmatrix}
quindi bisogna avere \rho(T) < 1 per avere convergenza.