{"version":3,"sources":["webpack:///./components/latex.css","webpack:///./components/panel.css","webpack:///./components/example.css","webpack:///./routes/calcoloNumerico.js","webpack:///./components/todo.js","webpack:///./components/timer.js","webpack:///./components/panel.js","webpack:///./components/example.js","webpack:///./components/timer.less","webpack:///./components/latex.js","webpack:///./components/split.js","webpack:///./components/todo.css","webpack:///./components/split.css"],"names":["module","exports","r","String","raw","CalcoloNumerico","render","title","href","Component","Todo","class","style","todo","this","props","children","Timer","state","Date","now","timer","componentDidMount","setInterval","setState","componentWillUnmount","clearInterval","dateTo","className","parts","milliseconds","seconds","minutes","hours","days","to","timeLeft","Math","floor","expired","unknown","count","text","remaining","Panel","getStyle","panel","undefined","id","Example","example","Latex","src","alt","latex","Split","Array","isArray","map","element","splitchild","split","splitparent"],"mappings":"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","file":"route-calcoloNumerico.chunk.f5c66.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"latex\":\"latex__3Esv7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"panel\":\"panel__1ubJw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"example\":\"example__P0_NL\"};","import {Component} from 'preact'\nimport Split from \"../components/split\";\nimport Latex from \"../components/latex\";\nimport Panel from \"../components/panel\";\nimport Example from \"../components/example\";\nimport Todo from \"../components/todo\";\nimport Timer from \"../components/timer\";\n\nconst r = String.raw;\n\nexport default class CalcoloNumerico extends Component {\n render() {\n return (\n
\n

Calcolo Numerico

\n \n \n

\n silvia.bonettini@unimore.it\n

\n
\n \n

\n Su appuntamento.\n

\n
\n
\n \n \n

\n E' composto da:\n

\n
    \n
  • 2 domande sugli argomenti teorici
  • \n
  • 1 domanda di implementazione algoritmo in MATLAB (facoltativa per i punteggi migliori del TBL)
  • \n
\n

\n Prossimo appello:\n \n

\n
\n
\n \n \n

\n Algoritmi che hanno:\n

\n
    \n
  • numeri reali in input e output
  • \n
  • successioni delle quattro operazioni aritmetiche fondamentali come passi
  • \n
\n
\n
\n \n \n

\n Con i numeri floating point può capitare che un certo numero {r`\\alpha`} non sia rappresentato correttamente.\n

\n

\n In tal caso, il numero si indica con {r`\\alpha^*`}.\n

\n
\n \n

\n È la differenza tra il numero desiderato e il numero rappresentato:\n

\n

\n {r`E_a = \\left | \\alpha - \\alpha^* \\right |`}\n

\n \n Vale sempre 0, tranne in caso di underflow o overflow.\n \n
\n \n

\n Indica quanto il numero rappresentato differisce dal numero desiderato:\n

\n

\n {r`\\forall \\alpha \\neq 0, E_r = \\frac{E_a}{\\left | \\alpha \\right |}`}\n

\n
\n
\n \n \n

\n L'errore relativo di un numero reale rappresentato in virgola mobile è minore o uguale alla precisione di macchina:\n

\n

\n {r`E_r \\leq k \\cdot \\beta^{1-t}`}\n

\n
    \n
  • \n \\beta è uguale alla base utilizzata (solitamente 2).\n
  • \n
  • \n t è uguale al numero di cifre della mantissa.\n
  • \n
  • \n k è uguale a 1 se il numero viene rappresentato per troncamento oppure a {r`\\frac{1}{2}`} se viene rappresentato per arrotondamento.\n
  • \n
\n
\n
\n \n \n

\n L'insieme F è il sottoinsieme dei numeri reali rappresentabili in floating point dalla macchina che stiamo usando.\n

\n

\n Operazioni tra elementi di F producono risultati in {r`\\mathbb{R}`}, che però decaderanno nuovamente a elementi di F, perdendo informazioni.\n

\n

\n Il teorema della precisione di macchina si applica quindi anche ai risultati delle operazioni.\n

\n
\n \n
    \n
  • Hanno più di un elemento neutro.
  • \n
  • Un numero ha più opposti.
  • \n
  • Non sono associative.
  • \n
  • Non sono distributive.
  • \n
  • Non vale la legge di annullamento del prodotto.
  • \n
\n
\n \n

\n Indica che un valore è soggetto alla precisione di macchina:\n

\n

\n {r`fl(x) = (x)(1 + \\epsilon_x)`}\n

\n
\n
\n \n \n

\n Errore dipendente solo dai dati.\n

\n

\n TODO: qual è la formula?\n

\n

\n È l'errore che si presenterebbe se {r`\\epsilon_1 = \\epsilon_2 = \\dots = 0`}.\n

\n
\n \n

\n Errore dipendente solo dalle operazioni effettuate.\n

\n

\n TODO: qual è la formula?\n

\n

\n È l'errore che si presenterebbe se {r`\\epsilon_x = \\epsilon_y = \\dots = 0`}.\n

\n
\n
\n \n \n

\n Un problema poco sensibile all'errore inerente.\n

\n \n {r`y = \\frac{1}{x}`} è mal condizionato intorno allo 0 e ben condizionato lontano dallo 0.\n \n
\n \n

\n Un algoritmo poco sensibile all'errore algoritmico.\n

\n \n

\n Cerchiamo un algoritmo che risolva {r`2x = 4`}.\n

\n

\n Calcolare prima {r`t = fl \\left( \\frac{1}{4} \\right)`} e poi {r`x^* = fl ( 2 \\cdot t )`} porta a una perdita di precisione.\n

\n

\n Calcolare direttamente {r`x^* = fl \\left( \\frac{2}{4} \\right)`} non ha alcuna perdita di precisione e rende l'algoritmo più stabile del precedente.\n

\n
\n
\n
\n \n \n

\n È il coefficiente di proporzionalità tra i dati e l'errore inerente.\n

\n

\n Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.\n

\n

\n Minore è l'indice di condizionamento, meglio condizionato è un problema.\n

\n
\n \n

\n È il coefficiente di proporzionalità tra i dati e l'errore algoritmico.\n

\n

\n Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.\n

\n
\n
\n
\n )\n }\n}\n","import style from \"./todo.css\";\r\nimport { Component } from 'preact';\r\n\r\nexport default class Todo extends Component {\r\n\trender() {\r\n\t\treturn {this.props.children};\r\n\t}\r\n}\r\n","import {Component} from 'preact'\r\nimport style from \"./timer.less\"\r\n\r\n\r\nexport default class Timer extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n \"now\": Date.now()\r\n };\r\n this.timer = null;\r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setInterval(() => {\r\n this.setState({\"now\": Date.now()})\r\n }, 1000)\r\n }\r\n\r\n componentWillUnmount() {\r\n if(this.timer !== null) {\r\n clearInterval(this.timer)\r\n }\r\n }\r\n\r\n render() {\r\n let dateTo = \"Unknown date\";\r\n let className = style.timer;\r\n\r\n let parts = {\r\n milliseconds: \"?\",\r\n seconds: \"?\",\r\n minutes: \"?\",\r\n hours: \"?\",\r\n days: \"?\",\r\n };\r\n\r\n if(this.props.to) {\r\n dateTo = new Date(this.props.to);\r\n let timeLeft = dateTo - this.state.now;\r\n\r\n if(timeLeft > 0) {\r\n parts = {\r\n milliseconds: timeLeft % 1000,\r\n seconds: Math.floor(timeLeft / 1000) % 60,\r\n minutes: Math.floor(timeLeft / 60000) % 60,\r\n hours: Math.floor(timeLeft / 3600000) % 24,\r\n days: Math.floor(timeLeft / 86400000),\r\n };\r\n }\r\n\r\n else {\r\n parts = {\r\n milliseconds: 0,\r\n seconds: 0,\r\n minutes: 0,\r\n hours: 0,\r\n days: 0,\r\n };\r\n\r\n className += \" \" + style.expired;\r\n }\r\n }\r\n else {\r\n className += \" \" + style.unknown;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {parts.days}\r\n
\r\n
\r\n giorni\r\n
\r\n
\r\n {parts.hours}\r\n
\r\n
\r\n ore\r\n
\r\n
\r\n {parts.minutes}\r\n
\r\n
\r\n minuti\r\n
\r\n
\r\n {parts.seconds}\r\n
\r\n
\r\n secondi\r\n
\r\n
\r\n rimasti\r\n
\r\n
\r\n )\r\n }\r\n}\r\n","import style from \"./panel.css\";\nimport { Component } from 'preact';\n\nexport default class Panel extends Component {\n\tgetStyle() {\n\t\treturn style.panel;\n\t};\n\n\trender() {\n\t\tlet title = null;\n\t\tif(this.props.title !== undefined) {\n\t\t\ttitle = (

