1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2024-11-23 08:24:20 +00:00
This commit is contained in:
Steffo 2022-02-04 02:14:51 +01:00
parent 50386e1bb8
commit c663926184
29 changed files with 773 additions and 593 deletions

View file

@ -1,9 +1,10 @@
import * as Bluelib from "@steffo/bluelib-react"
import TeX from "@matejmazur/react-katex"
import stripIndent from "strip-indent"
import 'katex/dist/katex.min.css';
export const Split = ({title = undefined, children}) => {
export const Split = ({title = undefined, children}: any) => {
return (
<Bluelib.Chapter>
{title ?
@ -17,7 +18,7 @@ export const Split = ({title = undefined, children}) => {
}
export const Section = Split
export const Box = ({title = undefined, children, color = undefined}) => {
export const Box = ({title = undefined, children, color = undefined}: any) => {
return (
<Bluelib.Box builtinColor={color}>
{title ?
@ -30,47 +31,47 @@ export const Box = ({title = undefined, children, color = undefined}) => {
)
}
export const Example = (props) => {
export const Example = (props: any) => {
return (
<Bluelib.Panel builtinColor="magenta" style={{minWidth: "auto"}} {...props}/>
)
}
export const Plus = (props) => {
export const Plus = (props: any) => {
return (
<Bluelib.BaseElement builtinColor={"red"} kind="span" {...props}/>
)
}
export const Minus = (props) => {
export const Minus = (props: any) => {
return (
<Bluelib.BaseElement builtinColor={"blue"} kind="span" {...props}/>
)
}
export const Color = ({builtin, ...props}) => {
export const Color = ({builtin, ...props}: any) => {
return (
<Bluelib.BaseElement builtinColor={builtin} kind="span" {...props}/>
)
}
export const LatexMath = ({children, ...props}) => {
export const LatexMath = ({children, ...props}: any) => {
return (
<TeX math={children} {...props}/>
)
}
export const ILatex = (props) => {
export const ILatex = (props: any) => {
return (
<LatexMath block={false} {...props}/>
)
}
export const BLatex = (props) => {
export const BLatex = (props: any) => {
return (
<LatexMath block={true} {...props}/>
)
}
export const PLatex = (props) => {
export const PLatex = (props: any) => {
return (
<p>
<BLatex {...props}/>
@ -78,25 +79,25 @@ export const PLatex = (props) => {
)
}
export const P = (props) => {
export const P = (props: any) => {
return (
<p {...props}/>
)
}
export const Todo = (props) => {
export const Todo = (props: any) => {
return (
<Bluelib.BaseElement builtinColor={"orange"} kind={"span"} {...props}/>
)
}
export const Help = ({text, ...props}) => {
export const Help = ({text, ...props}: any) => {
return (
<Bluelib.BaseElement title={text} bluelibClassNames={"semantic-abbr"} kind={"span"} {...props}/>
)
}
export const TablePanel = ({children, ...props}) => {
export const TablePanel = ({children, ...props}: any) => {
return (
<Bluelib.Box>
<table>
@ -106,7 +107,7 @@ export const TablePanel = ({children, ...props}) => {
)
}
export const Code = ({children, ...props}) => {
export const Code = ({children, ...props}: any) => {
return (
<pre>
<Bluelib.Code {...props}>
@ -116,7 +117,7 @@ export const Code = ({children, ...props}) => {
)
}
export const Image = (props) => {
export const Image = (props: any) => {
return (
<Bluelib.Image limit="quarter" {...props}/>
)

View file

@ -1,7 +1,7 @@
import NextLink from "next/link"
import { Anchor as BluelibLink } from "@steffo/bluelib-react"
// passHref by default
export const Link = ({children, href, nextProps = {}, bluelibProps = {}}) => {
return (
<NextLink href={href} passHref={true} {...nextProps}>

21
components/materialLi.jsx Normal file
View file

@ -0,0 +1,21 @@
import { ListUnordered, Code } from "@steffo/bluelib-react"
import { Link } from "./link"
export const MaterialLi = ({children, base, ...files}) => {
const formats = Object.entries(files).map(([k, v], pos) => {
return (
<Link key={pos} href={`${base}/${v}.${k}`}>
<Code>.{k}</Code>
</Link>
)
}).reduce((p, c) => {
return [p, ", ", c]
})
return (
<ListUnordered.Item>
{children} ({formats})
</ListUnordered.Item>
)
}

View file

@ -1,43 +0,0 @@
import { Panel, BringAttention as B, Anchor as A } from "@steffo/bluelib-react"
export const Unchecked = () => {
return (
<Panel builtinColor="yellow">
<B> Attenzione:</B> questi materiali non sono stati ricontrollati da quando sono stati scritti, e potrebbero contenere errori!<br/>
</Panel>
)
}
export const Incomplete = () => {
return (
<Panel builtinColor="yellow">
<B> Attenzione:</B> questi materiali non coprono tutto il programma, e non sono quindi sufficienti per dare l&apos;esame!<br/>
</Panel>
)
}
export const Reordered = () => {
return (
<Panel builtinColor="yellow">
<B> Attenzione:</B> questi materiali sono stati raccolti e ordinati successivamente alla scrittura, e potrebbero essere in ordine sbagliato!<br/>
</Panel>
)
}
export const Blocked = () => {
return (
<Panel builtinColor="red">
<B>🚫 Blocco:</B> alcuni materiali esterni al sito non sono più disponibili.<br/>
</Panel>
)
}
export const Ported = () => {
return (
<Panel builtinColor="blue">
<B>🗒 Nota:</B> questi materiali sono stati importati da una versione vecchia di Bluelib, e potrebbero non essere visualizzati correttamente.<br/>
<small>Se ti accorgi di un problema di visualizzazione, fammelo sapere <A href="https://github.com/Steffo99/appuntiweb-omega/issues">su GitHub</A>!</small>
</Panel>
)
}

View file

@ -1,6 +1,6 @@
import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Link } from "../components/compat-next"
import { Link } from "../components/link"
const Page: NextPage = () => {
@ -17,7 +17,7 @@ const Page: NextPage = () => {
La pagina che hai richiesto non è stata trovata.
</p>
<p>
Forse l'URL che hai inserito è sbagliato, o la pagina che cerchi è stata spostata a un altro URL...
Forse l&apos;URL che hai inserito è sbagliato, o la pagina che cerchi è stata spostata a un altro URL...
</p>
</Box>
</Chapter>

View file

@ -1,6 +1,6 @@
import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Link } from "../components/compat-next"
import { Link } from "../components/link"
const Page: NextPage = () => {

View file

@ -1,6 +1,6 @@
import "../styles/global.css"
import type { AppProps } from 'next/app'
import { Link } from "../components/compat-next"
import { Link } from "../components/link"
import {Bluelib, Heading, LayoutThreeCol, Anchor as A, Footer} from "@steffo/bluelib-react"
function MyApp({ Component, pageProps }: AppProps) {

View file

@ -1,6 +1,6 @@
import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Link } from "../components/compat-next"
import { Link } from "../components/link"
const Home: NextPage = () => {
@ -90,22 +90,22 @@ const Home: NextPage = () => {
<ListUnordered>
<ListUnordered.Item>
<Link href="/year2/database">
<A href="#">Basi di dati</A>
Basi di dati
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year2/calcolo">
<A href="#">Calcolo numerico</A>
Calcolo numerico
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year2/ottimizzazione">
<A href="#">Ottimizzazione lineare intera</A>
Ottimizzazione lineare intera
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year2/sistemioperativi">
<A href="#">Sistemi operativi</A>
Sistemi operativi
</Link>
</ListUnordered.Item>
</ListUnordered>
@ -116,13 +116,52 @@ const Home: NextPage = () => {
</Heading>
<ListUnordered>
<ListUnordered.Item>
<Link href="/year3/gestione">
<A>Gestione dell&apos;informazione</A>
<Link href="/year3/linguaggi">
Linguaggi dinamici
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year3/web">
<A>Tecnologie web</A>
<Link href="/year3/diritto">
Diritto ed economia digitale
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year3/progetto">
Progetto del software
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year3/gestione">
Gestione dell&apos;informazione
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year3/protocolli">
Protocolli e architetture di rete
</Link>
</ListUnordered.Item>
</ListUnordered>
<ListUnordered>
<ListUnordered.Item>
<Link href="/year3/tecweb">
Tecnologie web
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year3/paradigmi">
Paradigmi e linguaggi di programmazione
</Link>
</ListUnordered.Item>
</ListUnordered>
<ListUnordered>
<ListUnordered.Item>
<Link href="/year3/tirocinio">
Tirocinio
</Link>
</ListUnordered.Item>
<ListUnordered.Item>
<Link href="/year3/tesi">
Tesi
</Link>
</ListUnordered.Item>
</ListUnordered>

View file

@ -1,7 +1,7 @@
import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, ListOrdered, ListUnordered, Panel} from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Link } from '../../../components/compat-next'
import * as Warnings from "../../../components/warnings"
import { Link } from '../../../components/link'
import { MaterialLi } from "../../../components/materialLi"
const Page: NextPage = () => {
return <>
@ -30,14 +30,22 @@ const Page: NextPage = () => {
Per recuperare tutto quello che mi ero perso in aula ho sfruttato alcune videolezioni pubblicate su YouTube da Unimore, con ottimi risultati: sono riuscito a passare l&apos;esame al primo tentativo!
</p>
<p>
Inoltre, visto che all&apos;esame era possibile utilizzare i propri appunti, ho realizzato un piccolo cheatsheet stampabile con tutti gli esercizi più comuni.
Purtroppo alcuni video sono stati resi privati dall&apos;account che li aveva pubblicati: potrei riuploadarli, in quanto erano sotto licenza <Link href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC-BY-NC-SA 4.0</Link>, ma purtroppo non li ho backuppati da nessuna parte.
</p>
<p>
Se li avete, fatemelo sapere!
</p>
<p>
Video a parte, ho realizzato anche un piccolo cheatsheet stampabile con tutti gli esercizi più comuni, dato che all&apos;esame era possibile utilizzare i propri appunti.
</p>
<Chapter>
<Panel>
<Heading level={4}>
Videolezioni dell'Unimore
Videolezioni dell&apos;Unimore
</Heading>
<Warnings.Blocked/>
<p>
Tutte le videolezioni sono state pubblicate sotto licenza <Link href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC-BY-NC-SA 4.0</Link> dalla Prof.ssa Beatrice Ruini nell&apos;anno accademico 2018/2019 sul portale Dolly 2018 (Moodle).
</p>
<ListOrdered>
<ListOrdered.Item disabled>
Definizione di Spazio Vettoriale (1:17:29)
@ -124,12 +132,12 @@ const Page: NextPage = () => {
</Panel>
<Panel>
<Heading level={3}>
Appunti per l'esame
Appunti per l&apos;esame
</Heading>
<ListUnordered>
<ListUnordered.Item>
Cheatsheet (<Link href="/materials/year1/algebra/cheatsheet.tex"><Code>.tex</Code></Link>, <Link href="/materials/year1/algebra/cheatsheet.pdf"><Code>.pdf</Code></Link>)
</ListUnordered.Item>
<MaterialLi base="/materials/year1/algebra" tex="cheatsheet" pdf="cheatsheet">
Cheatsheet
</MaterialLi>
</ListUnordered>
</Panel>
</Chapter>

View file

@ -1,12 +1,6 @@
import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, Panel, BringAttention as B, ListOrdered, ListUnordered } from "@steffo/bluelib-react"
import type { NextPage } from "next"
const MaterialLi = ({children, file}) => {
return <ListOrdered.Item>
{children} (<A href={`/materials/year1/algoritmi/${file}.md`}><Code>.md</Code></A>)
</ListOrdered.Item>
}
import { MaterialLi } from "../../../components/materialLi"
const Page: NextPage = () => {
@ -38,130 +32,130 @@ const Page: NextPage = () => {
Appunti di teoria
</Heading>
<ListOrdered>
<MaterialLi file="01_IlNomeDelCorso">
<MaterialLi base="/materials/year1/algoritmi" md="01_IlNomeDelCorso">
Il nome del corso
</MaterialLi>
<MaterialLi file="02_EfficienzaDegliAlgoritmi">
<MaterialLi base="/materials/year1/algoritmi" md="02_EfficienzaDegliAlgoritmi">
Efficienza degli algoritmi
</MaterialLi>
<MaterialLi file="03_ModelliAlgoritmici">
<MaterialLi base="/materials/year1/algoritmi" md="03_ModelliAlgoritmici">
Modelli algoritmici
</MaterialLi>
<MaterialLi file="04_NotazioneAsintotica">
<MaterialLi base="/materials/year1/algoritmi" md="04_NotazioneAsintotica">
Notazione asintotica
</MaterialLi>
<MaterialLi file="05_ProblemiAlgoritmici">
<MaterialLi base="/materials/year1/algoritmi" md="05_ProblemiAlgoritmici">
Problemi algoritmici
</MaterialLi>
<MaterialLi file="06_RicercaBinaria">
<MaterialLi base="/materials/year1/algoritmi" md="06_RicercaBinaria">
Ricerca binaria
</MaterialLi>
<MaterialLi file="07_DivideEtImpera">
<MaterialLi base="/materials/year1/algoritmi" md="07_DivideEtImpera">
Divide et impera
</MaterialLi>
<MaterialLi file="08_MasterTheorem">
<MaterialLi base="/materials/year1/algoritmi" md="08_MasterTheorem">
Master theorem
</MaterialLi>
<MaterialLi file="09_MasterTheoremSubset">
<MaterialLi base="/materials/year1/algoritmi" md="09_MasterTheoremSubset">
Master theorem subset
</MaterialLi>
<MaterialLi file="10_Ordinamento">
<MaterialLi base="/materials/year1/algoritmi" md="10_Ordinamento">
Ordinamento
</MaterialLi>
<MaterialLi file="11_InsertionSort">
<MaterialLi base="/materials/year1/algoritmi" md="11_InsertionSort">
Insertion sort
</MaterialLi>
<MaterialLi file="11_MergeSort">
<MaterialLi base="/materials/year1/algoritmi" md="11_MergeSort">
Merge sort
</MaterialLi>
<MaterialLi file="11_QuickSort">
<MaterialLi base="/materials/year1/algoritmi" md="11_QuickSort">
Quick sort
</MaterialLi>
<MaterialLi file="12_CountingSort">
<MaterialLi base="/materials/year1/algoritmi" md="12_CountingSort">
Counting sort
</MaterialLi>
<MaterialLi file="13_IntroAlleStruttureDati">
<MaterialLi base="/materials/year1/algoritmi" md="13_IntroAlleStruttureDati">
Introduzione alle strutture dati
</MaterialLi>
<MaterialLi file="14_Array">
<MaterialLi base="/materials/year1/algoritmi" md="14_Array">
Array
</MaterialLi>
<MaterialLi file="14_Lista">
<MaterialLi base="/materials/year1/algoritmi" md="14_Lista">
Lista
</MaterialLi>
<MaterialLi file="15_Coda">
<MaterialLi base="/materials/year1/algoritmi" md="15_Coda">
Coda
</MaterialLi>
<MaterialLi file="15_Pila">
<MaterialLi base="/materials/year1/algoritmi" md="15_Pila">
Pila
</MaterialLi>
<MaterialLi file="16_AlberoRadicato">
<MaterialLi base="/materials/year1/algoritmi" md="16_AlberoRadicato">
Albero radicato
</MaterialLi>
<MaterialLi file="17_BreadthFirstSearch">
<MaterialLi base="/materials/year1/algoritmi" md="17_BreadthFirstSearch">
Breadth-first search
</MaterialLi>
<MaterialLi file="17_DepthFirstSearch">
<MaterialLi base="/materials/year1/algoritmi" md="17_DepthFirstSearch">
Depth-first search
</MaterialLi>
<MaterialLi file="18_AlberoBinarioDiRicerca">
<MaterialLi base="/materials/year1/algoritmi" md="18_AlberoBinarioDiRicerca">
Albero binario di ricerca
</MaterialLi>
<MaterialLi file="19_HeapBinario">
<MaterialLi base="/materials/year1/algoritmi" md="19_HeapBinario">
Heap binario
</MaterialLi>
<MaterialLi file="20_CodaConPriorità">
<MaterialLi base="/materials/year1/algoritmi" md="20_CodaConPriorità">
Coda con priorità
</MaterialLi>
<MaterialLi file="20_HeapSort">
<MaterialLi base="/materials/year1/algoritmi" md="20_HeapSort">
Heap sort
</MaterialLi>
<MaterialLi file="21_Grafo">
<MaterialLi base="/materials/year1/algoritmi" md="21_Grafo">
Grafo
</MaterialLi>
<MaterialLi file="22_VisitareUnGrafo">
<MaterialLi base="/materials/year1/algoritmi" md="22_VisitareUnGrafo">
Visitare un grafo
</MaterialLi>
<MaterialLi file="23_AlgoritmiGreedy">
<MaterialLi base="/materials/year1/algoritmi" md="23_AlgoritmiGreedy">
Algoritmi greedy
</MaterialLi>
<MaterialLi file="24_PercorsoPiùBreve">
<MaterialLi base="/materials/year1/algoritmi" md="24_PercorsoPiùBreve">
Percorso più breve
</MaterialLi>
<MaterialLi file="25_AlgoritmoDiDijkstra">
<MaterialLi base="/materials/year1/algoritmi" md="25_AlgoritmoDiDijkstra">
Algoritmo di Dijkstra
</MaterialLi>
<MaterialLi file="26_AlgoritmoDiBellmanFord">
<MaterialLi base="/materials/year1/algoritmi" md="26_AlgoritmoDiBellmanFord">
Algoritmo di Bellman-Ford
</MaterialLi>
<MaterialLi file="27_DisjointSet">
<MaterialLi base="/materials/year1/algoritmi" md="27_DisjointSet">
Disjoint set
</MaterialLi>
<MaterialLi file="28_TrovareIlMST">
<MaterialLi base="/materials/year1/algoritmi" md="28_TrovareIlMST">
Trovare il minimum spanning tree
</MaterialLi>
<MaterialLi file="29_AlgoritmoDiKruskal">
<MaterialLi base="/materials/year1/algoritmi" md="29_AlgoritmoDiKruskal">
Algoritmo di Kruskal
</MaterialLi>
<MaterialLi file="29_AlgoritmoDiPrim">
<MaterialLi base="/materials/year1/algoritmi" md="29_AlgoritmoDiPrim">
Algoritmo di Prim
</MaterialLi>
<MaterialLi file="30_Compressione">
<MaterialLi base="/materials/year1/algoritmi" md="30_Compressione">
Compressione
</MaterialLi>
<MaterialLi file="31_AlgoritmoDiHuffman">
<MaterialLi base="/materials/year1/algoritmi" md="31_AlgoritmoDiHuffman">
Algoritmo di Huffman
</MaterialLi>
<MaterialLi file="32_Dizionari">
<MaterialLi base="/materials/year1/algoritmi" md="32_Dizionari">
Dizionari
</MaterialLi>
<MaterialLi file="33_ProgrammazioneDinamica">
<MaterialLi base="/materials/year1/algoritmi" md="33_ProgrammazioneDinamica">
Programmazione dinamica
</MaterialLi>
<MaterialLi file="34_ProblemaDelloZaino">
<MaterialLi base="/materials/year1/algoritmi" md="34_ProblemaDelloZaino">
Problema dello zaino
</MaterialLi>
<MaterialLi file="35_ProblemiIntrattabili">
<MaterialLi base="/materials/year1/algoritmi" md="35_ProblemiIntrattabili">
Problemi intrattabili
</MaterialLi>
</ListOrdered>

View file

@ -1,12 +1,7 @@
import { Heading, Chapter, Box, Idiomatic as I, Code, Anchor as A, ListOrdered, ListUnordered, Panel} from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Link } from '../../../components/compat-old'
import { MaterialLi } from '../../../components/materialLi'
const MaterialLi = ({children, file}) => {
return <ListOrdered.Item>
{children} (<Link href={`/materials/year1/analisi/${file}.tex`}><Code>.tex</Code></Link>, <Link href={`/materials/year1/analisi/${file}.pdf`}><Code>.pdf</Code></Link>)
</ListOrdered.Item>
}
const Page: NextPage = () => {
return <>
@ -22,7 +17,7 @@ const Page: NextPage = () => {
Ho adorato il corso di <I>Analisi matematica</I>.
</p>
<p>
La prof. Eleuteri è stata un&apos;'inizio fantastico alla mia carriera universitaria!<br/>
La prof. Eleuteri è stata un&apos;inizio fantastico alla mia carriera universitaria!<br/>
Tutti i corsi dovrebbero avere docenti altrettanto disponibili...
</p>
</Box>
@ -33,7 +28,7 @@ const Page: NextPage = () => {
Materiale raccolto
</Heading>
<p>
Durante il corso, mi sono interessato al <a href="https://it.wikipedia.org/wiki/LaTeX">LaTeX</a>, e per impararlo l'ho utilizzato per prendere appunti in aula.
Durante il corso, mi sono interessato al <a href="https://it.wikipedia.org/wiki/LaTeX">LaTeX</a>, e per impararlo l&apos;ho utilizzato per prendere appunti in aula.
</p>
<p>
Di conseguenza, tutte le dispense che ho realizzato per questo corso sono in formato <Code>.tex</Code> e <Code>.pdf</Code>.
@ -44,40 +39,40 @@ const Page: NextPage = () => {
Appunti di teoria
</Heading>
<ListOrdered>
<MaterialLi file="1_sottosuccessioni">
<MaterialLi base="/materials/year1/analisi" tex="1_sottosuccessioni" pdf="1_sottosuccessioni">
Sottosuccessioni
</MaterialLi>
<MaterialLi file="2_successioni_per_ricorrenza">
<MaterialLi base="/materials/year1/analisi" tex="2_successioni_per_ricorrenza" pdf="2_successioni_per_ricorrenza">
Successioni per ricorrenza
</MaterialLi>
<MaterialLi file="3_intorni_e_asintoti">
<MaterialLi base="/materials/year1/analisi" tex="3_intorni_e_asintoti" pdf="3_intorni_e_asintoti">
Intorni e asintoti
</MaterialLi>
<MaterialLi file="4_limiti">
<MaterialLi base="/materials/year1/analisi" tex="4_limiti" pdf="4_limiti">
Limiti
</MaterialLi>
<MaterialLi file="5_derivate">
<MaterialLi base="/materials/year1/analisi" tex="5_derivate" pdf="5_derivate">
Derivate
</MaterialLi>
<MaterialLi file="6_punti_di_estremo">
<MaterialLi base="/materials/year1/analisi" tex="6_punti_di_estremo" pdf="6_punti_di_estremo">
Punti di estremo
</MaterialLi>
<MaterialLi file="7_studio_di_funzione">
<MaterialLi base="/materials/year1/analisi" tex="7_studio_di_funzione" pdf="7_studio_di_funzione">
Studio di funzione
</MaterialLi>
<MaterialLi file="8_serie">
<MaterialLi base="/materials/year1/analisi" tex="8_serie" pdf="8_serie">
Serie
</MaterialLi>
<MaterialLi file="9_numeri_complessi">
<MaterialLi base="/materials/year1/analisi" tex="9_numeri_complessi" pdf="9_numeri_complessi">
Numeri complessi
</MaterialLi>
<MaterialLi file="10_equazioni_complessi">
<MaterialLi base="/materials/year1/analisi" tex="10_equazioni_complessi" pdf="10_equazioni_complessi">
Equazioni di numeri complessi
</MaterialLi>
<MaterialLi file="11_primitive">
<MaterialLi base="/materials/year1/analisi" tex="11_primitive" pdf="11_primitive">
Integrali e primitive
</MaterialLi>
<MaterialLi file="12_integrazione">
<MaterialLi base="/materials/year1/analisi" tex="12_integrazione" pdf="12_integrazione">
Integrazione
</MaterialLi>
</ListOrdered>
@ -87,10 +82,10 @@ const Page: NextPage = () => {
Appunti extra per l&apos;orale
</Heading>
<ListUnordered>
<MaterialLi file="X_weierstrass">
<MaterialLi base="/materials/year1/analisi" tex="X_weierstrass" pdf="X_weierstrass">
Teorema di Weierstrass
</MaterialLi>
<MaterialLi file="X_teoremiprincipali">
<MaterialLi base="/materials/year1/analisi" tex="X_teoremiprincipali" pdf="X_teoremiprincipali">
I 10 teoremi principali
</MaterialLi>
<ListUnordered.Item>

View file

@ -1,13 +1,7 @@
import { Heading, Chapter, Box, Idiomatic as I, Anchor as A, BringAttention as B, ListOrdered, Panel, Code, ListUnordered } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Link } from '../../../components/compat-old'
const MaterialLi = ({children, file}) => {
return <ListOrdered.Item>
{children} (<A href={`/materials/year1/architettura/${file}.md`}><Code>.md</Code></A>)
</ListOrdered.Item>
}
import { Link } from '../../../components/link'
import { MaterialLi } from '../../../components/materialLi'
const Page: NextPage = () => {
@ -45,13 +39,13 @@ const Page: NextPage = () => {
Appunti di teoria
</Heading>
<ListOrdered>
<MaterialLi file="1_principi">
Principi dell'architettura dei calcolatori
<MaterialLi base="/materials/year1/architettura" md="1_principi">
Principi dell&apos;architettura dei calcolatori
</MaterialLi>
<MaterialLi file="2_dentro_il_processore">
<MaterialLi base="/materials/year1/architettura" md="2_dentro_il_processore">
Dentro il processore
</MaterialLi>
<MaterialLi file="3_assembly">
<MaterialLi base="/materials/year1/architettura" md="3_assembly">
Assembly
</MaterialLi>
</ListOrdered>
@ -61,16 +55,16 @@ const Page: NextPage = () => {
Esercizi svolti
</Heading>
<ListOrdered start={4}>
<MaterialLi file="4_hello_world">
<MaterialLi base="/materials/year1/architettura" md="4_hello_world">
Hello World in RISC-V
</MaterialLi>
<MaterialLi file="5_primo_programma">
<MaterialLi base="/materials/year1/architettura" md="5_primo_programma">
Primo programma RISC-V
</MaterialLi>
<MaterialLi file="6_stack">
<MaterialLi base="/materials/year1/architettura" md="6_stack">
Stack in RISC-V
</MaterialLi>
<MaterialLi file="7_prodotto_scalare">
<MaterialLi base="/materials/year1/architettura" md="7_prodotto_scalare">
Prodotto scalare in RISC-V
</MaterialLi>
</ListOrdered>
@ -80,20 +74,20 @@ const Page: NextPage = () => {
Appunti di pratica
</Heading>
<ListOrdered start={8}>
<MaterialLi file="8_appunti_e_deduzioni">
<MaterialLi base="/materials/year1/architettura" md="8_appunti_e_deduzioni">
Appunti e deduzioni
</MaterialLi>
<MaterialLi file="9_memorie">
<MaterialLi base="/materials/year1/architettura" md="9_memorie">
Memorie
</MaterialLi>
<MaterialLi file="10_meltdown">
<MaterialLi base="/materials/year1/architettura" md="10_meltdown">
Meltdown
</MaterialLi>
</ListOrdered>
</Panel>
</Chapter>
<p>
Durante il corso, ho anche realizzato un'estensione per Visual Studio Code per il <I>syntax highlighting</I> dell'Assembly RISC-V.
Durante il corso, ho anche realizzato un&apos;estensione per Visual Studio Code per il <I>syntax highlighting</I> dell&apos;Assembly RISC-V.
</p>
<Chapter>
<Panel>

View file

@ -1,6 +1,7 @@
import { Heading, Chapter, Box, Idiomatic as I, Emphasis } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
const Page: NextPage = () => {
return <>
<Heading level={2}>

View file

@ -1,9 +1,10 @@
import { ListUnordered } from "@steffo/bluelib-react"
import {Heading, Chapter, Box, Panel, Idiomatic as I} from "@steffo/bluelib-react"
import { Link } from "../../../components/compat-next"
import { Heading, Chapter, Box, Panel, Idiomatic as I } from "@steffo/bluelib-react"
import { NextPage } from "next"
import { Link } from "../../../components/link"
export default function Fisica() {
const Page: NextPage = () => {
return <>
<Heading level={2}>
Apprendimento ed evoluzione in sistemi artificiali
@ -14,10 +15,10 @@ export default function Fisica() {
Premessa
</Heading>
<p>
<I>Apprendimento ed evoluzione in sistemi artificiali</I> è stato un corso molto discorsivo (un po' come il suo stesso nome).
<I>Apprendimento ed evoluzione in sistemi artificiali</I> è stato un corso molto discorsivo (un po&apos; come il suo stesso nome).
</p>
<p>
Penso sia quasi controproduttivo studiare dai miei appunti, in quanto essi sono una sintesi, mentre al fine di passare l'esame è utile saper parlare bene di tutti i concetti.
Penso sia quasi controproduttivo studiare dai miei appunti, in quanto essi sono una sintesi, mentre al fine di passare l&apos;esame è utile saper parlare bene di tutti i concetti.
</p>
</Box>
</Chapter>
@ -44,3 +45,4 @@ export default function Fisica() {
</Chapter>
</>
}
export default Page

View file

@ -1,12 +1,13 @@
import { Heading } from "@steffo/bluelib-react"
import { Split, Box, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, LI } from "../../../components/compat-old"
import { Link } from "../../../components/compat-next"
import { Link } from "../../../components/link"
import { NextPage } from "next"
const Tick = (props) => <Help text={"Un quanto di tempo del sistema."}>{props.children ?? "tick"}</Help>
const Tick = (props: any) => <Help text={"Un quanto di tempo del sistema."}>{props.children ?? "tick"}</Help>
export default function Apprendimento() {
const Page: NextPage = () => {
return <>
<Heading level={2}>
<Link href="/year2/apprendimento">
@ -43,7 +44,7 @@ export default function Apprendimento() {
<Example>
<Anchor href={"https://it.wikipedia.org/wiki/Modello_di_Ehrenfest"}><u>Urne di Ehrenfest</u></Anchor>:
due urne con N palline; estraggo una pallina da una urna casuale ad ogni passo e la sposto
nell'altra; con tante palline il sistema appare irreversibile.
nell&apos;altra; con tante palline il sistema appare irreversibile.
</Example>
</Box>
<Box title={"Fasi"}>
@ -68,11 +69,11 @@ export default function Apprendimento() {
attrattore.
</P>
<Example>
L'evoluzione biologica crea nuove specie partendo da quelle precedenti di maggiore successo fino
L&apos;evoluzione biologica crea nuove specie partendo da quelle precedenti di maggiore successo fino
a quando non si raggiunge la specie perfetta.
</Example>
<Example>
Si può vedere l'universo come un gigantesco sistema dinamico. <Anchor
Si può vedere l&apos;universo come un gigantesco sistema dinamico. <Anchor
href={"https://it.wikipedia.org/wiki/Ipotesi_della_simulazione"}
>Che sia artificiale?</Anchor> <Anchor
href={"https://it.wikipedia.org/wiki/Morte_termica_dell%27universo"}
@ -100,7 +101,7 @@ export default function Apprendimento() {
<LI><Anchor href={"https://it.wikipedia.org/wiki/Punto_di_sella"}><u>Di sella</u></Anchor></LI>
</ul>
<P>
Nell'insieme dei <ILatex>{r`\mathbb{C}`}</ILatex> possono anche dare origine a:
Nell&apos;insieme dei <ILatex>{r`\mathbb{C}`}</ILatex> possono anche dare origine a:
</P>
<ul>
<LI><u>Spirali stabili</u>: spirali che <B>convergono</B></LI>
@ -139,7 +140,7 @@ export default function Apprendimento() {
<ul>
<LI><B>Autonomia</B>: agiscono gli uni indipendentemente dagli altri</LI>
<LI><B>Reattività</B>: percepiscono ciò che sta nel loro ambiente e <I>reagiscono</I> ai
cambiamenti di quest'ultimo
cambiamenti di quest&apos;ultimo
</LI>
<LI><B>Proattività</B>: agiscono in maniera tale da portare a termine i loro obiettivi</LI>
<LI><B>Socialità</B>: comunicano con gli altri agenti, scambiando informazioni</LI>
@ -166,7 +167,7 @@ export default function Apprendimento() {
Gli agenti si distinguono anche in:
</P>
<ul>
<LI><B>Mobilità</B>: quanto e come possono muoversi nell'ambiente</LI>
<LI><B>Mobilità</B>: quanto e come possono muoversi nell&apos;ambiente</LI>
<LI>
<B>Veridicità</B>: quanto producono informazioni corrette
<Example>
@ -183,9 +184,9 @@ export default function Apprendimento() {
</LI>
<LI>
<B>Razionalità</B>: quanto le loro azioni sono coerenti con i loro obiettivi e lo stato
dell'ambiente
dell&apos;ambiente
<Example>
<u>Razionalità limitata</u>: gli agenti non conoscono completamente l'ambiente, e
<u>Razionalità limitata</u>: gli agenti non conoscono completamente l&apos;ambiente, e
compiono le azioni che suppongono essere giuste
</Example>
</LI>
@ -209,7 +210,7 @@ export default function Apprendimento() {
</P>
<ul>
<LI><B>Logic-based</B>: prende le decisioni attraverso deduzioni <I>logiche</I></LI>
<LI><B>Reactive</B>: mappa una <I>reazione</I> a ogni situazione dell'ambiente</LI>
<LI><B>Reactive</B>: mappa una <I>reazione</I> a ogni situazione dell&apos;ambiente</LI>
<LI><B>Belief-desire-intention</B>: per decidere, considera le proprie <I>assunzioni sul
mondo</I> (<I>belief</I>), i propri <I>desideri</I> (<I>desire</I>) e le
sue <I>intenzioni</I> correnti (<I>intention</I>)
@ -225,18 +226,18 @@ export default function Apprendimento() {
</P>
<ul>
<LI><B>Teleonomico</B>: gli obiettivi sono predefiniti ed espliciti</LI>
<LI><B>Riflessivo</B>: l'agente è libero di scegliere il suo obiettivo in base alle proprie
<LI><B>Riflessivo</B>: l&apos;agente è libero di scegliere il suo obiettivo in base alle proprie
percezioni interne
</LI>
</ul>
</Box>
<Box title={"Conoscenze"}>
<P>
Classificazione in base a <B>quanto conosce dell'ambiente</B> un agente:
Classificazione in base a <B>quanto conosce dell&apos;ambiente</B> un agente:
</P>
<ul>
<LI><B>Cognitivo</B>: l'agente è immediatamente a conoscenza di <B>tutto l'ambiente</B></LI>
<LI><B>Reattivo</B>: l'agente deve scoprire l'ambiente con le sue capacità sensoriali</LI>
<LI><B>Cognitivo</B>: l&apos;agente è immediatamente a conoscenza di <B>tutto l&apos;ambiente</B></LI>
<LI><B>Reattivo</B>: l&apos;agente deve scoprire l&apos;ambiente con le sue capacità sensoriali</LI>
</ul>
</Box>
</Split>
@ -307,7 +308,7 @@ export default function Apprendimento() {
<P>
Meccanismo di <B>costruzione dei cromosomi</B> in un figlio: i cromosomi dei genitori vengono
tagliati nello stesso punto scelto a caso, e per costruire quelli del figlio viene presa una
parte dal padre e l'altra parte dalla madre.
parte dal padre e l&apos;altra parte dalla madre.
</P>
<P>
Può portare al miglioramento di un individuo e allo sviluppo di nuovi tratti, ma solo nelle
@ -316,7 +317,7 @@ export default function Apprendimento() {
</Box>
<Box title={"Schema"}>
<P>
<B>Sequenza di valori</B> all'interno di un cromosoma, che può includere anche sezioni in cui il
<B>Sequenza di valori</B> all&apos;interno di un cromosoma, che può includere anche sezioni in cui il
valore è <B>irrilevante</B>.
</P>
<P>
@ -327,12 +328,12 @@ export default function Apprendimento() {
</Box>
<Box title={"Convergenza prematura"}>
<P>
Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell'assenza di novità nel
Situazione in cui si è raggiunta una soluzione non-ottimale a causa dell&apos;assenza di novità nel
sistema.
</P>
<P>
Si può impedire con vari metodi: con la <B>mutazione</B>, introducendo <B>requisiti di
località</B> per l'accoppiamento, scegliendo diversamente i genitori, etc...
località</B> per l&apos;accoppiamento, scegliendo diversamente i genitori, etc...
</P>
</Box>
</Split>
@ -370,13 +371,13 @@ export default function Apprendimento() {
</Box>
<Box title={"Detettori"}>
<P>
<B>Sensori</B> che percepiscono lo stato dell'ambiente esterno e lo riportano sotto forma
<B>Sensori</B> che percepiscono lo stato dell&apos;ambiente esterno e lo riportano sotto forma
di <I>messaggi</I>.
</P>
</Box>
<Box title={"Effettori"}>
<P>
<B>Motori</B> che rispondono ai <I>messaggi</I> effettuando una qualche azione nell'ambiente.
<B>Motori</B> che rispondono ai <I>messaggi</I> effettuando una qualche azione nell&apos;ambiente.
</P>
</Box>
</Split>
@ -416,8 +417,8 @@ export default function Apprendimento() {
<Split>
<Box title={"Cover Detector"}>
<P>
Se l'input non soddisfa nessun classificatore esistente, se ne crea uno nuovo soddisfatto
dall'input attuale con una azione casuale.
Se l&apos;input non soddisfa nessun classificatore esistente, se ne crea uno nuovo soddisfatto
dall&apos;input attuale con una azione casuale.
</P>
</Box>
<Box title={"Cover Effector"}>
@ -495,7 +496,7 @@ export default function Apprendimento() {
<Split title={"Modello di Hopfield"}>
<Box title={"Cos'è?"}>
<P>
Un'estensione del modello booleano per permettere l'apprendimento automatico delle
Un&apos;estensione del modello booleano per permettere l&apos;apprendimento automatico delle
configurazioni giuste di neuroni.
</P>
<P>
@ -596,7 +597,7 @@ export default function Apprendimento() {
</Box>
<Box title={"Energia"}>
<P>
Una funzione dell'intero sistema che rappresenta il totale degli stati di tutti i neuroni e
Una funzione dell&apos;intero sistema che rappresenta il totale degli stati di tutti i neuroni e
tutte le connessioni.
</P>
<PLatex>{r`
@ -607,11 +608,11 @@ export default function Apprendimento() {
<Split>
<Box title={"Apprendimento hebbiano"}>
<P>
Un metodo per realizzare l'apprendimento nel modello di Hopfield.
Un metodo per realizzare l&apos;apprendimento nel modello di Hopfield.
</P>
<P>
Si incrementa l'intensità delle sinapsi che connettono neuroni nello stesso stato, e invece si
decrementa l'intensità di quelle che connettono neuroni in stati opposti.
Si incrementa l&apos;intensità delle sinapsi che connettono neuroni nello stesso stato, e invece si
decrementa l&apos;intensità di quelle che connettono neuroni in stati opposti.
</P>
<P>
Considerando i neuroni spenti e quelli accesi
@ -627,10 +628,10 @@ export default function Apprendimento() {
</Box>
<Box title={"Simmetria"}>
<P>
Applicando l'apprendimento hebbiano al modello di Hopfield si ottengono sinapsi simmetriche.
Applicando l&apos;apprendimento hebbiano al modello di Hopfield si ottengono sinapsi simmetriche.
</P>
<P>
Se è valida questa proprietà, si può dimostrare che l'<B>energia del sistema è sempre
Se è valida questa proprietà, si può dimostrare che l&apos;<B>energia del sistema è sempre
decrescente</B>, e che quindi che tenderà a un punto fisso!
</P>
</Box>
@ -655,7 +656,7 @@ export default function Apprendimento() {
</Box>
<Box title={"Archetipi"}>
<P>
Per minimizzare l'interferenza tra pattern, è possibile insegnare al modello un <I>archetipo</I>:
Per minimizzare l&apos;interferenza tra pattern, è possibile insegnare al modello un <I>archetipo</I>:
si insegna più volte il pattern originale applicandoci una minima quantità di interferenza
casuale.
</P>
@ -664,7 +665,7 @@ export default function Apprendimento() {
<Split title={"Modello a percettroni"}>
<Box title={"Cos'è?"}>
<P>
Un modello di rete neurale che supporta l'apprendimento e che presenta <B>più strati di
Un modello di rete neurale che supporta l&apos;apprendimento e che presenta <B>più strati di
neuroni</B>.
</P>
<P>
@ -716,7 +717,7 @@ export default function Apprendimento() {
<Split>
<Box title={"Percettrone"}>
<P>
Una <B>rete neurale</B> che viene incapsulata all'interno di un singolo neurone.
Una <B>rete neurale</B> che viene incapsulata all&apos;interno di un singolo neurone.
</P>
<P>
La sua emissione è determinata dalla sua funzione di emissione <ILatex>{r`H`}</ILatex>:
@ -753,7 +754,7 @@ export default function Apprendimento() {
<P>
Nel caso che vi siano più strati di neuroni, allora sarà necessario ricorrere alla <Anchor
href={"https://en.wikipedia.org/wiki/Backpropagation"}
>backpropagation</Anchor>, che stima l'errore
>backpropagation</Anchor>, che stima l&apos;errore
di classificazione di ogni singolo neurone e li corregge di conseguenza.
</P>
</Box>
@ -764,9 +765,10 @@ export default function Apprendimento() {
Un modello a percettroni in cui <B>non si presentano cicli</B>.
</P>
<P>
Alcuni dei neuroni che vi sono all'interno saranno dunque dei <B>neuroni sorgente</B> e dei <B>neuroni pozzo</B>.
Alcuni dei neuroni che vi sono all&apos;interno saranno dunque dei <B>neuroni sorgente</B> e dei <B>neuroni pozzo</B>.
</P>
</Box>
</Split>
</>
}
export default Page

View file

@ -0,0 +1,51 @@
import { Heading, Chapter, Box, Idiomatic as I, Panel, ListUnordered } from "@steffo/bluelib-react";
import { NextPage } from "next";
import { Link } from "../../../components/link";
const Page: NextPage = () => {
return <>
<Heading level={2}>
Calcolo numerico
</Heading>
<Chapter>
<Box>
<Heading level={3}>
Premessa
</Heading>
<p>
<I>Calcolo numerico</I> credo sia il corso per il quale ho realizzato il materiale più dettagliato.
</p>
<p>
Avere tutto schematizzato mi ha permesso di apprendere facilmente tutti i concetti!
</p>
<p>
Non ho però realizzato nessun materiale su MATLAB, in quanto esistevano già numerose guide su Internet a riguardo...
</p>
</Box>
</Chapter>
<Chapter>
<Box>
<Heading level={3}>
Materiale raccolto
</Heading>
<Chapter>
<Panel>
<Heading level={4}>
Appuntiweb
</Heading>
<ListUnordered>
<ListUnordered.Item>
<Link href="/year2/calcolo/teoria">
Appunti di teoria
</Link>
</ListUnordered.Item>
</ListUnordered>
</Panel>
</Chapter>
</Box>
</Chapter>
</>
}
export default Page

View file

@ -1,34 +1,19 @@
import * as Bluelib from "@steffo/bluelib-react"
import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement"
import { Section, Panel, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, Link } from "../../components/compat-old"
import 'katex/dist/katex.min.css';
import { WarningIncomplete, WarningPorted, WarningUnchecked } from "../../components/warnings";
import { Heading } from "@steffo/bluelib-react"
import { Section, Panel, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, Link } from "../../../components/compat-old"
import { Link as NewLink } from "../../../components/link"
import { NextPage } from "next"
export default function CalcoloNumerico() {
const Tick = (props) => <Help text={"Un quanto di tempo del sistema."}>{props.children ?? "tick"}</Help>
const Page: NextPage = () => {
return <>
<Bluelib.Heading level={2}>
<Heading level={2}>
<NewLink href="/year2/calcolo">
Calcolo numerico
</Bluelib.Heading>
<Bluelib.Chapter>
<Bluelib.Box>
<Bluelib.Heading level={3}>
Introduzione
</Bluelib.Heading>
<p>
<Bluelib.Idiomatic>Calcolo numerico</Bluelib.Idiomatic> credo sia il corso per il quale ho realizzato il materiale più dettagliato.
</p>
<p>
Avere tutto schematizzato mi ha permesso di apprendere facilmente tutti i concetti!
</p>
<p>
Non ho però realizzato nessun materiale su MATLAB, in quanto esistevano già numerose guide su Internet a riguardo...
</p>
<WarningPorted />
<WarningUnchecked />
<WarningIncomplete />
</Bluelib.Box>
</Bluelib.Chapter>
</NewLink>
</Heading>
<Section title={"Matrici speciali"}>
<Panel title={"Matrice identità"}>
<p>
@ -122,7 +107,7 @@ export default function CalcoloNumerico() {
<Panel title={"Matrice antisimmetrica"}>
<p>
Matrice con un asse di simmetria lungo la diagonale; gli elementi nel triangolo superiore sono
però l'opposto di quelli del triangolo inferiore.
però l&apos;opposto di quelli del triangolo inferiore.
</p>
<p>
Ha sempre degli <ILatex>0</ILatex> lungo la diagonale.
@ -266,7 +251,7 @@ export default function CalcoloNumerico() {
<ILatex>{r`\Vert A \Vert = sup_{x \in \mathbb{R}, x \neq 0} \frac{\Vert A \cdot x \Vert}{\Vert x \Vert}`}</ILatex>
</p>
<Example>
<ILatex>sup</ILatex> è l'estremo superiore di un insieme. E' molto simile al massimo: ricordi le
<ILatex>sup</ILatex> è l&apos;estremo superiore di un insieme. E&apos; molto simile al massimo: ricordi le
prime lezioni di Analisi?
</Example>
</Panel>
@ -311,7 +296,7 @@ export default function CalcoloNumerico() {
<Section title={"Errori"}>
<Panel title={"Errore relativo tra vettori e matrici"}>
<p>
Le norme sono usate per calcolare l'errore relativo tra due vettori o matrici:
Le norme sono usate per calcolare l&apos;errore relativo tra due vettori o matrici:
</p>
<p>
<ILatex>{r`\frac{\Vert x - y \Vert}{\Vert x \Vert}`}</ILatex>
@ -319,7 +304,7 @@ export default function CalcoloNumerico() {
</Panel>
<Panel title={"Errore assoluto tra funzioni"}>
<p>
L'errore, ovvero la <b>massima distanza</b> tra due funzioni, si ottiene con:
L&apos;errore, ovvero la <b>massima distanza</b> tra due funzioni, si ottiene con:
</p>
<PLatex>{r`\| f - g \|_\infty`}</PLatex>
</Panel>
@ -418,7 +403,7 @@ export default function CalcoloNumerico() {
<Panel title={"La funzione fl"}>
<p>
Associa un valore reale al suo <b>corrispondente valore floating point</b>, utilizzando uno dei
due metodi di gestione dell'undeflow.
due metodi di gestione dell&apos;undeflow.
</p>
<PLatex>{r`fl(x) = (x)(1 + \epsilon_x)`}</PLatex>
<Example>
@ -430,7 +415,7 @@ export default function CalcoloNumerico() {
<Section>
<Panel title={"Un nuovo insieme"}>
<p>
L'insieme <ILatex>{r`\mathbb{F}`}</ILatex> è il sottoinsieme dei numeri reali rappresentabili in
L&apos;insieme <ILatex>{r`\mathbb{F}`}</ILatex> è il sottoinsieme dei numeri reali rappresentabili in
floating point dalla macchina che stiamo usando.
</p>
<p>
@ -461,25 +446,25 @@ export default function CalcoloNumerico() {
Si indica con <ILatex>{r`\epsilon_{nome\_var}`}</ILatex>.
</p>
<Example>
L'errore sulla variabile <ILatex>x</ILatex> si indica con <ILatex>{r`\epsilon_{x}`}</ILatex>.
L&apos;errore sulla variabile <ILatex>x</ILatex> si indica con <ILatex>{r`\epsilon_{x}`}</ILatex>.
</Example>
</Panel>
<Panel title={"Errore algoritmico"}>
<p>
Errore derivato da underflow durante l'<b>esecuzione dell'algoritmo</b>.
Errore derivato da underflow durante l&apos;<b>esecuzione dell&apos;algoritmo</b>.
</p>
<p>
Si indica con <ILatex>{r`\epsilon_{num\_passo}`}</ILatex>.
</p>
<Example>
L'errore al primo passo dell'algoritmo si indica con <ILatex>{r`\epsilon_{1}`}</ILatex>.
L&apos;errore al primo passo dell&apos;algoritmo si indica con <ILatex>{r`\epsilon_{1}`}</ILatex>.
</Example>
</Panel>
</Section>
<Section>
<Panel title={"Condizionamento"}>
<p>
Sensibilità di un problema all'<b>errore inerente</b>.
Sensibilità di un problema all&apos;<b>errore inerente</b>.
</p>
<Example>
<ILatex>{r`y = \frac{1}{x}`}</ILatex> è mal condizionato intorno allo 0 e ben condizionato
@ -488,7 +473,7 @@ export default function CalcoloNumerico() {
</Panel>
<Panel title={"Stabilità"}>
<p>
Sensibilità di un problema all'<b>errore algoritmico</b>.
Sensibilità di un problema all&apos;<b>errore algoritmico</b>.
</p>
<Example>
<p>
@ -500,7 +485,7 @@ export default function CalcoloNumerico() {
</p>
<p>
Calcolare direttamente <ILatex>{r`x = fl \left( \frac{2}{4} \right)`}</ILatex> non ha alcuna
perdita di precisione e rende l'algoritmo <b>più stabile</b> del precedente.
perdita di precisione e rende l&apos;algoritmo <b>più stabile</b> del precedente.
</p>
</Example>
</Panel>
@ -508,18 +493,18 @@ export default function CalcoloNumerico() {
<Section>
<Panel title={"Indice di condizionamento"}>
<p>
È il coefficiente di proporzionalità tra i dati e l'<b>errore inerente</b>.
È il coefficiente di proporzionalità tra i dati e l&apos;<b>errore inerente</b>.
</p>
<p>
Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.
</p>
<p>
Minore è l'indice di condizionamento, meglio condizionato è un problema.
Minore è l&apos;indice di condizionamento, meglio condizionato è un problema.
</p>
</Panel>
<Panel title={"Indice algoritmico"}>
<p>
È il coefficiente di proporzionalità tra i dati e l'<b>errore algoritmico</b>.
È il coefficiente di proporzionalità tra i dati e l&apos;<b>errore algoritmico</b>.
</p>
<p>
Essendo sempre maggiore di uno, si può dire che sia un coefficiente di amplificazione.
@ -537,7 +522,7 @@ export default function CalcoloNumerico() {
<ILatex>{r`x`}</ILatex>.
</p>
<p>
L'equazione matriciale del sistema è:
L&apos;equazione matriciale del sistema è:
</p>
<PLatex>{r`A \cdot x = b`}</PLatex>
</Panel>
@ -575,7 +560,7 @@ export default function CalcoloNumerico() {
un sistema lineare.
</p>
<p>
Tipicamente prevedono l'applicazione ripetuta di un <b>metodo</b>, in base al quale cambia
Tipicamente prevedono l&apos;applicazione ripetuta di un <b>metodo</b>, in base al quale cambia
la <b>velocità di convergenza</b> alla soluzione.
</p>
<p>
@ -587,7 +572,7 @@ export default function CalcoloNumerico() {
<Panel title={"Divisione"}>
<p>
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
soluzione <i>dividendo</i> ogni termine noto per l&apos;unico coefficiente diverso da zero presente
nella sua riga:
</p>
<PLatex>{r`x_i = \frac{b_i}{A_{ii}}`}</PLatex>
@ -595,8 +580,8 @@ export default function CalcoloNumerico() {
<Panel title={"Sostituzione"}>
<p>
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:
possibile trovare la soluzione effettuando una <i>sostituzione</i> all&apos;avanti oppure
all&apos;indietro:
</p>
<PLatex>{r`x_i = \frac{b_i - \sum_{k = 1}^{i - 1} (x_k \cdot A_{ik})}{A_{ii}}`}</PLatex>
<PLatex>{r`x_i = \frac{b_i - \sum_{k = i - 1}^{n} (x_k \cdot A_{ik})}{A_{ii}}`}</PLatex>
@ -606,7 +591,7 @@ export default function CalcoloNumerico() {
<Panel title={<span>Fattorizzazione <ILatex>{r`LU`}</ILatex></span>}>
<p>
Se tutti i valori sulla diagonale di <ILatex>{r`A`}</ILatex> sono <b>diversi da 0 <small>(eccetto
l'ultimo)</small></b> allora è possibile <i>fattorizzarla</i> in due matrici:
l&apos;ultimo)</small></b> allora è possibile <i>fattorizzarla</i> in due matrici:
una <ILatex>{r`L`}</ILatex> <b>triangolare inferiore</b>, e una <ILatex>{r`U`}</ILatex> <b>triangolare
superiore</b>.
</p>
@ -639,8 +624,8 @@ export default function CalcoloNumerico() {
È la parte triangolare superiore di <ILatex>{r`A`}</ILatex>!
</Example>
<p>
Il sistema può essere poi risolto applicando due volte il metodo di sostituzione (all'avanti e
all'indietro):
Il sistema può essere poi risolto applicando due volte il metodo di sostituzione (all&apos;avanti e
all&apos;indietro):
</p>
<PLatex>{r`
\begin{cases}
@ -657,7 +642,7 @@ export default function CalcoloNumerico() {
<p>
È 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.
la stabilità</b> dell&apos;algoritmo.
</p>
<Example>
Abbiamo fatto questo metodo in Algebra Lineare, chiamandolo <b>metodo di Gauss-Jordan</b>!
@ -668,7 +653,7 @@ export default function CalcoloNumerico() {
</p>
<PLatex>{r`P \cdot A = L \cdot U`}</PLatex>
<p>
Per massimizzare la stabilità, si cerca di <b>usare come perno l'elemento più grande</b> della
Per massimizzare la stabilità, si cerca di <b>usare come perno l&apos;elemento più grande</b> della
colonna.
</p>
<p>
@ -679,7 +664,7 @@ export default function CalcoloNumerico() {
<Panel title={<span>Fattorizzazione <ILatex>{r`LU`}</ILatex> con pivoting totale</span>}>
<p>
È 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:
ulteriormente la stabilità</b> dell&apos;algoritmo, a costo di maggiore costo computazionale:
</p>
<PLatex>{r`P \cdot A \cdot Q = L \cdot U`}</PLatex>
<p>
@ -781,7 +766,7 @@ export default function CalcoloNumerico() {
<Section>
<Panel title={"Trasformazione di Householder"}>
<p>
Matrice ricavata dalla seguente formula, dove <ILatex>{r`v`}</ILatex> è la colonna di un'altra
Matrice ricavata dalla seguente formula, dove <ILatex>{r`v`}</ILatex> è la colonna di un&apos;altra
matrice:
</p>
<PLatex>{r`U(v) = \mathbf{I} - \frac{2 \cdot v \cdot v^T}{\| v \|_{(2)}^2}`}</PLatex>
@ -799,7 +784,7 @@ export default function CalcoloNumerico() {
\end{pmatrix}
`}</PLatex>
<p>
Si calcola con una complessità computazionale nell'ordine di <ILatex>{r`O(n)`}</ILatex>.
Si calcola con una complessità computazionale nell&apos;ordine di <ILatex>{r`O(n)`}</ILatex>.
</p>
</Panel>
<Panel title={<span>Fattorizzazione <ILatex>{r`QR`}</ILatex></span>}>
@ -819,7 +804,7 @@ export default function CalcoloNumerico() {
in una matrice triangolare superiore (<ILatex>{r`R`}</ILatex>).
</p>
<Example>
C'è un bell'esempietto <Link
C&apos;è un bell&apos;esempietto <Link
href={"https://web.archive.org/web/20200828003151/https://rpubs.com/aaronsc32/qr-decomposition-householder"}>qui</Link>.
</Example>
<p>
@ -870,8 +855,8 @@ export default function CalcoloNumerico() {
</p>
<ul>
<li>La parte diagonale <ILatex>{r`D`}</ILatex></li>
<li>L'opposto del triangolo inferiore <ILatex>{r`E`}</ILatex></li>
<li>L'opposto del triangolo superiore <ILatex>{r`F`}</ILatex></li>
<li>L&apos;opposto del triangolo inferiore <ILatex>{r`E`}</ILatex></li>
<li>L&apos;opposto del triangolo superiore <ILatex>{r`F`}</ILatex></li>
</ul>
<PLatex>{r`A = D - E - F`}</PLatex>
</Panel>
@ -979,7 +964,7 @@ export default function CalcoloNumerico() {
<Section title={"Metodi dicotomici"}>
<Panel title={"Cosa sono?"}>
<p>
Sono <b>metodi iterativi</b> in grado di ridurre sempre di più l'intervallo in cui è definita la
Sono <b>metodi iterativi</b> in grado di ridurre sempre di più l&apos;intervallo in cui è definita la
funzione, facendolo convergere allo zero desiderato.
</p>
<p>
@ -989,7 +974,7 @@ export default function CalcoloNumerico() {
Richiedono <b>una valutazione di funzione non-lineare</b> ad ogni iterazione.
</p>
<p>
Ad ogni iterazione, l'intervallo viene sempre <i>almeno</i> <b>dimezzato</b>; si ha, pertanto,
Ad ogni iterazione, l&apos;intervallo viene sempre <i>almeno</i> <b>dimezzato</b>; si ha, pertanto,
che:
</p>
<PLatex>{r`b_{(i)} - a_{(i)} = \frac{b - a}{2^{i - 1}}`}</PLatex>
@ -998,12 +983,12 @@ export default function CalcoloNumerico() {
</p>
<p>
Il loro <i>criterio di arresto</i> è un <b>numero di iterazioni prefissato</b> che dipende
dalla <b>tolleranza</b> sull'errore:
dalla <b>tolleranza</b> sull&apos;errore:
</p>
<PLatex>{r`i \geq \log_2 \left( \frac{b - a}{\tau} \right)`}</PLatex>
<Example>
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
Dividi l&apos;intervallo <ILatex>{r`[a, b]`}</ILatex> in tante parti grandi quanto la tolleranza.
L&apos;algoritmo di bisezione ne escluderà metà ad ogni iterazione; la tolleranza sarà raggiunta
quando rimarrà una parte sola!
</Example>
</Panel>
@ -1015,18 +1000,18 @@ export default function CalcoloNumerico() {
<ol>
<li>
Calcoliamo il <b>punto
medio</b> dell'intervallo <ILatex>{r`[a_{(n)}, b_{(n)}]`}</ILatex>:
medio</b> dell&apos;intervallo <ILatex>{r`[a_{(n)}, b_{(n)}]`}</ILatex>:
<PLatex>{r`c_{(n)} = a_{(n)} + \frac{b_{(n)} - a_{(n)}}{2}`}</PLatex>
</li>
<li>
Dividiamo l'intervallo in due parti, separate da <ILatex>{r`c_{(n)}`}</ILatex>:
Dividiamo l&apos;intervallo in due parti, separate da <ILatex>{r`c_{(n)}`}</ILatex>:
<ul>
<li><ILatex>{r`[a_{(n)}, c_{(n)}]`}</ILatex> è la <b>metà</b> sinistra</li>
<li><ILatex>{r`[c_{(n)}, b_{(n)}]`}</ILatex> è la <b>metà</b> destra</li>
</ul>
</li>
<li>
Teniamo l'intervallo in cui i valori della funzione ai due estremi sono discordi, e
Teniamo l&apos;intervallo in cui i valori della funzione ai due estremi sono discordi, e
rinominiamolo in <ILatex>{r`[a_{(n+1)}, b_{(n+1)}]`}</ILatex>.
</li>
</ol>
@ -1038,19 +1023,19 @@ export default function CalcoloNumerico() {
<li>Finchè non sono state compiute il numero di iterazioni prefissate:
<ol>
<li>
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>:
Calcoliamo l&apos;<b>intersezione</b> tra la <b>retta che congiunge i due estremi</b>
<ILatex>{r`a_{(n)}, b_{(n)}`}</ILatex> e l&apos;<b>asse X</b>:
<PLatex>{r`c_{(n)} = b_{(n)} - \frac{f(b_{(n)})}{\frac{f(b_{(n)}) - f(a_{(n)})}{b_{(n)} - a_{(n)}}}`}</PLatex>
</li>
<li>
Dividiamo l'intervallo in due parti, separate da <ILatex>{r`c_{(n)}`}</ILatex>:
Dividiamo l&apos;intervallo in due parti, separate da <ILatex>{r`c_{(n)}`}</ILatex>:
<ul>
<li><ILatex>{r`[a_{(n)}, c_{(n)}]`}</ILatex> è la parte sinistra</li>
<li><ILatex>{r`[c_{(n)}, b_{(n)}]`}</ILatex> è la parte destra</li>
</ul>
</li>
<li>
Teniamo l'intervallo in cui i valori della funzione ai due estremi sono discordi, e
Teniamo l&apos;intervallo in cui i valori della funzione ai due estremi sono discordi, e
rinominiamolo in <ILatex>{r`[a_{(n+1)}, b_{(n+1)}]`}</ILatex>.
</li>
</ol>
@ -1062,7 +1047,7 @@ export default function CalcoloNumerico() {
<Panel title={"Metodi delle approssimazioni successive"}>
<p>
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".
sistemi lineari, utilizzando una funzione <ILatex>{r`\phi`}</ILatex> come &quot;metodo&quot;.
</p>
<PLatex>{r`x = x - \phi(x) \cdot f(x)`}</PLatex>
<p>
@ -1106,7 +1091,7 @@ export default function CalcoloNumerico() {
<li>
<p>
La funzione <ILatex>{r`g`}</ILatex> è una contrazione, ovvero restringe
l'intervallo <ILatex>{r`[a, b]`}</ILatex>:
l&apos;intervallo <ILatex>{r`[a, b]`}</ILatex>:
</p>
<PLatex>{r`\forall (x, y) \in [a, b], | g(x) - g(y) | \leq L \cdot | x - y |`}</PLatex>
<p>
@ -1129,7 +1114,7 @@ export default function CalcoloNumerico() {
</li>
<li>
<p>
Vale la seguente disequazione di <i>maggiorazione dell'errore</i>:
Vale la seguente disequazione di <i>maggiorazione dell&apos;errore</i>:
</p>
<PLatex>{r`\left| x_{(k)} - x_{(\star)} \right| \leq \frac{ L^k }{ 1 - L } \cdot \left| x_{(1)} - x_{(0)} \right|`}</PLatex>
</li>
@ -1153,7 +1138,7 @@ export default function CalcoloNumerico() {
<Example>
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
e prendendo come nuovo punto la sua intersezione con l&apos;asse X e la sua corrispettiva immagine
nella funzione.
</Example>
<p>
@ -1173,7 +1158,7 @@ export default function CalcoloNumerico() {
<Example>
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
e prendendo come nuovo punto la sua intersezione con l&apos;asse X e la sua corrispettiva immagine
nella funzione.
</Example>
<p>
@ -1194,11 +1179,11 @@ export default function CalcoloNumerico() {
<Section title={"Problema: Interpolazione"}>
<Panel title={"Descrizione"}>
<p>
Si vuole trovare una funzione in grado di <b>approssimarne</b> un'altra, di cui si conoscono
Si vuole trovare una funzione in grado di <b>approssimarne</b> un&apos;altra, di cui si conoscono
però solo alcuni punti.
</p>
<Example>
È utile in un sacco di casi! Ad esempio, quando si vuole scalare un'immagine.
È utile in un sacco di casi! Ad esempio, quando si vuole scalare un&apos;immagine.
</Example>
<p>
I punti sono detti <b>nodi</b> <ILatex>{r`(x_i, y_i)`}</ILatex>, mentre la funzione costruita su
@ -1211,11 +1196,11 @@ export default function CalcoloNumerico() {
</Panel>
<Panel title={"Interpolazione polinomiale"}>
<p>
Il <u>teorema fondamentale dell'algebra</u> dice che <b>esiste una sola
Il <u>teorema fondamentale dell&apos;algebra</u> dice che <b>esiste una sola
interpolante <i>polinomiale</i></b> che interpola un dato insieme di punti.
</p>
<p>
Con <ILatex>n+1</ILatex> punti, l'interpolante sarà al massimo di grado <ILatex>n</ILatex>, e
Con <ILatex>n+1</ILatex> punti, l&apos;interpolante sarà al massimo di grado <ILatex>n</ILatex>, e
viene detta <ILatex>{r`p_n`}</ILatex>.
</p>
<p>
@ -1305,7 +1290,7 @@ export default function CalcoloNumerico() {
<PLatex>{r`L_k = \frac{(x - x_0) \cdot \dots \cdot (x - x_{k-1}) \cdot (x - x_{k+1}) \cdot \dots \cdot (x_k - x_n)}{(x_k - x_0) \cdot \dots \cdot (x_k - x_{k-1}) \cdot (x_k - x_{k+1}) \cdot \dots \cdot (x_k - x_n)}`}</PLatex>
</li>
</ul>
<Example>Non c'è il termine con <ILatex>{r`x_k`}</ILatex>!</Example>
<Example>Non c&apos;è il termine con <ILatex>{r`x_k`}</ILatex>!</Example>
<p>
Tutti insieme formano la <b>base di Lagrange</b>.
</p>
@ -1333,7 +1318,7 @@ export default function CalcoloNumerico() {
<Section title={"Resto di interpolazione"}>
<Panel title={"Definizione"}>
<p>
È l'<b>errore compiuto durante l'interpolazione</b>.
È l&apos;<b>errore compiuto durante l&apos;interpolazione</b>.
</p>
<p>
Se la funzione <ILatex>f</ILatex> è interpolata da <ILatex>p_n</ILatex>, allora esso varrà:
@ -1347,14 +1332,14 @@ export default function CalcoloNumerico() {
<p>
Un teorema dice che esso è uguale a:
</p>
<PLatex>{r`R_n(x) = \frac{ \omega_n(x) }{ (n + 1)! } \cdot f^{(n+1)}(\xi)`}</PLatex>
<PLatex>{`R_n(x) = \\frac{ \\omega_n(x) }{ (n + 1)! } \\cdot f^{(n+1)}(\\xi)`}</PLatex>
</Panel>
<Panel title={"Stima"}>
<p>
L'errore nell'interpolazione dipende principalmente da due fattori:
L&apos;errore nell&apos;interpolazione dipende principalmente da due fattori:
</p>
<ul>
<li>Come sono <b>distribuiti sull'asse X</b> i punti da interpolare</li>
<li>Come sono <b>distribuiti sull&apos;asse X</b> i punti da interpolare</li>
<li>Il grado del polinomio di interpolazione</li>
</ul>
</Panel>
@ -1366,8 +1351,8 @@ export default function CalcoloNumerico() {
Runge</i> (<ILatex>{r`\frac{1}{1 + 25x^2}`}</ILatex>).
</p>
<p>
Scegliendo <b>nodi equispaziati</b>, l'errore di interpolazione sarà <b>enorme</b> vicino ai due
estremi dell'intervallo.
Scegliendo <b>nodi equispaziati</b>, l&apos;errore di interpolazione sarà <b>enorme</b> vicino ai due
estremi dell&apos;intervallo.
</p>
<Example>
Addirittura, più nodi verranno scelti, più esso sarà alto!
@ -1418,7 +1403,7 @@ export default function CalcoloNumerico() {
</ul>
<Example>
<p>
Significa che agli estremi dell'intervallo, i valori di tutte le derivate fino al
Significa che agli estremi dell&apos;intervallo, i valori di tutte le derivate fino al
grado <ILatex>{r`n - 1`}</ILatex> devono essere uguali:
</p>
<PLatex>{r`\forall \ k \leq n-1, \forall \ i \in \{intervalli\}, \quad s_i^{(k)} (x_{i+1}) = s_i^{(k)} (x_{i+1})`}</PLatex>
@ -1448,7 +1433,7 @@ export default function CalcoloNumerico() {
</p>
<PLatex>{r`\| R \|_\infty = \| f - s \|_\infty \leq \frac{1}{8} \cdot \max_{y \in [a, b]} \left| f''(y) \right| \cdot \left( \max_{i \in \{intervalli\}} (x_{i+1} - x_{i}) \right)^2`}</PLatex>
<p>
Ha come vantaggi complessità computazionale <b>molto più bassa</b> e l'<b>assenza</b> del
Ha come vantaggi complessità computazionale <b>molto più bassa</b> e l&apos;<b>assenza</b> del
fenomeno di Runge, ma allo stesso tempo si <b>perde la derivabilità della funzione.</b>
</p>
<p>
@ -1577,7 +1562,7 @@ export default function CalcoloNumerico() {
<Panel title={"Proprietà di minima curvatura"}>
<p>
Tra tutte le funzioni che interpolano dei punti, le tre classi di funzioni sopraelencate sono
quelle che interpolano la funzione più "dolcemente".
quelle che interpolano la funzione più &quot;dolcemente&quot;.
</p>
<p>
Per loro è valida la seguente proprietà:
@ -1586,13 +1571,13 @@ export default function CalcoloNumerico() {
</Panel>
<Panel title={"Errore di interpolazione"}>
<p>
Più diminuisce la lunghezza <ILatex>{r`h`}</ILatex> degli intervalli, più aumenta l'accuratezza.
Più diminuisce la lunghezza <ILatex>{r`h`}</ILatex> degli intervalli, più aumenta l&apos;accuratezza.
</p>
<p>
<b>Non</b> si verifica il fenomeno di Runge.
</p>
<p>
Si ha un'interpolazione anche della <b>derivata prima</b>.
Si ha un&apos;interpolazione anche della <b>derivata prima</b>.
</p>
</Panel>
</Section>
@ -1610,17 +1595,17 @@ export default function CalcoloNumerico() {
Denominiamo:
</p>
<ul>
<li><ILatex>{r`{\color{Orange} f}`}</ILatex>: la <b>funzione "effettiva"</b> del fenomeno</li>
<li><ILatex>{r`{\color{Orange} f}`}</ILatex>: la <b>funzione &quot;effettiva&quot;</b> del fenomeno</li>
<li><ILatex>{r`{\color{Yellow} q}`}</ILatex>: la <b>funzione di regressione</b> che costruiamo
per approssimarlo
</li>
<li><ILatex>{r`{\color{Red} Q }`}</ILatex>: la <b>funzione "errore di regressione"</b> da
<li><ILatex>{r`{\color{Red} Q }`}</ILatex>: la <b>funzione &quot;errore di regressione&quot;</b> da
minimizzare
</li>
<li><ILatex>{r`(\ x_i, f(x_i)\ )`}</ILatex>: i <b>punti sperimentali</b></li>
</ul>
<p>
L'obiettivo è minimizzare l'<b>errore di approssimazione</b> <ILatex>{r`Q`}</ILatex>, ovvero:
L&apos;obiettivo è minimizzare l&apos;<b>errore di approssimazione</b> <ILatex>{r`Q`}</ILatex>, ovvero:
</p>
<PLatex>{r`\min {\color{Red} Q } = \sum_{i = 1}^m (\ {\color{Yellow} q(x_i)} - {\color{Orange} f(x_i)}\ )^2 `}</PLatex>
</Panel>
@ -1637,7 +1622,7 @@ export default function CalcoloNumerico() {
</p>
<PLatex>{r`{\color{Yellow} q(x) } = a_0 + a_1 \cdot {\color{Green} x}`}</PLatex>
<p>
L'errore da minimizzare per ricavare i parametri sarà:
L&apos;errore da minimizzare per ricavare i parametri sarà:
</p>
<PLatex>{r`
\min {\color{Red} Q } = \sum_{i = 1}^m ( {\color{Yellow} a_0 + a_1 \cdot x_i} - {\color{Orange} f(x_i)} )^2
@ -1672,7 +1657,7 @@ export default function CalcoloNumerico() {
</p>
<PLatex>{r`{\color{Yellow} q(x) } = A \cdot \alpha`}</PLatex>
<p>
Inoltre, potremo calcolare l'errore attraverso la norma:
Inoltre, potremo calcolare l&apos;errore attraverso la norma:
</p>
<PLatex>{r`{\color{Red} Q } = \| A \cdot \alpha - y \|^2`}</PLatex>
</Panel>
@ -1695,7 +1680,7 @@ export default function CalcoloNumerico() {
</p>
</Example>
<p>
L'errore da minimizzare per ricavare i parametri sarà:
L&apos;errore da minimizzare per ricavare i parametri sarà:
</p>
<PLatex>{r`
\min {\color{Red} Q} = \sum_{i = 1}^m ( {\color{Yellow} a_0 + a_1 \cdot x_i + a_2 \cdot x_i^2 +\ \dots \ + a_{n-1} \cdot x_i^{n-1}} - {\color{Orange} y_i} )^2
@ -1732,7 +1717,7 @@ export default function CalcoloNumerico() {
</p>
<PLatex>{r`{\color{Yellow} q(x) } = A \cdot \alpha`}</PLatex>
<p>
Inoltre, potremo calcolare l'errore attraverso la norma:
Inoltre, potremo calcolare l&apos;errore attraverso la norma:
</p>
<PLatex>{r`{\color{Red} Q } = \| A \cdot \alpha - y \|^2`}</PLatex>
<Example>
@ -1757,7 +1742,7 @@ export default function CalcoloNumerico() {
<PLatex>{r`{\color{Green} \phi_{n} (x)} = x^n`}</PLatex>
</Example>
<p>
L'errore da minimizzare per ricavare i parametri sarà:
L&apos;errore da minimizzare per ricavare i parametri sarà:
</p>
<PLatex>{r`
\min {\color{Red} Q } = \sum_{i = 1}^m ( {\color{Yellow} a_0 \cdot \phi_0 (x) + a_1 \cdot \phi_1 (x) + \dots + a_2 \cdot \phi_2 (x) +\ \dots\ + a_{n-1} \cdot \phi_{n-1} (x)} - {\color{Orange} f(x_i)} )^2
@ -1794,7 +1779,7 @@ export default function CalcoloNumerico() {
</p>
<PLatex>{r`{\color{Yellow} q(x) } = A \cdot \alpha`}</PLatex>
<p>
Inoltre, potremo calcolare l'errore attraverso la norma:
Inoltre, potremo calcolare l&apos;errore attraverso la norma:
</p>
<PLatex>{r`{\color{Red} Q } = \| A \cdot \alpha - y \|^2`}</PLatex>
</Panel>
@ -1866,3 +1851,5 @@ export default function CalcoloNumerico() {
</Section>
</>
}
export default Page

View file

@ -0,0 +1,60 @@
import { Heading, Chapter, Box, Panel, Idiomatic as I, ListUnordered } from "@steffo/bluelib-react";
import { NextPage } from "next";
import { Link } from "../../../components/link";
const Page: NextPage = () => {
return <>
<Heading level={2}>
Basi di Dati
</Heading>
<Chapter>
<Box>
<Heading level={3}>
Introduzione
</Heading>
<p>
Alle superiori, abbiamo trattato molto in dettaglio le <I>Basi di Dati</I>, quindi non ho preso appunti per tutta la prima parte del corso; pertanto, qui ci sono solo appunti sulla seconda parte, quella sul calcolo dei costi.
</p>
<p>
In compenso, abbiamo pubblicato il progetto di gruppo che abbiamo realizzato per l&apos;esame: potete usarlo per prendere ispirazione se siete bloccati con il vostro!
</p>
</Box>
</Chapter>
<Chapter>
<Box>
<Heading level={3}>
Materiale raccolto
</Heading>
<Chapter>
<Panel>
<Heading level={4}>
Progetto di esame
</Heading>
<ListUnordered>
<ListUnordered.Item>
<Link href="https://github.com/Steffo99/alexandria">
Alexandria
</Link>
</ListUnordered.Item>
</ListUnordered>
</Panel>
<Panel>
<Heading level={4}>
Appuntiweb
</Heading>
<ListUnordered>
<ListUnordered.Item>
<Link href="/year2/database/teoria">
Appunti di teoria
</Link>
</ListUnordered.Item>
</ListUnordered>
</Panel>
</Chapter>
</Box>
</Chapter>
</>
}
export default Page

View file

@ -1,35 +1,19 @@
import * as Bluelib from "@steffo/bluelib-react"
import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement"
import { Section, Panel, r, ILatex, BLatex, PLatex, P, Anchor, I, B, Help, Example, LI } from "../../components/compat-old"
import 'katex/dist/katex.min.css';
import { WarningIncomplete, WarningPorted, WarningUnchecked } from "../../components/warnings";
import { Heading } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Section, Panel, BLatex, r, ILatex, PLatex, Example } from '../../../components/compat-old'
import { Link } from '../../../components/link'
export default function BasiDiDati() {
const Page: NextPage = () => {
return <>
<Bluelib.Heading level={2}>
Basi di Dati
</Bluelib.Heading>
<Bluelib.Chapter>
<Bluelib.Box>
<Bluelib.Heading level={3}>
Introduzione
</Bluelib.Heading>
<p>
Alle superiori, abbiamo trattato molto in dettaglio le <Bluelib.Idiomatic>Basi di Dati</Bluelib.Idiomatic>, quindi non ho preso appunti per tutta la prima parte del corso; pertanto, qui ci sono solo appunti sulla seconda parte, quella sul calcolo dei costi.
</p>
<p>
In compenso, abbiamo pubblicato il <Bluelib.Anchor href="https://github.com/Steffo99/alexandria">progetto di gruppo</Bluelib.Anchor> che abbiamo realizzato per l'esame: potete usarlo per prendere ispirazione se siete bloccati con il vostro!
</p>
<WarningPorted />
<WarningUnchecked />
<WarningIncomplete />
</Bluelib.Box>
</Bluelib.Chapter>
<Heading level={2}>
<Link href="/year2/database">
Basi di dati
</Link>
</Heading>
<Section title={"Visualizzazioni utili"}>
<Panel title={"B+ Tree"}>
<p>
<a href={"https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html"}>Link</a>
<Link href={"https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html"}>Link</Link>
</p>
</Panel>
</Section>
@ -103,7 +87,7 @@ export default function BasiDiDati() {
</ul>
</li>
<li>Uno dei due termini del confronto è <b>una colonna</b> della tabella</li>
<li>L'altro termine del confronto è <b>una costante numerica</b></li>
<li>L&apos;altro termine del confronto è <b>una costante numerica</b></li>
</ul>
</Panel>
<Panel title={"Indici"}>
@ -116,7 +100,7 @@ export default function BasiDiDati() {
unclustered</i>.
</p>
<p>
Generalmente, l'indice clustered è costruito sulla colonna della primary key, ma <a
Generalmente, l&apos;indice clustered è costruito sulla colonna della primary key, ma <a
href={"https://stackoverflow.com/questions/15051869/relationship-of-primary-key-and-clustered-index"}>non
è sempre quello il caso</a>.
</p>
@ -195,7 +179,7 @@ export default function BasiDiDati() {
C = {\color{yellow} 1} + {\color{Orange} 1}
`}</PLatex>
<p>
Se le tuple a cui si vuole accedere sono più di una, allora, il costo dipenderà da se l'indice è
Se le tuple a cui si vuole accedere sono più di una, allora, il costo dipenderà da se l&apos;indice è
clustered o non-clustered.
</p>
<Example>
@ -243,3 +227,5 @@ export default function BasiDiDati() {
</Section>
</>
}
export default Page

View file

@ -1,6 +1,6 @@
import { ListUnordered } from "@steffo/bluelib-react"
import {Heading, Chapter, Box, Panel, Idiomatic as I} from "@steffo/bluelib-react"
import { Link } from "../../../components/compat-next"
import { Link } from "../../../components/link"
export default function Fisica() {
@ -14,7 +14,7 @@ export default function Fisica() {
Premessa
</Heading>
<p>
<I>Fisica</I> è stato il corso che mi ha spinto a sviluppare il progetto Appuntiweb: avendo tante definizioni e formule, avere una visualizzazione "a carte mnemoniche" mi ha aiutato molto a studiare per l'esame.
<I>Fisica</I> è stato il corso che mi ha spinto a sviluppare il progetto Appuntiweb: avendo tante definizioni e formule, avere una visualizzazione &quot;a carte mnemoniche&quot; mi ha aiutato molto a studiare per l&apos;esame.
</p>
</Box>
</Chapter>

View file

@ -1,7 +1,7 @@
import { Heading } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Split, P, LatexMath, r, Plus, Minus, Anchor, Box, Todo, B } from '../../../components/compat-old'
import { Link } from '../../../components/compat-next'
import { Link } from '../../../components/link'
const Page: NextPage = () => {
return <>
@ -33,7 +33,7 @@ const Page: NextPage = () => {
<LatexMath>{r`\vec{v} + \vec{w} = (\vec{v}_x + \vec{w}_x) + (\vec{v}_y + \vec{w}_y)`}</LatexMath>
</P>
<P>
Produce il vettore risultante dall'applicazione della regola del parallelogramma.
Produce il vettore risultante dall&apos;applicazione della regola del parallelogramma.
</P>
</Box>
<Box title="Differenza">
@ -96,7 +96,7 @@ const Page: NextPage = () => {
</Box>
<Box title="3ᵃ: Azione e reazione">
<P>
Due corpi esercitano forze uguali e opposte uno sull'altro.
Due corpi esercitano forze uguali e opposte uno sull&apos;altro.
</P>
<P>
<LatexMath>{r`\vec{F}_{21} = -\vec{F}_{12}`}</LatexMath>
@ -106,7 +106,7 @@ const Page: NextPage = () => {
<Split title="Forza di gravità">
<Box title="Tra due corpi">
<P>
Due corpi puntiformi si attirano uno verso l'altro con forza:
Due corpi puntiformi si attirano uno verso l&apos;altro con forza:
</P>
<P>
<LatexMath>{r`\left | \vec{F} \right | = G \frac{m_1 m_2}{s^2}`}</LatexMath>
@ -141,7 +141,7 @@ const Page: NextPage = () => {
<LatexMath>{r`\left | \vec{F} \right | = g m`}</LatexMath>
</P>
<P>
L'unica differenza è che cambia la <i>costante di gravità</i>:
L&apos;unica differenza è che cambia la <i>costante di gravità</i>:
</P>
<P>
<LatexMath>{r`g_{luna} = 1.62 \frac{m}{s^2}`}</LatexMath>
@ -180,7 +180,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Tensione">
<P>
E' forza trasmessa tra due estremi di una fune.
E&apos; forza trasmessa tra due estremi di una fune.
</P>
<P>
Può essere redirezionata per mezzo di carrucole.
@ -194,14 +194,14 @@ const Page: NextPage = () => {
<LatexMath>{r`F = -k x`}</LatexMath>
</P>
<P>
(E' negativa perchè la forza è opposta a quella applicata per deformarla.)
(E&apos; negativa perchè la forza è opposta a quella applicata per deformarla.)
</P>
</Box>
</Split>
<Split title="Cinematica">
<Box title="Spostamento">
<P>
È un vettore che indica la posizione di un corpo rispetto a un'origine.
È un vettore che indica la posizione di un corpo rispetto a un&apos;origine.
</P>
<P>
<LatexMath>{r`\Delta \vec{s} = \vec{s}(fine) - \vec{s}(inizio)`}</LatexMath>
@ -322,10 +322,10 @@ const Page: NextPage = () => {
<Split title="Moto armonico semplice">
<Box title="Ampiezza">
<P>
E' la distanza dal centro massima che raggiunge il corpo.
E&apos; la distanza dal centro massima che raggiunge il corpo.
</P>
<P>
(L'ampiezza di una sinusoide.)
(L&apos;ampiezza di una sinusoide.)
</P>
</Box>
<Box title="Velocità angolare">
@ -341,7 +341,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Spostamento">
<P>
E' una sinusoide:
E&apos; una sinusoide:
</P>
<P>
<LatexMath>{r`s(t) = A \sin (\omega \cdot t + \phi)`}</LatexMath>
@ -349,7 +349,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Velocità">
<P>
E' la sinusoide dello spostamento, sfasata di <LatexMath>{r`\frac{\pi}{2}`}</LatexMath>:
E&apos; la sinusoide dello spostamento, sfasata di <LatexMath>{r`\frac{\pi}{2}`}</LatexMath>:
</P>
<P>
<LatexMath>{r`v(t) = A \sin (\omega \cdot t + \phi + \frac{\pi}{2})`}</LatexMath>
@ -357,7 +357,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Accelerazione">
<P>
E' la sinusoide della velocità, sfasata di <LatexMath>{r`\pi`}</LatexMath>:
E&apos; la sinusoide della velocità, sfasata di <LatexMath>{r`\pi`}</LatexMath>:
</P>
<P>
<LatexMath>{r`a(t) = A \sin (\omega \cdot t + \phi + \pi)`}</LatexMath>
@ -375,14 +375,14 @@ const Page: NextPage = () => {
<Split title="Moti composti">
<Box title="Moto parabolico">
<P>
Il moto parabolico è dato sommando un moto rettilineo uniforme sull'asse orizzontale e
un moto rettilineo uniformemente accelerato sull'asse verticale.
Il moto parabolico è dato sommando un moto rettilineo uniforme sull&apos;asse orizzontale e
un moto rettilineo uniformemente accelerato sull&apos;asse verticale.
</P>
</Box>
<Box title="Moto circolare uniforme">
<P>
Il moto parabolico è dato sommando due moti armonici semplici: uno sull'asse X, e
l'altro, sfasato di <LatexMath>{r`\frac{\pi}{2}`}</LatexMath>, sull'asse Y.
Il moto parabolico è dato sommando due moti armonici semplici: uno sull&apos;asse X, e
l&apos;altro, sfasato di <LatexMath>{r`\frac{\pi}{2}`}</LatexMath>, sull&apos;asse Y.
</P>
</Box>
</Split>
@ -400,7 +400,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Fase">
<P>
E' l'angolo percorso dal corpo rispetto alla posizione iniziale.
E&apos; l&apos;angolo percorso dal corpo rispetto alla posizione iniziale.
</P>
<P>
Si indica con <LatexMath>{r`\phi`}</LatexMath>, e generalmente si usa in radianti.
@ -435,7 +435,7 @@ const Page: NextPage = () => {
<Split title="Lavoro ed energia">
<Box title="Lavoro">
<P>
E' compiuto da una forza che sposta un corpo.
E&apos; compiuto da una forza che sposta un corpo.
</P>
<P>
<LatexMath>{r`W = \vec{F} \cdot \vec{s} = F \cdot \Delta s \cdot cos(\alpha )`}</LatexMath>
@ -482,14 +482,14 @@ const Page: NextPage = () => {
<Box title="Forze conservative">
<P>
Sono conservative le forze per le quali il lavoro compiuto non dipende dal percorso
seguito per andare dalla partenza all'arrivo.
seguito per andare dalla partenza all&apos;arrivo.
</P>
<P>
Ad esempio, è conservativa la <i>forza di gravità</i>, ma <B>non</B> è conservativa la
forza di attrito.
</P>
<P>
Se in un sistema ci sono solo forze conservative, allora l'energia meccanica totale si
Se in un sistema ci sono solo forze conservative, allora l&apos;energia meccanica totale si
conserva:
</P>
<P>
@ -514,7 +514,7 @@ const Page: NextPage = () => {
Si conserva: in un sistema chiuso la carica totale è costante.
</P>
<P>
Esiste un'unità elementare: <LatexMath>{r`C_{elettrone} = 1.602 \cdot 10^{-19}`}</LatexMath>.
Esiste un&apos;unità elementare: <LatexMath>{r`C_{elettrone} = 1.602 \cdot 10^{-19}`}</LatexMath>.
</P>
<P>
Cariche <Plus>opp</Plus><Minus>oste</Minus> si attraggono;
@ -539,7 +539,7 @@ const Page: NextPage = () => {
<Split title="Polarizzazione">
<Box title="Polarizzazione">
<P>
E' possibile polarizzare un corpo per accumulare la carica di un segno in una certa
E&apos; possibile polarizzare un corpo per accumulare la carica di un segno in una certa
zona.
</P>
</Box>
@ -549,7 +549,7 @@ const Page: NextPage = () => {
<P>
Se un corpo conduttore è in contatto con la Terra, le cariche su di esso
saranno <i>equilibrate</i> e il corpo diventerà elettricamente neutro (con stesso numero
di <Plus>cariche positive</Plus> e <Minus>negative</Minus> all'interno).
di <Plus>cariche positive</Plus> e <Minus>negative</Minus> all&apos;interno).
</P>
</Box>
</Split>
@ -567,14 +567,14 @@ const Page: NextPage = () => {
</Box>
<Box title="Polarizzazione per induzione">
<P>
Se un corpo conduttore ha cariche "esterne" di un <Plus>certo segno</Plus> vicino, esso
Se un corpo conduttore ha cariche &quot;esterne&quot; di un <Plus>certo segno</Plus> vicino, esso
avrà tutte le cariche del <Minus>segno opposto</Minus> in equilibrio vicino alle cariche
esterne, e tutte le cariche dello <Plus>stesso segno</Plus> più lontano possibile da
esse.
</P>
<P>
Mettendo a terra il conduttore, nuove cariche del <Minus>segno opposto</Minus> saranno
attratte all'interno del corpo per equilibrare le cariche che si sono allontanate.
attratte all&apos;interno del corpo per equilibrare le cariche che si sono allontanate.
</P>
<P>
Staccando il conduttore da terra e rimuovendo le cariche esterne, esso si
@ -617,12 +617,12 @@ const Page: NextPage = () => {
</Box>
<Box title="Flusso elettrico">
<P>
È la differenza tra "quanto" campo elettrico <Plus>entra</Plus> e quanto campo
È la differenza tra &quot;quanto&quot; campo elettrico <Plus>entra</Plus> e quanto campo
elettrico <Minus>esce</Minus> da una certa area.
</P>
<P>
In qualsiasi superficie chiusa, il flusso elettrico è uguale alla componente
perpendicolare del campo elettrico moltiplicato per l'area.
perpendicolare del campo elettrico moltiplicato per l&apos;area.
</P>
<P>
<LatexMath>{r`\Phi_E = \vec{E} \cdot \vec{A}`}</LatexMath>
@ -634,12 +634,12 @@ const Page: NextPage = () => {
<LatexMath>{r`\Phi_E = \vec{E} \cdot \vec{A} = E_\perp \cdot A \cdot \cos(\alpha)`}</LatexMath>
</P>
<P>
<Todo>Circa. E' una specie di integrale...</Todo>
<Todo>Circa. E&apos; una specie di integrale...</Todo>
</P>
</Box>
<Box title="Legge di Gauss per i campi elettrostatici">
<P>
Il flusso elettrico è direttamente proporzionale alla carica presente all'interno della
Il flusso elettrico è direttamente proporzionale alla carica presente all&apos;interno della
superficie.
</P>
<P>
@ -653,7 +653,7 @@ const Page: NextPage = () => {
<Split title="Energia elettrica">
<Box title="Energia potenziale elettrica">
<P>
Un corpo carico vicino ad altre cariche possiede un'<i>energia potenziale elettrica</i>
Un corpo carico vicino ad altre cariche possiede un&apos;<i>energia potenziale elettrica</i>
<LatexMath>{r`U_e`}</LatexMath>.
</P>
</Box>
@ -661,7 +661,7 @@ const Page: NextPage = () => {
<Split title="Circuiti elettrici">
<Box title={<span>Potenziale elettrico <small>(tensione)</small></span>}>
<P>
È il valore dell'energia potenziale elettrica per una carica unitaria.
È il valore dell&apos;energia potenziale elettrica per una carica unitaria.
</P>
<P>
<LatexMath>{r`V = \frac{U_e}{q}`}</LatexMath>
@ -676,16 +676,16 @@ const Page: NextPage = () => {
</Box>
<Box title={<span>Corrente elettrica <small>(intensità)</small></span>}>
<P>
Quanta carica passa attraverso un'area (perpendicolare al flusso) nel tempo.
Quanta carica passa attraverso un&apos;area (perpendicolare al flusso) nel tempo.
</P>
<P>
<LatexMath>{r`I = \frac{\Delta q}{\Delta t}`}</LatexMath>
</P>
<P>
Fintanto che c'è differenza di potenziale, ci sarà anche intensità non nulla.
Fintanto che c&apos;è differenza di potenziale, ci sarà anche intensità non nulla.
</P>
<P>
La sua unità di misura è l'Ampere (<LatexMath>{r`A`}</LatexMath>).
La sua unità di misura è l&apos;Ampere (<LatexMath>{r`A`}</LatexMath>).
</P>
</Box>
<Box
@ -718,7 +718,7 @@ const Page: NextPage = () => {
<Split title="Elementi di un circuito">
<Box title="Resistore">
<P>
Riduce l'intensità di corrente, e converte parte del potenziale in calore.
Riduce l&apos;intensità di corrente, e converte parte del potenziale in calore.
</P>
<P>
Il potenziale utilizzato è pari a:
@ -769,7 +769,7 @@ const Page: NextPage = () => {
</P>
<P>
Dove <LatexMath>{r`\kappa`}</LatexMath> è la <i>costante dielettrica relativa</i> del materiale
inserito, <LatexMath>{r`A`}</LatexMath> l'area di una armatura e <LatexMath>{r`s`}</LatexMath> la
inserito, <LatexMath>{r`A`}</LatexMath> l&apos;area di una armatura e <LatexMath>{r`s`}</LatexMath> la
distanza tra le due armature.
</P>
<P>
@ -811,7 +811,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Legge delle maglie">
<P>
Per maglia si intende un qualsiasi percorso chiuso all'interno del circuito.
Per maglia si intende un qualsiasi percorso chiuso all&apos;interno del circuito.
</P>
<P>
In una maglia chiusa, la somma delle differenze di potenziale è 0.
@ -880,7 +880,7 @@ const Page: NextPage = () => {
<Split title="Magnetismo">
<Box title="Permeabilità magnetica dello spazio vuoto">
<P>
E' una costante fisica fondamentale che rappresenta quanto un materiale si magnetizza
E&apos; una costante fisica fondamentale che rappresenta quanto un materiale si magnetizza
facilmente.
</P>
<P>
@ -898,11 +898,11 @@ const Page: NextPage = () => {
</Box>
<Box title="Flusso magnetico">
<P>
È "quanto" campo magnetico <B>attraversa</B> un percorso chiuso.
È &quot;quanto&quot; campo magnetico <B>attraversa</B> un percorso chiuso.
</P>
<P>
Per qualsiasi percorso chiuso, il flusso magnetico è uguale alla somma di tutti i
"sottoflussi" magnetici calcolati sui suoi lati.
&quot;sottoflussi&quot; magnetici calcolati sui suoi lati.
</P>
<P>
<LatexMath>{r`\Phi_{B_{i}} = \vec{B} \cdot \vec{L}_n = B \cdot L_i \cdot \sin(\alpha) = B_\parallel \cdot L_i`}</LatexMath>
@ -924,7 +924,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Legge di Ampère">
<P>
L'intensità di corrente che attraversa un percorso chiuso è direttamente proporzionale
L&apos;intensità di corrente che attraversa un percorso chiuso è direttamente proporzionale
al flusso magnetico dello stesso percorso.
</P>
<P>
@ -943,7 +943,7 @@ const Page: NextPage = () => {
<LatexMath>{r`\vec{F}_{B} = q \cdot (\vec{v} \times \vec{B})`}</LatexMath>
</P>
<P>
Dove <LatexMath>{r`\vec{B}`}</LatexMath> è l'intensità del campo magnetico
Dove <LatexMath>{r`\vec{B}`}</LatexMath> è l&apos;intensità del campo magnetico
e <LatexMath>{r`\vec{v}`}</LatexMath> la velocità della carica considerata.
</P>
<P>
@ -982,7 +982,7 @@ const Page: NextPage = () => {
Un solenoide sono tante spire avvolte in modo da formare una specie di cilindro.
</P>
<P>
All'interno del solenoide si crea un campo (quasi) uniforme:
All&apos;interno del solenoide si crea un campo (quasi) uniforme:
</P>
<P>
<LatexMath>{r`\left | \vec{B} \right | = \mu_0 \cdot I \cdot \frac{A_{vvolgimenti}}{L_{unghezzafilo}}`}</LatexMath>
@ -1028,7 +1028,7 @@ const Page: NextPage = () => {
<LatexMath>{r`\Delta V_{indotta} = v \cdot B \cdot L`}</LatexMath>
</P>
<P>
Dove <LatexMath>v</LatexMath> è la velocità del conduttore, <LatexMath>B</LatexMath> è l'intensità del
Dove <LatexMath>v</LatexMath> è la velocità del conduttore, <LatexMath>B</LatexMath> è l&apos;intensità del
campo magnetico ed <LatexMath>L</LatexMath> è la lunghezza del conduttore.
</P>
</Box>
@ -1103,9 +1103,9 @@ const Page: NextPage = () => {
<LatexMath>{r`A(t) = A_{max} \cdot \sin \left ( \frac{2 \pi}{\lambda} - \omega t + \phi \right )`}</LatexMath>
</P>
<P>
Dove <LatexMath>{r`A_{max}`}</LatexMath> è l'ampiezza massima che può avere
l'onda, <LatexMath>{r`\frac{2 \pi}{\lambda} = \left | \vec{k} \right |`}</LatexMath> è il
vettore d'onda, <LatexMath>{r`\omega`}</LatexMath> la frequenza angolare
Dove <LatexMath>{r`A_{max}`}</LatexMath> è l&apos;ampiezza massima che può avere
l&apos;onda, <LatexMath>{r`\frac{2 \pi}{\lambda} = \left | \vec{k} \right |`}</LatexMath> è il
vettore d&apos;onda, <LatexMath>{r`\omega`}</LatexMath> la frequenza angolare
e <LatexMath>{r`\phi`}</LatexMath> la fase.
</P>
</Box>
@ -1118,10 +1118,10 @@ const Page: NextPage = () => {
>spettro continuo</Anchor>.
</P>
<P>
I gas, invece, ad alta temperatura emettono luce solo con particolari lunghezze d'onda.
I gas, invece, ad alta temperatura emettono luce solo con particolari lunghezze d&apos;onda.
</P>
<P>
In un gas di idrogeno, le lunghezze d'onda emesse sono ricavabili con:
In un gas di idrogeno, le lunghezze d&apos;onda emesse sono ricavabili con:
</P>
<P>
<LatexMath>{r`\frac{1}{\lambda} = R \left ( \frac{1}{4} - \frac{1}{n^2} \right )`}</LatexMath>
@ -1152,7 +1152,7 @@ const Page: NextPage = () => {
<Split>
<Box title="Modello di Bohr">
<P>
L'energia degli elettroni è quantizzata.
L&apos;energia degli elettroni è quantizzata.
</P>
<P>
Inoltre, per essi è valido che:
@ -1170,7 +1170,7 @@ const Page: NextPage = () => {
Con <LatexMath>{r`a_0 = \left ( \frac{h}{2 \pi} \right )^2 \cdot \frac{1}{m_{elettrone} \cdot k \cdot e^2} = 5.29 \cdot 10^{-11} m`}</LatexMath>.
</P>
<P>
Infine, in ogni stato, l'energia è pari a:
Infine, in ogni stato, l&apos;energia è pari a:
</P>
<P>
<LatexMath>{r`E_n = \frac{1}{n^2} \cdot E_1 = - \frac{1}{n^2} \cdot \frac{a_0^2}{2 \cdot m \cdot \hbar^4} = - \frac{1}{n^2} \cdot \frac{m_{elettrone} \cdot k^2 \cdot e^4}{2 \cdot \hbar^2}`}</LatexMath>
@ -1187,7 +1187,7 @@ const Page: NextPage = () => {
<Split>
<Box title="Nei solidi">
<P>
Nei solidi, le lunghezze d'onda sono talmente tanto vicine da poter essere considerate
Nei solidi, le lunghezze d&apos;onda sono talmente tanto vicine da poter essere considerate
una banda.
</P>
<P>
@ -1202,7 +1202,7 @@ const Page: NextPage = () => {
</P>
<P>
Se la banda di emissione con energia più alta di un corpo è assente o è separata da un
gap dell'ordine di grandezza maggiore di <LatexMath>{r`10^1 eV`}</LatexMath>, allora il corpo è
gap dell&apos;ordine di grandezza maggiore di <LatexMath>{r`10^1 eV`}</LatexMath>, allora il corpo è
un isolante.
</P>
<P>
@ -1210,7 +1210,7 @@ const Page: NextPage = () => {
conduttore.
</P>
<P>
Se il gap è invece dell'ordine di grandezza di <LatexMath>{r`1 eV`}</LatexMath>, allora il corpo
Se il gap è invece dell&apos;ordine di grandezza di <LatexMath>{r`1 eV`}</LatexMath>, allora il corpo
è un semiconduttore.
</P>
</Box>
@ -1248,7 +1248,7 @@ const Page: NextPage = () => {
</P>
</Box>
</Split>
<Split title={<span>Ottica <small>(non l'abbiamo fatta)</small></span>}>
<Split title={<span>Ottica <small>(non l&apos;abbiamo fatta)</small></span>}>
<Box title="Assorbimento e riflessione">
<P>
I corpi possono assorbire o riflettere le onde elettromagnetiche che li colpiscono.
@ -1269,7 +1269,7 @@ const Page: NextPage = () => {
</Box>
<Box title="Teoria di Planck per il corpo nero">
<P>
L'energia assorbita e emessa dai corpi neri è quantizzata.
L&apos;energia assorbita e emessa dai corpi neri è quantizzata.
</P>
</Box>
<Box title="Fotone">
@ -1289,11 +1289,11 @@ const Page: NextPage = () => {
Perchè avvenga, la frequenza deve essere maggiore di una certa soglia.
</P>
<P>
Il numero di elettroni estratti dipende dall'intensità dell'onda, mentre l'energia
Il numero di elettroni estratti dipende dall&apos;intensità dell&apos;onda, mentre l&apos;energia
cinetica degli elettroni dipende dalla frequenza.
</P>
<P>
Non c'è nessun ritardo tra l'assorbimento del fotone e l'estrazione di elettroni.
Non c&apos;è nessun ritardo tra l&apos;assorbimento del fotone e l&apos;estrazione di elettroni.
</P>
</Box>
</Split>

View file

@ -15,7 +15,7 @@ const Page: NextPage = () => {
<I>Programmazione ad oggetti</I> è stato un corso molto pratico, con laboratori e tanta scrittura di codice.
</p>
<p>
Di conseguenza, non ho alcun appunto di teoria; ho però reso disponibile l'intero codice sorgente documentato del mio progetto di esame.
Di conseguenza, non ho alcun appunto di teoria; ho però reso disponibile l&apos;intero codice sorgente documentato del mio progetto di esame.
</p>
<p>
Suggerisco a tutti di pubblicare online da qualche parte i propri progetti. Sono utili sia per stessi sia per i compagni di corso che potrebbero usarli per prendere ispirazione!
@ -30,7 +30,7 @@ const Page: NextPage = () => {
<Chapter>
<Panel>
<Heading level={4}>
Progetto d'esame
Progetto d&apos;esame
</Heading>
<ListUnordered>
<ListUnordered.Item>

View file

@ -0,0 +1,51 @@
import { Heading, Chapter, Box, Panel, Idiomatic as I, ListUnordered, Emphasis } from '@steffo/bluelib-react'
import { Link } from '../../../components/link'
import type { NextPage } from 'next'
const Page: NextPage = () => {
return <>
<Heading level={2}>
Ottimizzazione lineare intera
</Heading>
<Chapter>
<Box>
<Heading level={3}>
Premessa
</Heading>
<p>
Buona parte degli appunti di ottimizzazione non sono terminati, perchè... ho perso la voglia di farli a metà.
</p>
<p>
Penso che possano essere utili lo stesso, però.
</p>
<p>
Se l&apos;esame è ancora come quando l&apos;ho dato io, suggerisco di fare <Emphasis>molta</Emphasis> attenzione a come vengono assegnati i punti, perchè potrebbero essere nascosti tranelli che potrebbero facilmente azzerarvi il punteggio. <small>Parlo per esperienza.</small>
</p>
</Box>
</Chapter>
<Chapter>
<Box>
<Heading level={3}>
Materiale raccolto
</Heading>
<Chapter>
<Panel>
<Heading level={4}>
Appuntiweb
</Heading>
<ListUnordered>
<ListUnordered.Item>
<Link href="/year2/ottimizzazione/teoria">
Appunti di teoria
</Link>
</ListUnordered.Item>
</ListUnordered>
</Panel>
</Chapter>
</Box>
</Chapter>
</>
}
export default Page

View file

@ -1,31 +1,30 @@
import * as Bluelib from "@steffo/bluelib-react"
import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement"
import { Section, Box, Split, Panel, r, ILatex, BLatex, PLatex, Latex, Help, Example, Color, TablePanel, Code, Plus, Minus, BaseLink, Todo, Image } from "../../components/compat-old"
import { Heading } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { WarningPorted, WarningUnchecked } from "../../components/warnings";
import { Link } from '../../../components/link'
import { Section, Box, Split, Panel, r, ILatex, BLatex, PLatex, Latex, Help, Example, Color, TablePanel, Code, Plus, Minus, Todo, Image } from "../../../components/compat-old"
const Min = ({ children = undefined, ...props }) => (
const Min = ({ children = undefined, ...props }: any) => (
<Color builtin={"cyan"}>
<Help text={"In problemi in cui il primale è di minimizzazione."}>{props.children ? props.children : "min"}</Help>
</Color>
)
const Max = ({ children = undefined, ...props }) => (
const Max = ({ children = undefined, ...props }: any) => (
<Color builtin={"orange"}>
<Help text={"In problemi in cui il primale è di massimizzazione."}>{props.children ? props.children : "max"}</Help>
</Color>
)
const Empty = ({ children = undefined, ...props }) => (
const Empty = ({ children = undefined, ...props }: any) => (
<Color builtin={"red"}>
<Help text={"Il poliedro non contiene punti."}>{props.children ? props.children : "vuoto"}</Help>
</Color>
)
const Finite = ({ children = undefined, ...props }) => (
const Finite = ({ children = undefined, ...props }: any) => (
<Color builtin={"lime"}>
<Help text={"I punti del poliedro sono finiti."}>{props.children ? props.children : "finito"}</Help>
</Color>
)
const Unbounded = ({ children = undefined, ...props }) => (
const Unbounded = ({ children = undefined, ...props }: any) => (
<Color builtin={"blue"}>
<Help text={"I punti del poliedro sono infiniti."}>{props.children ? props.children : "illimitato"}</Help>
</Color>
@ -35,21 +34,11 @@ const ExampleBoxColor = "magenta"
const Page: NextPage = () => {
return <>
<Bluelib.Heading level={2}>
<Heading level={2}>
<Link href="/year2/ottimizzazione">
Ottimizzazione lineare intera
</Bluelib.Heading>
<Bluelib.Chapter>
<Bluelib.Box>
<Bluelib.Heading level={3}>
Introduzione
</Bluelib.Heading>
<p>
</p>
<WarningPorted/>
<WarningUnchecked/>
</Bluelib.Box>
</Bluelib.Chapter>
</Link>
</Heading>
<Split title={"Glossario"}>
<TablePanel>
<thead>
@ -228,7 +217,7 @@ const Page: NextPage = () => {
</Box>
<Box title={"Poliedro"}>
<p>
L'<b>insieme</b> che racchiunde tutte le <b>soluzioni ammissibili</b> di un problema.
L&apos;<b>insieme</b> che racchiunde tutte le <b>soluzioni ammissibili</b> di un problema.
</p>
<p>
Può essere <i><Finite/></i>, <i><Empty/></i> oppure <i><Unbounded/></i>.
@ -342,8 +331,8 @@ const Page: NextPage = () => {
È possibile effettuare senza che cambi il risultato finale le seguenti trasformazioni:
</p>
<ul>
<li><b>Moltiplicare</b> un'intera riga per una costante.</li>
<li><b>Sommare</b> una riga a un'altra</li>
<li><b>Moltiplicare</b> un&apos;intera riga per una costante.</li>
<li><b>Sommare</b> una riga a un&apos;altra</li>
</ul>
<Example>
Suona familiare? , lo abbiamo fatto anche in Algebra Lineare.
@ -456,7 +445,7 @@ const Page: NextPage = () => {
ottimo</b> in problemi di ottimizzazione lineare.
</p>
<Example>
Ricordi <BaseLink href={"/calcolonumerico"}>Gauss</BaseLink>? Il Simplex è la stessa cosa,
Ricordi <Link href={"/year1/algebra"}>Gauss</Link>? Il Simplex è la stessa cosa,
in cui però si cerca di <Min>minimizzare</Min>/<Max>massimizzare</Max> il termine noto della funzione obiettivo.
</Example>
<Example title={"Esempio"}>
@ -464,7 +453,7 @@ const Page: NextPage = () => {
problema 3 del file <a href={"https://dolly.fim.unimore.it/2019/mod/resource/view.php?id=2716"}><code>Ex_LP_testo</code></a>.
</Example>
<p>
Perchè sia possibile effettuare il Simplex è necessario che l'<b>origine sia nel poliedro</b>:
Perchè sia possibile effettuare il Simplex è necessario che l&apos;<b>origine sia nel poliedro</b>:
pertanto, <b>non</b> è possibile che un problema risolto con il Simplex sia <Empty/>.
</p>
</Box>
@ -485,7 +474,7 @@ const Page: NextPage = () => {
</p>
<aside><u>Regola di Bland</u>: Si potrebbe scegliere qualsiasi variabile come
entrante, ma scegliendo sempre la prima ammissibile ci si assicura che
l'algoritmo termini.
l&apos;algoritmo termini.
</aside>
</li>
<li>
@ -531,7 +520,7 @@ const Page: NextPage = () => {
è una soluzione ammissibile</b>.
</p>
<p>
Prevede l'introduzione di un <i>problema ausiliario</i>, le cui incognite sono
Prevede l&apos;introduzione di un <i>problema ausiliario</i>, le cui incognite sono
dette <i>artificiali</i>.
</p>
<p>
@ -684,16 +673,16 @@ const Page: NextPage = () => {
</Box>
<Box title={"Dualità forte"}>
<p>
Il teorema che dimostra l'equivalenza tra primale e duale.
Il teorema che dimostra l&apos;equivalenza tra primale e duale.
</p>
<p>
Se uno dei due problemi è finito, la soluzione di uno coincide con la soluzione dell'altro.
Se uno dei due problemi è finito, la soluzione di uno coincide con la soluzione dell&apos;altro.
</p>
<p>
<Latex>{r`\mathbf{c}^T \mathbf{x} = \mathbf{u}^T \mathbf{b}`}</Latex>
</p>
<p>
<Todo>TODO: Anche qui c'è una lunga dimostrazione...</Todo>
<Todo>TODO: Anche qui c&apos;è una lunga dimostrazione...</Todo>
</p>
</Box>
<Box title={"Dualità debole"}>
@ -736,7 +725,7 @@ const Page: NextPage = () => {
<Split title={"Simplex duale"}>
<Box title={"Cos'è?"}>
<p>
Un'estensione al Simplex primale che opera sul problema duale.
Un&apos;estensione al Simplex primale che opera sul problema duale.
</p>
</Box>
<Box title={"Come funziona?"}>
@ -795,11 +784,11 @@ const Page: NextPage = () => {
problema di ILP.
</p>
<p>
Consiste nell'<b>arrotondare tutte le variabili al loro valore intero più vicino</b>, e
Consiste nell&apos;<b>arrotondare tutte le variabili al loro valore intero più vicino</b>, e
calcolarne il valore ottimo.
</p>
<p>
Funziona bene per valori grandi, ma più essi si avvicinano allo 0 più l'<b>errore diventa
Funziona bene per valori grandi, ma più essi si avvicinano allo 0 più l&apos;<b>errore diventa
grande</b>.
</p>
</Box>
@ -820,7 +809,7 @@ const Page: NextPage = () => {
`}</PLatex>
<p>
Per ogni valore noto frazionario si viene quindi a creare <b>una nuova variabile in base</b> e
un nuovo vincolo formato dall'opposto di tutti i valori frazionari dei coefficienti fuori base.
un nuovo vincolo formato dall&apos;opposto di tutti i valori frazionari dei coefficienti fuori base.
</p>
<Example>
<p>
@ -914,7 +903,7 @@ const Page: NextPage = () => {
</Box>
<Box title={"Divide et impera"}>
<p>
È possibile usare la tecnica <i>divide et impera</i> per rendere più efficiente l'<b>enumerazione
È possibile usare la tecnica <i>divide et impera</i> per rendere più efficiente l&apos;<b>enumerazione
totale</b>.
</p>
<p>
@ -926,11 +915,11 @@ const Page: NextPage = () => {
Si crea così un <b>albero</b>.
</p>
<p>
È possibile <b>chiudere in anticipo</b> alcuni nodi dell'albero se il loro miglior possibile
È possibile <b>chiudere in anticipo</b> alcuni nodi dell&apos;albero se il loro miglior possibile
valore ottimo è inferiore a uno precedentemente trovato o se il loro poliedro è <Empty/>.
</p>
<p>
È possibile utilizzare diverse <b>strategie di esplorazione</b> dell'albero:
È possibile utilizzare diverse <b>strategie di esplorazione</b> dell&apos;albero:
</p>
<ul>
<li><b>depth-first</b>: permette di raggiungere immediatamente a una soluzione accettabile
@ -998,7 +987,7 @@ const Page: NextPage = () => {
</Box>
<Box title={"Cicli e circuiti"}>
<p>
Percorsi rispettivamente indiretti e diretti in cui l'inizio coincide con la fine.
Percorsi rispettivamente indiretti e diretti in cui l&apos;inizio coincide con la fine.
</p>
</Box>
<Box title={"Grafo completo"}>
@ -1012,12 +1001,12 @@ const Page: NextPage = () => {
</Box>
<Box title={"Matrice di adiacenza"}>
<blockquote>
Vedi <BaseLink href={"/algoritmiestrutturedati"}>Algoritmi</BaseLink>.
Vedi <Link href={"/year2/algoritmi"}>Algoritmi</Link>.
</blockquote>
</Box>
<Box title={"Lista di adiacenza"}>
<blockquote>
Vedi <BaseLink href={"/algoritmiestrutturedati"}>Algoritmi</BaseLink>.
Vedi <Link href={"/year2/algoritmi"}>Algoritmi</Link>.
</blockquote>
</Box>
<Box title={"Taglio"}>
@ -1034,7 +1023,7 @@ const Page: NextPage = () => {
Sottoinsieme di nodi e archi di un grafo.
</p>
<p>
Tutti gli archi di un sottografo possono connettere solo nodi all'interno di esso.
Tutti gli archi di un sottografo possono connettere solo nodi all&apos;interno di esso.
</p>
</Box>
<Box title={"Albero"}>
@ -1054,18 +1043,18 @@ const Page: NextPage = () => {
Crea uno spanning tree.
</p>
<ol>
<li>Aggiungi l'arco di costo minimo all'albero.</li>
<li>Aggiungi l&apos;arco di costo minimo all&apos;albero.</li>
<li>Finchè mancano ancora archi:
<ol>
<li>Trova tutti gli archi che aggiungerebbero un nuovo nodo all'albero.</li>
<li>Seleziona l'arco di costo minore.</li>
<li>Trova tutti gli archi che aggiungerebbero un nuovo nodo all&apos;albero.</li>
<li>Seleziona l&apos;arco di costo minore.</li>
</ol>
</li>
</ol>
</Box>
<Box title={"Ordine topologico"}>
<p>
Trova l'ordine topologico di un albero.
Trova l&apos;ordine topologico di un albero.
</p>
<ol>
<li>Ripeti finchè ci sono nodi nel grafo:
@ -1082,7 +1071,7 @@ const Page: NextPage = () => {
Trova i percorsi di costo minimo in un albero.
</p>
<ol>
<li>Trova l'ordine topologico dell'albero.</li>
<li>Trova l&apos;ordine topologico dell&apos;albero.</li>
<li>Invece che provare ogni singola combinazione di nodi, prova solo i nodi che hanno un numero
topologico maggiore di quello del nodo attuale.
</li>
@ -1095,7 +1084,7 @@ const Page: NextPage = () => {
<Split>
<Box title={"Algoritmo di Dijkstra"}>
<blockquote>
Vedi <BaseLink href={"/algoritmiestrutturedati"}>Algoritmi</BaseLink>.
Vedi <Link href={"/year2/algoritmi"}>Algoritmi</Link>.
</blockquote>
</Box>
<Panel title={"Algoritmo di Ford-Fulkerson"}>
@ -1104,7 +1093,7 @@ const Page: NextPage = () => {
capacità.
</Example>
<p>
Costruisci il grafo residuo e vedi se c'è un percorso che va dalla sorgente alla destinazione.
Costruisci il grafo residuo e vedi se c&apos;è un percorso che va dalla sorgente alla destinazione.
</p>
<p>
<Image src={"https://i.imgur.com/FJk44q0.png"}/>
@ -1153,7 +1142,7 @@ const Page: NextPage = () => {
</Panel>
<Panel title={"Variabili"}>
<p>
Valori che sono <b>calcolati al momento dell'esecuzione</b> del programma:
Valori che sono <b>calcolati al momento dell&apos;esecuzione</b> del programma:
</p>
<Code>
var nomevariabile;
@ -1182,7 +1171,7 @@ const Page: NextPage = () => {
</Panel>
<Panel title={"Indici"}>
<p>
È possibile creare anche un "array" di parametri o variabili:
È possibile creare anche un &quot;array&quot; di parametri o variabili:
</p>
<Code>{r`
param dieci_parametri{1..10};
@ -1251,7 +1240,7 @@ const Page: NextPage = () => {
<Section>
<Panel title={"Termine del programma"}>
<p>
Perchè il programma calcoli i valori di tutte le variabili, è necessaria l'istruzione:
Perchè il programma calcoli i valori di tutte le variabili, è necessaria l&apos;istruzione:
</p>
<Code>{r`
solve;

View file

@ -1,5 +1,6 @@
import Bluelib, { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, ListOrdered } from '@steffo/bluelib-react'
import Bluelib, { Heading, Chapter, Box, Idiomatic as I, Anchor as A, ListUnordered, Panel } from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { MaterialLi } from '../../../components/materialLi'
const Page: NextPage = () => {
return <>
@ -9,10 +10,10 @@ const Page: NextPage = () => {
<Chapter>
<Box>
<Heading level={3}>
Introduzione
Premessa
</Heading>
<p>
Non ho appunti di <I>Sistemi operativi</I>: ho studiato direttamente le slides, in quanto ogni minimo dettaglio di esse poteva essermi chiesto all'esame.
Non ho appunti di <I>Sistemi operativi</I>: ho studiato direttamente le slides, in quanto ogni minimo dettaglio di esse poteva essermi chiesto all&apos;esame.
</p>
<p>
Ho però la soluzione che ho dato ad un Arzigogolo, una sfida particolarmente posta dal nostro prof. per verificare le abilità dei suoi studenti.
@ -22,13 +23,20 @@ const Page: NextPage = () => {
<Chapter>
<Box>
<Heading level={3}>
Materiale raccolto
</Heading>
<Chapter>
<Panel>
<Heading level={4}>
Arzigogoli
</Heading>
<ListUnordered start={5}>
<ListUnordered.Item>
Arzigogolo 5 (<A href="/materials/year2/sistemioperativi/05_Arzigogolo5_soluzione.md">.md</A>, <A href="/materials/year2/sistemioperativi/05_ftrace.txt">ftrace</A>)
</ListUnordered.Item>
<MaterialLi base="/materials/year2/sistemioperativi" md="05_Arzigogolo5_soluzione" ftrace="05_ftrace">
Arzigogolo 5
</MaterialLi>
</ListUnordered>
</Panel>
</Chapter>
</Box>
</Chapter>
</>

View file

@ -0,0 +1,45 @@
import {Heading, Chapter, Panel, Idiomatic as I, Box, ListUnordered} from "@steffo/bluelib-react"
import { Link } from "../../../components/link"
export default function Statistica() {
return <>
<Heading level={2}>
Statistica ed elementi di probabilità
</Heading>
<Chapter>
<Box>
<Heading level={3}>
Introduzione
</Heading>
<p>
Come Fisica, <I>Statistica ed elementi di probabilità</I> è stato un altro esame in cui il modello &quot;a carte mnemoniche&quot; mi ha aiutato un sacco a ricordare i concetti per l&apos;orale.
</p>
<p>
Spero che questi contenuti possano essere altrettanto utili a voi!
</p>
</Box>
</Chapter>
<Chapter>
<Box>
<Heading level={3}>
Materiale raccolto
</Heading>
<Chapter>
<Panel>
<Heading level={4}>
Appuntiweb
</Heading>
<ListUnordered>
<ListUnordered.Item>
<Link href="/year2/statistica/teoria">
Appunti di teoria
</Link>
</ListUnordered.Item>
</ListUnordered>
</Panel>
</Chapter>
</Box>
</Chapter>
</>
}

View file

@ -1,29 +1,16 @@
import * as Bluelib from "@steffo/bluelib-react"
import { BaseElement } from "@steffo/bluelib-react/dist/components/BaseElement"
import { Split, Box, Color, Plus, Minus, r, LatexMath, P, Anchor, I, B, Todo, Section, Latex, Example } from "../../components/compat-old"
import 'katex/dist/katex.min.css';
import * as Bluelib from '@steffo/bluelib-react'
import type { NextPage } from 'next'
import { Link } from '../../../components/link'
import { Section, Box, r, Latex, Example, Plus, Minus, P, B, I } from "../../../components/compat-old"
export default function Statistica() {
const Page: NextPage = () => {
return <>
<Bluelib.Heading level={2}>
<Link href="/year2/statistica">
Statistica ed elementi di probabilità
</Link>
</Bluelib.Heading>
<Bluelib.Chapter>
<Bluelib.Box>
<Bluelib.Heading level={3}>
Introduzione
</Bluelib.Heading>
<p>
Come Fisica, <Bluelib.Idiomatic>Statistica ed elementi di probabilità</Bluelib.Idiomatic> è stato un altro esame in cui il modello "a carte mnemoniche" mi ha aiutato un sacco a ricordare i concetti per l'orale.
</p>
<p>
Spero che questi contenuti possano essere altrettanto utili a voi!
</p>
<WarningPorted />
<WarningUnchecked />
</Bluelib.Box>
</Bluelib.Chapter>
<Section title={"Tipi di probabilità"}>
<Box title={"Classica"}>
<P>
@ -38,17 +25,17 @@ export default function Statistica() {
<Box title={"Soggettiva"}>
<P>
Il prezzo che un individuo coerente riterrebbe equo per ricevere <B>1</B> nel caso
l'evento si verificasse e <B>0</B> nel caso l'evento non si verificasse.
l&apos;evento si verificasse e <B>0</B> nel caso l&apos;evento non si verificasse.
</P>
</Box>
</Section>
<Section title={"Linguaggio matematico"}>
<Box title={"Spazio campionario"}>
<Bluelib.Dialog>
"omegone"
&quot;omegone&quot;
</Bluelib.Dialog>
<P>
L'<B>insieme</B> di tutti gli esiti possibili di un esperimento.
L&apos;<B>insieme</B> di tutti gli esiti possibili di un esperimento.
</P>
<P>
<Latex>{r`\Omega = \left \{ 1, 2, 3, 4, 5, 6 \right \}`}</Latex>
@ -56,7 +43,7 @@ export default function Statistica() {
</Box>
<Box title={"Esito"}>
<Bluelib.Dialog>
"omeghino"
&quot;omeghino&quot;
</Bluelib.Dialog>
<P>
Un <B>elemento</B> dello spazio campionario.
@ -67,7 +54,7 @@ export default function Statistica() {
</Box>
<Box title={"Evento"}>
<Bluelib.Dialog>
"e"
&quot;e&quot;
</Bluelib.Dialog>
<P>
Un <B>sottoinsieme</B> dello spazio campionario.
@ -81,7 +68,7 @@ export default function Statistica() {
</Box>
<Box title={"Not"}>
<Bluelib.Dialog>
"not e"
&quot;not e&quot;
</Bluelib.Dialog>
<P>
Il <B>complementare</B> di un sottoinsieme.
@ -92,10 +79,10 @@ export default function Statistica() {
</Box>
<Box title={"And"}>
<Bluelib.Dialog>
"e intersecato effe"
&quot;e intersecato effe&quot;
</Bluelib.Dialog>
<P>
L'<B>intersezione</B> di più sottoinsiemi.
L&apos;<B>intersezione</B> di più sottoinsiemi.
</P>
<P>
<Latex>{r`E \cap F = \left \{ 1 \right \}`}</Latex>
@ -103,10 +90,10 @@ export default function Statistica() {
</Box>
<Box title={"Or"}>
<Bluelib.Dialog>
"e unito a effe"
&quot;e unito a effe&quot;
</Bluelib.Dialog>
<P>
L'<B>unione</B> di più sottoinsiemi.
L&apos;<B>unione</B> di più sottoinsiemi.
</P>
<P>
<Latex>{r`E \cup F = \left \{ 1, 2, 3, 4 \right \}`}</Latex>
@ -114,7 +101,7 @@ export default function Statistica() {
</Box>
<Box title={"Differenza"}>
<Bluelib.Dialog>
"e meno effe"
&quot;e meno effe&quot;
</Bluelib.Dialog>
<P>
<Latex>{r`E \setminus F = E \cap \bar{F}`}</Latex>
@ -122,10 +109,10 @@ export default function Statistica() {
</Box>
<Box title={"Implicazione"}>
<Bluelib.Dialog>
"e contenuto in effe"
&quot;e contenuto in effe&quot;
</Bluelib.Dialog>
<P>
L'<B>inclusione</B> del primo insieme in un altro.
L&apos;<B>inclusione</B> del primo insieme in un altro.
</P>
<P>
<Latex>{r`E \subseteq F`}</Latex>
@ -136,7 +123,7 @@ export default function Statistica() {
</Box>
<Box title={"Evento impossibile"}>
<Bluelib.Dialog>
"e è impossibile"
&quot;e è impossibile&quot;
</Bluelib.Dialog>
<P>
Un sottoinsieme <B>vuoto</B>.
@ -147,7 +134,7 @@ export default function Statistica() {
</Box>
<Box title={"Mutua esclusione"}>
<Bluelib.Dialog>
"e ed effe si escludono mutualmente"
&quot;e ed effe si escludono mutualmente&quot;
</Bluelib.Dialog>
<P>
La <B>disgiunzione</B> di due insiemi.
@ -160,7 +147,7 @@ export default function Statistica() {
<Section>
<Box title={"Famiglia degli eventi"}>
<Bluelib.Dialog>
"famiglia effe"
&quot;famiglia effe&quot;
</Bluelib.Dialog>
<P>
I sottoinsiemi dello spazio campionario formano una <B>famiglia</B> di sottoinsiemi
@ -176,7 +163,7 @@ export default function Statistica() {
</Box>
<Box title={<span><Latex>{r`\sigma`}</Latex>-algebra</span>}>
<Bluelib.Dialog>
"sigma algebra"
&quot;sigma algebra&quot;
</Bluelib.Dialog>
<P>
Se la famiglia degli eventi soddisfa questi tre requisiti, allora viene
@ -204,7 +191,7 @@ export default function Statistica() {
<Section>
<Box title={"Partizione"}>
<Bluelib.Dialog>
"la partizione e composta da e uno, e due, e tre..."
&quot;la partizione e composta da e uno, e due, e tre...&quot;
</Bluelib.Dialog>
<P>
Un insieme di esiti e eventi:
@ -213,7 +200,7 @@ export default function Statistica() {
<li><B>Finito</B>.</li>
<li>In cui tutti gli eventi hanno <B>probabilità diversa da 0</B>.</li>
<li>In cui tutti gli eventi sono <B>mutualmente esclusivi</B>.</li>
<li>In cui l'unione di tutti i suoi elementi <B>copre lo spazio campionario</B>.</li>
<li>In cui l&apos;unione di tutti i suoi elementi <B>copre lo spazio campionario</B>.</li>
</ul>
<P>
La partizione <Latex>{r`E_i`}</Latex> è composta dagli
@ -221,7 +208,7 @@ export default function Statistica() {
a <Latex>{r`E_n`}</Latex>.
</P>
<Example>
Se lo spazio campionario fosse una torta, una sua partizione sarebbe l'insieme delle
Se lo spazio campionario fosse una torta, una sua partizione sarebbe l&apos;insieme delle
fette di uno dei modi in cui si potrebbe tagliare.
</Example>
</Box>
@ -245,7 +232,7 @@ export default function Statistica() {
</Box>
<Box title={"Terzo assioma della probabilità"}>
<P>
La probabilità dell'unione di eventi indipendenti è uguale alla somma delle loro
La probabilità dell&apos;unione di eventi indipendenti è uguale alla somma delle loro
probabilità.
</P>
<P>
@ -256,7 +243,7 @@ export default function Statistica() {
<Section title={"Conseguenze degli assiomi"}>
<Box title={"Probabilità di un evento negato"}>
<P>
La probabilità di un evento negato è uguale a 1 meno la probabilità dell'evento non
La probabilità di un evento negato è uguale a 1 meno la probabilità dell&apos;evento non
negato.
</P>
<P>
@ -266,7 +253,7 @@ export default function Statistica() {
<Box title={"Probabilità di un evento incluso"}>
<P>
La probabilità di un evento incluso in un altro è sempre minore o uguale alla
probabilità dell'evento in cui è incluso.
probabilità dell&apos;evento in cui è incluso.
</P>
<P>
<Latex>{r`F \subseteq E \implies P(F) \leq P(E)`}</Latex>
@ -281,7 +268,7 @@ export default function Statistica() {
<Latex>{r`P(E \cup F) = P(E) + P(F) - P(E \cap F)`}</Latex>
</P>
<Example>
Sommando le probabilità dei due eventi, l'intersezione viene contata due volte, e va
Sommando le probabilità dei due eventi, l&apos;intersezione viene contata due volte, e va
quindi rimossa!
</Example>
</Box>
@ -310,7 +297,7 @@ export default function Statistica() {
estratto e lo <B>tengo fuori dal sacchetto</B>. Ripeto per <Latex>k</Latex> volte.
</P>
<P>
<B>Tengo conto</B> dell'ordine in cui ho estratto i numeri.
<B>Tengo conto</B> dell&apos;ordine in cui ho estratto i numeri.
</P>
<P>
<Latex>{r`\boldsymbol{D}_{n, k} = \frac{n!}{(n - k)!}`}</Latex>
@ -322,7 +309,7 @@ export default function Statistica() {
estratto e lo <B>rimetto nel sacchetto</B>. Ripeto per <Latex>k</Latex> volte.
</P>
<P>
<B>Tengo conto</B> dell'ordine in cui ho estratto i numeri.
<B>Tengo conto</B> dell&apos;ordine in cui ho estratto i numeri.
</P>
<P>
<Latex>{r`\boldsymbol{D}^{r}_{n, k} = n^k`}</Latex>
@ -334,7 +321,7 @@ export default function Statistica() {
estratto e lo <B>tengo fuori dal sacchetto</B>. Ripeto per <Latex>k</Latex> volte.
</P>
<P>
<B>Non mi interessa</B> l'ordine in cui ho estratto i numeri.
<B>Non mi interessa</B> l&apos;ordine in cui ho estratto i numeri.
</P>
<P>
<Latex>{r`\boldsymbol{C}_{n, k} = \binom{n}{k} = \frac{n!}{(k)! \cdot (n - k)!}`}</Latex>
@ -346,7 +333,7 @@ export default function Statistica() {
estratto e lo <B>rimetto nel sacchetto</B>. Ripeto per <Latex>k</Latex> volte.
</P>
<P>
<B>Non mi interessa</B> l'ordine in cui ho estratto i numeri.
<B>Non mi interessa</B> l&apos;ordine in cui ho estratto i numeri.
</P>
<P>
<Latex>{r`\boldsymbol{C}^{r}_{n, k} = \binom{n + k - 1}{k} = \frac{(n + k - 1)!}{(k)! \cdot (n - 1)!}`}</Latex>
@ -364,7 +351,7 @@ export default function Statistica() {
<Section title={"Probabilità condizionata"}>
<Box title={"Eventi condizionati"}>
<Bluelib.Dialog>
"E dato F"
&quot;E dato F&quot;
</Bluelib.Dialog>
<P>
La probabilità che si verifichi <Latex>E</Latex> sapendo che <B>si è già verificato</B>
@ -402,7 +389,7 @@ export default function Statistica() {
<Box title={"Legge delle alternative"}>
<P>
La probabilità che si verifichi un evento è pari alla somma delle probabilità
dell'evento stesso dati tutti gli eventi di una partizione.
dell&apos;evento stesso dati tutti gli eventi di una partizione.
</P>
<P>
<Latex>{r`P(F) = \sum_{i} P(F|E_i) \cdot P(E_i)`}</Latex>
@ -420,7 +407,7 @@ export default function Statistica() {
<Box title={"Formula di Bayes"}>
<P>
Tramite la <I>formula di Bayes</I> possiamo risalire alla probabilità di un evento
condizionato a un altro partendo dalla probabilità di quest'ultimo condizionato al
condizionato a un altro partendo dalla probabilità di quest&apos;ultimo condizionato al
primo:
</P>
<P>
@ -434,11 +421,11 @@ export default function Statistica() {
<Section title={"Eventi indipendenti"}>
<Box title={"Due eventi indipendenti"}>
<Bluelib.Dialog>
"eventi indipendenti a due a due"
&quot;eventi indipendenti a due a due&quot;
</Bluelib.Dialog>
<P>
Se due eventi sono indipendenti, sapere che uno dei due si è verificato non influisce
sulle probabilità che si sia verificato l'altro.
sulle probabilità che si sia verificato l&apos;altro.
</P>
<P>
<Latex>{r`P(E \cap F) = P(E) \cdot P(F) \Longleftrightarrow P(E|F) = P(E) \Longleftrightarrow P(F|E) = P(F)`}</Latex>
@ -446,10 +433,10 @@ export default function Statistica() {
</Box>
<Box title={"Più eventi indipendenti"}>
<Bluelib.Dialog>
"eventi indipendenti a tre a tre, a quattro a quattro, a cinque a cinque..."
&quot;eventi indipendenti a tre a tre, a quattro a quattro, a cinque a cinque...&quot;
</Bluelib.Dialog>
<P>
Si può verificare l'indipendenza di più eventi alla volta:
Si può verificare l&apos;indipendenza di più eventi alla volta:
</P>
<P>
<Latex>{r`P(E \cap F \cap G) = P(E) \cdot P(F) \cdot P(G)`}</Latex>
@ -491,12 +478,12 @@ export default function Statistica() {
<Latex>{r`\forall t \in \mathbb{R}, A_t \in \mathcal{F}`}</Latex>
</P>
<Example>
All'aumentare di t, l'insieme conterrà sempre più elementi.
All&apos;aumentare di t, l&apos;insieme conterrà sempre più elementi.
</Example>
</Box>
<Box title={"Supporto"}>
<Bluelib.Dialog>
"supporto di X"
&quot;supporto di X&quot;
</Bluelib.Dialog>
<P>
Il <B>codominio</B> della variabile aleatoria è il suo <I>supporto</I>.
@ -526,7 +513,7 @@ export default function Statistica() {
<Box title={"Funzione densità"}>
<P>
La <I>funzione densità</I> <Latex>{r`f_X : X \to [0, 1]`}</Latex> di una variabile
aleatoria <B>continua</B> <Latex>X</Latex> è l'equivalente continuo della funzione
aleatoria <B>continua</B> <Latex>X</Latex> è l&apos;equivalente continuo della funzione
probabilità:
</P>
<P>
@ -537,7 +524,7 @@ export default function Statistica() {
esista</B> per una certa variabile aleatoria.
</P>
<Example>
Rappresenta "quanta" probabilità c'è in un'unità di x!
Rappresenta &quot;quanta&quot; probabilità c&apos;è in un&apos;unità di x!
</Example>
</Box>
</Section>
@ -550,7 +537,7 @@ export default function Statistica() {
a <Latex>t</Latex>:
</P>
<P>
Si può dire che essa rappresenti la probabilità dell'evento <Latex>{r`A_t`}</Latex>:
Si può dire che essa rappresenti la probabilità dell&apos;evento <Latex>{r`A_t`}</Latex>:
</P>
<P>
<Latex>{r`
@ -591,7 +578,7 @@ export default function Statistica() {
</Box>
<Box title={"Nel continuo (invertibile)"}>
<P>
Nel continuo applichiamo la formula dell'integrazione per sostituzione:
Nel continuo applichiamo la formula dell&apos;integrazione per sostituzione:
</P>
<P>
<Latex>{r`f_Y (y) = \int_{g(a)}^{g(b)} f_X ( g^{-1} (x) ) g^{-2} (x)`}</Latex>
@ -599,7 +586,7 @@ export default function Statistica() {
</Box>
<Box title={"Nel... digitale"}>
<P>
Trasformare variabili aleatorie è molto utile nell'informatica per creare distribuzioni
Trasformare variabili aleatorie è molto utile nell&apos;informatica per creare distribuzioni
partendo da una funzione <a
href={"https://docs.python.org/3/library/random.html#random.random"}><code>random()</code></a> che
restituisce numeri da 0 a 1 con una distribuzione lineare.
@ -687,7 +674,7 @@ export default function Statistica() {
</Box>
<Box title={"Disuguaglianza di Čebyšëv"}>
<Bluelib.Dialog>
"disuguaglianza di cebicev"
&quot;disuguaglianza di cebicev&quot;
</Bluelib.Dialog>
<P>
Se la variabile aleatoria <Latex>X</Latex> ha media e varianza, allora la probabilità
@ -739,7 +726,7 @@ export default function Statistica() {
hanno la <B>stessa distribuzione</B>.
</P>
<P>
E' la <B>trasformata di Laplace</B> della variabile aleatoria di X.
E&apos; la <B>trasformata di Laplace</B> della variabile aleatoria di X.
</P>
</Box>
<Box title={"Funzione caratteristica"}>
@ -754,7 +741,7 @@ export default function Statistica() {
la <B>stessa distribuzione</B>.
</P>
<P>
E' la <B>trasformata di Fourier</B> della variabile aleatoria di X.
E&apos; la <B>trasformata di Fourier</B> della variabile aleatoria di X.
</P>
</Box>
</Section>
@ -888,14 +875,14 @@ export default function Statistica() {
<Box title={"Assenza di memoria della geometrica"}>
<P>
La geometrica non tiene conto degli eventi avvenuti in passato: ha la proprietà
dell'assenza di memoria:
dell&apos;assenza di memoria:
</P>
<P>
<Latex>{r`P([X = i + j | X > i ]) = P([X = j])`}</Latex>
</P>
<Example>
Ovvero, riscalando opportunamente l'asse Y posso prendere come 0 qualsiasi punto
dell'asse X.
Ovvero, riscalando opportunamente l&apos;asse Y posso prendere come 0 qualsiasi punto
dell&apos;asse X.
</Example>
</Box>
</Section>
@ -903,7 +890,7 @@ export default function Statistica() {
<Box title={"Distribuzione binomiale negativa"}>
<P>
Una variabile aleatoria che conta il numero di prove in uno schema di Bernoulli
necessarie perchè si verifichi l'<Latex>n</Latex>-esimo successo.
necessarie perchè si verifichi l&apos;<Latex>n</Latex>-esimo successo.
</P>
<P>
Il suo simbolo è <Latex>{r`\overline{Bin}(n, p)`}</Latex>.
@ -981,14 +968,14 @@ export default function Statistica() {
<Box title={"Assenza di memoria della geometrica traslata"}>
<P>
La geometrica traslata non tiene conto degli eventi avvenuti in passato: ha la proprietà
dell'assenza di memoria:
dell&apos;assenza di memoria:
</P>
<P>
<Latex>{r`P([X = i + j | X > i ]) = P([X = j])`}</Latex>
</P>
<Example>
Ovvero, riscalando opportunamente l'asse Y posso prendere come 0 qualsiasi punto
dell'asse X.
Ovvero, riscalando opportunamente l&apos;asse Y posso prendere come 0 qualsiasi punto
dell&apos;asse X.
</Example>
</Box>
</Section>
@ -996,7 +983,7 @@ export default function Statistica() {
<Box title={"Distribuzione binomiale negativa traslata"}>
<P>
Una variabile aleatoria che conta il numero di insuccessi in uno schema di Bernoulli
prima che si verifichi l'<Latex>n</Latex>-esimo successo.
prima che si verifichi l&apos;<Latex>n</Latex>-esimo successo.
</P>
<P>
Il suo simbolo rimane <Latex>{r`\overline{Bin}(n, p)`}</Latex>.
@ -1142,11 +1129,11 @@ export default function Statistica() {
durata <Latex>t</Latex>.
</P>
<P>
E' una distribuzione poissoniana
E&apos; una distribuzione poissoniana
con <Latex>{r`\mu = t \cdot \lambda`}</Latex>: <Latex>{r`Poi(t \cdot \lambda)`}</Latex>
</P>
<Example>
E' paragonabile a una bernoulliana: ogni successo corrisponde a un arrivo, mentre il
E&apos; paragonabile a una bernoulliana: ogni successo corrisponde a un arrivo, mentre il
tempo è il numero di prove effettuate (ma nel continuo).
</Example>
</Box>
@ -1163,7 +1150,7 @@ export default function Statistica() {
</Box>
<Box title={"Densità dell'esponenziale"}>
<P>
L'esponenziale ha come <B>densità</B>:
L&apos;esponenziale ha come <B>densità</B>:
</P>
<P>
<Latex>{r`
@ -1174,7 +1161,7 @@ export default function Statistica() {
}</Latex>
</P>
<P>
L'esponenziale ha come <B>funzione di ripartizione</B>:
L&apos;esponenziale ha come <B>funzione di ripartizione</B>:
</P>
<P>
<Latex>{r`
@ -1187,19 +1174,19 @@ export default function Statistica() {
</Box>
<Box title={"Momenti dell'esponenziale"}>
<P>
La <B>funzione generatrice dei momenti</B> dell'esponenziale è:
La <B>funzione generatrice dei momenti</B> dell&apos;esponenziale è:
</P>
<P>
<Latex>{r`m_X (t) : \{ t | t < \lambda \} \in \mathbb{R} = \frac{\lambda}{\lambda - t}`}</Latex>
</P>
<P>
La <B>media</B> dell'esponenziale è:
La <B>media</B> dell&apos;esponenziale è:
</P>
<P>
<Latex>{r`E(X) = \frac{1}{\lambda}`}</Latex>
</P>
<P>
La <B>varianza</B> dell'esponenziale è:
La <B>varianza</B> dell&apos;esponenziale è:
</P>
<P>
<Latex>{r`Var(X) = \frac{1}{\lambda^2}`}</Latex>
@ -1207,22 +1194,22 @@ export default function Statistica() {
</Box>
<Box title={"Assenza di memoria della esponenziale"}>
<P>
L'esponenziale non tiene conto degli eventi avvenuti in passato: ha la proprietà
dell'assenza di memoria:
L&apos;esponenziale non tiene conto degli eventi avvenuti in passato: ha la proprietà
dell&apos;assenza di memoria:
</P>
<P>
<Latex>{r`P([X > s + t | X > s]) = P([X > t])`}</Latex>
</P>
<Example>
Ovvero, riscalando opportunamente l'asse Y posso prendere come 0 qualsiasi punto
dell'asse X.
Ovvero, riscalando opportunamente l&apos;asse Y posso prendere come 0 qualsiasi punto
dell&apos;asse X.
</Example>
</Box>
</Section>
<Section title={"Legge gamma"}>
<Box title={"Distribuzione gamma"}>
<P>
Una variabile aleatoria che conta il tempo diwidehattesa prima dell'<Latex>n</Latex>-esimo
Una variabile aleatoria che conta il tempo diwidehattesa prima dell&apos;<Latex>n</Latex>-esimo
arrivo di un processo di Poisson di intensità <Latex>{r`\lambda`}</Latex>.
</P>
<P>
@ -1417,7 +1404,7 @@ export default function Statistica() {
</Box>
<Box title={"La funzione Chi"}>
<Bluelib.Dialog>
"chi-quadro a un grado di libertà"
&quot;chi-quadro a un grado di libertà&quot;
</Bluelib.Dialog>
<P>
Esiste una distribuzione Gamma particolare:
@ -1434,7 +1421,7 @@ export default function Statistica() {
</Box>
<Box title={"T di Student"}>
<P>
Un'altra funzione particolare è la funzione T di Student:
Un&apos;altra funzione particolare è la funzione T di Student:
</P>
<P>
<Latex>{r`T(v) = \frac{Nor(0, 1)}{\sqrt{\frac{\chi^2(v)}{v}}}`}</Latex>
@ -1454,7 +1441,7 @@ export default function Statistica() {
<Box title={"Binomiale e poissoniana"}>
<P>
La binomiale non è altro che una poissoniana a tempo discreto, quindi,
se <Latex>n</Latex> è grande e <Latex>n \cdot p</Latex> è nell'ordine di grandezza delle
se <Latex>n</Latex> è grande e <Latex>n \cdot p</Latex> è nell&apos;ordine di grandezza delle
unità, allora:
</P>
<P>
@ -1473,8 +1460,8 @@ export default function Statistica() {
<Box title={"Correzione di Yates"}>
<P>
Passando da una variabile discreta <Latex>X</Latex> a una continua <Latex>Y</Latex>, per
ogni valore discreto <Latex>k</Latex> la probabilità viene "spalmata" su tutto
l'intervallo <Latex>{r`(k - \frac{1}{2}, k + \frac{1}{2})`}</Latex>:
ogni valore discreto <Latex>k</Latex> la probabilità viene &quot;spalmata&quot; su tutto
l&apos;intervallo <Latex>{r`(k - \frac{1}{2}, k + \frac{1}{2})`}</Latex>:
</P>
<ul>
<li><Latex>{r`P(X < k) \simeq P(Y \leq k - \frac{1}{2})`}</Latex></li>
@ -1547,7 +1534,7 @@ export default function Statistica() {
</Box>
<Box title={"Media dei vettori aleatori"}>
<P>
E' possibile calcolare la media di qualsiasi funzione <Latex>g(X, Y)</Latex> avente
E&apos; possibile calcolare la media di qualsiasi funzione <Latex>g(X, Y)</Latex> avente
elementi del vettore come variabili:
</P>
<P>
@ -1580,11 +1567,11 @@ export default function Statistica() {
</P>
<ul>
<li>Il suo <B>valore nullo</B> è 0: <Latex>{r`Cov(X, \alpha) = 0`}</Latex></li>
<li>E' <B>commutativa</B>: <Latex>{r`Cov(X, Y) = Cov(Y, X)`}</Latex></li>
<li>E' <B>semplificabile</B>: <Latex>{r`Cov(X, X) = Var(X)`}</Latex></li>
<li>E' <B>lineare</B>: <Latex>{r`Cov(\alpha X, \beta Y) = \alpha \cdot \beta \cdot Cov(X, Y)`}</Latex>
<li>E&apos; <B>commutativa</B>: <Latex>{r`Cov(X, Y) = Cov(Y, X)`}</Latex></li>
<li>E&apos; <B>semplificabile</B>: <Latex>{r`Cov(X, X) = Var(X)`}</Latex></li>
<li>E&apos; <B>lineare</B>: <Latex>{r`Cov(\alpha X, \beta Y) = \alpha \cdot \beta \cdot Cov(X, Y)`}</Latex>
</li>
<li>E' <B>distributiva</B>: <Latex>{r`Cov(X + Y, V + W) = Cov(X, Y) + Cov(X, W) + Cov(Y, V) + Cov(Y, W)`}</Latex>
<li>E&apos; <B>distributiva</B>: <Latex>{r`Cov(X + Y, V + W) = Cov(X, Y) + Cov(X, W) + Cov(Y, V) + Cov(Y, W)`}</Latex>
</li>
</ul>
</Box>
@ -1615,7 +1602,7 @@ export default function Statistica() {
`}</Latex>
</P>
<P>
E' sempre simmetrica e semidefinita positiva (tutti gli autovalori sono <Latex>\geq
E&apos; sempre simmetrica e semidefinita positiva (tutti gli autovalori sono <Latex>\geq
0</Latex>.
</P>
</Box>
@ -1627,7 +1614,7 @@ export default function Statistica() {
<Latex>{r`\rho_{X, Y} = \frac{Cov(X, Y)}{\sqrt{Var(X)} \cdot \sqrt{Var(Y)}}`}</Latex>
</P>
<P>
E' sempre compreso tra -1 e 1:
E&apos; sempre compreso tra -1 e 1:
</P>
<P>
<Latex>{r`-1 \leq \rho_{X, Y} \leq 1`}</Latex>
@ -1663,7 +1650,7 @@ export default function Statistica() {
<Box title={"Campione casuale"}>
<P>
Una <B>n-pla</B> di variabili aleatorie con la stessa distribuzione della variabile
aleatoria <Latex>X</Latex> ("popolazione") ma <B>indipendenti</B> tra loro.
aleatoria <Latex>X</Latex> (&quot;popolazione&quot;) ma <B>indipendenti</B> tra loro.
</P>
<Example>
Le variabili aleatorie sono come un lazy-load in programmazione; quando ci sarà bisogno
@ -1721,7 +1708,7 @@ export default function Statistica() {
<Latex>{r`Var(\overline{X}_n) = \frac{Var(X)}{n}`}</Latex>
</P>
<Example>
Quindi, possiamo stimare l'errore della media calcolata tramite campioni!
Quindi, possiamo stimare l&apos;errore della media calcolata tramite campioni!
</Example>
</Box>
<Box title={"Correzione campionaria"}>
@ -1732,7 +1719,7 @@ export default function Statistica() {
<Latex>{r`E(S_0^2) = E(S_n^2) = Var(X)`}</Latex>
</P>
<Example>
Quindi, possiamo stimare l'errore della media calcolata tramite campioni!
Quindi, possiamo stimare l&apos;errore della media calcolata tramite campioni!
</Example>
</Box>
</Section>
@ -1771,7 +1758,7 @@ export default function Statistica() {
<Section title={"Quando i campioni hanno dimensioni infinite"}>
<Box title={"Convergenza in distribuzione"}>
<P>
Se la successione di variabili aleatorie <Latex>X_n</Latex> all'infinito ha la <B>stessa
Se la successione di variabili aleatorie <Latex>X_n</Latex> all&apos;infinito ha la <B>stessa
funzione di ripartizione</B> della popolazione <Latex>X</Latex>, allora essa <I>converge
in distribuzione</I>.
</P>
@ -1781,7 +1768,7 @@ export default function Statistica() {
</Box>
<Box title={"Convergenza in probabilità"}>
<P>
Se la successione di variabili aleatorie <Latex>X_n</Latex> all'infinito ha la <B>stessa
Se la successione di variabili aleatorie <Latex>X_n</Latex> all&apos;infinito ha la <B>stessa
probabilità</B> della popolazione <Latex>X</Latex>, allora essa <I>converge in
probabilità</I>.
</P>
@ -1791,7 +1778,7 @@ export default function Statistica() {
</Box>
<Box title={"Convergenza quasi certa"}>
<P>
Se la successione di variabili aleatorie <Latex>X_n</Latex> all'infinito ha la <B>stessa
Se la successione di variabili aleatorie <Latex>X_n</Latex> all&apos;infinito ha la <B>stessa
probabilità a </B> della popolazione <Latex>X</Latex>, allora essa <I>converge quasi
certamente</I>.
</P>
@ -1801,7 +1788,7 @@ export default function Statistica() {
</Box>
<Box title={"Convergenza in media quadratica"}>
<P>
Se la successione di variabili aleatorie <Latex>X_n</Latex> all'infinito ha la <B>media
Se la successione di variabili aleatorie <Latex>X_n</Latex> all&apos;infinito ha la <B>media
del quadrato della distanza</B> tra la successione e la popolazione <Latex>X</Latex> <B>uguale
a 0</B>, allora essa <I>converge in media quadratica</I>.
</P>
@ -1861,7 +1848,7 @@ export default function Statistica() {
<Latex>{r`\forall \epsilon > 0, P \left( \lim_{n \to +\infty} | \overline{X}_n - E(X) | < \epsilon \right) = 1`}</Latex>
</P>
<Example>
Dimostra che l'interpretazione frequentista della probabilità è valida!
Dimostra che l&apos;interpretazione frequentista della probabilità è valida!
</Example>
</Box>
</Section>
@ -1885,7 +1872,7 @@ export default function Statistica() {
<Section title={"Altre approsimazioni"}>
<Box title={"Binomiale e normale"}>
<P>
E' una somma di <B>bernoulliane</B>, e quindi si approssima a una normale:
E&apos; una somma di <B>bernoulliane</B>, e quindi si approssima a una normale:
</P>
<P>
<Latex>{r`Bin(n, p) \approx Nor(n \cdot p, n \cdot p \cdot q)`}</Latex>
@ -1893,7 +1880,7 @@ export default function Statistica() {
</Box>
<Box title={"Binomiale negativa e normale"}>
<P>
E' una somma di <B>geometriche</B>, e quindi si approssima a una normale:
E&apos; una somma di <B>geometriche</B>, e quindi si approssima a una normale:
</P>
<P>
<Latex>{r`\overline{Bin} (n, p) \approx Nor \left( \frac{n}{p}, \frac{n \cdot (1 - p)}{p^2} \right)`}</Latex>
@ -1901,7 +1888,7 @@ export default function Statistica() {
</Box>
<Box title={"Poissoniana e normale"}>
<P>
E' una somma di altre <B>poissoniane</B>, e quindi si approssima a una normale:
E&apos; una somma di altre <B>poissoniane</B>, e quindi si approssima a una normale:
</P>
<P>
<Latex>{r`Poi(\lambda) \approx Nor(\lambda, \lambda)`}</Latex>
@ -1909,7 +1896,7 @@ export default function Statistica() {
</Box>
<Box title={"Gamma e normale"}>
<P>
E' una somma di <B>esponenziali</B>, e quindi si approssima a una normale:
E&apos; una somma di <B>esponenziali</B>, e quindi si approssima a una normale:
</P>
<P>
<Latex>{r`\Gamma (\alpha, \lambda) \approx Nor \left( \frac{\alpha}{\lambda}, \frac{\alpha}{\lambda^2} \right)`}</Latex>
@ -2100,15 +2087,15 @@ export default function Statistica() {
<Section title={"Intervalli di confidenza"}>
<Box title={"Confidenza"}>
<Bluelib.Dialog>
"intervallo di confidenza al 95%"
&quot;intervallo di confidenza al 95%&quot;
</Bluelib.Dialog>
<P>
L'intervallo di valori di <Latex>\theta</Latex> all'interno del quale siamo "più o meno
sicuri" si trovi il valore effettivo:
L&apos;intervallo di valori di <Latex>\theta</Latex> all&apos;interno del quale siamo &quot;più o meno
sicuri&quot; si trovi il valore effettivo:
</P>
<P>
L'intervallo di confidenza a N della stima <Latex>{r`\widehat{W}`}</Latex> è
l'intervallo <Latex>]a, b[</Latex> tale che:
L&apos;intervallo di confidenza a N della stima <Latex>{r`\widehat{W}`}</Latex> è
l&apos;intervallo <Latex>]a, b[</Latex> tale che:
</P>
<P>
<Latex>{r`P( a < W < b ) = N`}</Latex>
@ -2123,7 +2110,7 @@ export default function Statistica() {
<Box title={"Varianza nota"}>
<P>
Se conosciamo la varianza di una normale, allora possiamo ricavare velocemente gli
intervalli di confidenza all'<Latex>\alpha</Latex>% con queste formule:
intervalli di confidenza all&apos;<Latex>\alpha</Latex>% con queste formule:
</P>
<ul>
<li>Intervalli
@ -2140,7 +2127,7 @@ export default function Statistica() {
<Box title={"Varianza incognita"}>
<P>
Se non conosciamo la varianza di una normale, allora possiamo ricavare velocemente gli
intervalli di confidenza all'<Latex>\alpha</Latex>% con queste formule:
intervalli di confidenza all&apos;<Latex>\alpha</Latex>% con queste formule:
</P>
<ul>
<li>Intervalli
@ -2162,7 +2149,7 @@ export default function Statistica() {
<Section title={"Confidenza per la proporzione di una bernoulliana"}>
<Box title={"Terzo metodo corretto"}>
<P>
L'intervallo di confidenza per la proprorzione di una bernoulliana qualsiasi si ottiene
L&apos;intervallo di confidenza per la proprorzione di una bernoulliana qualsiasi si ottiene
da questa formula:
</P>
<P>
@ -2173,7 +2160,7 @@ export default function Statistica() {
<Section title={"Confidenza per la media di qualsiasi popolazione"}>
<Box title={"Approssimando con la normale"}>
<P>
L'intervallo di confidenza per la media di una qualsiasi popolazione si ottiene da
L&apos;intervallo di confidenza per la media di una qualsiasi popolazione si ottiene da
questa formula:
</P>
<P>
@ -2183,3 +2170,5 @@ export default function Statistica() {
</Section>
</>
}
export default Page

View file

@ -8,7 +8,7 @@
],
"allowJs": true,
"skipLibCheck": true,
// "strict": true, // not now
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
@ -18,7 +18,7 @@
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"strict": false
"noImplicitAny": false,
},
"include": [
"next-env.d.ts",