{"version":3,"sources":["webpack:///./components/Example.less","webpack:///./components/old/todo.css","webpack:///./routes/calcoloNumerico.js","webpack:///./components/old/timer.js","webpack:///./components/old/timer.less","webpack:///./components/old/panel.js","webpack:///./components/Latex.js","webpack:///./components/example.js","webpack:///../src/index.js","webpack:///./components/old/split.css","webpack:///./components/old/todo.js","webpack:///./components/old/split.js","webpack:///./components/Latex.css","webpack:///./components/old/panel.less","webpack:///./contexts/LatexDefaultInline.js"],"names":["module","exports","r","String","raw","CalcoloNumerico","render","title","href","to","Component","Timer","state","Date","now","timer","componentDidMount","this","setInterval","setState","componentWillUnmount","clearInterval","dateTo","className","style","parts","milliseconds","seconds","minutes","hours","days","props","timeLeft","Math","floor","expired","unknown","class","count","text","remaining","Panel","getStyle","panel","undefined","id","children","renderColor","useContext","LatexRenderColor","defaultInline","LatexDefaultInline","src","inline","alt","latex","example","getHookState","index","options","_hook","currentComponent","hooks","__hooks","_list","_pendingEffects","length","push","useState","initialState","useReducer","invokeOrReturn","reducer","init","hookState","currentIndex","_component","_value","nextValue","action","useEffect","callback","args","argsChanged","_args","useLayoutEffect","_renderCallbacks","useRef","initialValue","useMemo","current","useImperativeHandle","ref","createHandle","concat","factory","_factory","useCallback","context","provider","_id","_defaultValue","sub","value","useDebugValue","formatter","flushAfterPaintEffects","afterPaintEffects","some","component","_parentDom","forEach","invokeCleanup","invokeEffect","e","_catchError","_vnode","hook","_cleanup","result","oldArgs","newArgs","arg","f","prevRaf","oldBeforeRender","_render","oldAfterDiff","diffed","oldCommit","_commit","oldBeforeUnmount","unmount","vnode","c","requestAnimationFrame","raf","done","clearTimeout","timeout","cancelAnimationFrame","setTimeout","window","commitQueue","filter","cb","Todo","todo","Split","Array","isArray","map","element","splitchild","split","splitparent","createContext"],"mappings":"4EACAA,EAAOC,QAAU,CAAC,QAAU,mB,mBCA5BD,EAAOC,QAAU,CAAC,KAAO,gB,wvGCOnBC,EAAIC,OAAOC,IAEIC,E,gLACjBC,OAAA,WACI,OACI,aACI,gCACA,EAAC,IAAD,CAAOC,MAAO,WACV,EAAC,IAAD,CAAOA,MAAO,wBACV,WACI,OAAGC,KAAM,sCAAT,iCAGR,EAAC,IAAD,CAAOD,MAAO,SACV,8BAGA,YACI,iDACA,gEAAqD,mEAG7D,EAAC,IAAD,CAAOA,MAAO,oBACV,YACI,YAAI,EAAC,IAAD,CAAOE,GAAI,gBACf,YAAI,EAAC,IAAD,CAAOA,GAAI,gBACf,YAAI,EAAC,IAAD,CAAOA,GAAI,gBACf,YAAI,EAAC,IAAD,CAAOA,GAAI,gBACf,YAAI,EAAC,IAAD,CAAOA,GAAI,gBACf,YAAI,EAAC,IAAD,CAAOA,GAAI,mBAI3B,EAAC,IAAD,CAAOF,MAAO,aACV,EAAC,IAAD,CAAOA,MAAO,sBACV,mCAGA,YACI,8CACA,2FAIZ,EAAC,IAAD,CAAOA,MAAO,8BACV,EAAC,IAAD,CAAOA,MAAO,8BACV,2EACiE,EAAC,IAAD,KAAQL,EAAR,MADjE,yCAGA,mDACyC,EAAC,IAAD,KAAQA,EAAR,MADzC,MAIJ,EAAC,IAAD,CAAOK,MAAO,mBACV,kFAGA,WACI,EAAC,IAAD,KAAQL,EAAR,OAEJ,EAAC,IAAD,gEAIJ,EAAC,IAAD,CAAOK,MAAO,mBACV,sFAGA,WACI,EAAC,IAAD,KAAQL,EAAR,SAIZ,EAAC,IAAD,CAAOK,MAAO,kBACV,EAAC,IAAD,CAAOA,MAAO,0BACV,0GACgG,qCADhG,KAGA,WACI,EAAC,IAAD,KAAQL,EAAR,OAEJ,YACI,YACI,EAAC,IAAD,eADJ,mDAGA,YACI,EAAC,IAAD,UADJ,gDAGA,YACI,EAAC,IAAD,UADJ,eACgC,EAAC,IAAD,UADhC,8DAC2G,EAAC,IAAD,KAAQA,EAAR,MAD3G,kDAMZ,EAAC,IAAD,CAAOK,MAAO,0BACV,EAAC,IAAD,CAAOA,MAAO,oBACV,wBACc,EAAC,IAAD,UADd,2GAGA,yCAC+B,EAAC,IAAD,UAD/B,2BACuE,EAAC,IAAD,KAAQL,EAAR,MADvE,mDACqJ,EAAC,IAAD,UADrJ,4BAGA,8GAIJ,EAAC,IAAD,CAAOK,MAAO,gDACV,YACI,gDACA,yCACA,qCACA,sCACA,iEAGR,EAAC,IAAD,CAAOA,MAAO,kBACV,2EAGA,WACI,EAAC,IAAD,KAAQL,EAAR,SAIZ,EAAC,IAAD,CAAOK,MAAO,uCACV,EAAC,IAAD,CAAOA,MAAO,mBACV,gCACsB,4BADtB,KAGA,WACI,EAAC,IAAD,kCAEJ,iDACuC,EAAC,IAAD,KAAQL,EAAR,MADvC,MAIJ,EAAC,IAAD,CAAOK,MAAO,sBACV,gCACsB,+CADtB,KAGA,WACI,EAAC,IAAD,kCAEJ,iDACuC,EAAC,IAAD,KAAQL,EAAR,MADvC,OAKR,EAAC,IAAD,KACI,EAAC,IAAD,CAAOK,MAAO,6BACV,6CACmC,8BADnC,KAGA,EAAC,IAAD,KACI,EAAC,IAAD,KAAQL,EAAR,MADJ,2EAIJ,EAAC,IAAD,CAAOK,MAAO,qBACV,8CACoC,iCADpC,KAGA,EAAC,IAAD,KACI,iDACuC,EAAC,IAAD,KAAQL,EAAR,MADvC,KAGA,8BACoB,EAAC,IAAD,KAAQA,EAAR,MADpB,UACgF,EAAC,IAAD,KAAQA,EAAR,MADhF,uCAGA,qCAC2B,EAAC,IAAD,KAAQA,EAAR,MAD3B,4DAC2I,0BAD3I,uBAMZ,EAAC,IAAD,KACI,EAAC,IAAD,CAAOK,MAAO,6BACV,kEACwD,8BADxD,KAGA,qGAGA,wFAIJ,EAAC,IAAD,CAAOA,MAAO,sBACV,kEACwD,iCADxD,KAGA,uGAKR,EAAC,IAAD,CAAOA,MAAO,4CACV,EAAC,IAAD,CAAOA,MAAO,qBACV,0CAGA,mCACyB,mCADzB,OAKR,EAAC,IAAD,CAAOA,MAAO,SACV,EAAC,IAAD,CAAOA,MAAO,oBACV,wGAGA,EAAC,IAAD,KACI,OAAGC,KAAM,iFAAT,yBAGR,EAAC,IAAD,CAAOD,MAAO,oBACV,6EAGA,WACI,EAAC,IAAD,KAAQL,EAAR,QAGR,EAAC,IAAD,CAAOK,MAAO,aACV,2EAGA,WACI,EAAC,IAAD,KAAQL,EAAR,QAGR,EAAC,IAAD,CAAOK,MAAO,aACV,0FAGA,WACI,EAAC,IAAD,KAAQL,EAAR,SAIZ,EAAC,IAAD,KACI,EAAC,IAAD,CAAOK,MAAO,4BACV,0GAGA,kDAGA,WACI,EAAC,IAAD,KAAQL,EAAR,OAEJ,EAAC,IAAD,KACI,EAAC,IAAD,YADJ,2GAIJ,EAAC,IAAD,CAAOK,MAAO,oBACV,yGAGA,WACI,EAAC,IAAD,KAAQL,EAAR,QAGR,EAAC,IAAD,CAAOK,MAAO,aACV,4GAGA,WACI,EAAC,IAAD,KAAQL,EAAR,QAGR,EAAC,IAAD,CAAOK,MAAO,aACV,yFAGA,WACI,EAAC,IAAD,KAAQL,EAAR,SAIZ,EAAC,IAAD,KACI,EAAC,IAAD,CAAOK,MAAO,yCACV,6FAGA,WACI,EAAC,IAAD,KAAQL,EAAR,SAIZ,EAAC,IAAD,CAAOK,MAAO,mBACV,EAAC,IAAD,CAAOA,MAAO,UACV,yIAGA,+HACqH,uBADrH,MACuI,iCADvI,aAGA,4EACkE,uCADlE,SACuG,mCADvG,MAIJ,EAAC,IAAD,CAAOA,MAAO,6BACV,gB,GA5SqBG,c,8ICNxBC,E,YACjB,aAAc,aACV,sBACKC,MAAQ,CACT,IAAOC,KAAKC,OAEhB,EAAKC,MAAQ,KALH,E,0HAQdC,kBAAA,WAAoB,WAChBC,KAAKF,MAAQG,aAAY,WACrB,EAAKC,SAAS,CAAC,IAAON,KAAKC,UAC5B,M,EAGPM,qBAAA,WACsB,OAAfH,KAAKF,OACJM,cAAcJ,KAAKF,Q,EAI3BT,OAAA,WACI,IAAIgB,EAAS,eACTC,EAAYC,IAAMT,MAElBU,EAAQ,CACRC,aAAc,IACdC,QAAS,IACTC,QAAS,IACTC,MAAO,IACPC,KAAM,KAGV,GAAGb,KAAKc,MAAMtB,GAAI,CAEd,IAAIuB,GADJV,EAAS,IAAIT,KAAKI,KAAKc,MAAMtB,KACLQ,KAAKL,MAAME,IAEhCkB,EAAW,EACVP,EAAQ,CACJC,aAAcM,EAAW,IACzBL,QAASM,KAAKC,MAAMF,EAAW,KAAQ,GACvCJ,QAASK,KAAKC,MAAMF,EAAW,KAAS,GACxCH,MAAOI,KAAKC,MAAMF,EAAW,MAAW,GACxCF,KAAMG,KAAKC,MAAMF,EAAW,SAKhCP,EAAQ,CACJC,aAAc,EACdC,QAAS,EACTC,QAAS,EACTC,MAAO,EACPC,KAAM,GAGVP,GAAa,IAAMC,IAAMW,cAI7BZ,GAAa,IAAMC,IAAMY,QAG7B,OACI,SAAKC,MAAOd,EAAWhB,MAAOe,GAC1B,SAAKe,MAAOb,IAAMM,KAAO,IAAMN,IAAMc,OAChCb,EAAMK,MAEX,SAAKP,UAAWC,IAAMM,KAAO,IAAMN,IAAMe,MAAzC,UAGA,SAAKF,MAAOb,IAAMK,MAAQ,IAAML,IAAMc,OACjCb,EAAMI,OAEX,SAAKN,UAAWC,IAAMK,MAAQ,IAAML,IAAMe,MAA1C,OAGA,SAAKF,MAAOb,IAAMI,QAAU,IAAMJ,IAAMc,OACnCb,EAAMG,SAEX,SAAKL,UAAWC,IAAMI,QAAU,IAAMJ,IAAMe,MAA5C,UAGA,SAAKF,MAAOb,IAAMG,QAAU,IAAMH,IAAMc,OACnCb,EAAME,SAEX,SAAKU,MAAOb,IAAMG,QAAU,IAAMH,IAAMe,MAAxC,WAGA,SAAKF,MAAOb,IAAMgB,WAAlB,a,GAzFmB9B,e,yCCHnCV,EAAOC,QAAU,CAAC,MAAQ,eAAe,KAAO,cAAc,MAAQ,eAAe,QAAU,iBAAiB,QAAU,iBAAiB,MAAQ,eAAe,KAAO,cAAc,UAAY,mBAAmB,QAAU,iBAAiB,QAAU,mB,0GCEtOwC,E,wLACpBC,SAAA,WACC,OAAOlB,IAAMmB,O,EAGdrC,OAAA,WACC,IAAIC,EAAQ,KAKZ,YAJwBqC,IAArB3B,KAAKc,MAAMxB,QACbA,EAAS,YAAKU,KAAKc,MAAMxB,QAIzB,SAAK8B,MAAOpB,KAAKyB,WAAYG,GAAI5B,KAAKc,MAAMc,IAC1CtC,EACAU,KAAKc,MAAMe,W,aAdmBpC,a,2DCHnC,yEAKe,aAASqB,GAEvB,IAAIgB,EAAcC,YAAWC,KACzBC,EAAgBF,YAAWG,KAa/B,OACC,SAAKC,IAAG,gDAXWR,IAAjBb,EAAMsB,OACIH,EAGAnB,EAAMsB,QAGM,WAAa,IAC1B,aAAyBN,EAAzB,KAAyChB,EAAMe,SAA/C,MAITQ,IAAKvB,EAAMe,SACXvC,MAAOwB,EAAMe,SACbT,MAAOb,IAAM+B,W,2DCzBjB,+CAGe,aAASxB,GACpB,OACI,SAAKM,MAAOb,IAAMgC,SACbzB,EAAMe,a,0DCgFnB,SAASW,EAAaC,GACjBC,UAAQC,KAAOD,UAAQC,IAAMC,OAM3BC,EACLD,EAAiBE,MAChBF,EAAiBE,IAAU,CAAEC,GAAO,GAAIC,IAAiB,YAEvDP,GAASI,EAAME,GAAME,QACxBJ,EAAME,GAAMG,KAAK,IAEXL,EAAME,GAAMN,GAMb,SAASU,EAASC,UACjBC,EAAWC,EAAgBF,GASnC,SAAgBC,EAAWE,EAASH,EAAcI,OAE3CC,EAAYjB,EAAakB,YAC1BD,EAAUE,MACdF,EAAUE,IAAaf,EAEvBa,EAAUG,GAAS,CACjBJ,EAAiDA,EAAKJ,GAA/CE,SAA0BF,GAElC,gBACOS,EAAYN,EAAQE,EAAUG,GAAO,GAAIE,GAC3CL,EAAUG,GAAO,KAAOC,IAC3BJ,EAAUG,GAAO,GAAKC,EACtBJ,EAAUE,IAAWzD,SAAS,QAM3BuD,EAAUG,GAOX,SAASG,EAAUC,EAAUC,OAE7BtE,EAAQ6C,EAAakB,KACvBQ,EAAYvE,EAAMwE,IAAOF,KAC5BtE,EAAMiE,GAASI,EACfrE,EAAMwE,IAAQF,EAEdrB,EAAiBE,IAAQE,IAAgBE,KAAKvD,IAQzC,SAASyE,EAAgBJ,EAAUC,OAEnCtE,EAAQ6C,EAAakB,KACvBQ,EAAYvE,EAAMwE,IAAOF,KAC5BtE,EAAMiE,GAASI,EACfrE,EAAMwE,IAAQF,EAEdrB,EAAiByB,IAAiBnB,KAAKvD,IAIlC,SAAS2E,EAAOC,UACfC,GAAQ,iBAAO,CAAEC,QAASF,KAAiB,IAQnD,SAAgBG,EAAoBC,EAAKC,EAAcX,GACtDG,GACC,WACmB,mBAAPO,EAAmBA,EAAIC,KACzBD,IAAKA,EAAIF,QAAUG,OAErB,MAARX,EAAeA,EAAOA,EAAKY,OAAOF,IAQ7B,SAASH,EAAQM,EAASb,OAE1BtE,EAAQ6C,EAAakB,YACvBQ,EAAYvE,EAAMwE,IAAOF,IAC5BtE,EAAMwE,IAAQF,EACdtE,EAAMoF,IAAWD,EACTnF,EAAMiE,GAASkB,KAGjBnF,EAAMiE,GAOP,SAASoB,EAAYhB,EAAUC,UAC9BO,GAAQ,kBAAMR,IAAUC,GAMzB,SAASlC,EAAWkD,OACpBC,EAAWtC,EAAiBqC,QAAQA,EAAQE,SAC7CD,EAAU,OAAOD,EAAQG,OACxBzF,EAAQ6C,EAAakB,YAEP,MAAhB/D,EAAMiE,KACTjE,EAAMiE,MACNsB,EAASG,IAAIzC,IAEPsC,EAASpE,MAAMwE,MAOhB,SAASC,EAAcD,EAAOE,GAChC9C,UAAQ6C,eACX7C,UAAQ6C,cAAcC,EAAYA,EAAUF,GAASA,GAyBvD,SAASG,IACRC,EAAkBC,MAAK,eAClBC,EAAUC,QAEZD,EAAU9C,IAAQE,IAAgB8C,QAAQC,GAC1CH,EAAU9C,IAAQE,IAAgB8C,QAAQE,GAC1CJ,EAAU9C,IAAQE,IAAkB,GACnC,MAAOiD,UACRL,EAAU9C,IAAQE,IAAkB,GACpCN,UAAQwD,IAAYD,EAAGL,EAAUO,YAKpCT,EAAoB,GA4CrB,SAASK,EAAcK,GAClBA,EAAKC,GAAUD,EAAKC,IAOzB,SAASL,EAAaI,OACfE,EAASF,EAAKxC,KACC,mBAAV0C,IAAsBF,EAAKC,EAAWC,GAOlD,SAASpC,EAAYqC,EAASC,UACrBD,GAAWC,EAAQb,MAAK,SAACc,EAAKhE,UAAUgE,IAAQF,EAAQ9D,MAGjE,SAASa,EAAemD,EAAKC,SACT,mBAALA,EAAkBA,EAAED,GAAOC,E,wVA9UtChD,EAGAd,EAWA+D,E,YARAjB,EAAoB,GAEpBkB,EAAkBlE,UAAQmE,IAC1BC,EAAepE,UAAQqE,OACvBC,EAAYtE,UAAQuE,IACpBC,EAAmBxE,UAAQyE,QAK/BzE,UAAQmE,IAAU,YACbD,GAAiBA,EAAgBQ,GAGrC1D,EAAe,GADfd,EAAmBwE,EAAMzD,KAGJb,MACpBF,EAAiBE,IAAQE,IAAgB8C,QAAQC,GACjDnD,EAAiBE,IAAQE,IAAgB8C,QAAQE,GACjDpD,EAAiBE,IAAQE,IAAkB,KAI7CN,UAAQqE,OAAS,YACZD,GAAcA,EAAaM,OAEzBC,EAAID,EAAMzD,OACX0D,OAECxE,EAAQwE,EAAEvE,IACZD,GACCA,EAAMG,IAAgBC,SA0QJ,IAzQVyC,EAAkBxC,KAAKmE,IAyQRV,IAAYjE,UAAQ4E,yBAC/CX,EAAUjE,UAAQ4E,wBAvBpB,SAAwBtD,OAQnBuD,EAPEC,EAAO,WACZC,aAAaC,GACbC,qBAAqBJ,GACrBK,WAAW5D,IAEN0D,EAAUE,WAAWJ,EAlRR,KAqRE,oBAAVK,SACVN,EAAMD,sBAAsBE,MAcA/B,MAtQ9B/C,UAAQuE,IAAU,SAACG,EAAOU,GACzBA,EAAYnC,MAAK,gBAEfC,EAAUvB,IAAiByB,QAAQC,GACnCH,EAAUvB,IAAmBuB,EAAUvB,IAAiB0D,QAAO,mBAC9DC,EAAGpE,IAASoC,EAAagC,MAEzB,MAAO/B,GACR6B,EAAYnC,MAAK,YACZ0B,EAAEhD,MAAkBgD,EAAEhD,IAAmB,OAE9CyD,EAAc,GACdpF,UAAQwD,IAAYD,EAAGL,EAAUO,SAI/Ba,GAAWA,EAAUI,EAAOU,IAGjCpF,UAAQyE,QAAU,YACbD,GAAkBA,EAAiBE,OAEjCC,EAAID,EAAMzD,OACX0D,OAECxE,EAAQwE,EAAEvE,OACZD,MAEFA,EAAME,GAAM+C,SAAQ,mBAAQM,EAAKC,GAAYD,EAAKC,OACjD,MAAOJ,GACRvD,UAAQwD,IAAYD,EAAGoB,EAAElB,S,iBC3E5BpH,EAAOC,QAAU,CAAC,MAAQ,eAAe,YAAc,qBAAqB,WAAa,sB,0GCEpEiJ,E,gLACpB5I,OAAA,WACC,OAAO,UAAM+B,MAAOb,IAAM2H,MAAOlI,KAAKc,MAAMe,W,aAFZpC,a,kICAb0I,E,gLACpB9I,OAAA,WACI,IAKOwC,EALHvC,EAAQ,KAcf,YAb2BqC,IAArB3B,KAAKc,MAAMxB,QACPA,EAAS,YAAKU,KAAKc,MAAMxB,QAKzBuC,EADDuG,MAAMC,QAAQrI,KAAKc,MAAMe,UACb7B,KAAKc,MAAMe,SAASyG,KAAI,SAAAC,GAC/B,OAAQ,SAAKnH,MAAOb,IAAMiI,YAAaD,MAIhC,SAAKnH,MAAOb,IAAMiI,YAAaxI,KAAKc,MAAMe,UAGxD,SAAKT,MAAOb,IAAMkI,OACVnJ,EACD,SAAK8B,MAAOb,IAAMmI,aAAc7G,K,aAnBbpC,a,yCCFnCV,EAAOC,QAAU,CAAC,MAAQ,iB,iBCA1BD,EAAOC,QAAU,CAAC,MAAQ,iB,kCCD1B,gBAEe2J,6BAAc","file":"route-calcoloNumerico.chunk.67eea.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"example\":\"example__2PzAa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"todo\":\"todo__1UVRh\"};","import {Component} from 'preact'\nimport Split from \"../components/old/split\";\nimport Latex from \"../components/Latex\";\nimport Panel from \"../components/old/panel\";\nimport Example from \"../components/example\";\nimport Todo from \"../components/old/todo\";\nimport Timer from \"../components/old/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 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 \n
    \n
  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \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 Matrice con determinante 0.\n

\n

\n Le matrici singolari non sono invertibili.\n

\n
\n
\n \n \n

\n Funzione che associa un valore positivo a ogni vettore diverso da 0, e 0 al vettore zero.\n

\n \n Esempi su Wikipedia\n \n
\n \n

\n Massimo dei valori assoluti di tutti gli elementi del vettore.\n

\n

\n {r`\\Vert x \\Vert_\\infty = max_{i = 1..n} | x_i |`}\n

\n
\n \n

\n Somma dei valori assoluti di tutti gli elementi del vettore.\n

\n

\n {r`\\Vert x \\Vert_1 = \\sum_{i = 1}^n | x_i |`}\n

\n
\n \n

\n Radice quadrata della somma dei quadrati di tutti gli elementi del vettore.\n

\n

\n {r`\\Vert x \\Vert_2 = \\sqrt{\\sum_{i = 1}^n x_i^2}`}\n

\n
\n
\n \n \n

\n Funzione che associa un valore positivo a ogni matrice diversa da 0, e 0 alla matrice zero.\n

\n

\n Si ricavano dalle norme vettoriali:\n

\n

\n {r`\\Vert A \\Vert = sup_{x \\in \\mathbb{R}, x \\neq 0} \\frac{\\Vert A \\cdot x \\Vert}{\\Vert x \\Vert}`}\n

\n \n sup è l'estremo superiore di un insieme. E' molto simile al massimo: ricordi le prime lezioni di Analisi?\n \n
\n \n

\n Massimo delle somme dei valori assoluti di tutti gli elementi di ogni riga di una matrice.\n

\n

\n {r`\\Vert A \\Vert_\\infty = max_{i = 1..n} \\sum_{j = 1}^n | a_{ij} |`}\n

\n
\n \n

\n Massimo delle somme dei valori assoluti di tutti gli elementi di ogni colonna di una matrice.\n

\n

\n {r`\\Vert A \\Vert_1 = max_{j = 1..n} \\sum_{i = 1}^n | a_{ij} |`}\n

\n
\n \n

\n Radice quadrata del rango del prodotto tra una matrice e la sua trasposta.\n

\n

\n {r`\\Vert A \\Vert_2 = \\sqrt{\\rho ( A^T \\times A ) }`}\n

\n
\n
\n \n \n

\n Le norme sono usate per calcolare l'errore relativo tra due vettori o matrici:\n

\n

\n {r`\\frac{\\Vert x - y \\Vert}{\\Vert x \\Vert}`}\n

\n
\n
\n \n \n

\n La fattorizzazione è il processo che permette di risolvere sistemi di equazioni lineari rappresentati in forma di matrice.\n

\n

\n Esistono molteplici algoritmi in grado di realizzarla: mentre tutti portano alla stessa soluzione, possono avere velocità e indici algoritmici diversi.\n

\n

\n Il sistema lineare da risolvere viene diviso in due parti: la matrice dei coefficienti e il vettore termine noto.\n

\n
\n \n

\n\n

\n
\n
\n
\n )\n }\n}\n","import {Component} from 'preact'\nimport style from \"./timer.less\"\n\n\nexport default class Timer extends Component {\n constructor() {\n super();\n this.state = {\n \"now\": Date.now()\n };\n this.timer = null;\n }\n\n componentDidMount() {\n this.timer = setInterval(() => {\n this.setState({\"now\": Date.now()})\n }, 1000)\n }\n\n componentWillUnmount() {\n if(this.timer !== null) {\n clearInterval(this.timer)\n }\n }\n\n render() {\n let dateTo = \"Unknown date\";\n let className = style.timer;\n\n let parts = {\n milliseconds: \"?\",\n seconds: \"?\",\n minutes: \"?\",\n hours: \"?\",\n days: \"?\",\n };\n\n if(this.props.to) {\n dateTo = new Date(this.props.to);\n let timeLeft = dateTo - this.state.now;\n\n if(timeLeft > 0) {\n parts = {\n milliseconds: timeLeft % 1000,\n seconds: Math.floor(timeLeft / 1000) % 60,\n minutes: Math.floor(timeLeft / 60000) % 60,\n hours: Math.floor(timeLeft / 3600000) % 24,\n days: Math.floor(timeLeft / 86400000),\n };\n }\n\n else {\n parts = {\n milliseconds: 0,\n seconds: 0,\n minutes: 0,\n hours: 0,\n days: 0,\n };\n\n className += \" \" + style.expired;\n }\n }\n else {\n className += \" \" + style.unknown;\n }\n\n return (\n
\n
\n {parts.days}\n
\n
\n giorni\n
\n
\n {parts.hours}\n
\n
\n ore\n
\n
\n {parts.minutes}\n
\n
\n minuti\n
\n
\n {parts.seconds}\n
\n
\n secondi\n
\n
\n rimasti\n
\n
\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"timer\":\"timer__K0K_h\",\"days\":\"days__vN3tf\",\"hours\":\"hours__3v0KX\",\"minutes\":\"minutes__vkYk7\",\"seconds\":\"seconds__3gJ99\",\"count\":\"count__1VV4k\",\"text\":\"text__khS4i\",\"remaining\":\"remaining__zUECg\",\"unknown\":\"unknown__af307\",\"expired\":\"expired__1rtHB\"};","import style from \"./panel.less\";\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 './Latex.css';\nimport {useContext} from \"preact/hooks\";\nimport LatexRenderColor from \"../contexts/LatexRenderColor\";\nimport LatexDefaultInline from \"../contexts/LatexDefaultInline\";\n\nexport default function(props) {\n\t// black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow\n\tlet renderColor = useContext(LatexRenderColor);\n\tlet defaultInline = useContext(LatexDefaultInline);\n\n\tlet is_inline;\n\tif(props.inline === undefined) {\n\t\tis_inline = defaultInline;\n\t}\n\telse {\n\t\tis_inline = props.inline;\n\t}\n\n\tlet inline = is_inline ? `\\\\inline` : \"\";\n\tlet equation = `${inline} {\\\\color{${renderColor}} ${props.children} }`;\n\n\treturn (\n\t\t{props.children}\n\t\t\t\n\t);\n}\n","import style from \"./Example.less\";\r\nimport {Component} from \"preact\";\r\n\r\nexport default function(props) {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {Array} */\nlet afterPaintEffects = [];\n\nlet oldBeforeRender = options._render;\nlet oldAfterDiff = options.diffed;\nlet oldCommit = options._commit;\nlet oldBeforeUnmount = options.unmount;\n\nconst RAF_TIMEOUT = 100;\nlet prevRaf;\n\noptions._render = vnode => {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tif (currentComponent.__hooks) {\n\t\tcurrentComponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\tcurrentComponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\tcurrentComponent.__hooks._pendingEffects = [];\n\t}\n};\n\noptions.diffed = vnode => {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (!c) return;\n\n\tconst hooks = c.__hooks;\n\tif (hooks) {\n\t\tif (hooks._pendingEffects.length) {\n\t\t\tafterPaint(afterPaintEffects.push(c));\n\t\t}\n\t}\n};\n\noptions._commit = (vnode, commitQueue) => {\n\tcommitQueue.some(component => {\n\t\ttry {\n\t\t\tcomponent._renderCallbacks.forEach(invokeCleanup);\n\t\t\tcomponent._renderCallbacks = component._renderCallbacks.filter(cb =>\n\t\t\t\tcb._value ? invokeEffect(cb) : true\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tcommitQueue.some(c => {\n\t\t\t\tif (c._renderCallbacks) c._renderCallbacks = [];\n\t\t\t});\n\t\t\tcommitQueue = [];\n\t\t\toptions._catchError(e, component._vnode);\n\t\t}\n\t});\n\n\tif (oldCommit) oldCommit(vnode, commitQueue);\n};\n\noptions.unmount = vnode => {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (!c) return;\n\n\tconst hooks = c.__hooks;\n\tif (hooks) {\n\t\ttry {\n\t\t\thooks._list.forEach(hook => hook._cleanup && hook._cleanup());\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @returns {import('./internal').HookState}\n */\nfunction getHookState(index) {\n\tif (options._hook) options._hook(currentComponent);\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks =\n\t\tcurrentComponent.__hooks ||\n\t\t(currentComponent.__hooks = { _list: [], _pendingEffects: [] });\n\n\tif (index >= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\n/**\n * @param {import('./index').StateUpdater} initialState\n */\nexport function useState(initialState) {\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\n/**\n * @param {import('./index').Reducer} reducer\n * @param {import('./index').StateUpdater} initialState\n * @param {(initialState: any) => void} [init]\n * @returns {[ any, (state: any) => void ]}\n */\nexport function useReducer(reducer, initialState, init) {\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++);\n\tif (!hookState._component) {\n\t\thookState._component = currentComponent;\n\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(undefined, initialState) : init(initialState),\n\n\t\t\taction => {\n\t\t\t\tconst nextValue = reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0] !== nextValue) {\n\t\t\t\t\thookState._value[0] = nextValue;\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent._renderCallbacks.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\treturn useMemo(() => ({ current: initialValue }), []);\n}\n\n/**\n * @param {object} ref\n * @param {() => object} createHandle\n * @param {any[]} args\n */\nexport function useImperativeHandle(ref, createHandle, args) {\n\tuseLayoutEffect(\n\t\t() => {\n\t\t\tif (typeof ref == 'function') ref(createHandle());\n\t\t\telse if (ref) ref.current = createHandle();\n\t\t},\n\t\targs == null ? args : args.concat(ref)\n\t);\n}\n\n/**\n * @param {() => any} factory\n * @param {any[]} args\n */\nexport function useMemo(factory, args) {\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._args = args;\n\t\tstate._factory = factory;\n\t\treturn (state._value = factory());\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() => void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\treturn useMemo(() => callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\tif (!provider) return context._defaultValue;\n\tconst state = getHookState(currentIndex++);\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {(value: T, cb?: (value: T) => string | number) => void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\nexport function useErrorBoundary(cb) {\n\tconst state = getHookState(currentIndex++);\n\tconst errState = useState();\n\tstate._value = cb;\n\tif (!currentComponent.componentDidCatch) {\n\t\tcurrentComponent.componentDidCatch = err => {\n\t\t\tif (state._value) state._value(err);\n\t\t\terrState[1](err);\n\t\t};\n\t}\n\treturn [\n\t\terrState[0],\n\t\t() => {\n\t\t\terrState[1](undefined);\n\t\t}\n\t];\n}\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.some(component => {\n\t\tif (component._parentDom) {\n\t\t\ttry {\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeCleanup);\n\t\t\t\tcomponent.__hooks._pendingEffects.forEach(invokeEffect);\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t} catch (e) {\n\t\t\t\tcomponent.__hooks._pendingEffects = [];\n\t\t\t\toptions._catchError(e, component._vnode);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\n/**\n * Schedule a callback to be invoked after the browser has a chance to paint a new frame.\n * Do this by combining requestAnimationFrame (rAF) + setTimeout to invoke a callback after\n * the next browser frame.\n *\n * Also, schedule a timeout in parallel to the the rAF to ensure the callback is invoked\n * even if RAF doesn't fire (for example if the browser tab is not visible)\n *\n * @param {() => void} callback\n */\nfunction afterNextFrame(callback) {\n\tconst done = () => {\n\t\tclearTimeout(timeout);\n\t\tcancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\n\tlet raf;\n\tif (typeof window != 'undefined') {\n\t\traf = requestAnimationFrame(done);\n\t}\n}\n\n// Note: if someone used options.debounceRendering = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Schedule afterPaintEffects flush after the browser paints\n * @param {number} newQueueLength\n */\nfunction afterPaint(newQueueLength) {\n\tif (newQueueLength === 1 || prevRaf !== options.requestAnimationFrame) {\n\t\tprevRaf = options.requestAnimationFrame;\n\t\t(prevRaf || afterNextFrame)(flushAfterPaintEffects);\n\t}\n}\n\n/**\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeCleanup(hook) {\n\tif (hook._cleanup) hook._cleanup();\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\tconst result = hook._value();\n\tif (typeof result == 'function') hook._cleanup = result;\n}\n\n/**\n * @param {any[]} oldArgs\n * @param {any[]} newArgs\n */\nfunction argsChanged(oldArgs, newArgs) {\n\treturn !oldArgs || newArgs.some((arg, index) => arg !== oldArgs[index]);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f == 'function' ? f(arg) : f;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"split\":\"split__3dL9r\",\"splitparent\":\"splitparent__2H-vS\",\"splitchild\":\"splitchild__1B-Jt\"};","import style from \"./todo.css\";\nimport { Component } from 'preact';\n\nexport default class Todo extends Component {\n\trender() {\n\t\treturn {this.props.children};\n\t}\n}\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 = {\"latex\":\"latex__3zlIu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"panel\":\"panel__7bYPC\"};","import {createContext} from \"preact\";\r\n\r\nexport default createContext(true);\r\n"],"sourceRoot":""}