Sistema Lineare o equazione ricorsiva (differenze finite)?

dRic
Ciao, oggi mi sono imbattuto in un problema della forma:
$$u_{j+1} + au_j + bu_{j-1} = f_j \space \space \space \text{ per } \space j = 1, 2....N \space \space \space \space (1)$$
dove $u$ è la funzione incognita mentre $a$, $b$ ed $f_j$ sono noti: $a$, $b$ sono costanti, mentre $f_j$ è un vettore (funzione) assegnata e quindi nota.

Stando alla definizione di Wikipedia (https://it.wikipedia.org/wiki/Equazione_alle_differenze) questa pare essere una equazione alle differenze finite lineare omogenea. Un'equazione di questo tipo avrà quindi una soluzione della specie
$$u_j = \text{formula risolutiva per il j-esimo elemento} \space \space (2)$$
Tuttavia le dispense su cui stavo leggendo non trattano così il problema, o meglio lo fanno solo quando $f$ è identicamente nulla ( $f_j = 0 \forall j$ ). In questo caso affermano che la soluzione si trova (a seconda dei valori di $a$ e $b$) ed ha la forma sopracitata $(2)$.

In generale tuttavia il problema viene risolto vedendo la $(1)$ come un sistema lineare e quindi scrivendo la matrice associata:
$$\mathbf A =
\begin{bmatrix}
a & 1 & 0 & \dots & \dots & \dots & \dots & 0 \\
b & a & 1 & 0 &\dots & \dots & \dots & \dots \\
0 & b & a & 1 & 0 & \dots & \dots & \dots\\
0 & \dots & \dots & \dots & \dots & \dots & \dots & \dots \\
0 & \dots & \dots & \dots & \dots & \dots & \dots & 0\\
0 & \dots & \dots & \dots & b & a & 1 & 0\\
0 & \dots & \dots & \dots & \dots & b & a & 1\\
0 & \dots & \dots & \dots & \dots & 0 & b & a \\
\end{bmatrix}
$$
e risolvendo dunque il sistema lineare:
$$ \mathbf A \cdot u = f $$

Vorrei capire il nesso (che ci deve essere per forza penso) tra i due metodi. Inoltre mi piacerebbe capire perché la soluzione "esplicita" non viene quasi mai usata (almeno da quello che leggo nelle dispense). Forse perché non è facile trovare una "soluzione" alla $(1)$ e, nel caso, $f$ sia nulla invece è più facile che usare il sistema lineare ?

Grazie e scusate se ho sbagliato a postare
Ric

Risposte
gugo82
L'insieme degli indici $j$ è limitato, quindi hai un numero finito di equazioni... :wink:

dRic
Certo, ma come posso mostrare che la "formula risolutiva" restituisce effettivamente le soluzioni del sistema? Forse giocando un po' con l'eliminazione di Gauss si può arrivare a una forma ricorsiva che parte dall'ultimo elemento e risale fino al primo? Non sono stato a fare conti, ma nel mio caso sembra, a occhio, che le due cose dovrebbero portare allo stesso risultato.

feddy
Mi inserisco nella discussione :)

Ovviamente se discretizzi un problema differenziale, supponi con $N$ nodi, allora avrai un numero finito di equazioni.
Nel caso delle differenze finite (quelle che hai tu sono del secondo ordine, controlla che sia giusta), hai che puoi scrivere in modo "compatto" il corrispondente sistema lineare con $A \cdot \vec{u} = \vec{f}$, con la convenzione $u_i \approx u(x_i)$. In generale, $\vec{f}$ altro non è che il vettore con ciascuna entrata corrispondente alla valutazione del r-h-s in $x_i$, pertanto quello è un sistema lineare, con vettore del termine noto da da $\vec{f(x_i)}$.

La matrice $A$, come hai scritto, è tridiagonale: non solo, è una matrice di toeplitz. In particolare, puoi verificare che sempre per differenze finite di ordine 2 hai che tale matrice è non singolare, che è fondamentale dal momento che stai risolvendo un sistema lineare e vuoi unicità della soluzione (non dimenticare che stai risolvendo un'equazione differenziale,e come al solito si suppone di essere in regime di esistenza e unicità della soluzione). Il caso meno interessante è proprio quello con $f=0$. Poichè $\det(A) \ne 0$, allora l'unica soluzione sarà quella nulla, come è giusto che sia (vedi però le corrispondenti condizioni ai bordi).


Guarda anche qui, è schematizzato per bene, non come questa pappardella che ti ho appena scritto. Inoltre, se vuoi un esempio pratico, vai nella sezione di analisi numerica, ho risolto diversi problemi di questo tipo 1 e 2.

dRic
Grazie per i link. Sto preparando un esame di calcolo numerico e devo dire che per ora non ho troppi problemi e il materiale che ho è sufficientemente chiaro. Quello che volevo capire è se c'è un nesso tra risolvere il sistema lineare o risolvere direttamente l'equazione $(1)$ perché, a giudicare da quello che dice wikipedia, la $(1)$ (a volte) si può risolvere anche senza ricorrere al sistema lineare e si trova una formula "pronta" che ti dà tutti i valori $u_j$.

PS: se avrò problemi di altro genere su questi argomenti mi rifarò vivo nella sezione di analisi numerica ;)

