mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-23 08:24:20 +00:00
1 line
No EOL
54 KiB
Text
Generated
1 line
No EOL
54 KiB
Text
Generated
{"version":3,"sources":["webpack:///./components/Example.less","webpack:///./routes/CalcoloNumerico/03_Interpolazione.js","webpack:///./components/MenuList.less","webpack:///./routes/CalcoloNumerico/02_ZeriDiFunzione.js","webpack:///./components/MenuList.js","webpack:///./components/Example.js","webpack:///./routes/CalcoloNumerico/01_SistemiLineari.js","webpack:///./routes/CalcoloNumerico/index.js","webpack:///./routes/CalcoloNumerico/00_Intro.js"],"names":["module","exports","title","r","String","raw","props","class","style","menulist","children","example","href","to"],"mappings":"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","file":"route-CalcoloNumerico.chunk.2108a.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"red\":\"red__2y1B_\",\"orange\":\"orange__dD2kx\",\"yellow\":\"yellow__OEpwl\",\"lime\":\"lime__CVe41\",\"cyan\":\"cyan__26ZAg\",\"blue\":\"blue__LO7Xm\",\"magenta\":\"magenta__1Akee\",\"example\":\"example__2PzAa\"};","import style from \"./03_Interpolazione.less\";\nimport {Fragment} from \"preact\";\nimport {Section, Panel, ILatex, BLatex, PLatex, Todo} from \"bluelib\";\nimport Example from \"../../components/Example\";\n\nconst r = String.raw;\n\n\nexport default function (props) {\n return (\n <Fragment>\n <Section title={\"Problema: Interpolazione\"}>\n <Panel title={\"Descrizione\"}>\n <p>\n Si vuole trovare una funzione in grado di <b>approssimarne</b> un altra, di cui si conoscono però solo alcuni punti.\n </p>\n <Example>\n È utile in un sacco di casi! Ad esempio, quando si vuole scalare un'immagine.\n </Example>\n </Panel>\n </Section>\n <Section title={\"Metodi di interpolazione\"}>\n <Panel title={\"Metodo dei coefficienti indeterminati\"}>\n <Todo>TODO</Todo>\n </Panel>\n <Panel title={\"Metodo di Lagrange\"}>\n <Todo>TODO</Todo>\n </Panel>\n </Section>\n <Section title={\"Resto di interpolazione\"}>\n <Panel title={\"Definizione\"}>\n <Todo>TODO</Todo>\n </Panel>\n <Panel title={\"Stima\"}>\n <Todo>TODO</Todo>\n </Panel>\n <Panel title={\"Fenomeno di Runge\"}>\n <Todo>TODO</Todo>\n </Panel>\n <Panel title={\"Nodi di Chebychev\"}>\n <Todo>TODO</Todo>\n </Panel>\n </Section>\n </Fragment>\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menulist\":\"menulist__2Cmnq\"};","import style from \"./02_ZeriDiFunzione.less\";\nimport {Fragment} from \"preact\";\nimport {Section, Panel, ILatex, BLatex, PLatex, Todo} from \"bluelib\";\nimport Example from \"../../components/Example\";\n\nconst r = String.raw;\n\n\nexport default function (props) {\n return (\n <Fragment>\n <Section title={\"Problema: Ricerca degli zeri di funzione\"}>\n <Panel title={\"Descrizione\"}>\n <p>\n Si vogliono trovare i punti (<i>zeri</i>) in cui una funzione <b>continua</b> <ILatex>f : [a, b] \\to R</ILatex> vale <ILatex>0</ILatex>.\n </p>\n <p>\n Per il <b>teorema del valore medio</b>, se <ILatex>{r`f(a) \\cdot f(b) \\leq 0`}</ILatex>, allora esiste sicuramente un punto in cui la funzione vale 0.\n </p>\n <p>\n Denominiamo il punto in cui la funzione vale <ILatex>0</ILatex> come <ILatex>{r`x_{(*)}`}</ILatex>.\n </p>\n </Panel>\n <Panel title={\"Condizionamento\"}>\n <p>\n Più la <b>derivata prima</b> della funzione <b>si avvicina allo 0</b>, <b>peggio</b> il problema sarà condizionato.\n </p>\n <PLatex>{r`f'(x_{(*)}) \\simeq 0 \\implies mal\\ condizionato`}</PLatex>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Ordine di convergenza\"}>\n <p>\n Indice <ILatex>{r`{\\color{Orange} p}`}</ILatex> di quanto in fretta una successione converge alla soluzione.\n </p>\n <PLatex>{r`\\lim_{i \\to +\\infty} \\frac{ \\left| x_{(i+1)} - x_{(*)} \\right| }{ \\left| x_{(k)} - x_{(*)} \\right|^{\\color{Orange} p}}`}</PLatex>\n <ul>\n <li><u>Convergenza lineare</u>: <ILatex>{r`p = 1`}</ILatex> e <ILatex>{r`0 < C < 1`}</ILatex></li>\n <li><u>Convergenza superlineare</u>: <ILatex>{r`p = 1`}</ILatex> e <ILatex>{r`C = 0`}</ILatex></li>\n <li><u>Convergenza quadratica</u>: <ILatex>{r`p = 2`}</ILatex> e <ILatex>{r`0 < C < 1`}</ILatex></li>\n <li><u>Convergenza superquadratica</u>: <ILatex>{r`p = 2`}</ILatex> e <ILatex>{r`C = 0`}</ILatex></li>\n <li>...</li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Metodi dicotomici\"}>\n <Panel title={\"Cosa sono?\"}>\n <p>\n Sono <b>metodi iterativi</b> in grado di ridurre sempre di più l'intervallo in cui è definita la funzione, facendolo convergere allo zero desiderato.\n </p>\n <p>\n Alcuni di essi sono il <i>metodo dicotomico</i> e il <i>metodo regula falsi</i>.\n </p>\n <p>\n Richiedono <b>una valutazione di funzione non-lineare</b> ad ogni iterazione.\n </p>\n <p>\n Ad ogni iterazione, l'intervallo viene sempre <i>almeno</i> <b>dimezzato</b>; si ha, pertanto, che:\n </p>\n <PLatex>{r`b_{(i)} - a_{(i)} = \\frac{b - a}{2^{i - 1}}`}</PLatex>\n <p>\n Hanno quindi <b>convergenza lineare</b> (<ILatex>{r`C = \\frac{1}{2}, p = 1`}</ILatex>).\n </p>\n <p>\n Il loro <i>criterio di arresto</i> è un <b>numero di iterazioni prefissato</b> che dipende dalla <b>tolleranza</b> sull'errore:\n </p>\n <PLatex>{r`i \\geq \\log_2 \\left( \\frac{b - a}{\\tau} \\right)`}</PLatex>\n <Example>\n Dividi l'intervallo <ILatex>{r`[a, b]`}</ILatex> in tante parti grandi quanto la tolleranza. L'algoritmo di bisezione ne escluderà metà ad ogni iterazione; la tolleranza sarà raggiunta quando rimarrà una parte sola!\n </Example>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Metodo di bisezione\"}>\n <ol>\n <li>Finchè non sono state compiute il numero di iterazioni prefissate:\n <ol>\n <li>\n Calcoliamo il <b>punto medio</b> dell'intervallo <ILatex>{r`[a_{(n)}, b_{(n)}]`}</ILatex>:\n <PLatex>{r`c_{(n)} = a_{(n)} + \\frac{b_{(n)} - a_{(n)}}{2}`}</PLatex>\n </li>\n <li>\n Dividiamo l'intervallo in due parti, separate da <ILatex>{r`c_{(n)}`}</ILatex>:\n <ul>\n <li><ILatex>{r`[a_{(n)}, c_{(n)}]`}</ILatex> è la <b>metà</b> sinistra</li>\n <li><ILatex>{r`[c_{(n)}, b_{(n)}]`}</ILatex> è la <b>metà</b> destra</li>\n </ul>\n </li>\n <li>\n Teniamo l'intervallo in cui i valori della funzione ai due estremi sono discordi, e rinominiamolo in <ILatex>{r`[a_{(n+1)}, b_{(n+1)}]`}</ILatex>.\n </li>\n </ol>\n </li>\n </ol>\n </Panel>\n <Panel title={\"Metodo regula falsi\"}>\n <ol>\n <li>Finchè non sono state compiute il numero di iterazioni prefissate:\n <ol>\n <li>\n Calcoliamo l'<b>intersezione</b> tra la <b>retta che congiunge i due estremi</b> <ILatex>{r`a_{(n)}, b_{(n)}`}</ILatex> e l'<b>asse X</b>:\n <PLatex>{r`c_{(n)} = b_{(n)} - \\frac{f(b_{(n)})}{\\frac{f(b_{(n)}) - f(a_{(n)})}{b_{(n)} - a_{(n)}}}`}</PLatex>\n </li>\n <li>\n Dividiamo l'intervallo in due parti, separate da <ILatex>{r`c_{(n)}`}</ILatex>:\n <ul>\n <li><ILatex>{r`[a_{(n)}, c_{(n)}]`}</ILatex> è la parte sinistra</li>\n <li><ILatex>{r`[c_{(n)}, b_{(n)}]`}</ILatex> è la parte destra</li>\n </ul>\n </li>\n <li>\n Teniamo l'intervallo in cui i valori della funzione ai due estremi sono discordi, e rinominiamolo in <ILatex>{r`[a_{(n+1)}, b_{(n+1)}]`}</ILatex>.\n </li>\n </ol>\n </li>\n </ol>\n </Panel>\n </Section>\n <Section title={\"Metodo delle approssimazioni successive\"}>\n <Panel title={\"Metodi delle approssimazioni successive\"}>\n <p>\n Sono <b>metodi iterativi</b> che funzionano in modo molto simile ai metodi iterativi per i sistemi lineari, utilizzando una funzione <ILatex>{r`\\phi`}</ILatex> come \"metodo\".\n </p>\n <PLatex>{r`x = x - \\phi(x) \\cdot f(x)`}</PLatex>\n <p>\n Che diventa:\n </p>\n <PLatex>{r`x_{(k+1)} = g( x_{(k)} )`}</PLatex>\n <p>\n Sfruttano i <b>punti fissi</b> <ILatex>{r`g(x_{(*)}) = x_{(*)}`}</ILatex> della funzione <ILatex>{r`f`}</ILatex> per convergere:<br/>\n se <ILatex>{r`\\phi(x)`}</ILatex> non ha zeri, allora i punti fissi <b>coincideranno</b> con gli <b>zeri</b> della funzione <ILatex>{r`f`}</ILatex>.\n </p>\n <PLatex>{r`g(x) = x - \\phi(x) \\cdot f(x)`}</PLatex>\n <p>\n Si può raggiungere iterativamente ad un punto fisso attraverso la formula:\n </p>\n <PLatex>{r`x_{(k+1)} = g( x_{(k)} )`}</PLatex>\n <p>\n <u>Teorema della mappa contrattiva</u>: il punto fisso <b>esiste</b> ed è <b>unico</b>. <Todo>TODO: Studiarlo?</Todo>\n </p>\n <p>\n Non si conosce in anticipo il numero di iterazioni necessarie per soddisfare la tolleranza <ILatex>{r`\\tau`}</ILatex>; ad ogni iterazione, si controlla se la tolleranza è soddisfatta:\n </p>\n <ul>\n <li>Nella differenza tra due iterate: <ILatex>{r`\\frac{\\left| x_{(k+1)} - x_{(k)} \\right|}{\\left| x_{(k+1)} \\right|} \\leq \\tau`}</ILatex></li>\n <li>Nel <i>residuo</i> del problema: <ILatex>{r`\\left| f(x_{(k)}) \\right| \\leq \\tau`}</ILatex></li>\n </ul>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Metodo di Newton\"}>\n <p>\n Sfrutta la <b>continuità</b> delle funzioni per ottenere una convergenza di ordine più alto.\n </p>\n <PLatex>{r`\\phi (x) = \\frac{1}{f' (x)}`}</PLatex>\n <PLatex>{r`x_{(k+1)} = x_{(k)} - \\frac{ f(x_{(k)}) }{ f'(x_{(k)}) }`}</PLatex>\n <Example>\n Geometricamente, corrisponde a prolungare una retta nel punto <ILatex>{r`(x_{(k)}, f(x_{(k)}))`}</ILatex> con pendenza <ILatex>{r`f'(x_{(k)})`}</ILatex>, e prendendo come nuovo punto la sua intersezione con l'asse X e la sua corrispettiva immagine nella funzione.\n </Example>\n <p>\n Ha costo computazionale di <b>2 valutazioni di funzione</b> più <b>2 valutazioni di derivata</b>.\n </p>\n <p>\n Ha <b>convergenza quadratica</b>.\n </p>\n </Panel>\n <Panel title={\"Metodo delle secanti\"}>\n <p>\n È come il metodo di Newton, ma usa il <b>rapporto incrementale</b>, in modo da poter essere applicato a funzioni non continue.\n </p>\n <PLatex>{r`\\phi (x) = \\frac{ 1 }{ \\frac{ f(x_{(k)}) - f(x_{(k-1)}) }{ x_{(k)} - x_{(k-1)} } }`}</PLatex>\n <PLatex>{r`x_{(k+1)} = x_{(k)} - \\frac{ f(x_{(k)}) }{ \\frac{ f(x_{(k)}) - f(x_{(k-1)}) }{ x_{(k)} - x_{(k-1)} } }`}</PLatex>\n <Example>\n Geometricamente, corrisponde a costruire una retta che attraversa i punti <ILatex>{r`(x_{(k)}, f(x_{(k)}))`}</ILatex> e <ILatex>{r`(x_{(k-1)}, f(x_{(k-1)}))`}</ILatex>, e prendendo come nuovo punto la sua intersezione con l'asse X e la sua corrispettiva immagine nella funzione.\n </Example>\n <p>\n Ha costo computazionale di <b>3 valutazioni di funzione</b>.\n </p>\n <p>\n Ha <b>convergenza superlineare</b>.\n </p>\n </Panel>\n </Section>\n </Fragment>\n )\n}\n","import style from \"./MenuList.less\";\n\nexport default function(props) {\n return (\n <ul class={style.menulist}>\n {props.children}\n </ul>\n )\n}","import style from \"./Example.less\";\n\nexport default function (props) {\n return (\n <div class={style.example}>\n {props.children}\n </div>\n );\n}\n","import style from \"./01_SistemiLineari.less\"\nimport {ILatex, Panel, PLatex, Section, Todo} from \"bluelib\";\nimport Link from \"../../components/Link\";\nimport Example from \"../../components/Example\";\nimport {Fragment} from \"preact\";\n\nconst r = String.raw;\n\n\nexport default function (props) {\n return (\n <Fragment>\n <Section title={\"Problema: Risoluzione di sistemi lineari\"}>\n <Panel title={\"Descrizione\"}>\n <Todo>TODO</Todo>\n </Panel>\n <Panel title={\"Condizionamento\"}>\n <p>\n Il condizionamento della risoluzione di sistemi lineari è:\n </p>\n <PLatex>{r`\\frac{{\\color{yellow} \\|A\\| \\cdot \\|A^{-1}\\|} \\cdot \\| \\Delta b \\|}{\\| b \\|}`}</PLatex>\n <p>\n In particolare, è segnato in giallo nella formula il <b>numero di condizionamento</b>:\n </p>\n <PLatex>\n {r`k(A) = \\| A \\| \\cdot \\| A^{-1} \\|`}\n </PLatex>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Metodi diretti\"}>\n <p>\n Metodi che trovano la soluzione esatta<abbr title={\"Per quanto possibile nell'algebra di macchina.\"}>*</abbr> di un sistema lineare.\n </p>\n <p>\n Tipicamente prevedono la <b>fattorizzazione</b> della matrice dei coefficienti in due sottomatrici più facili da risolvere.\n </p>\n <p>\n Generalmente hanno una complessità temporale <ILatex>{r`O(n^3)`}</ILatex>.\n </p>\n </Panel>\n <Panel title={\"Metodi iterativi\"}>\n <p>\n Metodi che trovano una soluzione imperfetta<abbr title={\"Che però può essere la migliore ottenibile, considerando la precisione di macchina.\"}>*</abbr> di un sistema lineare.\n </p>\n <p>\n Tipicamente prevedono l'applicazione ripetuta di un <b>metodo</b>, in base al quale cambia la <b>velocità di convergenza</b> alla soluzione.\n </p>\n <p>\n Generalmente hanno una complessità temporale <ILatex>{r`O(n^2)`}</ILatex>.\n </p>\n </Panel>\n </Section>\n <Section title={\"Metodi diretti\"}>\n <Panel title={\"Divisione\"}>\n <p>\n Se la matrice dei coefficienti del sistema è <b>diagonale</b>, allora è possibile trovare la soluzione <i>dividendo</i> ogni termine noto per l'unico coefficiente diverso da zero presente nella sua riga:\n </p>\n <PLatex>{r`x_i = \\frac{b_i}{A_{ii}}`}</PLatex>\n </Panel>\n <Panel title={\"Sostituzione\"}>\n <p>\n Se la matrice dei coefficienti del sistema è <b>triangolare</b> inferiore o superiore, allora è possibile trovare la soluzione effettuando una <i>sostituzione</i> all'avanti oppure all'indietro:\n </p>\n <PLatex>{r`x_i = \\frac{b_i - \\sum_{k = 1}^{i - 1} (x_k \\cdot A_{ik})}{A_{ii}}`}</PLatex>\n <PLatex>{r`x_i = \\frac{b_i - \\sum_{k = i - 1}^{n} (x_k \\cdot A_{ik})}{A_{ii}}`}</PLatex>\n </Panel>\n </Section>\n <Section>\n <Panel title={<span>Fattorizzazione <ILatex>{r`LU`}</ILatex></span>}>\n <p>\n Se la matrice dei coefficienti del sistema <b>non ha <Link href={\"https://it.wikipedia.org/wiki/Minore_(algebra_lineare)\"}>minori</Link> uguali a 0 <small>(eccetto l'ultimo)</small></b> allora è possibile <i>fattorizzarla</i> in due matrici: una <ILatex>{r`L`}</ILatex> triangolare inferiore, e una <ILatex>{r`U`}</ILatex> triangolare superiore.\n </p>\n <PLatex>{r`A = L \\cdot U`}</PLatex>\n <Example>\n Abbiamo fatto questo metodo in Algebra Lineare, chiamandolo <b>metodo di Gauss</b>.\n </Example>\n <p>\n La matrice <ILatex>{r`L`}</ILatex> è così composta:\n </p>\n <PLatex>{r`\n \\begin{cases}\n L_{ii} = 1 \\qquad \\qquad (diagonale)\\\\\n L_{ik} = -\\frac{A_{ik}}{A_{kk}} \\qquad (tri.\\ infer.)\n \\end{cases}\n `}</PLatex>\n <Example>\n Sono i moltiplicatori usati per rendere annullare il triangolo inferiore!\n </Example>\n <p>\n La matrice <ILatex>{r`U`}</ILatex> è così composta:\n </p>\n <PLatex>{r`\n \\begin{cases}\n U_{ik} = A_{ik} \\quad se\\ i \\leq k \\quad (tri.\\ super.)\\\\\n U_{ik} = 0 \\qquad se\\ i > k \\quad (tri.\\ infer.)\n \\end{cases}\n `}</PLatex>\n <p>\n Il sistema può essere poi risolto applicando due volte il metodo di sostituzione:\n </p>\n <PLatex>{r`\n \\begin{cases}\n L \\cdot y = b\\\\\n U \\cdot x = y\n \\end{cases}\n `}</PLatex>\n <p>\n Questo metodo ha costo computazionale:\n </p>\n <PLatex>{r`{\\color{Yellow} O\\left(\\frac{n^3}{3}\\right)} + 2 \\cdot O\\left(\\frac{n^2}{2}\\right)`}</PLatex>\n </Panel>\n <Panel title={<span>Fattorizzazione <ILatex>{r`LU`}</ILatex> con pivoting parziale</span>}>\n <p>\n È possibile applicare la fattorizzazione <ILatex>{r`LU`}</ILatex> a <b>qualsiasi matrice non-singolare</b> permettendo lo scambio (<i>pivoting</i>) delle righe, potenzialmente <b>aumentando la stabilità</b> dell'algoritmo.\n </p>\n <Example>\n Abbiamo fatto questo metodo in Algebra Lineare, chiamandolo <b>metodo di Gauss-Jordan</b>!\n </Example>\n <p>\n Alla formula precedente si aggiunge una <Link href={\"https://it.wikipedia.org/wiki/Matrice_di_permutazione\"}>matrice di permutazione</Link> che indica quali righe sono state scambiate:\n </p>\n <PLatex>{r`P \\cdot A = L \\cdot U`}</PLatex>\n <p>\n Questo metodo ha costo computazionale:\n </p>\n <PLatex>{r`{\\color{Yellow} O\\left(\\frac{n^2}{2}\\right)} + O\\left(\\frac{n^3}{3}\\right) + 2 \\cdot O\\left(\\frac{n^2}{2}\\right)`}</PLatex>\n </Panel>\n <Panel title={<span>Fattorizzazione <ILatex>{r`LU`}</ILatex> con pivoting totale</span>}>\n <p>\n È possibile anche permettere il <i>pivoting</i> <b>sulle colonne</b> per <b>aumentare ulteriormente la stabilità</b> dell'algoritmo, a costo di maggiore costo computazionale:\n </p>\n <PLatex>{r`P \\cdot A \\cdot Q = L \\cdot U`}</PLatex>\n <p>\n Questo metodo ha costo computazionale:\n </p>\n <PLatex>{r`{\\color{Yellow} O\\left(\\frac{n^3}{3}\\right)} + O\\left(\\frac{n^3}{3}\\right) + 2 \\cdot O\\left(\\frac{n^2}{2}\\right)`}</PLatex>\n </Panel>\n </Section>\n <Section>\n <Panel title={<span>Fattorizzazione <ILatex>{r`LDL^{-1}`}</ILatex></span>}>\n <p>\n È possibile <b>ridurre la complessità computazionale</b> della fattorizzazione <ILatex>{r`LU`}</ILatex> se la matrice dei coefficienti è <b>simmetrica</b>:\n </p>\n <PLatex>{r`A = L \\cdot D \\cdot L^{-1}`}</PLatex>\n <p>\n In questo caso, si calcola solo la matrice L, utilizzando il <b>metodo di pavimentazione</b>.\n </p>\n <PLatex>{r`\n \\begin{cases}\n d_{ii} = A_{ii} - \\sum_{k=1}^{i-1} ( d_{kk} \\cdot (l_{jk})^2 )\\\\\n \\\\\n l_{ij} = \\frac{A_{ij} - \\sum_{k=1}^{j-1} l_{ik} \\cdot d_{kk} \\cdot l_{jk}}{d_{ii}}\n \\end{cases}\n `}</PLatex>\n <Example>\n <p>\n La prima colonna della matrice sarà:\n </p>\n <PLatex>{r`\n \\begin{cases}\n d_{11} = A_{11}\\\\\n \\\\\n l_{i1} = \\frac{A_{i1}}{d_{11}}\n \\end{cases}\n `}</PLatex>\n <p>\n La seconda colonna della matrice sarà:\n </p>\n <PLatex>{r`\n \\begin{cases}\n d_{22} = A_{22} - d_{11} \\cdot (l_{21})^2\\\\\n \\\\\n l_{i2} = \\frac{A_{i2} - l_{i1} \\cdot d_{11} \\cdot l_{21}}{d_{ii}}\n \\end{cases}\n `}</PLatex>\n </Example>\n <p>\n Questo metodo ha costo computazionale:\n </p>\n <PLatex>{r`{\\color{Yellow} O\\left(\\frac{n^3}{6}\\right)} + O\\left(\\frac{n^3}{3}\\right) + 2 \\cdot O\\left(\\frac{n^2}{2}\\right)`}</PLatex>\n </Panel>\n <Panel title={<span>Fattorizzazione <ILatex>{r`\\mathcal{L} \\mathcal{L}^{-1}`}</ILatex></span>}>\n <p>\n È possibile dare <b>stabilità forte</b> alla fattorizzazione <ILatex>{r`LDL^{-1}`}</ILatex> se la matrice dei coefficienti è <b>simmetrica definita positiva</b>:\n </p>\n <PLatex>{r`A = \\mathcal{L} \\cdot \\mathcal{L}^{-1}`}</PLatex>\n <p>\n Il <b>metodo di pavimentazione</b> diventa:\n </p>\n <PLatex>{r`\n \\begin{cases}\n l_{ii} = \\sqrt{A_{ii} - \\sum_{k=1}^{i-1} (l_{ik})^2 }\\\\\n \\\\\n l_{ij} = \\frac{A_{ij} - \\sum_{k=1}^{j-1} l_{ik} \\cdot l_{jk}}{l_{ii}}\n \\end{cases}\n `}</PLatex>\n <p>\n Questo metodo ha costo computazionale:\n </p>\n <PLatex>{r`O\\left(\\frac{n^3}{3}\\right) + O\\left(\\frac{n^3}{3}\\right) + 2 \\cdot O\\left(\\frac{n^2}{2}\\right)`}</PLatex>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Trasformazione di Householder\"}>\n <p>\n Matrice ricavata dalla seguente formula:\n </p>\n <PLatex>{r`U(v) = I - \\frac{1}{\\alpha} \\cdot v \\cdot v^T`}</PLatex>\n <PLatex>{r`\\alpha = \\frac{1}{2} \\| v \\|_{(2)}^2`}</PLatex>\n </Panel>\n <Panel title={<span>Fattorizzazione <ILatex>{r`QR`}</ILatex></span>}>\n <p>\n Metodo che fornisce una <b>maggiore stabilità</b> a costo di una <b>maggiore complessità computazionale</b>.\n </p>\n <p>\n La matrice <ILatex>{r`A`}</ILatex> viene <i>fattorizzata</i> in due matrici, una <b>ortogonale</b> <ILatex>{r`Q`}</ILatex> e una <b>triangolare superiore</b> <ILatex>{r`R`}</ILatex>:\n </p>\n <PLatex>{r`A = Q \\cdot R`}</PLatex>\n <p>\n Le matrici si ottengono dal prodotto delle trasformazioni di Householder (<ILatex>{r`Q`}</ILatex> sulle colonne della matrice <ILatex>{r`A`}</ILatex>, trasformandola in una matrice triangolare superiore (<ILatex>{r`R`}</ILatex>).\n </p>\n <p>\n Una volta fattorizzata, il sistema si può risolvere con:\n </p>\n <PLatex>{r`\n \\begin{cases}\n y = Q^T \\cdot b\\\\\n R \\cdot x = y\n \\end{cases}\n `}</PLatex>\n <p>\n Questo metodo ha costo computazionale:\n </p>\n <PLatex>{r`{\\color{Yellow} O\\left(\\frac{2 \\cdot n^3}{3}\\right)} + 2 \\cdot O\\left(\\frac{n^2}{2}\\right)`}</PLatex>\n <p>\n <Todo>TODO: l'algoritmo con tau per ricavare la q se non è in memoria</Todo>\n </p>\n </Panel>\n </Section>\n <Section title={\"Metodi iterativi\"}>\n <Panel title={\"Forma generale\"}>\n <p>\n Se si pone che:\n </p>\n <PLatex>{r`\n \\begin{cases}\n G = I - M^{-1} \\cdot A\\\\\n c = M^{-1} \\cdot b\n \\end{cases}\n `}</PLatex>\n <p>\n Allora la formula generale di un sistema lineare può anche essere scritta in questo modo:\n </p>\n <PLatex>{r`x = G \\cdot x + c`}</PLatex>\n <p>\n È particolarmente utile perchè ci permette di definire un <b>algoritmo ricorsivo</b> che trovi <ILatex>{r`x`}</ILatex>:\n </p>\n <PLatex>{r`x_{(i+1)} = G \\cdot x_{(i)} + c`}</PLatex>\n <p>\n <ILatex>{r`G`}</ILatex> è il <b>metodo</b>, e in base ad esso cambiano stabilità e velocità di convergenza.\n </p>\n <p>\n Ponendo <ILatex>{r`A = M - N`}</ILatex>, la formula può essere scritta anche in questo modo:\n </p>\n <PLatex>{r`M \\cdot x_{(i+1)} = N \\cdot x_{(i)} + b`}</PLatex>\n <p>\n Possiamo ottenere alcuni metodi separando <ILatex>A</ILatex> in tre matrici:\n </p>\n <ul>\n <li>La parte diagonale <ILatex>{r`D`}</ILatex></li>\n <li>L'opposto del triangolo inferiore <ILatex>{r`E`}</ILatex></li>\n <li>L'opposto del triangolo superiore <ILatex>{r`F`}</ILatex></li>\n </ul>\n <PLatex>{r`A = D - E - F`}</PLatex>\n </Panel>\n <Panel title={\"Convergenza di un metodo\"}>\n <p>\n Un metodo è convergente se e solo se:\n </p>\n <PLatex>{r`\\rho (M) < 1`}</PLatex>\n <p>\n (dove <ILatex>{r`\\rho`}</ILatex> è il <b>raggio spettrale</b>, il massimo autovalore della matrice)\n </p>\n <p>\n Perchè un metodo sia convergente, è sufficiente che:\n </p>\n <PLatex>{r`\\| M \\| < 1`}</PLatex>\n <p>\n <Todo>TODO: l'algoritmo con tau per le condizioni di arresto</Todo>\n </p>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Metodo di Jacobi\"}>\n <p>\n Il metodo di Jacobi si ottiene ponendo:\n </p>\n <PLatex>{r`\n \\begin{cases}\n M = D\\\\\n N = E + F\n \\end{cases}\n `}</PLatex>\n <p>\n <u>Spostamenti simultanei</u>: Permette di ottenere ogni componente di <ILatex>{r`x`}</ILatex> indipendentemente dagli altri: è <b>parallelizzabile</b>.\n </p>\n <p>\n Se la matrice è <b>diagonale dominante</b>, allora il metodo di Jacobi <b>converge</b> sicuramente.\n </p>\n </Panel>\n <Panel title={\"Metodo di Gauss-Seidel\"}>\n <p>\n Il metodo di Gauss-Seidel si ottiene ponendo:\n </p>\n <PLatex>{r`\n \\begin{cases}\n M = D - E\\\\\n N = F\n \\end{cases}\n `}</PLatex>\n <p>\n Ha una velocità di convergenza <b>maggiore o uguale</b> rispetto al metodo di Jacobi.\n </p>\n <p>\n <u>Spostamenti successivi</u>: Non è parallelizzabile, perchè ogni componente <b>dipende da quelle calcolate in precedenza</b>.\n </p>\n <p>\n Se la matrice è <b>diagonale dominante</b>, allora il metodo di Gauss-Seidel <b>converge</b> sicuramente.\n </p>\n </Panel>\n </Section>\n </Fragment>\n )\n}\n","import {ILatex, Panel, PLatex, Section, Timer, Todo} from \"bluelib\";\nimport Example from \"../../components/Example\";\nimport Link from \"../../components/Link\";\nimport MenuList from \"../../components/MenuList\";\nimport Intro from \"./00_Intro\";\nimport SistemiLineari from \"./01_SistemiLineari\";\nimport ZeriDiFunzione from \"./02_ZeriDiFunzione\";\nimport Interpolazione from \"./03_Interpolazione\";\n\nconst r = String.raw;\n\n\nexport default function (props) {\n return (\n <div>\n <h1>Calcolo Numerico</h1>\n <Intro/>\n <SistemiLineari/>\n <ZeriDiFunzione/>\n <Interpolazione/>\n </div>\n )\n}\n","import style from \"./00_Intro.less\"\nimport {ILatex, Panel, PLatex, Section, Timer} from \"bluelib\";\nimport Link from \"../../components/Link\";\nimport MenuList from \"../../components/MenuList\";\nimport Example from \"../../components/Example\";\nimport {Fragment} from \"preact\";\n\nconst r = String.raw;\n\n\nexport default function (props) {\n return (\n <Fragment>\n <Section title={\"Esame\"}>\n <Panel title={\"Contatti\"}>\n <ul>\n <li><Link href={\"mailto:silvia.bonettini@unimore.it\"}>Prof.ssa Silvia Bonettini</Link></li>\n </ul>\n </Panel>\n <Panel title={\"Orale\"}>\n <p>\n E' composto da:\n </p>\n <ul>\n <li>2 domande sugli argomenti teorici</li>\n <li>1 domanda di implementazione algoritmo in MATLAB</li>\n </ul>\n </Panel>\n <Panel title={\"Sessione autunnale\"}>\n <ol>\n <li><Timer to={\"2020-08-31 09:00\"}/></li>\n <li><Timer to={\"2020-09-14 09:00\"}/></li>\n </ol>\n </Panel>\n </Section>\n <Section title={\"Informazioni\"}>\n <Panel title={\"Ripasso di Algebra Lineare\"}>\n <p>\n Prima di iniziare a studiare Calcolo Numerico, potrebbe essere una buona idea ripassare un pochino Algebra Lineare:\n </p>\n <MenuList>\n <li>\n <a href={\"/calcolonumerico/ripassodialgebralineare\"}>Ripasso di Algebra Lineare</a> <small>(per studenti sperduti di Calcolo Numerico)</small>\n </li>\n </MenuList>\n </Panel>\n </Section>\n <Section title={\"Algoritmi\"}>\n <Panel title={\"Algoritmi numerici\"}>\n <p>\n Particolari algoritmi che hanno:\n </p>\n <ul>\n <li>numeri reali in input e output</li>\n <li>successioni delle quattro operazioni aritmetiche fondamentali come passi</li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Errore di rappresentazione\"}>\n <Panel title={\"Cos'è?\"}>\n <p>\n Con i numeri floating point può capitare che un certo numero <ILatex>{r`\\alpha`}</ILatex> non\n sia rappresentato correttamente.\n </p>\n <p>\n In tal caso, il numero si indica con <ILatex>{r`\\alpha^*`}</ILatex>.\n </p>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Errore assoluto\"}>\n <p>\n È la differenza tra il numero desiderato e il numero rappresentato:\n </p>\n <PLatex>{r`E_a = \\left | \\alpha - \\alpha^* \\right |`}</PLatex>\n </Panel>\n <Panel title={\"Errore relativo\"}>\n <p>\n Indica quanto il numero rappresentato differisce dal numero desiderato:\n </p>\n <PLatex>{r`\\forall \\alpha \\neq 0, E_r = \\frac{E_a}{\\left | \\alpha \\right |}`}</PLatex>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Troncamento\"}>\n <p>\n Metodo con cui gestire gli <b>underflow floating point</b>: le cifre meno significative\n vengono <b>rimosse</b>.\n </p>\n <Example>\n <pre>\n 1.00 → 1.0<br/>\n 1.01 → 1.0<br/>\n 1.10 → 1.1<br/>\n 1.11 → 1.1\n </pre>\n </Example>\n </Panel>\n <Panel title={\"Arrotondamento\"}>\n <p>\n Metodo con cui gestire gli <b>underflow floating point</b>: se la cifra più significativa di\n quelle che devono essere rimosse è 1, allora <b>aumenta di 1</b> anche quella meno signficativa\n che viene tenuta.\n </p>\n <Example>\n <pre>\n 1.00 → 1.0<br/>\n 1.01 → 1.0<br/>\n 1.10 → 1.1<br/>\n 1.11 → 10.\n </pre>\n </Example>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Precisione di macchina\"}>\n <p>\n Un numero reale rappresentato in <b>virgola mobile</b> ha un <b>errore relativo</b> minore o uguale alla <i>precisione\n di macchina</i>:\n </p>\n <p>\n <ILatex>{r`E_r \\leq k \\cdot \\beta^{1-t}`}</ILatex>\n </p>\n <ul>\n <li>\n <ILatex>\\beta</ILatex> è uguale alla base utilizzata (solitamente 2).\n </li>\n <li>\n <ILatex>t</ILatex> è uguale al numero di cifre della mantissa.\n </li>\n <li>\n <ILatex>k</ILatex> è uguale a <ILatex>1</ILatex> se il numero viene rappresentato per\n troncamento oppure a <ILatex>{r`\\frac{1}{2}`}</ILatex> se viene rappresentato per\n arrotondamento.\n </li>\n </ul>\n </Panel>\n <Panel title={\"La funzione fl\"}>\n <p>\n Associa un valore reale al suo <b>corrispondente valore floating point</b>, utilizzando uno dei\n due metodi di gestione dell'undeflow.\n </p>\n <PLatex>{r`fl(x) = (x)(1 + \\epsilon_x)`}</PLatex>\n <Example>\n Indica che un valore è soggetto alla precisione di macchina.\n <PLatex>{r`fl(1.11) = 1.1`}</PLatex>\n </Example>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Un nuovo insieme\"}>\n <p>\n L'insieme <ILatex>{r`\\mathbb{F}`}</ILatex> è il sottoinsieme dei numeri reali rappresentabili in\n floating point dalla macchina che stiamo usando.\n </p>\n <p>\n Operazioni tra elementi di <ILatex>{r`\\mathbb{F}`}</ILatex> producono risultati\n in <ILatex>{r`\\mathbb{R}`}</ILatex>, che però decaderanno nuovamente a elementi\n di <ILatex>{r`\\mathbb{F}`}</ILatex>, perdendo informazioni.\n </p>\n <p>\n Il teorema della precisione di macchina si applica quindi anche ai risultati delle operazioni.\n </p>\n </Panel>\n <Panel title={\"Caratteristiche delle operazioni di macchina\"}>\n <ul>\n <li>Hanno <b>più elementi neutri</b>.</li>\n <li>Un numero ha <b>più opposti</b>.</li>\n <li><b>Non</b> sono associative.</li>\n <li><b>Non</b> sono distributive.</li>\n <li><b>Non</b> vale la legge di annullamento del prodotto.</li>\n </ul>\n </Panel>\n </Section>\n <Section title={\"Errori nelle operazioni di macchina\"}>\n <Panel title={\"Errore inerente\"}>\n <p>\n Errore derivato da underflow sui <b>dati</b>.\n </p>\n <p>\n Si indica con <ILatex>{r`\\epsilon_{nome\\_var}`}</ILatex>.\n </p>\n <Example>\n L'errore sulla variabile <ILatex>x</ILatex> si indica con <ILatex>{r`\\epsilon_{x}`}</ILatex>.\n </Example>\n </Panel>\n <Panel title={\"Errore algoritmico\"}>\n <p>\n Errore derivato da underflow durante l'<b>esecuzione dell'algoritmo</b>.\n </p>\n <p>\n Si indica con <ILatex>{r`\\epsilon_{num\\_passo}`}</ILatex>.\n </p>\n <Example>\n L'errore al primo passo dell'algoritmo si indica con <ILatex>{r`\\epsilon_{1}`}</ILatex>.\n </Example>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Condizionamento\"}>\n <p>\n Sensibilità di un problema all'<b>errore inerente</b>.\n </p>\n <Example>\n <ILatex>{r`y = \\frac{1}{x}`}</ILatex> è mal condizionato intorno allo 0 e ben condizionato\n lontano dallo 0.\n </Example>\n </Panel>\n <Panel title={\"Stabilità\"}>\n <p>\n Sensibilità di un problema all'<b>errore algoritmico</b>.\n </p>\n <Example>\n <p>\n Cerchiamo un algoritmo che risolva <ILatex>{r`2x^* = 4`}</ILatex>.\n </p>\n <p>\n Calcolare prima <ILatex>{r`t = fl \\left( \\frac{1}{4} \\right)`}</ILatex> e\n poi <ILatex>{r`x = fl ( 2 \\cdot t )`}</ILatex> porta a una perdita di precisione.\n </p>\n <p>\n Calcolare direttamente <ILatex>{r`x = fl \\left( \\frac{2}{4} \\right)`}</ILatex> non ha alcuna\n perdita di precisione e rende l'algoritmo <b>più stabile</b> del precedente.\n </p>\n </Example>\n </Panel>\n </Section>\n <Section>\n <Panel title={\"Indice di condizionamento\"}>\n <p>\n È il coefficiente di proporzionalità tra i dati e l'<b>errore inerente</b>.\n </p>\n <p>\n Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.\n </p>\n <p>\n Minore è l'indice di condizionamento, meglio condizionato è un problema.\n </p>\n </Panel>\n <Panel title={\"Indice algoritmico\"}>\n <p>\n È il coefficiente di proporzionalità tra i dati e l'<b>errore algoritmico</b>.\n </p>\n <p>\n Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.\n </p>\n </Panel>\n </Section>\n </Fragment>\n )\n}\n"],"sourceRoot":""} |