{this.props.title}

);\n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t{title}\n\t\t\t\t{this.props.children}\n\t\t\t
\n\t\t);\n\t}\n}\n","import style from \"./example.css\";\nimport {Component} from \"preact\";\n\nexport default class Example extends Component {\n render() {\n return (\n
\n {this.props.children}\n
\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"timer\":\"timer__23gHK\",\"days\":\"days__3ZzFX\",\"hours\":\"hours__3LtGw\",\"minutes\":\"minutes__1_j61\",\"seconds\":\"seconds__gE-gj\",\"count\":\"count__28Md8\",\"text\":\"text__2kIQZ\",\"remaining\":\"remaining__1HVwa\",\"unknown\":\"unknown__teMQN\",\"expired\":\"expired__3wewI\"};","import style from './latex.css';\nimport { Component } from 'preact';\n\nexport default class Latex extends Component {\n\trender() {\n\t\tlet equation = `{\\\\color{White} ${this.props.children} }`;\n\t\treturn (\n\t\t\t{this.props.children}\n\t\t\t);\n\t}\n}","import style from \"./split.css\";\nimport { Component } from 'preact';\n\nexport default class Split extends Component {\n\trender() {\n\t let title = null;\n\t if(this.props.title !== undefined) {\n title = (

{this.props.title}

)\n }\n\n let children;\n if(Array.isArray(this.props.children)) {\n children = this.props.children.map(element => {\n return (
{element}
);\n });\n }\n else {\n children =
{this.props.children}
;\n }\n\t\treturn (\n\t
\n {title}\n
{children}
\n
\n );\n\t}\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"todo\":\"todo__1pOoN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"split\":\"split__3qCWp\",\"splitparent\":\"splitparent__2xagg\",\"splitchild\":\"splitchild__3cEoc\"};"],"sourceRoot":""}