feddy
Sono esattamenta la stessa cosa! Provare per credere. Moltiplica esplictamente la matrice $A$ per il vettore $\vec{u}$. Otterrai proprio $(1)$.

dRic
No no forse mi sono spiegato male... quello è ovvio. Poi ti mando una foto di quello che intendo perché a quello che vedo non mi so spiegare

feddy
Può essere che sia io ad aver letto male. Confesso di aver risposto di getto, praticamente

dRic
Non era una critica... spesso mi succede che non so spiegarmi bene anche perché non ho padronanza dal lessico. Ora sto facendo una cosa e non posso postare l'esempio che stavo studiando, ma più tardi provvedo

feddy
Non ti preoccupare, può capitare quando si è "sovraccarichi" :)

gugo82
Tra ricorrenza lineare e sistema lineare c'è una bella differenza dRic...

Fondamentalemente, una ricorrenza lineare è un sistema lineare """"con infinite incognite"""".[nota]Osserva l'abbondante uso delle virgolette...[/nota]
Questo potrebbe farti sospettare ci sia un nesso tra il modo di esprimere la soluzione di un sistema lineare mediante la nota formula $mathbf(u) =A_N^(-1)* \mathbf(f)$ (qui ho chiamato $A_N$ la matrice tridiagonale associata al sistema d'ordine $N$) e la soluzione $mathbf(u) = mathcal(A)[mathbf(f)]$ della ricorrenza lineare che si ottiene "mandando $N -> oo$"... A questa cosa non ho mai pensato (ed ora non ho il tempo di farlo sensatamente, dato che ho valanghe di compiti da correggere :lol: ), però non è lontana dal modo intuitivo in cui Hilbert ed i vari pionieri della Teoria degli Operatori riguardavano gli oggetti che si paravano loro dinnanzi.
Quello che mi preme notare, però, è che una bella differenza tra i due problemi c'è: un sistema lineare come quello assegnato lo risolvi univocamente senza imporre alcuna condizione sugli elementi del vettore soluzione $mathbf(u)$, mentre per risolvere una ricorrenza in maniera univoca bisogna imporre delle condizioni sul vettore soluzione $mathbb(u)$ (ad esempio, assegnando alcune sue coordinate[nota]Se la ricorrenza è del primo [risp. secondo, etc...] ordine, basta assegnare la prima coordinata $u_1$ [risp. le prime due coordinate $u_1,u_2$, etc...].[/nota])... Non è una differenza da poco.

Che poi, come si faceva osservare, un sistema tipo quello proposto venga fuori anche discretizzando opportunamente equazioni differenziali è un altro discorso. :wink:

dRic
"gugo82":

Quello che mi preme notare, però, è che una bella differenza tra i due problemi c'è: un sistema lineare come quello assegnato lo risolvi univocamente senza imporre alcuna condizione sugli elementi del vettore soluzione u,

Hai ragione, però vorrei aggiungere una cosa: (ti sto parlando avendo in mente appunto la discretizzazione di una eq differenziale quindi non sto facendo un ragionamento astratto, da qui probabilmente potrà uscire la cappellata) quando vai a costruire la prima riga della matrice poni $j = 1$ e ottieni:
$$u_2 + au_1 + bu_0 = f_0$$
$u_0$ sarebbe la "condizione al contorno" che ti devono fornire se no hai una incognita di troppo... (lo stesso vale per l'ultima riga della matrice). Quindi deduco che anche il sistema lineare non è esente da questa necessità.

PS: Oggi sono stremato e alle 2 di notte ho le idee meno chiare che mai.. domattina vedo di riprendere la voglia di vivere :-D

dRic
Scusate il ritardo. Riporto per completezza l'esempio che mi aveva dato da pensare:

$$(p-1)u_{j+1} + 2u_j -(p+1)u_{j_1} = 0$$

Da qui volendo si può costruire una matrice come avevo indicato nel primo post, tuttavia le dispense riportano:


Di conseguenza, la soluzione numerica sarà data dall'espressione:
$$u_j = \frac {1-\left( \frac {1+p} {1-p}\right) ^j }{1-\left( \frac {1+p} {1-p}\right) ^N} \space \space \space \text{per }\space \space \space j = 1, 2....N$$


Magri risolvendo il sistema con l'eliminazione di Gauss viene fuori questa formula, ma a me sembra che l'abbiano ricavato risolvendo direttamente l'equazione alle differenze finite come si riporta nella pagine di wikipedia... magari sbaglio

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.