Avere tutto schematizzato mi ha permesso di apprendere facilmente tutti i concetti!
Non ho però realizzato nessun materiale su MATLAB, in quanto esistevano già numerose guide su Internet a riguardo...
Elemento neutro della moltiplicazione matriciale.
Matrice con elementi diversi da 0 solo sulla diagonale.
Matrice con elementi diversi da 0 sopra la diagonale.
Matrice con elementi diversi da 0 sotto la diagonale.
Matrice con determinante diverso da 0.
Sono anche dette matrici linearmente indipendenti o matrici invertibili.
Matrice con un asse di simmetria lungo la diagonale.
Matrice con un asse di simmetria lungo la diagonale; gli elementi nel triangolo superiore sono però l'opposto di quelli del triangolo inferiore.
Ha sempre degli
Matrice in cui i valori della diagonale sono maggiori della somma di tutti gli altri nella riga/colonna.
Matrice che se moltiplicata per la sua trasposta dà come risultato la matrice identità.
Matrice tale che:
Matrice con pochissimi valori diversi da 0.
Matrice riempita di 0 eccetto per un solo 1 per riga e per colonna.
Se premoltiplicata per una matrice, ne riordina le righe; se invece postmoltiplicata, ne riordina le colonne.
Premoltiplicare la matrice precedente scambia la prima e la terza righa, postmoltiplicarla scambia la prima e la terza colonna.
Matrice di permutazione con un solo scambio.
Sono nonsingolari, simmetriche e ortogonali.
Funzione che associa un valore positivo a ogni vettore diverso da 0, e 0 al vettore zero.
Massimo dei valori assoluti di tutti gli elementi del vettore.
Somma dei valori assoluti di tutti gli elementi del vettore.
Radice quadrata della somma dei quadrati di tutti gli elementi del vettore.
Funzione che associa un valore positivo a ogni matrice diversa da 0, e 0 alla matrice zero.
Si ricavano dalle norme vettoriali:
Massimo delle somme dei valori assoluti di tutti gli elementi di ogni riga di una matrice.
Massimo delle somme dei valori assoluti di tutti gli elementi di ogni colonna di una matrice.
Radice quadrata del rango del prodotto tra una matrice e la sua trasposta.
Funzione che associa un valore reale positivo a ogni funzione.
Valore massimo che assume la funzione nel suo dominio.
Le norme sono usate per calcolare l'errore relativo tra due vettori o matrici:
L'errore, ovvero la massima distanza tra due funzioni, si ottiene con:
Particolari algoritmi che hanno:
Con i numeri floating point può capitare che un certo numero
In tal caso, il numero si indica con
È la differenza tra il numero desiderato e il numero rappresentato:
Indica quanto il numero rappresentato differisce dal numero desiderato:
Metodo con cui gestire gli underflow floating point: le cifre meno significative vengono rimosse.
1.00 → 1.0
1.01 → 1.0
1.10 → 1.1
1.11 → 1.1
Metodo con cui gestire gli underflow floating point: se la cifra più significativa di quelle che devono essere rimosse è 1, allora aumenta di 1 anche quella meno signficativa che viene tenuta.
1.00 → 1.0
1.01 → 1.0
1.10 → 1.1
1.11 → 10.
Un numero reale rappresentato in virgola mobile ha un errore relativo minore o uguale alla precisione di macchina:
Associa un valore reale al suo corrispondente valore floating point, utilizzando uno dei due metodi di gestione dell'undeflow.
L'insieme
Operazioni tra elementi di
Il teorema della precisione di macchina si applica quindi anche ai risultati delle operazioni.
Errore derivato da underflow sui dati.
Si indica con
Errore derivato da underflow durante l'esecuzione dell'algoritmo.
Si indica con
Sensibilità di un problema all'errore inerente.
Sensibilità di un problema all'errore algoritmico.
Cerchiamo un algoritmo che risolva
Calcolare prima
Calcolare direttamente
È il coefficiente di proporzionalità tra i dati e l'errore inerente.
Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.
Minore è l'indice di condizionamento, meglio condizionato è un problema.
È il coefficiente di proporzionalità tra i dati e l'errore algoritmico.
Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.
Dato un sistema di equazioni lineari, si vuole trovare la sua soluzione.
In forma matriciale, avrà una matrice dei coefficienti
L'equazione matriciale del sistema è:
Il condizionamento della risoluzione di sistemi lineari è:
In particolare, è segnato in giallo nella formula il numero di condizionamento:
Metodi che trovano la soluzione esatta* di un sistema lineare.
Tipicamente prevedono la fattorizzazione della matrice dei coefficienti in due sottomatrici più facili da risolvere.
Generalmente hanno una complessità temporale
Metodi che trovano una soluzione imperfetta* di un sistema lineare.
Tipicamente prevedono l'applicazione ripetuta di un metodo, in base al quale cambia la velocità di convergenza alla soluzione.
Generalmente hanno una complessità temporale
Se la matrice dei coefficienti del sistema è diagonale, allora è possibile trovare la soluzione dividendo ogni termine noto per l'unico coefficiente diverso da zero presente nella sua riga:
Se la matrice dei coefficienti del sistema è triangolare inferiore o superiore, allora è possibile trovare la soluzione effettuando una sostituzione all'avanti oppure all'indietro:
Se tutti i valori sulla diagonale di
La matrice
La matrice
Il sistema può essere poi risolto applicando due volte il metodo di sostituzione (all'avanti e all'indietro):
Questo metodo ha costo computazionale:
È possibile applicare la fattorizzazione
Alla formula precedente si aggiunge una matrice di permutazione che indica quali righe sono state scambiate:
Per massimizzare la stabilità, si cerca di usare come perno l'elemento più grande della colonna.
Questo metodo ha costo computazionale:
È possibile anche permettere il pivoting sulle colonne per aumentare ulteriormente la stabilità dell'algoritmo, a costo di maggiore costo computazionale:
Per massimizzare la stabilità, si cerca di ordinare in modo decrescente la diagonale, assicurandoci che il primo perno sia più grande del secondo e così via.
Questo metodo ha costo computazionale:
Se la matrice
Se la matrice
Per evitare il fill-in, è necessario riordinare la
matrice
È possibile ridurre la complessità computazionale della
fattorizzazione
In questo caso, si calcola solo la matrice L, utilizzando il metodo di pavimentazione.
La prima colonna della matrice sarà:
La seconda colonna della matrice sarà:
Questo metodo ha costo computazionale:
È possibile dare stabilità forte alla fattorizzazione
Il metodo di pavimentazione diventa:
Questo metodo ha costo computazionale:
Matrice ricavata dalla seguente formula, dove
Se moltiplicata per per la matrice da cui proviene
Si calcola con una complessità computazionale nell'ordine di
Metodo che fornisce una maggiore stabilità a costo di una maggiore complessità computazionale.
La matrice
Le matrici si ottengono dal prodotto delle trasformazioni di Householder (che concatenate
formano
Una volta fattorizzata, il sistema si può risolvere con:
Questo metodo ha costo computazionale:
Se si pone che:
Allora la formula generale di un sistema lineare può anche essere scritta in questo modo:
È particolarmente utile perchè ci permette di definire un algoritmo ricorsivo che
trovi
Ponendo
Possiamo ottenere alcuni metodi separando
Un metodo è convergente se e solo se:
(dove
Perchè un metodo sia convergente, è sufficiente che:
Il metodo di Jacobi si ottiene ponendo:
Spostamenti simultanei: Permette di ottenere ogni componente
di
Se la matrice è diagonale dominante, allora il metodo di Jacobi converge sicuramente.
Il metodo di Gauss-Seidel si ottiene ponendo:
Ha una velocità di convergenza maggiore o uguale rispetto al metodo di Jacobi.
Spostamenti successivi: Non è parallelizzabile, perchè ogni componente dipende da quelle calcolate in precedenza.
Se la matrice è diagonale dominante, allora il metodo di Gauss-Seidel converge sicuramente.
Si vogliono trovare i punti (zeri) in cui una funzione continua
Per il teorema del valore medio, se
Denominiamo il punto in cui la funzione
vale
Più la derivata prima della funzione si avvicina allo 0, peggio il problema sarà condizionato.
Indice
Sono metodi iterativi in grado di ridurre sempre di più l'intervallo in cui è definita la funzione, facendolo convergere allo zero desiderato.
Alcuni di essi sono il metodo dicotomico e il metodo regula falsi.
Richiedono una valutazione di funzione non-lineare ad ogni iterazione.
Ad ogni iterazione, l'intervallo viene sempre almeno dimezzato; si ha, pertanto, che:
Hanno quindi convergenza lineare (
Il loro criterio di arresto è un numero di iterazioni prefissato che dipende dalla tolleranza sull'errore:
Sono metodi iterativi che funzionano in modo molto simile ai metodi iterativi per i
sistemi lineari, utilizzando una funzione
Che diventa:
Sfruttano i punti fissi
se
Si può raggiungere iterativamente ad un punto fisso attraverso la formula:
Non si conosce in anticipo il numero di iterazioni necessarie per soddisfare la
tolleranza
Se:
La funzione
(dove
Allora:
Il punto fisso esiste ed è unico:
Vale la seguente disequazione di maggiorazione dell'errore:
Più è piccolo
Sfrutta la continuità delle funzioni per ottenere una convergenza di ordine più alto.
Ha costo computazionale di 2 valutazioni di funzione più 2 valutazioni di derivata.
Ha convergenza quadratica.
È come il metodo di Newton, ma usa il rapporto incrementale, in modo da poter essere applicato a funzioni non continue.
Ha costo computazionale di 3 valutazioni di funzione.
Ha convergenza superlineare.
È possibile usare questi metodi per approssimare le soluzioni di sistemi non-lineari.
Si vuole trovare una funzione in grado di approssimarne un'altra, di cui si conoscono però solo alcuni punti.
I punti sono detti nodi
Dato un insieme di punti, esistono infinite funzioni interpolanti.
Il teorema fondamentale dell'algebra dice che esiste una sola interpolante polinomiale che interpola un dato insieme di punti.
Con
La sua forma canonica sarà:
È possibile scrivere la forma canonica come matrice:
Costruiamo la matrice di Vandermonde:
Costruiamo il vettore delle incognite:
Costruiamo il vettore dei termini noti:
È efficace perchè una volta calcolati i coefficienti essi valgono per tutti i punti, ma ha come svantaggio che la matrice di Vandermonde è spesso malcondizionata.
È possibile scrivere il polinomio di interpolazione raccogliendo
le
I polinomi
Tutti insieme formano la base di Lagrange.
Questo metodo permette di calcolare il valore del polinomio di interpolazione in un singolo punto:
Si può risparmiare tempo di calcolo calcolando una singola volta il numeratore con tutti i termini:
E poi dividendo per il termine che andrebbe escluso:
Ha costo computazionale
È l'errore compiuto durante l'interpolazione.
Se la funzione
In particolare, è interessante la sua norma a
infinito,
Un teorema dice che esso è uguale a:
L'errore nell'interpolazione dipende principalmente da due fattori:
Fenomeno che si verifica cercando di interpolare la funzione di
Runge (
Scegliendo nodi equispaziati, l'errore di interpolazione sarà enorme vicino ai due estremi dell'intervallo.
Si evita scegliendo i nodi in una maniera diversa.
Nodi ottenuti partizionando una semicirconferenza, e proiettando le partizioni sul diametro.
La formula usata per ottenere
Proprietà di min-max: sono la scelta ottimale dei punti di interpolazione.
In particolare, si ha che:
Invece che costruire una singola funzione che interpola tutti i punti, per ogni intervallo tra due punti (sottointervallo) si costruisce una funzione apposta.
Interpolanti che:
Significa che agli estremi dell'intervallo, i valori di tutte le derivate fino al
grado
Hanno
Per ogni sottointervallo, costruiamo una funzione lineare passante per i due estremi:
Il loro errore è:
Ha come vantaggi complessità computazionale molto più bassa e l'assenza del fenomeno di Runge, ma allo stesso tempo si perde la derivabilità della funzione.
Non hanno gradi di libertà.
Spline con
Esse hanno la seguente equazione:
Classe di spline cubiche in cui:
È unica.
Forma il seguente sistema di equazioni:
Classe di spline cubiche in cui:
È unica.
Classe di spline cubiche in cui:
È unica.
Classe di spline cubiche in cui:
È unica.
Tra tutte le funzioni che interpolano dei punti, le tre classi di funzioni sopraelencate sono quelle che interpolano la funzione più "dolcemente".
Per loro è valida la seguente proprietà:
Più diminuisce la lunghezza
Non si verifica il fenomeno di Runge.
Si ha un'interpolazione anche della derivata prima.
Interpolare dati sperimentali non fornisce quasi mai un modello del fenomeno.
Vogliamo costruire una funzione di regressione che, dati molti più dati del grado della funzione, minimizzi il quadrato della distanza tra i punti sperimentali e i punti della funzione di regressione.
Denominiamo:
L'obiettivo è minimizzare l'errore di approssimazione
Trova la retta
Essendo una retta, avrà due parametri: il termine noto
L'errore da minimizzare per ricavare i parametri sarà:
Possiamo costruire una matrice di regressione
Inoltre, se costruiamo il vettore dei parametri
Avremo che:
Inoltre, potremo calcolare l'errore attraverso la norma:
Trova il polinomio
Essendo un polinomio di grado
La regressione lineare è un caso particolare di regressione generale in cui i parametri sono 2!
L'errore da minimizzare per ricavare i parametri sarà:
Possiamo costruire una matrice di regressione
Inoltre, se costruiamo il vettore dei parametri
Avremo che:
Inoltre, potremo calcolare l'errore attraverso la norma:
Trova i coefficienti della combinazione lineare
La regressione polinomiale è un caso particolare di regressione generale in cui:
L'errore da minimizzare per ricavare i parametri sarà:
Possiamo costruire una matrice di regressione
Inoltre, se costruiamo il vettore dei parametri
Avremo che:
Inoltre, potremo calcolare l'errore attraverso la norma:
Caso che prevede che le colonne di
La soluzione esiste sempre, ed è unica.
Per trovarla:
Caso che non preclude alcuna composizione di
Ci sono infinite soluzioni, con
Si cerca sempre di trovare la soluzione di norma minima, che,
se
Per trovarla:
Calcoliamo: