# Equazione rigida

In matematica, un'equazione rigida (in inglese stiff: rigido, duro, difficile) è un'equazione differenziale per la quale certi metodi di soluzione sono numericamente instabili a meno che il passo d'integrazione sia preso estremamente piccolo. Si è rivelato difficile formulare una definizione precisa di rigidità ma l'idea principale è quella che queste equazioni includano alcuni termini che possano portare ad una rapida variazione della soluzione.
Quando si integra numericamente un'equazione differenziale, ci si aspetterebbe che il passo di integrazione richiesto sia relativamente piccolo in una regione in cui la soluzione mostra una forte variazione, e che sia relativamente grande quando la soluzione si avvicina ad una curva con pendenza vicina a zero. Per alcuni problemi non è così: a volte il passo d'integrazione viene imposto troppo piccolo in regioni dove la soluzione è molto dolce. Questo fenomeno è noto come rigidità (stiffness). In alcun casi è possibile avere due differenti problemi con la stessa soluzione dove uno dei due non è rigido, mentre l'altro è rigido. Chiaramente il fenomeno non può essere una proprietà della soluzione esatta, dal momento che questa è la stessa per entrambi i problemi, e deve quindi essere una proprietà del sistema differenziale stesso. È appropriato allora parlare di sistemi rigidi o stiff.

## Definizione

Consideriamo il sistema di equazioni differenziali ordinarie lineare a coefficienti costanti dato da
    $\mathbf {y} '(t)=\mathrm {A} \mathbf {y} (t)+\mathbf {\varphi } (t),$
e supponiamo che la matrice $\mathrm {A} \in \mathbb {R} ^{n\times n}$ abbia $n$ autovalori distinti, ${\lambda }_{1},\dots ,{\lambda }_{n}$, tutti con parte reale negativa: $\mathrm {Re} ({\lambda }_{j})<0,\forall j=1,\dots ,n$ . È facile verificare che la soluzione di tale sistema è della forma
    $\mathbf {y} (t)=\sum _{j=1}^{n}c_{j}e^{{\lambda }_{j}t}\mathbf {v} _{j}+\mathbf {\psi } (t)=\mathbf {y} _{0}(t)+\mathbf {\psi } (t),$
dove i $\mathbf {v} _{j}$ formano una base di autovettori di $\mathrm {A} .$ Per tempi molto grandi, poiché $\mathrm {Re} ({\lambda }_{j})<0$, il contributo del termine $\mathbf {y} _{0}(t)$ alla soluzione sarà infinitesimo. Nel caso di problemi stiff, si osserva che il metodo è costretto ad impiegare un passo di discretizzazione $h$ piccolo per approssimare una componente della soluzione che nel limite $t\to +\infty$ tende a zero, e che quindi dà un contributo via via sempre più trascurabile alla soluzione del problema. In maniera più formale, scrivendo
    $\sigma \leq \mathrm {Re} ({\lambda }_{j})\leq \tau <0,\quad \forall j=1,\dots ,n,$
e introducendo il quoziente di stiffness $r_{s}={\dfrac {\sigma }{\tau }}$ diremo che un sistema di equazioni differenziali ordinarie lineari a coefficienti costanti, che abbia una matrice $\mathrm {A}$ con autovalori tutti di parte reale negativa, è stiff se $r_{s}\gg 1.$
Questa definizione formale presenta diverse limitazioni e non sempre caratterizza accuratamente l'idea intuitiva di stiffness che si osserva nelle applicazioni. Per queste ragioni sono state proposte altre definizioni di stiffness, di carattere più euristico. Riportiamo una di queste, dovuta a J. Lambert:
   Un sistema di equazioni differenziali ordinarie si dice stiff se, approssimandolo con uno schema numerico che presenti una regione di assoluta stabilità limitata, esso, per ogni dato iniziale, obbliga lo schema numerico ad impiegare un passo di discretizzazione molto più piccolo di quello realmente necessario per descrivere ragionevolmente l'andamento della soluzione esatta.

## A-stabilità

Si può analizzare il comportamento dei metodi numerici su problemi rigidi applicando tali metodi sull'equazione di prova $y'=ky$ con condizione iniziale $y(0)=1$, dove $k\in \mathbb {C}$. La soluzione di questa equazione è $y(t)=e^{kt}$. Questa soluzione tende a zero per $t\to \infty$ quando ${\mbox{Re}}(k)<0$. Se anche il metodo numerico mostra questo comportamento (con un passo di integrazione fisso), allora il metodo è detto A-stabile.