# Contesto completo (tutti i file di contesto_ai/ uniti) Generato da strumenti/unisci_contesto.py: non modificare a mano, modifica i singoli file e rigenera. > Avvertenze: le ricerche (corso di laurea, schede dei corsi, esami, esercizi d'esame) vengono da fonti pubbliche e da alcune pagine Moodle riservate agli iscritti; gli appunti delle lezioni rielaborano le slide dei docenti. Sono accurati e con fonti, ma possono contenere errori o dati superati; io, DonFlammer, che curo questa raccolta, non mi assumo alcuna responsabilità. Per date, regole e scadenze fanno fede solo le fonti ufficiali (Moodle, sito del corso di laurea, Esse3). Testo completo: AVVERTENZE.md nella radice del repository. --- > File: `contesto_ai/istruzioni_per_ai.md` # Istruzioni per l'AI che legge questi file Sei il tutor di uno studente del 1° anno di Informatica a UniTo (vedi `studente.md`; chi ha fatto un fork può essere di un altro canale). Questi file contengono ricerche già fatte e verificate: **usali come fonte principale invece di ricercare da zero**, e segnala se qualcosa ti sembra superato (le regole cambiano ogni anno accademico). Le ricerche (corso di laurea, schede dei corsi, esami) vengono da fonti pubbliche e, per alcune schede (Fondamenti e MDAG), anche da pagine Moodle visibili solo con il login UniTo; gli appunti delle lezioni rielaborano le slide dei docenti. Per date, scadenze e regole d'esame ricorda all'utente di verificare sulle fonti ufficiali (Moodle, sito del corso di laurea, Esse3). Le schede dei corsi coprono i canali A, B e C: usa i dati del canale dell'utente. Gli appunti delle lezioni seguono invece le slide del canale B, quello che seguo io (sono DonFlammer e curo questa raccolta): se l'utente è di un altro canale, ricordagli che programma ufficiale ed esame sono comuni ma slide, ordine degli argomenti, esempi e parti del programma effettivamente svolte possono cambiare, e usa i riferimenti ai canali A e C presenti in ogni lezione. ## Come usare le fonti - Ogni file indica data di aggiornamento e fonti. Distingui sempre ciò che è **ufficiale per il 2026/27** da ciò che deriva da **anni o canali precedenti** (i file lo segnalano). - Nelle lezioni (`/lezioni/*.md`) tutto segue le slide o le dispense del corso, tranne le parti marcate **[OLTRE LE SLIDE]** (lezioni più vecchie) o i riquadri `> [!OLTRE]` (lezioni più recenti). Riquadri, quiz, esercizi e formule sono spiegati in `formato_lezioni.md`. - In caso di dubbio fanno fede le slide del docente, il Moodle del corso e il sito del corso di laurea. ## Regole didattiche - **Politica dei docenti di Programmazione I sugli LLM**: servono per rivedere esercizi già svolti o capire perché un programma non compila, **non per delegare la soluzione**. Quindi: per esercizi da svolgere, guida con domande e suggerimenti progressivi prima di dare la soluzione completa; per correggere codice, spiega l'errore. - Rispondi in italiano, con esempi concreti e casi limite. In matematica spiega passo per passo, partendo da un esempio con numeri piccoli, e scrivi tutti i passaggi dei conti. - Quando scrivi codice C per Programmazione I rispetta le regole d'esame: - funzioni iterative: **una sola `return`**, variabili sentinella, **niente `break`, `switch`, `case`, `static`**; - funzioni ricorsive: **niente `for`/`while`**, rispetta il tipo richiesto (co-variante, contro-variante, dicotomica); - array passati come (lunghezza, puntatore), `size_t` per indici e lunghezze, prototipi dichiarati; - il codice deve compilare con **`gcc -Wall -Werror`**; verifica sempre i casi limite (array vuoti, `n = 0`, un solo elemento, negativi). - Il "caso iniziale" (valore di partenza di accumulatori e sentinelle, casi vuoti) è l'errore più frequente all'esame: controllalo sempre. ## Se devi scrivere gli appunti di una nuova lezione Le lezioni nuove si scrivono nel formato di `formato_lezioni.md` (modelli: `PROG1/lezioni/02A_da_assembly_a_c.md` e `MDAG/lezioni/L01_numeri_reali.md`), da cui viene generata la pagina HTML. In sostanza: 1. Intestazione YAML con corso, docente, lezione, data, fonte (nome del PDF delle slide). 2. "In breve": 5–8 punti con i concetti chiave. 3. Una sezione per ogni gruppo di slide, **con i numeri di slide**; definizioni esatte in corsivo o in citazione; tabelle per confronti. 4. Pseudocodice e codice in blocchi di codice; formule in LaTeX; figure e strumenti interattivi con i blocchi `grafico` e `widget`. 5. Trappole ed errori tipici; collegamento con l'esame (vedi `PROG1/corso.md` ed `esercizi_esame.md`). 6. Esercizi con soluzione (compilare il C con `gcc -Wall -Werror` prima di scriverlo); domande di ripasso con risposta breve; glossario. 7. Aggiornare `/indice_lezioni.md` con i concetti chiave della nuova lezione e i fili conduttori con le lezioni precedenti. 8. Mettere in un riquadro `OLTRE` tutto ciò che non viene dalle slide o dalle dispense. Nel repository esiste anche una versione HTML interattiva di ogni lezione (`appunti//`), pensata per lo studio al computer; il contenuto è lo stesso. --- > File: `contesto_ai/formato_lezioni.md` # Formato dei file delle lezioni I file delle lezioni più recenti (`/lezioni/*.md` con `genera_html: true` nell'intestazione) sono la fonte da cui viene generata la pagina HTML della lezione sul sito, con `strumenti/lezioni.mjs`. Il contenuto è lo stesso; il Markdown ha in più qualche convenzione, spiegata qui per chi lo legge (persone o AI). ## Intestazione YAML `corso`, `modulo` (per MDAG: `MD` Matematica Discreta, `AG` Algebra lineare e Geometria), `lezione` (codice, per esempio `01B` o `L05`), `titolo`, `data` (solo per le lezioni già svolte), `docenti`, `fonte` (slide o dispense usate), `scheda` (i dati mostrati in cima alla pagina), `materiale` (`slide` o `dispense`), più i campi tecnici per la pagina (`descrizione`, `lede`, `appunti_html`, `genera_html`). ## Struttura - `## In breve`: i punti chiave della lezione. Subito dopo si parte con il contenuto: niente sezione introduttiva su che cosa serve sapere o che cosa si saprà fare alla fine. - Sezioni `## Titolo (slide 2–5)` o `## Titolo (pp. 20–21)`: tra parentesi le slide o le pagine delle dispense da cui viene la sezione. - `## Verso l'esame`, `## Quiz`, `## Esercizi`, `## Domande di ripasso`, `## Glossario`, `## Checklist`, `## Fonti`. Le lezioni riscritte nel formato nuovo (Algebra lineare e Geometria `MDAG/lezioni/L*.md`, Matematica Discreta `D*.md`, Fondamenti dell'Informatica) hanno in più `## I simboli di questa lezione` (una tabella: simbolo, come si legge, che cosa vuol dire, esempio) prima di «Verso l'esame». In ogni sezione l'ordine è: un esempio concreto, l'idea a parole, poi l'enunciato delle dispense in un riquadro, seguito da un paragrafo «**Come si legge.**» che lo traduce a parole. ## Formule LaTeX tra `$…$` (nel testo) e `$$…$$` (in un blocco a sé). Abbreviazioni: `\R \N \Z \Q \C \K` per gli insiemi numerici e il campo, `\rk` rango, `\Span`, `\Ker` nucleo, `\Imm` immagine, `\tr` traccia, `\Mat`, `\sgn`, `\id`. `{}^tA` è la trasposta. ## Riquadri Righe che cominciano con `> [!TIPO] titolo`: | Tipo | Significato | |---|---| | `DEF` | definizione da sapere | | `PROP`, `TEOREMA`, `LEMMA`, `COROLLARIO` | enunciati, con la numerazione delle dispense o delle slide | | `ESEMPIO` | esempio svolto | | `IDEA`, `METODO` | l'idea intuitiva, il procedimento passo per passo | | `TRAPPOLA` | errore tipico | | `ESAME` | conta all'esame | | `OLTRE` | **non** viene dal materiale del corso: aggiunta degli appunti (argomenti, metodi, collegamenti) | | `NOTA`, `OSSERVAZIONE` | osservazioni e avvisi | | `DIM` | dimostrazione (nella pagina è chiusa e si apre con un clic) | | `APPROFONDIMENTO` | enunciati più formali o curiosità che si possono saltare (nella pagina è chiuso) | | `RICORDA` | «Da ricordare»: il succo di una sezione in poche righe | | `RIPASSO` | richiamo di matematica di scuola che serve in quel punto | | `CANALI` | differenze e corrispondenze tra i canali A, B e C | Gli enunciati nei riquadri `DEF`, `PROP`, `TEOREMA` seguono le slide o le dispense, con la loro numerazione. Gli argomenti che vanno oltre il materiale del corso stanno in un riquadro `OLTRE` o in una sezione con «oltre le slide/dispense» nel titolo. Le spiegazioni a parole, gli esempi con i numeri, i riquadri `RIPASSO` e i «Prova tu» sono degli appunti. Le lezioni più vecchie, come `PROG1/lezioni/01A_primo_algoritmo.md`, usano ancora il segno **[OLTRE LE SLIDE]**. ## Esercizi, domande, quiz - `::: esercizio livello titolo` … `::: soluzione` … `:::`, con livello `base`, `medio`, `difficile` o `esame`. - `::: domanda testo della domanda` … risposta … `:::`. - `::: prova testo della domanda` … risposta … `:::`: un «Prova tu» in mezzo alla spiegazione, cioè una domanda breve con la risposta subito sotto (nella pagina è nascosta finché non la apri). - Blocco `quiz`: `D:` domanda; `+` risposta giusta, `-` risposta sbagliata (nella pagina l'ordine viene mescolato); `N:` risposta numerica; `=` spiegazione. ## Altri blocchi - `glossario`: una riga per termine, `Termine | definizione`. - `checklist`: le voci «So …» da spuntare. - `grafico`: una figura statica (punti, vettori, rette, poligoni, cerchi), una riga per elemento. - `widget`: uno strumento interattivo della pagina HTML (piano complesso, vettori, matrici 2×2, calcolatrice di Gauss, Ruffini, spazio in 3D, simulatore della macchina di Von Neumann, porte logiche con `modo: porte`, `modo: flipflop`, `modo: esadecimale` o `modo: memoria`; testo, colori, suoni e numeri in bit con `widget codifica` e `modo: testo`, `colori`, `suono`, `binario`, `divisioni` o `somma`; numeri con il segno e con la virgola, parità e codici con `modo: interi` (chiavi `bit`, `n`: lo stesso byte senza segno, in complemento a 2 e in eccesso), `somma` con `complemento: si` e `n`, `virgola` (formato a 8 bit del libro: chiave `bit` per decodificare o `numero` per codificare), `parita` (chiavi `bit`, `parita: dispari|pari`) e `hamming` (chiave `parola`, codice a 6 bit del libro); logica proposizionale con `widget logica` e `modo: tavola` (chiave `formula`: la tavola di verità con una colonna per sottoformula e il giudizio tautologia o contraddizione), `equivalenza` (chiavi `a` e `b`: le righe in cui due formule differiscono) o `argomento` (chiavi `premesse`, separate da `;`, e `conclusione`: le righe con le premesse vere e il controesempio); le formule si scrivono con ¬ ∧ ∨ ⊕ → ↔ o con ! & | xor -> <->. Nel Markdown restano solo i parametri iniziali. ## Riassunti settimanali Ogni settimana, per ogni corso, un riassunto delle lezioni in `/riassunti/settimana_NN.md` (per MDAG uno per parte: `settimana_NN_MD.md` e `settimana_NN_AG.md`). Il formato è quello delle lezioni, con `tipo: riassunto` e `lezione: S` nell'intestazione: la pagina va in `appunti//riassunto_settimana_NN….html` e compare nella sezione «Riassunti settimanali» in fondo alla pagina del corso, non tra le lezioni. Contiene «In breve», una sezione per lezione con i punti, le tabelle, i metodi e qualche disegno (`grafico`), «Verso l'esame», «Domande di ripasso», «Quiz d'esame» e le «Fonti» con i link alle lezioni complete. Il «Quiz d'esame» è un blocco `quiz` con domande vere degli appelli o delle simulazioni, ognuna con la data; dove un corso non ha domande a scelta su quegli argomenti, le domande sono «sul modello di» un esercizio d'esame vero, ed è scritto. --- > File: `contesto_ai/studente.md` # Chi sono - Io, DonFlammer, che curo questa raccolta, sono al primo anno della **Laurea triennale in Informatica, Università di Torino (UniTo)**, A.A. 2026/27 (lezioni iniziate il 28/09/2026). - **Canale B** (cognomi E–O). Programmazione I: teoria con il prof. Elvio Amparore; laboratorio **turno T2** (matricola pari): lunedì 14–17 al Laboratorio Turing con Elisa Marengo, dal 05/10/2026. Il docente ha detto che in laboratorio si può usare il proprio portatile. - Insegnamenti del 1° semestre: Programmazione I, Fondamenti dell'Informatica, Matematica Discreta Algebra e Geometria. Del 2° semestre: Analisi, Architettura, Programmazione II, Ricerca Operativa, Inglese I. Dettagli in `unito_informatica.md`. - Lingua: **italiano**. Messaggi brevi e informali. - Sistema: Windows 11, Git Bash, `gcc` 16.1 (MinGW-w64), Python 3.12. ## Come voglio essere aiutato - Invio le **slide lezione per lezione** e voglio **appunti dettagliati "fatti apposta per studiare"**, orientati all'esame. - Gli appunti devono seguire l'ordine delle slide, spiegare il *perché* dei passaggi, segnalare le trappole, collegare ogni argomento a come viene chiesto all'esame, e includere esercizi con soluzione e domande di ripasso. - Tutto resta **in locale** e nel repository GitHub `DonFlammer/unito-informatica`, pubblico e in sola lettura per gli altri: nessuna altra pagina pubblicata online. - Voglio file `.md` riutilizzabili da qualsiasi AI, per non dover rifare le ricerche da zero (questa cartella). ## Stato attuale L'elenco delle lezioni già studiate, con i concetti chiave, è in `PROG1/indice_lezioni.md`; per gli altri corsi un file analogo `/indice_lezioni.md` verrà creato con la prima lezione studiata. --- > File: `contesto_ai/unito_informatica.md` # Informatica a UniTo — come funziona (A.A. 2026/27) Aggiornato al 28/09/2026. Fonti primarie: sito del corso di laurea (laurea.informatica.unito.it: Guida e Manifesto 2026/27, Regolamento L-31 coorte 2026, Calendario didattico, Appelli d'esame), bacheca Esse3, pagine di Ateneo sulla verbalizzazione. Fonti secondarie: guida degli studenti TSI (github.com/tsi-unito/guida_degli_studenti_di), scritta da studenti. ## Il corso di laurea - **Laurea triennale in Informatica**, classe **L-31**, codice CdS 0801L31. Dipartimento di Informatica, via Pessinetto 12 / corso Svizzera 185, Torino. - 3 anni, **180 CFU**: 156 di insegnamenti, 9 di stage, 3 di prova finale, 12 liberi. 1 CFU = 25 ore di lavoro (di norma 8 h di lezione + 17 di studio, oppure 10 h di laboratorio + 15 di studio). - Accesso libero con **TOLC-S** (CISIA): superato con almeno 5/20 in Matematica di base; sotto soglia scatta l'**OFA di matematica**, da assolvere entro il 1° anno (corso su www.ofa.unito.it + esame in presenza). Guida dedicata, con regole, date, appunti dei moduli e simulazioni: https://donflammer.github.io/unito-ofa-matematica/ (repository DonFlammer/unito-ofa-matematica, contesto per le AI nella cartella `ai/`). - Didattica in presenza; frequenza **non obbligatoria** ma fortemente raccomandata. - A tempo pieno si registrano al massimo 80 CFU all'anno (tempo parziale: 36). ## Canali e turni (1° anno) - Lezioni divise per iniziale del cognome: **Canale A = A–D, Canale B = E–O, Canale C = P–Z**. - Laboratori in turni: **turno 1 = matricola dispari, turno 2 = matricola pari** (A1/A2, B1/B2, C1/C2). Assegnazione automatica. I turni valgono solo per i corsi con laboratorio (Programmazione I e II, Architettura). - Non esiste una procedura per cambiare canale. La FAQ del corso di laurea dice che, finché c'è posto in aula, si possono seguire le lezioni di un altro canale; per gli esami valgono le regole del proprio canale (e i corsi del 1° anno hanno quasi tutti un esame unico). - Dal 2° anno i canali diventano due: A (A–K) e B (L–Z). - **Orari** (University Planner, un calendario per canale con tutti i corsi): [Canale A](https://unito.prod.up.cineca.it/calendarioPubblico/linkCalendarioId=613b9237d969e100173d4110) · [Canale B](https://unito.prod.up.cineca.it/calendarioPubblico/linkCalendarioId=613b92a1d969e100173d4111) · [Canale C](https://unito.prod.up.cineca.it/calendarioPubblico/linkCalendarioId=613b9315da7aec0018faeed7). Anche nell'app MyUniTO+, ma solo per i corsi già nel piano carriera. Il 2° semestre non è ancora pubblicato. ## Primo anno 2026/27 (60 CFU) Schede complete di ogni corso (docenti, orari, esame, programma, materiale, consigli): cartelle `PROG1/`, `FDA/`, `MDAG/`, `ANMAT/`, `ARCH/`, `PROG2/`, `RO/`, `INGLESE/`. | Insegnamento | CFU | Sem. | Esame (uguale per i tre canali) | |---|---|---|---| | **Programmazione I** (MFN0582, in C) | 9 | 1° | scritto al PC su Moodle (programmazione, correttezza, memoria) | | **Fondamenti dell'Informatica** (INF0348) | 9 | 1° | scritto su Moodle: 9 quiz + domanda aperta facoltativa | | **Matematica Discreta, Algebra e Geometria** (INF0328) | 12 | 1° | due prove scritte separate (MD e AG), voto = media | | Analisi Matematica (MFN0570) | 9 | 2° | tre prove al PC (quiz, teoria, esercizi) | | Architettura degli Elaboratori (INF0326) | 6 | 2° | scritto al PC (ammissione + laboratorio RISC-V) + orale obbligatorio; su Esse3 un appello per canale ("ARCHIT. ELAB. CORSO A/B/C", stessa data e stessi laboratori): iscriversi a quello del proprio canale | | Programmazione II (INF0330, in C) | 6 | 2° | progetti di laboratorio obbligatori + esonero + scritto | | Ricerca Operativa (INF0327) | 6 | 2° | scritto al PC + orale facoltativo (da −16 a +6) | | Lingua Inglese I (MFN0590) | 3 | 2° | test SET al PC, senza voto; riconoscibile con certificazione | ### Docenti per canale | Insegnamento | Canale A (A–D) | Canale B (E–O) | Canale C (P–Z) | |---|---|---|---| | Programmazione I | Fiandrotti · lab A1 Colonnelli, A2 Antelmi | Amparore · lab B1 Basile, B2 Marengo | Mazzei (teoria e lab C1, C2) | | Fondamenti dell'Informatica | Cardone | Berardi | Paolini | | MDAG – Matematica Discreta | Longhi e Terracini | Mori | Longhi e Terracini | | MDAG – Algebra Lineare e Geometria | Buzano | Buzano e Radeschi | Radeschi | | Analisi Matematica | Soave e Colasuonno | Boscaggin e Tione | Seiler e Tione | | Architettura degli Elaboratori | Gaeta (teoria e lab A1, A2) | Drago (teoria e lab B1) · lab B2 Lucenteforte | Schifanella (teoria e lab C1) · lab C2 Torta | | Programmazione II | Damiani (teoria e lab A1, A2) | Birke · lab B1 e B2 Torta | Garetto (teoria e lab C1) · lab C2 Audrito | | Ricerca Operativa | Grosso | Aringhieri | Hosteins | | Lingua Inglese I | unica per tutti: Commissione Lingua Inglese, esercitatrice Ieluzzi | | | ### Orari del 1° semestre 2026/27 | Canale | Programmazione I | Fondamenti | MDAG – MD | MDAG – AG | |---|---|---|---|---| | **A** · Aula A | mar 9–11, mer 11–13 · lab A1 gio 14–17, A2 mer 14–17 | lun 11–13, gio 9–11, ven 9–11 | mar 11–13, gio 11–13, alcuni mer 9–11 | lun 9–11, ven 11–13, alcuni mer 9–11 | | **B** · Aula B | mar 11–13, mer 9–11 · lab B1 mar 14–17, B2 lun 14–17 | lun 9–11, gio 9–11, ven 11–13 | lun 11–13, ven 9–11, alcuni mer 11–13 | mar 9–11, gio 11–13, alcuni mer 11–13 | | **C** · Aula A (pomeriggio) | lun 14–16, gio 14–16 · lab C1 mer 9–12, C2 mar 9–12 | mar 14–16, mer 16–18, ven 13–15 | mar 16–18, ven 15–17, alcuni mer 14–16 | lun 16–18, gio 16–18, alcuni mer 14–16 | I laboratori di Programmazione I sono al laboratorio Turing e partono dalla 2ª settimana (5–8 ottobre). ### Appelli già pubblicati per i corsi del 1° semestre | Data | Esame | Iscrizioni | |---|---|---| | mar 19/01/2027 14:00 | MDAG – Matematica Discreta | 30/12 – 12/01 | | ven 22/01/2027 14:00 | MDAG – Geometria | 02/01 – 15/01 | | lun 25/01/2027 9:00 | Programmazione I | 05/01 – 18/01 | | ven 29/01/2027 9:00 | Fondamenti dell'Informatica | 09/01 – 22/01 | | mer 03/02/2027 14:00 | MDAG – Matematica Discreta | 14/01 – 27/01 | | ven 05/02/2027 14:00 | MDAG – Geometria | 16/01 – 29/01 | | gio 11/02/2027 9:00 | Programmazione I | 22/01 – 04/02 | | gio 18/02/2027 9:00 | Fondamenti dell'Informatica | 29/01 – 11/02 | Gli appelli già in bacheca per i corsi del 2° semestre (Analisi 18/01, Architettura 01/02, Inglese 02/02, Programmazione II 08–09/02, Ricerca Operativa 19/02) sono sessioni pensate per chi ha seguito quei corsi negli anni precedenti (il Regolamento L-31, art. 6 c. 4, fa iniziare gli appelli al termine dell'attività didattica; per Inglese non è chiaro se le matricole possano già usare l'appello del 02/02/2027: vedi INGLESE/corso.md). ### Pagine Moodle 2026/27 | Corso | Moodle (informatica.i-learn.unito.it/course/view.php?id=…) | |---|---| | Programmazione I | A 3701 · B 3773 · C 3767 (accesso ospite) | | Fondamenti dell'Informatica | A 3851 (ospite) · B 3747 (login, iscrizione libera) · C 3635 (ospite) · pagina d'esame su Moodle Esami: esami.i-learn.unito.it id=2673 (login; esercizi delle lezioni e vecchi esami) | | MDAG | Parte 1 (MD) 3829 · Parte 2 (AG) 3831 (login, comuni ai canali) | | Analisi Matematica | 3703 (login, comune) | | Architettura degli Elaboratori | 3833 (login, comune) | | Programmazione II | A teoria 3651, lab A1 3653, lab A2 3655; lab C2 3757 (login); le altre non ancora create | | Ricerca Operativa | 3719 "Ricerca Operativa (A,B,C)" (login, comune ai tre canali; 2025/26: 3555) | | Lingua Inglese I | 3805 (login, comune) | Tutte le pagine sono nella categoria "Anno Accademico 26/27 > Primo anno Laurea". Iscriversi subito a quelle dei corsi del 1° semestre. Secondo anno: ASD, Basi di Dati, Probabilità e Statistica, PPOO, Sistemi Operativi (9 CFU ciascuno) + una tra Economia/Diritto e una tra Fisica/Logica (6). Terzo anno: Sviluppo Applicazioni Software, Reti e Sicurezza + insegnamenti a scelta, stage, prova finale. ## Calendario 2026/27 | Periodo | Date | |---|---| | 1° semestre (lezioni) | 28/09/2026 – 15/01/2027 · pausa natalizia 23/12/2026 – 06/01/2027 | | Sessione invernale (+ straordinaria) | 18/01/2027 – 19/02/2027 | | 2° semestre (lezioni) | 22/02/2027 – 04/06/2027 · pausa pasquale 25–30/03/2027 | | Esperimento 3° appello insegnamenti del 1° semestre | 31/03 e 1–2/04/2027 (dettagli non ancora pubblicati) | | Sessione estiva | 07/06/2027 – 30/07/2027 | | Sessione autunnale | dal 01/09/2027 all'inizio delle lezioni 2027/28 | Altre date: - **"1st year survival kit"** (incontro per le matricole, comune ai tre canali): 13 e 14/10/2026, 13:00–14:00, Aula A. - **Piano carriera 2026/27**: date non ancora pubblicate (nel 2025/26 si compilava dal 10/10). È indispensabile per iscriversi agli esami, anche del 1° anno: compilarlo appena si apre la finestra. - **Edumeter**: la valutazione del corso va compilata prima di iscriversi all'appello; dal 2026/27 un giudizio negativo richiede un commento. Chi non vuole valutare un aspetto deve scegliere "non applicabile". ## Regole d'esame (coorte 2026 e regole di Ateneo) - **Appelli**: almeno 5 all'anno per insegnamento; 2 nelle settimane di pausa dopo il semestre in cui si è seguito il corso; almeno 10 giorni tra due appelli dello stesso esame. - **Tentativi**: allo stesso esame ci si presenta **al massimo 3 volte per anno accademico** (Regolamento L-31, art. 6 c. 13) → non conviene "provare" a ogni appello. Gli appelli da cui ci si ritira non contano nei 3 tentativi (Regolamento didattico di Ateneo, art. 24 c. 7), purché ci si ritiri prima della comunicazione del voto: dopo si può solo rifiutarlo, e quel tentativo conta (pagina d'esame di Fondamenti 2026/27). La presenza all'appello viene comunque registrata (Esse3 traccia anche prove fallite e assenze). Se non ci si presenta, cancellarsi dalla Bacheca prenotazioni entro la chiusura. - **Iscrizione** da MyUniTo (Esami → Appelli disponibili), entro le 23:59 del giorno di chiusura. Servono: **tasse in regola**, **piano carriera compilato e approvato** (obbligatorio anche per il 1° anno), **valutazione Edumeter** dell'insegnamento (senza, Esse3 blocca l'iscrizione). Chi resta iscritto e non si presenta risulta assente. - **Voto** in trentesimi, sufficienza 18; lode all'unanimità e solo con 30. Ci si può ritirare fino alla proclamazione dell'esito (la presenza viene comunque registrata). - **Rifiuto del voto** (scritti con verbalizzazione online): l'esito arriva in "Bacheca esiti" e per email; si hanno **almeno 5 giorni** per rifiutarlo, altrimenti vale il silenzio-assenso. Gli esiti negativi non vanno sul libretto. Negli orali si accetta o rifiuta subito. - **Modalità d'esame**: fissate dal docente prima dell'anno accademico nella scheda insegnamento, uguali per tutti gli appelli dell'anno. - **Sbarramento**: per sostenere esami del 2°/3° anno servono almeno **21 CFU del 1° anno** e, per la coorte 2026, l'OFA superato (o la soglia TOLC-S). L'OFA **non** blocca gli esami del 1° anno. Nessun'altra propedeuticità obbligatoria (solo consigliate). - Il programma della propria coorte si può portare all'esame per altri 3 anni, avvisando il docente. - DSA e disabilità: supporti da richiedere per tempo agli uffici di Ateneo (referenti CdL: prof.ssa Damiano per DSA, prof.ssa Baroglio per disabilità). ## Piattaforme e contatti - **Moodle I-Learn**: https://informatica.i-learn.unito.it (tutti i corsi del primo anno 2026/27: https://informatica.i-learn.unito.it/course/index.php?categoryid=485) — iscriversi alla pagina di ogni corso: una per canale per Programmazione I (laboratori compresi) e Fondamenti; per Programmazione II una pagina di teoria per canale più una per ogni turno di laboratorio; una pagina comune ai tre canali per MDAG (parte 1 e parte 2), Analisi, Architettura, Ricerca Operativa e Inglese. Al 28/09/2026 l'accesso ospite funziona solo su Programmazione I A/B/C e Fondamenti A e C. - **MyUniTo / Esse3**: iscrizione agli appelli, esiti, piano carriera. Bacheca pubblica appelli: https://esse3.unito.it/ListaAppelliOfferta.do - **Orari**: University Planner o app MyUniTO+. - **Edumeter**: https://www.edumeter.unito.it (valutazione degli insegnamenti). - Email istituzionale **nome.cognome@edu.unito.it**: usarla sempre per scrivere ai docenti; lì arrivano anche le convocazioni agli esami. - **PC dei laboratori**: al Turing si entra con le credenziali SCU/MyUniTo; per i laboratori Dijkstra e Von Neumann può servire un account @educ.di.unito.it (richiesta a aperturalogin@educ.di.unito.it). Gli esami al PC di Prog I si svolgono in questi tre laboratori. - **Tutorato matricole**: sportello nell'aula studio del complesso Pier della Francesca (da fine settembre, lun–ven) e online su prenotazione, tutorato.informatica@unito.it. Tutorato individuale: pagina Moodle a cui le matricole vengono iscritte d'ufficio (commtutor@educ.di.unito.it). Servizi di Ateneo: SUPERA (metodo di studio), SAMBA (benessere). - **Aule e laboratori**: via Pessinetto 12, piano rialzato; aule A e B da 218 posti; laboratori Turing e Von Neumann (Windows), Dijkstra e Babbage (Unix). In caso di necessità si usa anche l'aula dell'Hotel Royal, corso Regina Margherita 249. ## Gruppi Telegram - **Ufficiale del 1° anno** (dalla pagina Tutorato del corso di laurea): https://t.me/+0sR7CugDQlllNzU0 — al 28/09/2026 il link non apre nessun gruppo (invito scaduto o revocato): chiedere quello aggiornato a tutorato.informatica@unito.it. Il gruppo del 1° anno attivo è quello studentesco «Informatica anno 1 @ Unito» (Generale 1° anno, qui sotto). - **Studenteschi** (Team Studentesco Informatica, indice su https://tsi-unito.eu/links.html; i canali A, B, C del 1° anno sono uniti): | Gruppo | Link | |---|---| | Generale 1° anno | https://t.me/+Ox2fUmU2Un4xYTM0 | | Programmazione I | https://t.me/+pgWXz9_rIdU2ZGU0 | | Fondamenti dell'Informatica | https://t.me/+i98q9jlppjZhYzI0 | | MDAG | https://t.me/+doM_i3uFgYg1MjVk | | Analisi | https://t.me/+bIy-EgjtRrhhNmE8 | | Architettura | https://t.me/+REfz_GZ2fytlOWE0 | | Programmazione II | https://t.me/+xJOmjJInA4VjMDBk | | Ricerca Operativa | https://t.me/+lRZmXg1uiA4yOTQ0 | | Off Topic | https://t.me/+Ye04aIAdXfI4Yzlk | Per Inglese non c'è un gruppo dedicato: si usa il generale. I link di invito possono cambiare: in caso di problemi partire dalla pagina TSI. ## Vita pratica (dalla guida TSI) - **Tasse**: calcolate sull'ISEE universitario, 4 rate; prima rata 156 € uguale per tutti; senza ISEE si paga il massimo. - **EDISU**: borse di studio (contano i CFU, non i voti), mensa agevolata, aule studio (corso Svizzera 185). Biblioteca di Dipartimento in via Pessinetto 12 (posto prenotabile con Affluences). - **Trasporti**: tessera Piemove gratuita per under 26 con ISEE fino a 85.000 € (dal 2025/26). - Collaborazioni part-time: non disponibili al 1° anno. ## Metodo di studio consigliato - Dalla guida TSI: **active recall** (flashcard, riassunti a memoria, spiegare ad alta voce) + **ripetizione dilazionata** (ripasso dopo 1 giorno, 1 settimana, 1 mese); tecnica del pomodoro; studiare un po' ogni giorno; fare esercizi. - Dai docenti di Prog I (introduzione 2026/27): frequentare prendendo appunti, ripassare la lezione precedente, approfondire sul libro, frequentare i laboratori e i tutor; la "maratona" di registrazioni prima dell'esame non funziona. --- > File: `contesto_ai/PROG1/corso.md` # Programmazione I — scheda completa del corso (canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti primarie: scheda insegnamento MFN0582, Moodle 2026/27 dei tre canali (accesso ospite), calendari University Planner, bacheca Esse3, Regolamento L-31 coorte 2026. Fonti secondarie: materiale degli anni passati (guida studenti TSI, Moodle 2025/26, repository di studenti). Ogni informazione riporta anno/canale di validità quando non è certa per il 2026/27. **Programma ed esame sono unici per i tre canali**; cambiano docenti, orari, slide e ordine degli argomenti. ## Dati essenziali | Voce | Valore | |---|---| | Codice | MFN0582 · 9 CFU (6 teoria + 3 laboratorio) · 1° anno, 1° semestre · SSD INF/01 | | Linguaggio | C | | Ore | 48 h teoria (24 lezioni da 2 h) + 30 h laboratorio (10 esercitazioni da 3 h) · carico totale ≈ 225 h | | Periodo | 28/09/2026 – 15/01/2027 (pausa 23/12/2026 – 06/01/2027) | | Frequenza | facoltativa ma raccomandata; registrazioni Webex su Moodle "non garantite" e "non sostituiscono la presenza" | | Prerequisiti | nessuno di programmazione; matematica di base e buon italiano | | Propedeuticità | nessuna in ingresso; Prog I è competenza attesa per Prog II, Architettura, ASD, PPOO, Sistemi Operativi (consigliata, non vincolante) | ## Docenti, orari e Moodle | | Canale A (cognomi A–D) | Canale B (cognomi E–O) | Canale C (cognomi P–Z) | |---|---|---|---| | **Teoria** | Attilio Fiandrotti · mar 9–11, mer 11–13 · Aula A · dal 29/09 | Elvio G. Amparore · mar 11–13, mer 9–11 · Aula B · 1ª lezione lun 28/09 11–13 | Alessandro Mazzei · lun 14–16, gio 14–16 · Aula A · dal 28/09 | | **Lab turno 1** (matricola dispari) | Iacopo Colonnelli · gio 14–17 · Turing · dall'08/10 | Valerio Basile · mar 14–17 · Turing · dal 06/10 | Alessandro Mazzei · mer 9–12 · Turing · dal 07/10 | | **Lab turno 2** (matricola pari) | Alessia Antelmi · mer 14–17 · Turing · dal 07/10 | Elisa Marengo · lun 14–17 · Turing · dal 05/10 | Alessandro Mazzei · mar 9–12 · Turing · dal 06/10 | | **Moodle 2026/27** (accesso ospite) | [id=3701](https://informatica.i-learn.unito.it/course/view.php?id=3701) | [id=3773](https://informatica.i-learn.unito.it/course/view.php?id=3773) | [id=3767](https://informatica.i-learn.unito.it/course/view.php?id=3767) | | **Archivio 2025/26** (stessi docenti di teoria) | id=3455 | id=3461 (con i quiz "Preparazione Esame") | id=3507 (con "Riepilogo Esame") | - Per vedere i materiali basta "Accedi come ospite"; per ricevere gli annunci bisogna iscriversi alla pagina del proprio canale. - Ultime lezioni: canale A fino al 22/12 e poi 12–13/01; canale B fino al 13/01/2027; canale C fino al 21/12 e poi 7, 11, 14/01/2027. Ultimi laboratori a metà gennaio. - Tutorato con studenti laureati: nel 2025/26 partiva a fine ottobre (in presenza e su Webex), annunciato nei forum. - Comunicazioni generali ai docenti: programmazione1-docenti@di.unito.it; ricevimento su appuntamento via email (indirizzi sulle pagine docente del sito del corso di laurea). Scrivere solo da @edu.unito.it con nome, cognome, anno e canale. - Nel 2025/26 ci sono stati spesso spostamenti e annullamenti (lab annullati per le sedute di laurea, scambi con altri corsi): seguire forum Annunci e University Planner. - Attenzione alle slide: il canale C (slide 4) indica i canali come "A-E / F-O" e il canale A (slide 2) dice "laboratorio dal 24/9". Fanno fede la divisione A–D / E–O / P–Z e le date di Moodle e University Planner. ## Libro Deitel, Deitel, Maselli — *Il linguaggio C. Fondamenti e tecniche di programmazione*, IX ed. (Pearson 2022): manuale di riferimento in tutti e tre i canali (capitoli 1–9 o 1–10, più l'allocazione dinamica del cap. 12); copie in biblioteca al 1° piano, disponibile anche in versione elettronica. La slide di Prog I dice che è lo stesso testo di Prog II, ma la scheda di Prog II 2026/27 indica che il libro è ancora da scegliere. Alternativi: Prata *C Primer Plus*; Hanly–Koffman *Problem solving e programmazione in C*. Avvertenza dei docenti: la **correttezza formale** non è nel libro, fanno fede slide e lezioni. ## Programma ufficiale (scheda 2026/27) Modello di memoria · tipi elementari · assegnazione ed espressioni · stato · puntatori (incremento, decremento, `malloc`, `free`) · selezione e verifica di proprietà · programmazione iterativa (problemi numerici: addizione, moltiplicazione, serie; problemi su array: filtri, riorganizzazioni, conteggi) · funzioni e frame-stack (signature, parametri attuali/formali, variabili locali, rientro, operand stack) · ricorsione e correttezza (numerici, stringhe, co/controvarianti e dicotomici su array, strutture puntate) · schemi avanzati: `struct`, quantificatori alternati su coppie di array e matrici. ## Sequenza prevista delle lezioni Ricostruita dai Moodle 2025/26 degli stessi docenti; da confermare lezione per lezione. **Canale A (Fiandrotti)** — deck numerati come il B e con testi quasi identici: 00 introduzione → 01A primo algoritmo → 01B architettura → 02A da assembly a C → 02B assegnazione, modello di memoria, scambio → 02C referenziamento, `scanf`, puntatori → float → booleani → if-else → while e for → array e stringhe → algoritmi su array → matrici → funzioni e chiamata → passaggio per riferimento → passaggio di array e matrici → allocazione dinamica → ricorsione (introduzione, numerica, su array) → ricerca binaria e ricorsione dicotomica → aritmetica dei puntatori → correttezza → esercizi di preparazione all'esame. Particolarità: puntatori già dalla 2ª settimana, array e matrici prima delle funzioni. **Canale C (Mazzei)** — un deck lungo per lezione: 01 Introduzione (algoritmo, Von Neumann, assembly, FORTRAN) → 02 Il C (main, printf, gcc, tipi, variabili, assegnamento, scambio) → 03 Dai numeri ai puntatori → 04 Booleani → 05 IF → 06 While e For → 07 Funzioni → 08 Array → 09 Matrici → 10 Ancora array e matrici (heap, `malloc`) → 11 Ricorsione → 12 Ricorsione su array e ricerca dicotomica → Assert e correttezza → Riepilogo esame. Particolarità: funzioni prima di array e matrici; ricorsione concentrata in 5 lezioni verso la fine (lezioni 17–21 su 24, dal 17/11 al 01/12/2025), seguite da "Assert e correttezza" (04/12) e dal riepilogo d'esame (11–12/12). **Canale B (Amparore)**, settimana per settimana: | Sett. | Teoria | Laboratorio (dal 5/10) | |---|---|---| | 1 | Il primo algoritmo (01A) · architettura del calcolatore · programmazione strutturata e linguaggio C | — | | 2 | Memoria e variabili, assegnamento · referenziamento, input e puntatori in C | Lab01 riga di comando, compilatore | | 3 | Scambio di variabili · virgola mobile · espressioni e variabili booleane · decisioni | Lab02 operatori e tipi, cast, limiti | | 4 | Cicli e ripetizioni | Lab03 condizioni booleane, CodeRunner | | 5 | Array e stringhe · funzioni | Lab04 iterazioni, accumulatori, quantificatori | | 6 | Chiamata di funzione, asserzioni | Lab05 array e stringhe | | 7 | Algoritmi su array | Lab06 funzioni | | 8 | Matrici | Lab07 operazioni su array, memoria dinamica, intervalli semiaperti | | 9 | Memoria dinamica · ricorsione | Lab08 matrici | | 10 | Ricorsione su array | Lab09 ricorsione 1: caso base, involucro, co/controvariante | | 11 | Ricerca binaria · correttezza (invarianti, sentinelle, asserzioni) | Lab10 ricorsione 2: intervalli, dicotomica, coppie di array, matrici | | 12 | Ultime lezioni (dicembre) | — | Nota: la colonna laboratori è indicativa e assume un laboratorio a settimana. Nel 2025/26 (Moodle id=3461) le settimane 4 e 8 sono state senza laboratorio e la sequenza reale è stata Lab01 sett. 2, Lab02 sett. 3, Lab03 sett. 5, Lab04 sett. 6, Lab05 sett. 7, Lab06 sett. 9, Lab07 sett. 10, Lab08 sett. 11, Lab09 sett. 12, Lab10 sett. 13. Nel 2026/27 (University Planner) il turno T2 ha 13 date, ogni lunedì dal 05/10 al 21/12 più l'11/01; il turno T1 ne ha 11, ogni martedì dal 06/10 al 22/12 tranne il 27/10 e l'08/12 (festivo), più il 12/01. Quale laboratorio si fa in ciascuna settimana va verificato sul Moodle del canale B. **Laboratori:** stessa sequenza Lab01–Lab10 e stessi quiz CodeRunner in tutti i canali (introduzione e compilatore → operatori e tipi → condizioni booleane → iterazioni → array e stringhe → funzioni → operazioni su array con heap → matrici → ricorsione 1 → ricorsione 2). ### Dove si trova la lezione 01A negli altri canali - **Canale A**: deck molto simile "01A_primo_algoritmo" (40 slide, settimana 28/09–02/10). Stesse versioni dell'algoritmo V1–V6, incluso il bug del caso n = 0; mancano la slide "In informatica tutto è numero", la slide "Progettare un algoritmo" (input, output, passi, terminazione), il riquadro su dati/procedure e Wirth, la V7 senza numeri di riga e il confronto tra flow-chart e rappresentazione strutturata, e la slide sul caso iniziale non dice "anche in sede d'esame". Nella stessa settimana c'è anche "01B_architettura" (storia del calcolatore, bit e byte, Von Neumann). - **Canale C**: sezione "Il Primo Algoritmo" (slide 20–42) della lezione 01 del 28/09. Parte dall'addizione in colonna ("le istruzioni della maestra") e usa "dita" come nome del contatore; **non** presenta le formulazioni sbagliate né il caso n = 0, ma arriva subito allo pseudocodice corretto (righe 0–6, "Se dita == n salta alla riga 6") e al diagramma di flusso. Nella stessa lezione prosegue con Von Neumann, istruzioni macchina (LOAD, STORE, ADD, CMP, JMP) e la stessa moltiplicazione in assembly e in FORTRAN. ## Esame ### Ufficiale 2026/27 - Scheda: *"L'esame è essenzialmente uno scritto che si svolge al calcolatore o su carta."* Verifica progettazione e codifica di algoritmi iterativi e ricorsivi, domande su correttezza e terminazione, simulazione del linguaggio a runtime. *"La somma dei punteggi degli esercizi proposti permetterà di ottenere voti sino al 30 e Lode."* Niente orale, progetto o esoneri. - Slide "Tipico esame di Programmazione 1" (introduzione canale B 2026/27, identica in A e C): esercizi **in laboratorio su Moodle al PC**; programmazione **iterativa e ricorsiva**; **teoria** (correttezza, tipi); **stato della memoria** (esecuzione simulata). Dettagli ed esercizi simil-esame a fine corso. - **Appello unico per i canali A, B, C**; commissione: Mazzei (presidente), Amparore, Antelmi, Basile, Fiandrotti, Marengo. - Appelli 2026/27 già pubblicati: **lun 25/01/2027 ore 9:00** (iscrizioni 05/01–18/01) e **gio 11/02/2027 ore 9:00** (iscrizioni 22/01–04/02), laboratori Turing + Dijkstra + Von Neumann. Riferimento 2025/26: 5 appelli (22/01, 09/02, 11/06, 09/07, 15/09) con 399, 319, 174, 158, 107 iscritti. Il calendario 2026/27 del corso di laurea prevede anche, in via sperimentale, un 3° appello per gli insegnamenti del 1° semestre il 31/03 e l'1–2/04/2027 (dettagli non ancora pubblicati). - Tempistica canale B: ultima lezione di teoria mer 13/01/2027, ultimi laboratori 11/01 (T2) e 12/01 (T1). Le iscrizioni al 1° appello (05/01–18/01/2027) si aprono negli ultimi due giorni della pausa natalizia (che finisce il 06/01) e restano aperte durante le ultime lezioni: **entro il 18/01 servono piano carriera APPROVATO ed Edumeter di Prog I compilato**. Le iscrizioni al 2° appello aprono il 22/01, prima che si svolga il 1°. ### Logistica e strumenti all'esame (dati certi + deduzioni dagli anni passati) - **Turni**: i tre laboratori hanno 118 postazioni (Turing 52, Dijkstra 36, Von Neumann 30) contro circa 400 iscritti al 1° appello → l'appello viene diviso in turni su più giorni (5 turni in 3 giorni nel 2023/24, 4 turni in 2 giorni nel 2024/25, "diverse sessioni" nel 2025/26). La convocazione arriva via email @edu.unito.it: presentarsi solo se convocati; impedimenti gravi per un turno vanno segnalati a programmazione1-docenti@di.unito.it entro la scadenza indicata. - **Credenziali**: al Turing ci si collega con le credenziali SCU/MyUniTo (conoscerle bene; nel 2023/24 si consigliava di cambiare la password almeno una volta prima dell'esame). Per Dijkstra e Von Neumann la pagina del CdL (aggiornata al 2023) richiede un account @educ.di.unito.it, da chiedere a aperturalogin@educ.di.unito.it (lunedì e venerdì, risposta entro 2 giorni lavorativi): chiedere ai docenti se serve anche all'esame. - **Strumenti**: all'esame si usa "una piattaforma web che vi fornisce un editor di testo semplice", quindi **niente IDE né autocompletamento** (Lab01 2025/26 di Amparore). Esercitarsi con un editor semplice e `gcc -Wall -Werror`, senza Copilot. - **Piattaforma**: non è documentato se si usi il Moodle del CdL o il Moodle "Esami" di Ateneo. La prova su carta resta formalmente possibile (dal 2023/24 al 2025/26 si è sempre svolta al PC). - **Tentativi**: al massimo 3 per anno accademico; non è chiarito se un ritiro conti, e la presenza viene comunque registrata → non iscriversi "per provare"; se non ci si presenta, cancellarsi dalla Bacheca prenotazioni entro la chiusura. ### Struttura probabile (anni passati, da confermare a fine corso) - Canale C 2025/26: **5 esercizi CodeRunner su Moodle**: 2 di teoria (correttezza di una sequenza di assegnazioni; stato della memoria stack) + 3 di programmazione (iterativa, ricorsiva, con heap/`malloc`). 31–32 punti = 30 e lode. *"Passare tutti i test è condizione necessaria ma non sufficiente"*: il codice viene anche letto. - Canale C 2023/24: 4 esercizi da 8 punti (2 di teoria + iterativo e ricorsivo; niente esercizio sull'heap); 31–32 = 30 e lode. - Epoca Java 2016–2019: 4 esercizi (iterativo 7, ricorsivo 7, induzione/invariante 10, memoria 8). - Nel 2025/26 i canali A e B condividevano i quiz Moodle "Preparazione Esame": Esercizi Iterativi, Ricorsivi, Heap, Modello Memoria. ### Regole per gli esercizi di programmazione (esame unico per i canali) Fonti: le regole sulle funzioni iterative e quelle sulle ricorsive (niente cicli, `return` multipli ammessi) vengono dal riepilogo d'esame 2025/26 del canale C (slide 4–5); `-Wall -Werror` viene dal Lab01 2025/26 del canale B ("in sede di esame useremo -Wall -Werror"); tipo di ricorsione richiesto, formato delle `printf`, array passati come coppia, prototipi e casi limite sono indicazioni pratiche e convenzioni del corso, non regole scritte d'esame. - Funzioni **iterative**: un solo punto di ingresso e di uscita → **una sola `return`**; usare **variabili sentinella** e buffer; **vietati** `case`, `switch`, `break`, `static` e costrutti non visti a lezione. (Nel 2023/24 le regole erano le stesse tranne il divieto di `static` e dei costrutti non visti a lezione.) - Funzioni **ricorsive**: **vietati** `for` e `while`; `return` multipli ammessi; rispettare il **tipo di ricorsione** richiesto (co-variante, contro-variante, dicotomica). - Compilazione con **`-Wall -Werror`** (un warning = errore). CodeRunner confronta l'output con quello atteso: rispettare esattamente il formato delle `printf`. - Array passati sempre come coppia (lunghezza, puntatore); dichiarare i prototipi. - Casi limite pesano molto: righe = 0 (vacuamente vero), array vuoti, `NULL`. ### Da chiedere / verificare a fine corso Durata della prova; numero di esercizi e punti per il 2026/27; materiale consentito; se le ausiliarie delle ricorsive possono essere iterative. ## Tipologie d'esame e trappole | Tipologia | Forma tipica | Trappole | |---|---|---| | Iterativa (`e1`) | funzione con firma data su array/matrici (anche irregolari `rows, cols, mat[rows][cols], rags[rows]`), quantificatori per-ogni/esiste, risultato extra via puntatore | sentinella iniziale sbagliata (`true` per "per ogni", `false` per "esiste"), casi vuoti, `break`, scorrere fino a `cols` invece di `rags[i]` | | Ricorsiva (`e2` involucro + `e2R`) | tipo imposto; co-variante (caso base `n == 0`, lavora su `a[n-1]`), contro-variante (`i == aLen`), dicotomica su `[l, r)` (`l == r` vuoto, `r - l == 1` singolo, `m = (l + r) / 2`) | cicli nella ricorsiva, tipo sbagliato, leggere `a[l]` su intervallo vuoto, ordine invertito scrivendo dopo la chiamata | | Heap | funzione che restituisce un array allocato con `malloc` e la lunghezza in un parametro di uscita | dimensione allocata, `NULL`, lunghezza non aggiornata | | Modello della memoria | quiz: valori nei frame, numero di chiamate, altezza massima dello stack (main compreso), punto di rientro (A)/(B) | aliasing degli array (tutti i frame vedono l'array del main), il caso base crea un frame, istruzioni dopo la chiamata eseguite in risalita, celle non inizializzate | | Correttezza | ragionamento backward: scegliere gli `assert` e la precondizione (weakest precondition, `Q[E/x]`) | sostituzione nel verso sbagliato, aritmetica intera (33 ≤ 3r ⇔ 11 ≤ r), `<` vs `<=` | Esempi svolti: `esercizi_esame.md`. ## Convenzioni di notazione del corso - Pseudocodice delle prime lezioni: `←` assegnamento, `=` confronto, `▷` commento, blocchi Inizio/Fine (lezione 01A). - In C: `=` assegna, `==` confronta; `bool` da ``; `assert()` da `` per pre/postcondizioni; punti di programma numerati nei commenti `//(1) //(2)`, `//PRE`, `//POST`, `//(WP)`. - Nomi: `aLen`/`lenA` per lunghezze, `size_t` per indici e lunghezze, `rags[]` per le lunghezze di riga, `pA`, `pStr`, `pSrc`/`pDst` per i puntatori, suffisso `R` per le funzioni ricorsive e "involucro" per la funzione che le avvia. - Intervalli semiaperti `[left, right)`: vuoto se `left == right`, invariante `assert(right >= left)`. - Stack disegnato a righe con frame: parametri, variabili locali, `retl` (riga di rientro), `retv` (valore restituito). ## Ambiente e strumenti - Compilare come all'esame: `gcc -Wall -Werror file.c -o file.exe` (Windows) o `-o file` (Linux/macOS). - Sul mio PC (sono DonFlammer e curo questa raccolta): gcc 16.1 (MinGW-w64) disponibile in Git Bash. - Laboratorio Turing: Windows (TDM-GCC) o Linux; i file si perdono al logout. - Canale B 2026/27: in laboratorio si può usare il proprio portatile (indicazione del docente, riferita da me il 28/09/2026). Conviene comunque allenarsi anche con un editor semplice e `gcc` da terminale, perché all'esame si usano i PC del laboratorio senza IDE. - Editor: VS Code o Notepad++; documentazione: cppreference.com. ## Indicazioni dei docenti (introduzioni 2026/27) - **Uso degli LLM** (canali B e C, con la stessa slide "Programmazione ed AI generativa": n. 11 nel B, n. 15 nel C): servono per rivedere esercizi già svolti o capire perché un programma non compila, **non per delegare la soluzione**. Il canale A chiude l'introduzione con una slide su "Programmazione e AI generativa". - Metodo: frequentare prendendo appunti; ripassare la lezione precedente; approfondire sul libro; studiare ogni giorno; frequentare i laboratori e usare i tutor; la "maratona" di registrazioni prima dell'esame non funziona; prepararsi alla situazione d'esame. ## Materiale degli anni passati (affidabilità) - Nel 2023/24 e 2024/25 la teoria del canale B era di **Luca Roversi**: i materiali "canale B" di quegli anni (anche nei repository di studenti) non riflettono lo stile di Amparore. Il riferimento più vicino è il **Moodle canale B 2025/26** (course/view.php?id=3461: slide, laboratori e registrazioni visibili anche da ospite). - Incoerenze note nelle slide 2026/27, da non prendere per buone: canale C slide 4 ("A-E / F-O", "Amparone": fa fede la divisione A–D / E–O); canale A slide 2 (laboratorio "dal 24/9": il Moodle dice 7/10); canale B slide 4 (il link porta al corso id=2970, il canale A 2024/25). - Guida studenti TSI, `Materie/PROG1`: laboratori 2023/24 in C (slide di Amparore), esercizi Moodle 2023/24 del canale C (quiz memoria/correttezza), fac-simili Java 2016–2019 (solo per la logica). Soluzioni .c di studenti con errori verificati (`media_seq.c`, `scambio4.c`, `aritmeticaR.c`). - https://github.com/MrDionesalvi/PROG1 — testi `e1`/`e2` pre-esame 2023/24; soluzioni con bug (rifarle da zero). - https://github.com/l0gic5/unito-prog1 — laboratori canale B 2024. - Soluzioni ufficiali canale A 2025/26 (7/1/2026) con errori noti: in `e2_soluzione.c` l'accumulatore `s` di `e2R` non è inizializzato nel ramo ricorsivo e il test `a[n]%2==1` non conta i dispari negativi in posizione dispari (con {0, -3} restituisce 1 invece di 2 anche dopo aver inizializzato `s`); `e3_4_soluzione.c` non moltiplica per 2, usa anch'esso `a[i] % 2 == 1`, che esclude i dispari negativi, e non azzera `*bLen` all'inizio (funziona solo se il chiamante lo inizializza a 0). Verificare sempre con test e `-Wall -Werror`. --- > File: `contesto_ai/PROG1/indice_lezioni.md` # Programmazione I (canale B, 2026/27) — lezioni studiate Scheda completa del corso: `corso.md`. Esercizi d'esame tipo: `esercizi_esame.md`. Sequenza prevista delle prossime lezioni: `corso.md` → "Sequenza prevista delle lezioni". | # | Data | Titolo | File | Concetti chiave | |---|---|---|---|---| | 01A | 28/09/2026 | Un primo algoritmo | `lezioni/01A_primo_algoritmo.md` · HTML: `appunti/PROG1/01A_primo_algoritmo.html` | informatica = studio degli algoritmi (Dijkstra); definizione di algoritmo (ordinato, non ambiguo, effettivamente computabile, produce un risultato, termina); tutto è numero; programmazione imperativa; m × n per somme ripetute da 0; accumulatore `s` e contatore `i`; Wirth "Programma = Algoritmi + Strutture Dati"; 7 versioni dell'algoritmo; bug del caso n = 0 → **prima verificare, poi eseguire**; `←` vs `=`; salti condizionati/non condizionati; blocchi Inizio/Fine e indentazione; diagramma di flusso; basso/alto livello; implementare vs tradurre; prossimo: Von Neumann | | 01B | 29/09/2026 | Architettura del calcolatore | `lezioni/01B_architettura.md` · HTML: `appunti/PROG1/01B_architettura.html` | abaco e Pascalina (riporto meccanico); calcolatori cablati vs **programmabili** (operazioni elementari + sequenza codificata con numeri); Babbage (macchina analitica, schede perforate, salti condizionati), Turing 1936 (macchina universale); ENIAC (decimale, cavi) → **EDVAC** (programma memorizzato, memoria unificata, binario); bit, byte, $2^N$; **architettura di Von Neumann** (CPU = unità di controllo + ALU + registri, RAM, memoria secondaria, bus); memoria come fila di byte con **indirizzi** da 0, **parole** da 32 bit; ciclo prelievo–decodifica–esecuzione, **PC** e **IR**; determinismo | | 02A | 30/09/2026 | Dal linguaggio macchina al C | `lezioni/02A_da_assembly_a_c.md` · HTML: `appunti/PROG1/02A_da_assembly_a_c.html` | linguaggio macchina vs **assembly** (mnemonici, assembler, non portabili); addizione in assembly (`LOAD`, `ADD`, `STORE`, `@A` = contenuto all'indirizzo A, PC 0-4-8-12); moltiplicazione in assembly (`CMP`, `JMPEQ`, `INC`, `JMP`) = versione V6 della 01A; FORTRAN e linguaggi di alto livello (compilatore, ricompilare = portabilità); storia del C (Thompson, Ritchie, Unix, K&R 1972, C89…C23); C compilato, imperativo, strutturato, tipizzato; radiografia di `Buongiorno dal C.`: commenti, `#include `, `main`, blocchi, `;`, stringhe, **sequenze di escape**; identificatori e parole chiave; stadi di gcc (preprocessore, compilatore, assemblatore, linker); `gcc -Wall -Werror`; errori di compilazione, a runtime, logici | | Lab01 | 05/10/2026 (B2), 06/10 (B1) | Laboratorio 01: introduzione, la prima lezione di laboratorio | `lezioni/Lab01_introduzione.md` · HTML: `appunti/PROG1/Lab01_introduzione.html` | organizzazione del laboratorio (10 lezioni da 3 ore, laboratorio Turing, file cancellati all'uscita); riga di comando: nome, opzioni, argomenti; percorsi assoluti e relativi, `.` e `..`; comandi di Linux/macOS e di Windows; installare gcc; scrivere, compilare con `gcc -Wall -Werror … -o …` ed eseguire; `printf` e `scanf` con `%d`; esame al PC con CodeRunner | | 02B | 06/10/2026 | Memoria e variabili, assegnamento ed espressioni | `lezioni/02B_assegnamento_memory_model.md` · HTML: `appunti/PROG1/02B_assegnamento_memory_model.html` | tipo = come leggere i bit (nome, dimensione, dominio, operazioni, rappresentazione, conversioni); variabile = nome + tipo + indirizzo + valore; tipi primitivi (`int`, `unsigned`, `float`, `double`, `char`, `size_t`, `bool`), finiti ($-2^{31}$…$2^{31}-1$); `sizeof` e `%zu`, solo l'ordine tra le dimensioni è garantito (`long` da 4 byte su Windows); identificatori e camelCase; visibilità e durata (locali sullo stack, globali/statiche, dinamiche nello heap); **modello della memoria**: area codice e dati, PC, FP, SP, stack che cresce verso il basso, valore iniziale «?»; assegnamento (valuta la destra, copia a sinistra; lvalue/rvalue); overflow e troncamento non segnalati da gcc; `+ - * / %`, divisione intera, precedenze; `printf` con `%d`, `%f`, `%6d`, `%06d`; `+=` … `%=`, `++`, `--` | | 02C | 07/10/2026 | Indirizzi, scanf e puntatori | `lezioni/02C_referenziamento_scanf_puntatori.md` · HTML: `appunti/PROG1/02C_referenziamento_scanf_puntatori.html` | valore e indirizzo, operatore `&` (referenziamento), `%p` (formato diverso tra Linux e Windows, indirizzi simbolici `0x03FC`); `scanf` con `&`, più valori con una `scanf`, valore di ritorno, input sbagliato (`1234.56`, `A`), variabili non lette restano «?»; puntatori `T*`, se `x` è `int` allora `&x` è `int*`, il puntatore ha un suo indirizzo, `scanf` con un puntatore; errori: variabile non dichiarata, `int*` da `float*` (errore in gcc 16.1), `&5`; dereferenziamento `*p` in lettura e scrittura; aliasing; puntatori non inizializzati e `NULL`; `sizeof` di un puntatore (8 byte a 64 bit); `&*p` e `*&p`; i quattro usi di `*` | | Lab02 | 12/10/2026 (B2), 13/10 (B1) | Laboratorio 02: operatori e tipi | `lezioni/Lab02_operatori_tipi.md` · HTML: `appunti/PROG1/Lab02_operatori_tipi.html` | codice di partenza provato (aritmetica.c, circonferenza.c, dim_tipi.c, errori.c, media.c, scambio.c); divisione intera e reale, `%` con i negativi (taglio verso lo zero), overflow di `INT_MAX` (comportamento indefinito), precedenze e $ax^3 + 7$, `const`, gli 8 errori di errori.c, media con `/ 3.0`, `floor`/`ceil`/`round`, 8.136 × 1000 = 8135, tabella dei tipi (`long` 4 byte su Windows), puntatori tutti di 8 byte, cppreference offline, mercato.c, scambio4.c | | 03A | 13/10/2026 | Scambiare due variabili | `lezioni/03A_scambio_variabili.md` · HTML: `appunti/PROG1/03A_scambio_variabili.html` | le tazze di tè; `x = y; y = x;` non scambia (l'assegnamento cancella); variabile d'appoggio `temp`, tre passi in ordine; l'ordine sbagliato perde il valore; rotazione di 3 e 4 variabili con una sola variabile d'appoggio; tabella «una riga per istruzione» | | 03B | 13/10/2026 | Numeri reali, float e double, conversioni | `lezioni/03B_floats.md` · HTML: `appunti/PROG1/03B_floats.html` | `float` (4 byte, ~7 cifre) e `double` (8 byte, ~15–16 cifre), IEEE 754; `%f`, `%e`, `%g`, `%.3f` (arrotonda); `%lf` in `scanf`; niente `%` tra reali; `math.h` e `-lm`; conversioni implicite e tabella delle perdite; promozione di tipo operatore per operatore; `float z = 5 / 2;` vale 2.0; cast `(float)y` sull'operando, non sul risultato | | 03C | 14/10/2026 | Espressioni booleane, il tipo bool e gli operatori logici | `lezioni/03C_booleani.md` · HTML: `appunti/PROG1/03C_booleani.html` | operatori relazionali (1 o 0), `=` e `==`; `bool`, `true`, `false` da `stdbool.h` (1 byte, stampato con `%d`); `&&`, `\|\|`, `!` con le tavole di verità; intervalli con due confronti (`0 <= x <= 10` sempre vero, avviso di gcc); cortocircuito per proteggere divisioni e `scanf`; `-7 % 2` vale −1; condizioni lunghe in variabili `bool` (`&&` dentro `\|\|` senza parentesi non compila con `-Werror`); precedenze; ternario `c ? a : b`; De Morgan | | 03D | 14/10/2026 | Dal flusso sequenziale alle decisioni, if ed else | `lezioni/03D_decisioni.md` · HTML: `appunti/PROG1/03D_decisioni.html` | sequenza, selezione, iterazione e teorema di Böhm-Jacopini (1966); `if`, `if-else`, catena `else if` (un solo blocco eseguito); errori: `if (a = 5)`, graffe dimenticate (`-Wmisleading-indentation`), ordine dei casi, condizioni irraggiungibili; `void main()` delle slide non compila con `-Werror`; scambio condizionato e visibilità di `temp` nel blocco; annidamenti inutili; schemi: massimo, controllo di `scanf`, divisione protetta, intervallo; niente `switch` all'esame | ## Fili conduttori (da ricollegare nelle prossime lezioni) - **Caso iniziale / casi limite** (n = 0, array vuoti, valore iniziale delle sentinelle) — slide 01A-20: "tipica fonte di errori, anche in sede d'esame". - **Programmazione strutturata → regole d'esame**: nelle funzioni iterative una sola `return`, variabili sentinella, niente `break`, `switch`, `case` (nel 2025/26 anche niente `static`); nelle ricorsive niente cicli `for`/`while`, mentre i `return` multipli sono ammessi. Dal ciclo si esce solo tramite la condizione (V7 della 01A). - **Accumulatore e contatore** → cicli `for`/`while`, quantificatori con sentinella (`true` per "per ogni", `false` per "esiste"). - **Invariante `s = m × i`, pre/postcondizioni** → correttezza con `assert` e ragionamento all'indietro. - **Traccia di esecuzione** → modello della memoria (stack di frame) negli esercizi d'esame. Dalla 02B: area dati con FP e SP, variabili in ordine di dichiarazione, «?» per i valori indeterminati; più avanti un frame per ogni chiamata di funzione. - `while (i != n)` ↔ V7; `do-while` ↔ V2 (corpo eseguito almeno una volta). - **Salti e program counter** (01B, 02A): il «salta alla riga» della V6 è una scrittura nel PC; in assembly il ciclo è `CMP` + `JMPEQ` (uscita) + `JMP` (ritorno), e anche gcc compila `while` saltando prima al controllo. - **Stato della macchina e traccia** (01A, 01B, 02A): eseguire = passare da uno stato della memoria al successivo, istruzione per istruzione; è la base degli esercizi d'esame sullo stato della memoria. - **Indirizzi da 0** (01B): memoria come fila di byte numerati da 0 → indirizzi delle variabili e puntatori (02C: `&`, `T*`, `*p`, aliasing, `NULL`), indici degli array. Dalla 02C: risultato «attraverso un puntatore» e scambio con i puntatori → passaggio per riferimento nelle funzioni. - **`-Wall -Werror` e messaggi del compilatore** (02A): allenarsi a leggere riga, colonna e descrizione dell'errore, come all'esame. --- > File: `contesto_ai/PROG1/esercizi_esame.md` # Programmazione I — esercizi d'esame tipo (con soluzioni) Raccolta ragionata dagli anni passati (esercizi Moodle 2023/24 del canale C, testi pre-esame 2023/24, schema del canale C 2025/26) più un esempio costruito per la tipologia "heap". Serve per esercitarsi e per generare nuovi esercizi nello **stesso stile** dell'esame. **Le soluzioni delle sezioni C, D, E sono state compilate con `gcc -Wall -Werror` (C11, C17, C23) e testate**, casi limite compresi (array vuoti, stringa vuota, righe senza elementi validi). Le risposte dei quiz B1 e B2 sono state verificate eseguendo i programmi, quelle di B3 e B4 a mano. I quiz della sezione B sono frammenti da leggere, non da compilare così come sono. Regole da rispettare nelle soluzioni (come all'esame): funzioni iterative con **una sola `return`**, **niente `break`/`switch`/`case`/`static`**, variabili sentinella; funzioni ricorsive **senza cicli**. Array sempre passati come (lunghezza, puntatore). --- ## A. Correttezza: ragionamento all'indietro (weakest precondition) **Testo (Moodle 2023/24, "Corr. Ass. 1").** *Dato il seguente sorgente C, usando il ragionamento backward, scegliere dai menù a tendina: 1. il predicato da asserire in ogni `assert`; 2. la pre-condizione; affinché la verità della pre-condizione implichi la verità della post-condizione.* ```c // post-condizione: 33 <= r && r <= 39 assert(?); // (WP) pre-condizione r = r + 2; assert(?); r = r * 3; assert(?); ``` **Metodo.** Si parte dalla post-condizione e si risale: prima di `x = E` vale `Q[E/x]` (nella condizione `Q` si sostituisce `x` con l'espressione `E`). **Soluzione.** - Ultimo `assert`: la post-condizione `33 <= r && r <= 39`. - Prima di `r = r * 3`: `33 <= r*3 && r*3 <= 39`, cioè `11 <= r && r <= 13`. - Prima di `r = r + 2`: `33 <= (r+2)*3 && (r+2)*3 <= 39`, cioè `9 <= r && r <= 11`. - Pre-condizione tra le opzioni: `33 <= (r+2)*3 && r <= 11`. Varianti viste: post `33 <= r` → pre `9 <= r`; post `r == 33` → `r*3 == 33` → `r == 11` → pre `r == 9`. Trappole: sostituire nel verso sbagliato; arrotondamenti interi (`33 <= 3r` ⇔ `11 <= r`, ma `34 <= 3r` ⇔ `12 <= r`); confondere `<` e `<=` (le opzioni differiscono proprio lì). --- ## B. Modello della memoria (stack di frame) Come si svolge: disegnare un frame per ogni chiamata (parametri, variabili locali, punto di rientro, valore restituito); ricordare che **gli array passati sono quelli del chiamante** (tutti i frame vedono e modificano la stessa memoria) e che **anche il caso base crea un frame**. ### B1 — valori restituiti e aliasing (Moodle 2023/24, "Allocazione mem 1") ```c #define DIM (size_t)(3) int ric(size_t lenA, int a[], size_t i); int main(void) { int v[DIM] = {10, 5, 1}; int r = ric(DIM, v, 0); // (A) return 0; } int ric(size_t lenA, int a[], size_t i) { if (i < lenA) { int n = a[i]; a[i] = 0; return n + ric(lenA, a, i + 1); // (B) } else { return 0; } } ``` Domande: valore restituito dal frame con `i == 2`? con `i == 1`? valore di `n` prima della linea (B) nel frame con `i == 1`? valore di `v[2]` subito dopo (A)? **Soluzione.** Frame: main, ric(0), ric(1), ric(2), ric(3). ric(3) → 0; ric(2) → 1 + 0 = **1**; ric(1) → 5 + 1 = **6**; `n` nel frame `i == 1` = **5**; `v[2]` = **0** (ogni frame azzera `a[i]`, cioè l'array del main). In più `r = 16`. ### B2 — istruzioni eseguite in risalita (ExMem-03) ```c #define DIM 3 void m(int aLen, int a[], int i) { if (i < aLen) { int x = a[i]; m(aLen, a, i + 1); // (B) a[aLen - (i + 1)] = x; } } // main: int a[DIM] = {1, 2, 3}; m(DIM, a, 0); // (A) ``` Domande: `a[2]` appena prima della disallocazione del frame con `i == 0`; quanti frame (main escluso) hanno scritto in `a` prima della disallocazione del frame con `i == 2`; `a[0]` in quell'istante; `a[1]` prima della disallocazione del main. **Soluzione.** Le `x` si salvano scendendo (1, 2, 3), le scritture avvengono **risalendo**: `i=2` scrive `a[0]=3`, `i=1` scrive `a[1]=2`, `i=0` scrive `a[2]=1`. Risposte: **1**; **1 frame**; **3**; **2**. Risultato: array invertito `{3, 2, 1}`. ### B3 — numero di chiamate e punto di rientro (ExMem-04) ```c #define DIM 2 void m(int lenX, int x[], int i) { if (i < lenX) { x[i]++; m(lenX, x, i + 1); // (B) } } // main: int x[DIM] = {1, 2}; m(DIM, x, 0); // (A) ``` **Soluzione.** Chiamate con `i = 0, 1, 2` → **3** (il caso base conta). `x` diventa `{2, 3}`: `x[1] = 3`, `x[0] = 2`. Il frame con `i == 1` è stato chiamato dal frame `i == 0` alla linea (B), quindi **rientra in (B)**. ### B4 — celle non inizializzate (Moodle 2023/24, riproposto nel canale B 2024) ```c #define ROWS (size_t)(2) #define COLS (size_t)(3) void x(int l, size_t aRows, size_t aCols, bool a[aRows][aCols], size_t aRags[aRows]) { aRags[l - 1] = l; for (int i = l - 1; i >= 0; i--) { a[l - 1][i] = !(l % 2 == 0); // (B) } } // main: bool a[ROWS][COLS]; size_t aRags[ROWS]; // for (size_t j = 0; j < ROWS; j++) x(j + 1, ROWS, COLS, a, aRags); // (A) ``` **Soluzione.** l = 1: `aRags[0] = 1`, `a[0][0] = true`. l = 2: `aRags[1] = 2`, `a[1][1] = a[1][0] = false`. Chiamate: **2**; `false`: **2**; `aRags[1]` = **2**; `true`: **1**. Trappola: le altre celle non sono mai scritte (valore indeterminato); si contano solo le celle valide secondo `aRags`. --- ## C. Programmazione iterativa (`e1`) **Testo (pre-esame 2023/24).** *Scrivere una funzione iterativa `e1` che riceve una matrice irregolare VLA (`rows`, `cols`, `mat`, `rags`) di interi; `e1` determina se le righe sono tutte lunghe almeno quanto `rows` e se in ciascuna riga esiste un elemento multiplo di 7. In questo caso ritorna la somma dei primi multipli di 7 (quelli più a sinistra) di ciascuna riga, altrimenti ritorna 0.* Schema: formula con quantificatori → **per ogni** riga (sentinella `ok = true`) **esiste** un multiplo di 7 (sentinella `found = false`). Le condizioni dei cicli includono le sentinelle, quindi niente `break`. ```c int e1(size_t rows, size_t cols, const int mat[rows][cols], const size_t rags[rows]) { int sum = 0; bool ok = true; // "per ogni riga": parte da true for (size_t i = 0; i < rows && ok; i++) { ok = rags[i] >= rows; bool found = false; // "esiste un multiplo di 7": parte da false for (size_t j = 0; j < rags[i] && ok && !found; j++) { if (mat[i][j] % 7 == 0) { sum = sum + mat[i][j]; found = true; } } ok = ok && found; } if (!ok) { sum = 0; } return sum; // una sola return } ``` Testato: somma corretta; riga corta → 0; riga senza multipli di 7 → 0; `rows == 0` → 0 (vacuamente vero, somma vuota). Trappole: scorrere fino a `cols` invece di `rags[i]`; dimenticare di azzerare il risultato quando la proprietà fallisce (una soluzione pubblicata da studenti ha proprio questo bug). --- ## D. Programmazione ricorsiva (`e2` involucro + `e2R`) Schemi da sapere: **co-variante** (indice decrescente, caso base `n == 0`, lavora su `a[n-1]`); **contro-variante** (indice crescente, caso base `i == aLen`); **dicotomica** su `[l, r)` (vuoto `l == r`, un elemento `r - l == 1`, divisione in `m = l + (r - l) / 2`). Il tipo richiesto va rispettato: una soluzione funzionante del tipo sbagliato non vale. ### D1 — contro-variante con capacità (pre-esame 2023/24) *`e2` prende un array (`aLen`, `a`), un secondo array (`*p_bLen`, `b`) e un valore `val`; è un involucro che chiama la ricorsiva `e2R`. `e2R` considera ciascun elemento di `a`: se è strettamente maggiore di `val` copia in `b` la differenza con `val`. Al più `*p_bLen` elementi vengono scritti; alla fine `*p_bLen` contiene il numero di elementi effettivamente scritti.* ```c void e2R(size_t aLen, const int a[], size_t *p_bLen, size_t cap, int b[], int val, size_t i) { if (i < aLen) { if (a[i] > val && *p_bLen < cap) { b[*p_bLen] = a[i] - val; *p_bLen = *p_bLen + 1; } e2R(aLen, a, p_bLen, cap, b, val, i + 1); } } void e2(size_t aLen, const int a[], size_t *p_bLen, int b[], int val) { size_t cap = *p_bLen; // capacità di b in ingresso *p_bLen = 0; // caso iniziale: nessun elemento scritto e2R(aLen, a, p_bLen, cap, b, val, 0); } ``` ### D2 — dicotomica (pre-esame 2023/24) *`e2R` esegue una ricorsione dicotomica e ritorna la somma degli elementi di `a` compresi tra `-val` e `+val`, estremi inclusi; 0 se l'array è vuoto.* ```c int e2R(const int a[], size_t l, size_t r, int val) { if (l == r) { return 0; // intervallo vuoto } if (r - l == 1) { return (a[l] >= -val && a[l] <= val) ? a[l] : 0; } size_t m = l + (r - l) / 2; return e2R(a, l, m, val) + e2R(a, m, r, val); } int e2(size_t aLen, const int a[], int val) { return e2R(a, 0, aLen, val); } ``` Trappola: trattare `l == r` come "un elemento" legge `a[0]` anche con array vuoto (bug presente in soluzioni pubblicate da studenti). ### D3 — stringa filtrata in-place (pre-esame 2023/24) *`e2R` modifica in-place la stringa: un carattere `c` viene mantenuto solo se non esistono altre occorrenze di `c` nel resto della stringa; la stringa va terminata con `'\0'`.* ```c bool esisteR(const char *s, char c) { if (*s == '\0') { return false; } if (*s == c) { return true; } return esisteR(s + 1, c); } void e2R(char *w, const char *r) { // w: dove scrivo, r: dove leggo (w <= r) if (*r == '\0') { *w = '\0'; } else if (esisteR(r + 1, *r)) { e2R(w, r + 1); // c ricompare dopo: lo scarto } else { *w = *r; // nessuna occorrenza successiva: lo tengo e2R(w + 1, r + 1); } } void e2(char *s) { e2R(s, s); } ``` Esempio: `"banana"` → `"bna"`. "Nel resto della stringa" significa *dopo* `c`. Anche l'ausiliaria è ricorsiva (niente cicli nelle ricorsive). --- ## E. Heap (`malloc`) — esempio costruito Tipologia presente nel canale C 2025/26 (funzione che restituisce un array allocato e la lunghezza in un parametro di uscita). Il testo seguente è un esempio nello stesso stile, **non** un testo d'esame reale. *`e3` riceve un array (`aLen`, `a`) e restituisce un nuovo array allocato sullo heap con gli elementi pari di `a`, nell'ordine; la lunghezza va scritta in `*out_len`.* ```c int *e3(size_t aLen, const int a[], size_t *out_len) { size_t cnt = 0; for (size_t i = 0; i < aLen; i++) { if (a[i] % 2 == 0) { cnt = cnt + 1; } } int *b = malloc(cnt * sizeof(int)); size_t k = 0; if (b != NULL) { for (size_t i = 0; i < aLen; i++) { if (a[i] % 2 == 0) { b[k] = a[i]; k = k + 1; } } } *out_len = k; return b; // chi chiama dovrà fare free() } ``` Trappola: per i **dispari** non usare `a[i] % 2 == 1`, perché con i negativi `-3 % 2 == -1`; usare `a[i] % 2 != 0` (errore trovato nelle soluzioni ufficiali del canale A 2025/26). --- ## F. Epoca Java (2016–2019) — solo per la logica Formato: 4 esercizi, 32 punti — iterativo (7, al PC), ricorsivo con tipo imposto (7, al PC), dimostrazione per induzione o invariante (2+2+3+3, a mano), stato della memoria stack+heap (8, a mano). I testi (in `guida_degli_studenti_di/Materie/PROG1/FacSimili/`) sono buoni allenamenti se riscritti in C con `(len, array)` al posto degli array Java. --- > File: `contesto_ai/PROG1/lezioni/01A_primo_algoritmo.md` ```yaml corso: Programmazione I (MFN0582) — Teoria, Canale B, A.A. 2026/27 docente: Elvio G. Amparore lezione: 01A — Un primo algoritmo data: 2026-09-28 (prima lezione) fonte: slide "01A_primo_algoritmo.pdf", 30 pagine (Moodle canale B) appunti_html: appunti/PROG1/01A_primo_algoritmo.html note: le parti marcate [OLTRE LE SLIDE] sono aggiunte per collegare la lezione al resto del corso; tutto il resto segue le slide. ``` # 01A — Un primo algoritmo ## In breve (7 punti) 1. L'informatica studia gli **algoritmi**, non i computer (frase attribuita a Dijkstra: il computer sta all'informatica come il telescopio all'astronomia). 2. **Algoritmo** = insieme **ordinato** di operazioni **non ambigue** ed **effettivamente computabili** che, quando eseguito, **produce un risultato** e **si arresta in un tempo finito**. 3. Esempio guida: calcolare `m × n` (interi, `n ≥ 0`) con una macchina che sa solo **sommare, assegnare, confrontare** → **somme ripetute** partendo dall'elemento neutro 0. 4. Servono un **accumulatore** `s` (somma parziale) e un **contatore** `i` (addizioni già fatte). 5. Principio di progetto del corso: **prima verificare le condizioni, poi eseguire**. Controllando `i = n` *dopo* la somma, con `n = 0` l'algoritmo non termina. Slide 20: *"La gestione del caso iniziale è una tipica fonte di errori, anche in sede d'esame."* 6. Notazione: `←` assegnamento, `=` confronto; salti condizionati/non condizionati → blocchi **Inizio/Fine** annidati + indentazione (programmazione strutturata). 7. Diagramma di flusso = rappresentazione del flusso di controllo. Obiettivo del corso: tradurre in **C** algoritmi descritti in italiano; modello di calcolo: **macchina di Von Neumann** (lezione successiva). ## Se sei del canale A o C - **Canale A (Fiandrotti):** deck molto simile "01A_primo_algoritmo" (40 slide, settimana 28/09–02/10). Stesse versioni dell'algoritmo V1–V6, compreso il bug del caso n = 0. Rispetto al canale B mancano la slide "In informatica tutto è numero" (B6), la slide "Progettare un algoritmo" con input/output/passi/terminazione (B8), il riquadro su dati/procedure e Wirth "Programma = Algoritmi + Strutture Dati" (B14), la V7 senza numeri di riga (B26) e il confronto tra flow-chart e rappresentazione strutturata (B28); la slide sul caso iniziale (A23) non dice "anche in sede d'esame". Nella stessa settimana c'è anche "01B_architettura" (storia del calcolatore, bit e byte, macchina di Von Neumann). - **Canale C (Mazzei):** sezione "Il Primo Algoritmo" (slide 20–42) della lezione 01 del 28/09. Parte dall'addizione in colonna ("le istruzioni della maestra") e chiama "dita" il contatore. **Non** presenta le versioni sbagliate né il caso n = 0: arriva subito allo pseudocodice corretto (righe 0–6, "Se dita == n salta alla riga 6") e al diagramma di flusso. Nella stessa lezione prosegue con Von Neumann, istruzioni macchina (LOAD, STORE, ADD, CMP, JMP) e la stessa moltiplicazione in assembly e in FORTRAN. - L'esame è unico per i tre canali: le parti su caso iniziale, "prima verificare, poi eseguire" e programmazione strutturata (§7–§8, §14) valgono per tutti. --- ## §1 Che cos'è l'informatica (slide 2–4) - **Calcolatore / computer**: in origine una *persona* che eseguiva calcoli a mano (carta, penna, calcolatrici meccaniche); dagli anni '50 un *dispositivo elettromeccanico programmabile* per calcoli anche complessi. Foto nelle slide: una sala di calcolatori umani e la **Olivetti Programma 101** (1965, "the do-it-yourself computer"). - Citazione (slide 3, attribuita a E. W. Dijkstra): *"L'informatica non è la scienza dei calcolatori. Non più di quanto l'astronomia sia la scienza dei telescopi o la chirurgia la scienza dei bisturi."* → l'informatica studia gli algoritmi, non i dispositivi. - **Informatica = studio degli algoritmi** (slide 4), che comprende: | Aspetto | Contenuto | [OLTRE LE SLIDE] Dove si ritrova | |---|---|---| | Proprietà formali e matematiche | algoritmi corretti ed efficienti | Algoritmi e Strutture Dati, corsi di matematica/logica | | Realizzazione fisica | progettare e costruire computer che li eseguono | Architettura degli Elaboratori | | Realizzazione linguistica | progettare linguaggi di programmazione | Programmazione I/II, Linguaggi Formali e Traduttori | | Applicazioni | software (algoritmi implementati) per problemi importanti | Basi di Dati, Reti, Sistemi Operativi… | ## §2 Algoritmo: definizioni e proprietà (slide 5) - **Definizione intuitiva**: procedimento di calcolo ben definito, eseguibile **meccanicamente** da un essere umano o da una macchina, per ottenere un risultato (**output**) a partire da dati di partenza (**input**). - **Definizione precisa (da memorizzare)**: *un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito.* | Proprietà | Significato | Controesempio [OLTRE LE SLIDE] | |---|---|---| | Ordinato | sequenza precisa: dopo ogni passo si sa quale viene dopo | istruzioni in ordine sparso | | Non ambiguo | una sola interpretazione possibile | "aggiungi sale q.b." | | Effettivamente computabile | ogni operazione è davvero eseguibile dall'esecutore | "calcola m × n" per una macchina che sa solo sommare; "dividi per 0" | | Produce un risultato | c'è un output | procedura che non restituisce nulla | | Si arresta in tempo finito | termina per **ogni** input ammesso | la versione V2 con n = 0 (§8) | - "Eseguibile meccanicamente" = non servono intuito o creatività: per questo si può affidare a una macchina. - **Etimologia**: dal matematico persiano **al-Khwārizmī** (circa anno 800), il cui libro sui *calcoli con i numerali indiani* descrive procedure per l'aritmetica. [OLTRE LE SLIDE] Traduzione latina "Algoritmi de numero Indorum"; da un altro suo libro (*al-jabr*) deriva "algebra". ## §3 Tutto è numero; programmazione imperativa (slide 6–7) - Ogni informazione (testi, immagini, suoni, istruzioni) in memoria è codificata come **numero**, cioè come **sequenza di bit**. [OLTRE LE SLIDE] `'A'` = 65 = `01000001` in ASCII. - Un programma **imperativo** lavora modificando valori numerici memorizzati nello **stato** della macchina. **Programmare** = descrivere come trasformare questi valori passo dopo passo. - **Programmazione imperativa**: programma = sequenza ordinata di istruzioni, **una riga = una istruzione**; finita la riga *n* si esegue la *n+1*, **se non specificato diversamente**. - Istruzioni tipiche della macchina: **assegnare** un valore a una variabile; **sommare** due variabili e memorizzare il risultato in una terza; **confrontare** due variabili; **saltare** a una riga diversa dalla successiva (eventualmente sotto condizione). - **Variabile**: contenitore con un nome il cui valore può cambiare; l'insieme dei valori = stato. ## §4 Progettare un algoritmo: il problema (slide 8) Problema: `m × n`, con `m, n` interi e `n ≥ 0`. Bisogna definire: - **Input**: `m`, `n` · **Output**: `m × n` · **Passi**: sequenza non ambigua di operazioni eseguibili dalla macchina · **Terminazione**: si raggiunge l'output e ci si arresta dopo un numero finito di passi. - Ipotesi: la macchina **non sa moltiplicare**; sa fare **somma, assegnamento, confronto**. - Progettare = **costruire il risultato usando solo le operazioni disponibili** (ricondurre la moltiplicazione all'addizione). - [OLTRE LE SLIDE] `n ≥ 0` è la **precondizione**; su `m` nessun vincolo (può essere negativo). ## §5 L'idea: somme ripetute (slide 9–13) ``` m × n = m + m + … + m (n addendi: sommo m a sé stesso n−1 volte) s = 0 + m + m + … + m (parto dall'elemento neutro 0: sommo m esattamente n volte) ``` Perché partire da 0 (elemento neutro della somma): tutti i passi sono uguali (`s ← s + m`); il caso `n = 0` è gestito da solo (s = 0); le addizioni sono esattamente `n`. Resta da stabilire **come eseguire esattamente n addizioni e poi fermarsi** → serve un contatore. Esempio slide 10–13 (m = 4, n = 3), con le dita che contano le addizioni fatte: | Dita alzate (addizioni fatte) | Operazione | s | |---|---|---| | 0 (pugno chiuso) | parziale iniziale | 0 | | 1 | 0 + 4 | 4 | | 2 | 4 + 4 | 8 | | 3 → mi fermo | 8 + 4 | 12 | ## §6 Accumulatore, contatore, Wirth (slide 14) - **Accumulatore** `s`: tiene la somma parziale (≈ il foglio su cui faccio le addizioni). - **Contatore** `i`: tiene il numero di addizioni fatte (≈ le dita della mano). - Due concetti essenziali: **DATI** (valori e loro organizzazione) e **PROCEDURE** (operazioni che li trasformano). - **Niklaus Wirth**: *Programma = Algoritmi + Strutture Dati*. [OLTRE LE SLIDE] È la formula del titolo del suo libro del 1976, *Algorithms + Data Structures = Programs*; Wirth ha creato il Pascal. - [OLTRE LE SLIDE] Schemi ricorrenti: accumulatore inizializzato all'elemento neutro (0 per somme/conteggi, 1 per prodotti); ciclo controllato da contatore. ## §7 Le sette versioni dell'algoritmo (slide 15–26) **V1 — idea a parole (slide 15)** ``` 1. Imposta l'accumulatore s al valore neutro 0 e il contatore i a 0. 2. Somma m a s esattamente n volte, aggiornando contemporaneamente i e s. ``` Difetto: il punto 2 è *semanticamente complesso* (nasconde ripetizione e controllo). **V2 — passi elementari, controllo alla fine (slide 16) — SBAGLIATA per n = 0** ``` 1. s ← 0, i ← 0 2. somma m all'accumulatore s 3. somma 1 al contatore i 4. se i = n: fine (s è il totale), altrimenti ripeti dal punto 2 ``` **V3 — prima il controllo (slide 21)** ``` [1] imposta s a 0 e i a 0 [2] se i = n le addizioni sono finite e s è il totale: terminiamo; altrimenti continuiamo [3] somma m all'accumulatore s [4] somma 1 al contatore i [5] ritorna alla riga 2 ``` **V4 — notazione formale (slide 22)**: `←` assegnamento, `=` confronto, `▷` commento; il **rientro** di [3]–[5] indica che dipendono dalla condizione in [2]. ``` [1] s ← 0, i ← 0 [2] se i = n l'algoritmo termina, altrimenti [3] s ← s + m ▷ somma m ad s [4] i ← i + 1 ▷ incrementa di 1 il contatore i [5] ritorna alla riga 2 ``` **V5 — istruzione Fine e salti (slide 22–24)**: "termina" è troppo forte, perché dopo la moltiplicazione potremmo voler eseguire altro. ``` [1] s ← 0, i ← 0 [2] se i = n allora salta alla riga 6, altrimenti [3] s ← s + m [4] i ← i + 1 [5] salta alla riga 2 [6] Fine ``` **V6 — blocchi Inizio/Fine (slide 25)**: salto **condizionato** (riga 3 → 7, solo se `i = n`) e **non condizionato** (riga 6 → 3, sempre). ``` [1] Inizio Algoritmo [2] s ← 0, i ← 0 [3] Inizio Ripetizione Condizionata se i = n allora salta alla riga 7, altrimenti ▷ salto condizionato [4] s ← s + m [5] i ← i + 1 [6] salta alla riga 3 ▷ salto non condizionato [7] Fine Ripetizione Condizionata [8] Fine Algoritmo ``` **V7 — versione strutturata senza numeri di riga (slide 26)** ``` Inizio Algoritmo s ← 0, i ← 0 Inizio Ripetizione Condizionata se i = n salta alla Fine Ripetizione Condizionata, altrimenti s ← s + m i ← i + 1 salta all'Inizio Ripetizione Condizionata Fine Ripetizione Condizionata Fine Algoritmo ``` La struttura (blocchi annidabili) elimina i numeri di riga; l'indentazione rende visibile la gerarchia e l'appartenenza di ogni istruzione al proprio blocco. È la forma del `while` in C. ## §8 Il bug del caso n = 0 (slide 17–20) L'algoritmo V2 è stato sviluppato su valori "di prova" (m = 4, n = 3). Verifica su un caso particolare: `n = 0`, risultato atteso 0. | Passo | Istruzione (V2) | s | i | Verifica | |---|---|---|---|---| | 1 | s ← 0, i ← 0 | 0 | 0 | — | | 2 | s ← s + m | 4 | 0 | — | | 3 | i ← i + 1 | 4 | 1 | — | | 4 | se i = n … | 4 | 1 | 1 = 0? NO → ripeti | | 7 | se i = n … | 8 | 2 | 2 = 0? NO → ripeti | | … | … | … | … | i > n per sempre: **non termina** | - Causa: V2 prima aggiorna `s` e `i`, poi confronta. Con `n = 0` vale sempre `i > n`. - Correzione: prima verificare che il contatore sia inferiore a `n`, e solo dopo eseguire l'addizione (V3). Con V3 e n = 0: `0 = 0? SÌ` → fine con `s = 0`. - **Paradigma di progetto del corso** (slide 20): *"prima verificare le condizioni e solo dopo eseguire (la prima di una serie di) operazioni"* — "ci accompagnerà nel resto di questo insegnamento". - **Slide 20**: *"La gestione del caso iniziale è una tipica fonte di errori, anche in sede d'esame."* - [OLTRE LE SLIDE] Casi limite da provare sempre: n = 0, n = 1, m = 0, m negativo, precondizione violata (n < 0). ## §9 Diagramma di flusso (slide 28–29) - Rappresentazione intermedia prima del linguaggio vero; mette in evidenza il **flusso di controllo** (le possibili sequenze di esecuzione). - A differenza della rappresentazione strutturata **non rende esplicito l'annidamento dei blocchi**: segue i collegamenti tra istruzioni. - Storicamente molto usato, a volte utile; i linguaggi moderni preferiscono strutture di controllo annidate. - Simboli: ovale = Inizio/Fine; rettangolo = operazioni; rombo = condizione (uscite SÌ/NO); frecce = flusso. Diagramma della slide 29 (versione corretta, verifica prima): ```mermaid flowchart TD A([Inizio]) --> B["i ← 0
s ← 0"] B --> C{"i = n ?"} C -- "SÌ (salto condizionato)" --> F([Fine]) C -- NO --> D["s ← s + m
i ← i + 1"] D -- "salto non condizionato" --> C ``` [OLTRE LE SLIDE] Versione V2 (verifica dopo): il corpo è eseguito almeno una volta. ```mermaid flowchart TD A([Inizio]) --> B["s ← 0
i ← 0"] B --> D["s ← s + m
i ← i + 1"] D --> C{"i = n ?"} C -- SÌ --> F([Fine]) C -- NO --> D ``` ## §10 Programmi, linguaggi, obiettivo del corso (slide 27, 30) - **Programma**: descrizione di un algoritmo attraverso un linguaggio di programmazione. - **Linguaggio di programmazione**: insieme di parole e regole, definite in modo formale, per programmare un calcolatore affinché esegua compiti predeterminati. - Linguaggi di **basso livello** (linguaggio macchina, assembly) vs **alto livello**, vicini al linguaggio naturale (FORTRAN, C, Java, Python). - Scopo del corso: implementare algoritmi elementari in **C**, cioè **tradurre in C algoritmi specificati in italiano**. - *Implementare* = realizzare concretamente una procedura in un linguaggio di programmazione partendo dalla sua definizione logica. - Nell'esame di *Algoritmi* lo scopo sarà invece **analizzare e progettare nuovi algoritmi**. - Modello di calcolo: **macchina di Von Neumann**. [OLTRE LE SLIDE] Memoria con dati *e* istruzioni; CPU che ripete preleva–decodifica–esegui; il *program counter* indica la prossima istruzione ("riga n+1"); un salto cambia il program counter. ## §11 [OLTRE LE SLIDE] La moltiplicazione in C Verificato con `gcc -Wall -Werror` (output `4 x 3 = 12`; corretto anche con 5×0, 0×7, −2×3). ```c #include #include int main(void) { int m = 4, n = 3; // input (per ora fissati nel codice) assert(n >= 0); // precondizione int s = 0; // accumulatore: parte dall'elemento neutro int i = 0; // contatore delle addizioni fatte while (i != n) { // prima verifico la condizione... assert(s == m * i);// invariante: vale a ogni controllo s = s + m; // ...poi eseguo: s <- s + m i = i + 1; // i <- i + 1 } assert(s == m * n); // postcondizione printf("%d x %d = %d\n", m, n, s); return 0; } ``` | Pseudocodice | C | Nota | |---|---|---| | `s ← 0` | `s = 0;` | in C `=` è l'assegnamento | | `i = n` (confronto) | `i == n` | trappola: `if (i = n)` assegna invece di confrontare | | Inizio … Fine | `{ … }` | blocco | | Ripetizione condizionata "se i = n salta alla fine" | `while (i != n) { … }` | il while ripete finché la condizione è vera: la condizione di uscita va negata | | salta all'inizio della ripetizione | `}` | implicito a fine blocco | - `while (i < n)` equivale a `i != n` se n ≥ 0; con n < 0 termina subito (risultato sbagliato) invece di non terminare. - La V2 corrisponde a `do { … } while (…);` (corpo eseguito almeno una volta). ## §12 [OLTRE LE SLIDE] Perché funziona: invariante, terminazione, costo - **Invariante** (vero a ogni controllo della condizione): `s = m × i`. Inizio: `0 = m × 0`. Passo: `s + m = m × (i + 1)`. Uscita (`i = n`): `s = m × n`. - **Terminazione**: `n − i` parte da `n ≥ 0` e cala di 1 a ogni giro → dopo n giri vale 0. Con `n < 0` non termina (precondizione necessaria). - **Costo**: condizione valutata `n + 1` volte, corpo eseguito `n` volte. ## §13 Trappole ed errori tipici 1. Controllare la condizione **dopo** il corpo quando il corpo potrebbe non dover essere eseguito (caso n = 0). 2. Non inizializzare accumulatore/contatore (in C: valore indeterminato). 3. Elemento neutro sbagliato: 0 per somme e conteggi, 1 per prodotti. 4. Errori "di uno": n addendi = n − 1 addizioni; partendo da 0 sono n. 5. Confondere assegnamento e confronto (`←`/`=`; in C `=`/`==`). 6. Ignorare la precondizione (n < 0 → non termina). 7. Testare solo il caso di prova: provare n = 0, n = 1, m = 0, m negativo. 8. Invertire l'ordine delle istruzioni nel corpo quando una usa il valore aggiornato dall'altra. ## §14 Collegamento con l'esame Tipico esame (slide del canale B 2026/27): esercizi su Moodle al PC in laboratorio — programmazione iterativa e ricorsiva, teoria (correttezza, tipi), stato della memoria (esecuzione simulata). Dettagli in `contesto_ai/PROG1/corso.md`. | Tipologia | Legame con 01A | |---|---| | Funzione iterativa | accumulatore/contatore; valore iniziale della sentinella (= caso iniziale) | | Funzione ricorsiva | caso base = caso iniziale; terminazione | | Modello della memoria | traccia di esecuzione passo passo | | Correttezza | precondizione `n ≥ 0`, postcondizione `s = m × n`, invariante `s = m × i` | Regole d'esame (anni passati; riepilogo d'esame 2025/26): funzioni iterative con **una sola `return`**, variabili sentinella, niente `break`/`switch`/`case`/`static` né altri costrutti non visti a lezione; funzioni ricorsive senza cicli (`return` multipli ammessi). È la programmazione strutturata della V7: dal ciclo si esce solo tramite la condizione (es. `while (i < aLen && !esiste)`). ## §15 Esercizi (con soluzioni) **1. Traccia (base).** Esegui V6 con m = 5, n = 2. Soluzione: righe eseguite 1,2,3,4,5,6,3,4,5,6,3,7,8 (13 passi); s: 0 → 5 → 10; condizione valutata 3 volte (n+1), addizioni 2 (n); risultato 10. **2. Caccia al bug (base).** V2 con m = 3, n = 1 e n = 0. Soluzione: n = 1 → s = 3 corretto; n = 0 → s = 3, i = 1, 1 ≠ 0, … non termina. V2 esegue il corpo almeno una volta: corretto solo se n ≥ 1. **3. Numeri negativi (medio).** (a) m = −2, n = 3? (b) m = 2, n = −3? (c) estendere a n qualsiasi sapendo calcolare `x ← −x`. Soluzione: (a) s = −6 corretto. (b) non termina (precondizione violata). (c) premettere `se n < 0 allora m ← −m, n ← −n` (perché `m × n = (−m) × (−n)`), poi l'algoritmo normale. **4. Divisione intera per sottrazioni ripetute (medio).** Dati m ≥ 0, n > 0, calcolare quoziente q e resto r. ``` Inizio Algoritmo q ← 0, r ← m Inizio Ripetizione Condizionata se r < n salta alla Fine Ripetizione Condizionata, altrimenti r ← r − n q ← q + 1 salta all'Inizio Ripetizione Condizionata Fine Ripetizione Condizionata Fine Algoritmo ``` 14 ÷ 4: (q, r) = (0,14) → (1,10) → (2,6) → (3,2) → q = 3, r = 2. Con n = 0 non termina (divisione per zero). Invariante: `m = q × n + r`. **5. Potenza (medio → difficile).** (a) `p = mⁿ` con moltiplicazione disponibile: `p ← 1` (elemento neutro del prodotto), ciclo n volte `p ← p × m`. (b) Solo somme (m ≥ 0): sostituire `p ← p × m` con un ciclo interno che somma `p` per `m` volte (`s ← 0, j ← 0; finché j ≠ m: s ← s + p, j ← j + 1; p ← s`) → cicli annidati, secondo contatore e secondo accumulatore azzerati a ogni giro esterno. **6. Somma 1 + 2 + … + n (medio).** `s ← 0, i ← 0; finché i ≠ n: i ← i + 1, s ← s + i`. Con n = 4 → 10. Invertendo le due istruzioni si somma 0 + 1 + … + (n−1): errore "di uno". **7. Diagramma di flusso (base).** Per l'esercizio 4: Inizio → [q ← 0, r ← m] → ◇ r < n ? — SÌ → Fine (salto condizionato); NO → [r ← r − n, q ← q + 1] → torna al rombo (salto non condizionato). **8. Meno addizioni (difficile).** Con m, n ≥ 0 fare min(m, n) addizioni: se n > m scambiare m e n prima del ciclo, con variabile d'appoggio (`t ← m; m ← n; n ← t`). `m ← n; n ← m` non funziona: entrambe diventano il vecchio n. ## §16 Domande di ripasso (con risposta breve) 1. *Cos'è un algoritmo?* → Insieme ordinato di operazioni non ambigue ed effettivamente computabili che produce un risultato e termina in tempo finito. 2. *Cosa intende la frase sui telescopi?* → L'informatica studia gli algoritmi; il computer è lo strumento. Quattro aspetti: proprietà formali, realizzazione fisica, realizzazione linguistica, applicazioni. 3. *Origine della parola?* → al-Khwārizmī (circa 800), libro sui calcoli con i numerali indiani. 4. *"Tutto è numero"?* → Ogni informazione è codificata in bit; un programma imperativo trasforma valori numerici dello stato. 5. *Programmazione imperativa?* → Sequenza ordinata di istruzioni, una per riga, esecuzione sequenziale salvo salti; istruzioni: assegna, somma, confronta, salta. 6. *Cosa definire per progettare un algoritmo?* → Input, output, passi (operazioni disponibili), terminazione. 7. *Perché s parte da 0?* → Elemento neutro: n addizioni tutte uguali, caso n = 0 gestito da solo. 8. *Accumulatore vs contatore?* → Somma parziale (foglio) vs numero di addizioni fatte (dita). 9. *Programma = Algoritmi + Strutture Dati?* → Wirth: dati + procedure che li trasformano. 10. *Perché V2 è sbagliata?* → Controlla dopo aver eseguito: con n = 0 non termina. Principio: prima verificare, poi eseguire. 11. *Salto condizionato vs non condizionato?* → V6 riga 3 → 7 solo se i = n (nel diagramma: uscita SÌ del rombo); riga 6 → 3 sempre (freccia di ritorno). 12. *Perché "termina" è troppo forte?* → La moltiplicazione può essere parte di un algoritmo più grande: si salta alla Fine del blocco. 13. *Inizio/Fine e indentazione?* → Delimitano blocchi annidabili; eliminano i numeri di riga; l'indentazione mostra la gerarchia. 14. *Flow-chart vs strutturata?* → Il flow-chart mostra il flusso di controllo ma non l'annidamento. 15. *Basso vs alto livello?* → Macchina/assembly vs FORTRAN, C, Java, Python. 16. *Prog I vs Algoritmi?* → Prog I: implementare/tradurre in C algoritmi dati; Algoritmi: analizzare e progettare nuovi algoritmi. ## §17 Glossario Algoritmo · Input/Output · Istruzione · Variabile · Stato · Assegnamento (`←`, in C `=`) · Confronto (`=`, in C `==`) · Accumulatore · Contatore · Elemento neutro (0 somma, 1 prodotto) · Terminazione · Caso iniziale/limite · Salto condizionato · Salto non condizionato · Blocco · Indentazione (rientro) · Programmazione strutturata · Diagramma di flusso · Programma · Linguaggio di programmazione · Basso/alto livello · Implementare · Macchina di Von Neumann. ## Collegamenti - Lezione successiva prevista: architettura del calcolatore / macchina di Von Neumann, programmazione strutturata e linguaggio C (sequenza canale B 2025/26). - Fili conduttori: caso iniziale → sentinelle e casi vuoti; programmazione strutturata → regole d'esame; invariante → correttezza; traccia → modello della memoria. --- > File: `contesto_ai/PROG1/lezioni/01B_architettura.md` ```yaml corso: PROG1 lezione: 01B titolo: Architettura del calcolatore data: 2026-09-29 docenti: Elvio Amparore sopratitolo: Programmazione I · Teoria · Canale B · Lezione 01B descrizione: >- Appunti della lezione 01B di Programmazione I (canale B): storia del calcolo automatico, calcolatori cablati e programmabili, Babbage, Turing, ENIAC ed EDVAC, bit e byte, architettura di Von Neumann, modello della memoria, funzionamento della CPU, con esercizi e domande di ripasso. lede: >- Dall'abaco alla macchina di Von Neumann: perché un calcolatore diventa «programmabile», che cosa cambia con il programma memorizzato dell'EDVAC, come si rappresentano le informazioni con i bit, com'è fatta la memoria vista dalla CPU e come la CPU esegue un'istruzione dopo l'altra con il program counter. È il modello di macchina su cui si appoggia tutto il corso. materiale: slide scheda: Slide: 01B_architettura · 19 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 45–60 minuti fonte: >- Slide «Storia e principi del calcolo automatico» (01B_architettura), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/01B_architettura.html genera_html: true ``` ## In breve - I primi strumenti (abaco, Pascalina) **aiutano** a calcolare, ma la logica la mette chi li usa. I **calcolatori cablati** sanno fare solo le operazioni costruite nel loro hardware. - L'idea decisiva è separare **che cosa** la macchina sa fare (poche operazioni elementari) dall'**ordine** in cui farle, e scrivere quest'ordine con dei **numeri**: nasce il **calcolatore programmabile**. - Babbage (macchina analitica, circa 1840) e Turing (macchina universale, 1936) sono le tappe teoriche; ENIAC (1943–46) è il primo computer *general purpose*, ma si programma spostando cavi. - Con l'**EDVAC** arrivano tre idee che usiamo ancora: **programma memorizzato** in memoria, **stessa memoria** per istruzioni e dati, numeri in **binario**. - Un **bit** vale 0 o 1; con $N$ bit si distinguono $2^N$ informazioni; 8 bit formano un **byte** (256 valori). - **Architettura di Von Neumann**: CPU (unità di controllo, ALU, registri), memoria principale (RAM) con programma e dati, memoria secondaria, tutto collegato dal **bus di sistema**. - La memoria è una fila di byte, ognuno con il suo **indirizzo**; i numeri stanno in **parole** (per esempio da 32 bit, cioè 4 byte). - La CPU **preleva** un'istruzione, la **decodifica**, la **esegue**; il **program counter** (PC) dice dove sta la prossima, l'**instruction register** (IR) contiene quella in corso. Stesso programma e stesso stato iniziale danno sempre lo stesso risultato. > [!CANALI] Sei del canale A o C? > **Canale A (Fiandrotti):** il deck «Architettura del computer» (18 slide) è praticamente identico a questo: stessi titoli e stessi contenuti, dall'abaco al funzionamento della CPU. > > **Canale C (Mazzei):** gli stessi argomenti sono nella lezione 01 «Introduzione» (slide 43–66). In più ci sono due slide sulla **macchina di Turing** (universale perché calcola tutte le funzioni calcolabili; esistono problemi che nessun algoritmo risolve), una tabella dei multipli del byte e l'elenco delle istruzioni della CPU (LOAD, STORE, ADD, CMP, JMP, JEQ…), che nel canale B arrivano nella lezione 02A. > > L'esame è unico per i tre canali. ## Dal calcolo a mano alle prime macchine (slide 2–5) La slide 2 mette in fila le tappe principali su una linea del tempo. Eccole in una tabella: | Quando | Che cosa | |---|---| | 30000–20000 a.C. | ossa intagliate per contare | | 3500 a.C. | gettoni di argilla per la contabilità (Mesopotamia) | | 595 d.C. | numerazione posizionale (le cifre che usiamo oggi) | | 780–840 d.C. | al-Khwārizmī, da cui viene la parola «algoritmo» (lezione 01A) | | 1652 | Pascal: la Pascalina | | 1673 | Leibniz: una macchina che sa anche moltiplicare | | 1822 e 1837 | Babbage: *Difference Engine* e *Analytical Engine* | | 1936 | Turing: la macchina universale | | 1945 | l'architettura di Von Neumann | | 1946 | ENIAC | | 1975 | il personal computer | | 1984 | Apple Macintosh | | 1990 | info.cern.ch, il primo sito web | ### L'abaco (slide 3) È la prima «macchina» di calcolo conosciuta, dall'antichità. Ma attenzione a che cosa fa davvero: **tiene traccia di quanto è già stato fatto** (le palline spostate ricordano i numeri parziali). La **logica** dell'operazione e la sua **correttezza** dipendono interamente da chi lo usa: se sposti la pallina sbagliata, l'abaco non se ne accorge. ### La Pascalina (slide 4) Inventata dal matematico francese Blaise Pascal nel 1642 (sulla linea del tempo compare il 1652, anno di uno degli esemplari successivi). È fatta di ingranaggi: su ognuno sono scritte le cifre da 0 a 9. Funziona come un abaco, con una differenza importante: il **riporto** dell'addizione lo fa **la macchina**, con una leva tra un ingranaggio e il successivo. Quando le unità passano da 9 a 0, la leva fa avanzare di un passo l'ingranaggio delle decine. Per la prima volta un pezzo di logica (il riporto) sta dentro la macchina. ### I calcolatori cablati (slide 5) Le prime macchine erano **cablate** (in inglese *hardwired*): - sapevano fare un insieme **limitato** di operazioni specifiche, di solito addizione e sottrazione; - la **logica di funzionamento era costruita nell'hardware**: i collegamenti fisici decidevano che cosa faceva la macchina; - per aggiungere una funzione nuova, come un **confronto** o un **salto condizionato**, bisognava **modificare o riprogettare l'hardware**; - operazioni più complesse come moltiplicazione e divisione erano difficili da realizzare con le tecnologie dell'epoca. > [!IDEA] · un'immagine > Una macchina cablata è come un frullatore: fa bene una cosa sola, quella per cui è stata costruita. Se vuoi che faccia altro, devi smontarla e ricostruirla. ## L'idea decisiva: il calcolatore programmabile (slide 6–8) La slide 6 contiene l'idea più importante della lezione. Invece di costruire una macchina diversa per ogni compito: 1. si sceglie un **insieme base di operazioni elementari**, per esempio addizione e confronto, che l'hardware sa fare direttamente; 2. si **combinano** queste operazioni, anche **ripetendole**, per ottenere operazioni più complesse, come la moltiplicazione; 3. l'**ordine** delle operazioni, il **numero di ripetizioni** e i loro **argomenti** si possono **codificare con numeri interi**; 4. quindi il comportamento della macchina si descrive con **dati numerici** che dicono quali operazioni eseguire. > [!DEF] Calcolatore programmabile · slide 6 > La **stessa macchina** può eseguire **compiti diversi** cambiando la **sequenza di istruzioni**, senza modificarne l'hardware. È esattamente ciò che hai fatto nella lezione 01A: la macchina sapeva solo sommare, assegnare e confrontare, e la moltiplicazione l'hai ottenuta **combinando e ripetendo** somme. Il programma (le righe [1]–[8] della versione V6) dice alla macchina in che ordine fare le operazioni. ### La macchina analitica di Babbage (slide 7) Descritta da **Charles Babbage** intorno al 1840, è il **primo esempio di macchina di calcolo programmabile**: - dati e istruzioni erano memorizzati su **schede perforate** (cartoncini con i buchi, come quelli dei telai tessili); - il suo linguaggio era simile all'**assembly** (lo vedrai nella lezione 02A), **salti condizionati compresi**; - a posteriori sappiamo che era **Turing-completa**: in linea di principio poteva calcolare tutto ciò che è calcolabile. Non fu mai costruita per intero: la meccanica dell'epoca non bastava. > [!OLTRE] · il primo programma > Per la macchina analitica **Ada Lovelace** scrisse nel 1843 un procedimento per calcolare i numeri di Bernoulli: è considerato il primo programma della storia, scritto per una macchina che ancora non esisteva. ### Alan Turing (slide 8) **Alan Turing**, matematico inglese, è considerato l'inventore della **teoria della calcolabilità** (e, secondo alcuni, dell'informatica). - Nel **1936** introduce la **macchina universale**: un **modello astratto** di calcolatore, cioè una macchina immaginaria descritta con precisione matematica. - Turing la usa per studiare **quali funzioni si possono calcolare in modo automatico**, cioè con un algoritmo. - Diversi tentativi di costruire davvero un calcolatore **Turing-completo** si scontrano con i limiti tecnologici dell'epoca. > [!OLTRE] · Turing-completo, in parole > Un sistema è **Turing-completo** se può calcolare tutto quello che calcola una macchina universale di Turing. Il C, come quasi tutti i linguaggi di programmazione, lo è: in teoria qualsiasi cosa calcolabile si può scrivere in C (con memoria sufficiente). ## ENIAC ed EDVAC (slide 9–10) ### ENIAC (slide 9) L'**Electronic Numerical Integrator and Computer** fu progettato nel 1943 da John Mauchly e J. Presper Eckert (nella slide «John Adam Presper»: il nome completo è John Adam Presper Eckert Jr.) e presentato nel 1946. - È il **primo computer *general purpose***: non fatto per un solo compito, ma adattabile a problemi diversi. - Rappresentava i numeri in **decimale**. - Le operazioni erano svolte da diversi **blocchi funzionali**. - Per **programmarlo** bisognava **configurare interruttori e collegare i blocchi con dei cavi**. - Quindi **cambiare programma** richiedeva una **riconfigurazione manuale complessa**, che poteva richiedere giorni. La foto della slide 2 mostra quattro programmatrici con schede di ENIAC, EDVAC, ORDVAC e BRLESC. ### EDVAC (slide 10) L'**Electronic Discrete Variable Automatic Calculator** fu progettato nel 1944 dagli stessi autori di ENIAC. Introduce tre idee fondamentali: 1. **programma memorizzato** nella memoria centrale; 2. **memoria unificata** per istruzioni e dati; 3. **rappresentazione binaria** dei numeri. La conseguenza è enorme: il programma **non si realizza più ricollegando fisicamente la macchina**, ma **si memorizza e si modifica come un dato**. Cambiare programma diventa come cambiare un numero in memoria. | | ENIAC | EDVAC | |---|---|---| | Numeri | decimali | binari | | Programma | cavi e interruttori | in memoria, come un dato | | Istruzioni e dati | separati | nella stessa memoria | | Cambiare programma | riconfigurazione manuale | si carica un altro programma | > [!ESAME] Perché ti interessa > «Programma e dati nella stessa memoria» è la base di tutto il corso: una variabile C sta in memoria a un certo **indirizzo**, e le domande d'esame sullo **stato della memoria** ti chiedono proprio di seguire come cambiano quei valori, istruzione dopo istruzione. ## Il bit e il byte (slide 11–12) ### Perché il binario (slide 11) L'elemento base dell'informazione è il **bit**; la slide lo spiega come *Binary Information Token*. Un bit può stare in **due stati soltanto**: acceso/spento, vero/falso, sì/no, 1/0. Due stati sono facili da costruire con dispositivi fisici diversi: **relè**, **valvole**, **transistor**. Basta distinguere «passa corrente» da «non passa corrente». Per questo i calcolatori moderni usano il binario, invece della rappresentazione decimale dei primi calcolatori fino a ENIAC (distinguere dieci livelli diversi è molto più fragile che distinguerne due). > [!OLTRE] · il nome > La spiegazione più diffusa del nome «bit» è *binary digit*, cioè **cifra binaria**. ### Quante informazioni con N bit (slide 12) Combinando più bit si rappresentano più informazioni. Ogni bit in più **raddoppia** le possibilità, perché ogni combinazione vecchia si può continuare con uno 0 o con un 1. | Bit | Combinazioni possibili | Quante | |---|---|---| | 1 | 0, 1 | $2^1 = 2$ | | 2 | 00, 01, 10, 11 | $2^2 = 4$ | | 3 | 000, 001, 010, 011, 100, 101, 110, 111 | $2^3 = 8$ | | 4 | da 0000 a 1111 | $2^4 = 16$ | | 8 | da 00000000 a 11111111 | $2^8 = 256$ | | $N$ | | $2^N$ | > [!DEF] Bit e byte · slide 12 > Con $N$ bit si rappresentano $2^N$ informazioni. Un gruppo di **8 bit** si chiama **byte** e rappresenta $2^8 = 256$ informazioni. Simboli: **b** per il bit, **B** per il byte. Per esempio con un byte puoi contare da 0 a 255: sono 256 numeri, perché lo 0 conta. > [!OLTRE] · da binario a decimale > In binario ogni posizione vale il doppio di quella alla sua destra: da destra verso sinistra 1, 2, 4, 8, 16, 32, 64, 128. Per leggere un byte sommi i valori delle posizioni dove c'è un 1: > $$00001100_2 = 8 + 4 = 12, \qquad 11111111_2 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255.$$ > Lo rivedrai quando in C parlerai di tipi e di limiti dei numeri (laboratorio 02). > [!TRAPPOLA] Bit e byte, b e B > 1 B = 8 b. Una connessione da «100 Mb/s» trasferisce 100 milioni di **bit** al secondo, cioè 12,5 milioni di **byte** al secondo. ## L'architettura di Von Neumann (slide 13–15) ### Com'era fatto l'EDVAC (slide 13) - Una **memoria primaria** di 1024 **parole** da 44 bit: $1024 \cdot 44 = 45\,056$ bit, cioè $5632$ byte, circa **5,5 KB**. - Uno **storage secondario** a nastro magnetico, per leggere e scrivere. - Una **CPU** (*Central Processing Unit*, unità centrale di elaborazione), composta a sua volta da: - un'**unità di controllo**, che pilota i componenti della CPU e il bus di sistema; - una **ALU**, che esegue operazioni aritmetiche e logiche sui registri (la slide la chiama *Algebraic Logic Unit*; di solito si dice *Arithmetic Logic Unit*, **unità aritmetico-logica**); - i **registri**, piccole celle di memoria dentro la CPU, che contengono dati dell'utente oppure informazioni di stato e di controllo della macchina. - Tutto è collegato dal **bus di sistema**, il «canale» su cui viaggiano dati e indirizzi. ```grafico titolo: Lo schema delle slide 13–15: la CPU, la memoria principale e quella secondaria, collegate dal bus di sistema assi: no griglia: no x: 0 12 y: 0 8 poligono: 0.3 0.4 6 0.4 6 7.6 0.3 7.6 | blu testo: 3.15 7.2 | blu | "CPU" poligono: 0.7 5.3 5.6 5.3 5.6 6.7 0.7 6.7 | accento testo: 3.15 6 | "Unità di controllo" poligono: 0.7 3.4 5.6 3.4 5.6 4.8 0.7 4.8 | ambra testo: 3.15 4.1 | "ALU" poligono: 0.7 0.8 5.6 0.8 5.6 2.9 0.7 2.9 | viola testo: 3.15 2.45 | "Registri" testo: 3.15 1.45 | "R0 R1 IR PC SP SR" segmento: 7.1 0.8 7.1 7.2 | grigio | spesso testo: 7.1 7.55 | grigio | "bus" segmento: 6 4 7.1 4 | grigio | spesso poligono: 7.9 4.5 11.7 4.5 11.7 7 7.9 7 | verde testo: 9.8 6.1 | "RAM" testo: 9.8 5.3 | "programma e dati" segmento: 7.1 5.75 7.9 5.75 | grigio | spesso poligono: 7.9 1 11.7 1 11.7 3.5 7.9 3.5 | grigio testo: 9.8 2.6 | "Disco" testo: 9.8 1.8 | "memoria secondaria" segmento: 7.1 2.25 7.9 2.25 | grigio | spesso ``` ### Perché si chiama «di Von Neumann» (slide 14) **John von Neumann**, matematico e consulente del progetto EDVAC, fu il **primo a descrivere e pubblicare** questa architettura, nel 1945. Da qui il nome usato ancora oggi, «architettura di Von Neumann»; la slide nota che sarebbe più corretto dire «**architettura EDVAC**», perché l'idea nacque nel gruppo di lavoro dell'EDVAC. ### I principi (slide 15) > [!DEF] Architettura di Von Neumann · slide 15 > - **Dati e istruzioni** sono memorizzati nella **stessa memoria principale** (RAM). > - Una **CPU** esegue operazioni sui dati in memoria e **salva il risultato in memoria**. > - CPU, memoria primaria e storage secondario sono **connessi tramite un bus di sistema**. > - La macchina **modifica l'area dati** della memoria seguendo le istruzioni del programma e secondo i dati di input. Quasi tutti i computer di oggi, dal telefono al portatile, seguono ancora questo schema. > [!OLTRE] · RAM e disco > La **RAM** (memoria principale) è veloce ma si cancella quando spegni il computer; il **disco** (memoria secondaria) è più lento ma conserva i dati. Per questo un programma sta su disco finché non lo lanci, e viene copiato in RAM per essere eseguito (slide 18). ## Un primo modello della memoria (slide 16–17) ### Una fila di byte con un indirizzo (slide 16) La CPU vede la memoria come una **lunga fila di byte**: - ogni byte può contenere un **piccolo valore numerico** (da 0 a 255); - per raggiungere un singolo byte, ognuno ha un numero che lo identifica: il suo **indirizzo**, come il numero civico di una casa; - il **byte è l'unità base di indirizzamento**: ogni indirizzo indica un byte. Nell'esempio della slide la memoria ha 1024 byte, con indirizzi da **0 a 1023**: i primi 256 per il **programma**, gli altri 768 per i **dati**. > [!TRAPPOLA] Si comincia da zero > Con 1024 byte gli indirizzi vanno da 0 a **1023**, non fino a 1024. È lo stesso schema degli array in C, dove il primo elemento ha indice 0. ### Le parole (slide 17) Un solo byte (al massimo 255) di solito **non basta** per i numeri dei calcoli di tutti i giorni. Per questo la memoria è organizzata in **parole** (*words*) di 16, 32 o 64 bit, a seconda dell'architettura. È una scelta di **efficienza**: per il processore è più veloce e naturale lavorare su una parola intera che su un byte alla volta. Nell'esempio della slide le parole sono da **32 bit = 4 byte**: | Zona | Indirizzi | Byte | Parole da 32 bit | |---|---|---|---| | Programma | 0–255 | 256 | $256 : 4 = 64$ | | Dati | 256–1023 | 768 | $768 : 4 = 192$ | | Tutta la memoria | 0–1023 | 1024 | 256 | Una parola da 4 byte occupa quattro indirizzi consecutivi e si indica con l'indirizzo del suo **primo** byte: la prima parola dei dati sta agli indirizzi 256, 257, 258, 259 e si chiama «parola all'indirizzo 256»; la successiva è all'indirizzo 260, poi 264, e così via, di 4 in 4. > [!ESAME] Da qui ai puntatori > Nella settimana 2 (lezione «referenziamento, input e puntatori in C») scoprirai che in C puoi chiedere l'**indirizzo** di una variabile. È proprio questo numero: il «numero civico» del primo byte in cui la variabile è memorizzata. ## Come funziona la macchina (slide 18–19) ### Dal disco all'esecuzione (slide 18) 1. Un **programma di controllo** (un tempo chiamato *monitor*, oggi **sistema operativo**) **carica** programma e dati dalla memoria secondaria nella memoria principale, in posizioni precise identificate da **indirizzi**. 2. La CPU esegue, **una dopo l'altra**, le **istruzioni macchina** del programma. Ogni istruzione può leggere o modificare dati, e così **trasforma progressivamente lo stato della macchina** (i valori in memoria e nei registri). 3. Alla fine il **risultato** del programma è nello **stato finale della memoria**, per esempio in una posizione di memoria nota. 4. Fissati il programma e lo stato iniziale, l'esecuzione produce **sempre lo stesso stato finale**: il comportamento della macchina è **deterministico**. > [!IDEA] · lo stato > Lo **stato** è la «fotografia» di tutti i valori in memoria e nei registri in un certo istante. Eseguire un programma vuol dire passare da una fotografia alla successiva, un'istruzione alla volta: è la stessa **traccia** che hai fatto a mano nella lezione 01A, con le colonne $s$ e $i$. ### Dentro la CPU (slide 19) - L'**unità di controllo** **preleva** dalla memoria e **decodifica** un'istruzione alla volta. - A seconda dell'istruzione, **attiva** le parti giuste della **ALU** per svolgere le operazioni elementari. - La **ALU** esegue operazioni semplici fra i **registri** della CPU: addizioni, confronti. - Tra i registri c'è il **program counter** (**PC**), che contiene l'**indirizzo della prossima istruzione**. Di solito il PC viene **incrementato**, per passare all'istruzione successiva; oppure viene **modificato** per fare un **salto**, condizionato o no. - Un altro registro importante è l'**instruction register** (**IR**): contiene l'**istruzione in esecuzione**, appena caricata dalla memoria. > [!METODO] · il ciclo della CPU, da ricordare > 1. **Prelievo** (*fetch*): l'unità di controllo legge l'istruzione all'indirizzo scritto nel PC e la copia nell'IR. > 2. **Decodifica** (*decode*): capisce che cosa chiede l'istruzione. > 3. **Esecuzione** (*execute*): la ALU fa l'operazione sui registri, oppure si leggono o scrivono dati in memoria. > 4. Il PC passa all'istruzione successiva, oppure salta dove dice l'istruzione. Si ricomincia dal punto 1. Il «**salta alla riga 3**» della versione V6 della lezione 01A, per la macchina, vuol dire proprio: **scrivi nel PC l'indirizzo della riga 3**. Nella lezione 02A vedrai questo ciclo all'opera, istruzione per istruzione, con un simulatore. > [!OLTRE] · SP e SR > Nello schema compaiono anche due registri che le slide non spiegano ancora. **SP** (*stack pointer*) indica la cima della **pila** (*stack*): servirà per le chiamate di funzione e il modello della memoria a «stack di frame». **SR** (*status register*, registro di stato) conserva informazioni sull'ultima operazione, per esempio l'esito di un **confronto**: un salto condizionato legge proprio lì se la condizione è vera. ## Verso l'esame Questa lezione è di cultura generale e di vocabolario: all'esame di Programmazione I (al PC, su Moodle con CodeRunner, unico per i canali A, B e C) nessuno ti chiederà in che anno è nato l'EDVAC. Ma le idee della lezione tornano in molti punti: | Idea della lezione | Dove ritorna | |---|---| | memoria come fila di byte con indirizzi | variabili, indirizzi e puntatori (settimana 2), array (indice che parte da 0) | | stato della macchina che cambia istruzione dopo istruzione | esercizi d'esame sullo **stato della memoria** (esecuzione simulata a mano) | | programma memorizzato, istruzioni in sequenza, PC e salti | cicli `while` e `for`, e perché le regole d'esame vietano `break` (lezione 01A) | | $N$ bit → $2^N$ valori | tipi del C e loro limiti (laboratorio 02 «operatori e tipi, cast, limiti») | | determinismo | stesso input, stesso output: i test automatici dell'esame si basano su questo | > [!ESAME] Cosa fare già da questa settimana > - Il laboratorio parte il 5/10 (turno 2, matricola pari, lunedì 14–17) e il 6/10 (turno 1, matricola dispari, martedì 14–17), al laboratorio Turing: il primo laboratorio è su riga di comando e compilatore (vedi la lezione 02A). > - Ripassa la traccia a mano della lezione 01A: è la stessa abilità che servirà per lo stato della memoria. ## Esercizi ::: esercizio base Quante informazioni con N bit Quante informazioni diverse si rappresentano con 1, 4, 10, 16 e 32 bit? ::: soluzione Con $N$ bit ci sono $2^N$ combinazioni: | Bit | Informazioni | |---|---| | 1 | $2^1 = 2$ | | 4 | $2^4 = 16$ | | 10 | $2^{10} = 1024$ | | 16 | $2^{16} = 65\,536$ | | 32 | $2^{32} = 4\,294\,967\,296$ (circa 4,3 miliardi) | Il 1024 di 10 bit spiega perché «1 KB» a volte vale 1024 byte invece di 1000. ::: ::: esercizio base Quanti bit servono Quanti bit servono al minimo per dare un codice diverso a: (a) le 26 lettere minuscole; (b) 100 colori; (c) 1000 studenti? ::: soluzione Cerco la **più piccola** potenza di 2 che sia almeno grande quanto il numero di oggetti. (a) $2^4 = 16 < 26 \le 32 = 2^5$: servono **5 bit**. (b) $2^6 = 64 < 100 \le 128 = 2^7$: servono **7 bit**. (c) $2^9 = 512 < 1000 \le 1024 = 2^{10}$: servono **10 bit**. Con un bit in meno le combinazioni non bastano; con uno in più ne avanzano, ma è uno spreco. ::: ::: esercizio base La memoria dell'EDVAC L'EDVAC aveva 1024 parole da 44 bit. Quanti bit sono in tutto? Quanti byte? Quanti KB, con 1 KB = 1024 byte? ::: soluzione - Bit: $1024 \cdot 44 = 45\,056$. - Byte: $45\,056 : 8 = 5632$. - KB: $5632 : 1024 = 5{,}5$. Sono i «circa 5,5 KB» della slide 13. Un telefono di oggi ha qualche miliardo di byte di RAM. ::: ::: esercizio medio Indirizzi e parole Nel modello della slide 17 (programma agli indirizzi 0–255, dati agli indirizzi 256–1023, parole da 32 bit): (a) a che indirizzo comincia la parola numero $k$ dell'area dati, contando da $k = 0$? (b) E la decima parola dei dati? (c) In quale parola dell'area dati si trova il byte 1000? ::: soluzione (a) Ogni parola occupa 4 byte e i dati cominciano a 256, quindi la parola $k$ comincia a $256 + 4k$. (b) La decima parola ha $k = 9$ (si parte da 0): $256 + 4 \cdot 9 = 256 + 36 = 292$. Occupa i byte 292, 293, 294, 295. (c) Risolvo $256 + 4k \le 1000 < 256 + 4(k + 1)$: $1000 - 256 = 744$ e $744 : 4 = 186$ esatto. Quindi il byte 1000 è il **primo** byte della parola $k = 186$ (byte 1000–1003). ::: ::: esercizio medio Cablato o programmabile? Per ciascuno, di' se è uno strumento in cui la logica la mette l'utente, una macchina cablata o una macchina programmabile, e perché: abaco; Pascalina; ENIAC; EDVAC; il tuo computer. ::: soluzione - **Abaco**: la logica e la correttezza dipendono interamente dall'utente; l'abaco tiene solo traccia dei numeri. - **Pascalina**: macchina **cablata**: fa addizioni (con il riporto automatico) e basta. - **ENIAC**: **programmabile**, ma il programma si realizza ricollegando cavi e interruttori. - **EDVAC**: programmabile con **programma memorizzato**: il programma sta in memoria come un dato. - **Il tuo computer**: architettura di Von Neumann, come l'EDVAC: esegue qualsiasi programma tu gli carichi in memoria. ::: ::: esercizio medio Il PC durante la versione V6 Riprendi la versione V6 della moltiplicazione (lezione 01A, righe [1]–[8]) e immagina che ogni riga sia un'istruzione da 4 byte, con la riga 1 all'indirizzo 0. Scrivi la sequenza dei valori del PC eseguendo l'algoritmo con $n = 1$. ::: soluzione La riga $r$ sta all'indirizzo $4(r - 1)$: riga 1 → 0, riga 2 → 4, riga 3 → 8, riga 4 → 12, riga 5 → 16, riga 6 → 20, riga 7 → 24, riga 8 → 28. Con $n = 1$ le righe eseguite sono: 1, 2, 3 (controllo: $0 = 1$? no), 4, 5, 6 (salta a 3), 3 (controllo: $1 = 1$? sì, salta a 7), 7, 8. Valori del PC: **0, 4, 8, 12, 16, 20, 8, 24, 28**. Il PC non cresce sempre di 4: dopo la riga 6 **torna** a 8 (salto non condizionato), dopo il secondo controllo **salta** a 24 (salto condizionato). ::: ::: esercizio base Da binario a decimale Converti in decimale i byte $00000101$, $00001100$, $10000000$ e $11111111$. ::: soluzione Valori delle posizioni da destra a sinistra: 1, 2, 4, 8, 16, 32, 64, 128. - $00000101 = 4 + 1 = 5$ - $00001100 = 8 + 4 = 12$ - $10000000 = 128$ - $11111111 = 255$, il valore più grande di un byte (256 valori, da 0 a 255). ::: ::: esercizio difficile Il programma è un dato Spiega con parole tue perché l'idea dell'EDVAC di memorizzare il programma «come un dato» rende possibile un programma che **scrive altri programmi**, come il compilatore che userai dalla prossima lezione. ::: soluzione Se il programma è un insieme di numeri in memoria, allora un altro programma può **produrre quei numeri** come suo risultato, esattamente come produce qualsiasi altro dato. Un compilatore fa proprio questo: legge un testo (il programma in C, che per lui è un dato di input) e scrive in un file le istruzioni macchina corrispondenti (il suo output). Poi il sistema operativo carica quelle istruzioni in memoria e la CPU le esegue. Con ENIAC sarebbe stato impossibile: il programma erano cavi e interruttori, non numeri che un altro programma potesse scrivere. ::: ## Domande di ripasso ::: domanda Che cosa fa davvero un abaco? Che cosa aggiunge la Pascalina? L'abaco tiene traccia dei calcoli già fatti, ma la logica e la correttezza dell'operazione dipendono da chi lo usa. La Pascalina fa il riporto dell'addizione da sola, con una leva tra un ingranaggio e il successivo. ::: ::: domanda Che cos'è un calcolatore cablato e qual è il suo limite? Una macchina la cui logica di funzionamento è costruita nell'hardware: sa fare un insieme limitato di operazioni (tipicamente addizione e sottrazione) e per aggiungere funzioni nuove, come confronti o salti condizionati, bisogna modificare o riprogettare l'hardware. ::: ::: domanda Qual è l'idea che porta al calcolatore programmabile? Separare le operazioni elementari che l'hardware sa fare dall'ordine in cui eseguirle, combinarle e ripeterle per ottenere operazioni complesse, e codificare ordine, ripetizioni e argomenti con numeri. Così la stessa macchina fa compiti diversi cambiando la sequenza di istruzioni, senza toccare l'hardware. ::: ::: domanda Che cosa hanno fatto Babbage e Turing? Babbage descrisse intorno al 1840 la macchina analitica, primo esempio di macchina programmabile, con dati e istruzioni su schede perforate e salti condizionati. Turing nel 1936 introdusse la macchina universale, un modello astratto di calcolatore usato per studiare quali funzioni si possono calcolare in modo automatico. ::: ::: domanda Come si programmava l'ENIAC e che cosa cambia con l'EDVAC? L'ENIAC si programmava configurando interruttori e collegando blocchi con dei cavi: cambiare programma era una riconfigurazione manuale. L'EDVAC introduce il programma memorizzato nella memoria centrale, la memoria unificata per istruzioni e dati e la rappresentazione binaria: il programma si memorizza e si modifica come un dato. ::: ::: domanda Perché i calcolatori usano il binario? Perché un bit ha solo due stati (acceso/spento, 1/0), facili da realizzare con relè, valvole o transistor; distinguere due livelli è molto più semplice e affidabile che distinguerne dieci. ::: ::: domanda Quante informazioni si rappresentano con N bit? Che cos'è un byte? $2^N$. Un byte è un gruppo di 8 bit e rappresenta $2^8 = 256$ informazioni, per esempio i numeri da 0 a 255. ::: ::: domanda Quali sono i componenti dell'architettura di Von Neumann? La CPU (unità di controllo, ALU e registri), la memoria principale (RAM) che contiene sia i dati sia le istruzioni, la memoria secondaria (storage), tutte collegate dal bus di sistema. ::: ::: domanda Perché si dice «di Von Neumann» e quale nome sarebbe più corretto? Perché John von Neumann, consulente del progetto, fu il primo a descriverla e pubblicarla nel 1945. Sarebbe più corretto dire «architettura EDVAC». ::: ::: domanda Come vede la memoria la CPU? Che cos'è una parola? Come una sequenza di byte, ognuno con un indirizzo; il byte è l'unità base di indirizzamento. Una parola è un gruppo di byte (16, 32 o 64 bit) su cui il processore lavora in un colpo solo, perché un byte da solo non basta per i numeri dei calcoli. ::: ::: domanda Che cosa fanno il program counter e l'instruction register? Il PC contiene l'indirizzo della prossima istruzione: di solito viene incrementato, oppure modificato per fare un salto. L'IR contiene l'istruzione in esecuzione, appena caricata dalla memoria. ::: ::: domanda Che cosa vuol dire che la macchina è deterministica? Che, fissati il programma e lo stato iniziale, l'esecuzione produce sempre lo stesso stato finale. ::: ## Glossario ```glossario Calcolatore cablato | Macchina con la logica di funzionamento costruita nell'hardware (hardwired): fa solo le operazioni previste. Calcolatore programmabile | La stessa macchina esegue compiti diversi cambiando la sequenza di istruzioni, senza modificare l'hardware. Macchina analitica | Macchina programmabile descritta da Babbage intorno al 1840: schede perforate, salti condizionati. Macchina universale | Modello astratto di calcolatore introdotto da Turing nel 1936 per studiare che cosa è calcolabile. Turing-completo | Capace di calcolare tutto ciò che calcola una macchina universale di Turing. ENIAC | Primo computer general purpose (1943–1946): numeri decimali, programmato con cavi e interruttori. EDVAC | Progettato nel 1944: programma memorizzato, memoria unificata per istruzioni e dati, numeri binari. Bit | L'unità minima di informazione: due stati, 0 o 1. Simbolo b. Byte | 8 bit, 256 valori possibili. Simbolo B. È l'unità base di indirizzamento della memoria. Parola (word) | Gruppo di 16, 32 o 64 bit su cui il processore lavora in un colpo solo. Indirizzo | Numero che identifica un byte della memoria. CPU | Unità centrale di elaborazione: unità di controllo, ALU e registri. Unità di controllo | Parte della CPU che preleva e decodifica le istruzioni e pilota gli altri componenti. ALU | Unità aritmetico-logica: fa somme, confronti e altre operazioni elementari sui registri. Registro | Piccola cella di memoria dentro la CPU (R0, R1, PC, IR, SP, SR…). Program counter (PC) | Registro con l'indirizzo della prossima istruzione. Instruction register (IR) | Registro con l'istruzione in esecuzione. Bus di sistema | Collegamento tra CPU, memoria principale e memoria secondaria. RAM | Memoria principale: veloce, contiene programma e dati durante l'esecuzione. Sistema operativo | Il programma di controllo (un tempo «monitor») che carica programmi e dati in memoria. Stato della macchina | L'insieme dei valori in memoria e nei registri in un certo istante. Deterministico | Stesso programma e stesso stato iniziale danno sempre lo stesso stato finale. ``` ## Checklist ```checklist - So spiegare la differenza tra abaco, Pascalina e calcolatore cablato. - So spiegare con parole mie che cos'è un calcolatore programmabile e perché la moltiplicazione della lezione 01A ne è un esempio. - So dire che cosa hanno fatto Babbage e Turing. - So elencare le tre idee dell'EDVAC e perché «il programma è un dato» è così importante. - So quante informazioni rappresentano N bit e che cos'è un byte. - So disegnare lo schema di Von Neumann con CPU (controllo, ALU, registri), RAM, memoria secondaria e bus. - So che cos'è un indirizzo, perché si parte da 0 e che cos'è una parola da 32 bit. - So descrivere il ciclo prelievo, decodifica, esecuzione e il ruolo di PC e IR. - So che cosa vuol dire che la macchina è deterministica. ``` ## Fonti - **Slide della lezione**: «Storia e principi del calcolo automatico. Storia e architettura dei calcolatori dalle macchine cablate alla macchina di Von Neumann» (01B_architettura), Programmazione I – Teoria, canale B, A.A. 2026/27, 19 pagine; il numero di slide è accanto a ogni titolo. - **Canali A e C**: deck «Architettura del computer» del canale A e lezione 01 «Introduzione» del canale C sulle pagine Moodle 2026/27 ([canale A](https://informatica.i-learn.unito.it/course/view.php?id=3701), [canale C](https://informatica.i-learn.unito.it/course/view.php?id=3767)), consultate il 30/09/2026. - **Laboratori e orari**: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). - Le parti **«Oltre le slide»** (Ada Lovelace, Turing-completezza, binario, RAM e disco, SP e SR, ciclo della CPU) e gli esercizi sono aggiunte di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/02A_da_assembly_a_c.md` ```yaml corso: PROG1 lezione: 02A titolo: Dal linguaggio macchina al C data: 2026-09-30 docenti: Elvio Amparore sopratitolo: Programmazione I · Teoria · Canale B · Lezione 02A descrizione: >- Appunti della lezione 02A di Programmazione I (canale B): linguaggio macchina e assembly, addizione e moltiplicazione in assembly con un simulatore della macchina di Von Neumann, FORTRAN e linguaggi di alto livello, storia e caratteristiche del C, il primo programma, printf e sequenze di escape, sintassi, identificatori, compilazione con gcc, errori di compilazione, a runtime e logici. lede: >- Dai bit nei registri al primo programma in C. Prima si programma la macchina di Von Neumann in assembly, istruzione per istruzione, e si capisce perché è faticoso; poi si passa ai linguaggi di alto livello, dal FORTRAN al C. Infine la «radiografia» del primo programma C, le regole di sintassi e il percorso dal file sorgente all'eseguibile con gcc, con i messaggi d'errore veri del compilatore. materiale: slide scheda: Slide: 02A_da_assembly_a_c · 50 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 90–120 minuti fonte: >- Slide «Dal linguaggio macchina al C» (02A_da_assembly_a_c), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/02A_da_assembly_a_c.html genera_html: true ``` ## In breve - Il **linguaggio macchina** è fatto di numeri (sequenze di bit) che il processore esegue direttamente; ogni architettura ha il suo *instruction set*, quindi **non è portabile**. - L'**assembly** scrive le stesse istruzioni con nomi leggibili (`LOAD`, `ADD`, `STORE`…); un programma chiamato **assembler** lo traduce in linguaggio macchina. - Nell'esempio delle slide un'addizione richiede **4 istruzioni** e la moltiplicazione della lezione 01A ne richiede **10**, con `CMP` e i salti `JMPEQ` e `JMP`. - Programmare in assembly è lungo, facile da sbagliare, legato alla CPU: dagli anni '50 nascono i **linguaggi di alto livello**, a partire dal **FORTRAN**, che un **compilatore** traduce per la macchina. - Il **C** nasce nel 1972 (Dennis Ritchie, Bell Labs) per riscrivere Unix: efficiente e **portabile**. È **compilato**, **imperativo**, **strutturato** e **tipizzato**. - Il primo programma: commenti `//`, direttiva `#include `, la funzione `main`, un blocco tra graffe, `printf` con le **sequenze di escape** (`\n`, `\t`, `\\`, `\"`, `\0`); ogni istruzione finisce con `;`. - Si compila con `gcc -Wall -Werror sorgente.c -o eseguibile`: **preprocessore**, **compilatore**, **assemblatore**, **linker**. - Tre tipi di errore: di **compilazione** (sintassi), a **runtime** (per esempio divisione per zero) e **logici** (il programma gira ma fa la cosa sbagliata). > [!CANALI] Sei del canale A o C? > **Canale A (Fiandrotti):** il deck «Dal linguaggio assembly al C» (52 slide) ha gli stessi contenuti. Aggiunge un esempio che carica un solo dato dalla memoria (slide 5) e la stessa moltiplicazione nel linguaggio **BASIC**, scritta con i numeri di riga e i `GOTO`, come esempio di linguaggio **non strutturato** (slide 23). > > **Canale C (Mazzei):** assembly, moltiplicazione in assembly e FORTRAN sono alla fine della lezione 01 «Introduzione» (slide 67–83), con istruzioni leggermente diverse (per esempio `JEQ` al posto di `JMPEQ`). La parte sul C (`main`, `printf`, gcc) è nella lezione 02 «Il C», non ancora pubblicata al 30/09/2026. > > L'esame è unico per i tre canali. ## Linguaggio macchina e assembly (slide 2–4) I primi computer si programmavano direttamente in **linguaggio macchina**, cambiando i bit dei registri con **interruttori** o **schede perforate**. È un po' come l'esecuzione passo per passo che si usa ancora oggi per controllare l'hardware mentre lo si progetta. > [!DEF] Linguaggio macchina · slide 3 > È il linguaggio **direttamente eseguibile dal processore**: > - è fatto di **codici numerici** (sequenze di bit) che identificano istruzioni e operandi; > - ogni architettura definisce il proprio insieme di istruzioni macchina (*instruction set*); > - quindi **dipende dal processore** e **non è portabile** tra architetture diverse. > [!DEF] Linguaggio assembly · slide 3 > È una **rappresentazione testuale e simbolica** del linguaggio macchina: > - usa **mnemonici** come `mov`, `add`, `ldr` al posto dei codici numerici; > - viene tradotto in linguaggio macchina da un programma chiamato **assembler**; > - è più leggibile per chi programma, ma resta **strettamente legato all'architettura** hardware. In pratica ogni riga di assembly corrisponde a **una** istruzione macchina: l'assembler sostituisce ogni nome con il suo codice numerico (slide 4). | Assembly (per le persone) | Linguaggio macchina (per la CPU) | |---|---| | `LOAD, R0, @A` | `0010000110010000` | | `LOAD, R1, @B` | `0010010110010010` | | `ADD, R0, R1` | `0100000100000000` | | `STORE, R0, @A` | `0011000100000000` | > [!TRAPPOLA] Portabile non vuol dire «che funziona ovunque così com'è» > Un programma in linguaggio macchina scritto per una CPU non gira su una CPU con un *instruction set* diverso: va **riscritto**. È il problema che i linguaggi di alto livello risolvono (più avanti in questa lezione). ## L'addizione in assembly, passo per passo (slide 5–14) **Il problema**: sommare due numeri interi che stanno in memoria agli indirizzi $A = 400$ e $B = 404$, e mettere il risultato nella cella all'indirizzo $A$. Il linguaggio è un assembly di tipo RISC, come quello del processore MIPS32. Il programma fa quattro cose: 1. definisce gli indirizzi `A` e `B`; 2. carica i due numeri nei registri `R0` e `R1` della CPU, con due istruzioni `LOAD`; 3. li somma con un'istruzione `ADD` tra i registri `R0` e `R1`; 4. copia il risultato dal registro `R0` all'indirizzo `A` della memoria, con un'istruzione `STORE`. ```text ADDR A = 400 ; definisce l'indirizzo A ADDR B = 404 ; definisce l'indirizzo B LOAD, R0, @A ; carica in R0 il numero all'indirizzo A LOAD, R1, @B ; carica in R1 il numero all'indirizzo B ADD, R0, R1 ; R0 ← R0 + R1 STORE, R0, @A ; copia R0 all'indirizzo A ``` Il simbolo `@A` vuol dire «**il contenuto della memoria all'indirizzo A**», non il numero 400. Le righe `ADDR` non diventano istruzioni: servono solo a dare un nome agli indirizzi. ### Che cosa succede nella macchina (slide 7–14) In memoria il programma occupa i byte 0–15 (4 istruzioni da 4 byte), i dati stanno a 400 (il numero 12) e a 404 (il numero $-8$). Le slide seguono l'esecuzione con due passi per istruzione: prima il **prelievo** («carica la prossima istruzione leggendo il program counter nell'instruction register»), poi l'**esecuzione** («decodifica IR ed esegue l'istruzione elementare»). | Istruzione | PC | IR | R0 | R1 | memoria[400] | |---|--:|---|--:|--:|--:| | (inizio) | 0 | — | — | — | 12 | | `LOAD, R0, @A` | 0 | LOAD | **12** | — | 12 | | `LOAD, R1, @B` | 4 | LOAD | 12 | **−8** | 12 | | `ADD, R0, R1` | 8 | ADD | **4** | −8 | 12 | | `STORE, R0, @A` | 12 | STORE | 4 | −8 | **4** | Il PC avanza di 4 in 4 (0, 4, 8, 12), perché ogni istruzione occupa una parola da 32 bit. Alla fine all'indirizzo 400 non c'è più 12 ma $4 = 12 + (-8)$: il risultato è nello **stato finale della memoria**, come diceva la lezione 01B. ```widget macchina programma: addizione titolo: Simulatore della macchina di Von Neumann: premi «Passo» e guarda PC, IR, registri e memoria ``` > [!IDEA] · perché passare dai registri > La ALU lavora solo sui **registri** (lezione 01B): non sa sommare direttamente due celle di memoria. Per questo servono `LOAD` (memoria → registro), `ADD` (registro + registro) e `STORE` (registro → memoria). ## La moltiplicazione in assembly (slide 15–16) Ora la stessa **moltiplicazione per somme ripetute** della lezione 01A. I numeri stanno agli indirizzi simbolici `m` e `n`; il risultato va all'indirizzo `m`. Si usano l'accumulatore $s$ (nel registro `R0`) e il contatore $i$ (in `R1`). ```text 1. LOAD, R0, 0 // inizializza R0 come accumulatore s 2. LOAD, R1, 0 // inizializza R1 come contatore i 3. LOAD, R2, @m // carica il valore all'indirizzo m in R2 4. LOAD, R3, @n // carica il valore all'indirizzo n in R3 5. CMP R1, R3 // confronta R1 ed R3, cioè i ed n 6. JMPEQ // se i = n salta alla riga 10, altrimenti continua 7. ADD, R0, R2 // R0 ← R0 + R2, cioè s ← s + m 8. INC, R1 // R1 ← R1 + 1, cioè i ← i + 1 9. JMP // salto incondizionato alla riga 5 10. STORE, R0, @m // salva R0, cioè il risultato s, all'indirizzo di m ``` Le istruzioni nuove: | Istruzione | Che cosa fa | |---|---| | `LOAD, R0, 0` | mette nel registro il **numero** 0 (senza `@`: è un valore, non un indirizzo) | | `CMP R1, R3` | **confronta** i due registri; l'esito (uguali o no) resta nella CPU, nel registro di stato | | `JMPEQ ` | **salto condizionato**: salta alla riga 10 solo se l'ultimo confronto ha dato «uguali» (*jump if equal*) | | `INC R1` | aggiunge 1 al registro (*increment*) | | `JMP ` | **salto incondizionato**: salta sempre alla riga 5 | È **esattamente** la versione V6 della lezione 01A, riga per riga: | Lezione 01A, versione V6 | Assembly | |---|---| | `s ← 0, i ← 0` | righe 1–2 | | (i dati $m$, $n$ sono già noti) | righe 3–4: si caricano nei registri | | `se i = n allora salta alla riga 7` | righe 5–6: `CMP` + `JMPEQ` (salto condizionato) | | `s ← s + m` | riga 7: `ADD` | | `i ← i + 1` | riga 8: `INC` | | `salta alla riga 3` | riga 9: `JMP` (salto non condizionato) | | `Fine` | riga 10: il risultato va in memoria | > [!ESAME] Prima verificare, poi eseguire > Anche qui il confronto (riga 5) viene **prima** della somma (riga 7): con $n = 0$ si salta subito alla riga 10 e il risultato è 0. È il principio della lezione 01A, «tipica fonte di errori, anche in sede d'esame». Prova il simulatore con $m = 4$, $n = 3$ e poi con $n = 0$: conta quante volte viene eseguita la riga 5. ```widget macchina programma: moltiplicazione m: 4 n: 3 titolo: La moltiplicazione per somme ripetute, eseguita dalla macchina ``` > [!NOTA] Due piccole differenze nella slide 20 > Nella slide 20 lo stesso programma compare con `ADD, R1, 1` al posto di `INC, R1` (fa la stessa cosa: aggiunge 1) e con `STORE, R0, A` alla riga 10. ## Verso i linguaggi di alto livello (slide 17–22) ### Perché l'assembly non basta (slide 17) - È **faticoso** e **facile sbagliare**: 4 righe per un'addizione, 10 per una moltiplicazione. - Richiede di **conoscere l'architettura della CPU** (registri, istruzioni). - **Non si vede la struttura** del codice né la logica: dove comincia e dove finisce la ripetizione? - Il codice scritto per la CPU X va **riscritto da capo** per la CPU Y, se i linguaggi macchina sono diversi. Per questo, dagli anni '50, si sviluppano **linguaggi di programmazione** con istruzioni di **livello semantico** più vicino al linguaggio **matematico e naturale**, che permettono di **astrarre** il programma dalle caratteristiche dell'hardware. ### Il FORTRAN (slide 18–20) All'inizio degli anni '50 IBM progetta il calcolatore **modello 704** per i calcoli scientifici, con due requisiti: - gli scienziati devono potersi concentrare sulla **programmazione di formule**, ignorando i dettagli della CPU; - i programmi devono potersi **trasportare** sui futuri modelli IBM **senza riscriverli** da capo. Per il 704 nasce il **FORTRAN** (*FORmula TRANslator*): - un **compilatore** traduce ogni istruzione FORTRAN in **una o più** istruzioni assembly della macchina usata; - se cambia la macchina, **basta ricompilare** il programma; - insieme a LISP, ALGOL e COBOL è tra i capostipiti dei **linguaggi di terza generazione**, la famiglia del C originario che studierai in questo corso; - le versioni moderne (FORTRAN 90) hanno costrutti come `if` e `while`. La moltiplicazione in FORTRAN (slide 20): ```text Program Hello INTEGER :: m INTEGER :: n INTEGER :: s INTEGER :: i WRITE(*,*) 'Inserisci m:' READ(*,*) m WRITE(*,*) 'Inserisci n:' READ(*,*) n s = 0 i = 0 do while (i [!OLTRE] · che cosa scrive davvero il compilatore > Ecco la moltiplicazione in C e un pezzo dell'assembly x86-64 che gcc ne ricava con `gcc -S` (compilatore gcc 16.1, senza ottimizzazioni): > > ```c > while (i < n) { > s = s + m; > i = i + 1; > } > ``` > > ```text > jmp .L2 ; salta subito al controllo > .L3: mov eax, DWORD PTR -12[rbp] ; carica m (LOAD) > add DWORD PTR -4[rbp], eax ; s ← s + m (ADD) > add DWORD PTR -8[rbp], 1 ; i ← i + 1 (INC) > .L2: mov eax, DWORD PTR -8[rbp] ; carica i > cmp eax, DWORD PTR -16[rbp] ; confronta i con n (CMP) > jl .L3 ; se i < n torna al corpo (salto condizionato) > ``` > > Le istruzioni hanno nomi diversi, ma l'idea è quella delle slide: caricare, sommare, confrontare, saltare. E il compilatore rispetta «prima verificare, poi eseguire»: la prima istruzione salta al controllo. ## Il linguaggio C: un po' di storia (slide 23–26) - **1969**: Ken Thompson (Bell Labs, AT&T) sviluppa il sistema operativo **Unix** per il minicomputer PDP-7, scritto inizialmente in **assembly**. - L'esperienza mostra che l'assembly rende lo sviluppo di un sistema operativo **oneroso e poco flessibile**. - **Dennis Ritchie** progetta allora il **linguaggio C**, pensato per unire **efficienza** e **portabilità**. - Unix viene riscritto progressivamente in C: si diffonde (a partire dalle università) e influenza in modo decisivo la storia dell'informatica. - **1972**: prima versione del C, per uso interno sui PDP-7 e PDP-11, oggi nota come **K&R C** (dalle iniziali di Kernighan e Ritchie, autori del libro che lo descrisse). - Alla **fine degli anni '80** il C viene **standardizzato** da ANSI e ISO (**ANSI C**, **C89**), per usarlo su hardware molto diversi. - Lo standard è stato aggiornato più volte: **C99, C11, C17, C23**. Il libro di testo del corso fa riferimento al **C11**. Nonostante l'età, il C è ancora centrale: è il linguaggio di riferimento per **sistemi operativi**, **compilatori**, **driver**, **librerie di basso livello**, applicazioni ad **alte prestazioni** e **sistemi embedded/IoT**. Offre un **controllo diretto** su hardware e memoria, restando molto più astratto dell'assembly. ## Le caratteristiche del C (slide 27) | Il C è… | Che cosa vuol dire | Esempio | |---|---|---| | **compilato** | un **compilatore** traduce i sorgenti C nel linguaggio macchina del computer | `gcc` produce un eseguibile | | **imperativo** | il programma è un insieme di **istruzioni**, pensate come ordini | `s = s + m;` è un ordine: «aggiorna s» | | **strutturato** | il codice è organizzato in **blocchi** racchiusi da delimitatori | le graffe `{ … }` (lezione 01A, blocchi Inizio/Fine) | | **fortemente tipizzato** | chi programma deve **specificare il tipo** di ogni variabile | `int s = 0;` dice che `s` è un intero | ## La radiografia del primo programma (slide 28–36) ```c // Un primo programma in C #include // La funzione "main" e' il punto di ingresso del programma int main(void) { printf("Buongiorno dal C.\n"); } // fine della funzione main ``` Compilato con `gcc -Wall -Werror` stampa `Buongiorno dal C.` e va a capo. Vediamolo pezzo per pezzo. ### Commenti (slide 28) Le righe che iniziano con `//` sono **commenti**: non sono istruzioni e il compilatore le **ignora**. Servono a chi legge: un commento prima di una funzione o di un gruppo di istruzioni ne chiarisce lo **scopo** (slide 32). Il codice deve essere comprensibile per un programmatore, non solo per il compilatore. > [!OLTRE] · l'altro tipo di commento > Il C ha anche i commenti su più righe, tra `/*` e `*/`: `/* questo è un commento */`. ### La direttiva `#include` (slide 29) - Le righe che iniziano con `#` sono **direttive per il preprocessore** (argomento che si vedrà poco qui e meglio in Programmazione II). - `#include ` **include** nel programma il file `stdio.h` (*standard input/output header*) e ne importa le definizioni. - I file `.h` si chiamano **file di intestazione** (*header*): contengono le **dichiarazioni** di funzioni, per esempio quelle delle librerie di sistema (`printf()` sta nella libreria C, `libc`). - `stdio.h` dichiara funzioni come `printf()` e `scanf()`. - Nelle slide a volte gli `#include` sono omessi, solo per ragioni di spazio. > [!TRAPPOLA] Senza `#include ` > Se lo dimentichi e usi `printf`, gcc 16 si ferma con un errore: `implicit declaration of function 'printf'`, e ti suggerisce `include ''`. ### La funzione `main` (slide 30–31) - I programmi C sono organizzati in moduli chiamati **funzioni**, che contengono le istruzioni da eseguire. Ogni funzione ha un **input** e un **output**. - La funzione **`main`** è **obbligatoria**: è il punto da cui **comincia l'esecuzione**. - `(void)` vuol dire che `main` riceve un **input vuoto**. - `int` vuol dire che `main` restituisce un **intero**: un codice di successo o di errore per il sistema operativo (nel corso non lo useremo). Il compilatore permette di ometterlo, ma si può scrivere esplicitamente `return 0;` prima della graffa finale. - Per ora tutto il codice va **dentro il `main`**. ### Blocchi e programmazione strutturata (slide 32–33) - Le parentesi **graffe** `{ }` delimitano il **corpo** (*body*) della funzione, cioè un **blocco** di istruzioni. Devono essere **sempre bilanciate**: ogni `{` ha la sua `}`. - Un blocco è un'**unità logica** e può contenere: **dichiarazioni** di dati (le **variabili**), **comandi**, **chiamate** di altre funzioni e **altri blocchi** (annidati, sempre tra graffe). - Per convenzione il codice C si **indenta** con le tabulazioni (il tasto Tab). Sono i blocchi Inizio/Fine della versione V6 della lezione 01A, scritti con le graffe. ### Programmare per la chiarezza (slide 34) > «Il codice è letto molto più spesso di quanto venga scritto: programmate per la chiarezza, non per la brevità.» (citazione attribuita a Donald Knuth nella slide 34) Per mantenere il codice chiaro: - **indentazione corretta**, che mostri la struttura logica; - **commenti significativi**, soprattutto per funzioni e parti complesse; - **nomi descrittivi** per variabili e funzioni, così che il codice si spieghi da solo; - **blocchi non troppo lunghi**: meglio spezzare in funzioni più piccole e riutilizzabili (lo vedrai più avanti). ### `printf`, istruzioni e stringhe (slide 35–36) - `printf(…)` è una **chiamata di funzione** (*function call*): si chiama la funzione passandole i **parametri** di input tra parentesi. - Ogni istruzione (*statement*) termina con il **punto e virgola** `;`. - Una **stringa** è un pezzo di testo tra **doppi apici** `"…"`. - Dentro le stringhe possono comparire **sequenze di escape** (sequenze speciali), che cominciano con la barra rovesciata `\` (*backslash*). | Sequenza | Che cosa produce | |---|---| | `\n` | nuova riga: va a capo | | `\t` | tabulazione (Tab) | | `\\` | il carattere backslash `\` | | `\"` | il doppio apice `"` | | `\0` | il terminatore della stringa (lo userai più avanti) | Per ora `printf` si usa solo con testo tra doppi apici. Per esempio: ```c printf("Ha detto \"ciao\"\n"); // stampa: Ha detto "ciao" printf("C:\\corso\\lab1\n"); // stampa: C:\corso\lab1 printf("nome\tvoto\n"); // stampa nome e voto separati da una tabulazione ``` > [!TRAPPOLA] Il backslash da solo > Un `\` isolato in una stringa inizia sempre una sequenza di escape. Per stampare un backslash ne servono **due**: `\\`. E per stampare un doppio apice serve `\"`, altrimenti il compilatore crede che la stringa finisca lì. ## Sintassi, identificatori e indentazione (slide 37–41) ### Sintassi e token (slide 37–38) Il C va **compilato**: il codice sorgente, che è testo, viene tradotto in linguaggio macchina. Durante la compilazione l'**analizzatore lessicale** (*parser*) divide il codice in **token**, le unità sintattiche: parole chiave, identificatori, operatori, punteggiatura, stringhe, costanti. Come una lingua naturale, un linguaggio di programmazione ha una **sintassi**, più formale, con le regole per scrivere programmi corretti. Se una regola non è rispettata, il compilatore segnala un **errore di compilazione** e **non** produce il programma. Tre regole da sapere subito: 1. **Ogni istruzione termina con `;`**. Errore tipico: dimenticarlo. gcc risponde `expected ';' before …`. 2. Un'istruzione può occupare **più righe**: si può andare a capo **ovunque sia ammesso uno spazio**. Due stringhe una dopo l'altra vengono unite: ```c printf("Questo è un messaggio " "spezzato su più righe\n"); ``` 3. **Non** si va a capo **dentro una stringa** senza chiuderla: errore `missing terminating " character`. ### Identificatori (slide 39–40) Gli **identificatori** sono i **nomi** che dai agli elementi del programma (variabili, funzioni, costanti, tipi…), per poterli riconoscere e usare. - Maiuscole e minuscole **contano** (*case-sensitive*): `Var`, `var` e `VAR` sono tre identificatori diversi. - Scegli nomi **chiari**: evita nomi troppo simili tra loro o senza significato. Esempi: `somma`, `accumulatore`. - **Non** si possono usare le **parole chiave** del linguaggio: `auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while` - **Non** usare i nomi delle funzioni della libreria standard, come `main` e `printf` (anche se non le usi, come `sin` e `cos`), né i nomi definiti nei file di intestazione. > [!OLTRE] · quali caratteri sono ammessi > Un identificatore contiene **lettere**, **cifre** e il trattino basso `_`, e **non comincia con una cifra**: `x2` e `conto_totale` vanno bene, `2x` e `conto-totale` no (il trattino è il segno meno). Gli spazi non sono ammessi. Evita anche i nomi che cominciano con `_`: sono riservati in molti casi. ### Indentazione (slide 41) Le istruzioni di un blocco (**non** le graffe) si scrivono **rientrate** di un numero fisso di spazi (per esempio 4) o, meglio, con il carattere Tab. L'indentazione aiuta a capire il flusso del programma, e va fatta **mentre si programma**, non dopo. ```c if (a > 15) { x = 5; y = 2; z = a + b; } ``` L'`if` arriverà nelle prossime settimane: qui conta la forma, con le tre istruzioni rientrate dentro le graffe. ## Dal sorgente all'eseguibile (slide 42–45) Il percorso (slide 42): i **file sorgente** (`.c`, il codice in forma di testo; ognuno è un'**unità di compilazione**) includono i **file di intestazione** (`.h`). Preprocessore, compilatore e assemblatore trasformano ogni sorgente in un **file oggetto** (linguaggio macchina); il **collegatore** (*linker*) unisce i file oggetto in un **programma eseguibile**. Il compilatore del corso è **gcc** (la slide dice GNU C Compiler; oggi il nome è *GNU Compiler Collection*): libero, conforme agli standard, disponibile per i principali sistemi operativi, capace di produrre codice per molte architetture. È un *frontend* per un sistema di compilazione a più stadi (slide 43–44): | Stadio | Programma | Che cosa fa | |---|---|---| | 1. preprocessore | `cpp` | elabora le direttive `#include`, `#define`… e produce un sorgente intermedio | | 2. compilatore | `cc` | traduce il C in assembly, con opzioni per ottimizzare velocità o dimensione, oppure senza ottimizzazione per il debug (opzione `-g`) | | 3. assemblatore | `as` | produce il file oggetto `.o` in linguaggio macchina | | 4. linker | `ld` | unisce i file oggetto dei sorgenti C, altri file oggetto (anche da altri linguaggi) e le **librerie** (input/output, matematica, rete…) in un eseguibile | ### Compilare ed eseguire (slide 45) Per ora si compila così: ```text Unix: gcc -Wall -Werror sorgente.c -o eseguibile Windows: gcc -Wall -Werror sorgente.c -o eseguibile.exe ``` - `-Wall` attiva gli **avvisi** (*warning*) più utili; - `-Werror` trasforma ogni avviso in **errore**: con un solo avviso il programma non viene prodotto; - `-o eseguibile` sceglie il **nome** del file prodotto. Poi si esegue: `./buongiorno` nella shell di Unix, `buongiorno` nel Prompt dei comandi di Windows. > [!ESAME] Le opzioni dell'esame > `-Wall -Werror` sono le opzioni usate all'esame negli anni scorsi: allenati da subito così. Un programma che non compila non passa nessun test. ## Errori di compilazione, a runtime e logici (slide 46–48) Un programma può **compilare** senza errori di sintassi e contenere lo stesso errori che si vedono solo **durante l'esecuzione** (*runtime*). Le cause possono essere: - una **progettazione sbagliata** dell'algoritmo, per esempio eseguire un ciclo **prima** di verificarne la condizione di terminazione (è il bug della versione V2 della lezione 01A); - una **realizzazione sbagliata** del programma, per esempio una divisione per zero o un accesso non valido alla memoria. | Tipo | Quando si vede | Esempio | |---|---|---| | **di compilazione** | subito, lo segnala il compilatore | manca un `;`, stringa non chiusa | | **a runtime** | durante l'esecuzione | divisione per zero | | **logico** | mai da solo: il programma gira ma fa la cosa sbagliata | somma da 0 a $n - 1$ invece che da 1 a $n$ | ### Un errore di compilazione (slide 47) ```c #include int main(void) { printf("Buongiorno dal C.\n") } ``` Manca il `;` alla riga 4. gcc 16.1 risponde così (verificato): ```text manca.c:4:34: error: expected ';' before '}' token ``` I numeri `4:34` sono **riga** e **colonna**: il compilatore dice dove si è accorto del problema. A volte è la riga **dopo** l'errore vero, perché se ne accorge solo quando trova il simbolo successivo (qui la `}` della riga 5): guarda sempre anche la riga prima. ### Un errore a runtime (slide 48) ```c #include int main(void) { int x = 5; int y = 0; printf("5/2 uguale a %d\n", x/y); } ``` Il programma **compila senza errori** anche con `-Wall -Werror`, ma all'esecuzione divide per zero. Nella slide, su Linux, il programma si interrompe con il messaggio `Eccezione in virgola mobile` (anche se la divisione è tra interi: il nome del segnale è storico). Su Windows il programma si interrompe in modo anomalo senza stampare il risultato. Il `%d` dentro la stringa serve a stampare un numero intero: lo vedrai presto. > [!TRAPPOLA] «Compila» non vuol dire «funziona» > Il compilatore controlla la **sintassi**, non la **logica**. Dopo averlo compilato, un programma va **provato** (test), anche sui casi limite come $n = 0$. ## Come si sviluppa un programma C (slide 49–50) 1. **Scrivi o modifica** il sorgente con un editor di testo (per esempio Notepad++). 2. **Salva** il file con estensione `.c` in una cartella. 3. **Compila** con gcc. 4. **Analizza e correggi** gli errori di sintassi: **leggi con attenzione che cosa dice il compilatore**. 5. **Esegui** il programma. 6. **Verifica** che si comporti in modo corretto (test). 7. Se qualcosa non va, **correggi** e ricomincia. Prerequisiti: saper scrivere e gestire file di testo, muoversi tra le cartelle, usare la **linea di comando** (shell) per le cose essenziali. Sul tuo PC dovrai installare un ambiente con il compilatore gcc (se ne occupano i laboratori). Per iniziare senza installare niente c'è l'ambiente online [pythontutor.com/c.html](https://pythontutor.com/c.html#mode=edit), che mostra anche lo stato della memoria passo per passo. ## Verso l'esame L'esame di Programmazione I è al PC su Moodle, con esercizi in C corretti anche da **test automatici** (CodeRunner), comune ai canali A, B e C. Questa lezione ti dà gli strumenti di base: - **compilare sempre con `-Wall -Werror`**, come all'esame: anche un solo avviso blocca la compilazione; - **leggere i messaggi del compilatore**: riga, colonna e descrizione (`expected ';'`, `missing terminating " character`, `implicit declaration of function`); - all'esame si scrive in un **editor di testo semplice**, senza IDE né completamento automatico: esercitati così, anche con Notepad++; - **provare** i programmi su più casi, compresi quelli limite: i test automatici lo faranno; - il modello «istruzione dopo istruzione» dell'assembly è la base degli esercizi sullo **stato della memoria**. > [!ESAME] Cosa fare già da questa settimana > - Primo laboratorio (Lab01, riga di comando e compilatore): turno 2 (matricola pari) lunedì 5/10, turno 1 (matricola dispari) martedì 6/10, 14–17, laboratorio Turing. > - Copia il programma «Buongiorno dal C.», compilalo con `gcc -Wall -Werror` e poi **rompilo di proposito** (togli un `;`, una graffa, una virgoletta) per imparare a riconoscere i messaggi d'errore. ## Esercizi ::: esercizio base Traccia dell'addizione con altri dati Esegui a mano il programma dell'addizione (slide 5–14) con 7 all'indirizzo $A = 400$ e 5 all'indirizzo $B = 404$. Scrivi dopo ogni istruzione il PC, R0, R1 e il contenuto dell'indirizzo 400. Controlla con il simulatore. ::: soluzione | Istruzione | PC | R0 | R1 | memoria[400] | |---|--:|--:|--:|--:| | `LOAD, R0, @A` | 0 | 7 | — | 7 | | `LOAD, R1, @B` | 4 | 7 | 5 | 7 | | `ADD, R0, R1` | 8 | 12 | 5 | 7 | | `STORE, R0, @A` | 12 | 12 | 5 | **12** | Dopo l'ultima istruzione il PC vale 16 e il programma è finito: all'indirizzo 400 c'è $7 + 5 = 12$. Nota che il valore 5 all'indirizzo 404 non cambia. ::: ::: esercizio base Quante istruzioni per una moltiplicazione Quante istruzioni esegue il programma della moltiplicazione (slide 16) con $n = 3$? E con $n = 0$? Trova una formula per $n$ qualsiasi. ::: soluzione Contiamo le righe eseguite: - righe 1–4 una volta sola: **4**; - per ogni giro del ciclo le righe 5, 6, 7, 8, 9: **5 per giro**, e i giri sono $n$; - alla fine le righe 5 e 6 un'ultima volta (il confronto che fa uscire) e la riga 10: **3**. Totale: $4 + 5n + 3 = 5n + 7$. - $n = 3$: $5 \cdot 3 + 7 = 22$ istruzioni (44 passi nel simulatore, che conta prelievo ed esecuzione separati). - $n = 0$: $7$ istruzioni: righe 1–4, 5, 6 (salto) e 10. ::: ::: esercizio medio Il doppio di un numero in assembly Con le istruzioni delle slide (`LOAD`, `STORE`, `ADD`, `INC`, `CMP`, `JMPEQ`, `JMP`) scrivi un programma che calcola $2m$ e lo salva all'indirizzo di $m$. ::: soluzione ```text 1. LOAD, R0, @m // R0 ← m 2. ADD, R0, R0 // R0 ← R0 + R0 = 2m 3. STORE, R0, @m // salva il risultato all'indirizzo di m ``` Un registro si può sommare a sé stesso. Una soluzione più lunga ma corretta carica $m$ in due registri e poi li somma. ::: ::: esercizio medio Somma dei primi n numeri in assembly Scrivi in assembly un programma che calcola $1 + 2 + \dots + n$ (con $n \ge 0$ all'indirizzo `n`) e salva il risultato all'indirizzo di `n`. Suggerimento: è l'esercizio 6 della lezione 01A. ::: soluzione ```text 1. LOAD, R0, 0 // s ← 0 2. LOAD, R1, 0 // i ← 0 3. LOAD, R3, @n // R3 ← n 4. CMP R1, R3 // i = n ? 5. JMPEQ // se sì, fine del ciclo 6. INC, R1 // i ← i + 1 (prima avanzo il contatore...) 7. ADD, R0, R1 // s ← s + i (...poi lo sommo) 8. JMP // torna al confronto 9. STORE, R0, @n // salva s ``` Traccia con $n = 3$: $(i, s) = (0, 0) \to (1, 1) \to (2, 3) \to (3, 6)$, poi $3 = 3$ e salto alla riga 9: il risultato è 6. Con $n = 0$ si salta subito e il risultato è 0. Se scambi le righe 6 e 7 sommi $0 + 1 + 2 = 3$: il solito errore «di uno». ::: ::: esercizio base Trova gli errori Il programma seguente non compila. Trova i due errori e scrivi che cosa dice gcc. ```c #include int main(void) { printf("Ciao\n") printf("Seconda riga\n); } ``` ::: soluzione 1. Riga 4: manca il `;`. gcc: `4:21: error: expected ';' before 'printf'` (se ne accorge quando trova il `printf` della riga dopo). 2. Riga 5: la stringa non è chiusa, manca il `"` prima di `)`. gcc: `5:12: error: missing terminating " character`. Versione corretta: ```c #include int main(void) { printf("Ciao\n"); printf("Seconda riga\n"); } ``` ::: ::: esercizio base Sequenze di escape Scrivi le istruzioni `printf` che stampano esattamente queste tre righe (nella terza, tra `nome` e `voto` c'è una tabulazione): ```text Il file si trova in C:\corso\lab1 Ha detto "ciao" nome voto ``` ::: soluzione ```c printf("Il file si trova in C:\\corso\\lab1\n"); printf("Ha detto \"ciao\"\n"); printf("nome\tvoto\n"); ``` Ogni `\` da stampare diventa `\\`, ogni `"` diventa `\"`, la tabulazione è `\t`, e ogni riga finisce con `\n`. Verificato con `gcc -Wall -Werror`. ::: ::: esercizio base Identificatori validi Quali di questi sono identificatori validi e adatti? `somma`, `Somma`, `2x`, `x2`, `int`, `conto-totale`, `conto_totale`, `printf`. ::: soluzione | Nome | Valido? | Perché | |---|---|---| | `somma` | sì | | | `Somma` | sì | ma è **diverso** da `somma` (maiuscole e minuscole contano): meglio evitare nomi così simili | | `2x` | no | comincia con una cifra | | `x2` | sì | | | `int` | no | è una parola chiave | | `conto-totale` | no | il `-` è il segno meno: il compilatore legge «conto meno totale» | | `conto_totale` | sì | il trattino basso è ammesso | | `printf` | da non usare | è il nome di una funzione della libreria standard (slide 40) | ::: ::: esercizio medio Quale stadio si lamenta? Per ciascun errore di' quale stadio della compilazione lo segnala: (a) `#include ` (nome del file sbagliato); (b) un `;` mancante; (c) una funzione dichiarata e chiamata, ma mai scritta: ```c void saluta(void); int main(void) { saluta(); return 0; } ``` ::: soluzione (a) Il **preprocessore**, che cerca il file da includere: `fatal error: stdoi.h: No such file or directory`. (b) Il **compilatore**, che controlla la sintassi: `expected ';' before …`. (c) Il **linker**: il compilatore accetta la chiamata perché la funzione è dichiarata, ma al momento di unire i pezzi il linker non trova il suo codice: `undefined reference to 'saluta'` e poi `ld returned 1 exit status`. Tutti e tre i messaggi sono quelli di gcc 16.1. ::: ::: esercizio medio Dal FORTRAN al C Riscrivi in C la moltiplicazione FORTRAN della slide 20, con $m = 4$ e $n = 3$ fissati nel codice (la lettura dei numeri arriverà con `scanf`). Stampa il risultato con `printf("%d x %d = %d\n", m, n, s);`. ::: soluzione ```c #include int main(void) { int m = 4, n = 3; int s = 0; // accumulatore int i = 0; // contatore while (i < n) { // do while (i` e la funzione `main`? La direttiva chiede al preprocessore di includere l'header stdio.h, che dichiara funzioni come printf e scanf. `main` è la funzione obbligatoria da cui parte l'esecuzione: `int main(void)` non riceve input e restituisce un intero al sistema operativo. ::: ::: domanda Quali sono le sequenze di escape principali? `\n` nuova riga, `\t` tabulazione, `\\` backslash, `\"` doppio apice, `\0` terminatore della stringa. ::: ::: domanda Quali regole valgono per gli identificatori? Distinguono maiuscole e minuscole; non possono essere parole chiave né nomi della libreria standard; devono essere chiari e non troppo simili tra loro. In più: solo lettere, cifre e trattino basso, senza cominciare con una cifra. ::: ::: domanda Quali sono gli stadi della compilazione con gcc? Preprocessore (direttive come #include), compilatore (dal C all'assembly), assemblatore (dall'assembly al file oggetto in linguaggio macchina), linker (unisce file oggetto e librerie in un eseguibile). ::: ::: domanda Che cosa fanno le opzioni `-Wall` e `-Werror`? `-Wall` attiva i principali avvisi del compilatore; `-Werror` li trasforma in errori, così con un solo avviso il programma non viene prodotto. Sono le opzioni dell'esame. ::: ::: domanda Che differenza c'è tra errori di compilazione, a runtime e logici? Quelli di compilazione violano la sintassi e li trova subito il compilatore; quelli a runtime emergono durante l'esecuzione (divisione per zero, accesso non valido alla memoria); quelli logici lasciano girare il programma, che però fa la cosa sbagliata. ::: ## Glossario ```glossario Linguaggio macchina | Istruzioni in forma numerica (bit), eseguite direttamente dal processore; diverso per ogni architettura. Instruction set | L'insieme delle istruzioni macchina di un'architettura. Assembly | Rappresentazione simbolica del linguaggio macchina, con mnemonici come LOAD, ADD, STORE. Assembler | Programma che traduce l'assembly in linguaggio macchina. LOAD / STORE | Copiano un dato dalla memoria a un registro / da un registro alla memoria. CMP | Confronta due registri; l'esito resta nella CPU (registro di stato). Salto condizionato / incondizionato | JMPEQ salta solo se l'ultimo confronto ha dato «uguali»; JMP salta sempre. Linguaggio di alto livello | Linguaggio con istruzioni vicine al linguaggio matematico e naturale, indipendente dall'hardware. Compilatore | Programma che traduce un linguaggio di alto livello in linguaggio macchina (o in assembly). Portabilità | Possibilità di usare lo stesso programma su macchine diverse, ricompilandolo. FORTRAN | FORmula TRANslator, linguaggio IBM degli anni '50 per il calcolo scientifico. Commento | Testo ignorato dal compilatore: da `//` a fine riga, oppure tra `/*` e `*/`. Direttiva del preprocessore | Riga che inizia con #, come #include. File di intestazione (header) | File .h con dichiarazioni di funzioni, come stdio.h. Funzione main | La funzione obbligatoria da cui comincia l'esecuzione. Blocco | Gruppo di istruzioni tra graffe { }; i blocchi si possono annidare. Istruzione (statement) | Un comando del programma; in C termina con ;. Stringa | Testo tra doppi apici. Sequenza di escape | Coppia di caratteri che inizia con la barra rovesciata e rappresenta un carattere speciale: `\n`, `\t`, `\\`, `\"`, `\0`. Token | Unità sintattica in cui il parser divide il codice: parole chiave, identificatori, operatori, stringhe, costanti. Identificatore | Nome di una variabile, funzione, costante o tipo; distingue maiuscole e minuscole. Parola chiave (keyword) | Parola riservata del C, come int, while, return. File oggetto | Unità di compilazione tradotta in linguaggio macchina (.o). Linker | Unisce file oggetto e librerie in un programma eseguibile. gcc | Il compilatore del corso (GNU Compiler Collection). Errore a runtime | Errore che si manifesta durante l'esecuzione. Errore logico | Il programma gira ma non fa ciò che dovrebbe. ``` ## Checklist ```checklist - So spiegare la differenza tra linguaggio macchina e assembly e perché nessuno dei due è portabile. - So eseguire a mano il programma dell'addizione, con PC, registri e memoria dopo ogni istruzione. - So leggere il programma della moltiplicazione in assembly e collegarlo riga per riga alla versione V6 della lezione 01A. - So spiegare CMP, JMPEQ e JMP e come formano un ciclo. - So dire perché sono nati i linguaggi di alto livello e che cosa fa un compilatore. - So raccontare in breve la nascita del C e le sue quattro caratteristiche. - So spiegare ogni riga del programma «Buongiorno dal C.». - So usare le sequenze di escape `\n`, `\t`, `\\`, `\"` in `printf`. - So riconoscere un identificatore valido e le parole chiave. - So elencare gli stadi della compilazione e compilare con gcc -Wall -Werror. - So distinguere errori di compilazione, a runtime e logici, e leggere un messaggio di gcc. ``` ## Fonti - **Slide della lezione**: «Dal linguaggio macchina al C. Dai bit e registri alla programmazione strutturata di alto livello e portabile» (02A_da_assembly_a_c), Programmazione I – Teoria, canale B, A.A. 2026/27, 50 pagine; il numero di slide è accanto a ogni titolo. - **Canali A e C**: deck «Dal linguaggio assembly al C» del canale A e lezione 01 «Introduzione» del canale C sulle pagine Moodle 2026/27 ([canale A](https://informatica.i-learn.unito.it/course/view.php?id=3701), [canale C](https://informatica.i-learn.unito.it/course/view.php?id=3767)), consultate il 30/09/2026. - **Messaggi del compilatore e assembly**: ottenuti con gcc 16.1 (MinGW-w64) compilando gli esempi con `-Wall -Werror`; l'assembly con `gcc -S -O0 -masm=intel`. - **Esame e laboratori**: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). - Le parti **«Oltre le slide»** (assembly prodotto da gcc, commenti su più righe, caratteri degli identificatori) e gli esercizi sono aggiunte di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/02B_assegnamento_memory_model.md` ```yaml corso: PROG1 lezione: 02B titolo: Memoria e variabili, assegnamento ed espressioni data: 2026-10-06 docenti: Elvio Amparore sopratitolo: Programmazione I · Teoria · Canale B · Lezione 02B descrizione: >- Appunti della lezione 02B di Programmazione I (canale B): i tipi del C e perché sono finiti, le variabili con nome, tipo, indirizzo e valore, dimensioni e sizeof, identificatori, visibilità e durata, il primo modello della memoria con area codice, area dati, stack, frame pointer e stack pointer, l'assegnamento, le espressioni intere con precedenza, divisione intera e modulo, printf con gli specificatori, gli assegnamenti composti e gli operatori ++ e --. lede: >- Che cosa c'è dietro int x = 10? Un nome, un tipo, una casella di memoria e un valore. Qui impari a disegnare la memoria di un programma C riga per riga, come negli esercizi d'esame sullo stato della memoria, e a fare i primi conti con gli interi, sapendo dove il C ti sorprende: numeri troppo grandi, virgole che spariscono. materiale: slide scheda: Slide: 02B_assegnamento_memory_model («Memoria e Variabili») · 41 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 90–120 minuti, meglio con gcc a portata di mano fonte: >- Slide «Memoria e Variabili. Modello della memoria per il linguaggio C, dalle variabili alle espressioni» (02B_assegnamento_memory_model), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/02B_assegnamento_memory_model.html genera_html: true ``` ## In breve - Un **tipo** dice come leggere i bit in memoria: quanti byte occupano, quali valori sono ammessi, quali operazioni si possono fare. Senza tipi ci sarebbero solo sequenze di 0 e 1. - Una **variabile** ha quattro cose: un **nome** (`contatore`), un **tipo** (`int`), un **indirizzo** (dove sta in memoria) e un **valore** (che cosa contiene adesso). L'indirizzo lo sceglie il sistema, non tu. - I tipi numerici del C sono **finiti**: `int` contiene solo gli interi da circa −2,1 miliardi a +2,1 miliardi, `float` approssima i reali con un numero limitato di cifre. - Con la **dichiarazione** `int x;` si riserva lo spazio per `x` in una zona della memoria chiamata **stack** (pila). Il valore iniziale è **indeterminato**: negli schemi si scrive «?». - Nel **modello della memoria** ci sono un'area codice e un'area dati. **PC** indica l'istruzione da eseguire, **FP** l'inizio delle variabili di `main`, **SP** la prossima casella libera. Lo stack si disegna in alto e cresce verso il basso. - L'**assegnamento** `variabile = espressione;` calcola prima il valore a destra, poi lo copia nella casella a sinistra. - Sugli interi: `+`, `-`, `*`, `/` (divisione **intera**: `13 / 3` fa 4) e `%` (resto: `13 % 3` fa 1). `*`, `/`, `%` vengono prima di `+` e `-`, da sinistra a destra. `printf` usa gli **specificatori**: `%d` per `int`, `%f` per `float`, `%zu` per `size_t`. - Scorciatoie: `x += 3` vuol dire `x = x + 3` (e così `-=`, `*=`, `/=`, `%=`); `x++` aumenta `x` di 1, `x--` lo diminuisce di 1. > [!CANALI] > **Canale A (Fiandrotti).** Il deck 2025/26 «Assegnazione, memory model, scambio» (55 slide) ha gli stessi contenuti di questa lezione e in più lo **scambio di due variabili** (`swap`), che nel canale B 2025/26 era una lezione a parte, la settimana dopo. Il deck 2026/27 del canale A per questa settimana non l'ho ancora visto. > > **Canale C (Mazzei).** Tipi, variabili, assegnamento, modello della memoria con FP e SP e scambio sono nella lezione 02 «Introduzione al C» (70 slide), insieme a `main`, `printf` e gcc. > > **Canale B 2025/26.** La lezione «Memoria e Variabili, operatore di assegnamento» (39 slide) era quasi uguale a questa. > > L'esame è unico per i tre canali, e gli esercizi sullo **stato della memoria** partono proprio da questo modello. ## Dai bit ai tipi (slide 2–3) In memoria ci sono solo bit. Prendi questi 8 bit: ```text 0100 0001 ``` Che cosa sono? Dipende da come li leggi: - come **numero intero** sono 65 (64 + 1, ricordi la base 2 della lezione 02 di Fondamenti); - come **carattere** sono la lettera `A`, perché nel codice ASCII la `A` ha il numero 65; - come pezzo di un numero più lungo non vogliono dire niente da soli. I bit da soli non bastano: serve una regola per leggerli. Questa regola è il **tipo**. Le slide lo dicono così: un tipo è un ponte tra i bit e il senso che vogliamo dare ai dati. Un tipo del C stabilisce sei cose (slide 3): | Che cosa | Esempio | |---|---| | **nome**, usato nel codice | `int`, `float`, `struct Persona` | | **dimensione** in memoria | `int` di solito 4 byte, `double` 8 byte | | **dominio**: i valori ammessi | `int`: gli interi in un certo intervallo | | **operazioni** consentite | somma tra interi, radice quadrata sui reali | | **rappresentazione** dei bit | complemento a 2 per gli interi, IEEE 754 per i reali | | **compatibilità** con altri tipi | regole di conversione automatiche e con il *cast* | La rappresentazione dei bit (complemento a 2, IEEE 754) la studi in Fondamenti dell'Informatica (lezione 03) e in Architettura degli Elaboratori. Qui ti basta sapere che esiste. ::: prova Gli stessi 8 bit `0011 0000` letti come intero valgono 48. Che cosa sono letti come carattere ASCII? Il carattere `0` (la cifra zero): nella tabella ASCII le cifre partono dal codice 48. È un esempio di come lo stesso contenuto cambi senso cambiando il tipo. ::: > [!RICORDA] > Un tipo dice come leggere i bit: quanti byte, quali valori, quali operazioni, come sono codificati, come si convertono in altri tipi. ## Le variabili (slide 4–6) Nella macchina di Von Neumann della lezione 02A le istruzioni lavoravano sugli **indirizzi**: `LOAD, R0, @400`. Programmare così vuol dire ricordarsi a memoria che all'indirizzo 400 c'è il prezzo e al 404 la quantità. I linguaggi di alto livello danno un **nome** a quelle caselle: invece di «la casella 400» scrivi `prezzo`. Questo nome con il suo tipo è una **variabile**. Pensa a un cassetto di una cassettiera: - sull'etichetta c'è scritto il **nome**; - la forma del cassetto dice che cosa ci può stare: è il **tipo**; - la posizione del cassetto nella cassettiera è l'**indirizzo**; - quello che c'è dentro adesso è il **valore**, e può cambiare. > [!DEF] Variabile (slide 4–5) > Una variabile associa un **nome** e un **tipo** a una porzione di memoria che contiene un **valore**. È definita da: nome, tipo, indirizzo (la posizione in memoria) e valore (il contenuto attuale, che può cambiare durante l'esecuzione). **Come si legge.** Una variabile è una casella di memoria a cui dai un nome. Il tipo dice quanti byte occupa e come leggerli. Il valore è quello che c'è dentro in questo momento. L'esempio della slide 5: ```c int contatore = 1; float media = 60.54; ``` | | `contatore` | `media` | |---|---|---| | nome | `contatore` | `media` | | tipo | `int` | `float` | | indirizzo (esempio) | `0x904A` | `0x367F` | | valore | 1 | 60.54 | Gli indirizzi si scrivono di solito in **esadecimale**, con il prefisso `0x` (lezione 01 di Fondamenti). Quelli della tabella sono inventati: l'indirizzo vero lo decidono il compilatore e il sistema quando il programma parte, e cambia da un'esecuzione all'altra. Il programmatore non lo sceglie: sceglie il **tipo**, cioè quali valori può contenere la variabile, come sono codificati, quali operazioni si possono fare e come interagisce con altri tipi (slide 6). > [!NOTA] «Solo in parte automatica» > La slide 6 avverte che in C la gestione della memoria è solo **parzialmente** automatica. Le variabili di questa lezione nascono e spariscono da sole. Più avanti nel corso vedrai la memoria che chiedi e restituisci tu, con `malloc` e `free`. ::: prova Quali delle quattro proprietà di una variabile possono cambiare mentre il programma gira? Solo il valore. Nome, tipo e indirizzo restano gli stessi per tutta la vita della variabile. ::: > [!RICORDA] > Variabile = nome + tipo + indirizzo + valore. Tu scegli nome e tipo; l'indirizzo lo sceglie il sistema; il valore cambia con gli assegnamenti. ## I tipi del C (slide 7–9, 12) La slide 7 mostra la famiglia completa dei tipi del C: - **tipi primitivi** (già pronti nel linguaggio): interi, naturali (senza segno), reali; - **tipi derivati**, costruiti da altri: puntatori, array, `struct`, `union`, `enum`, funzioni; - **`void`**, il tipo «vuoto»; - **`typedef`**, per dare un nome nuovo a un tipo; - **qualificatori** come `const`, che si aggiungono a un tipo. Per ora ne bastano pochi (slide 8): | Tipo | Per che cosa | Nota | |---|---|---| | `int` | numeri interi ($\Z$) | ci sono anche `short`, `long`, `long long` | | `unsigned int` | numeri naturali ($\N$), senza segno | | | `float` | numeri con la virgola ($\R$) | c'è anche `double`, più preciso | | `char` | caratteri | occupa 1 byte (8 bit) | | `size_t` | dimensioni, numeri di elementi | intero senza segno, da `` | | `bool` | vero o falso (`true`/`false`, cioè 1/0) | da `` | La slide 12 li raggruppa per uso: numeri **naturali** (le versioni `unsigned`), **interi** (`short`, `int`, `long`, `long long`), **reali** (`float`, `double`), **dimensioni** (`size_t`, `ptrdiff_t`), **caratteri e byte** (`char`, `unsigned char`), **logico** (`bool`). ### I numeri del C sono finiti (slide 9) Gli insiemi della matematica $\N$, $\Z$ e $\R$ sono **infiniti**. Una variabile occupa un numero fisso di byte, quindi un tipo può contenere solo un numero **finito** di valori. Un `int` occupa di solito 4 byte, cioè 32 bit: le combinazioni possibili sono $2^{32}$, circa 4,3 miliardi. Metà vanno ai negativi e metà allo zero e ai positivi: $$-2\,147\,483\,648 \le \text{int} \le 2\,147\,483\,647, \qquad \text{cioè da } -2^{31} \text{ a } 2^{31} - 1.$$ Un `unsigned int` usa gli stessi 32 bit solo per lo zero e i positivi: da 0 a $2^{32} - 1 = 4\,294\,967\,295$. Per i reali il limite è un altro: `float` e `double` hanno un numero limitato di cifre, quindi molti numeri vengono **approssimati**. La lezione 03 di Fondamenti mostra come funziona la virgola mobile. > [!IDEA] Un contachilometri > Un contachilometri a 6 cifre arriva a 999 999 e poi torna a 000 000. Un `int` fa qualcosa di simile quando supera il valore massimo: è l'**overflow**, che vedi nella sezione sull'assegnamento. ::: prova Quanti valori diversi può contenere un tipo da 1 byte? E da 2 byte? 1 byte = 8 bit: $2^8 = 256$ valori. 2 byte = 16 bit: $2^{16} = 65\,536$ valori. ::: > [!RICORDA] > I tipi del C sono modelli **finiti** dei numeri della matematica: gli interi hanno un minimo e un massimo, i reali hanno una precisione limitata. ## Dichiarare una variabile (slide 10) Prima di usare una casella bisogna chiederla, dicendo il nome e il tipo: ```c int x; ``` Questa riga è una **dichiarazione**: dice al compilatore che esiste una variabile di nome `x` e di tipo `int`. Quando il programma arriva a questa riga, riserva lo spazio per un `int` (4 byte) in una zona della memoria chiamata **pila** o **stack**. Da quel momento puoi usare la casella con il nome `x`. Il nome `x` esiste solo nel sorgente C. Nell'assembly della lezione 02A non ci sono nomi: il compilatore trasforma ogni nome in un **indirizzo**. Per questo le slide dicono che l'identificatore è **simbolico**. ::: prova Dopo `int voti;` il programma sa già quanti byte occupa `voti`? Sa già che valore contiene? Sa quanti byte occupa: il tipo `int` lo dice (di solito 4). Non sa che valore contiene: nessuno ce l'ha ancora scritto. ::: > [!RICORDA] > Ogni variabile va dichiarata con tipo e nome prima di usarla. La dichiarazione riserva lo spazio sullo stack. ## Stampare i valori con printf (slide 11, 37–38) La prima cosa che si fa con una variabile è guardarne il valore. ```c int x = 10; // variabile intera float y = 3.14f; // variabile reale (in virgola mobile) printf("La variabile x vale: %d\n", x); // %d → int printf("La variabile y vale: %f\n", y); // %f → float ``` Stampa: ```text La variabile x vale: 10 La variabile y vale: 3.140000 ``` `printf` riceve prima una **stringa di formato**, poi i valori da stampare, separati da virgole. Dentro la stringa: - il testo normale viene stampato così com'è; - ogni **specificatore di formato** (`%d`, `%f`, …) è un posto da riempire: il primo specificatore prende il primo valore dopo la stringa, il secondo il secondo, e così via. ```c printf("x vale %d, y vale %d\n", x, y); ``` Il primo `%d` stampa `x`, il secondo `%d` stampa `y` (slide 37). `%f` stampa sei cifre dopo la virgola: per questo 3.14 diventa `3.140000`. La `f` in fondo a `3.14f` dice che la costante è un `float`; senza, `3.14` sarebbe un `double`. ### Larghezza e zeri (slide 38) | Istruzione | Stampa (con `x = 7`) | Che cosa fa | |---|---|---| | `printf("x vale %d\n", x);` | `x vale 7` | quante cifre servono | | `printf("x vale %6d\n", x);` | `x vale 7` | almeno 6 posizioni, spazi a sinistra | | `printf("x vale %06d\n", x);` | `x vale 000007` | almeno 6 posizioni, zeri a sinistra | Risultati provati con gcc 16.1. Tutti i formati sono nel manuale della libreria GNU C (link nella slide 38 e nelle fonti). > [!TRAPPOLA] Lo specificatore deve corrispondere al tipo > `printf("%f", x)` con `x` di tipo `int` è un errore: `printf` legge i bit dell'intero come se fossero un reale e stampa un numero senza senso. Con `-Wall -Werror` gcc lo blocca: > ```text > error: format '%f' expects argument of type 'double', but argument 2 has type 'int' [-Werror=format=] > ``` > (`printf` riceve i `float` già convertiti in `double`: per questo il messaggio parla di `double`.) ::: prova Che cosa stampa `printf("%d + %d = %d\n", 2, 3, 2 + 3);`? `2 + 3 = 5`. Tre specificatori, tre valori nell'ordine; il terzo è il risultato dell'espressione `2 + 3`. ::: > [!RICORDA] > `printf("testo con %d", valore)`: uno specificatore per ogni valore, nello stesso ordine, e del tipo giusto (`%d` int, `%f` float, `%zu` size_t, `%c` char). ## Quanto spazio occupa un tipo: sizeof (slide 13–15) Il C non fissa la dimensione esatta dei tipi, perché deve funzionare su macchine molto diverse, dai microcontrollori ai server. Fissa solo un **ordine**: $$\texttt{sizeof(char)} \le \texttt{sizeof(short)} \le \texttt{sizeof(int)} \le \texttt{sizeof(long)} \le \texttt{sizeof(long long)}$$ $$\texttt{sizeof(float)} \le \texttt{sizeof(double)}$$ `sizeof` è un **operatore** che dice quanti byte occupa un tipo o una variabile. Il risultato ha tipo `size_t`, e si stampa con `%zu`: ```c printf("int occupa %zu byte\n", sizeof(int)); ``` Le slide 14–15 danno una tabella di riferimento per le macchine a 32 e 64 bit, con intervalli e specificatori. Le righe principali: | Tipo | Byte (tipico) | Intervallo | Specificatore | |---|--:|---|---| | `char` | 1 | da −128 a 127 | `%c` (come carattere) | | `short` | 2 | da $-2^{15}$ a $2^{15} - 1$ | `%hd` | | `int` | 4 | da $-2^{31}$ a $2^{31} - 1$ | `%d` | | `long` | 4 o 8 | dipende dalla macchina | `%ld` | | `long long` | 8 | da $-2^{63}$ a $2^{63} - 1$ | `%lld` | | `unsigned int` | 4 | da 0 a $2^{32} - 1$ | `%u` | | `size_t` | 4 (32 bit) o 8 (64 bit) | da 0 in su | `%zu` | | `float` | 4 | circa da $10^{-38}$ a $10^{38}$ | `%f` | | `double` | 8 | circa da $10^{-308}$ a $10^{308}$ | `%lf` (in `scanf`) | La slide 15 dice esplicitamente: **non serve impararle a memoria**. Servono gli specificatori più usati (`%d`, `%u`, `%f`, `%c`, `%zu`) e l'idea che ogni tipo ha un intervallo. > [!NOTA] Su Windows `long` è da 4 byte > La tabella delle slide dà `long` da 8 byte sulle macchine a 64 bit. È vero su Linux e macOS, ma non su Windows: sul mio PC (Windows 11 a 64 bit, gcc 16.1) `sizeof(long)` vale **4**. È proprio il motivo per cui il C fissa solo l'ordine tra i tipi e non le dimensioni. Sullo stesso PC: `char` 1, `short` 2, `int` 4, `long long` 8, `float` 4, `double` 8, `bool` 1, `size_t` 8. > [!NOTA] Due refusi nella tabella > Nella slide 14 lo specificatore di `ptrdiff_t` è scritto `%t`: quello vero è `%td`. Nella slide 15 compare «unsigned signed int», che non è un tipo del C: il nome è `unsigned int`. ::: prova Che cosa stampa `printf("%zu\n", sizeof(char));` su qualunque macchina? `1`. Lo standard del C fissa `sizeof(char)` uguale a 1: il `char` è l'unità con cui si misurano gli altri tipi. ::: > [!RICORDA] > `sizeof(tipo)` dà i byte, di tipo `size_t`, stampati con `%zu`. Il C garantisce solo l'ordine `char` ≤ `short` ≤ `int` ≤ `long` ≤ `long long`: le dimensioni vere dipendono dalla macchina. ## I nomi delle variabili (slide 16–17) Le regole per gli **identificatori** (lezione 02A): - possono contenere lettere, cifre e trattino basso `_`; - devono cominciare con una lettera o con `_` (di solito una lettera minuscola); - niente spazi né simboli speciali; - devono essere **unici** nel loro ambito: due variabili nello stesso blocco non possono avere lo stesso nome. Esempio della slide 16: `int laMiaPrimaVariabile;`. Oltre alle regole ci sono le **convenzioni** del corso (slide 17): - tutto minuscolo, oppure **camelCase** per i nomi di più parole: `sommaTot`, `media7giorni`, `elementoTrovato` (la prima parola minuscola, le altre con l'iniziale maiuscola); - nomi che dicono il **ruolo** del dato: `somma`, `media`, `massimoTrovato`; - nomi corti come `s`, `m`, `flag` solo quando il senso è chiaro dal contesto; - mai nomi senza senso come `pippo` o `nonSoCheNomeDare`. Il nome non è un dettaglio: un buon nome rende il codice leggibile, riduce gli errori e aiuta a ragionare. All'esame il codice viene anche letto da un docente. > [!TRAPPOLA] Un nome che comincia con una cifra > `int 2x = 3;` non compila. gcc 16.1: > ```text > error: invalid suffix 'x' on integer constant > ``` > Il compilatore legge `2` come un numero e `x` come un «suffisso» sbagliato del numero. ::: prova Quali di questi nomi sono validi? `media7giorni`, `7giorni`, `somma_tot`, `somma tot`. Validi: `media7giorni` (la cifra non è all'inizio) e `somma_tot`. Non validi: `7giorni` (comincia con una cifra) e `somma tot` (contiene uno spazio). ::: > [!RICORDA] > Lettere, cifre e `_`, senza cominciare con una cifra. Nomi che dicono il ruolo, in camelCase: `sommaTot`, `elementoTrovato`. ## Dove e per quanto vive una variabile (slide 18) Una variabile ha due proprietà in più, legate a **dove** e **quando** esiste. La **visibilità** (*scope*) dice in quale parte del codice puoi usare il nome: - **locale** (o automatica, il caso normale): dichiarata dentro una funzione o un blocco `{ … }`, si usa solo lì dentro; - **globale**: dichiarata fuori da tutte le funzioni, si vede in tutto il file (e in altri file, se dichiarata `extern`); - **statica**: con `static`, conserva il valore tra una chiamata e l'altra ma resta visibile solo nel suo blocco. La **durata** (*lifetime*) dice per quanto tempo la variabile occupa memoria: - le variabili **locali** stanno sullo **stack** e spariscono quando finisce il blocco; - le variabili **globali** e **statiche** esistono per tutto il programma; - le variabili **dinamiche** stanno in un'altra zona, lo **heap**: le crei tu con `malloc()` e restano finché non le liberi (più avanti nel corso). ::: prova Una variabile dichiarata dentro le graffe di `main` è locale o globale? Dove sta in memoria? È locale: si vede solo dentro `main`. Sta sullo stack e sparisce quando `main` finisce. ::: Per capire il C bisogna sapere come la memoria viene presa e restituita. Il corso usa per questo un **modello della memoria**, che vedi nella prossima sezione. > [!ESAME] Niente `static` e niente globali > Nelle regole d'esame (scheda del corso) `static` è **vietato** negli esercizi di programmazione. Anche le variabili globali non servono: usa solo variabili locali e parametri. > [!RICORDA] > Locali: visibili nel loro blocco, vivono sullo stack finché il blocco dura. Globali e statiche: vivono per tutto il programma. Dinamiche: nello heap, finché non le liberi. ## Il modello della memoria (slide 19–26) Negli esercizi d'esame sullo **stato della memoria** si disegna la memoria di un programma riga per riga. Il modello è questo. ### Area codice e area dati (slide 19–21) Quando lanci un programma, il sistema lo **carica** dal disco in memoria centrale e gli riserva una zona divisa in due: - l'**area codice**, con le istruzioni del programma: ha una dimensione **fissa**; - l'**area dati**, con le variabili: può crescere, ma fino a un massimo. Le variabili vengono messe nell'area dati **una dopo l'altra, nell'ordine in cui sono dichiarate**. Nel disegno ogni riga è una parola di 32 bit (4 byte). ### Tre indirizzi speciali (slide 22) Tre registri della CPU tengono il segno di dove si è arrivati: | Nome | Sigla | Che cosa indica | |---|---|---| | program counter | PC | l'istruzione da eseguire, nell'area codice (all'inizio: la prima istruzione di `main`) | | frame pointer | FP | l'indirizzo da cui cominciano le variabili di `main` | | stack pointer | SP | l'indirizzo in cui verrà messa la prossima variabile | All'inizio, prima di qualunque dichiarazione, FP e SP coincidono. ### Lo stack cresce verso il basso (slide 23–24) La parte dell'area dati che contiene le variabili si chiama **stack** (pila). Nel modello si disegna in **alto** e cresce verso gli indirizzi **più bassi**: ogni nuova variabile va sotto la precedente. È come una pila di piatti appesa al soffitto: ogni piatto nuovo si aggiunge sotto. Quando dichiari `int x;`, SP scende di 4 byte (la dimensione di un `int`) e la casella tra il vecchio e il nuovo SP diventa `x`. > [!NOTA] Una convenzione di disegno > La direzione in cui cresce lo stack dipende dal processore e dal sistema operativo. Nel corso si usa sempre questa: stack in alto, crescita verso il basso (slide 23). Se le variabili sono troppe e lo spazio dello stack finisce, il programma si interrompe con un errore a runtime di tipo **stack overflow** (slide 24). ### Il valore iniziale è «?» (slide 25) ```c int main(void) { int x; } ``` Dopo `int x;` lo spazio è riservato, ma nessuno ci ha scritto: dentro c'è quello che era rimasto in quei byte da prima. Il valore è **indeterminato**, e negli schemi si scrive **«?»**. Ho provato a stamparlo: ```c #include int main(void) { int x; printf("x vale %d\n", x); return 0; } ``` Senza `-Werror` gcc avvisa (`warning: 'x' is used uninitialized`) e il programma stampa un numero a caso, sul mio PC `x vale 32758`. Con `-Wall -Werror` non compila: ```text error: 'x' is used uninitialized [-Werror=uninitialized] ``` > [!TRAPPOLA] «?» non vuol dire 0 > Una variabile locale non inizializzata **non** vale 0: vale quello che capita. Negli esercizi sullo stato della memoria, una casella mai assegnata si scrive «?», e un calcolo che la usa dà «?». ### Più variabili (slide 26) ```c int main(void) { int x; int y; int z; } ``` Tre `int` da 4 byte: 12 byte, nell'ordine di dichiarazione. Lo stato dopo l'ultima dichiarazione: | Indirizzo | Contenuto | Nome | |---|---|---| | FP − 4 | ? | `x` | | FP − 8 | ? | `y` | | FP − 12 | ? | `z` ← SP | (In alto gli indirizzi più grandi: la riga di `x` è la prima sotto FP, e SP è sceso di 12 byte.) ::: prova Dopo `int a; int b;` di quanti byte è sceso SP rispetto a FP? E in che riga sta `b`? Di 8 byte (due `int` da 4). `b` sta sotto `a`, all'indirizzo FP − 8, perché è stata dichiarata dopo. ::: > [!RICORDA] > Area codice fissa, area dati con lo stack in alto che cresce verso il basso. PC = istruzione corrente, FP = inizio delle variabili di `main`, SP = prossima casella libera. Variabili in ordine di dichiarazione, valore iniziale «?». ## L'assegnamento (slide 27–29) Una casella con «?» non serve a molto. Per metterci un valore si usa l'operatore `=`: ```c int x; x = 10; ``` Oppure tutto in una riga, dichiarazione e primo valore insieme: è una **definizione con inizializzazione**. ```c int x = 10; ``` ### Come funziona (slide 29) La forma generale è: ```c variabile = espressione; ``` Si esegue in tre passi: 1. si **calcola** l'espressione a destra (in gergo: viene **valutata**); 2. il calcolo produce un **valore**; 3. il valore viene **copiato** nella casella della variabile a sinistra; quello che c'era prima va perso. I due lati hanno nomi tecnici: - il lato sinistro è l'**lvalue** (da *left value*): deve indicare una casella di memoria, cioè una variabile; - il lato destro è l'**rvalue** (*right value*): un valore o un'espressione da calcolare. Per questo `x = x + 1` ha senso in C: prima si calcola `x + 1` con il valore vecchio, poi il risultato va in `x`. Non è un'equazione, è un ordine: «metti in `x` il valore di `x + 1`». E per questo `10 = x` non compila: 10 non è una casella. > [!TRAPPOLA] `=` non è il confronto > In C `=` **assegna**. Per chiedere «sono uguali?» si usa `==`, che vedrai con le condizioni. Nello pseudocodice della lezione 01A l'assegnamento si scriveva con la freccia `←`. ### Quando il valore non ci sta (slide 28) L'assegnamento deve rispettare il **tipo**. Tre casi: | Istruzione | Che cosa succede | Stampa | |---|---|---| | `int x = -8;` | normale | `x vale -8` | | `int x = 2147483649;` | il numero supera il massimo di `int` ($2^{31} - 1$): **overflow** | `x vale -2147483647` | | `int x = 8.89;` | un `int` non ha la virgola: la parte decimale viene **tagliata** | `x vale 8` | Ho compilato gli ultimi due con gcc 16.1 e `-Wall -Werror`: **compilano tutti e due senza nessun avviso**, e stampano esattamente quello che dicono le slide. Il compilatore non ti protegge: le slide parlano di overflow «non rilevabili dal compilatore». - Nel primo caso il numero 2 147 483 649 è $2^{31} + 1$: per entrare in 32 bit «gira» come il contachilometri e diventa $-2^{31} + 1 = -2\,147\,483\,647$. - Nel secondo `8.89` diventa 8: la virgola viene **troncata**, non arrotondata (anche 8.99 diventerebbe 8). > [!NOTA] Gli spazi nel numero > La slide 28 scrive `int x = 2 147 483 649;` con gli spazi per leggerlo meglio. In C un numero non può contenere spazi: nel codice va scritto `2147483649`. > [!OLTRE] Un avviso che -Wall non dà > gcc può avvisare della virgola persa con l'opzione `-Wconversion`, che non fa parte di `-Wall`: `warning: conversion from 'double' to 'int' changes value from '8.89…' to '8'`. All'esame si usa solo `-Wall -Werror`, quindi conta saperlo tu. ::: prova Dopo `int a = 5; a = a * 2 + 1;` quanto vale `a`? 11. Si calcola prima la destra con il valore vecchio: $5 \cdot 2 + 1 = 11$, poi 11 va in `a`. ::: > [!RICORDA] > `variabile = espressione;`: prima si calcola la destra, poi il valore si copia a sinistra. Il valore deve stare nel tipo: un intero troppo grande «gira» (overflow), un reale messo in un `int` perde la parte decimale. gcc non lo segnala. ## Le espressioni con gli interi (slide 30–32) Per ora solo espressioni con variabili **intere**. Gli operatori: | Operatore | Che cosa fa | Esempio | Risultato | |---|---|---|---| | `+` | somma | `7 + 2` | 9 | | `-` | sottrazione | `7 - 2` | 5 | | `*` | moltiplicazione | `7 * 2` | 14 | | `/` | divisione **intera** | `7 / 2` | 3 | | `%` | **resto** della divisione (modulo) | `7 % 2` | 1 | | `( )` | raggruppa | `(7 + 2) * 2` | 18 | Esempi della slide 30: ```c int incasso = biglietti * prezzoBiglietto; int utile = incasso - costoSala; ``` ### Divisione intera e resto (slide 32) Dividere 13 caramelle in 3 sacchetti uguali: in ogni sacchetto ne vanno 4 e ne avanza 1. ```c int a = 13, b = 3; int quot = a / b; // 4 int r = a % b; // 1, perche' 13 = 3*4 + 1 ``` - `/` tra due interi dà solo la **parte intera** del quoziente. La parte decimale viene **scartata**, non arrotondata: `7 / 2` fa 3, non 3,5 e non 4. - `%` dà il **resto**: quello che avanza. Il resto serve molto per la **parità**: se `n % 2` vale 0 il numero è pari, se vale 1 è dispari (per `n` positivo o zero). > [!OLTRE] Con i numeri negativi > Il C tronca verso lo zero: `-13 / 3` fa **−4** (non −5) e `-13 % 3` fa **−1**. Vale sempre `(a / b) * b + a % b == a`. Per questo il controllo di parità di un negativo dispari dà −1, non 1: meglio scrivere `n % 2 != 0` per «dispari». Risultati provati con gcc 16.1. > [!TRAPPOLA] Divisione per zero > `x / 0` e `x % 0` tra interi compilano, ma all'esecuzione il programma si interrompe (lezione 02A, errori a runtime). ### Chi viene prima (slide 31) Quando un'espressione ha più operatori, contano le **precedenze**: 1. le **parentesi** `( )` prima di tutto, anche annidate; 2. poi `*`, `/`, `%`; 3. poi `+` e `-`; 4. a parità di livello, **da sinistra a destra**; 5. l'assegnamento `=` per ultimo. | Espressione | Come si calcola | Risultato | |---|---|---| | `2 + 3 * 4` | prima `3 * 4` | 14 | | `(2 + 3) * 4` | prima la parentesi | 20 | | `20 / 4 * 2` | da sinistra: `20 / 4` = 5, poi `5 * 2` | 10 | | `7 / 2 * 2` | `7 / 2` = 3, poi `3 * 2` | 6 | Risultati provati. L'ultima riga mostra che con gli interi `7 / 2 * 2` **non** torna 7: la divisione ha già perso il resto. ::: prova Quanto vale `10 - 4 % 3 * 2`? 8. Prima `%` e `*` da sinistra: `4 % 3` = 1, poi `1 * 2` = 2. Poi la sottrazione: `10 - 2` = 8. ::: > [!RICORDA] > Tra interi `/` taglia la parte decimale e `%` dà il resto. Ordine: parentesi, poi `* / %`, poi `+ -`, da sinistra a destra, e `=` alla fine. ## Un programma seguito nella memoria (slide 33–36) Il programma «treVariabili» delle slide, eseguito riga per riga: ```c #include int main(void) { int x; int y; int z; x = 5; y = 2; z = x + y; printf("Le var x, y e z valgono %d, %d, %d\n", x, y, z); } ``` | Dopo la riga | `x` (FP − 4) | `y` (FP − 8) | `z` (FP − 12) | Che cosa è successo | |---|---|---|---|---| | `int x; int y; int z;` | ? | ? | ? | 12 byte riservati, SP è sceso a FP − 12 | | `x = 5;` | **5** | ? | ? | assegnamento di un numero | | `y = 2;` | 5 | **2** | ? | | | `z = x + y;` | 5 | 2 | **7** | si leggono `x` e `y`, si somma, si scrive in `z` | | `printf(…)` | 5 | 2 | 7 | stampa `Le var x, y e z valgono 5, 2, 7` | Nella slide 35 la riga `z = x + y;` è affiancata dalle istruzioni assembly che fa davvero la macchina, come nella lezione 02A: ```text LOAD, R0, @x ; copia x in un registro LOAD, R1, @y ; copia y in un altro registro ADD, R0, R1 ; somma nei registri STORE, R0, @z ; scrive il risultato nella casella di z ``` Una riga di C diventa quattro istruzioni macchina. Il nome `x` è diventato l'indirizzo `@x`. > [!METODO] Disegnare lo stato della memoria > 1. Una riga per ogni variabile, nell'ordine di dichiarazione, sotto FP. > 2. Al momento della dichiarazione scrivi «?». > 3. A ogni assegnamento: calcola la destra con i valori **attuali**, poi sostituisci il valore della variabile a sinistra. > 4. Le altre caselle non cambiano. > 5. Se un calcolo usa una casella «?», il risultato è «?». ::: prova Disegna lo stato dopo `int a = 4; int b; b = a % 3; a = a + b;`. `a` = 4, `b` = ?; poi `b` = `4 % 3` = 1; poi `a` = `4 + 1` = 5. Stato finale: `a` = 5, `b` = 1. ::: > [!RICORDA] > Lo stato della memoria cambia solo con gli assegnamenti, una casella alla volta. Una riga di C come `z = x + y;` corrisponde a più istruzioni macchina: LOAD, LOAD, ADD, STORE. ## Tutti i modi di dare un valore (slide 39–41) La slide 39 riassume i quattro modi di mettere un valore in una variabile: | Modo | Codice | Nota | |---|---|---| | inizializzazione nella dichiarazione | `int x = 10;` | valore dato subito | | assegnamento dopo | `int x;` poi `x = 10;` | in mezzo `x` vale «?» | | da tastiera | `int n;` poi `scanf("%d", &n);` | serve la `&` (Lab01) | | assegnamento multiplo | `a = b = c = 0;` | si legge da destra: `c = 0`, poi `b = c`, poi `a = b` | L'assegnamento multiplo funziona perché un assegnamento è anche un'**espressione** che vale il valore assegnato: `c = 0` vale 0, e quel valore va in `b`, e così via. ### Assegnamenti composti (slide 40) Capita spesso di aggiornare una variabile partendo dal suo valore: `somma = somma + voto`. Il C ha una scorciatoia: | Operatore | Vuol dire | Esempio | Risultato | |---|---|---|---| | `x += y` | `x = x + y` | `x = 5; x += 3;` | 8 | | `x -= y` | `x = x - y` | `x = 5; x -= 2;` | 3 | | `x *= y` | `x = x * y` | `x = 5; x *= 4;` | 20 | | `x /= y` | `x = x / y` | `x = 20; x /= 5;` | 4 | | `x %= y` | `x = x % y` | `x = 20; x %= 6;` | 2 | Risultati provati. ### Più uno e meno uno (slide 41) ```c x++; // come x = x + 1 x--; // come x = x - 1 ``` Servono ogni volta che si conta: i contatori dei cicli, che arriveranno presto. Le slide li usano solo come **istruzioni a sé**, su una riga da soli. Dentro un'espressione più grande (`y = x++ * 2`) hanno un comportamento più sottile, che il corso non tratta: non usarli così. ::: prova Con `int n = 10;` che cosa vale `n` dopo `n -= 3; n *= 2; n++;`? 15. `10 - 3` = 7, poi `7 * 2` = 14, poi `14 + 1` = 15. ::: > [!RICORDA] > `x op= y` vuol dire `x = x op y`. `x++` e `x--` aggiungono o tolgono 1: usali da soli, su una riga. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `=` | «uguale», «prende» | assegnamento: copia il valore di destra nella variabile di sinistra | `x = 10;` | | `+ - * / %` | più, meno, per, diviso, modulo | operazioni sugli interi; `/` intera, `%` resto | `13 / 3` = 4, `13 % 3` = 1 | | `+=` `-=` `*=` `/=` `%=` | «più uguale», … | aggiorna la variabile con un'operazione | `x += 3` | | `++`, `--` | «più più», «meno meno» | aumenta o diminuisce di 1 | `x++` | | `%d` | «percento di» | in `printf`: un `int` | `printf("%d", x)` | | `%f` | «percento effe» | in `printf`: un `float` o `double` | `printf("%f", y)` | | `%zu` | «percento zeta u» | un `size_t`, per esempio un `sizeof` | `printf("%zu", sizeof(int))` | | `%6d`, `%06d` | | almeno 6 posizioni, con spazi o con zeri | `000007` | | `sizeof` | «size of» | byte occupati da un tipo o da una variabile | `sizeof(int)` = 4 | | `0x` | «zero ics» | numero in esadecimale, usato per gli indirizzi | `0x904A` | | `3.14f` | | costante `float` (senza `f` è `double`) | `float y = 3.14f;` | | PC, FP, SP | program counter, frame pointer, stack pointer | istruzione corrente, inizio delle variabili, prossima casella libera | | | ? | «indeterminato» | casella riservata ma mai assegnata | `int x;` | | $\Z$, $\N$, $\R$ | interi, naturali, reali | gli insiemi della matematica che i tipi approssimano | `int` ≈ $\Z$ | ## Verso l'esame L'esame di Programmazione I è al PC, unico per i tre canali: appelli **lunedì 25/01/2027** e **giovedì 11/02/2027**. Questa lezione entra in due tipi di esercizio. **Esercizi sullo stato della memoria.** Nel 2025/26 erano uno dei due esercizi di teoria del canale C (scheda del corso). Si chiede il valore delle variabili dopo una sequenza di istruzioni, che cosa viene stampato, quali caselle sono ancora «?». Il metodo è quello della sezione «Un programma seguito nella memoria»: una colonna per variabile, una riga per istruzione. Più avanti nel corso lo stesso schema si allarga alle chiamate di funzione, con un frame per ogni chiamata. **Esercizi di programmazione.** Ogni programma usa variabili, assegnamenti, `printf`. Gli errori che costano: 1. **specificatore sbagliato** in `printf` (`%f` per un `int`): con `-Wall -Werror` il programma non compila; 2. **variabile usata prima di darle un valore**: non compila con `-Werror`, e se compilasse darebbe valori a caso; 3. **divisione intera** dove serviva quella con la virgola (`7 / 2` fa 3); 4. **overflow** con numeri grandi: il compilatore non avvisa; 5. **stampe diverse** da quelle richieste: CodeRunner confronta il testo carattere per carattere, spazi compresi. > [!ESAME] Nomi e leggibilità > Le soluzioni vengono anche lette (riepilogo d'esame 2025/26 del canale C). Nomi chiari in camelCase, una variabile per ogni ruolo, niente `static` (vietato) né variabili globali. ## Quiz ```quiz D: Quale tra queste NON è una delle quattro cose che definiscono una variabile, secondo la slide 5? + Il numero di volte che viene usata - Il nome - Il tipo - L'indirizzo - Il valore = Una variabile è definita da nome, tipo, indirizzo e valore. Quante volte la usi nel programma non fa parte della variabile. D: Dopo queste righe, quanto vale `r`? `int a = 17, b = 5; int r = a % b;` N: 2 = 17 = 5 · 3 + 2: il quoziente intero è 3, il resto 2. D: Che cosa stampa `printf("%d\n", 7 / 2 * 2);`? + 6 - 7 - 7.0 - 8 - 3 = Le operazioni `/` e `*` hanno la stessa precedenza e si fanno da sinistra: `7 / 2` è la divisione intera e fa 3, poi `3 * 2` fa 6. Il 7 si otterrebbe solo con la divisione con la virgola, che tra interi non c'è. D: Dopo `int x;` (variabile locale, senza altre istruzioni), che cosa contiene `x` nel modello della memoria? + Un valore indeterminato, che si scrive «?» - 0 - 1 - Il suo indirizzo - Niente: la memoria per `x` viene riservata solo al primo assegnamento = La dichiarazione riserva lo spazio sullo stack, ma non scrive niente: dentro resta quello che c'era. Non è 0, e la memoria è già riservata. D: Nel modello della memoria del corso, dopo `int a; int b; int c;` in `main`, di quanti byte è sceso lo stack pointer rispetto al frame pointer (int da 4 byte)? N: 12 = Tre variabili da 4 byte, una sotto l'altra: SP scende di 12 byte. D: Che cosa stampa questo programma (compilato senza `-Werror`)? `int x = 8.89; printf("x vale %d\n", x);` + `x vale 8` - `x vale 9` - `x vale 8.89` - Non compila - `x vale 8.890000` = Un `int` non ha la virgola: la parte decimale viene tagliata, non arrotondata. Il programma compila anche con `-Wall -Werror`, senza nessun avviso. D: Quale istruzione stampa `x vale 000042` con `int x = 42;`? + `printf("x vale %06d\n", x);` - `printf("x vale %6d\n", x);` - `printf("x vale 0000%d\n", x);` - `printf("x vale %d000\n", x);` - `printf("x vale %f\n", x);` = `%06d` usa almeno 6 posizioni e riempie a sinistra con zeri. `%6d` riempie con spazi. `0000%d` funziona solo per numeri di 2 cifre. `%f` con un `int` non compila con `-Wall -Werror`. D: Con `int n = 4;` quanto vale `n` dopo `n += 2; n *= 3; n--;`? N: 17 = `4 + 2` = 6, poi `6 * 3` = 18, poi `18 - 1` = 17. D: Quale di questi identificatori NON è valido in C? + `2risultati` - `risultati2` - `_tmp` - `sommaTot` - `media_voti` = Un identificatore non può cominciare con una cifra. Gli altri sono validi; `_tmp` comincia con il trattino basso, ammesso. D: Su quale di queste affermazioni sulle dimensioni dei tipi il C dà una garanzia? + `sizeof(int) <= sizeof(long)` - `sizeof(int)` vale 4 - `sizeof(long)` vale 8 sulle macchine a 64 bit - `sizeof(float) == sizeof(double)` - `sizeof(char)` vale 2 = Il C garantisce solo l'ordine `char` ≤ `short` ≤ `int` ≤ `long` ≤ `long long` (e `sizeof(char)` uguale a 1). Che `int` sia di 4 byte è tipico ma non garantito, e su Windows a 64 bit `long` è di 4 byte, non 8. ``` ## Esercizi ::: esercizio base Stato della memoria Disegna lo stato della memoria (valori di tutte le variabili) dopo ogni riga, e scrivi che cosa viene stampato. ```c int main(void) { int a = 3; int b; int c = a * 4; b = c - a; a = a + b; printf("%d %d %d\n", a, b, c); } ``` ::: soluzione | Dopo | `a` | `b` | `c` | |---|---|---|---| | `int a = 3;` | 3 | | | | `int b;` | 3 | ? | | | `int c = a * 4;` | 3 | ? | 12 | | `b = c - a;` | 3 | 9 | 12 | | `a = a + b;` | 12 | 9 | 12 | Stampa `12 9 12`. Nella riga `a = a + b` si usa il valore vecchio di `a` (3): $3 + 9 = 12$. Verificato con gcc. ::: ::: esercizio base Precedenze Calcola a mano, poi controlla con un programma: (a) `5 + 12 / 4 * 2`; (b) `(5 + 12) / 4 * 2`; (c) `5 + 12 / (4 * 2)`; (d) `17 % 5 * 3 - 1`. ::: soluzione (a) `12 / 4` = 3, `3 * 2` = 6, `5 + 6` = **11**. (b) `17 / 4` = 4 (intera), `4 * 2` = **8**. (c) `4 * 2` = 8, `12 / 8` = 1, `5 + 1` = **6**. (d) `17 % 5` = 2, `2 * 3` = 6, `6 - 1` = **5**. Verificati con gcc 16.1. ::: ::: esercizio base Ore e minuti Scrivi un programma che, dato `int minuti = 135;`, stampa `135 minuti = 2 ore e 15 minuti` usando `/` e `%`. ::: soluzione ```c #include int main(void) { int minuti = 135; int ore = minuti / 60; int resto = minuti % 60; printf("%d minuti = %d ore e %d minuti\n", minuti, ore, resto); return 0; } ``` Stampa `135 minuti = 2 ore e 15 minuti` (compilato con `-Wall -Werror`). `135 / 60` = 2, `135 % 60` = 15. ::: ::: esercizio medio Le cifre di un numero Con `int n = 4827;` stampa separatamente le unità, le decine, le centinaia e le migliaia, usando solo `/` e `%`. ::: soluzione ```c #include int main(void) { int n = 4827; int unita = n % 10; int decine = n / 10 % 10; int centinaia = n / 100 % 10; int migliaia = n / 1000; printf("%d %d %d %d\n", migliaia, centinaia, decine, unita); return 0; } ``` Stampa `4 8 2 7`. `n / 10` toglie l'ultima cifra (482), `% 10` prende quella che ora è l'ultima (2). È lo stesso trucco della conversione in base 2 di Fondamenti, con 10 al posto di 2. ::: ::: esercizio medio Trova gli errori Il programma seguente con `gcc -Wall -Werror` non compila. Trova i problemi. ```c #include int main(void) { int totale; float media = 7.5f; int 1voto = 28; totale = totale + 28; printf("totale %f, media %f\n", totale, media); return 0; } ``` ::: soluzione 1. `int 1voto` comincia con una cifra: `invalid suffix 'voto' on integer constant`. Si chiama per esempio `voto1`. 2. `totale = totale + 28;` usa `totale` mai inizializzato: `'totale' is used uninitialized`. Va scritto `int totale = 0;`. 3. Nel `printf` `totale` è un `int` stampato con `%f`: `format '%f' expects argument of type 'double', but argument 2 has type 'int'`. Va `%d`. gcc 16.1 al primo tentativo segnala gli errori 1 e 3. L'errore 2 compare solo dopo aver corretto il nome: finché la riga di `1voto` non compila, gcc non arriva a controllare i valori delle variabili. Per questo si ricompila dopo ogni correzione. Versione corretta: ```c #include int main(void) { int totale = 0; float media = 7.5f; int voto1 = 28; totale = totale + voto1; printf("totale %d, media %f\n", totale, media); return 0; } ``` Stampa `totale 28, media 7.500000`. ::: ::: esercizio medio Media che non torna Con `int a = 7, b = 8;` il programma calcola `int media = (a + b) / 2;` e stampa 7. Perché non 7,5? Come si ottiene 7,5? ::: soluzione `(a + b) / 2` è una divisione tra interi: $15 / 2$ fa 7, il resto si perde. E anche mettendo il risultato in un `float` (`float media = (a + b) / 2;`) si ottiene 7.000000, perché la divisione è già stata fatta tra interi. Per avere 7,5 uno dei due operandi deve essere reale: `float media = (a + b) / 2.0f;` stampa `7.500000`. Le conversioni tra tipi le vedrai nel laboratorio 02. ::: ::: esercizio difficile Lo scambio di due variabili Con `int x = 3, y = 8;` scrivi le istruzioni che scambiano i valori: alla fine `x` deve valere 8 e `y` 3. Perché `x = y; y = x;` non funziona? ::: soluzione `x = y;` mette 8 in `x` e il 3 si perde; poi `y = x;` copia 8 in `y`. Alla fine valgono tutti e due 8. Serve una terza variabile che conservi il valore: ```c int x = 3, y = 8; int tmp = x; // tmp = 3 x = y; // x = 8 y = tmp; // y = 3 ``` | Dopo | `x` | `y` | `tmp` | |---|---|---|---| | inizio | 3 | 8 | | | `int tmp = x;` | 3 | 8 | 3 | | `x = y;` | 8 | 8 | 3 | | `y = tmp;` | 8 | 3 | 3 | Lo scambio è l'argomento della prossima lezione nel canale B 2025/26 e nel deck del canale A. ::: ::: esercizio esame Che cosa stampa Senza compilare, scrivi l'output esatto. ```c #include int main(void) { int a = 10, b = 4, c; c = a / b; a %= b; b *= c; c = a + b * 2; printf("a=%d b=%03d c=%4d\n", a, b, c); return 0; } ``` ::: soluzione - `c = 10 / 4` = 2. - `a %= b`: `a = 10 % 4` = 2. - `b *= c`: `b = 4 * 2` = 8. - `c = a + b * 2` = `2 + 16` = 18. Stampa `a=2 b=008 c= 18`: `%03d` su 3 posizioni con zeri, `%4d` su 4 posizioni con due spazi davanti a 18. Verificato con gcc 16.1. ::: ## Domande di ripasso ::: domanda Che cos'è un tipo e quali cose stabilisce? Una regola che dà significato ai bit in memoria. Stabilisce nome, dimensione in byte, valori ammessi, operazioni possibili, rappresentazione interna e regole di conversione verso altri tipi. ::: ::: domanda Quali sono le quattro proprietà di una variabile? Quale sceglie il programmatore? Nome, tipo, indirizzo e valore. Il programmatore sceglie nome e tipo; l'indirizzo lo decidono compilatore e sistema; il valore cambia durante l'esecuzione. ::: ::: domanda Perché un `int` non può contenere qualunque intero? Perché occupa un numero fisso di byte (di solito 4, cioè 32 bit): può rappresentare solo $2^{32}$ valori, da $-2^{31}$ a $2^{31} - 1$. I tipi del C sono modelli finiti degli insiemi infiniti della matematica. ::: ::: domanda Che cosa garantisce il C sulle dimensioni dei tipi? Solo l'ordine: char ≤ short ≤ int ≤ long ≤ long long, e float ≤ double; più sizeof(char) uguale a 1. Le dimensioni vere dipendono dalla macchina (su Windows a 64 bit long è di 4 byte). ::: ::: domanda Che cosa succede in memoria quando si dichiara `int x;`? Viene riservato lo spazio per un int (4 byte) sullo stack: lo stack pointer scende di 4. Il contenuto resta indeterminato («?») finché non si assegna un valore. ::: ::: domanda Che cosa indicano PC, FP e SP nel modello della memoria? PC: l'istruzione da eseguire nell'area codice. FP: l'indirizzo da cui partono le variabili di main. SP: dove verrà messa la prossima variabile. All'inizio FP e SP coincidono. ::: ::: domanda Come si esegue un assegnamento `variabile = espressione;`? Si valuta l'espressione a destra, si ottiene un valore e lo si copia nella casella della variabile a sinistra (lvalue), cancellando il valore precedente. ::: ::: domanda Che cosa fanno `/` e `%` tra interi? `/` dà il quoziente intero, scartando la parte decimale (13 / 3 = 4); `%` dà il resto (13 % 3 = 1). ::: ::: domanda Qual è l'ordine di valutazione in `a + b * c - d / e`? Prima `b * c` e `d / e` (precedenza più alta, da sinistra), poi la somma e la sottrazione da sinistra a destra: `(a + (b * c)) - (d / e)`. ::: ::: domanda Che cosa vogliono dire `%d`, `%f`, `%zu`, `%6d` e `%06d`? Intero; reale; size_t (per esempio il risultato di sizeof); intero su almeno 6 posizioni con spazi a sinistra; intero su almeno 6 posizioni con zeri a sinistra. ::: ::: domanda Che differenza c'è tra visibilità e durata di una variabile? La visibilità (scope) dice dove si può usare il nome; la durata (lifetime) dice per quanto tempo la variabile occupa memoria. Una locale è visibile nel suo blocco e vive sullo stack finché il blocco dura; una globale si vede in tutto il file e vive per tutto il programma. ::: ::: domanda Che cosa fanno `x *= 3` e `x--`? `x *= 3` equivale a `x = x * 3`; `x--` equivale a `x = x - 1`. ::: ## Glossario ```glossario Tipo | Regola che dà significato ai bit: dimensione, valori ammessi, operazioni, rappresentazione, conversioni. Variabile | Nome e tipo associati a una porzione di memoria che contiene un valore. Indirizzo | Posizione in memoria di una variabile; lo decide il sistema, spesso scritto in esadecimale (0x…). Dichiarazione | Riga che introduce una variabile con tipo e nome, per esempio `int x;`. Inizializzazione | Primo valore dato a una variabile nella dichiarazione: `int x = 10;`. Assegnamento | `variabile = espressione;`: calcola la destra e copia il valore nella variabile. lvalue / rvalue | Lato sinistro (una casella di memoria) e lato destro (un valore da calcolare) di un assegnamento. Overflow | Valore che non sta nel tipo: un int oltre il massimo «gira» verso i negativi. Stack (pila) | Zona dell'area dati dove stanno le variabili locali; nel modello del corso cresce verso il basso. Heap | Zona della memoria per le variabili dinamiche, create con malloc e liberate a mano. Program counter (PC) | Registro con l'indirizzo dell'istruzione da eseguire. Frame pointer (FP) | Indirizzo da cui partono le variabili della funzione in esecuzione (per ora main). Stack pointer (SP) | Indirizzo in cui verrà messa la prossima variabile. Stack overflow | Errore a runtime: lo spazio dello stack è finito. Valore indeterminato («?») | Contenuto di una variabile locale dichiarata e mai assegnata. sizeof | Operatore che dà i byte occupati da un tipo o da una variabile; il risultato è un size_t. size_t | Tipo intero senza segno per dimensioni e conteggi, da stddef.h; si stampa con %zu. Specificatore di formato | Codice come %d o %f in printf che indica dove e come stampare un valore. Divisione intera | `/` tra interi: tiene solo la parte intera del quoziente. Modulo | `%`: il resto della divisione intera. Precedenza | Regola che dice quale operatore si calcola prima. camelCase | Convenzione per i nomi composti: sommaTot, elementoTrovato. Visibilità (scope) | Parte del codice in cui si può usare un nome. Durata (lifetime) | Tempo in cui una variabile occupa memoria. Assegnamento composto | `x += y` e simili: aggiorna una variabile con un'operazione. ``` ## Checklist ```checklist - So dire che cos'è un tipo e quali sei cose stabilisce. - So elencare nome, tipo, indirizzo e valore di una variabile e chi li sceglie. - So spiegare perché int, unsigned int e float sono finiti e qual è l'intervallo di un int a 32 bit. - So usare sizeof e stamparlo con %zu, e so che il C garantisce solo l'ordine tra le dimensioni. - So scegliere un nome valido e leggibile in camelCase. - So distinguere visibilità e durata, e variabili locali, globali, statiche e dinamiche. - So disegnare area codice, area dati, PC, FP e SP e mettere le variabili sullo stack in ordine di dichiarazione. - So che una variabile locale non inizializzata vale «?» e che gcc con -Werror non compila se la uso. - So eseguire un assegnamento: prima la destra, poi la copia a sinistra. - So prevedere overflow e troncamento negli assegnamenti, anche se gcc non avvisa. - So calcolare espressioni intere con /, % e le precedenze. - So usare printf con %d, %f, %6d, %06d. - So usare +=, -=, *=, /=, %=, ++ e --. - So seguire un programma riga per riga scrivendo lo stato della memoria. ``` ## Fonti - **Slide della lezione**: «Memoria e Variabili. Modello della memoria per il linguaggio C, dalle variabili alle espressioni» (02B_assegnamento_memory_model), Programmazione I – Teoria, canale B, A.A. 2026/27, 41 pagine; il numero di slide è accanto a ogni titolo. - **Canali A e C e canale B 2025/26**: deck «Assegnazione, memory model, scambio» (canale A 2025/26), lezione 02 «Introduzione al C» (canale C 2026/27), «Memoria e Variabili, operatore di assegnamento» (canale B 2025/26), dalle pagine Moodle aperte agli ospiti. - **Formati di printf**: [manuale della libreria GNU C, Formatted Output](https://www.gnu.org/software/libc/manual/html_node/Formatted-Output.html) (citato nella slide 38). - **Prove**: tutti i programmi e i risultati (dimensioni con sizeof, overflow, troncamento, valore non inizializzato, messaggi d'errore) ottenuti con gcc 16.1 (MinGW-w64, Windows 11 a 64 bit) e `-Wall -Werror -std=c11`. - **Esame**: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md) (regole d'esame, esercizi sullo stato della memoria). - I riquadri **«Oltre le slide»** (divisione con i negativi, `-Wconversion`), il riquadro su `long` in Windows, i «Prova tu» e gli esercizi sono aggiunte di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/02C_referenziamento_scanf_puntatori.md` ```yaml corso: PROG1 lezione: 02C titolo: Indirizzi, scanf e puntatori data: 2026-10-07 docenti: Elvio Amparore sopratitolo: Programmazione I · Teoria · Canale B · Lezione 02C descrizione: >- Appunti della lezione 02C di Programmazione I (canale B): l'indirizzo di una variabile e l'operatore &, la stampa degli indirizzi con %p, la lettura da tastiera con scanf e il suo valore di ritorno, i puntatori T*, l'operatore di dereferenziamento *, l'aliasing, i puntatori non inizializzati, NULL, la dimensione dei puntatori e i quattro usi del simbolo *. lede: >- Ogni variabile abita a un indirizzo, come una casa. Con & lo scopri, con un puntatore lo scrivi su un biglietto, con * vai a quell'indirizzo e leggi o cambi quello che c'è dentro. È anche il motivo della & in scanf: è il corriere che consegna il numero letto, e senza indirizzo non sa dove portarlo. materiale: slide scheda: Slide: 02C_referenziamento_scanf_puntatori («Referenziamento, Input e Puntatori in C») · 56 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 90–120 minuti, meglio con gcc a portata di mano fonte: >- Slide «Referenziamento, Input e Puntatori in C. Dall'indirizzo di memoria ai puntatori» (02C_referenziamento_scanf_puntatori), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/02C_referenziamento_scanf_puntatori.html genera_html: true ``` ## In breve - Ogni variabile ha un **valore** (che cosa c'è dentro) e un **indirizzo** (dove sta in memoria). L'operatore **`&`** dà l'indirizzo: `&x` si legge «l'indirizzo di `x`». - `printf` stampa un indirizzo con **`%p`**. Il numero cambia da un'esecuzione all'altra: non va mai usato nella logica del programma. - **`scanf("%d", &x);`** legge un intero da tastiera e lo scrive in `x`. Serve la `&` perché `scanf` deve sapere **dove** scrivere. - `scanf` **restituisce** quanti valori ha letto. Se l'input non va bene si ferma e non tocca le variabili rimaste: se non avevano un valore, restano «?». - Un **puntatore** è una variabile che contiene un indirizzo. Per ogni tipo `T` c'è il tipo **`T*`**: `int* pX = &x;` mette in `pX` l'indirizzo di `x`. - L'operatore **`*`** davanti a un puntatore va all'indirizzo che contiene: `*pX` è la variabile `x` stessa. Leggere `*pX` legge `x`, scrivere `*pX = 10;` cambia `x`. - Più puntatori allo stesso indirizzo sono **alias** della stessa variabile. Si può usare `*p` solo se `p` contiene un **indirizzo valido**: mai con un puntatore non inizializzato o **`NULL`**. - Un puntatore occupa 8 byte su una macchina a 64 bit, qualunque sia il tipo a cui punta. `&` e `*` si annullano a vicenda. > [!CANALI] > **Canale A (Fiandrotti).** Il deck 02C «referenziamento, `scanf`, puntatori» ha la stessa struttura di questo; nel 2025/26 i testi erano quasi identici. Il deck 2026/27 del canale A per questa lezione non l'ho ancora visto. > > **Canale C (Mazzei).** Gli stessi argomenti sono nella lezione 03 «Dai numeri ai puntatori». > > **Laboratorio.** `scanf` con la `&` l'hai già usata nel Laboratorio 01, come una formula da ricopiare. Qui scopri che cosa vuol dire quella `&`. > > L'esame è unico per i tre canali, e i puntatori ci entrano negli esercizi sullo **stato della memoria** e nelle funzioni che restituiscono un risultato «attraverso un puntatore». ## L'indirizzo di una variabile (slide 2–7) Nella lezione 02B ogni variabile era una casella con quattro cose: nome, tipo, indirizzo e valore. Finora abbiamo usato solo il valore. Adesso tocca all'indirizzo. Pensa a una via con le case numerate. In ogni casa abita qualcuno. Il **numero civico** dice **dove** sta la casa; chi ci abita è **che cosa** c'è dentro. Sono due informazioni diverse: se cambia l'inquilino, il numero civico resta lo stesso. In memoria è uguale: - il **valore** di `x` è quello che c'è nella casella, per esempio 5; - l'**indirizzo** di `x` è il numero della casella, per esempio `0x03FC`. L'indirizzo è un numero **senza segno**, unico per ogni posizione della memoria. Si scrive di solito in **esadecimale**, con il prefisso `0x` (lezione 01 di Fondamenti), perché è più corto. > [!DEF] Operatore di referenziamento & (slide 3, 27) > L'operatore `&` (si legge «e commerciale», in inglese *ampersand*), applicato a una variabile, ne restituisce l'**indirizzo di memoria**. `&x` è «l'indirizzo della variabile `x`». **Come si legge.** `x` è il contenuto della casella, `&x` è il suo numero civico. Il nome «referenziamento» viene dall'inglese *reference*, riferimento: con `&x` ottieni un riferimento a `x`. ### Stampare gli indirizzi con %p (slide 5–6) `printf` ha uno specificatore apposta per gli indirizzi: **`%p`** (da *pointer*). Il programma delle slide: ```c #include int main(void) { int x = 5; int y = 2; int z = x + y; printf("La var x all'indirizzo %p vale %d \n", &x, x); printf("La var y all'indirizzo %p vale %d \n", &y, y); printf("La var z all'indirizzo %p vale %d \n", &z, z); } ``` Sul computer delle slide (Linux) ha stampato: ```text La var x all'indirizzo 0x7fffd0624e0c vale 5 La var y all'indirizzo 0x7fffd0624e08 vale 2 La var z all'indirizzo 0x7fffd0624e04 vale 7 ``` Sul mio (Windows, gcc 16.1, con `-Wall -Werror`) ha stampato: ```text La var x all'indirizzo 00000076D3DFF75C vale 5 La var y all'indirizzo 00000076D3DFF758 vale 2 La var z all'indirizzo 00000076D3DFF754 vale 7 ``` Tre cose da notare: 1. **Il formato dipende dal sistema.** Linux scrive `0x` e le lettere minuscole; Windows scrive tutte le 16 cifre, senza `0x`, con le maiuscole. 2. **Gli indirizzi scendono di 4 in 4.** Le tre variabili sono una sotto l'altra sullo stack, ognuna da 4 byte, come nel modello della memoria della 02B: lo stack cresce verso il basso. 3. **Il numero cambia ogni volta.** Rilanciando il programma si ottengono indirizzi diversi. Il valore concreto di un indirizzo non deve mai entrare nella logica del programma (slide 6): conta solo che indichi una posizione. Negli schemi le slide usano indirizzi **simbolici** corti, come `0x03FC`, `0x03F8`, `0x03F4`, per non scrivere 12 cifre ogni volta (slide 7). Lo faremo anche qui. | Variabile | Indirizzo (simbolico) | Valore | |---|---|---| | `x` | `0x03FC` | 5 | | `y` | `0x03F8` | 2 | | `z` | `0x03F4` | 7 | > [!OLTRE] · %p vuole un void * > Lo standard del C chiede che l'argomento di `%p` sia di tipo `void *`, il puntatore «generico». A rigore si scrive `printf("%p", (void *)&x);`. Le slide passano `&x` direttamente: gcc lo accetta anche con `-Wall -Werror` e funziona sui computer di tutti i giorni. Lo segnala solo con l'opzione `-Wpedantic`. ::: prova Se `int a` sta all'indirizzo `0x1008` e subito dopo dichiari `int b`, dove ti aspetti `b`? A `0x1004`: 4 byte più in basso, perché lo stack cresce verso il basso e un `int` occupa 4 byte. Nella realtà il compilatore può anche scegliere un altro ordine; negli esercizi del corso si usa questo. ::: > [!RICORDA] > - `x` è il valore, `&x` è l'indirizzo: due informazioni diverse. > - `printf` stampa gli indirizzi con `%p`; il numero cambia da un'esecuzione all'altra. ## Leggere da tastiera con scanf (slide 8–17) Finora i programmi stampavano soltanto. Un programma utile spesso deve anche **ricevere** dati: un numero, un voto, una quantità. In C si usa la funzione **`scanf`**. Immagina `scanf` come un **corriere**. Va alla tastiera, prende il numero che scrivi e lo deve consegnare in una casella della memoria. Per farlo gli serve l'**indirizzo** della casella, non il suo contenuto. Per questo si scrive: ```c scanf("%d", &x); ``` - `"%d"` dice che cosa leggere: un intero, come in `printf`; - `&x` dice **dove** scriverlo: all'indirizzo di `x`. `scanf` aspetta che tu scriva il numero e prema **Invio**; solo allora va avanti. ### Il programma passo per passo (slide 10–13) ```c #include int main(void) { int x, y, z; printf("Inserisci x: "); scanf("%d", &x); printf("Inserisci y: "); scanf("%d", &y); z = x + y; printf("%d + %d = %d\n", x, y, z); } ``` Seguiamolo nella memoria, scrivendo 5 e poi 2. | Dopo la riga | `x` @`0x03FC` | `y` @`0x03F8` | `z` @`0x03F4` | Sullo schermo | |---|---|---|---|---| | `int x, y, z;` | ? | ? | ? | | | `printf("Inserisci x: ");` | ? | ? | ? | `Inserisci x: ` | | `scanf("%d", &x);` (scrivi 5) | **5** | ? | ? | `Inserisci x: 5` | | `scanf("%d", &y);` (scrivi 2) | 5 | **2** | ? | `Inserisci y: 2` | | `z = x + y;` | 5 | 2 | **7** | | | `printf(…)` | 5 | 2 | 7 | `5 + 2 = 7` | `scanf` ha ricevuto gli indirizzi `0x03FC` e `0x03F8`, ed è lì che ha scritto 5 e 2. ### Due numeri con una sola scanf (slide 14–17) Una `scanf` può leggere più valori: un `%d` e un indirizzo per ciascuno. ```c scanf("%d%d", &x, &y); ``` Scrivendo `5 2` e Invio, il 5 va in `x` e il 2 in `y`. I due numeri possono essere separati da **uno o più spazi**, e anche da Invio: ho provato `5`, una riga vuota e ` 2`, e il risultato è lo stesso. Per `%d` gli spazi e gli a capo davanti a un numero vengono saltati. > [!TRAPPOLA] Dimenticare la & > `scanf("%d", x);` passa a `scanf` il **contenuto** di `x`, un numero a caso, invece del suo indirizzo: il corriere va a consegnare in una casa che non esiste. Con `-Wall -Werror` gcc 16.1 non lo compila: > ```text > senza_amp.c:5:13: error: format '%d' expects argument of type 'int *', but argument 2 has type 'int' [-Werror=format=] > 5 | scanf("%d", n); > | ~^ ~ > | | | > | | int > | int * > ``` > Si legge: `%d` vuole un `int *`, cioè l'indirizzo di un intero, e ha ricevuto un `int`. Tra poco vedrai che `int *` è proprio il tipo dei puntatori. ::: prova Con `int a, b;` scrivi la riga che legge prima `b` e poi `a` con una sola scanf. `scanf("%d%d", &b, &a);`. L'ordine degli indirizzi decide in quale variabile va ogni numero. ::: > [!RICORDA] > - `scanf("%d", &x);` legge un intero e lo scrive all'indirizzo di `x`. > - Un `%d` e un indirizzo per ogni valore; i numeri si separano con spazi o Invio. ## Quando l'input è sbagliato (slide 18–23) Chi usa il programma può scrivere qualunque cosa: una lettera, un numero con la virgola, niente. `scanf` prova a leggere seguendo il formato, e quando trova qualcosa che non va **si ferma**. In più **restituisce** un numero: quanti valori è riuscito a leggere. ```c int x, y; int n = scanf("%d%d", &x, &y); ``` | `n` | Che cosa è successo | |---|---| | 2 | letti tutti e due i valori | | 1 | letto solo il primo; `y` non è stata toccata | | 0 | non letto niente; `x` e `y` non sono state toccate | ### Tre prove (slide 19–21) Il programma delle slide: ```c #include int main(void) { int x; printf("Inserisci un intero: "); int n = scanf("%d", &x); printf("Valori letti correttamente: %d\n", n); printf("x vale %d \n", x); } ``` Le tre prove, rifatte sul mio computer: | Scrivo | `n` | Stampa per `x` | Perché | |---|---|---|---| | `1234` | 1 | 1234 | un intero, tutto a posto | | `1234.56` | 1 | 1234 | legge `1234` e si ferma al punto; `.56` resta da leggere | | `A` | 0 | `2127058656` | `A` non è un numero: `x` non viene toccata e contiene quello che c'era prima | Nel caso di `1234.56` il `.56` non sparisce: resta in attesa, e la prossima `scanf("%d", …)` lo troverebbe. Ho provato con due `scanf` di fila: la seconda restituisce 0, perché un numero non può cominciare con il punto. Nel caso di `A` il numero stampato è a caso: le slide scrivono `?????`. Leggere una variabile mai inizializzata è un **comportamento indefinito** (slide 21): il C non promette niente su quello che succede. > [!NOTA] Indirizzo sì, valore no (slide 22) > Chiedere `&x` quando `x` non ha ancora un valore va benissimo: usi il **numero civico**, non chi ci abita. Il problema nasce solo se poi **leggi** `x` senza che nessuno l'abbia scritta. Le slide lo riassumono così: dichiarare una variabile, conoscerne l'indirizzo e averla inizializzata sono tre cose diverse. ### Un valore di partenza (slide 23) Se dai a `x` un valore iniziale, il caso sbagliato diventa riconoscibile: ```c int x = -1; ``` Con `A` il programma stampa `Letti con successo 0 interi` e `x vale -1`: la `scanf` fallita ha lasciato `x` com'era. Ma attenzione: **il controllo vero è `n`**, non il -1, perché anche chi usa il programma potrebbe scrivere proprio -1. > [!OLTRE] · decidere che cosa fare > Per reagire a un input sbagliato serve un `if` su `n`, che arriva tra qualche lezione. Per ora ti basta sapere che il valore di ritorno di `scanf` esiste e che cosa vuol dire. ::: prova Con `int x = -1, y = -1;` e `int n = scanf("%d%d", &x, &y);` scrivi `5 A`. Quanto valgono `n`, `x` e `y`? `n` = 1, `x` = 5, `y` = -1. Il 5 è letto, la `A` ferma tutto e `y` resta com'era. Provato con gcc. ::: > [!RICORDA] > - `scanf` restituisce quanti valori ha letto; si ferma al primo carattere che non va bene. > - Le variabili non lette non cambiano: se non avevano un valore, restano «?». ## I puntatori (slide 24–37) `&x` vale `0x03FC`. Dove si può **conservare** questo numero? Un biglietto su cui è scritto un indirizzo: ecco che cos'è un **puntatore**. > [!DEF] Puntatore (slide 25–26) > Un **puntatore** è una variabile che memorizza l'indirizzo di memoria di un'altra variabile, detta **variabile puntata**. Per ogni tipo `T` esiste il tipo puntatore **`T*`** («T star»): le variabili di tipo `T*` contengono indirizzi di variabili di tipo `T`. **Come si legge.** - `int` è il tipo degli interi; `int*` è il tipo dei puntatori a interi: contiene indirizzi di variabili `int`. - `float*` è il puntatore a `float`, `char*` il puntatore a `char`, e così via. - Per abitudine i nomi dei puntatori cominciano con **`p`**: `pX` è il puntatore a `x`. All'esame si usano nomi come `pA`, `pSrc`, `pDst` (scheda del corso). ```c int x = 5; int* pX = &x; // pX riceve l'indirizzo di x ``` Pezzo per pezzo (slide 27): | Scrittura | Che cos'è | Tipo | |---|---|---| | `x` | la variabile intera, valore 5 | `int` | | `&x` | un'espressione che vale l'indirizzo di `x` | `int*` | | `pX` | il puntatore che conserva quell'indirizzo | `int*` | La regola dei tipi: **se `x` è `int`, allora `&x` è `int*`**. Per questo l'assegnamento `pX = &x` è compatibile: a sinistra e a destra c'è lo stesso tipo. ### Anche il puntatore è una casella (slide 28–32) `pX` è una variabile come le altre: occupa memoria e ha un **suo** indirizzo. Il programma delle slide: ```c #include int main(void) { int x = 5; int* pX; pX = &x; printf("Il ptr pX all'ind %p vale %p \n", &pX, pX); } ``` | Dopo la riga | `x` @`0x03FC` | `pX` @`0x03F8` | |---|---|---| | `int x = 5;` | 5 | | | `int* pX;` | 5 | ? | | `pX = &x;` | 5 | **`0x03FC`** | | `printf(…)` | 5 | `0x03FC` | Stampa (con gli indirizzi simbolici) `Il ptr pX all'ind 0x03F8 vale 0x03FC`. Sul mio computer: `Il ptr pX all'ind 000000C7033FFD40 vale 000000C7033FFD4C`. Le due cose stampate sono diverse: `&pX` è il numero civico **del biglietto**, `pX` è l'indirizzo **scritto sul biglietto**. Negli schemi il contenuto di un puntatore si disegna spesso con una **freccia** dalla casella di `pX` alla casella di `x`: da qui il nome, il puntatore «punta» a `x`. ### Un puntatore passato a scanf (slide 33–35) `scanf` vuole un indirizzo. Un puntatore **contiene** un indirizzo: quindi si può passare il puntatore, senza `&`. ```c #include int main(void) { int x; int* pX = &x; printf("Inserisci un intero: "); scanf("%d", pX); printf("La var x all'ind %p vale %d \n", pX, x); } ``` `pX = &x` si può fare anche se `x` non ha ancora un valore: serve il suo indirizzo, che esiste già. `scanf` riceve `0x03FC` e scrive lì il numero: scrivendo 5, `x` vale 5. ### Due errori del compilatore (slide 36–37) **Usare una variabile prima di dichiararla.** Il C legge dall'alto in basso: alla riga `int* pX = &x;` la variabile `x` non esiste ancora. ```text pointer_ex1.c:4:16: error: 'x' undeclared (first use in this function) 4 | int* pX = &x; | ^ ``` **Tipi che non corrispondono.** Con `float x = 5.0;` l'espressione `&x` è un `float*`, e non va in un `int*`: ```c float x = 5.0; int* pX = &x; ``` Nelle slide gcc dà un avviso (*warning*). **gcc 16.1 dà un errore**, anche senza `-Wall` e senza `-Werror`: dalla versione 14 questo controllo è diventato un errore. ```text pointer_ex2.c:3:15: error: initialization of 'int *' from incompatible pointer type 'float *' [-Wincompatible-pointer-types] 3 | int* pX = &x; | ^ ``` Ha senso: un `int*` promette che all'indirizzo c'è un intero. Se ci fosse un `float`, i bit verrebbero letti con la regola sbagliata (lezione 02B: il tipo dice come leggere i bit). > [!TRAPPOLA] & solo su una casella vera > `&` vuole qualcosa che abbia un posto in memoria (slide 27). `&5` e `&(x + 1)` sono sbagliati: 5 e `x + 1` sono valori calcolati al momento, senza un numero civico. gcc dice `lvalue required as unary '&' operand`: serve un *lvalue*, cioè qualcosa che possa stare a sinistra di un `=` (lezione 02B). > [!NOTA] int* pX oppure int *pX (slide 38) > Le due scritture sono uguali per il compilatore. Le slide usano tutte e due. Attenzione a una conseguenza: in `int* p, q;` solo `p` è un puntatore, `q` è un `int`. Per questo conviene dichiarare un puntatore per riga. ::: prova Con `char c = 'A';` di che tipo è `&c`? Lo puoi mettere in un `int*`? `&c` è un `char*`. Non va in un `int*`: con gcc 16.1 è un errore di compilazione. ::: > [!RICORDA] > - Un puntatore `T*` contiene l'indirizzo di una variabile di tipo `T`; se `x` è `int`, `&x` è `int*`. > - Il puntatore ha anche un suo indirizzo: `&pX` e `pX` sono cose diverse. > - A `scanf` si può passare `&x` oppure un puntatore che contiene `&x`. ## Andare all'indirizzo: l'operatore * (slide 38–46) Hai il biglietto con l'indirizzo. Per vedere chi abita là, o per cambiarlo, devi **andarci**. È quello che fa l'operatore `*` davanti a un puntatore. > [!DEF] Operatore di dereferenziamento * (slide 39–40) > L'operatore unario `*`, detto di **dereferenziamento** (*dereference* o *indirect access*), permette di accedere alla variabile puntata attraverso l'indirizzo memorizzato nel puntatore. Se `p` ha tipo `T*`, l'espressione `*p` ha tipo `T`. **Come si legge.** `*pX` si legge «la variabile puntata da `pX`», o «star pi ics». Non è una copia di `x`: è **la stessa casella**. «Unario» vuol dire che lavora su una cosa sola, quella alla sua destra. `*pX` si può usare in due modi (slide 40): | Uso | Codice | Effetto | |---|---|---| | in **lettura** | `printf("%d\n", *pX);` | legge il valore di `x`: stampa 5 | | in **scrittura** | `*pX = 10;` | scrive nella casella di `x`: ora `x` vale 10 | ### Il programma delle slide 41–42 ```c #include int main(void) { int x = 5; int *pX = &x; printf("x = %d\n", x); printf("*pX = %d\n", *pX); *pX = 10; printf("x = %d\n", x); } ``` | Dopo la riga | `x` @`0x03FC` | `pX` @`0x03F8` | Stampa | |---|---|---|---| | `int x = 5;` | 5 | | | | `int *pX = &x;` | 5 | `0x03FC` | | | `printf("x = %d\n", x);` | 5 | `0x03FC` | `x = 5` | | `printf("*pX = %d\n", *pX);` | 5 | `0x03FC` | `*pX = 5` | | `*pX = 10;` | **10** | `0x03FC` | | | `printf("x = %d\n", x);` | 10 | `0x03FC` | `x = 10` | Nella riga `*pX = 10;` il programma legge l'indirizzo in `pX`, cioè `0x03FC`, e scrive 10 **in quella casella**. `pX` non cambia; cambia `x`, senza che il suo nome compaia nella riga. > [!TRAPPOLA] Il simbolo * in due posti diversi > In `int *pX = &x;` l'asterisco fa parte del **tipo**: dichiara che `pX` è un puntatore, e il valore `&x` va in `pX`. In `*pX = 10;` l'asterisco è l'**operatore**: va all'indirizzo e scrive in `x`. Stesso simbolo, due mestieri. ### Rileggere scanf (slide 43–46) Adesso la `&` di `scanf` ha un nome preciso. La documentazione di `scanf` chiede, per ogni conversione, un **puntatore** al tipo giusto: per `%d` serve un `int*`. Con `int x`, l'espressione `&x` è proprio un `int*`, ed è lì che `scanf` scrive. Per questo funzionano tutte e due le forme: ```c scanf("%d", &x); // l'indirizzo calcolato al momento scanf("%d", pX); // l'indirizzo conservato in pX ``` Nel programma delle slide 44–46, con `int x = 5;` e `int* pX = &x;`, si scrive 1234: dopo `scanf("%d", pX);` il programma stampa `La var x vale 1234`. ::: prova Con `int a = 3; int* p = &a;` che cosa vale `a` dopo `*p = *p * 4;`? 12. A destra `*p` legge `a`, cioè 3, e lo moltiplica per 4; poi `*p = …` scrive 12 nella casella di `a`. ::: > [!RICORDA] > - `*p` è la variabile puntata da `p`: leggerla legge quella variabile, assegnarle un valore la cambia. > - Se `p` è `T*`, `*p` è `T`. Per `%d`, `scanf` vuole un `int*`. ## Più nomi per una casella: l'aliasing (slide 47–51) Una persona può avere più nomi: il nome di battesimo, un soprannome, «il vicino del terzo piano». Sono **alias**: modi diversi per indicare la stessa persona. Con i puntatori succede lo stesso a una variabile. ```c #include int main(void) { int x = 5; int* pX = &x; int* pXbis = pX; *pXbis = 1234; printf("x = %d\n", x); printf("*pX = %d\n", *pX); printf("*pXbis = %d\n", *pXbis); } ``` `int* pXbis = pX;` copia in `pXbis` l'indirizzo scritto in `pX`: due biglietti con lo stesso indirizzo. Poi `*pXbis = 1234;` va a quell'indirizzo e scrive 1234. | Variabile | Indirizzo | Valore dopo `*pXbis = 1234;` | |---|---|---| | `x` | `0x03FC` | **1234** | | `pX` | `0x03F8` | `0x03FC` | | `pXbis` | `0x03F0` | `0x03FC` | Stampa `x = 1234`, `*pX = 1234`, `*pXbis = 1234`: provato. > [!DEF] Alias e aliasing (slide 50–51) > Quando più puntatori contengono lo stesso indirizzo, esistono più modi per accedere e modificare la stessa cella di memoria: tramite il nome della variabile (`x`) e tramite i puntatori (`*pX`, `*pXbis`). Questi modi si chiamano **alias**, e il fenomeno **aliasing**. Modificando la variabile attraverso un alias, anche gli altri «vedono» il nuovo valore. **Come si legge.** `x`, `*pX` e `*pXbis` sono tre nomi della stessa casella. `pX` e `pXbis` invece sono **due variabili diverse**, ognuna con il suo indirizzo, che contengono lo stesso numero. Per questo `scanf("%d", &x);`, `scanf("%d", pX);` e `scanf("%d", pXbis);` fanno esattamente la stessa cosa (slide 50). ::: prova Con `int a = 1; int* p = &a; int* q = p;` che cosa stampa `*q = 7; printf("%d\n", a);`? 7. `q` contiene l'indirizzo di `a`, quindi `*q = 7` scrive in `a`. ::: > [!RICORDA] > - Due puntatori con lo stesso indirizzo danno due alias della stessa variabile. > - Scrivere attraverso un alias cambia la variabile per tutti gli altri nomi. ## Puntatori non validi e NULL (slide 52–53) Un biglietto bianco, o con un indirizzo inventato, non porta da nessuna parte. È il caso di un puntatore **non inizializzato**: ```c int* pX; // non inizializzato *pX = 10; // ERRORE ``` Dopo la dichiarazione `pX` contiene un valore indeterminato, «?», come ogni variabile locale. Usato come indirizzo porta in un punto a caso della memoria. Con `-Wall -Werror` gcc 16.1 lo ferma: ```text non_init.c:3:9: error: 'pX' is used uninitialized [-Werror=uninitialized] 3 | *pX = 10; | ~~~~^~~~ ``` > [!ESAME] La regola più importante > **Si può usare `*p` solo se `p` contiene un indirizzo valido**: l'indirizzo di una variabile che esiste. Le slide la ripetono due volte (slide 49 e 52). ### Il puntatore nullo Per dire «questo puntatore non punta a niente» c'è un valore apposta: **`NULL`**. > [!DEF] NULL (slide 53) > `NULL` è un valore di puntatore che indica esplicitamente che il puntatore non fa riferimento ad alcuna variabile. Si usa come valore iniziale, o come valore sentinella per indicare che un puntatore non sta puntando a nulla. **Come si legge.** `NULL` è il biglietto con scritto «nessun indirizzo». Serve a due cose: - **inizializzare** un puntatore senza lasciarlo «?»: `int *p = NULL;`; - **riconoscere** il caso «non punta a niente», confrontando il puntatore con `NULL` (con l'`if`, più avanti). Ma `NULL` non è un indirizzo a cui andare: ```c int *p = NULL; // inizializzazione sicura *p = 10; // ERRORE: comportamento indefinito ``` Questo programma **compila** anche con `-Wall -Werror`: il compilatore non se ne accorge. Quando lo esegui, di solito il programma viene fermato dal sistema operativo. Su Linux compare `Segmentation fault`. Per questo non l'ho lanciato: su Windows un programma che va in crash può aprire una finestra di errore. > [!NOTA] Da dove viene NULL > `NULL` è definito in diversi file di intestazione, tra cui `` e ``. Se il programma include già ``, `NULL` c'è. ::: prova Quale di queste righe è sbagliata? `int *p = NULL;` · `int *q;` · `*q = 3;` · `p = &x;` (con `int x` già dichiarata) `*q = 3;`: `q` non è inizializzato, quindi non contiene un indirizzo valido. Le altre vanno bene, e dopo `p = &x;` si può usare `*p`. ::: > [!RICORDA] > - Un puntatore non inizializzato contiene «?»: non si può usare `*` su di lui. > - `NULL` vuol dire «non punta a niente»: è un buon valore iniziale, ma `*` su `NULL` è un errore. ## Ultime cose sui puntatori (slide 54–56) Tre fatti per chiudere: quanto spazio occupa un puntatore, come si combinano & e *, e i tanti mestieri dell'asterisco. ### Quanto è grande un puntatore (slide 54) Un puntatore contiene un indirizzo, e gli indirizzi hanno sempre la stessa lunghezza su una data macchina, qualunque cosa ci sia a quell'indirizzo. Provato sul mio computer a 64 bit: ```text sizeof(x) 4 B sizeof(pX) 8 B sizeof(c) 1 B, sizeof(pC) 8 B sizeof(d) 8 B, sizeof(pD) 8 B ``` `int`, `char` e `double` occupano 4, 1 e 8 byte; i puntatori a loro sempre 8. La dimensione di `T*` dipende dalla **piattaforma**, non da `T`: tipicamente 8 byte su una CPU a 64 bit e 4 byte su una a 32 bit. ### & e * si annullano (slide 55) `&` va dalla casella al suo indirizzo; `*` va dall'indirizzo alla casella. Uno dopo l'altro si annullano: - `*&a` è `a`: prendi l'indirizzo di `a` e ci vai; - `&*pA` è `pA`: vai alla casella puntata e ne prendi l'indirizzo. Il programma della slide 55 lo mostra stampando lo stesso indirizzo quattro volte: `&a`, `pA`, `&*pA` e `*&pA`. Sul mio computer erano tutti `000000C2FEDFFC3C`. ### I quattro usi del simbolo * (slide 56) | Uso | Esempio | Che cosa fa | |---|---|---| | moltiplicazione | `int x = a * b;` | due operandi, a sinistra e a destra | | dichiarazione di un puntatore | `int* pX = &x;` | fa parte del tipo | | dereferenziamento | `int x = *pX;` | va all'indirizzo contenuto in `pX` | | puntatore a puntatore | `int** ppX = &pX;` | un puntatore che contiene l'indirizzo di un puntatore: il corso non lo usa | Il trucco per non confonderli: se `*` sta **tra due valori** è una moltiplicazione; se sta **dopo un tipo** in una dichiarazione è parte del tipo; se sta **davanti a un puntatore** in un'espressione è il dereferenziamento. ::: prova In `*p = *p * 2;` quante volte compare l'operatore di dereferenziamento? E la moltiplicazione? Due dereferenziamenti, `*p` a sinistra e `*p` a destra, e una moltiplicazione, `* 2`. La riga raddoppia la variabile puntata. ::: > [!RICORDA] > - Un puntatore occupa 8 byte su una macchina a 64 bit, per qualunque tipo puntato. > - `*&a` è `a` e `&*pA` è `pA`. > - Il simbolo `*` ha quattro usi: si capiscono dalla posizione. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `&x` | «indirizzo di x» | l'indirizzo della variabile `x` | `int* pX = &x;` | | `%p` | «percento pi» | in `printf`: un indirizzo | `printf("%p", &x);` | | `scanf("%d", &x)` | «scanf percento di, indirizzo di x» | legge un intero da tastiera e lo scrive in `x` | | | `T*` | «T star», «puntatore a T» | il tipo delle variabili che contengono indirizzi di `T` | `int*`, `float*` | | `*p` | «star pi», «la variabile puntata da p» | la casella all'indirizzo contenuto in `p` | `*pX = 10;` | | `NULL` | «null» | il puntatore che non punta a niente | `int *p = NULL;` | | `0x03FC` | «zero ics zero tre effe ci» | un indirizzo in esadecimale | | | @`0x03FC` | «all'indirizzo» | negli schemi: dove sta una variabile | `x` @`0x03FC` | | `int**` | «puntatore a puntatore a int» | indirizzo di un `int*`; il corso non lo usa | | ## Verso l'esame L'esame di Programmazione I è al PC, unico per i tre canali: appelli **lunedì 25/01/2027** e **giovedì 11/02/2027**. Da questa lezione in poi i puntatori ci sono sempre. **Esercizi sullo stato della memoria.** Si chiede il valore di ogni variabile dopo una sequenza di istruzioni. Con i puntatori la regola in più è una: nella casella di un puntatore si scrive un **indirizzo**, e `*p` legge o scrive nella casella che sta a quell'indirizzo. Più avanti lo stesso schema avrà una parte per le chiamate di funzione e una per la memoria chiesta con `malloc`. Nel 2025/26, nel canale C, l'esercizio era proprio sullo stack e sullo heap. > [!METODO] Stato della memoria con i puntatori > 1. Una riga per variabile, con il suo indirizzo simbolico, nell'ordine di dichiarazione; ogni nuova variabile 4 byte più in basso (8 se è un puntatore e vuoi essere preciso, ma negli esercizi si usano gli indirizzi dati dal testo). > 2. `p = &x;` scrive **l'indirizzo di `x`** nella casella di `p`. > 3. `q = p;` copia l'indirizzo: ora `p` e `q` puntano alla stessa variabile. > 4. `*p = …;` calcola la destra, poi scrive nella casella **il cui indirizzo è in `p`**. La casella di `p` non cambia. > 5. Un puntatore con «?» o `NULL` non si usa con `*`: se il testo lo fa, il risultato è un errore. **Esercizi di programmazione.** Le funzioni d'esame a volte restituiscono un secondo risultato **attraverso un puntatore** (scheda del corso): è proprio `*p = valore;` dentro una funzione, che vedrai con le funzioni. Gli errori che costano: 1. **dimenticare la `&`** in `scanf`: con `-Wall -Werror` non compila; 2. **usare `*p` con `p` non inizializzato**: non compila se il compilatore se ne accorge, altrimenti crash; 3. **tipi di puntatore diversi** (`int*` con un `float`): con gcc 16.1 non compila nemmeno senza opzioni; 4. **stampare indirizzi** quando l'esercizio chiede valori: CodeRunner confronta il testo, e gli indirizzi cambiano a ogni esecuzione. > [!ESAME] Nomi dei puntatori > Nelle soluzioni d'esame i puntatori hanno il prefisso `p`: `pA`, `pStr`, `pSrc`, `pDst` (scheda del corso). Usalo anche tu: chi legge capisce subito che a destra serve un indirizzo. ## Quiz ```quiz D: Con `int x = 5;` che differenza c'è tra `x` e `&x`? + `x` è il valore 5, `&x` è l'indirizzo della casella di `x` - Nessuna: sono due modi di scrivere la stessa cosa - `&x` è il valore di `x` raddoppiato - `x` è l'indirizzo, `&x` il valore - `&x` è una copia di `x` in un'altra casella = `x` è il contenuto della casella, `&x` il suo numero civico. La risposta più insidiosa è «nessuna»: sono due informazioni diverse, e infatti `printf("%p %d", &x, x)` stampa due numeri diversi. D: Quale riga legge correttamente un intero da tastiera nella variabile `int n`? + `scanf("%d", &n);` - `scanf("%d", n);` - `scanf("%p", &n);` - `scanf(&n, "%d");` - `scanf("%d", *n);` = `scanf` vuole il formato e poi l'indirizzo dove scrivere. La risposta più insidiosa è `scanf("%d", n);`: passa il valore invece dell'indirizzo, e con `-Wall -Werror` non compila. `*n` non ha senso, perché `n` non è un puntatore. D: Con `int x = -1;` e `int k = scanf("%d", &x);` l'utente scrive `12.9`. Quanto valgono `k` e `x`? + `k` = 1 e `x` = 12 - `k` = 1 e `x` = 13 - `k` = 0 e `x` = -1 - `k` = 2 e `x` = 12 - `k` = 1 e `x` = 12.9 = `scanf` legge le cifre `12` e si ferma al punto: ha letto un valore, quindi restituisce 1. La risposta più insidiosa è `x` = 13: non c'è nessun arrotondamento, la lettura si ferma e basta. Il `.9` resta in attesa per la prossima lettura. D: Con `int x = -1;` e `int k = scanf("%d", &x);` l'utente scrive `ciao`. Che cosa stampa `printf("%d %d\n", k, x);`? + `0 -1` - `1 -1` - `0 0` - `0` seguito da un numero a caso - Il programma non compila = Nessun valore letto, quindi `k` = 0, e `x` non viene toccata: resta -1. La risposta più insidiosa è «un numero a caso»: succederebbe se `x` non avesse un valore iniziale, ma qui ce l'ha. D: Dopo `int x = 5; int* p = &x; *p = 8;` quanto vale `x`? N: 8 = `p` contiene l'indirizzo di `x`, quindi `*p = 8` scrive 8 nella casella di `x`. D: Con `int x = 5;` quale di queste dichiarazioni NON compila con gcc 16.1? + `float* pF = &x;` - `int* p = &x;` - `int *q = &x;` - `int* r = NULL;` - `int* s;` = `&x` è un `int*` e non va in un `float*`: con gcc 16.1 è un errore anche senza opzioni. La risposta più insidiosa è `int *q = &x;`: lo spazio prima o dopo l'asterisco non cambia niente. `int* s;` compila: è solo un puntatore non ancora usato (con `-Werror` darebbe errore solo perché non usato). D: Dopo `int a = 2; int* p = &a; int* q = p; *q = *p + 3;` quanto vale `a`? N: 5 = `p` e `q` contengono tutti e due l'indirizzo di `a`: sono alias. `*p` legge 2, si somma 3, e `*q = 5` scrive 5 in `a`. D: Quale di queste istruzioni ha un comportamento indefinito? + `int* p; *p = 1;` - `int x; int* p = &x;` - `int* p = NULL;` - `int x = 3; int* p = &x; *p = 1;` - `int x; scanf("%d", &x);` = `p` non è inizializzato: `*p` va a un indirizzo a caso. La risposta più insidiosa è `int x; int* p = &x;`: `x` non ha un valore, ma prendere il suo indirizzo va benissimo. Anche `scanf("%d", &x)` va bene: scrive in `x`, non la legge. D: Su una macchina a 64 bit, quanto vale `sizeof(double*)`? + 8 - 4 - 16 - 1 - dipende dal valore puntato = Un puntatore contiene un indirizzo, e su una macchina a 64 bit gli indirizzi sono di 8 byte, qualunque sia il tipo puntato. La risposta più insidiosa è 8 «perché un `double` è di 8 byte»: il risultato è giusto, il motivo no. Anche `sizeof(char*)` vale 8. D: Con `int a = 4; int* pA = &a;` quale di queste espressioni NON vale l'indirizzo di `a`? + `*pA` - `&a` - `pA` - `&*pA` - `*&pA` = `*pA` è la variabile `a`, cioè 4. Le altre valgono tutte l'indirizzo: `&*pA` e `*&pA` si riducono a `pA`, perché `&` e `*` si annullano. La risposta più insidiosa è `*&pA`: sembra un dereferenziamento, ma prima viene `&pA`, e `*` ci riporta a `pA`. ``` ## Esercizi ::: esercizio base Riscaldamento: valore o indirizzo Con `int n = 42;` che a un'esecuzione sta all'indirizzo `0x2000`, che cosa vale ciascuna espressione? `n`, `&n`, `n + 1`. ::: soluzione 1. `n` vale 42: il contenuto. 2. `&n` vale `0x2000`: l'indirizzo. A un'altra esecuzione può essere diverso. 3. `n + 1` vale 43: si calcola con il valore, non con l'indirizzo. ::: ::: esercizio base Riscaldamento: il tipo giusto Scrivi il tipo di ciascuna espressione, con `int a; float b; char c;`: `&a`, `&b`, `&c`, `a`. ::: soluzione 1. `&a` è `int*`. 2. `&b` è `float*`. 3. `&c` è `char*`. 4. `a` è `int`: senza `&` è la variabile stessa. ::: ::: esercizio base Riscaldamento: tre letture Scrivi un programma che chiede tre interi, li legge con una sola `scanf`, stampa quanti ne ha letti e la loro somma. ::: soluzione ```c #include int main(void) { int a; int b; int c; printf("Inserisci tre interi: "); int letti = scanf("%d%d%d", &a, &b, &c); printf("Letti: %d\n", letti); printf("Somma: %d\n", a + b + c); } ``` Con `1 2 3` stampa `Letti: 3` e `Somma: 6`. Compila con `-Wall -Werror`. Se l'input è sbagliato la somma usa variabili «?»: con un `if` su `letti`, più avanti, si potrà evitare. ::: ::: esercizio base Riscaldamento: seguire un puntatore Con `int x = 3; int* p = &x;` che cosa vale `*p`? E dopo `x = 9;`? ::: soluzione 1. `*p` vale 3: è la variabile `x`. 2. Dopo `x = 9;` vale 9: `p` contiene ancora l'indirizzo di `x`, e `*p` legge quello che c'è adesso. ::: ::: esercizio base Stato della memoria con un puntatore Disegna lo stato della memoria dopo ogni riga e scrivi che cosa viene stampato. Usa gli indirizzi `0x03FC` per `a`, `0x03F8` per `b`, `0x03F4` per `p`. ```c int main(void) { int a = 2; int b = 6; int* p = &a; *p = b + 1; p = &b; *p = *p - a; printf("%d %d %d\n", a, b, *p); } ``` ::: soluzione | Dopo | `a` @`0x03FC` | `b` @`0x03F8` | `p` @`0x03F4` | |---|---|---|---| | `int a = 2;` | 2 | | | | `int b = 6;` | 2 | 6 | | | `int* p = &a;` | 2 | 6 | `0x03FC` | | `*p = b + 1;` | **7** | 6 | `0x03FC` | | `p = &b;` | 7 | 6 | **`0x03F8`** | | `*p = *p - a;` | 7 | **-1** | `0x03F8` | Stampa `7 -1 -1`: `*p` alla fine è `b`. Nella riga `*p = *p - a;` si legge `b` = 6, si toglie `a` = 7 e il risultato -1 va in `b`. ::: ::: esercizio base Leggere attraverso i puntatori Scrivi un programma con due variabili `base` e `altezza` e due puntatori `pBase` e `pAltezza` che le puntano. Leggi i due valori con una `scanf` che usa **i puntatori**, poi calcola l'area del rettangolo usando solo i puntatori. ::: soluzione ```c #include int main(void) { int base = 0; int altezza = 0; int* pBase = &base; int* pAltezza = &altezza; printf("Base e altezza: "); scanf("%d%d", pBase, pAltezza); int area = *pBase * *pAltezza; printf("Area: %d\n", area); } ``` Con `4 6` stampa `Area: 24`. In `*pBase * *pAltezza` ci sono due dereferenziamenti e, in mezzo, una moltiplicazione. Senza `&` nella `scanf`: i puntatori contengono già gli indirizzi. ::: ::: esercizio medio Trova gli errori Questo programma ha quattro errori. Trovali e correggili. ```c #include int main(void) { float prezzo; int quantita; int* pPrezzo = &prezzo; int* pQ; scanf("%d", quantita); *pQ = quantita * 2; printf("%d\n", *pQ); } ``` ::: soluzione 1. `int* pPrezzo = &prezzo;`: `&prezzo` è un `float*`. Con gcc 16.1 non compila. Va scritto `float* pPrezzo = &prezzo;`. 2. `scanf("%d", quantita);`: manca la `&`. Va scritto `scanf("%d", &quantita);`. 3. `*pQ = …`: `pQ` non è inizializzato. Prima serve un indirizzo valido, per esempio `int doppio; int* pQ = &doppio;`. 4. `pPrezzo` non viene mai usato: con `-Wall -Werror` è un errore (`unused variable`). Si toglie, oppure si usa per leggere il prezzo. Una versione corretta: ```c #include int main(void) { int quantita; int doppio; int* pQ = &doppio; scanf("%d", &quantita); *pQ = quantita * 2; printf("%d\n", *pQ); } ``` Compila con `-Wall -Werror`; con 5 stampa 10. ::: ::: esercizio medio Lo scambio attraverso i puntatori Con `int a = 3, b = 8;` e due puntatori `pA = &a` e `pB = &b`, scambia i valori di `a` e `b` scrivendo **solo** attraverso `pA` e `pB` (puoi usare una variabile di appoggio). Alla fine il programma deve stampare `a = 8, b = 3`. ::: soluzione ```c #include int main(void) { int a = 3; int b = 8; int* pA = &a; int* pB = &b; int tmp = *pA; *pA = *pB; *pB = tmp; printf("a = %d, b = %d\n", a, b); } ``` Stampa `a = 8, b = 3`. È lo scambio della lezione 02B, con `*pA` al posto di `a` e `*pB` al posto di `b`. Questa forma tornerà con le funzioni: una funzione che scambia due variabili deve riceverne gli indirizzi. ::: ::: esercizio medio Che cosa legge scanf Con `int x = 0, y = 0;` e `int n = scanf("%d%d", &x, &y);` scrivi `n`, `x` e `y` per ciascun input: (a) `7 8`; (b) `7` a capo `8`; (c) `7 x`; (d) `x 7`; (e) `7.5 8`. ::: soluzione 1. `7 8`: `n` = 2, `x` = 7, `y` = 8. 2. `7` a capo `8`: uguale, l'a capo conta come spazio. 3. `7 x`: `n` = 1, `x` = 7, `y` = 0. 4. `x 7`: `n` = 0, `x` = 0, `y` = 0: si ferma subito. 5. `7.5 8`: `n` = 1, `x` = 7, `y` = 0. Il secondo `%d` trova `.5`, che non può cominciare un intero. ::: ::: esercizio difficile Due puntatori che si scambiano i ruoli Che cosa stampa questo programma? Disegna lo stato della memoria. ```c #include int main(void) { int a = 4; int b = 7; int* p = &a; int* q = &b; *p = *q + 1; p = q; *p = *p * 2; q = &a; *q = *q - *p; printf("a = %d, b = %d, *p = %d, *q = %d\n", a, b, *p, *q); } ``` ::: soluzione | Dopo | `a` | `b` | `p` | `q` | |---|---|---|---|---| | dichiarazioni | 4 | 7 | `&a` | `&b` | | `*p = *q + 1;` | **8** | 7 | `&a` | `&b` | | `p = q;` | 8 | 7 | **`&b`** | `&b` | | `*p = *p * 2;` | 8 | **14** | `&b` | `&b` | | `q = &a;` | 8 | 14 | `&b` | **`&a`** | | `*q = *q - *p;` | **-6** | 14 | `&b` | `&a` | Stampa `a = -6, b = 14, *p = 14, *q = -6`, provato con gcc. Il punto delicato è `p = q;`: da lì `p` punta a `b`, e `*p` non è più `a`. ::: ::: esercizio esame Stato della memoria e stampa Nello stile degli esercizi d'esame sullo stato della memoria: indica il valore di ogni variabile dopo l'ultima riga (scrivi «?» se indeterminato) e che cosa stampa il programma. Indirizzi: `x` @`0x0100`, `y` @`0x00FC`, `pX` @`0x00F8`, `pY` @`0x00F0`. ```c #include int main(void) { int x = 10; int y; int* pX = &x; int* pY = pX; *pY = *pX + 5; pY = &y; *pY = x * 2; printf("%d %d\n", x, y); } ``` ::: soluzione | Dopo | `x` | `y` | `pX` | `pY` | |---|---|---|---|---| | `int x = 10;` | 10 | | | | | `int y;` | 10 | ? | | | | `int* pX = &x;` | 10 | ? | `0x0100` | | | `int* pY = pX;` | 10 | ? | `0x0100` | `0x0100` | | `*pY = *pX + 5;` | **15** | ? | `0x0100` | `0x0100` | | `pY = &y;` | 15 | ? | `0x0100` | **`0x00FC`** | | `*pY = x * 2;` | 15 | **30** | `0x0100` | `0x00FC` | Stampa `15 30`. Alla quarta riga `pX` e `pY` sono alias di `x`; dopo `pY = &y;` non più. `y` smette di essere «?» solo all'ultima assegnazione. ::: ## Domande di ripasso ::: domanda Che differenza c'è tra il valore e l'indirizzo di una variabile? Il valore è quello che c'è nella casella, l'indirizzo è la posizione della casella in memoria. `x` dà il valore, `&x` l'indirizzo. ::: ::: domanda Perché in scanf serve la &? Perché `scanf` deve scrivere il dato letto in una variabile, e per farlo deve sapere dove sta: le serve l'indirizzo, non il valore. Per `%d` vuole un `int*`, e `&x` con `x` di tipo `int` è proprio un `int*`. ::: ::: domanda Che cosa restituisce scanf e che cosa succede con un input sbagliato? Restituisce quanti valori è riuscita a leggere. Al primo carattere che non va bene si ferma; le variabili non lette restano com'erano, e quello che non è stato letto resta in attesa. ::: ::: domanda Che cos'è un puntatore e di che tipo è? Una variabile che contiene l'indirizzo di un'altra variabile. Per ogni tipo `T` c'è il tipo `T*`: un `int*` contiene indirizzi di `int`. ::: ::: domanda Che cosa fa l'operatore * davanti a un puntatore? Va all'indirizzo contenuto nel puntatore: `*p` è la variabile puntata. Si può leggere (`printf("%d", *p)`) o scrivere (`*p = 10`), e scrivere cambia la variabile puntata. ::: ::: domanda Che cos'è l'aliasing? Il fatto che la stessa variabile si possa raggiungere con più nomi: il suo nome e uno o più puntatori che contengono il suo indirizzo. Cambiando la variabile attraverso un alias, tutti gli altri vedono il nuovo valore. ::: ::: domanda Quando si può usare *p? Solo quando `p` contiene un indirizzo valido. Mai con un puntatore non inizializzato, mai con `NULL`. ::: ::: domanda A che cosa serve NULL? A dire esplicitamente che un puntatore non punta a niente: come valore iniziale sicuro e per riconoscere quel caso. Usare `*` su `NULL` è un errore. ::: ::: domanda Quanto occupa un puntatore? Dipende dalla piattaforma, non dal tipo puntato: 8 byte su una tipica macchina a 64 bit, 4 byte su una a 32 bit. ::: ::: domanda Quali sono i quattro usi del simbolo *? Moltiplicazione, dichiarazione di un puntatore, dereferenziamento, puntatore a puntatore. ::: ## Glossario ```glossario Indirizzo | Il numero che indica la posizione di una variabile in memoria, di solito scritto in esadecimale. Referenziamento | L'operazione `&x`, che dà l'indirizzo della variabile `x`. %p | Lo specificatore di `printf` per stampare un indirizzo. scanf | Funzione che legge dati da tastiera secondo un formato e li scrive agli indirizzi ricevuti; restituisce quanti valori ha letto. Valore di ritorno di scanf | Il numero di valori letti con successo: può essere minore di quelli chiesti se l'input non va bene. Puntatore | Una variabile che contiene l'indirizzo di un'altra variabile, detta variabile puntata. Tipo puntatore T* | Il tipo delle variabili che contengono indirizzi di variabili di tipo `T`. Dereferenziamento | L'operazione `*p`, che accede alla variabile all'indirizzo contenuto in `p`. Alias | Un altro modo di raggiungere la stessa variabile, per esempio `*p` quando `p` contiene il suo indirizzo. Aliasing | Il fatto che una variabile sia raggiungibile con più alias. Puntatore non inizializzato | Un puntatore che contiene un valore indeterminato: non si può dereferenziare. NULL | Il valore di puntatore che vuol dire «non punta a nessuna variabile». Comportamento indefinito | Una situazione in cui il C non garantisce niente, per esempio leggere una variabile mai scritta o dereferenziare `NULL`. lvalue | Qualcosa che ha un posto in memoria e può stare a sinistra di `=`; `&` si applica solo agli lvalue. ``` ## Checklist ```checklist - So spiegare la differenza tra `x` e `&x` e stampare un indirizzo con `%p`. - So leggere uno o più interi con `scanf` e spiegare perché serve la `&`. - So che cosa restituisce `scanf` e che cosa succede con input come `12.5` o `A`. - So dichiarare un puntatore del tipo giusto e assegnargli l'indirizzo di una variabile. - So usare `*p` per leggere e per scrivere la variabile puntata. - So disegnare lo stato della memoria con i puntatori, scrivendo gli indirizzi nelle loro caselle. - So riconoscere gli alias e prevedere che cosa cambia scrivendo attraverso un puntatore. - So perché non si può usare `*` su un puntatore non inizializzato o `NULL`. - So quanto occupa un puntatore e che `&` e `*` si annullano. - So distinguere i quattro usi del simbolo `*` dalla posizione. ``` ## Fonti - **Slide della lezione**: «Referenziamento, Input e Puntatori in C. Dall'indirizzo di memoria ai puntatori» (02C_referenziamento_scanf_puntatori), Programmazione I – Teoria, canale B, A.A. 2026/27, 56 pagine; il numero di slide è accanto a ogni titolo. - **Canali A e C**: elenco delle lezioni dalle pagine Moodle 2025/26 aperte agli ospiti (deck 02C del canale A, lezione 03 «Dai numeri ai puntatori» del canale C), riassunto nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). - **Prove**: tutti i programmi, gli output e i messaggi d'errore sono ottenuti con gcc 16.1 (MinGW-w64, Windows 11 a 64 bit) e `-Wall -Werror -std=c11`; gli indirizzi stampati cambiano a ogni esecuzione. Il programma con `*p` su `NULL` è stato solo compilato, non eseguito. - **Esame**: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md) (stato della memoria, risultato restituito attraverso un puntatore, nomi `pA`, `pSrc`, `pDst`). - I riquadri **«Oltre le slide»** (`%p` e `void *`, il controllo con `if` sul valore di `scanf`), la nota sull'errore di gcc 16.1 per i tipi di puntatore, i «Prova tu» e gli esercizi sono aggiunte di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/03A_scambio_variabili.md` ```yaml corso: PROG1 lezione: 03A titolo: Scambiare due variabili data: 2026-10-13 docenti: Elvio Amparore sopratitolo: Programmazione I · Teoria · Canale B · Lezione 03A descrizione: >- Appunti della lezione 03A di Programmazione I (canale B): scambiare il contenuto di due variabili, perché lo scambio ovvio x = y; y = x; non funziona, lo scambio con la variabile d'appoggio passo per passo nel modello della memoria, l'ordine delle istruzioni, la rotazione di tre e quattro variabili, con programmi provati, quiz ed esercizi. lede: >- Due tazze, una di tè verde e una di tè nero: come le scambi senza mescolarle? Serve una terza tazza vuota, e i travasi vanno fatti nell'ordine giusto. Con le variabili è lo stesso, ed è un'operazione che ritroverai in tutti gli algoritmi di ordinamento. materiale: slide scheda: Slide: 03A_scambio_variabili («Scambiare variabili. Uso delle variabili temporanee») · 16 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 45–60 minuti fonte: >- Slide «Scambiare variabili. Uso delle variabili temporanee» (03A_scambio variabili), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/03A_scambio_variabili.html genera_html: true ``` ## In breve - **Scambiare** due variabili vuol dire che, alla fine, ognuna contiene il valore che aveva l'altra. È un'operazione che serve in molti algoritmi, per esempio per ordinare un elenco. - Lo scambio «ovvio», `x = y;` seguito da `y = x;`, **non funziona**: il primo assegnamento cancella il vecchio valore di `x`, e alla fine le due variabili valgono uguale. - Serve una **variabile d'appoggio**, dello stesso tipo, che conservi per un momento uno dei due valori. Si chiama di solito `temp` o `aux`. - Lo scambio corretto ha tre passi, in quest'ordine: `temp = x;`, poi `x = y;`, poi `y = temp;`. - L'**ordine** conta: con gli stessi tre assegnamenti in un altro ordine il valore di `x` si perde di nuovo. - È come scambiare due tazze di tè senza mescolarle: serve una tazza vuota, e i travasi vanno fatti nell'ordine giusto. > [!CANALI] > **Canale B.** È la prima parte della lezione di martedì 13/10, dalle 11 alle 13, insieme alla [03B](03B_floats.html) sui numeri reali. Riprende il modello della memoria della [02B](02B_assegnamento_memory_model.html): l'assegnamento copia un valore e cancella quello di prima. > > **Canali A e C.** Le slide 2026/27 dei canali A e C per questa lezione non le ho viste. Lo scambio con la variabile d'appoggio è un argomento comune, e l'esame è unico per i tre canali. > > **Laboratorio.** Nel [Laboratorio 02](Lab02_operatori_tipi.html) c'è il programma `scambio.c` e l'esercizio `scambio4.c`, che scambia quattro variabili in giro. ## Due tazze da scambiare (slide 2–4) Hai due tazze: una contiene tè verde, l'altra tè nero. Vuoi **scambiarne il contenuto**: alla fine il tè verde deve stare nella tazza che era del nero, e viceversa. Però non puoi versare l'uno nell'altro: i due tè si mescolerebbero. La prima idea delle slide usa **due** tazze vuote in più. Versi il verde nella prima tazza vuota, il nero nella seconda, poi rimetti ognuno al suo nuovo posto. Funziona, ma usa il doppio dello spazio. Si può fare di meglio, con **una sola** tazza vuota: 1. versi il tè verde nella tazza vuota; 2. versi il tè nero nella tazza che era del verde, ora libera; 3. versi il tè verde dalla tazza d'appoggio nella tazza che era del nero, ora libera. > [!IDEA] > Per scambiare due contenuti senza mescolarli serve un posto libero dove mettere da parte uno dei due. Poi i passaggi vanno fatti in un ordine preciso: si libera una tazza prima di riempirla. Le slide insistono su questo: la soluzione con una tazza sola funziona ed è efficiente, **ma i travasi devono avvenire nell'ordine giusto**. Se al passo 1 versassi il nero nella tazza del verde, mescoleresti tutto. ::: prova Nella soluzione con una tazza d'appoggio, quante tazze sono piene dopo il passo 1? E dopo il passo 2? Dopo il passo 1 sono piene la tazza del nero e la tazza d'appoggio: quella del verde è libera. Dopo il passo 2 sono piene la tazza del verde, che ora contiene il nero, e la tazza d'appoggio: è libera quella che era del nero. ::: > [!RICORDA] > - Per scambiare senza mescolare serve un posto in più, vuoto. > - L'ordine dei travasi conta: prima si libera una tazza, poi la si riempie. ## Lo scambio che non funziona (slide 5–10) Con le variabili il problema è lo stesso. Le tazze sono le caselle della memoria, e il tè è il valore. Ma c'è una differenza importante con l'acqua: l'**assegnamento** della [lezione 02B](02B_assegnamento_memory_model.html) non versa, **copia** e **cancella**. Con `x = y;` il valore di `y` viene copiato in `x`, e quello che c'era prima in `x` è perso. Il primo modo che viene in mente, e che le slide chiamano «naïve», è questo: ```c #include int main(void) { int x = 5; int y = 2; x = y; // assegno il contenuto di y a x y = x; // assegno il contenuto di x a y printf("Le var x, y valgono %d, %d\n", x, y); } ``` Ci si aspetta `2, 5`. Invece il programma stampa: ``` Le var x, y valgono 2, 2 ``` ### Passo per passo Le slide seguono le caselle di `x` e `y` dopo ogni istruzione, nel modello della memoria della lezione 02B. Ecco la stessa cosa come tabella: una colonna per variabile, una riga per istruzione. | Dopo l'istruzione | `x` | `y` | Che cosa è successo | |---|:-:|:-:|---| | `int x = 5;` | 5 | | | | `int y = 2;` | 5 | 2 | | | `x = y;` | **2** | 2 | il 2 di `y` è copiato in `x`: il **5 è perso** | | `y = x;` | 2 | **2** | il 2 di `x` è copiato in `y`, che vale già 2 | Il problema è la terza riga. Dopo `x = y;` il valore 5 non c'è più da nessuna parte. La quarta istruzione non può rimetterlo in `y`: sovrascrive `y` con sé stessa. > [!TRAPPOLA] Il compilatore non ti avvisa > `x = y; y = x;` compila senza errori e senza avvisi, anche con `-Wall -Werror`: per il C sono due assegnamenti corretti. Lo sbaglio è nella logica, non nella sintassi. Lo trovi solo seguendo i valori, come nella tabella. ::: prova Con `int a = 7; int b = 3;` che cosa valgono `a` e `b` dopo `b = a; a = b;`? Tutte e due 7. `b = a;` copia 7 in `b` e perde il 3. Poi `a = b;` copia 7 in `a`, che valeva già 7. ::: > [!RICORDA] > - L'assegnamento copia e cancella: dopo `x = y;` il vecchio valore di `x` non esiste più. > - `x = y; y = x;` lascia le due variabili uguali, con il valore di `y`. ## Lo scambio con la variabile d'appoggio (slide 11–16) Per scambiare correttamente serve una **terza variabile**, dello stesso tipo, che conservi per un momento il valore che sta per essere cancellato. È la tazza vuota. Le slide chiamano questo metodo **scambio con variabile temporanea**, o con **variabile d'appoggio**. I tre passi sono quelli delle tazze: 1. salvo il valore di `x` nella variabile d'appoggio; 2. copio il valore di `y` in `x`; 3. copio il valore della variabile d'appoggio in `y`. ```c #include int main(void) { int x = 5; int y = 2; int temp; temp = x; // [1] salvo x x = y; // [2] copio y in x y = temp; // [3] copio il vecchio x in y printf("Le var x, y valgono %d, %d\n", x, y); } ``` Stampa: ``` Le var x, y valgono 2, 5 ``` ### Passo per passo | Dopo l'istruzione | `x` | `y` | `temp` | Che cosa è successo | |---|:-:|:-:|:-:|---| | `int x = 5;` | 5 | | | | | `int y = 2;` | 5 | 2 | | | | `int temp;` | 5 | 2 | ? | `temp` esiste ma non ha ancora un valore | | `temp = x;` | 5 | 2 | **5** | il 5 è al sicuro in `temp` | | `x = y;` | **2** | 2 | 5 | il 5 in `x` è perso, ma c'è una copia | | `y = temp;` | 2 | **5** | 5 | lo scambio è fatto | Il «?» è il valore indeterminato della lezione 02B: una variabile dichiarata e non ancora assegnata contiene bit a caso. Qui non è un problema, perché `temp` viene scritta prima di essere letta. Alla fine `temp` contiene ancora 5: non serve più, e non dà fastidio. > [!NOTA] I nomi delle variabili d'appoggio > Le slide elencano i nomi più usati: `temp`, `aux`, `prevX`, `savedX`, `backup`. Il nome dice a chi legge che la variabile serve solo a tenere un valore per poco. Si può anche dichiarare e assegnare in una riga sola: `int temp = x;`, come nel programma `scambio.c` del laboratorio. ### L'ordine conta Con gli stessi tre assegnamenti in un altro ordine, lo scambio fallisce. Prova a mettere prima `x = y;`: ```c int x = 5; int y = 2; int temp; x = y; // il 5 è perso subito temp = x; // temp riceve il 2 y = temp; // y riceve il 2 ``` Il programma stampa `2, 2`, come lo scambio sbagliato. La variabile d'appoggio c'è, ma arriva tardi: quando salvi `x`, il 5 è già stato cancellato. È la tazza vuota usata dopo aver già mescolato i tè. > [!METODO] Scrivere uno scambio senza sbagliare > 1. Scegli quale variabile salvare per prima, per esempio `x`. > 2. Primo assegnamento: `temp = x;`. Ora `x` si può sovrascrivere. > 3. Secondo: `x = y;`. Ora `y` si può sovrascrivere. > 4. Terzo: `y = temp;`. > > Ogni riga comincia con la variabile che la riga prima ha appena «liberato». È la catena `temp ← x ← y ← temp`. ::: prova Scambia `a` e `b` usando `aux`, salvando per prima `b`. Scrivi le tre righe. `aux = b;` poi `b = a;` poi `a = aux;`. La catena è `aux ← b ← a ← aux`: ogni riga riempie la variabile liberata dalla riga prima. ::: > [!RICORDA] > - Tre passi: `temp = x;`, `x = y;`, `y = temp;`. > - La variabile d'appoggio è dello stesso tipo delle altre due. > - Se salvi `x` dopo averlo sovrascritto, lo scambio fallisce. ## Scambiare più di due variabili Lo stesso metodo funziona con più variabili. Pensa a una **rotazione**: ogni variabile prende il valore della successiva, e l'ultima prende quello della prima. Basta ancora **una sola** variabile d'appoggio. Con tre variabili `a`, `b`, `c`, che valgono 1, 2, 3, la rotazione vuole `a` = 2, `b` = 3, `c` = 1: ```c int temp = a; // salvo a, che sarà sovrascritta per prima a = b; b = c; c = temp; ``` | Dopo l'istruzione | `a` | `b` | `c` | `temp` | |---|:-:|:-:|:-:|:-:| | inizio | 1 | 2 | 3 | | | `int temp = a;` | 1 | 2 | 3 | 1 | | `a = b;` | 2 | 2 | 3 | 1 | | `b = c;` | 2 | 3 | 3 | 1 | | `c = temp;` | 2 | 3 | 1 | 1 | Ogni riga riempie la variabile che la riga prima ha liberato. È la stessa catena dello scambio, solo più lunga. L'esercizio `scambio4.c` del [Laboratorio 02](Lab02_operatori_tipi.html) chiede proprio questo, con quattro variabili. > [!OLTRE] Scambiare senza variabile d'appoggio > Con gli interi c'è un trucco: `x = x + y; y = x - y; x = x - y;`. Con 5 e 2: `x` diventa 7, poi `y` = 7 − 2 = 5, poi `x` = 7 − 5 = 2. Funziona, ma è più difficile da leggere, e se `x + y` supera il massimo di un `int` va in overflow (lezione 02B). Non funziona con i `float`, che perdono cifre. Con la variabile d'appoggio non c'è nessun rischio: è il modo da usare sempre, anche all'esame. ::: prova Con `int p = 10, q = 20, r = 30;` scrivi le righe che portano a `p` = 30, `q` = 10, `r` = 20. È la rotazione al contrario: ognuno prende il valore della variabile prima. `int temp = r;` poi `r = q;` poi `q = p;` poi `p = temp;`. ::: > [!RICORDA] > - Per ruotare $n$ variabili basta una variabile d'appoggio. > - Si salva per prima la variabile che verrà sovrascritta per prima. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `x = y;` | «x prende y» | copia il valore di `y` in `x`; il vecchio `x` è perso | | | `temp`, `aux` | «temp», «aux» | nomi tipici della variabile d'appoggio | `int temp = x;` | | ? | «indeterminato» | negli schemi: variabile senza un valore assegnato | `int temp;` | | swap | «suop» | il nome inglese dello scambio | | ## Verso l'esame L'esame di Programmazione I è al PC, unico per i tre canali: appelli **lunedì 25/01/2027** e **giovedì 11/02/2027**. Lo scambio tornerà almeno in tre modi. 1. **Esercizi sullo stato della memoria.** Si chiede il valore delle variabili dopo una sequenza di assegnamenti. Lo scambio sbagliato e quello con l'ordine sbagliato sono trappole perfette: la tabella «una riga per istruzione» li smaschera. 2. **Ordinare un array.** Gli algoritmi di ordinamento, come il *bubble sort* citato nelle slide, scambiano due elementi a ogni passo. Lo scambio è sempre quello con la variabile d'appoggio. 3. **Una funzione che scambia.** Con i puntatori della [lezione 02C](02C_referenziamento_scanf_puntatori.html) si scriverà una funzione che scambia due variabili del chiamante: dentro ci sono gli stessi tre passi, con `*pA` e `*pB` al posto di `x` e `y`. > [!METODO] Le domande sugli scambi > 1. Fai la tabella: una colonna per variabile, una riga per istruzione. > 2. A ogni assegnamento, **cancella** il valore vecchio della variabile a sinistra e scrivi quello nuovo. > 3. Controlla alla fine: i valori di partenza ci sono ancora tutti? Se un valore è sparito, lo scambio è sbagliato. **Errori da evitare** - Scrivere `x = y; y = x;`. - Salvare nella variabile d'appoggio dopo aver già sovrascritto. - Usare una variabile d'appoggio di un tipo diverso: con `int temp` e due `double` la parte dopo la virgola si perde (lezione 03B). - Dimenticare che `temp` non serve più dopo lo scambio: non va stampata, non è un risultato. ## Quiz ```quiz D: Con `int x = 4, y = 9;` che cosa valgono `x` e `y` dopo `x = y; y = x;`? + `x` = 9, `y` = 9 - `x` = 9, `y` = 4 - `x` = 4, `y` = 4 - `x` = 4, `y` = 9 - Il programma non compila = `x = y;` copia 9 in `x` e perde il 4. `y = x;` copia 9 in `y`. La risposta più insidiosa è `x` = 9, `y` = 4: è lo scambio che si voleva, ma il 4 non esiste più quando serve. Il codice compila senza avvisi. D: Quale sequenza scambia correttamente `x` e `y`? + `temp = x; x = y; y = temp;` - `x = y; temp = x; y = temp;` - `temp = x; y = x; x = temp;` - `x = y; y = x;` - `temp = y; x = y; y = temp;` = Si salva `x`, poi si sovrascrive `x`, poi si mette il vecchio `x` in `y`. La risposta più insidiosa è `x = y; temp = x; y = temp;`: ha gli stessi tre pezzi, ma salva `x` quando il suo valore è già perso. L'ultima salva `y` e poi sovrascrive `x` senza averlo salvato. D: Con `int a = 1, b = 2;` che cosa stampa `int t = a; a = b; b = t; printf("%d %d", a, b);`? + `2 1` - `1 2` - `2 2` - `1 1` - `2 1 1` = È lo scambio corretto: alla fine `a` vale 2 e `b` vale 1. La risposta più insidiosa è `2 1 1`: `t` vale ancora 1, ma `printf` stampa solo `a` e `b`. D: Per scambiare due variabili `double`, di che tipo deve essere la variabile d'appoggio? + `double` - `int` - `float` - un tipo qualsiasi - non serve una variabile d'appoggio con i `double` = La variabile d'appoggio deve contenere esattamente il valore salvato, quindi deve avere lo stesso tipo. La risposta più insidiosa è `float`: è un tipo reale, ma ha meno cifre e il valore salvato verrebbe approssimato. Con `int` si perderebbe tutta la parte dopo la virgola. D: Con `int a = 1, b = 2, c = 3;` quanto vale `c` dopo `int t = a; a = b; b = c; c = t;`? N: 1 = È la rotazione: `a` prende 2, `b` prende 3, `c` prende il vecchio valore di `a`, che era 1 ed era salvato in `t`. D: Quanti assegnamenti servono, al minimo, per scambiare due variabili con la variabile d'appoggio, contando anche quello in `temp`? + 3 - 2 - 4 - 1 - 6 = Salvare, sovrascrivere la prima, sovrascrivere la seconda. La risposta più insidiosa è 2: con due soli assegnamenti un valore si perde sempre, come in `x = y; y = x;`. D: Perché `x = y; y = x;` compila senza avvisi anche con `-Wall -Werror`? + Sono due assegnamenti corretti: l'errore è nella logica, non nella sintassi - Perché `-Wall` non controlla gli assegnamenti - Perché gcc corregge da solo lo scambio - Perché gli `int` non danno mai avvisi - In realtà gcc dà un avviso = Per il compilatore sono due istruzioni valide: non sa che cosa volevi fare. La risposta più insidiosa è «gcc corregge da solo»: il compilatore traduce quello che hai scritto, senza indovinare le intenzioni. ``` ## Esercizi ::: esercizio base Riscaldamento: segui i valori Con `int x = 8; int y = 3; int z = 0;` che cosa valgono le tre variabili dopo `z = x; x = y; y = z;`? E dopo `z = x; y = x; x = z;`, ripartendo dagli stessi valori? ::: soluzione 1. Prima sequenza: `z` = 8, poi `x` = 3, poi `y` = 8. Alla fine `x` = 3, `y` = 8, `z` = 8: è uno scambio corretto, con `z` come variabile d'appoggio. 2. Seconda sequenza: `z` = 8, poi `y` = 8, poi `x` = 8. Alla fine valgono tutte 8: il 3 di `y` è stato perso al secondo passo. ::: ::: esercizio base Riscaldamento: il programma scambio.c del laboratorio Il programma `scambio.c` del Laboratorio 02 scambia `x = 5` e `y = 8` e stampa i valori prima e dopo. Scrivilo tu, compila con `-Wall -Werror` e controlla le due righe stampate. ::: soluzione ```c #include int main(void) { int x = 5; int y = 8; printf("x: %d, y: %d\n", x, y); // scambio x con y usando una variabile intermedia int temp = x; x = y; y = temp; printf("x: %d, y: %d\n", x, y); } ``` Stampa: ``` x: 5, y: 8 x: 8, y: 5 ``` ::: ::: esercizio base Riscaldamento: due double Scrivi lo scambio di `double a = 1.5;` e `double b = -4.25;` e stampa i valori con `%f`. ::: soluzione ```c #include int main(void) { double a = 1.5; double b = -4.25; double tmp = a; a = b; b = tmp; printf("a = %f, b = %f\n", a, b); } ``` Stampa `a = -4.250000, b = 1.500000`. La variabile d'appoggio è `double`, come le altre due. ::: ::: esercizio medio Rotazione di tre variabili Con `int a = 1, b = 2, c = 3;` scrivi le istruzioni che portano a `a` = 2, `b` = 3, `c` = 1, usando una sola variabile d'appoggio. Poi fai la tabella dei valori. ::: soluzione ```c #include int main(void) { int a = 1; int b = 2; int c = 3; int tmp = a; a = b; b = c; c = tmp; printf("a = %d, b = %d, c = %d\n", a, b, c); } ``` Stampa `a = 2, b = 3, c = 1`. La tabella è quella della sezione «Scambiare più di due variabili». ::: ::: esercizio medio Trova l'errore Uno studente vuole scambiare `x` e `y` e scrive `int temp = y; y = x; x = y;`. Che cosa ottiene con `x = 5`, `y = 2`? Correggi cambiando una sola riga. ::: soluzione `temp` = 2, poi `y` = 5, poi `x` = 5: tutte e due valgono 5, e il 2 è rimasto in `temp` senza essere usato. L'ultima riga deve prendere il valore salvato: `x = temp;`. Con la correzione la catena è `temp ← y ← x ← temp`. ::: ::: esercizio esame Stato della memoria Scrivi il valore di ogni variabile dopo ogni istruzione, partendo da `int a = 4; int b = 7; int c = 1; int t;`: (1) `t = a;` (2) `a = c;` (3) `c = b;` (4) `b = t;` (5) `t = c;`. Alla fine, che cosa è successo ai valori di partenza? ::: soluzione | Dopo | `a` | `b` | `c` | `t` | |---|:-:|:-:|:-:|:-:| | dichiarazioni | 4 | 7 | 1 | ? | | `t = a;` | 4 | 7 | 1 | 4 | | `a = c;` | 1 | 7 | 1 | 4 | | `c = b;` | 1 | 7 | 7 | 4 | | `b = t;` | 1 | 4 | 7 | 4 | | `t = c;` | 1 | 4 | 7 | 7 | I tre valori 4, 7, 1 ci sono ancora tutti: è una rotazione, `a` ha preso il valore di `c`, `c` quello di `b`, `b` quello di `a`. L'ultima istruzione cambia solo `t`, che non conta. ::: ::: esercizio esame scambio4.c del Laboratorio 02 Scrivi un programma che prende quattro variabili intere `v1`, `v2`, `v3`, `v4`, con valori a scelta, e le scambia così: `v1` prende il valore di `v2`, `v2` quello di `v3`, `v3` quello di `v4`, `v4` quello di `v1`. Stampa i valori prima e dopo. ::: soluzione ```c #include int main(void) { int v1 = 10; int v2 = 20; int v3 = 30; int v4 = 40; printf("prima: v1 = %d, v2 = %d, v3 = %d, v4 = %d\n", v1, v2, v3, v4); int temp = v1; // salvo v1, che verra' sovrascritto per primo v1 = v2; v2 = v3; v3 = v4; v4 = temp; printf("dopo: v1 = %d, v2 = %d, v3 = %d, v4 = %d\n", v1, v2, v3, v4); } ``` Stampa: ``` prima: v1 = 10, v2 = 20, v3 = 30, v4 = 40 dopo: v1 = 20, v2 = 30, v3 = 40, v4 = 10 ``` Provato con gcc 16.1 e `-Wall -Werror`. Una sola variabile d'appoggio basta per qualunque rotazione. ::: ## Domande di ripasso ::: domanda Perché `x = y; y = x;` non scambia le due variabili? Perché l'assegnamento cancella il valore di prima: dopo `x = y;` il vecchio valore di `x` non c'è più, e `y = x;` copia in `y` il valore che aveva già. ::: ::: domanda Quali sono i tre passi dello scambio con la variabile d'appoggio? `temp = x;` per salvare `x`; `x = y;` per mettere `y` in `x`; `y = temp;` per mettere il vecchio `x` in `y`. ::: ::: domanda Perché l'ordine dei tre passi conta? Perché si può sovrascrivere una variabile solo dopo averne salvato il valore. Se si scrive prima `x = y;`, il valore di `x` è perso prima di essere salvato. ::: ::: domanda Di che tipo deve essere la variabile d'appoggio? Dello stesso tipo delle variabili da scambiare, altrimenti il valore salvato può essere cambiato o approssimato. ::: ::: domanda Quante variabili d'appoggio servono per ruotare quattro variabili? Una sola: si salva la prima che verrà sovrascritta, e ogni assegnamento riempie la variabile liberata da quello prima. ::: ## Glossario ```glossario Scambio (swap) | Operazione che mette in ciascuna di due variabili il valore che aveva l'altra. Variabile d'appoggio | Variabile in più, dello stesso tipo, che conserva per poco un valore che sta per essere sovrascritto; detta anche variabile temporanea. Sovrascrivere | Assegnare un nuovo valore a una variabile: il valore di prima è perso. Rotazione | Scambio a catena tra più variabili: ognuna prende il valore della successiva, l'ultima quello della prima. Valore indeterminato | Contenuto di una variabile dichiarata e non ancora assegnata; negli schemi «?». ``` ## Checklist ```checklist - So spiegare perché `x = y; y = x;` non scambia due variabili. - So scrivere lo scambio con la variabile d'appoggio, nell'ordine giusto. - So seguire uno scambio con la tabella «una riga per istruzione». - So scegliere il tipo giusto per la variabile d'appoggio. - So ruotare tre o quattro variabili con una sola variabile d'appoggio. ``` ## Fonti - Slide «Scambiare variabili. Uso delle variabili temporanee» (03A_scambio variabili), Programmazione I – Teoria, canale B, A.A. 2026/27, Elvio Amparore: le tazze di tè (slide 2–4), lo scambio sbagliato passo per passo (slide 5–10), lo scambio con la variabile d'appoggio passo per passo (slide 11–16). - Laboratorio 02 «Operatori e Tipi», canale B: il programma `scambio.c` e l'esercizio `scambio4.c` (slide 18). - I programmi di questi appunti sono stati compilati con gcc 16.1 e `-Wall -Werror` ed eseguiti; le stampe riportate sono quelle vere. La rotazione di tre variabili, il trucco con le somme, le tabelle passo per passo, i quiz e gli esercizi senza indicazione sono di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/03B_floats.md` ```yaml corso: PROG1 lezione: 03B titolo: Numeri reali in C, float e double, conversioni di tipo data: 2026-10-13 docenti: Elvio Amparore sopratitolo: Programmazione I · Teoria · Canale B · Lezione 03B descrizione: >- Appunti della lezione 03B di Programmazione I (canale B): i tipi float e double, precisione e intervallo, la stampa con %f, %e e %g e la lettura dei double con %lf, le operazioni sui reali e la libreria math.h, le conversioni di tipo implicite e le loro conseguenze, la promozione di tipo, la divisione tra interi che perde la parte frazionaria, il cast esplicito, con tutti i programmi delle slide provati, quiz ed esercizi. lede: >- I numeri con la virgola in C si chiamano float e double. Qui vedi come si stampano e si leggono, quante cifre tengono davvero, e soprattutto che cosa succede quando mescoli interi e reali nella stessa espressione: è lì che 5 diviso 2 diventa 2 invece di 2,5. materiale: slide scheda: Slide: 03B_floats («Numeri reali in C. Float, double, precisione, conversione») · 25 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 90 minuti, meglio con gcc a portata di mano fonte: >- Slide «Numeri reali in C. Float, double, precisione, conversione» (03B_floats), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/03B_floats.html genera_html: true ``` ## In breve - I numeri con la virgola in C sono di due tipi: **`float`**, di solito 4 byte e circa 7 cifre giuste, e **`double`**, di solito 8 byte e circa 15–16 cifre giuste. - Si stampano con **`%f`** (notazione normale, 6 cifre dopo la virgola), **`%e`** (notazione scientifica) e **`%g`** (la più corta delle due). `%.3f` tiene 3 cifre dopo la virgola. - Con `scanf`, un `double` si legge con **`%lf`**, non con `%f`. - Sui reali ci sono `+`, `-`, `*`, `/`, ma **non** il resto `%`. Radici, potenze e altre funzioni sono nella libreria **`math.h`**. - Quando un'espressione mescola tipi diversi, il C li **converte** da solo: il tipo «più piccolo» diventa quello «più grande». Un intero con un reale dà un reale. - Ma **tra due interi** la divisione resta intera: in `float z = 5 / 2;` la divisione fa 2, e solo dopo il 2 diventa 2.000000. - Mettere un reale in un `int` **taglia** la parte dopo la virgola, senza avvisi. - Il **cast** `(float)y` converte un valore quando lo decidi tu: `x / (float)y` fa la divisione con la virgola. > [!CANALI] > **Canale B.** È la seconda parte della lezione di martedì 13/10, dalle 11 alle 13, dopo la [03A](03A_scambio_variabili.html) sullo scambio di variabili. Riprende la tabella dei tipi della [02B](02B_assegnamento_memory_model.html). > > **Fondamenti dell'Informatica.** Le slide rimandano a Fondamenti per la codifica dei reali, lo standard **IEEE 754**. L'idea è nella [lezione 03 di Fondamenti](../FDA/03_interi_con_segno_virgola_mobile.html): segno, esponente e mantissa, con un formato da 8 bit invece di 32 o 64. > > **Canali A e C.** Le slide 2026/27 dei canali A e C per questa lezione non le ho viste. L'esame è unico, e le conversioni di tipo sono una fonte di errori in tutti gli esercizi con le medie. > > **Laboratorio.** Il [Laboratorio 02](Lab02_operatori_tipi.html) fa provare tutto questo con `aritmetica.c`, `media.c` e `circonferenza.c`. ## I numeri con la virgola: float e double (slide 2–3) Per contare le persone in aula bastano gli interi. Ma per la media dei voti, il prezzo al chilo dei pomodori o la velocità di un'auto servono i numeri con la virgola: una parte intera e una parte frazionaria. In C si chiamano **numeri reali** e hanno due tipi principali. | Tipo | Dimensione tipica | Cifre giuste, circa | Intervallo, circa | Quando usarlo | |---|---|---|---|---| | `float` | 32 bit, 4 byte | 7 cifre decimali | da $10^{-38}$ a $10^{38}$ | per risparmiare memoria, o per calcoli poco delicati | | `double` | 64 bit, 8 byte | 15–16 cifre decimali | da $10^{-308}$ a $10^{308}$ | calcoli scientifici, quando serve precisione | Il nome `double` viene da «doppia precisione»: usa il doppio dei bit di `float`. In memoria funzionano come la virgola mobile della lezione 03 di Fondamenti: un bit di segno, un esponente che dice dove sta la virgola, e una mantissa con le cifre. Lo standard che lo descrive si chiama **IEEE 754**. ### Le cifre giuste sono poche «Circa 7 cifre» vuol dire proprio questo: dopo la settima cifra il numero è approssimato. Ho provato sul mio PC tre stampe con tante cifre: ```c float f = 0.1f; double d = 0.1; printf("%.20f\n%.20f\n", f, d); ``` ``` 0.10000000149011611938 0.10000000000000000555 ``` Un decimo non si scrive esattamente in base 2, come un terzo non si scrive esattamente in base 10. Il `float` sbaglia dall'ottava cifra, il `double` dalla diciottesima. Per la stessa ragione `0.1 + 0.2` in `double` vale `0.30000000000000004`. > [!TRAPPOLA] I reali non si confrontano con == > Siccome quasi tutti i reali sono approssimati, due calcoli che «dovrebbero» dare lo stesso numero spesso differiscono nell'ultima cifra. Confrontare due `double` con `==` è quasi sempre un errore. Lo vedrai con le condizioni: si controlla che la differenza sia molto piccola. ### Le operazioni Sui reali ci sono le quattro operazioni: `+`, `-`, `*`, `/`. La divisione `/` tra due reali è quella vera, con la virgola: `5.0 / 2.0` fa `2.5`. Il resto **`%` non c'è**: con due `double` gcc si ferma con `error: invalid operands to binary % (have 'double' and 'double')`. Le slide avvisano che esiste una funzione di libreria, `fmod`, ma nel corso non si usa. ::: prova Quale tipo usi per: (a) il numero di studenti in aula; (b) la temperatura in gradi; (c) un risultato di fisica con 12 cifre giuste? (a) `int`: è un numero intero. (b) `float` o `double`: ha la virgola; basta anche `float`. (c) `double`: il `float` ha solo circa 7 cifre giuste. ::: > [!RICORDA] > - `float`: 4 byte, circa 7 cifre. `double`: 8 byte, circa 15–16 cifre. > - I reali sono quasi sempre approssimati: niente `==` tra reali. > - Niente `%` tra reali. ## Stampare e leggere i reali (slide 4–5) Con `printf` un reale si può stampare in tre modi. Con `double z = 2.5;`: | Specificatore | Che cosa stampa | Esempio | Quando usarlo | |---|---|---|---| | `%f` | notazione con la virgola fissa, 6 cifre dopo la virgola | `2.500000` | la scrittura «naturale» di un numero | | `%e` | notazione scientifica | `2.500000e+00` | numeri molto grandi o molto piccoli | | `%g` | la più corta tra `%f` e `%e`, senza zeri inutili | `2.5` | una stampa compatta | `e+00` vuol dire «per 10 alla 0». Così `1.5e+03` è $1{,}5 \cdot 10^3 = 1500$. ### Quante cifre dopo la virgola Tra il `%` e la lettera si può scrivere un punto e un numero: è quante cifre stampare dopo la virgola. ```c printf("z vale %f\n", z); // z vale 2.500000 printf("z vale %.3f\n", z); // z vale 2.500 printf("z vale %.3e\n", z); // z vale 2.500e+00 ``` Le slide dicono «troncata al terzo decimale». In realtà `printf` **arrotonda** all'ultima cifra stampata: `printf("%.2f", 1.0 / 3)` stampa `0.33`, e `printf("%.2f", 2.0 / 3)` stampa `0.67`. Un'altra cosa da sapere: `printf` usa `%f` sia per i `float` sia per i `double`. Quando passi un `float` a `printf`, il C lo trasforma da solo in `double`. Per questo i messaggi di errore di gcc su `%f` parlano sempre di `double`. ### Leggere un double Con `scanf` le cose cambiano. `scanf` non riceve un valore ma un **indirizzo** (lezione 02C), e deve sapere quanti byte scrivere: 4 per un `float`, 8 per un `double`. Per questo: - un `float` si legge con `%f`; - un `double` si legge con **`%lf`** (o `%le`, `%lg`). ```c double x; float y; int letti = scanf("%lf %f", &x, &y); ``` Con l'input `3.25 1.5` il programma legge tutti e due i valori: `letti` vale 2. > [!TRAPPOLA] %f con un double in scanf > `double x; scanf("%f", &x);` con `-Wall -Werror` non compila: `error: format '%f' expects argument of type 'float *', but argument 2 has type 'double *'`. Senza le opzioni compila, ma scrive solo 4 degli 8 byte di `x` e il valore letto è sbagliato. In `printf` invece `%f` va bene per tutti e due. ::: prova Che cosa stampano `printf("%.1f", 3.14159)` e `printf("%g", 0.5)`? E come leggi un `double` chiamato `peso`? `3.1` e `0.5`. Il `double` si legge con `scanf("%lf", &peso);`. ::: > [!RICORDA] > - `printf`: `%f`, `%e`, `%g` per `float` e `double`; `%.3f` dà 3 cifre dopo la virgola. > - `scanf`: `%f` per `float`, `%lf` per `double`. ## Calcoli con i reali e math.h (slide 6–10) Il primo programma delle slide divide due `float`: ```c #include int main(void) { float x = 5, y = 2, z; z = x / y; printf("La var x vale %f\n", x); printf("La var y vale %f\n", y); printf("La var z vale %f\n", z); } ``` ``` La var x vale 5.000000 La var y vale 2.000000 La var z vale 2.500000 ``` `float x = 5` mette nel `float` il numero 5, che diventa 5.0. La divisione tra due `float` è con la virgola: 2.5. Le slide 7 e 8 rifanno lo stesso programma con i `double`, e poi con `x` e `y` di tipo `float` e `z` di tipo `double`. Il risultato stampato è sempre 2.500000; cambia solo lo spazio in memoria: 4 byte per ogni `float`, 8 per ogni `double`. ### La libreria math.h Gli operatori del C fanno solo le operazioni di base. Per radici, potenze, logaritmi e trigonometria c'è la libreria **`math.h`**, da includere con `#include `. Le funzioni più usate: | Funzione | Che cosa calcola | Esempio | |---|---|---| | `sqrt(x)` | la radice quadrata | `sqrt(9.0)` vale 3.0 | | `pow(x, y)` | $x$ elevato alla $y$ | `pow(9.0, 2)` vale 81.0 | | `sin(x)`, `cos(x)` | seno e coseno, con l'angolo in radianti | `cos(0.0)` vale 1.0 | | `floor(x)`, `ceil(x)`, `round(x)` | arrotonda per difetto, per eccesso, al più vicino | `round(2.5)` vale 3.0 | ```c #include #include int main(void) { float num = 9.0, radice, quadrato; quadrato = pow(num, 2); radice = sqrt(num); printf("Il quadrato di %.0f e' %.2f\n", num, quadrato); printf("La radice di %.0f e' %.2f\n", num, radice); } ``` ``` Il quadrato di 9 e' 81.00 La radice di 9 e' 3.00 ``` > [!NOTA] -lm su Linux > Su Linux le funzioni di `math.h` stanno in una libreria a parte, e va aggiunta quando si compila: `gcc programma.c -lm`. La `m` sta per *math*. Su Windows con gcc, sul mio PC, non serve, ma aggiungerla non fa danni. Al laboratorio Turing, che usa Linux, mettila. Tutto il riferimento della libreria è su [cppreference](https://en.cppreference.com/w/c/header/math.html). ::: prova Scrivi l'espressione C per la diagonale di un rettangolo con lati `a` e `b`, cioè la radice di $a^2 + b^2$. `sqrt(a * a + b * b)`, oppure `sqrt(pow(a, 2) + pow(b, 2))`. Serve `#include `. ::: > [!RICORDA] > - Divisione tra due reali: con la virgola. > - `math.h` per `sqrt`, `pow`, `floor`, `ceil`, `round` e le altre; su Linux si compila con `-lm`. ## Mescolare i tipi: le conversioni (slide 11–14) In un'espressione puoi mettere insieme un `int`, un `float` e un `char`. Ma i tre tipi sono scritti in memoria in modi diversi: per fare il conto, il C deve prima portarli tutti allo stesso formato. Questo passaggio si chiama **conversione di tipo**, e ce ne sono di due modi: - **conversione implicita**: la fa il compilatore da solo, senza che tu scriva niente; - **conversione esplicita**, o **cast**: la chiedi tu, scrivendo il tipo tra parentesi. Tutte e due possono **perdere informazione**: cifre, o l'intera parte dopo la virgola. > [!IDEA] > È come versare un liquido da un contenitore all'altro. Da un bicchiere in una caraffa non perdi niente. Dalla caraffa al bicchiere, quello che non ci sta va perso. ### Le conversioni dell'assegnamento L'assegnamento è il caso più comune: il valore a destra viene convertito nel tipo della variabile a sinistra. La tabella delle slide, con i valori che ho ottenuto sul mio PC: | Conversione | Si perde qualcosa? | Esempio | Risultato | |---|---|---|---| | `int` → `float` | no, tranne con interi molto grandi | `int x = 5; float y = x;` | `y` vale 5.0 | | `float` → `int` | sì, la parte dopo la virgola | `float x = 3.7; int y = x;` | `y` vale 3 | | `int` → `double` | no | `int x = 42; double y = x;` | `y` vale 42.0 | | `double` → `int` | sì, la parte dopo la virgola; comportamento indefinito se il numero non ci sta | `double x = 9.9; int y = x;` | `y` vale 9 | | `double` → `float` | sì, cifre di precisione | `double a = 3.14159; float b = a;` | `b` circa 3.14159, meno preciso | | `char` → `int` | no: il codice ASCII | `char c = 'A'; int x = c;` | `x` vale 65 | | `int` → `int*` | non si può | `int x = 5; int *p = x;` | errore di compilazione | Tre osservazioni. 1. **La parte dopo la virgola viene tagliata, non arrotondata.** 9.9 diventa 9, non 10. Con i negativi il taglio va verso lo zero: −2.7 diventa −2. 2. **Gli interi molto grandi** non stanno in un `float`, che ha solo 24 bit di mantissa. 16 777 217 messo in un `float` diventa 16 777 216. 3. **Un `double` fuori dall'intervallo degli `int`**, come 3 miliardi, non si può convertire: il comportamento è indefinito. Sul mio PC `(int)3e9` dà −2 147 483 648, ma non è garantito. L'ultima riga della tabella è un errore vero: con gcc 16.1, anche senza opzioni, `int *p = x;` dà `error: initialization of 'int *' from 'int' makes pointer from integer without a cast`. Un numero e un indirizzo non sono la stessa cosa (lezione 02C). > [!TRAPPOLA] Il compilatore non avvisa > Le conversioni con perdita di dati della tabella **non** danno errori né avvisi, nemmeno con `-Wall -Werror`. `int y = 3.7;` compila e mette 3 in `y`, in silenzio. gcc ha un'opzione che avvisa, `-Wconversion`, ma non fa parte di `-Wall` (lezione 02B). ::: prova Quanto valgono `a`, `b` e `c` dopo `int a = 7.99; int b = -7.99; char ch = 'C'; int c = ch;`? `a` vale 7 e `b` vale −7: la parte dopo la virgola è tagliata verso lo zero. `c` vale 67, il codice ASCII di `C` (65 è `A`). ::: > [!RICORDA] > - Da un tipo più piccolo a uno più grande non si perde niente; al contrario sì. > - Reale in un `int`: la parte dopo la virgola sparisce, in silenzio. ## La promozione di tipo (slide 15–16) Quando un operatore come `+` o `/` riceve due valori di tipo diverso, il compilatore li porta allo stesso tipo **prima** di fare il conto. Per non perdere informazione sceglie sempre il tipo **più ampio**. Questo si chiama **promozione di tipo**. - I tipi interi piccoli salgono: `char` → `short` → `int` → `long`. - I reali salgono: `float` → `double`. - Un intero con un reale diventa un **reale**. Esempi delle slide: - `char + int`: il `char` diventa `int`, il risultato è `int`. Così `'A' + 2` vale 67, e `'a' - 'A'` vale 32. - `int + double`: l'`int` diventa `double`, il risultato è `double`. Così `3 + 0.5` vale 3.5. > [!METODO] Leggere il tipo di un'espressione > 1. Parti dalle operazioni più interne, rispettando le precedenze della lezione 02B. > 2. Per ogni operatore guarda i tipi dei due valori. Se sono interi tutti e due, il risultato è intero, e la divisione è intera. Se almeno uno è reale, il risultato è reale. > 3. Solo alla fine, nell'assegnamento, il risultato si converte nel tipo della variabile. Il passo 2 è il punto chiave: la promozione guarda **un operatore alla volta**, non tutta l'espressione. Lo mostra la prossima sezione. ::: prova Di che tipo è, e quanto vale, ciascuna espressione? (a) `7 / 2`; (b) `7 / 2.0`; (c) `7.0 / 2`; (d) `'B' - 'A'`. (a) `int`, 3: divisione intera. (b) `double`, 3.5. (c) `double`, 3.5. (d) `int`, 1. ::: > [!RICORDA] > - Due tipi diversi: si sale al più ampio. Intero con reale: reale. > - La promozione si decide operatore per operatore. ## La divisione che inganna (slide 17–22) Ecco il caso più traditore della lezione. Il risultato va in un `float`, eppure la divisione perde la virgola. ```c int main(void) { int x = 5, y = 2; float z = x / y; printf("La var x vale %d\n", x); printf("La var y vale %d\n", y); printf("La var z vale %f\n", z); } ``` ``` La var x vale 5 La var y vale 2 La var z vale 2.000000 ``` Perché 2.000000 e non 2.500000? Segui il metodo: l'operatore `/` riceve due `int`, quindi fa la **divisione intera**, che dà 2. Solo **dopo**, nell'assegnamento, il 2 viene convertito in `float` e diventa 2.000000. Il fatto che `z` sia un `float` arriva troppo tardi: la parte frazionaria è già persa. > [!IDEA] > Il tipo della variabile a sinistra non cambia il modo in cui si calcola la destra. Prima si calcola la destra, con i suoi tipi; poi il risultato si converte. ### Il caso opposto Le slide 20–22 fanno il contrario: due `float` e il risultato in un `int`. ```c float x = 5, y = 2; int z = x / y; ``` Qui la divisione è tra due reali e dà 2.5, giusto. Ma poi l'assegnamento mette 2.5 in un `int`: la parte dopo la virgola sparisce e `z` vale 2. Il risultato è lo stesso del caso di prima, ma la perdita avviene in un momento diverso: nell'assegnamento, non nella divisione. | Programma | Divisione | Risultato della divisione | Assegnamento | `z` | |---|---|---|---|---| | `int x, y; float z = x / y;` | tra interi | 2 | `int` → `float` | 2.000000 | | `float x, y; int z = x / y;` | tra reali | 2.5 | `float` → `int` | 2 | | `float x, y; float z = x / y;` | tra reali | 2.5 | nessuna conversione | 2.500000 | ::: prova Con `int a = 7, b = 2;` quanto vale `double r = a / b * 2.0;`? E `double s = a * 2.0 / b;`? `r` vale 6.0: prima `a / b` tra interi fa 3, poi `3 * 2.0` fa 6.0. `s` vale 7.0: prima `a * 2.0` fa 14.0, un reale, e poi `14.0 / 2` fa 7.0. Stessi numeri, ordine diverso, risultato diverso. ::: > [!RICORDA] > - `float z = 5 / 2;` dà 2.0: la divisione tra interi taglia prima dell'assegnamento. > - `int z = 5.0 / 2.0;` dà 2: l'assegnamento taglia dopo la divisione. ## Il cast: convertire a comando (slide 23–25) Per avere 2.5 da due `int` bisogna fare in modo che la divisione veda **almeno un reale**. Si fa con il **cast esplicito**: il nome del tipo tra parentesi, davanti al valore da convertire. ```c int x = 5, y = 2; float z = x / (float)y; // y convertito in float: risultato 2.5 ``` `(float)y` vale 2.0, un `float`. Ora la divisione è tra un `int` e un `float`: per la promozione l'`int` sale a `float`, e il risultato è 2.5. > [!DEF] Cast (slide 23 e 25) > Il **cast** `(tipo)espressione` converte il valore dell'espressione nel tipo scritto tra parentesi. Agisce solo sull'espressione **immediatamente alla sua destra**, e cambia il tipo del valore solo durante quel calcolo: non cambia il tipo delle variabili. **Come si legge.** `(float)y` si legge «y convertito in float». Dopo il calcolo `y` è ancora un `int` che vale 2: il cast ha creato un valore nuovo, non ha cambiato `y`. ### Dove si mette il cast La posizione delle parentesi decide tutto. Con `int x = 5, y = 2;`, ho provato tre versioni: | Espressione | Che cosa succede | Valore | |---|---|---| | `x / (float)y` | `y` diventa 2.0, divisione con la virgola | 2.5 | | `(float)x / y` | `x` diventa 5.0, divisione con la virgola | 2.5 | | `(float)(x / y)` | prima `x / y` tra interi fa 2, poi 2 diventa 2.0 | 2.0 | Nel terzo caso il cast arriva troppo tardi: la parte dopo la virgola è persa dentro la parentesi. È lo stesso errore della sezione prima, scritto con il cast. > [!NOTA] Un dettaglio nella slide 24 > Nella slide 24 il codice stampa `x` e `y` con `%d`, ma il terminale disegnato mostra `5.000000` e `2.000000`. Con il codice della slide l'uscita vera è `La var x vale 5` e `La var y vale 2`, e poi `La var z vale 2.500000`. È solo una svista del disegno: il punto della slide, il 2.5, è giusto. > [!TRAPPOLA] Il cast di un intero già diviso > `(double)(somma / n)` sembra calcolare una media con la virgola, ma la divisione dentro la parentesi è tra interi. Il cast va su uno dei due valori **prima** della divisione: `(double)somma / n`. ::: prova Con `int somma = 17, n = 4;` scrivi un'espressione che calcoli la media 4.25 con un cast, e una che sembri giusta ma dia 4.0. Giusta: `(double)somma / n`, oppure `somma / (double)n`. Sbagliata: `(double)(somma / n)`, che divide tra interi e dà 4, poi lo converte in 4.0. ::: > [!RICORDA] > - `(tipo)espressione` converte solo l'espressione subito a destra. > - Il cast non cambia il tipo delle variabili. > - Per una divisione con la virgola tra interi, il cast va **su un operando**, non sul risultato. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `float` | «float» | reale, 4 byte, circa 7 cifre | `float t = 21.5f;` | | `double` | «dabol» | reale, 8 byte, circa 15–16 cifre | `double pi = 3.14159265;` | | `%f` | «percento effe» | in `printf`: reale con 6 cifre dopo la virgola | `2.500000` | | `%.2f` | «percento punto due effe» | reale con 2 cifre dopo la virgola | `2.50` | | `%e` | «percento e» | notazione scientifica | `2.500000e+00` | | `%g` | «percento gi» | la scrittura più corta | `2.5` | | `%lf` | «percento elle effe» | in `scanf`: un `double` | `scanf("%lf", &x);` | | `(float)y` | «y convertito in float» | cast esplicito | `x / (float)y` | | `math.h` | «math punto acca» | libreria delle funzioni matematiche | `sqrt(2.0)` | | `-lm` | «meno elle emme» | opzione di gcc per la libreria matematica su Linux | `gcc p.c -lm` | ## Verso l'esame L'esame di Programmazione I è al PC, unico per i tre canali: appelli **lunedì 25/01/2027** e **giovedì 11/02/2027**. CodeRunner confronta le stampe del tuo programma con quelle attese, carattere per carattere: un 2.000000 al posto di 2.500000 è un test fallito. **Gli errori che costano** 1. **La media tra interi.** Sommare interi e dividere per il numero di elementi dà una divisione intera. Serve un cast su un operando, o una costante reale come `3.0`. 2. **`%lf` dimenticato in `scanf`** con un `double`: con `-Wall -Werror` non compila. 3. **Lo specificatore sbagliato in `printf`**: `%d` con un `double`, o `%f` con un `int`, non compila con `-Wall -Werror`. 4. **Il numero di cifre**: se il testo chiede due cifre dopo la virgola, serve `%.2f`; con `%f` ne escono sei e il test fallisce. 5. **I reali confrontati con `==`**: con le condizioni, nelle prossime lezioni. > [!METODO] Prima di dividere > 1. Guarda i tipi dei due operandi del `/`. > 2. Se sono tutti e due interi e vuoi la virgola, metti un cast su **uno** dei due, oppure usa una costante con la virgola. > 3. Controlla con un esempio a mano: 5 diviso 2 deve dare 2.5. > [!ESAME] La media di tre numeri > Il programma `media.c` del [Laboratorio 02](Lab02_operatori_tipi.html) è proprio questo esercizio: con i voti 1, 2, 5, la media intera dà 2, la media con il cast sul risultato dà 2.000000, quella giusta dà 2.666667. È un modello di errore che negli esercizi d'esame si ripete in ogni calcolo di media. ## Quiz ```quiz D: Con `int x = 5, y = 2;` quanto vale `float z = x / y;`? + 2.0 - 2.5 - 3.0 - 2.25 - non compila = `/` tra due `int` è la divisione intera: dà 2. Solo dopo il 2 diventa il `float` 2.0. La risposta più insidiosa è 2.5: il tipo di `z` non cambia il calcolo a destra. Nessun arrotondamento porta a 3. D: Con `float x = 5, y = 2;` quanto vale `int z = x / y;`? + 2 - 2.5 - 3 - 2.0, perché resta un float - non compila = La divisione tra `float` dà 2.5; l'assegnamento a un `int` taglia la parte dopo la virgola: 2. La risposta più insidiosa è 3: il C non arrotonda, taglia. Compila senza avvisi, anche con `-Wall`. D: Con `int x = 5, y = 2;` quale espressione vale 2.5? + `x / (float)y` - `(float)(x / y)` - `x / y` - `(int)(x / 2.0)` - `x / y * 1.0` = Il cast su `y` rende reale un operando, e la divisione è con la virgola. La risposta più insidiosa è `(float)(x / y)`: la divisione tra interi avviene dentro la parentesi, e il cast converte il 2 in 2.0. `(int)(x / 2.0)` taglia 2.5 a 2. `x / y * 1.0` fa prima la divisione intera, 2, e poi la moltiplica: 2.0. D: Come si legge un `double` chiamato `d` con `scanf`? + `scanf("%lf", &d);` - `scanf("%f", &d);` - `scanf("%d", &d);` - `scanf("%lf", d);` - `scanf("%e", d);` = Per un `double` serve `%lf`, e `scanf` vuole l'indirizzo. La risposta più insidiosa è `scanf("%f", &d);`: `%f` va bene in `printf`, ma in `scanf` è per i `float`, e con `-Wall -Werror` non compila. Le ultime due passano il valore invece dell'indirizzo. D: Che cosa stampa `printf("%.2f\n", 2.0 / 3);`? + `0.67` - `0.66` - `0.666667` - `0` - `0.67e+00` = `2.0 / 3` è una divisione con la virgola, perché 2.0 è reale: 0.6666… Con `%.2f` si stampano 2 cifre, arrotondate: 0.67. La risposta più insidiosa è `0.66`: `printf` arrotonda, non taglia. `0.666667` sarebbe con `%f`. D: Quale riga dà un errore di compilazione con gcc 16.1, anche senza opzioni? + `int x = 5; int *p = x;` - `int x = 3.7;` - `double d = 7;` - `char c = 'A'; int n = c;` - `float f = 1e10;` = Un intero non diventa un indirizzo da solo: gcc si ferma con «makes pointer from integer without a cast». La risposta più insidiosa è `int x = 3.7;`: perde la parte dopo la virgola, ma compila senza avvisi. Le altre sono conversioni normali. D: Con `int a = 7, b = 2;` quanto vale `double r = a / b * 2.0;`? N: 6 = Si calcola da sinistra: `a / b` tra interi fa 3, poi `3 * 2.0` fa 6.0. La divisione intera avviene prima che il 2.0 entri in gioco. D: Di che tipo è il risultato di `'A' + 1.5`? + `double` - `char` - `int` - `float` - non si può sommare un carattere e un numero = `'A'` è un `char`, che sale a `int`; con un `double` come 1.5 si sale a `double`. La risposta più insidiosa è `float`: le costanti con la virgola senza la `f` finale sono `double`. Il risultato vale 66.5. D: Che cosa vale `(int)-3.7`? + -3 - -4 - 3 - -3.7 - 0 = Il cast a `int` taglia verso lo zero: −3.7 diventa −3. La risposta più insidiosa è −4, che sarebbe l'arrotondamento per difetto di `floor`. Il segno resta. ``` ## Esercizi ::: esercizio base Riscaldamento: il tipo e il valore Con `int i = 9; double d = 2.0;` scrivi tipo e valore di: (a) `i / 2`; (b) `i / d`; (c) `i % 2`; (d) `(double)i / 2`; (e) `(double)(i / 2)`. ::: soluzione (a) `int`, 4. (b) `double`, 4.5. (c) `int`, 1. (d) `double`, 4.5: il cast è su `i`. (e) `double`, 4.0: la divisione intera avviene prima del cast. ::: ::: esercizio base Riscaldamento: stampe dei reali Con `double z = 1234.5678;` scrivi che cosa stampano `%f`, `%.1f`, `%e` e `%g`. Poi provalo. ::: soluzione - `%f`: `1234.567800` - `%.1f`: `1234.6`, arrotondato - `%e`: `1.234568e+03` - `%g`: `1234.57`: `%g` tiene 6 cifre significative in tutto ::: ::: esercizio base Riscaldamento: assegnamenti che perdono Che cosa valgono le variabili? `int a = 9.99; int b = -9.99; float c = 1/4; float d = 1.0/4; double e = 'a';` ::: soluzione `a` = 9 e `b` = −9: taglio verso lo zero. `c` = 0.0: divisione intera, 1/4 fa 0. `d` = 0.25. `e` = 97.0: il codice ASCII di `a`. ::: ::: esercizio medio Il programma delle slide 17–19, corretto Il programma con `int x = 5, y = 2; float z = x / y;` stampa 2.000000. Correggilo in due modi diversi perché stampi 2.500000, senza cambiare il tipo di `x` e `y`. ::: soluzione ```c #include int main(void) { int x = 5, y = 2; float z1 = x / (float)y; // cast su un operando float z2 = (float)x / y; // cast sull'altro operando printf("%f %f\n", z1, z2); } ``` Stampa `2.500000 2.500000`. Anche `x * 1.0 / y` funziona, ma con il cast chi legge vede subito che vuoi una divisione con la virgola. ::: ::: esercizio medio Radice e potenza Scrivi un programma che legge un `double` con `scanf` e stampa il suo quadrato e la sua radice quadrata con 3 cifre dopo la virgola. Prova con 2. ::: soluzione ```c #include #include int main(void) { double x; printf("Inserisci un numero: "); scanf("%lf", &x); printf("Quadrato: %.3f\n", pow(x, 2)); printf("Radice: %.3f\n", sqrt(x)); } ``` Con 2 stampa `Quadrato: 4.000` e `Radice: 1.414`. Su Linux si compila con `gcc -Wall -Werror radice.c -o radice -lm`. ::: ::: esercizio esame La media di tre voti Scrivi un programma che legge tre voti interi e stampa la loro media con 2 cifre dopo la virgola. Con 1, 2, 5 deve stampare `2.67`. Poi spiega che cosa stamperebbe con `double m = (a + b + c) / 3;`. ::: soluzione ```c #include int main(void) { int a, b, c; scanf("%d %d %d", &a, &b, &c); double m = (a + b + c) / 3.0; printf("%.2f\n", m); } ``` Stampa `2.67`. Con `(a + b + c) / 3` la somma 8 è divisa per l'intero 3: divisione intera, 2, poi convertito in 2.0. Stamperebbe `2.00`. Programma provato con gcc 16.1 e `-Wall -Werror`. ::: ::: esercizio esame Trova i tre errori Questo programma dovrebbe leggere il lato di un quadrato con la virgola e stampare l'area con 2 cifre. Trova gli errori: `double lato; scanf("%f", &lato); int area = lato * lato; printf("Area: %.2f\n", area);` ::: soluzione 1. `scanf("%f", &lato)`: per un `double` serve `%lf`. Con `-Wall -Werror` non compila. 2. `int area`: l'area con la virgola va in un `double`; in un `int` perde la parte frazionaria. 3. `printf("%.2f", area)` con un `int`: lo specificatore non corrisponde al tipo. Con `-Wall -Werror` non compila. Corretto: `double lato; scanf("%lf", &lato); double area = lato * lato; printf("Area: %.2f\n", area);`. ::: ## Domande di ripasso ::: domanda Che differenza c'è tra float e double? `float` usa di solito 4 byte e ha circa 7 cifre giuste; `double` usa 8 byte e ha circa 15–16 cifre giuste, con un intervallo molto più ampio. ::: ::: domanda Con quale specificatore si legge un double con scanf? E si stampa con printf? Si legge con `%lf`. Si stampa con `%f`, `%e` o `%g`, perché `printf` riceve i `float` già convertiti in `double`. ::: ::: domanda Perché `float z = 5 / 2;` vale 2.0? Perché `5 / 2` è una divisione tra due interi e dà 2. Solo dopo, nell'assegnamento, il 2 diventa il `float` 2.0. ::: ::: domanda Che cosa succede mettendo 3.7 in un int? La parte dopo la virgola viene tagliata, senza arrotondare e senza avvisi: l'`int` vale 3. ::: ::: domanda Che cos'è la promozione di tipo? La conversione automatica dei due operandi di un operatore al tipo più ampio, prima di fare il conto: un intero con un reale diventa un reale. ::: ::: domanda Che differenza c'è tra `(double)a / b` e `(double)(a / b)` con a e b interi? Nel primo il cast è su `a`, e la divisione è con la virgola. Nel secondo la divisione tra interi avviene prima, e il cast converte un risultato già tagliato. ::: ::: domanda Perché non si confrontano due double con ==? Perché quasi tutti i reali sono approssimati: due calcoli che dovrebbero dare lo stesso valore possono differire nell'ultima cifra. ::: ## Glossario ```glossario float | Tipo reale, di solito 4 byte, con circa 7 cifre decimali giuste. double | Tipo reale in doppia precisione, di solito 8 byte, con circa 15–16 cifre decimali giuste. IEEE 754 | Lo standard che descrive come sono scritti in memoria i numeri reali: segno, esponente e mantissa. %f, %e, %g | Specificatori di printf per i reali: virgola fissa, notazione scientifica, scrittura più corta. %lf | Specificatore di scanf per leggere un double. math.h | Libreria del C con le funzioni matematiche: sqrt, pow, floor, ceil, round, sin, cos. Conversione implicita | Cambio di tipo fatto dal compilatore da solo, per esempio in un assegnamento o in un'espressione mista. Promozione di tipo | Conversione automatica degli operandi al tipo più ampio prima di un'operazione. Cast | Conversione esplicita scritta con il tipo tra parentesi, come `(float)y`; vale solo per l'espressione subito a destra. Comportamento indefinito | Situazione in cui il linguaggio non dice che cosa succede, come un double troppo grande messo in un int. ``` ## Checklist ```checklist - So la differenza tra float e double, in byte e in cifre giuste. - So stampare un reale con %f, %e, %g e con un numero fissato di cifre. - So leggere un double con %lf. - So usare sqrt e pow di math.h e so quando serve -lm. - So che cosa si perde nelle conversioni dell'assegnamento. - So decidere il tipo di un'espressione, operatore per operatore. - So perché `float z = 5 / 2;` vale 2.0, e come correggerlo con un cast. - So dove mettere il cast per fare una media con la virgola. ``` ## Fonti - Slide «Numeri reali in C. Float, double, precisione, conversione» (03B_floats), Programmazione I – Teoria, canale B, A.A. 2026/27, Elvio Amparore: float e double (slide 2–3), formati di stampa (slide 4–5), programmi con float e double (slide 6–8), math.h (slide 9–10), conversioni implicite e tabella delle conseguenze (slide 11–14), promozione di tipo (slide 15–16), divisione tra interi (slide 17–22), cast esplicito (slide 23–25). - Laboratorio 02 «Operatori e Tipi», canale B: `media.c`, `aritmetica.c`, `circonferenza.c`. - [cppreference, ``](https://en.cppreference.com/w/c/header/math.html), il riferimento citato nelle slide. - I programmi di questi appunti sono stati compilati con gcc 16.1 su Windows 11 a 64 bit, con `-Wall -Werror`, ed eseguiti; gli errori del compilatore citati sono quelli veri. Le prove sulla precisione (0.1, 16 777 217, 3 miliardi), le tabelle dei casi, i quiz e gli esercizi sono di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/03C_booleani.md` ```yaml corso: PROG1 lezione: 03C titolo: Espressioni booleane, il tipo bool e gli operatori logici data: 2026-10-14 docenti: Elvio Amparore simboli_logici: si sopratitolo: Programmazione I · Teoria · Canale B · Lezione 03C descrizione: >- Appunti della lezione 03C di Programmazione I (canale B): gli operatori di confronto ==, !=, <, >, <=, >=, la differenza tra = e ==, il tipo bool di stdbool.h, gli operatori logici &&, || e ! con le tavole di verità, i confronti su un intervallo, la valutazione in cortocircuito, come spezzare le condizioni lunghe e l'operatore ternario, con tutti i programmi delle slide provati, quiz ed esercizi. lede: >- Un programma non fa solo conti: deve anche rispondere a domande con un sì o con un no. «Il voto è almeno 18?», «l'input è valido?». In C queste domande si scrivono con le espressioni booleane, che valgono 1 se la risposta è sì e 0 se è no. materiale: slide scheda: Slide: 03C_booleans («Espressioni booleane. Operatori logici per decidere nei programmi») · 20 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 75 minuti, meglio con gcc a portata di mano fonte: >- Slide «Espressioni booleane. Operatori logici per decidere nei programmi» (03C_booleans), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/03C_booleani.html genera_html: true ``` ## In breve - Un'**espressione booleana** è una domanda con risposta sì o no. In C vale **1** se è vera e **0** se è falsa. - Si confrontano due valori con **`==`**, `!=`, `<`, `>`, `<=`, `>=`. Attenzione: `==` confronta, `=` assegna. - Il tipo **`bool`**, con le costanti `true` e `false`, si usa includendo `stdbool.h`. Si stampa con `%d`, e appare 0 oppure 1. - Le domande si combinano con **`&&`** (e: vere tutte e due), **`||`** (o: almeno una vera) e **`!`** (non: rovescia la risposta). - «x tra 18 e 30» in C si scrive `18 <= x && x <= 30`, con due confronti. Scritto come in matematica è sempre vero. - **Cortocircuito**: se la prima parte basta a decidere, la seconda non viene calcolata. Così `divisore != 0 && n / divisore > 5` non divide mai per zero. - Le condizioni lunghe si spezzano in variabili `bool` con un nome chiaro. Con `-Wall -Werror`, `&&` e `||` mescolati senza parentesi non compilano. - L'**operatore ternario** `condizione ? a : b` vale `a` se la condizione è vera, `b` se è falsa. > [!CANALI] > **Canale B.** È la prima parte della lezione di mercoledì 14/10, dalle 9 alle 11, prima della [03D](03D_decisioni.html) sugli `if`. Usa la memoria e i tipi della [02B](02B_assegnamento_memory_model.html) e la `scanf` della [02C](02C_referenziamento_scanf_puntatori.html). > > **Fondamenti dell'Informatica.** Le stesse tre operazioni, con le tavole di verità, sono nella [lezione 06 di Fondamenti](../FDA/06_proposizioni_connettivi_tavole.html), e le leggi di De Morgan nella [lezione 07](../FDA/07_condizionali_equivalenza_logica.html). Le porte logiche AND, OR e NOT della [lezione 01](../FDA/01_bit_porte_esadecimale.html) fanno la stessa cosa con i fili. > > **Canali A e C.** Secondo l'elenco delle lezioni 2025/26 nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md), nel canale A (Fiandrotti) c'è un deck «booleani» seguito da uno su `if-else`; nel canale C (Mazzei) sono le lezioni 04 «Booleani» e 05 «IF». Le slide 2026/27 dei canali A e C non le ho viste. L'esame è unico. > > **Laboratorio.** Il prossimo laboratorio, il Lab03, è proprio sulle condizioni booleane. > > Tutti i programmi li ho compilati e provati con gcc 16.1, con `-Wall -Werror`. Quando un programma delle slide non compila così, lo dico. ## A che cosa servono (slide 2) Pensa al tornello della metropolitana. Avvicini il biglietto, e il tornello si fa una domanda: «il biglietto è valido?». Se la risposta è sì si apre, se è no resta chiuso. Il tornello non fa conti difficili: risponde a una domanda con un sì o con un no, e poi sceglie che cosa fare. Anche un programma fa così. Finora i nostri programmi eseguivano le istruzioni una dopo l'altra, sempre tutte. Ma un programma vero deve **decidere**, e per decidere deve farsi domande come queste, che vengono dalle slide: - «Ho già fatto tutte le somme richieste?», come nella moltiplicazione della [lezione 01A](01A_primo_algoritmo.html); - «L'input scritto da tastiera è corretto?»; - «Lo studente ha superato l'esame?». Le **espressioni booleane** sono il modo di scrivere queste domande in C. Sono il ponte tra i dati, che sono numeri, e le scelte. In questa lezione impari a scriverle; nella [03D](03D_decisioni.html) le usi per scegliere che cosa fare, con `if`. ::: prova Trasforma in una domanda con risposta sì o no: «il programma deve fermarsi quando il conto supera 100 euro». «Il conto è maggiore di 100?». In C sarà `conto > 100`. ::: > [!RICORDA] > - Un'espressione booleana è una domanda con risposta sì o no. > - Serve al programma per scegliere che cosa fare. ## Confrontare due valori (slide 3–4) La domanda più semplice confronta due numeri: «il voto è almeno 18?». In C si scrive `voto >= 18`. Il risultato non è un sì scritto a parole: è un **numero**, **1** se la risposta è sì e **0** se è no. | In matematica | In C | Si legge | Esempio | Vale | |:-:|:-:|---|---|:-:| | $x = y$ | `==` | «uguale a» | `3 == 2` | 0 | | $x \neq y$ | `!=` | «diverso da» | `3 != 2` | 1 | | $x > y$ | `>` | «maggiore di» | `3 > 2` | 1 | | $x < y$ | `<` | «minore di» | `3 < 2` | 0 | | $x \ge y$ | `>=` | «maggiore o uguale a» | `3 >= 3` | 1 | | $x \le y$ | `<=` | «minore o uguale a» | `5 <= 3` | 0 | Si chiamano **operatori relazionali**, perché dicono in che relazione stanno due valori. Gli esempi delle slide: - `contatore != n`: le ripetizioni non sono ancora finite; - `pinInserito == pinCorretto`: il PIN è giusto; - `temperatura <= limiteMax`: la temperatura non supera il limite; - `voto >= 18`: l'esame è superato. > [!TRAPPOLA] Uguale si scrive con due segni > In C **`=`** è l'assegnamento della [02B](02B_assegnamento_memory_model.html): `x = 5` **mette** 5 in `x`. Per **chiedere** se `x` vale 5 si scrive **`x == 5`**. Confonderli è uno degli errori più comuni, e lo ritrovi nella 03D. `>=` e `<=` si scrivono con il segno di uguale **dopo**: `=>` e `=<` non esistono in C. ::: prova Con `int a = 7, b = 10;`, quanto valgono `a < b`, `a == b - 3` e `b != 10`? `a < b` vale 1. `a == b - 3` vale 1, perché prima si fa la sottrazione: 10 − 3 = 7. `b != 10` vale 0. ::: > [!RICORDA] > - Un confronto vale 1 se è vero, 0 se è falso. > - `==` confronta, `=` assegna. ## Il tipo bool (slide 5–7) Per tenere la risposta a una domanda serve una variabile. Il C più vecchio usava gli `int`, con questa regola, che vale ancora oggi: - **0** vuol dire **falso**; - **qualunque altro numero** vuol dire **vero**. Dal 1999, cioè dalla versione del C chiamata C99, esiste un tipo apposta. Si usa scrivendo in cima al programma: ```c #include ``` e porta tre cose: il tipo **`bool`** e le due costanti **`true`**, che vale 1, e **`false`**, che vale 0. Il nome viene da George Boole, il matematico che nell'Ottocento ha studiato la logica del vero e del falso. Le slide chiedono di usare `bool` ogni volta che si può: chi legge capisce subito che la variabile contiene un sì o un no. ```c #include #include int main(void) { int votoScritto = 25; int sogliaSuff = 18; bool superato = votoScritto >= sogliaSuff; printf("Lo studente supera l'esame? %d\n", superato); } ``` ``` Lo studente supera l'esame? 1 ``` La riga `bool superato = votoScritto >= sogliaSuff;` funziona come ogni assegnamento: prima si calcola la destra, `25 >= 18`, che vale 1, poi il risultato si copia in `superato`. Per `bool` **non c'è uno specificatore** di `printf`: si usa `%d`, come per gli interi, e si vede 0 oppure 1. > [!NOTA] Quanto spazio occupa un bool > Nella slide 6 la variabile `b` è disegnata come un solo bit, 0 o 1, perché è l'informazione che contiene. In memoria però un `bool` occupa un byte intero: `sizeof(bool)` stampa 1. Il motivo è che la memoria si indirizza a byte, come nella [lezione 01B](01B_architettura.html). Se metti in un `bool` un numero diverso da 0 e 1, diventa `true`: con `bool c = 5;`, `printf("%d", c)` stampa 1. ::: prova Con `int eta = 16;`, che cosa stampa `bool maggiorenne = eta >= 18; printf("%d", maggiorenne);`? 0: 16 non è maggiore o uguale a 18. ::: > [!RICORDA] > - `bool`, `true` e `false` vengono da `stdbool.h`. > - Per il C, 0 è falso e qualunque altro numero è vero. > - Un `bool` si stampa con `%d`. ## Unire più domande: &&, || e ! (slide 8–12) Spesso una sola domanda non basta. Il login di un sito riesce se hai fatto meno di 3 tentativi **e** l'account non è bloccato. Il biglietto è scontato se hai meno di 12 anni **oppure** sei tesserato. Per unire le domande ci sono tre **operatori logici**: | In C | Si legge | Vale vero quando | In logica | |:-:|---|---|:-:| | `a && b` | «a e b» | **tutte e due** sono vere | $a \land b$ | | `a \|\| b` | «a o b» | **almeno una** è vera | $a \lor b$ | | `!a` | «non a» | `a` è falsa | $\neg a$ | Gli esempi delle slide, riscritti con i nomi delle variabili: ```c bool login = (numTentativi < 3) && !accountBloccato; bool riscaldamento = (temperatura < 18) && termostatoOn; bool sconto = (eta < 12) || tesserato; bool ventolaAccesa = (temperatura >= 28) || modoManuale; ``` Il primo si legge: «login è vero se i tentativi sono meno di 3 e l'account **non** è bloccato». ### Le tavole di verità Una **tavola di verità** scrive il risultato per tutte le combinazioni possibili. Con due domande le combinazioni sono quattro. | `c1` | `c2` | `c1 && c2` | `c1 \|\| c2` | |:-:|:-:|:-:|:-:| | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | | 1 | 0 | 0 | 1 | | 1 | 1 | **1** | 1 | | `c` | `!c` | |:-:|:-:| | 0 | 1 | | 1 | 0 | - `&&` dà 1 in **una sola** riga, quella con tutti e due a 1. - `||` dà 0 in **una sola** riga, quella con tutti e due a 0. - L'«o» del C è inclusivo: se sono vere tutte e due, il risultato è vero. Sono le stesse tavole della [lezione 06 di Fondamenti](../FDA/06_proposizioni_connettivi_tavole.html), con 1 e 0 al posto di V e F. Prova a scrivere una formula e a vederne la tavola. Qui si usano le lettere per le domande, `&` o `&&` per «e», `|` o `||` per «o», `!` per «non»: ```widget logica titolo: La tavola di verità di una condizione modo: tavola formula: (a | t) & !b ``` ::: prova Con `int eta = 15; bool tesserato = false;`, quanto vale `(eta < 12) || tesserato`? E `!tesserato && eta >= 14`? Il primo vale 0: 15 non è minore di 12, e `tesserato` è falso. Il secondo vale 1: `!tesserato` è vero e 15 è almeno 14. ::: > [!RICORDA] > - `&&`: vere tutte e due. `||`: almeno una vera. `!`: rovescia. > - Con due domande la tavola di verità ha 4 righe. ## Un valore dentro un intervallo (slide 13–14) Un esempio di tutti i giorni: «ho tra 18 e 30 anni». In matematica si scrive in modo compatto, $18 \le x \le 30$. In C questa scrittura **non funziona**: bisogna spezzarla in due confronti uniti da `&&`. ```c 18 <= x && x <= 30 ``` Si legge: «18 è minore o uguale a x, **e** x è minore o uguale a 30». È la forma più vicina a quella della matematica: `x` sta in mezzo, e i due estremi ai lati. | Intervallo | Si legge | In C | |:-:|---|---| | $[a, b]$ | chiuso: estremi compresi | `a <= x && x <= b` | | $[a, b)$ | semiaperto: `a` compreso, `b` escluso | `a <= x && x < b` | | $(a, b]$ | semiaperto: `a` escluso, `b` compreso | `a < x && x <= b` | | $(a, b)$ | aperto: estremi esclusi | `a < x && x < b` | Le slide avvertono che il secondo, **`a <= x && x < b`**, si userà moltissimo: è il controllo che un indice stia dentro un array, che vedrai più avanti. > [!TRAPPOLA] 0 <= x <= 10 è sempre vero > Scritto come in matematica, `0 <= x <= 10` si calcola da sinistra: prima `0 <= x`, che vale 0 o 1, poi `0 <= 10` oppure `1 <= 10`. Tutti e due valgono 1. Quindi l'espressione è vera **sempre**, anche con `x = 50`. gcc con `-Wall` avvisa: `comparisons like 'X<=Y<=Z' do not have their mathematical meaning`. Con `-Werror` il programma non compila. Per il contrario, «x è **fuori** da $[18, 30]$», si usa `||`: `x < 18 || x > 30`. Basta che sia vera una delle due. ::: prova Scrivi in C: «il voto è sufficiente ma non è 30», con i voti da 0 a 30. `18 <= voto && voto < 30`, oppure `voto >= 18 && voto != 30`. ::: > [!RICORDA] > - Un intervallo in C sono due confronti uniti da `&&`. > - «Fuori dall'intervallo» si scrive con `||`. ## Il cortocircuito (slide 15–18) Torna al tornello. Se il biglietto è scaduto, il tornello resta chiuso: non ha bisogno di controllare anche se è il biglietto giusto per quella linea. Il C fa la stessa cosa. Le parti di un `&&` o di un `||` si calcolano **da sinistra a destra**, e il calcolo si ferma appena il risultato è sicuro. - In `a && b`, se `a` è **falsa** il risultato è falso comunque: `b` **non viene calcolata**. - In `a || b`, se `a` è **vera** il risultato è vero comunque: `b` **non viene calcolata**. Si chiama **valutazione in cortocircuito**, in inglese *short-circuit evaluation*. Non è solo un risparmio di tempo: serve a proteggere la seconda parte. ```c bool condizione = (divisore != 0) && ((numeratore / divisore) > 5); ``` Se `divisore` vale 0, la prima parte è falsa e la divisione non viene mai fatta. Senza cortocircuito il programma si fermerebbe con una divisione per zero, un errore a runtime della [lezione 02A](02A_da_assembly_a_c.html). Ho provato con `numeratore = 40`: con `divisore = 0` la condizione vale 0 e il programma va avanti; con `divisore = 4` vale 1, perché 40 / 4 = 10 è maggiore di 5. L'**ordine conta**: scritto al contrario, `(numeratore / divisore > 5) && (divisore != 0)`, la divisione si farebbe prima del controllo. ### Con scanf ```c int valore; bool scanPari = (scanf("%d", &valore) == 1) && (valore % 2 == 0); ``` Ricordi dalla [02C](02C_referenziamento_scanf_puntatori.html) che `scanf` restituisce quanti valori ha letto. Se l'input non è un numero, `scanf` restituisce 0 e `valore` resta «?»: grazie al cortocircuito, quel valore senza senso non viene mai guardato. Il programma completo della slide 18 fa tre domande sullo stesso numero: ```c #include #include int main(void) { int numero; bool letto, positivo, dispari; printf("Inserisci un numero intero: "); letto = (scanf("%d", &numero) == 1); // true se scanf ha letto correttamente positivo = letto && (numero > 0); // input valido e maggiore di 0 dispari = letto && (numero % 2 != 0); // input valido e non divisibile per 2 // stampa i risultati (0 = falso, 1 = vero) printf("Input valido? %d\n", letto); printf("Numero positivo? %d\n", positivo); printf("Numero dispari? %d\n", dispari); } ``` | Input | Input valido? | Numero positivo? | Numero dispari? | |---|:-:|:-:|:-:| | `7` | 1 | 1 | 1 | | `-4` | 1 | 0 | 0 | | `-7` | 1 | 0 | 1 | | `0` | 1 | 0 | 0 | | `abc` | 0 | 0 | 0 | | `3.9` | 1 | 1 | 1 | Con `3.9` la `scanf` legge il 3 e si ferma al punto, come nella 02C: per lei l'input è valido. > [!TRAPPOLA] Dispari si controlla con != 0 > Con i negativi, in C, il resto ha il segno del primo numero: `-7 % 2` vale **−1**, non 1. Quindi `numero % 2 == 1` direbbe che −7 non è dispari. `numero % 2 != 0` funziona sempre, ed è quello che usano le slide. ::: prova Con `int n = 0;`, quanto vale `n` dopo `bool r = (n > 0) && (++n > 0);`? E dopo `bool s = (n == 0) || (++n > 0);`? Dopo la prima riga `n` vale ancora 0: `n > 0` è falso, quindi `++n` non viene eseguito. Dopo la seconda vale ancora 0: `n == 0` è vero, e con `||` basta. L'ho provato con gcc. ::: > [!RICORDA] > - `&&` si ferma alla prima parte falsa, `||` alla prima vera. > - Metti per primo il controllo che protegge: `divisore != 0 && …`, `scanf(…) == 1 && …`. ## Condizioni lunghe: dare un nome ai pezzi (slide 19) Quando `&&` e `||` si mescolano, una condizione diventa difficile da leggere e facile da sbagliare. L'esempio delle slide: ```c bool sconto = registrato && spesaTotale >= 100 || (codiceNonScaduto && attivatoDallUtente); ``` Le slide propongono di spezzarla in **variabili `bool` intermedie**, con nomi che dicono che cosa controllano: ```c bool clientePremium = registrato && (spesaTotale >= 100); bool promoExtra = codiceNonScaduto && attivatoDallUtente; bool sconto = clientePremium || promoExtra; ``` L'ultima riga ora si legge come una frase: «c'è lo sconto se il cliente è premium oppure c'è la promozione». > [!TRAPPOLA] La prima versione non compila con -Werror > Ho compilato la versione lunga della slide 19 con `gcc -Wall`: gcc avvisa `suggest parentheses around '&&' within '||'`. Con `-Werror`, come all'esame, il programma non compila. La versione spezzata compila senza avvisi. Se non vuoi spezzare, metti le parentesi: `(registrato && spesaTotale >= 100) || (codiceNonScaduto && attivatoDallUtente)`. ### L'ordine delle operazioni Senza parentesi, il C calcola in quest'ordine, dal primo all'ultimo: | Ordine | Operatori | Esempio | |:-:|---|---| | 1 | `!` | `!a` | | 2 | `*`, `/`, `%` | `n % 2` | | 3 | `+`, `-` | `b - 3` | | 4 | `<`, `>`, `<=`, `>=` | `x < 18` | | 5 | `==`, `!=` | `n % 2 != 0` | | 6 | `&&` | | | 7 | `\|\|` | | | 8 | `=` | `bool r = …` | Per questo `numero % 2 != 0` funziona senza parentesi: prima il resto, poi il confronto. E `a || b && c` vuol dire `a || (b && c)`, perché `&&` viene prima. Non serve ricordare la tabella a memoria: nel dubbio, **metti le parentesi**. > [!TRAPPOLA] Il ! si attacca a una cosa sola > `!x > 0` non vuol dire «x non è positivo». Il `!` viene prima di `>`, quindi si calcola `(!x) > 0`: con `x = 5`, `!x` vale 0 e il risultato è 0. Per negare il confronto servono le parentesi: `!(x > 0)`, cioè `x <= 0`. gcc con `-Wall` se ne accorge e avvisa: `logical not is only applied to the left hand side of comparison`. Con `-Werror` non compila. ::: prova Spezza in variabili con un nome: «posso uscire se ho finito i compiti e non piove, oppure se è sabato». `bool doveriFatti = compitiFiniti && !piove;`, poi `bool possoUscire = doveriFatti || sabato;`. ::: > [!RICORDA] > - Condizioni lunghe: variabili `bool` intermedie con nomi chiari. > - `&&` viene prima di `||`; nel dubbio, parentesi. ## L'operatore ternario (slide 20) A volte la domanda serve solo a scegliere tra **due valori**: «se x è pari prendi 100, altrimenti 200». Per questo il C ha un operatore con tre pezzi, l'**operatore ternario**: ```c condizione ? valore_se_vero : valore_se_falso ``` Si legge: «la condizione è vera? Allora questo, altrimenti quello». L'esempio delle slide: ```c int x = 5; int y = (x % 2 == 0) ? 100 : 200; // y = 200, perché x è dispari ``` Altri due usi tipici, provati: ```c int massimo = (a > b) ? a : b; printf("%s\n", voto >= 18 ? "promosso" : "bocciato"); ``` Con `a = 3` e `b = 8`, `massimo` vale 8. `%s` stampa un testo: lo vedrai con le stringhe. Le slide consigliano il ternario solo per scelte piccole e chiare. Quando la scelta è più complicata, o deve eseguire istruzioni e non solo scegliere un valore, si usa `if…else`, nella [03D](03D_decisioni.html). ::: prova Con `int t = 31;`, quanto vale `int stato = (t > 30) ? 2 : (t > 20) ? 1 : 0;`? 2, perché 31 è maggiore di 30. Con `t = 25` varrebbe 1, con `t = 10` varrebbe 0. Due ternari uno dentro l'altro si leggono male: qui un `if` sarebbe più chiaro. ::: > [!RICORDA] > - `c ? a : b` vale `a` se `c` è vera, `b` se è falsa. > - Solo per scelte piccole; per il resto, `if…else`. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `==` | «uguale uguale» | i due valori sono uguali? | `pin == 1234` | | `!=` | «diverso» | i due valori sono diversi? | `contatore != n` | | `<=`, `>=` | «minore o uguale», «maggiore o uguale» | confronti con l'uguale compreso | `voto >= 18` | | `&&` | «and», «e» | vere tutte e due | `x > 0 && y > 0` | | `\|\|` | «or», «o» | almeno una vera | `eta < 12 \|\| tesserato` | | `!` | «not», «non» | rovescia vero e falso | `!accountBloccato` | | `bool` | «bul» | tipo con due valori, da `stdbool.h` | `bool ok = true;` | | `true`, `false` | «tru», «fols» | vero (1) e falso (0) | | | `? :` | «ternario» | sceglie tra due valori | `a > b ? a : b` | ## Verso l'esame All'esame le condizioni sono dappertutto: per decidere che cosa fare con `if`, per fermare un ciclo con `while`, per controllare un indice. Gli errori tipici che fanno perdere punti, o che fanno fallire la compilazione su CodeRunner con `-Wall -Werror`: 1. **`=` al posto di `==`**: con `-Wall -Werror` dentro un `if` non compila, ma in un'altra posizione può passare e dare un risultato sbagliato; 2. **intervalli scritti come in matematica**: `0 <= x <= 10` non compila con `-Werror`; 3. **`&&` e `||` mescolati senza parentesi**: avviso di gcc, quindi errore con `-Werror`; 4. **l'ordine sbagliato nei controlli** che proteggono: prima `divisore != 0`, poi la divisione; prima l'indice dentro l'intervallo, poi l'elemento; 5. **`% 2 == 1` per i dispari**: sbagliato con i negativi. Più avanti, negli esercizi sulla **correttezza** dei programmi, scriverai condizioni dentro `assert`: lì serve saper scrivere e negare una condizione senza errori. > [!METODO] Negare una condizione > Per scrivere il contrario di una condizione, senza `!` davanti: > 1. ogni confronto diventa il suo contrario: `<` diventa `>=`, `==` diventa `!=`, e così via; > 2. ogni `&&` diventa `||` e ogni `||` diventa `&&` (leggi di De Morgan). > > Il contrario di `x >= 18 && x <= 30` è `x < 18 || x > 30`. Ho controllato con `a = 3`, `bb = 8`: `!(a > 0 && bb > 10)` e `a <= 0 || bb <= 10` valgono tutti e due 1. ## Quiz ```quiz D: Con `int a = 5, b = 3;`, quanto vale `a > b && b > 4`? + 0 - 1 - 3 - 5 - non compila = `a > b` vale 1, ma `b > 4` vale 0: con `&&` servono vere tutte e due, quindi il risultato è 0. La risposta più insidiosa è 1, che si ottiene leggendo solo la prima parte. D: Che cosa stampa `bool b = 7; printf("%d", b);`? + `1` - `7` - `true` - `0` - non compila = Ogni numero diverso da 0 messo in un `bool` diventa `true`, che si stampa come 1. La risposta più insidiosa è `true`: `printf` con `%d` stampa un numero, non la parola. D: Quale espressione dice se `x` è tra 1 e 10, estremi compresi? + `1 <= x && x <= 10` - `1 <= x <= 10` - `1 <= x || x <= 10` - `x >= 1 && x < 10` - `!(x < 1 && x > 10)` = Servono due confronti uniti da `&&`. La risposta più insidiosa è `1 <= x <= 10`: si calcola da sinistra e vale sempre 1. Con `||` è vera per ogni numero; con `x < 10` il 10 resta fuori; l'ultima nega una condizione che non è mai vera. D: Con `int d = 0, n = 10;`, che cosa succede con `bool c = (d != 0) && (n / d > 2);`? + `c` vale 0 e la divisione non viene fatta - il programma si ferma per divisione per zero - `c` vale 1 - non compila - `c` vale 0, ma la divisione viene fatta lo stesso = `d != 0` è falso, e con `&&` il calcolo si ferma lì: è il cortocircuito. La risposta più insidiosa è la divisione per zero: succederebbe con le due parti scambiate. D: Con `int n = -9;`, quale espressione è vera? + `n % 2 != 0` - `n % 2 == 1` - `n % 2 == 0` - `!(n % 2)` - `n % 2 > 0` = In C `-9 % 2` vale −1. Solo `n % 2 != 0` riconosce il dispari. La risposta più insidiosa è `n % 2 == 1`: funziona solo con i positivi. D: Quanto vale `int y = (4 > 7) ? 10 : 20;`? N: 20 = `4 > 7` è falso, quindi il ternario sceglie il valore dopo i due punti, 20. D: Quale riga è uguale a `!(x > 0 && y > 0)`? + `x <= 0 || y <= 0` - `x <= 0 && y <= 0` - `x < 0 || y < 0` - `!x > 0 && !y > 0` - `x > 0 || y > 0` = Per De Morgan il `&&` diventa `||`, e ogni confronto si rovescia: `>` diventa `<=`. La risposta più insidiosa è `x <= 0 && y <= 0`: rovescia i confronti ma lascia `&&`. `x < 0` dimentica lo zero. D: Perché `bool s = a && b || c && d;` non compila con `gcc -Wall -Werror`? + gcc chiede le parentesi intorno agli `&&` dentro un `||` - `&&` e `||` non si possono usare insieme - manca `stdbool.h` - `bool` non si può assegnare con un'espressione - `||` vale solo per gli interi = Il C la capisce, come `(a && b) || (c && d)`, ma gcc avvisa `suggest parentheses around '&&' within '||'`, e con `-Werror` l'avviso diventa un errore. La risposta più insidiosa è «non si possono usare insieme»: si può, con le parentesi. ``` ## Esercizi ::: esercizio base Riscaldamento: 1 o 0? Con `int a = 4, b = 9; bool c = false;`, calcola a mano: (a) `a == 4`; (b) `a = 4`, come valore; (c) `b % a == 1`; (d) `!c && a < b`; (e) `c || b > 10`. ::: soluzione (a) 1. (b) 4: un assegnamento vale il valore assegnato, e `a` diventa 4. Dentro un `if` sarebbe vero. (c) 1: 9 % 4 = 1. (d) 1: `!c` è vero e 4 < 9. (e) 0: `c` è falso e 9 non è maggiore di 10. ::: ::: esercizio base Riscaldamento: da parole a C Scrivi un'espressione booleana per: (a) «`n` è pari»; (b) «`c` è una lettera maiuscola», con `char c`; (c) «l'anno è tra il 2000 e il 2099»; (d) «`x` non è né 0 né 1». ::: soluzione (a) `n % 2 == 0`. (b) `'A' <= c && c <= 'Z'`: le maiuscole hanno codici ASCII consecutivi, da 65 a 90. (c) `2000 <= anno && anno <= 2099`. (d) `x != 0 && x != 1`. ::: ::: esercizio base Riscaldamento: il cortocircuito Con `int k = 1;`, quanto vale `k` dopo ognuna delle righe, eseguite una dopo l'altra? (a) `bool p = (k > 5) && (++k > 0);` (b) `bool q = (k > 5) || (++k > 0);` (c) `bool r = (k == 2) || (++k > 0);` ::: soluzione (a) 1: `k > 5` è falso e `&&` si ferma. (b) 2: `k > 5` è falso, quindi `||` deve guardare la seconda parte, ed esegue `++k`. (c) 2: `k == 2` è vero e `||` si ferma. ::: ::: esercizio base Riscaldamento: negare Scrivi il contrario senza usare `!`: (a) `x > 5`; (b) `a == b && c < 0`; (c) `eta < 12 || tesserato`, con `tesserato` di tipo `bool`. ::: soluzione (a) `x <= 5`. (b) `a != b || c >= 0`. (c) `eta >= 12 && !tesserato`: qui il `!` resta sulla variabile `bool`, che non ha un confronto da rovesciare. ::: ::: esercizio medio L'anno bisestile Un anno è bisestile se è divisibile per 4 ma non per 100, oppure se è divisibile per 400. Scrivi un programma che legge un anno e stampa 1 se è bisestile, 0 se non lo è, usando una variabile `bool`. ::: soluzione ```c #include #include int main(void) { int anno; scanf("%d", &anno); bool divPer4ManonPer100 = (anno % 4 == 0) && (anno % 100 != 0); bool divPer400 = (anno % 400 == 0); bool bisestile = divPer4ManonPer100 || divPer400; printf("%d\n", bisestile); } ``` Con 2024 stampa 1, con 2026 stampa 0, con 1900 stampa 0 (divisibile per 100 ma non per 400), con 2000 stampa 1. Le due variabili intermedie evitano gli `&&` dentro un `||` senza parentesi. ::: ::: esercizio medio Il triangolo Tre lunghezze intere `a`, `b`, `c` formano un triangolo se sono tutte positive e ognuna è minore della somma delle altre due. Scrivi la condizione con variabili `bool` intermedie, e prova 3, 4, 5 e 1, 2, 3. ::: soluzione ```c bool positive = a > 0 && b > 0 && c > 0; bool disuguaglianze = a < b + c && b < a + c && c < a + b; bool triangolo = positive && disuguaglianze; ``` Con 3, 4, 5 vale 1. Con 1, 2, 3 vale 0: 3 non è minore di 1 + 2, perché è uguale. È il triangolo «schiacciato» in un segmento. ::: ::: esercizio esame Input valido e nell'intervallo Scrivi un programma che legge un voto intero e stampa `1` se la lettura è riuscita **e** il voto è tra 18 e 30 compresi, `0` altrimenti. Non deve mai guardare la variabile se `scanf` non ha letto niente. Prova con `25`, `17`, `31` e `ciao`. ::: soluzione ```c #include #include int main(void) { int voto; bool letto = (scanf("%d", &voto) == 1); bool valido = letto && 18 <= voto && voto <= 30; printf("%d\n", valido); } ``` Stampa 1 con 25, e 0 con 17, 31 e `ciao`. Con `ciao` il cortocircuito si ferma a `letto`, che è falso: `voto` contiene «?» ma non viene mai confrontato. `a && b && c` si calcola come `(a && b) && c`, quindi qui gcc non chiede parentesi. ::: ## Domande di ripasso ::: domanda Quanto vale in C un confronto vero? E uno falso? 1 e 0. ::: ::: domanda Che differenza c'è tra `=` e `==`? `=` assegna un valore a una variabile; `==` chiede se due valori sono uguali e vale 1 o 0. ::: ::: domanda Che cosa porta `stdbool.h`? Il tipo `bool` e le costanti `true` e `false`. ::: ::: domanda Quando è vera `a && b`? E `a || b`? `a && b` quando sono vere tutte e due; `a || b` quando ne è vera almeno una, anche tutte e due. ::: ::: domanda Come si scrive in C «x tra 0 e 10, compresi»? `0 <= x && x <= 10`. La scrittura `0 <= x <= 10` è sempre vera. ::: ::: domanda Che cos'è il cortocircuito e a che cosa serve? Il C smette di calcolare un `&&` alla prima parte falsa e un `||` alla prima vera. Serve a proteggere la seconda parte, per esempio a non dividere per zero o a non usare un valore non letto. ::: ::: domanda Quando conviene l'operatore ternario? Per scegliere tra due valori con una condizione semplice. Per scelte più complicate si usa `if…else`. ::: ## Glossario ```glossario Espressione booleana | Un'espressione con risposta vero o falso; in C vale 1 o 0. Operatore relazionale | ==, !=, <, >, <=, >=: confronta due valori. bool | Tipo con due valori, true e false, da stdbool.h; occupa un byte. true, false | Le costanti vero (1) e falso (0) di stdbool.h. && (AND) | Vero quando sono vere tutte e due le parti. || (OR) | Vero quando è vera almeno una parte. ! (NOT) | Rovescia vero e falso. Tavola di verità | Tabella con il risultato per ogni combinazione di vero e falso. Cortocircuito | Il calcolo di && o || si ferma appena il risultato è sicuro. Operatore ternario | condizione ? a : b, vale a se la condizione è vera, b se è falsa. Leggi di De Morgan | Il contrario di un AND è l'OR dei contrari, e viceversa. ``` ## Checklist ```checklist - So che un confronto in C vale 1 o 0. - Non confondo `=` e `==`. - So usare `bool`, `true` e `false` con `stdbool.h`, e stampare un `bool` con `%d`. - So le tavole di verità di `&&`, `||` e `!`. - So scrivere un intervallo chiuso, aperto o semiaperto con due confronti. - So perché `0 <= x <= 10` è sempre vero. - So spiegare il cortocircuito e mettere per primo il controllo che protegge. - So spezzare una condizione lunga in variabili `bool` con un nome. - So negare una condizione con De Morgan. - So usare l'operatore ternario per scegliere tra due valori. ``` ## Fonti - Slide «Espressioni booleane. Operatori logici per decidere nei programmi» (03C_booleans), Programmazione I – Teoria, canale B, A.A. 2026/27, E. G. Amparore: perché servono (slide 2), operatori (3–4), il tipo `bool` (5–7), espressioni booleane e tavole di verità (8–12), intervalli (13–14), cortocircuito (15–18), espressioni complesse (19), operatore ternario (20). - Elenco delle lezioni dei canali A e C dalla [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). - Tutti i programmi delle slide e delle soluzioni li ho compilati con gcc 16.1 su Windows 11, con `-Wall -Werror`, ed eseguiti; gli avvisi citati sono quelli veri. Le soluzioni, i quiz e gli esercizi sono di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/03D_decisioni.md` ```yaml corso: PROG1 lezione: 03D titolo: Dal flusso sequenziale alle decisioni, if ed else data: 2026-10-14 docenti: Elvio Amparore sopratitolo: Programmazione I · Teoria · Canale B · Lezione 03D descrizione: >- Appunti della lezione 03D di Programmazione I (canale B): sequenza, selezione e iterazione, il teorema di Böhm-Jacopini, i costrutti if, if-else ed else if, gli errori più comuni, lo scambio condizionato e la visibilità di una variabile dichiarata in un blocco, gli annidamenti inutili e gli schemi ricorrenti (massimo, controllo dell'input, divisione protetta, intervallo), con tutti i programmi delle slide provati, quiz ed esercizi. lede: >- Con le espressioni booleane della 03C il programma sa farsi una domanda. Con if impara a scegliere: se la risposta è sì fa una cosa, se è no ne fa un'altra. È il primo passo per uscire dalla fila di istruzioni sempre uguale. materiale: slide scheda: Slide: 03D_decisioni («Dal flusso sequenziale alle decisioni») · 25 pagine Corso: Prof. Elvio Amparore · A.A. 2026/27 Tempo di studio: 75 minuti, meglio con gcc a portata di mano fonte: >- Slide «Dal flusso sequenziale alle decisioni. Introduzione al controllo di flusso nella programmazione strutturata» (03D_decisioni), Programmazione I – Teoria, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/03D_decisioni.html genera_html: true ``` ## In breve - Ogni programma si costruisce con tre strutture: **sequenza** (una istruzione dopo l'altra), **selezione** (scegliere) e **iterazione** (ripetere). Bastano per qualunque algoritmo: è il **teorema di Böhm-Jacopini** del 1966. - **`if (condizione) { … }`** esegue il blocco solo se la condizione è vera; altrimenti lo salta. - **`if … else`** sceglie tra due blocchi: uno se la condizione è vera, l'altro se è falsa. - **`else if`** mette in fila più domande: si entra nel primo blocco con la condizione vera, e gli altri si saltano. - Gli errori più comuni: `=` al posto di `==`, le graffe dimenticate, le condizioni nell'ordine sbagliato. Con `-Wall -Werror` i primi due non compilano. - Una variabile dichiarata **dentro** un blocco esiste solo lì: alla `}` sparisce dallo stack. - Gli schemi da sapere: il massimo di due numeri, il controllo dell'input con `scanf`, la divisione protetta, il controllo di un intervallo. > [!CANALI] > **Canale B.** È la seconda parte della lezione di mercoledì 14/10, dalle 9 alle 11, dopo la [03C](03C_booleani.html) sulle espressioni booleane. Lo scambio condizionato riprende la [03A](03A_scambio_variabili.html), e il disegno della memoria è quello della [02B](02B_assegnamento_memory_model.html). > > **Canali A e C.** Secondo l'elenco delle lezioni 2025/26 nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md), nel canale A (Fiandrotti) c'è un deck su `if-else` dopo quello sui booleani; nel canale C (Mazzei) è la lezione 05 «IF». Le slide 2026/27 dei canali A e C non le ho viste. L'esame è unico. > > **Un avviso sulle slide.** Gli esempi delle slide 13–20 cominciano con `void main()`. Con gcc 16.1 e `-Wall -Werror`, come all'esame, non compilano: `error: return type of 'main' is not 'int'`. In questi appunti li scrivo con `int main(void)`. Senza opzioni compilano, e le stampe sono quelle delle slide. > > Tutti i programmi li ho compilati e provati con gcc 16.1, con `-Wall -Werror`. ## Tre strutture bastano (slide 2–3) Pensa a una ricetta. Ci sono passi da fare in fila: «sbatti le uova, aggiungi la farina». Ci sono scelte: «se l'impasto è troppo duro, aggiungi latte». E ci sono ripetizioni: «mescola finché non ci sono più grumi». Con questi tre tipi di passo si scrive qualunque ricetta. I programmi funzionano allo stesso modo. La **programmazione strutturata** usa tre **strutture di controllo**: | Struttura | Che cosa fa | In C | |---|---|---| | **sequenza** | esegue le istruzioni una dopo l'altra, nell'ordine | quello fatto finora | | **selezione** | sceglie tra strade diverse con una condizione | `if`, `else` | | **iterazione** | ripete un blocco finché una condizione è vera | `while`, `for`, `do-while` | Negli anni '60 non era ancora chiaro quali strumenti servissero per descrivere l'ordine delle istruzioni: molti programmi saltavano da un punto all'altro, come la versione V5 della [lezione 01A](01A_primo_algoritmo.html). Nel 1966 **Corrado Böhm** e **Giuseppe Jacopini**, due informatici italiani, hanno dimostrato che **sequenza, selezione e iterazione bastano** per scrivere qualunque algoritmo. È il **teorema di Böhm-Jacopini**, e da lì vengono i linguaggi di oggi: pochi pezzi semplici, che si mettono uno dentro l'altro per costruire programmi complicati quanto si vuole. In questa lezione c'è la selezione. L'iterazione arriva con `while` e `for`. ::: prova Nella frase «ripeti finché non hai letto un numero valido, e se è negativo cambiagli segno», quali strutture ci sono? Un'iterazione («ripeti finché») e una selezione («se è negativo»). Le due istruzioni, leggere e cambiare segno, sono in sequenza. ::: > [!RICORDA] > - Le tre strutture: sequenza, selezione, iterazione. > - Per il teorema di Böhm-Jacopini bastano per qualunque algoritmo. ## Il costrutto if (slide 4–5) L'esempio delle slide: se piove prendo l'ombrello, altrimenti esco senza. Il programma arriva a un **bivio**, si fa una domanda, e segue una delle due strade. Si chiama **controllo di flusso condizionato**: il «flusso» è l'ordine in cui le istruzioni vengono eseguite. La forma più semplice ha una sola strada in più: ```c if (condizione) { // codice eseguito solo se la condizione è vera } ``` - Se la condizione è **vera** (cioè diversa da 0), il programma **entra** nel blocco tra le graffe. - Se è **falsa** (cioè 0), **salta** il blocco e continua dopo la `}`. La condizione è un'espressione booleana della [03C](03C_booleani.html), sempre **tra parentesi tonde**. L'esempio delle slide: ```c int voto = 25; if (voto >= 18) { printf("Esame superato!\n"); } ``` Stampa `Esame superato!`. Con `voto = 15` non stampa niente: il blocco viene saltato. ::: prova Che cosa stampa questo codice con `n = 4`? E con `n = 9`? `if (n % 2 == 0) { printf("pari "); } printf("fine");` Con 4 stampa `pari fine`. Con 9 stampa solo `fine`: la seconda `printf` è fuori dal blocco e viene eseguita sempre. ::: > [!RICORDA] > - `if (condizione) { … }`: il blocco si esegue solo se la condizione è vera. > - Quello che sta dopo la `}` si esegue sempre. ## Due strade: if-else (slide 6) Con `else`, «altrimenti», il programma ha **due** strade, e ne percorre sempre esattamente una: ```c if (condizione) { // blocco A: se la condizione è vera } else { // blocco B: se la condizione è falsa } ``` L'esempio delle slide è la batteria del telefono: ```c int batteria = 15; if (batteria < 20) { printf("Batteria quasi scarica! Collega il caricatore.\n"); } else { printf("Batteria sufficiente.\n"); } ``` Con 15 stampa il primo messaggio, con 20 o più il secondo. Non succede mai che stampi tutti e due, e nemmeno che non ne stampi nessuno. ::: prova Scrivi un `if-else` che stampa `positivo o zero` se `x` è almeno 0, e `negativo` altrimenti. `if (x >= 0) { printf("positivo o zero\n"); } else { printf("negativo\n"); }`. ::: > [!RICORDA] > - Con `if-else` si esegue sempre uno e un solo blocco dei due. > - `else` non ha una condizione: vale «in tutti gli altri casi». ## Più strade: else if (slide 7–8) A volte le strade sono più di due. Il semaforo dell'esempio ha tre colori, più il caso di un colore sbagliato. Si mettono le domande **in fila**, con `else if`: ```c char colore = 'G'; // R = Rosso, G = Giallo, V = Verde if (colore == 'R') { printf("Fermati!\n"); } else if (colore == 'G') { printf("Attenzione, rallenta.\n"); } else if (colore == 'V') { printf("Puoi passare.\n"); } else { printf("Colore non valido!\n"); } ``` Il programma fa le domande **dall'alto in basso**: 1. il colore è `'R'`? No, allora passa alla domanda dopo; 2. il colore è `'G'`? Sì: stampa `Attenzione, rallenta.` e **salta tutto il resto**, fino alla fine della catena. Se nessuna condizione è vera, entra nell'`else` finale, il **caso di default**. Ho provato tutti i casi: `'R'`, `'G'` e `'V'` danno i loro messaggi; `'g'` minuscolo dà `Colore non valido!`, perché `'g'` e `'G'` sono caratteri diversi, con codici ASCII 103 e 71. > [!NOTA] I caratteri si confrontano con == > Un `char` è un piccolo numero, il codice ASCII del carattere. Per questo `colore == 'R'` funziona come un confronto tra numeri. Il carattere va tra apici singoli: `'R'` è un carattere, `"R"` è una stringa, che si confronta in un altro modo. > [!TRAPPOLA] All'esame niente switch > Il C ha anche un'istruzione `switch` per scegliere tra molti valori. Le regole d'esame di Programmazione I la **vietano**, come `break` e `continue`: le catene di scelte si scrivono con `if` ed `else if`. ::: prova Con il programma del semaforo e `colore = 'V'`, quante condizioni vengono controllate prima di stampare? Tre: `'R'`, poi `'G'`, poi `'V'`, che è vera. ::: > [!RICORDA] > - Le condizioni di una catena `else if` si controllano dall'alto in basso. > - Si entra nel primo blocco con la condizione vera; tutti gli altri si saltano. > - L'`else` finale raccoglie i casi rimasti. ## Gli errori più comuni (slide 9–12) Gli `if` sono semplici da scrivere e facili da sbagliare. Le slide raccolgono gli errori che si vedono più spesso. Per ognuno ho controllato che cosa fa gcc. ### Un uguale solo ```c if (a = 5) { ... } // ERRORE: assegnamento ``` `a = 5` non chiede niente: **mette** 5 in `a`, e vale 5, cioè vero. Il blocco viene eseguito **sempre**, qualunque cosa ci fosse in `a`. gcc con `-Wall` avvisa: `suggest parentheses around assignment used as truth value`. Con `-Werror` non compila, ed è una fortuna. ### Le graffe dimenticate ```c if (x > 0) printf("Positivo\n"); printf("Errore!\n"); // eseguito sempre ``` Senza graffe, l'`if` comanda **una sola istruzione**, la prima. La seconda `printf` è rientrata come se dipendesse dall'`if`, ma per il C il rientro non conta niente: viene eseguita sempre. gcc con `-Wall` avvisa: `this 'if' clause does not guard...`, e con `-Werror` non compila. Le slide consigliano di mettere **sempre** le graffe, anche con una sola istruzione. ### L'ordine sbagliato ```c if (num % 2 == 0) { printf("Pari non nullo\n"); } else if (num == 0) { printf("Zero\n"); // Mai raggiunto } ``` Lo 0 è pari: con `num = 0` la prima condizione è già vera, e il programma stampa `Pari non nullo`, che è falso. Il blocco `Zero` non viene mai raggiunto. Si corregge mettendo **prima il caso più specifico**: ```c if (num == 0) { printf("Zero\n"); } else if (num % 2 == 0) { printf("Pari non nullo\n"); } ``` Ho provato: con 0 la prima versione stampa `Pari non nullo`, la seconda `Zero`. Con 4 tutte e due stampano `Pari non nullo`. ### Condizioni che non diventano mai vere ```c if (x > 10) { ... } else if (x > 20) { ... // mai eseguito! } ``` Ogni numero maggiore di 20 è anche maggiore di 10, quindi entra già nel primo blocco. Il secondo non si raggiunge mai. Qui gcc **non avvisa**: l'errore è di logica, e lo trovi solo ragionando. Le soglie vanno in ordine dalla più alta alla più bassa (`x > 20` prima di `x > 10`), oppure con intervalli precisi. ### L'else mancante È buona norma gestire **tutti** i casi, con un `else` finale anche solo per stampare un errore. Così il programma non arriva mai in una situazione che non hai previsto. ### Condizioni troppo lunghe ```c if (a > 10 && b < 5 || c == 7 && !(d%2)) { ... } ``` Come nella [03C](03C_booleani.html), una condizione così si spezza in variabili `bool` con un nome: ```c bool condA = (a > 10 && b < 5); bool condB = (c == 7 && d % 2 == 0); if (condA || condB) { ... } ``` La prima versione, tra l'altro, con `-Wall -Werror` non compila: gcc chiede le parentesi intorno agli `&&` dentro l'`||`. | Errore | gcc con `-Wall` | Con `-Werror` | |---|---|---| | `if (a = 5)` | avviso `-Wparentheses` | non compila | | graffe dimenticate, rientro ingannevole | avviso `-Wmisleading-indentation` | non compila | | `&&` dentro `\|\|` senza parentesi | avviso `-Wparentheses` | non compila | | ordine sbagliato delle condizioni | niente | compila, risultato sbagliato | | condizione mai raggiungibile | niente | compila, risultato sbagliato | ::: prova Che cosa stampa questo codice con `x = 25`? `if (x > 10) { printf("A"); } else if (x > 20) { printf("B"); } else { printf("C"); }` `A`: 25 è maggiore di 10, quindi si entra nel primo blocco e gli altri si saltano. `B` non viene mai stampato, per nessun valore. ::: > [!RICORDA] > - Sempre le graffe, anche per una sola istruzione. > - Prima i casi più specifici, poi quelli generali. > - gcc trova gli errori di scrittura, non quelli di ordine: quelli si trovano provando i casi limite. ## Lo scambio condizionato (slide 13–20) L'esempio delle slide: leggere due interi `x` e `y` e stamparli dal più piccolo al più grande. La prima idea è stampare in due ordini diversi: ```c #include int main(void) { int x, y; printf("Inserisci x:"); scanf("%d", &x); printf("Inserisci y:"); scanf("%d", &y); if (y < x) { printf("%d %d", y, x); } else { // y >= x printf("%d %d", x, y); } } ``` La seconda idea è più utile: se sono nell'ordine sbagliato, **si scambiano**. Dopo l'`if` le variabili sono in ordine, e basta una sola `printf`. È lo scambio con la variabile d'appoggio della [03A](03A_scambio_variabili.html), fatto solo quando serve: uno **scambio condizionato**. ```c #include int main(void) { int x, y; printf("Inserisci x:"); scanf("%d", &x); printf("Inserisci y:"); scanf("%d", &y); if (y < x) { //scambio condizionato int temp = x; x = y; y = temp; } printf("%d %d", x, y); } ``` Con 10 e 5 stampa `5 10`; con 3 e 8 stampa `3 8`, senza scambio. ### Che cosa succede nella memoria Le slide 15–20 seguono il programma con l'input 10 e 5, una riga alla volta. Ogni riga della tabella è lo stato della memoria **dopo** l'istruzione indicata. | Dopo l'istruzione | `x` | `y` | `temp` | |---|:-:|:-:|:-:| | `int x, y;` | ? | ? | non esiste | | le due `scanf` | 10 | 5 | non esiste | | `int temp = x;` | 10 | 5 | 10 | | `x = y;` | 5 | 5 | 10 | | `y = temp;` | 5 | 10 | 10 | | la `}` dell'`if` | 5 | 10 | non esiste | La cosa nuova è l'ultima colonna. `temp` è dichiarata **dentro** il blocco dell'`if`: nasce sullo stack quando il programma arriva alla sua dichiarazione, e alla `}` del blocco **viene tolta dallo stack**. Dopo l'`if` non esiste più. > [!DEF] Visibilità di una variabile > Una variabile dichiarata in un blocco `{ … }` è **visibile**, cioè si può usare, solo dalla sua dichiarazione alla `}` che chiude quel blocco. Fuori dal blocco il suo nome non esiste. **Come si legge.** È la regola delle variabili locali della [02B](02B_assegnamento_memory_model.html), applicata ai blocchi dell'`if`. Se dopo l'`if` scrivi `printf("%d", temp);`, gcc si ferma: `error: 'temp' undeclared`. L'ho provato. Questo è utile: `temp` serve solo per lo scambio, e dichiararla dentro il blocco evita che qualcuno la usi per sbaglio più avanti. ::: prova Con l'input 4 e 4, quante volte viene creata `temp`? Che cosa stampa il programma? Nessuna: `4 < 4` è falso, quindi il blocco viene saltato e `temp` non nasce. Stampa `4 4`. ::: > [!RICORDA] > - Scambio condizionato: si scambia solo se l'ordine è sbagliato. > - Una variabile dichiarata in un blocco sparisce alla `}` del blocco. ## Niente scale di if inutili (slide 21) Un `if` dentro un `else` funziona, ma spinge il codice sempre più a destra e si legge male. L'esempio delle slide è il prezzo del biglietto: gratis sotto i 6 anni, ridotto sotto i 18, intero dai 18 in su. ```c if (eta < 6) { printf("Biglietto gratuito\n"); } else { if (eta < 18) { printf("Biglietto ridotto\n"); } else { printf("Biglietto intero\n"); } } ``` La stessa scelta con `else if` sta su un solo livello: ```c if (eta < 6) { printf("Biglietto gratuito\n"); } else if (eta < 18) { printf("Biglietto ridotto\n"); } else { printf("Biglietto intero\n"); } ``` Le due versioni fanno esattamente la stessa cosa. Ho provato i **casi limite**, quelli sul confine tra due fasce: 5 dà gratuito, 6 ridotto, 17 ridotto, 18 intero. Nota che la seconda condizione è solo `eta < 18`, non `6 <= eta && eta < 18`: se il programma arriva lì, `eta < 6` è già falso, quindi `eta` è almeno 6. Un `else if` porta con sé il «no» di tutte le domande prima. ::: prova Aggiungi una fascia: dai 65 anni in su il biglietto è ridotto. Dove metti la condizione? Prima dell'`else` finale: `else if (eta >= 65) { printf("Biglietto ridotto\n"); }`. Oppure, per non ripetere il messaggio, `else if (eta < 18 || eta >= 65)` al posto di `else if (eta < 18)`. ::: > [!RICORDA] > - Un `if` dentro un `else` si scrive meglio con `else if`. > - Ogni `else if` sa già che le condizioni precedenti sono false. ## Schemi che tornano sempre (slide 22–25) Alcuni `if` compaiono in quasi tutti i programmi. Vale la pena saperli scrivere senza pensarci. ### Il massimo di due numeri ```c int a, b, max; scanf("%d%d", &a, &b); // determina il massimo tra a e b if (a > b) { max = a; } else { max = b; } // in questo punto max contiene il massimo tra a e b ``` Con 4 e 9, `max` vale 9. Con due numeri uguali va bene lo stesso: si prende `b`, che vale quanto `a`. ### Controllare l'input Prima di usare un valore letto, si controlla che `scanf` l'abbia letto davvero, come nella [02C](02C_referenziamento_scanf_puntatori.html): ```c int valore; if (scanf("%d", &valore) == 1) { printf("Hai inserito: %d\n", valore); } else { printf("Input non valido\n"); } ``` ### Proteggere un'operazione Prima di dividere, si controlla che il divisore non sia zero: ```c if (divisore != 0) { printf("Risultato: %d\n", dividendo / divisore); } else { printf("Errore: divisione per zero!\n"); } ``` ### Controllare un intervallo ```c float temperatura; bool inputOk = scanf("%f", &temperatura) == 1; // 0 <= temperatura_valida <= 100 if (inputOk && 0 <= temperatura && temperatura <= 100) { printf("Temperatura entro i limiti\n"); } else { printf("Temperatura fuori intervallo o lettura errata\n"); } ``` Qui lavorano insieme tre idee della [03C](03C_booleani.html): l'intervallo con due confronti, il cortocircuito che non guarda `temperatura` se la lettura è fallita, e una variabile `bool` con un nome chiaro. Ho provato: 25 e 100 sono entro i limiti; −3, 100.5 e `ciao` danno il secondo messaggio. ::: prova Con il programma della temperatura e l'input `0`, che cosa stampa? Perché? `Temperatura entro i limiti`: l'intervallo è chiuso, `0 <= temperatura` è vero anche con 0. ::: > [!RICORDA] > - Massimo: un `if-else` che sceglie quale copiare in `max`. > - Prima di usare un input, controlla che `scanf` restituisca 1. > - Prima di dividere, controlla il divisore. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `if (c) { … }` | «if», «se» | esegue il blocco se `c` è vera | `if (voto >= 18) { … }` | | `else { … }` | «else», «altrimenti» | il blocco da eseguire se la condizione è falsa | | | `else if (c) { … }` | «else if», «altrimenti se» | un'altra domanda, solo se le precedenti erano false | | | `{ }` | «graffe» | un blocco di istruzioni; le variabili dichiarate dentro vivono solo lì | | | `'R'` | «carattere R» | un `char`, tra apici singoli | `colore == 'R'` | ## Verso l'esame All'esame, su CodeRunner, quasi ogni esercizio ha degli `if`. Le cose da avere in mano: 1. **compila con `-Wall -Werror`** e leggi gli avvisi: `=` al posto di `==` e le graffe dimenticate vengono fermati qui; 2. **`int main(void)`**, non `void main()`; 3. **niente `switch`, `break` e `continue`**: le scelte si fanno con `if` ed `else if`; 4. **prova i casi limite**: lo zero, i numeri uguali, i valori sul confine tra due fasce (17 e 18, 5 e 6); 5. **un `else` finale** per i casi che non ti aspetti, come l'input non valido. Negli esercizi sullo **stato della memoria** può comparire un `if` con una variabile dichiarata dentro: la sua casella esiste solo mentre il programma è nel blocco, e alla `}` si cancella. > [!METODO] Seguire un programma con gli if > 1. Scrivi i valori iniziali delle variabili. > 2. A ogni `if`, calcola la condizione con i valori di quel momento e scrivi «vero» o «falso». > 3. Segui solo il blocco scelto; in una catena `else if`, fermati alla prima condizione vera. > 4. Aggiorna la tabella dei valori dopo ogni assegnamento, e cancella le variabili del blocco alla sua `}`. ## Quiz ```quiz D: Che cosa stampa `int n = 0; if (n % 2 == 0) { printf("A"); } else if (n == 0) { printf("B"); } else { printf("C"); }`? + `A` - `B` - `AB` - `C` - niente = 0 % 2 vale 0, quindi la prima condizione è vera: stampa `A` e salta il resto. La risposta più insidiosa è `B`: il caso dello zero è scritto, ma dopo un caso più generale che lo cattura prima. D: Che cosa stampa questo codice con `x = -3`? `if (x > 0) printf("P"); printf("Q");` + `Q` - `PQ` - niente - `P` - non compila mai = Senza graffe l'`if` comanda solo la prima `printf`. La seconda si esegue sempre. La risposta più insidiosa è «niente»: il rientro e la riga sotto fanno credere che anche `Q` dipenda dall'`if`. Scritto su due righe rientrate, gcc con `-Wall -Werror` lo ferma. D: Con `int a = 0;`, che cosa stampa `if (a = 7) { printf("%d", a); }` compilato senza opzioni? + `7` - niente - `0` - `1` - un indirizzo = `a = 7` assegna 7 e vale 7, quindi la condizione è vera e si stampa il nuovo valore di `a`. La risposta più insidiosa è «niente», che si avrebbe con `a == 7`. Con `-Wall -Werror` non compilerebbe. D: Perché `void main() { … }` non va bene all'esame? + Con `-Wall -Werror` gcc non lo compila: `main` deve restituire `int` - Il C non permette `void` - Manca `return 0` - Non si possono dichiarare variabili dentro `main` - `void main` non può usare `scanf` = gcc avvisa `return type of 'main' is not 'int'`, e con `-Werror` l'avviso diventa un errore. La risposta più insidiosa è `return 0`: in `int main(void)` si può anche omettere, per `main` vale 0 da solo. D: Dopo questo codice, che cosa succede alla riga `printf("%d", temp);`? `int x = 2, y = 1; if (y < x) { int temp = x; x = y; y = temp; } printf("%d", temp);` + Non compila: `temp` non è dichiarata in quel punto - Stampa 2 - Stampa 1 - Stampa un valore a caso - Stampa 0 = `temp` vive solo dentro il blocco dell'`if`: alla `}` sparisce, e gcc dà `error: 'temp' undeclared`. La risposta più insidiosa è 2, il valore che `temp` aveva nel blocco. D: Quale catena dà il prezzo giusto per ogni età: gratis sotto i 6, ridotto da 6 a 17, intero dai 18? + `if (eta < 6) … else if (eta < 18) … else …` - `if (eta < 18) … else if (eta < 6) … else …` - `if (eta < 6) … if (eta < 18) … else …` - `if (eta <= 6) … else if (eta <= 18) … else …` - `if (eta < 6) … else if (eta > 18) … else …` = Le domande vanno dalla più specifica. La risposta più insidiosa è la seconda: con 3 anni `eta < 18` è già vera, e il caso gratuito non arriva mai. La terza, con due `if` separati, a 3 anni stampa due messaggi; la quarta sbaglia i confini 6 e 18; la quinta dà il ridotto a 18 anni. D: Con `int x = 7, y = 3, z;` e poi `if (x > y) { z = x - y; } else { z = y - x; }`, quanto vale `z`? N: 4 = 7 > 3 è vero, quindi si esegue il primo blocco: z = 7 − 3 = 4. In tutti e due i casi `z` è la distanza tra i due numeri. D: Quale riga legge un intero e lo usa solo se la lettura è riuscita? + `if (scanf("%d", &v) == 1) { … }` - `if (scanf("%d", &v)) == 1 { … }` - `if (scanf("%d", v) == 1) { … }` - `if (v == scanf("%d", &v)) { … }` - `if (scanf("%d", &v) = 1) { … }` = `scanf` restituisce quanti valori ha letto, e serve la `&`. La risposta più insidiosa è quella con `= 1`: è un assegnamento, e non compila nemmeno, perché non si può assegnare al risultato di una funzione. La seconda ha le parentesi nel posto sbagliato. ``` ## Esercizi ::: esercizio base Riscaldamento: che cosa stampa? Con `int x = 7, y = 3, z = 0;` esegui: `if (x > y) { z = x - y; } else { z = y - x; }` e poi `if (z % 2 == 0) { x = x + z; } else if (z > 3) { y = y + z; } else { x = 0; }`. Quanto valgono `x`, `y`, `z`? ::: soluzione `z = 4`. Poi `4 % 2 == 0` è vero, quindi `x = 7 + 4 = 11`, e il resto della catena si salta. Alla fine `x = 11`, `y = 3`, `z = 4`. Il programma che stampa i tre valori dà `11 3 4`. ::: ::: esercizio base Riscaldamento: trova gli errori Ogni riga ha un errore. Trovalo. (a) `if (n = 0) { printf("zero"); }` (b) `if n > 0 { printf("positivo"); }` (c) `if (x > 0); { printf("positivo"); }` (d) `else (x < 0) { printf("negativo"); }` ::: soluzione (a) `=` al posto di `==`. (b) Mancano le parentesi tonde intorno alla condizione: `if (n > 0)`. (c) Il `;` dopo la parentesi chiude l'`if` con un'istruzione vuota: il blocco si esegue sempre. gcc con `-Wall` se ne accorge quando il blocco sta sulla stessa riga (`this 'if' clause does not guard...`). (d) `else` non ha condizione: serve `else if (x < 0)`. ::: ::: esercizio base Riscaldamento: i casi limite Per il codice del biglietto (gratis sotto i 6, ridotto sotto i 18, intero altrimenti), quali età proveresti per controllarlo? Perché proprio quelle? ::: soluzione 5 e 6, 17 e 18: sono i valori ai due lati di ogni confine, dove un `<` scritto al posto di `<=` cambia il risultato. In più un valore in mezzo a ogni fascia, per esempio 2, 10 e 40, e magari 0. ::: ::: esercizio medio Il massimo di tre numeri Scrivi un programma che legge tre interi e stampa il più grande. Prova con 4 9 2, con −1 −5 −3 e con 7 7 7. ::: soluzione ```c #include int main(void) { int a, b, c; scanf("%d %d %d", &a, &b, &c); int max = a; if (b > max) { max = b; } if (c > max) { max = c; } printf("%d\n", max); return 0; } ``` Stampa 9, −1 e 7. L'idea: si parte da un candidato e lo si aggiorna quando si trova di meglio. Qui gli `if` sono **separati**, non in catena, perché ogni confronto va fatto comunque. È lo stesso schema che userai con i cicli per il massimo di un array. ::: ::: esercizio medio Il voto in parole Scrivi un `if-else if` che legge un voto da 0 a 30 e stampa `insufficiente` sotto il 18, `sufficiente` da 18 a 23, `buono` da 24 a 27, `ottimo` da 28 in su. Con quali voti lo provi? ::: soluzione ```c if (v < 18) { printf("insufficiente\n"); } else if (v < 24) { printf("sufficiente\n"); } else if (v < 28) { printf("buono\n"); } else { printf("ottimo\n"); } ``` Provato con 17, 18, 24, 27, 28 e 30: danno insufficiente, sufficiente, buono, buono, ottimo, ottimo. Ogni `else if` sa già che il voto non è sotto la soglia precedente. ::: ::: esercizio esame Ordinare tre numeri Scrivi un programma che legge tre interi `a`, `b`, `c` e li stampa dal più piccolo al più grande, usando solo scambi condizionati. Se la lettura non riesce, stampa `Input non valido`. ::: soluzione ```c #include int main(void) { int a, b, c; if (scanf("%d %d %d", &a, &b, &c) == 3) { // porta il piu' piccolo in a if (b < a) { int temp = a; a = b; b = temp; } if (c < a) { int temp = a; a = c; c = temp; } // ora a e' il minimo: sistema b e c if (c < b) { int temp = b; b = c; c = temp; } printf("%d %d %d\n", a, b, c); } else { printf("Input non valido\n"); } return 0; } ``` Provato con 3 1 2, 9 8 7, 5 5 1 e 1 2 3: stampa sempre i numeri in ordine. Con `x` stampa `Input non valido`. Ogni `temp` vive solo nel suo blocco, quindi lo stesso nome si può usare tre volte. ::: ::: esercizio esame La tariffa del parcheggio Un parcheggio costa: la prima ora gratis, poi 2 euro per ogni ora dopo la prima, fino a 5 ore; oltre le 5 ore 12 euro fissi. Scrivi un programma che legge le ore (un intero) e stampa il prezzo, con un messaggio di errore se l'input non è valido o è negativo. ::: soluzione ```c #include #include int main(void) { int ore; bool letto = (scanf("%d", &ore) == 1); if (!letto || ore < 0) { printf("Input non valido\n"); } else if (ore <= 1) { printf("Gratis\n"); } else if (ore <= 5) { printf("%d euro\n", (ore - 1) * 2); } else { printf("12 euro\n"); } return 0; } ``` Provato: 0 e 1 danno `Gratis`, 3 dà `4 euro`, 5 dà `8 euro`, 6 dà `12 euro`, −2 e `boh` danno `Input non valido`. Il primo controllo usa il cortocircuito: se `letto` è falso, `ore` non viene guardata. ::: ## Domande di ripasso ::: domanda Quali sono le tre strutture della programmazione strutturata? Sequenza, selezione e iterazione. ::: ::: domanda Che cosa dice il teorema di Böhm-Jacopini? Che sequenza, selezione e iterazione bastano per scrivere qualunque algoritmo. ::: ::: domanda In una catena `if … else if … else`, quanti blocchi vengono eseguiti? Uno solo: il primo con la condizione vera, oppure l'`else` se nessuna è vera. ::: ::: domanda Perché conviene mettere sempre le graffe? Perché senza graffe l'`if` comanda solo l'istruzione dopo, e una seconda riga rientrata sembra dipendere dall'`if` ma viene eseguita sempre. ::: ::: domanda In che ordine vanno le condizioni di una catena `else if`? Dalla più specifica alla più generale: altrimenti un caso generale cattura prima quello specifico. ::: ::: domanda Dove si può usare una variabile dichiarata dentro il blocco di un `if`? Solo dentro quel blocco, dalla dichiarazione alla `}`. Fuori non esiste. ::: ::: domanda Come si controlla che `scanf` abbia letto un intero? Con `if (scanf("%d", &x) == 1)`: `scanf` restituisce quanti valori ha letto. ::: ## Glossario ```glossario Flusso di controllo | L'ordine in cui il programma esegue le istruzioni. Programmazione strutturata | Scrivere i programmi solo con sequenza, selezione e iterazione. Teorema di Böhm-Jacopini | Sequenza, selezione e iterazione bastano per qualunque algoritmo (1966). Selezione | Scegliere quale blocco eseguire in base a una condizione. if | Esegue un blocco solo se la condizione è vera. else | Il blocco da eseguire quando la condizione è falsa. else if | Una nuova condizione, controllata solo se le precedenti erano false. Blocco | Istruzioni tra graffe; le variabili dichiarate dentro esistono solo lì. Visibilità | La parte di programma in cui un nome di variabile si può usare. Scambio condizionato | Scambiare due variabili solo se sono nell'ordine sbagliato. Caso limite | Un valore sul confine tra due casi, dove gli errori si vedono meglio. ``` ## Checklist ```checklist - So nominare le tre strutture e il teorema di Böhm-Jacopini. - So scrivere `if`, `if-else` e una catena `else if`. - So che in una catena si esegue un solo blocco, il primo con la condizione vera. - So riconoscere `=` al posto di `==` e le graffe dimenticate. - So mettere le condizioni dalla più specifica alla più generale. - So che una variabile dichiarata in un blocco sparisce alla sua `}`. - So scrivere lo scambio condizionato e seguirlo nella memoria. - So scrivere senza pensarci il massimo, il controllo dell'input, la divisione protetta e l'intervallo. - So scegliere i casi limite per provare un programma con gli `if`. ``` ## Fonti - Slide «Dal flusso sequenziale alle decisioni. Introduzione al controllo di flusso nella programmazione strutturata» (03D_decisioni), Programmazione I – Teoria, canale B, A.A. 2026/27, E. G. Amparore: programmazione strutturata e Böhm-Jacopini (slide 2–3), `if`, `if-else`, `else if` (4–8), errori comuni e buona prassi (9–12), stampa in ordine e visibilità nei blocchi (13–20), annidamenti (21), schemi ricorrenti (22–25). - C. Böhm, G. Jacopini, «Flow diagrams, Turing machines and languages with only two formation rules», *Communications of the ACM*, 1966. - Regole d'esame e lezioni dei canali A e C dalla [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). - Tutti i programmi delle slide e delle soluzioni li ho compilati con gcc 16.1 su Windows 11, con `-Wall -Werror` (gli esempi con `void main()` anche senza opzioni), ed eseguiti; gli avvisi citati sono quelli veri. Le soluzioni, i quiz e gli esercizi sono di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/Lab01_introduzione.md` ```yaml corso: PROG1 lezione: Lab01 titolo: "Laboratorio 01: la riga di comando, il compilatore gcc e i primi programmi" data: 2026-10-05 docenti: Elisa Marengo (turno B2) e Valerio Basile (turno B1); teoria Elvio Amparore sopratitolo: Canale B · Laboratorio 01, la prima lezione di laboratorio · Programmazione I descrizione: >- Appunti del primo laboratorio di Programmazione I (canale B, Lab01): come funziona il laboratorio Turing e come si collega all'esame al PC, la riga di comando di Linux, macOS e Windows, percorsi assoluti e relativi, i comandi per file e cartelle, l'installazione di gcc anche su Windows, compilare ed eseguire un programma C, leggere e scrivere dal terminale con printf e scanf, con tutti gli esercizi delle slide svolti e provati. lede: >- Il primo laboratorio: si lascia il mouse e si parla al computer scrivendo. Impari a muoverti tra le cartelle con pochi comandi, a installare il compilatore, a trasformare un file di testo in un programma che gira e a fargli leggere un numero dalla tastiera. Sono i gesti che ripeterai in ogni laboratorio e all'esame. materiale: slide scheda: Slide: Lab01 «Introduzione», laboratorio canale B · 50 pagine Laboratorio: Elisa Marengo (turno B2, lun 05/10) e Valerio Basile (turno B1, mar 06/10) · 14–17 · laboratorio Turing Tempo di studio: 2–3 ore, meglio davanti a un computer fonte: >- Slide «Introduzione» (Lezione nº 1 di laboratorio), Programmazione I – Laboratorio, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/Lab01_introduzione.html genera_html: true ``` ## In breve - Il laboratorio sono **10 lezioni da 3 ore** al laboratorio Turing. Al PC entri con le credenziali di UniTo. Quando esci, i file sul PC vengono cancellati: salvali prima. - La **riga di comando** è una finestra in cui scrivi ordini al computer, uno per riga. Premi Invio, il computer esegue e risponde. - Ogni comando ha un **nome**, poi le **opzioni** (come deve lavorare) e gli **argomenti** (su che cosa lavora). Esempio: in `ls -a Documenti` il nome è `ls`, l'opzione è `-a`, l'argomento è `Documenti`. - Un **percorso** dice dove sta un file. Quello **assoluto** parte dalla radice del disco. Quello **relativo** parte dalla cartella in cui ti trovi. La cartella in cui sei si scrive `.`, quella che la contiene `..`. - I comandi di base sono pochi: cambiare cartella, vedere che cosa c'è, creare, copiare, spostare, cancellare, leggere un file. Linux e macOS usano gli stessi nomi, Windows altri. - Il compilatore si chiama **gcc**. Il comando `gcc -Wall -Werror buongiorno.c -o buongiorno` trasforma il file di testo in un programma. Con `-Wall -Werror` basta un avviso per fermare tutto, come all'esame. - `printf` scrive sul terminale, `scanf` legge un numero dalla tastiera. Il codice `%d` vuol dire «qui va un numero intero». - All'esame si scrive codice C al PC, in un editor semplice, e un sistema di test automatici (CodeRunner) lo compila con `-Wall -Werror` e confronta le stampe con quelle attese. > [!CANALI] > **Canale B.** Il laboratorio comincia questa settimana, al laboratorio Turing, dalle 14 alle 17. Il turno **B2** (matricola pari) è lunedì 05/10 con **Elisa Marengo**; il turno **B1** (matricola dispari) è martedì 06/10 con **Valerio Basile**. Poi un laboratorio a settimana: il turno B2 il lunedì, il turno B1 il martedì (date precise nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md)). > > **Canale A.** Turno A1 (matricola dispari) giovedì 14–17 con Iacopo Colonnelli, dall'08/10; turno A2 (matricola pari) mercoledì 14–17 con Alessia Antelmi, dal 07/10. Sempre al laboratorio Turing. > > **Canale C.** Tutti e due i turni con Alessandro Mazzei: turno C1 (matricola dispari) mercoledì 9–12, dal 07/10; turno C2 (matricola pari) martedì 9–12, dal 06/10. > > Secondo la scheda del corso, i dieci laboratori hanno la stessa sequenza nei tre canali e gli stessi esercizi su CodeRunner. I laboratori del 2025/26 che ho (Lab03 condizioni booleane, Lab04 iterazioni, Lab10 ricorsione) hanno lo stesso modello di queste slide. Quindi questa lezione serve a tutti: controlla solo il giorno del tuo turno su Moodle. Le slide del Lab01 dei canali A e C per il 2026/27 non le ho viste. > > In questi appunti ho cambiato un po' l'ordine delle slide: tutti gli esercizi (la slide 23 sui comandi e la slide 50 sul C) sono svolti in fondo, nella sezione «Esercizi». ## Come funziona il laboratorio (slide 3–7) Il corso di Programmazione I ha due parti. La **teoria** è in aula, con Elvio Amparore. Il **laboratorio** è al laboratorio Turing, davanti a un PC: si scrivono programmi e si provano. Il laboratorio vale 30 ore, cioè **10 lezioni da 3 ore**. Le cose pratiche, dalla slide 3: - i docenti di laboratorio del canale B sono Valerio Basile e Elisa Marengo; - orari e avvisi sono sulla pagina Moodle del corso; - per parlare con un docente scrivi un'email o usa il forum di Moodle. Scrivi solo dall'indirizzo di ateneo, quello che finisce con `@edu.unito.it`; - durante il laboratorio ci sono anche due **assistenti**, studenti del secondo o del terzo anno: chiedi a loro quando ti blocchi. ### Entrare in un PC del laboratorio Turing (slide 4–5) Ti siedi, accendi lo schermo con il tasto in basso a destra ed entri con il **login di ateneo**. È lo stesso nome utente e la stessa password che usi per il sito di UniTo e per la posta: il nome utente ha la forma `nome.cognome`. Puoi scegliere tra **Windows** e **Linux**. In tutti e due trovi già il compilatore C e un editor di testo. Puoi anche portare il tuo portatile, ma allora devi installare tu il compilatore (sezione «Il compilatore C sul tuo computer», più avanti). > [!TRAPPOLA] La password e la tastiera > Il PC può avere una disposizione dei tasti diversa dalla tua: per esempio inglese invece che italiana. Se la password contiene caratteri speciali (`@`, `#`, `!`, lettere accentate), possono trovarsi su tasti diversi. Se il login non va, controlla la lingua della tastiera nella schermata di accesso e chiedi agli assistenti. Ogni volta che entri, il PC riparte **da zero**: niente modifiche, niente file. E quando esci, **tutti i file che hai scritto vengono cancellati**. > [!TRAPPOLA] I file si perdono quando esci > Prima di uscire, salva i tuoi file altrove: su una chiavetta, sul tuo Google Drive o mandandoli per email. Il PC non si spegne: per uscire si usa **Disconnetti** dal menu Start. ### Le regole del laboratorio (slide 6) In laboratorio è vietato fare foto, video o registrazioni. Il materiale del corso è protetto dal diritto d'autore: puoi usarlo per studiare, ma non condividerlo sui social o su siti che guadagnano con la pubblicità. Puoi condividere solo il materiale con licenza Creative Commons. ### Perché conviene venire ogni settimana (slide 7) Il corso parte dalle basi: non serve aver già programmato. Le prime settimane possono sembrarti facili se hai fatto un istituto tecnico. Poi però gli argomenti si sommano uno sull'altro. La slide 7 ha due grafici. Chi segue il laboratorio e fa gli esercizi sale piano piano, sempre alla stessa pendenza. Chi salta le lezioni trova prima una parte piatta, «già visto», poi una salita ripida e arriva all'esame con una preparazione incompleta. ### Che cosa c'entra il laboratorio con l'esame L'esame di Programmazione I si fa **al PC**, nei laboratori, ed è uguale per i tre canali. Scrivi programmi in C in una pagina web con un **editor semplice**: niente completamento automatico. Un sistema di test automatici, **CodeRunner**, compila il tuo programma, lo esegue con vari dati e confronta quello che stampa con quello che deve stampare. Compilare vuol dire tradurre il testo in C in un programma che il computer sa eseguire ([lezione 02A](02A_da_assembly_a_c.html#h-dal-sorgente-all-eseguibile)). CodeRunner lo fa con le opzioni `-Wall -Werror`, che fermano la traduzione anche per un piccolo avviso: le vedi più avanti in questa lezione. In laboratorio vedrai lo stesso sistema. Nel 2025/26 le slide del Lab03 («Condizioni booleane») lo presentavano con un esercizio su Moodle che non valeva voto, solo per allenarsi. Le stesse slide dicono tre esiti possibili: 1. errore di compilazione: il programma non compila con `-Wall -Werror`; 2. il programma compila e gira, ma non passa tutti i test: stampa qualcosa di diverso da quello atteso; 3. il programma compila, gira e passa tutti i test. Per questo conviene allenarsi da subito come all'esame: editor semplice, compilazione con `-Wall -Werror`, e stampe scritte esattamente come richiesto. ::: prova Hai scritto un programma in laboratorio e stai per uscire. Che cosa devi fare prima di cliccare su «Disconnetti»? Salvare i file altrove (chiavetta, Google Drive, email). Dopo la disconnessione il PC cancella tutto quello che hai scritto. ::: > [!RICORDA] > - 10 laboratori da 3 ore al laboratorio Turing; entri con le credenziali di UniTo e scegli Windows o Linux. > - Quando esci i file vengono cancellati: salvali prima. > - All'esame CodeRunner compila con `-Wall -Werror` e controlla le stampe: allenati così da subito. ## La riga di comando: ordini scritti (slide 8–13) Di solito usi il computer con il mouse: apri una cartella con un doppio clic, trascini un file nel cestino. C'è un altro modo, più vecchio e più preciso: **scrivere** che cosa vuoi. Per esempio, invece di aprire la cartella Documenti con un doppio clic, scrivi `cd Documenti` e premi Invio. È come una chat con il computer. Tu scrivi un ordine su una riga, premi Invio. Il computer lo esegue e risponde con qualche riga di testo, oppure con un messaggio d'errore se non ha capito. Poi aspetta l'ordine dopo. Questa finestra si chiama **riga di comando**, in inglese *command line interface*, abbreviato **CLI**. Ha molti altri nomi, e li sentirai tutti: **terminale**, **console**, **shell** (su Linux e macOS), **prompt dei comandi** (su Windows). In laboratorio la useremo per fare a mano tutti i passi che trasformano un file di testo scritto in C in un programma che gira. Gli ambienti di sviluppo li fanno con un clic, ma nascondono che cosa succede. ### Il prompt Quando apri il terminale vedi una riga che finisce con un simbolo e un cursore che lampeggia. Quella riga si chiama **prompt**: è il computer che dice «sono pronto, scrivi». ```text C:\Users\jon_snow> ``` È il prompt di Windows. Prima del segno `>` c'è la cartella in cui ti trovi. ```text jon_snow@linux:~$ ``` È il prompt di Linux. Prima del segno `$` ci sono il nome dell'utente, il nome del computer e la cartella in cui ti trovi. Il segno `~` (si legge «tilde») vuol dire «la tua cartella personale». Su macOS il prompt è simile e finisce con `%`. Negli appunti, quando c'è un comando da scrivere, il prompt è già scritto davanti. Tu scrivi solo quello che viene dopo il `>` o il `$`. ### Come è fatto un comando (slide 11) Ogni comando ha la stessa forma: ```text nome_comando opzioni argomenti ``` - il **nome** dice che cosa fare; - le **opzioni** cambiano il modo in cui il comando lavora. Su Linux e macOS cominciano con il trattino `-`, su Windows con la barra `/`; - gli **argomenti** sono le cose su cui il comando lavora: di solito nomi di file o di cartelle. Le parti si separano con uno spazio. Ecco gli esempi della slide 11, con le risposte vere del computer. Su Linux: ```text $ date Mon Oct 5 17:53:02 CEST 2026 $ uname Linux $ echo "ciao, come stai" ciao, come stai ``` - `date` non ha né opzioni né argomenti: stampa data e ora. - `uname` stampa il nome del sistema. Con l'opzione `-a` (*all*, tutto) stampa anche il nome del computer, la versione e il tipo di processore, su una riga lunga. - `echo` ripete i suoi argomenti. Serve per stampare un messaggio o il valore di qualcosa. Su Windows: ```text C:\Users\jon_snow>date /t Mon 10/05/2026 C:\Users\jon_snow>echo ciao, come stai ciao, come stai ``` - `date /t` stampa la data. Senza l'opzione `/t`, Windows ti chiederebbe anche di scrivere una data nuova. - `systeminfo`, l'altro esempio della slide, stampa molte righe di informazioni sul computer. I messaggi del mio PC sono in inglese. Su un sistema in italiano date e messaggi d'errore escono in italiano, ma il senso è lo stesso. ::: prova Nel comando `ls -a Documenti`, qual è il nome, quale l'opzione e quale l'argomento? Il nome è `ls` (elenca i file), l'opzione è `-a` (comincia con il trattino), l'argomento è `Documenti` (la cartella da elencare). ::: ### Comandi della shell e programmi esterni (slide 12–13) Alcuni comandi li conosce direttamente la shell: si chiamano comandi **integrati** (*built-in*). Esempio: `cd`, che cambia cartella. Tutti gli altri sono **programmi esterni**: file che stanno da qualche parte sul disco. Quando scrivi il loro nome, la shell cerca il file, lo carica in memoria e lo esegue con le opzioni e gli argomenti che hai scritto. Esempio: `ls` su Linux è il file `/usr/bin/ls`, cioè il file `ls` nella cartella `bin` dentro la cartella `usr` (come si leggono questi indirizzi lo vedi nella sezione dopo). Ma dove cerca? Non in tutto il disco: sarebbe troppo lento. Cerca in un elenco di cartelle che si chiama **PATH** (percorso dei comandi). Il PATH è una **variabile d'ambiente**: un'informazione con un nome, che il sistema tiene in memoria e che tutti i programmi possono leggere. Per vedere il PATH (slide 13) si usa `echo`. Su Linux e macOS il valore di una variabile si chiede con il segno del dollaro davanti al nome: ```text $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin ``` È il PATH di partenza di Ubuntu. Le cartelle sono separate dai due punti. Su Windows il nome della variabile va tra due segni di percentuale: ```text C:\Users\jon_snow>echo %PATH% ``` Esce una riga molto lunga, diversa da computer a computer. Contiene di sicuro le cartelle di Windows, come `C:\Windows\system32` e `C:\Windows`, separate dal punto e virgola. > [!TRAPPOLA] «command not found» > Se scrivi un nome che la shell non trova, né tra i suoi comandi né nelle cartelle del PATH, ricevi un errore. Per esempio con `cdd` al posto di `cd`. > > Su Linux: `cdd: command not found`. Ubuntu a volte aggiunge dei suggerimenti: `Command 'cdd' not found, but there are 19 similar ones.` > > Su Windows: `'cdd' is not recognized as an internal or external command, operable program or batch file.` > > Di solito è un errore di battitura. Se invece il nome è giusto, il programma non è installato oppure la sua cartella non è nel PATH. È quello che succede a `gcc` su Windows se salti un passo dell'installazione. ::: prova Scrivi `echo ciao` su Linux e su Windows. Che cosa esce? E che cosa esce con `echo $PATH` su Windows? `echo ciao` stampa `ciao` su tutti e due. Su Windows `echo $PATH` stampa `$PATH` così com'è: per Windows il dollaro non vuol dire niente. Lì si scrive `echo %PATH%`. ::: > [!RICORDA] > - La riga di comando è una chat con il computer: scrivi un ordine, premi Invio, leggi la risposta. > - Un comando è fatto di nome, opzioni e argomenti, separati da spazi. Opzioni con `-` su Linux e macOS, con `/` su Windows. > - I programmi esterni si cercano nelle cartelle del PATH. «command not found» vuol dire: nome sbagliato, oppure programma non trovato nel PATH. ## Dove sta un file: i percorsi (slide 14–18, 21–22) Per mandare una lettera serve l'indirizzo completo: paese, città, via, numero. Per dire a un comando su quale file lavorare serve la stessa cosa: l'indirizzo del file sul disco. Un errore nell'indirizzo, e il comando lavora sul file sbagliato o non lo trova. Con `rm importante.txt`, che cancella un file, è meglio essere precisi. ### Le cartelle sono un albero Le cartelle stanno una dentro l'altra. In cima c'è la **cartella radice**: su Linux e macOS si scrive `/`, su Windows è il disco, per esempio `C:\`. Dentro la radice ci sono altre cartelle, dentro ognuna altre ancora, e così via. Disegnato, sembra un albero rovesciato. L'esempio delle slide, su Windows: ```text C:\ └── Users\ ├── jon_snow\ │ └── Documenti\ │ └── cosedafare.txt └── topolino\ └── shared\ └── foto\ └── pippo.jpg ``` ### Il percorso assoluto (slide 15) Il **percorso assoluto** di un file è il suo indirizzo completo: tutte le cartelle da attraversare, dalla radice fino al file, nell'ordine. Tra un nome e l'altro c'è un separatore: la barra `/` su Linux e macOS, la barra rovesciata `\` su Windows. Il file `cosedafare.txt` dell'albero qui sopra ha questi percorsi assoluti: | Sistema | Percorso assoluto | |---|---| | Windows | `C:\Users\jon_snow\Documenti\cosedafare.txt` | | Linux | `/home/jon_snow/Documenti/cosedafare.txt` | Su Linux le cartelle personali stanno in `/home`, non in `Users`. Su macOS stanno in `/Users`. Un percorso assoluto funziona sempre, da qualunque cartella tu dia il comando. Il difetto: è lungo da scrivere. ### La cartella di lavoro e il percorso relativo (slide 16–17) Il terminale è sempre «dentro» una cartella: si chiama **cartella di lavoro** (*working directory*). È quella scritta nel prompt, prima del `>` o del `$`. Per cambiarla si usa `cd`, da *change directory*: ```text C:\Users\jon_snow>cd Documenti C:\Users\jon_snow\Documenti> ``` Il prompt è cambiato: ora sei in `Documenti`. Un **percorso relativo** è un indirizzo che parte dalla cartella di lavoro invece che dalla radice. È come dire a un amico che è già in via Pessinetto: «al numero 12», invece di ripetergli paese e città. Se la cartella di lavoro è `C:\Users\jon_snow`, questi due comandi cancellano lo stesso file (slide 17): ```text C:\Users\jon_snow>del Documenti\cosedafare.txt C:\Users\jon_snow>del C:\Users\jon_snow\Documenti\cosedafare.txt ``` Come capire se un percorso è assoluto o relativo? Guarda come comincia. Se comincia dalla radice (`/` su Linux, `C:\` su Windows) è assoluto. Altrimenti è relativo, e il computer gli mette davanti la cartella di lavoro. ### I due percorsi speciali: punto e due punti (slide 21–22) Ogni cartella contiene due nomi speciali: - `.` (un punto) è **la cartella stessa**, cioè la cartella di lavoro; - `..` (due punti) è **la cartella che la contiene**, quella un gradino più su nell'albero. Se la cartella di lavoro è `Documenti`, questi due comandi fanno la stessa cosa (slide 21): ```text C:\Users\jon_snow\Documenti>del .\verbale.txt C:\Users\jon_snow\Documenti>del verbale.txt ``` Il `..` serve per risalire. L'esempio della slide 22: sei in `C:\Users\jon_snow\Documenti` e vuoi copiare qui il file `pippo.jpg`, che sta nella cartella `shared\foto` dell'utente `topolino`. Contiamo i passi nell'albero: 1. da `Documenti`, `..` porta a `jon_snow`; 2. da `jon_snow`, un altro `..` porta a `Users`; 3. da `Users` si scende in `topolino`, poi in `shared`, poi in `foto`; 4. lì c'è `pippo.jpg`. Il comando è: ```text C:\Users\jon_snow\Documenti>copy ..\..\topolino\shared\foto\pippo.jpg . 1 file(s) copied. ``` Il `.` finale è la destinazione: «copialo qui». Su Linux lo stesso comando si scrive con `cp` e le barre dritte: `cp ../../topolino/shared/foto/pippo.jpg .`. ### I dischi di Windows (slide 18) Su Windows ogni disco ha una lettera seguita dai due punti. `C:` è il disco con il sistema e i programmi, come il compilatore e l'editor. `D:` e le altre lettere sono altri dischi, chiavette o cartelle di rete. Al laboratorio Turing c'è solo `C:`. Per passare a un altro disco si scrive la sua lettera, per esempio `D:`, e si preme Invio. Per andare nella tua cartella Documenti in laboratorio: ```text cd C:\Users\nome_utente\Documents ``` Al posto di `nome_utente` metti il tuo nome utente. Nota che qui la cartella si chiama `Documents`: è il nome vero che Windows usa su disco, anche quando in Esplora file vedi «Documenti». > [!OLTRE] · `cd` e l'altro disco > Su Windows `cd D:\cartella` cambia la cartella di lavoro del disco `D:`, ma ti lascia sul disco in cui eri. Per cambiare insieme disco e cartella si scrive `cd /d D:\cartella`. > [!TRAPPOLA] Le barre al contrario > Linux e macOS vogliono `/`, Windows vuole `\`. Nelle slide 16 e 45 il prompt di Linux è scritto `jon_snow@linux:\home\jon_snow$`, con le barre rovesciate: su un Linux vero è `/home/jon_snow`, e nel prompt la cartella personale si vede come `~`. ::: prova Sei in `/home/jon_snow/Documenti`. Dove arrivi con `cd ..`? E con `cd ../..`? Con `cd ..` sali di un gradino: `/home/jon_snow`. Con `cd ../..` sali di due: `/home`. ::: ::: prova Sei in `C:\Users\jon_snow`. Scrivi il percorso relativo di `C:\Users\jon_snow\Documenti\cosedafare.txt`. Si toglie la parte che coincide con la cartella di lavoro: resta `Documenti\cosedafare.txt`. ::: > [!RICORDA] > - Il percorso assoluto parte dalla radice (`/` oppure `C:\`) e funziona da qualunque cartella. > - Il percorso relativo parte dalla cartella di lavoro, quella scritta nel prompt. > - `.` è la cartella in cui sei, `..` quella che la contiene. Separatore `/` su Linux e macOS, `\` su Windows. ## I comandi da sapere, uno per uno (slide 19–20) Con una decina di comandi fai tutto quello che faresti con il mouse in una cartella: guardare, entrare, creare, copiare, spostare, cancellare. Le slide 19 e 20 li elencano per Windows e per Linux. Qui li vedi in azione, con le risposte vere del computer. Le sessioni Linux vengono da Ubuntu, quelle Windows dal Prompt dei comandi. Ho usato una cartella di prova con l'albero della sezione precedente e un utente di nome `jon_snow`, come nelle slide. Nei prompt di Linux scrivo solo `$` per abbreviare. ### Dove sono? Che cosa c'è qui? **`pwd`** (Linux e macOS, *print working directory*) stampa la cartella di lavoro. Su Windows lo stesso fa **`cd`** scritto da solo. ```text $ pwd /home/jon_snow ``` ```text C:\Users\jon_snow>cd C:\Users\jon_snow ``` **`ls`** (Linux e macOS, *list*) elenca i file e le cartelle della cartella di lavoro. Con un argomento elenca un'altra cartella. Su Windows si usa **`dir`**. ```text $ ls Documenti $ ls Documenti cosedafare.txt verbale.txt ``` ```text C:\Users\jon_snow>dir Documenti Directory of C:\Users\jon_snow\Documenti 10/05/2026 05:52 PM . 10/05/2026 05:52 PM .. 10/05/2026 05:52 PM 30 cosedafare.txt 10/05/2026 05:52 PM 9 verbale.txt 2 File(s) 39 bytes 2 Dir(s) 442,681,495,552 bytes free ``` `dir` stampa anche data, ora e grandezza in byte. Le cartelle hanno la scritta ``; ci sono anche `.` e `..`. Sopra l'elenco `dir` stampa due righe sul disco (nome e numero di serie), che qui ho tolto. Con l'opzione `/b` stampa solo i nomi. > [!OLTRE] · i file nascosti > Su Linux `ls` non mostra i file il cui nome comincia con un punto. `ls -a` (*all*) mostra tutto, anche `.` e `..`. `ls -l` (*long*) mostra anche grandezza, data e permessi, come `dir`. ### Muoversi: `cd` **`cd cartella`** entra in una cartella. **`cd ..`** sale di un gradino. Funziona allo stesso modo su Linux, macOS e Windows, con le barre giuste. ```text $ cd Documenti $ pwd /home/jon_snow/Documenti $ cd .. $ pwd /home/jon_snow ``` `cd` non stampa niente quando va tutto bene: cambia solo il prompt. Su Linux `cd` da solo, o `cd ~`, riporta nella cartella personale. `cd /` porta alla radice. Errore tipico: una cartella che non c'è, o scritta male. ```text $ cd Cartellachenonce bash: cd: Cartellachenonce: No such file or directory ``` ```text C:\Users\jon_snow\Documenti>cd Cartellachenonce The system cannot find the path specified. ``` > [!TRAPPOLA] Maiuscole e minuscole > Su Linux `Documenti` e `documenti` sono due nomi diversi: `cd documenti` dà errore. Windows e macOS di solito non fanno differenza. Abituati a scrivere i nomi esattamente come sono: il C distingue sempre maiuscole e minuscole. ### Creare: `mkdir`, `touch`, `copy NUL` **`mkdir nome`** (*make directory*) crea una cartella vuota. Si scrive così su tutti e tre i sistemi. **`touch nome`** (Linux e macOS) crea un file vuoto. Su Windows lo stesso si fa con **`copy NUL nome`**: copia «il niente» in un file nuovo. `NUL` è un file speciale di Windows, sempre vuoto. ```text $ mkdir PROVA $ cd PROVA $ touch importante.txt $ ls importante.txt ``` ```text C:\Users\jon_snow\Documenti\PROVA>copy NUL importante.txt 1 file(s) copied. ``` Errore tipico: la cartella esiste già. ```text $ mkdir PROVA mkdir: cannot create directory ‘PROVA’: File exists ``` ```text C:\Users\jon_snow\Documenti>mkdir PROVA A subdirectory or file PROVA already exists. ``` ### Copiare: `cp` e `copy` **`cp origine destinazione`** (Linux e macOS) copia un file. Su Windows si scrive **`copy origine destinazione`**. L'originale resta dov'è. ```text $ cp rilevante.txt copia.txt $ ls copia.txt rilevante.txt ``` Origine e destinazione possono essere percorsi relativi, come qui, o assoluti: ```text $ cp /home/jon_snow/Documenti/PROVA/rilevante.txt /home/jon_snow/Documenti/PROVA/copia2.txt ``` Se la destinazione è una cartella, la copia prende lo stesso nome dell'originale: è il caso di `copy … .` della slide 22. Errore tipico: il file da copiare non c'è, o il nome è sbagliato. ```text $ cp nonce.txt b.txt cp: cannot stat 'nonce.txt': No such file or directory ``` ```text C:\Users\jon_snow\Documenti>copy nonce.txt b.txt The system cannot find the file specified. ``` ### Rinominare e spostare: `mv`, `ren`, `move` Su Linux e macOS un solo comando fa due lavori: **`mv`** (*move*). - `mv importante.txt rilevante.txt` cambia il nome del file; - `mv PROVA/rilevante.txt .` sposta il file nella cartella di lavoro. In fondo è la stessa cosa: cambi l'indirizzo del file. Su Windows ci sono due comandi: **`ren`** (*rename*) per cambiare nome, **`move`** per spostare. ```text $ mv importante.txt rilevante.txt $ ls rilevante.txt ``` ```text C:\Users\jon_snow\Documenti\PROVA>ren importante.txt rilevante.txt C:\Users\jon_snow\Documenti>move PROVA\rilevante.txt . 1 file(s) moved. ``` > [!TRAPPOLA] Copiare o spostare sopra un file che esiste > Su Linux `cp` e `mv` sovrascrivono senza chiedere: se `b.txt` esiste, il suo contenuto è perso. Su Windows `copy` e `move`, scritti a mano nel Prompt dei comandi, chiedono prima conferma; dentro un file di comandi no. Controlla sempre la destinazione. ### Cancellare: `rm`, `del`, `rmdir` **`rm file`** (Linux e macOS, *remove*) cancella un file. Su Windows si usa **`del`** (*delete*). Il file **non va nel cestino**: sparisce subito. ```text $ rm copia.txt copia2.txt $ ls rilevante.txt ``` **`rmdir cartella`** (*remove directory*) cancella una cartella, ma solo se è **vuota**. Si scrive così ovunque. ```text $ rmdir PROVA rmdir: failed to remove 'PROVA': Directory not empty ``` ```text C:\Users\jon_snow\Documenti>rmdir PROVA The directory is not empty. ``` Prima cancelli i file dentro, poi la cartella. `rm` da solo non cancella le cartelle: ```text $ rm PROVA rm: cannot remove 'PROVA': Is a directory ``` > [!OLTRE] · cancellare una cartella piena > Su Linux `rm -r PROVA` (*recursive*) cancella la cartella con tutto quello che contiene; su Windows lo fa `rmdir /s PROVA`, che chiede conferma. Usali con molta attenzione: non c'è modo di tornare indietro. ### Leggere un file: `cat` e `type` **`cat file`** (Linux e macOS) stampa il contenuto di un file di testo. Su Windows si usa **`type`**. Sono comodi per controllare al volo un file corto, per esempio un programma C. ```text $ cat cosedafare.txt comprare il pane studiare C ``` ```text C:\Users\jon_snow\Documenti>type cosedafare.txt comprare il pane studiare C ``` Errore tipico, il file non c'è: ```text $ cat nonesiste.txt cat: nonesiste.txt: No such file or directory ``` > [!TRAPPOLA] Nomi con gli spazi > Lo spazio separa gli argomenti. Se un file si chiama `file di prova.txt`, il comando `type file di prova.txt` cerca tre file: `file`, `di` e `prova.txt`. Windows risponde tre volte `The system cannot find the file specified.` Si scrive il nome tra virgolette, `type "file di prova.txt"`, oppure si evitano gli spazi nei nomi. Per i tuoi programmi usa nomi come `somma_due_numeri.c`. ### Aprire un file con l'editor Per scrivere un programma serve un editor di testo. Dalla riga di comando si apre così: - Windows: `start notepad++ rilevante.txt` apre il file con Notepad++; - macOS: `open rilevante.txt` lo apre con il programma predefinito; - Linux: `xdg-open rilevante.txt` fa lo stesso. ### La tabella di tutti i comandi | Che cosa fa | Linux e macOS | Windows | |---|---|---| | mostra la cartella di lavoro | `pwd` | `cd` | | entra nella cartella `dir` | `cd dir` | `cd dir` | | sale alla cartella che contiene quella di lavoro | `cd ..` | `cd ..` | | elenca la cartella di lavoro | `ls` | `dir` | | elenca la cartella `path` | `ls path` | `dir path` | | crea la cartella vuota `dirA` | `mkdir dirA` | `mkdir dirA` | | cancella la cartella `dirA`, se è vuota | `rmdir dirA` | `rmdir dirA` | | copia `fileA` in un nuovo `fileB` | `cp fileA fileB` | `copy fileA fileB` | | crea il file vuoto `fileA` | `touch fileA` | `copy NUL fileA` | | cambia il nome di `fileA` in `fileB` | `mv fileA fileB` | `ren fileA fileB` | | sposta un file in un altro posto | `mv pathToA pathToB` | `move pathToA pathToB` | | cancella `fileA` | `rm fileA` | `del fileA` | | stampa il contenuto di `fileA` | `cat fileA` | `type fileA` | | apre `fileA` con un editor | `open fileA` (macOS), `xdg-open fileA` (Linux) | `start notepad++ fileA` | | cambia disco | non serve: c'è un solo albero | `C:`, `D:`, `X:` | | stampa il PATH | `echo $PATH` | `echo %PATH%` | ::: prova Sei nella cartella `PROVA`, che contiene solo `rilevante.txt`. Quali comandi Linux servono per tornare su e cancellare `PROVA`? `rm rilevante.txt` per svuotarla, poi `cd ..` per uscire, poi `rmdir PROVA`. Su Windows: `del rilevante.txt`, `cd ..`, `rmdir PROVA`. ::: ::: prova Che differenza c'è tra `cp a.txt b.txt` e `mv a.txt b.txt`? Dopo `cp` ci sono due file uguali, `a.txt` e `b.txt`. Dopo `mv` c'è solo `b.txt`: il file è lo stesso, ha cambiato nome. ::: > [!RICORDA] > - Linux e macOS: `pwd`, `ls`, `cd`, `mkdir`, `touch`, `cp`, `mv`, `rm`, `rmdir`, `cat`. > - Windows: `cd`, `dir`, `mkdir`, `copy NUL`, `copy`, `ren`, `move`, `del`, `rmdir`, `type`. > - `rm` e `del` non usano il cestino; `rmdir` cancella solo cartelle vuote. Gli errori più comuni sono nomi scritti male e spazi nei nomi. ## Il compilatore C sul tuo computer (slide 25–36) Un programma in C, per il computer, è solo un file di testo. Il processore non lo sa eseguire: capisce soltanto il linguaggio macchina, fatto di numeri. Serve un traduttore, il **compilatore**. Il viaggio dal testo al linguaggio macchina è spiegato nella [lezione 02A](02A_da_assembly_a_c.html#h-dal-sorgente-all-eseguibile); qui vediamo come installarlo e usarlo. ### Il C in breve (slide 25–27) La slide 25 riassume le caratteristiche del C. Il nome si pronuncia «si», all'inglese. - **procedurale e imperativo**: scrivi le istruzioni da eseguire e il loro ordine, divise in funzioni; - **strutturato**: usa blocchi, cicli e scelte `if`/`else` invece dei salti dell'assembly; - permette la **ricorsione**: una funzione può chiamare sé stessa (la vedrai verso la fine del corso); - **tipizzato**: ogni variabile, cioè ogni casella della memoria con un nome, ha un tipo, per esempio «numero intero». Le variabili le vedi nell'ultima sezione; - **vicino all'hardware**: lascia lavorare direttamente sulla memoria. Quattro di queste caratteristiche sono già nella [lezione 02A](02A_da_assembly_a_c.html#h-le-caratteristiche-del-c). Il C è ancora molto usato: nell'indice TIOBE di settembre 2026 è il secondo linguaggio più popolare, dopo Python. Nel sondaggio Stack Overflow 2025 lo usa il 22 % di chi ha risposto (slide 27). Per cercare come funziona una funzione della libreria, la slide 26 consiglia: [cppreference](https://en.cppreference.com/w/c/header), [Wikibooks](https://en.wikibooks.org/wiki/C_Programming/Standard_library_reference), [Wikipedia](https://en.wikipedia.org/wiki/C_standard_library) e [cplusplus.com](https://cplusplus.com/reference/clibrary/). Sono in inglese. ### Quale compilatore (slide 28) Di compilatori C ce ne sono molti. Alcuni esistono da decenni e sono tra i programmi più provati al mondo: quasi tutto il software di sistema è scritto in C. Nel corso si usa **gcc**, ma quello che vedrai vale per quasi tutti i compilatori. ### Installarlo (slide 29–33) **Su Linux** gcc si installa con il gestore dei pacchetti, il programma che scarica e installa il software. Il comando dipende dalla distribuzione: ```text sudo apt install build-essential (Debian, Ubuntu) sudo dnf install gcc make (Fedora) ``` `sudo` vuol dire «come amministratore»: ti chiede la tua password. **Su macOS** si installano gli strumenti da riga di comando di Xcode (*Xcode command line tools*), dall'App Store o dal sito di Apple. Un modo comodo è scrivere nel terminale `xcode-select --install`. Su macOS il comando `gcc` in realtà avvia un altro compilatore, clang, che accetta le stesse opzioni. **Su Windows** si usa **MinGW-w64**, una versione di gcc fatta per Windows. I passi delle slide: 1. scarica l'archivio dalla pagina [github.com/niXman/mingw-builds-binaries/releases](https://github.com/niXman/mingw-builds-binaries/releases). La slide 30 dà il link diretto alla versione 15.2.0, un file `.7z` con nel nome `x86_64`, `win32`, `seh` e `msvcrt`; 2. l'archivio è un file compresso: estrailo in una cartella tua, per esempio `C:\Users\\Documents\mingw64`. Per aprire i `.7z` serve un programma come 7-Zip; 3. aggiungi al PATH la cartella `bin` che sta dentro: `C:\Users\\Documents\mingw64\bin`. È lì che si trova `gcc.exe`. Il passo 3, nelle slide 31–33: 1. apri le **Impostazioni di sistema**; 2. vai su **Sistema → Impostazioni avanzate di sistema** e clicca su **Variabili d'ambiente**. Si fa prima come nella figura della slide 31: scrivi «variabili» nella ricerca del menu Start e apri la voce per modificare le variabili d'ambiente del tuo account; 3. nella sezione **Variabili utente** seleziona **Path** e clicca su **Modifica**; 4. clicca su **Nuovo** e scrivi il percorso della cartella `bin` di MinGW; 5. conferma con **OK** in tutte le finestre. Perché proprio il PATH? Per la sezione «La riga di comando»: quando scrivi `gcc`, il terminale lo cerca solo nelle cartelle del PATH. Se la cartella `bin` non c'è, ricevi «not recognized as an internal or external command». > [!TRAPPOLA] Il terminale vecchio non vede il PATH nuovo > Un terminale legge il PATH quando si apre. Dopo aver cambiato il PATH, chiudi il Prompt dei comandi e aprine uno nuovo. ### Controllare che funzioni (slide 34) Apri un Prompt dei comandi nuovo e scrivi `where gcc`. Il comando `where` cerca un programma nelle cartelle del PATH e stampa dove l'ha trovato. Se va bene, esce il percorso di `gcc.exe`: ```text C:\Users\jon_snow>where gcc C:\MinGW\bin\gcc.exe ``` Il percorso dipende da dove hai estratto l'archivio. Se va male, esce un messaggio. È questo nella slide, su un Windows in italiano: ```text C:\Users\jon_snow>where gcc INFORMAZIONI: Impossibile trovare i file corrispondenti ai criteri di ricerca indicati. ``` In inglese il messaggio è `INFO: Could not find files for the given pattern(s).` Allora ricontrolla il passo del PATH. L'altro controllo è `gcc --version`, con **due trattini** attaccati. Stampa la versione. Sul mio PC: ```text C:\Users\jon_snow>gcc --version gcc (MinGW-W64 x86_64-ucrt-posix-seh, built by Brecht Sanders, r4) 16.1.0 Copyright (C) 2026 Free Software Foundation, Inc. ``` La prima riga cambia con la versione installata. Su Linux e macOS il controllo è lo stesso, `gcc --version`; al posto di `where` si usa `which gcc`. > [!NOTA] Un refuso nella slide 34 > Nella slide 34 il comando è scritto `gcc –version`, con una lineetta sola. Il comando giusto ha due trattini normali: `gcc --version`. Se copi la lineetta lunga da un PDF, gcc non la riconosce. ### Con che cosa scrivere il codice (slide 35–36) Il codice si scrive con un **editor di testo semplice**, ma pensato per programmare: colora le parole, numera le righe, non cambia i caratteri. Il Blocco note di Windows non va bene. Su Windows le slide consigliano **Notepad++**; altri editor sono gedit, Sublime Text, Atom. In laboratorio **non** si usa un ambiente di sviluppo integrato (IDE). Se vuoi usarne uno a casa, spegni gli strumenti che completano il codice da soli, come Copilot: scriverebbero gli esercizi al posto tuo. L'obiettivo è imparare. E all'esame avrai solo un editor semplice in una pagina web. I file con il codice C hanno l'**estensione** `.c`: sono i file sorgente, cioè le unità di compilazione. I file di intestazione hanno l'estensione `.h`. Dalla [lezione 02A](02A_da_assembly_a_c.html#h-la-radiografia-del-primo-programma) conosci già `stdio.h`. > [!TRAPPOLA] Il file che si chiama `buongiorno.c.txt` > Windows nasconde le estensioni dei file «conosciuti». Così un file salvato come testo può chiamarsi davvero `buongiorno.c.txt`, mentre tu vedi `buongiorno.c`, e gcc non lo trova. Nelle opzioni di Esplora file togli la spunta da «Nascondi le estensioni per i tipi di file conosciuti», come dice la slide 36. Con `dir` vedi sempre il nome vero. ::: prova Hai installato MinGW, ma `gcc --version` risponde «'gcc' is not recognized…». Quali sono le due cause più probabili? La cartella `bin` di MinGW non è nel PATH (o hai scritto il percorso sbagliato), oppure stai usando un terminale aperto prima di cambiare il PATH. Chiudilo, aprine uno nuovo e prova con `where gcc`. ::: > [!RICORDA] > - Linux: `sudo apt install build-essential`; macOS: strumenti da riga di comando di Xcode; Windows: MinGW-w64, con la cartella `bin` nel PATH. > - Controllo: `where gcc` (Windows) o `which gcc`, e `gcc --version` con due trattini. > - Editor semplice (Notepad++), niente IDE né completamento automatico, estensioni dei file visibili. ## Da buongiorno.c al programma che gira (slide 37–46) Il primo programma del laboratorio è quasi lo stesso della [lezione 02A](02A_da_assembly_a_c.html#h-la-radiografia-del-primo-programma): stampa un saluto. Lì trovi la spiegazione riga per riga. Qui lo trasformiamo davvero in un programma. ### Scrivere il file (slide 37) Apri l'editor, scrivi il testo e salvalo con il nome `buongiorno.c`: ```c #include int main(void) { printf("Buongiorno!\n"); return 0; } ``` In breve: `#include ` porta dentro le dichiarazioni di `printf`; `main` è il punto da cui parte il programma; `printf` stampa il testo tra virgolette, e `\n` va a capo; `return 0;` dice al sistema operativo «tutto bene». ### I quattro stadi, in breve (slide 38–39) Per diventare un programma, il file passa da quattro programmi uno dopo l'altro: il **preprocessore** (`cpp`), il **compilatore** (`cc`), l'**assemblatore** (`as`) e il **collegatore**, in inglese **linker** (`ld`). Li trovi spiegati nella [lezione 02A](02A_da_assembly_a_c.html#h-dal-sorgente-all-eseguibile). Il comando `gcc` li chiama tutti al posto tuo. Nel percorso si incontrano tre tipi di file: | Tipo | Estensione | Che cosa contiene | |---|---|---| | sorgente | `.c`, `.h` | il programma in C, come testo | | oggetto | `.o` (Linux, macOS), `.obj` (Windows) | un pezzo di programma in linguaggio macchina, non ancora eseguibile | | eseguibile | nessuna (Linux, macOS), `.exe` (Windows) | il programma finito, che si può avviare | La figura della slide 39 mostra il caso con tanti sorgenti: ogni file `.c` diventa un file oggetto, poi il linker li unisce tutti in un solo eseguibile. ### Compilare in due passi: `-c` e il collegamento (slide 40–41) Primo passo: dal sorgente al file oggetto. L'opzione **`-c`** dice a gcc «fermati prima del linker». L'opzione **`-o`** (*output*) sceglie il nome del file prodotto. ```text $ gcc -c buongiorno.c -o buongiorno.o ``` Su Windows, secondo la slide 40, il file oggetto si chiama `buongiorno.obj`. Il nome lo scegli tu con `-o`: gcc di MinGW scrive comunque lo stesso tipo di file. Secondo passo: dal file oggetto all'eseguibile. È lo stesso comando `gcc`, **senza** `-c`: così gcc chiama il linker. ```text $ gcc buongiorno.o -o buongiorno ``` Su Windows: `gcc buongiorno.obj -o buongiorno.exe`. Con più file oggetto si elencano tutti: `gcc oggetto1.o oggetto2.o -o eseguibile`. ### Tutto in un passo (slide 42) Con un solo file sorgente si fanno i due passi insieme: ```text $ gcc buongiorno.c -o buongiorno ``` Su Windows: `gcc buongiorno.c -o buongiorno.exe`. È il modo che userai quasi sempre. ### Gli avvisi: `-Wall -Werror` (slide 43–44) A volte il compilatore trova un pezzo di codice corretto per le regole del C, ma sospetto: per esempio una variabile che non usi mai. Non si ferma, ma stampa un **avviso** (*warning*). - **`-Wall`** accende gli avvisi più utili (*all warnings*); - **`-Werror`** trasforma ogni avviso in errore: con un solo avviso, il programma non viene prodotto. ```text $ gcc -Wall -Werror buongiorno.c -o buongiorno ``` Su Windows: `gcc -Wall -Werror buongiorno.c -o buongiorno.exe`. Se va tutto bene gcc non stampa niente e trovi il file `buongiorno` (o `buongiorno.exe`) nella cartella. Il silenzio è una buona notizia. Ecco che cosa cambia. Questo programma dichiara una variabile `b` e non la usa mai: ```c #include int main(void) { int a = 5; int b = 7; printf("a vale %d\n", a); return 0; } ``` Senza opzioni gcc lo compila in silenzio. Con `-Wall -Werror` si ferma: ```text err_inutile.c: In function 'main': err_inutile.c:5:9: error: unused variable 'b' [-Werror=unused-variable] 5 | int b = 7; | ^ cc1.exe: all warnings being treated as errors ``` Si legge così: nel file `err_inutile.c`, riga 5, colonna 9, la variabile `b` non è usata. Tra parentesi quadre c'è il nome dell'avviso; `-Werror=` vuol dire che `-Werror` l'ha fatto diventare un errore. Per leggere bene questi messaggi guarda anche la [lezione 02A](02A_da_assembly_a_c.html#h-errori-di-compilazione-a-runtime-e-logici). > [!ESAME] Le opzioni dell'esame > La slide 43 lo dice chiaro: in sede d'esame si usa `-Wall -Werror`. Un programma con un solo avviso non compila e non passa nessun test. Compila sempre così, anche a casa. ### Eseguire il programma (slide 45) Il programma è un file nella cartella di lavoro. Per avviarlo si scrive il suo nome. Su Windows basta il nome: ```text C:\Users\jon_snow>buongiorno Buongiorno! ``` Su Linux e macOS serve `./` davanti, cioè «il file che sta qui»: ```text $ ./buongiorno Buongiorno! ``` Perché il `./`? Per la sezione «La riga di comando»: un nome senza percorso viene cercato solo nelle cartelle del PATH, e la cartella di lavoro su Linux non c'è. Scrivere `./` dà un percorso relativo, e allora la shell non cerca più. ```text $ buongiorno buongiorno: command not found ``` > [!OLTRE] · PowerShell > Su Windows c'è anche un altro terminale, PowerShell, quello che si apre di solito nelle versioni recenti. Lì il programma si avvia come su Linux, `.\buongiorno`. Con il nome soltanto risponde `The term 'buongiorno' is not recognized as the name of a cmdlet…`. ### Guardare il linguaggio macchina: il disassemblatore (slide 46) Un **disassemblatore** fa il viaggio al contrario: prende il programma compilato e mostra le sue istruzioni macchina scritte in assembly. Non torna al C: quello è perso. | Sistema | Comando | |---|---| | Linux | `objdump -d eseguibile` | | macOS | `otool -tv eseguibile` | | Windows | `objdump -d eseguibile.exe` | Sul mio PC `objdump -d buongiorno.exe` stampa 2808 righe: c'è anche tutto il codice che il linker ha aggiunto per avviare il programma. La funzione `main` comincia così: ```text 0000000140001760
: 140001760: 55 push %rbp 140001761: 48 89 e5 mov %rsp,%rbp 140001764: 48 83 ec 20 sub $0x20,%rsp 140001768: e8 da 00 00 00 call 140001847 <__main> 14000176d: 48 8d 05 dc 38 00 00 lea 0x38dc(%rip),%rax 140001774: 48 89 c1 mov %rax,%rcx 140001777: e8 ec 1a 00 00 call 140003268 14000177c: b8 00 00 00 00 mov $0x0,%eax ``` A sinistra l'indirizzo in memoria, poi i byte dell'istruzione in esadecimale, poi l'istruzione in assembly. È il linguaggio macchina della [lezione 02A](02A_da_assembly_a_c.html#h-linguaggio-macchina-e-assembly), per un processore vero. Curiosità: gcc ha sostituito `printf` con `puts`, una funzione più veloce che stampa una riga e va a capo. Può farlo perché la stringa, cioè il testo tra virgolette, finiva con `\n` e non aveva niente da riempire. ::: prova Che differenza c'è tra `gcc -c prova.c -o prova.o` e `gcc prova.c -o prova`? Il primo si ferma al file oggetto `prova.o`, che non si può eseguire. Il secondo fa anche il collegamento e produce il programma eseguibile `prova`. ::: ::: prova Hai compilato `ciao.c` su Linux con `gcc -Wall -Werror ciao.c -o ciao`. Come lo avvii? Con `./ciao`. Scrivendo solo `ciao` la shell lo cerca nel PATH e risponde `ciao: command not found`. ::: > [!RICORDA] > - Il comando di ogni giorno: `gcc -Wall -Werror sorgente.c -o eseguibile` (su Windows `eseguibile.exe`). Silenzio vuol dire «compilato». > - `-c` si ferma al file oggetto; `-o` sceglie il nome; `-Wall -Werror` ferma tutto anche per un solo avviso, come all'esame. > - Si esegue con `./nome` su Linux e macOS, con `nome` nel Prompt dei comandi di Windows. ## Leggere un numero con scanf (slide 48–49) Finora i programmi parlano soltanto: stampano sempre la stessa frase. Un programma utile deve anche ascoltare. Per esempio: «dimmi un numero e ti scrivo la sua tabellina». Per questo serve leggere dalla tastiera. ### Il programma della slide 48 ```c #include int main(void) { int number; printf("Scrivi un numero intero: "); // leggi il numero inserito scanf("%d", &number); // mostra il numero a video printf("Hai scritto: %d\n", number); return 0; } ``` Lo compili, lo avvii e scrivi 7, poi premi Invio. Sul terminale vedi: ```text $ ./scrivi_intero Scrivi un numero intero: 7 Hai scritto: 7 ``` Il primo 7 l'hai scritto tu, il secondo lo stampa il programma. Vediamo le righe nuove, una alla volta. **`int number;`** prepara una **variabile**: una casella della memoria con un nome, qui `number`, in cui si può mettere un numero. `int` dice il tipo: un numero intero, senza virgola. Le variabili sono l'argomento della teoria di questa settimana: per ora basta l'idea della casella con un nome. **`printf("Scrivi un numero intero: ");`** stampa la domanda. Nota che non c'è `\n`: il cursore resta sulla stessa riga, e il numero che scrivi compare subito dopo i due punti. **`scanf("%d", &number);`** aspetta che tu scriva qualcosa e prema Invio. Poi legge un numero intero e lo mette nella casella `number`. Due pezzi nuovi: - `"%d"` dice che cosa leggere: `%d` vuol dire «un numero intero scritto in base 10» (la `d` sta per *decimale*); - `&number` dice **dove** mettere il numero. Il segno `&` (si legge «e commerciale») davanti al nome vuol dire «l'indirizzo della casella `number`». Ricordi la memoria della [lezione 01B](01B_architettura.html), fatta di celle numerate? `scanf` ha bisogno del numero della cella, non di quello che c'è dentro. **`printf("Hai scritto: %d\n", number);`** stampa il testo, ma al posto di `%d` mette il valore di `number`. Il `%d` è un **segnaposto**: un buco nel testo, riempito dal valore scritto dopo la virgola. > [!IDEA] > `printf` e `scanf` usano lo stesso codice `%d` per «numero intero». `printf` riceve il **valore** da stampare, `number`. `scanf` riceve l'**indirizzo** dove scrivere, `&number`. ### Provare senza scrivere a mano: la pipe Per provare un programma che legge dalla tastiera puoi scrivere il numero a mano ogni volta. Oppure puoi farglielo arrivare da un altro comando, con la **barra verticale** `|`, che si chiama **pipe** (tubo). Il comando a sinistra stampa, e quello che stampa entra nel programma a destra come se l'avessi scritto tu. ```text $ echo 7 | ./scrivi_intero Scrivi un numero intero: Hai scritto: 7 ``` `echo 7` stampa 7, la pipe lo passa a `scrivi_intero`, che lo legge con `scanf`. Questa volta il 7 non si vede dopo la domanda: nessuno l'ha scritto sul terminale. Nel Prompt dei comandi di Windows si scrive `echo 7| scrivi_intero`, con lo stesso risultato. È più o meno quello che fa CodeRunner all'esame: dà al tuo programma dei dati già pronti e confronta le stampe. ### La tabellina: slide 49 ```c #include int main(void) { int n; printf("Scrivi un numero intero: "); scanf("%d", &n); // stampa i primi 10 multipli di n for (int i = 1; i <= 10; ++i) { printf("%d * %d = %d \n", n, i, n * i); } return 0; } ``` Le prime righe le conosci: una casella `n`, la domanda, la lettura. Poi c'è una cosa nuova, `for`: è un **ciclo**, cioè un blocco di istruzioni ripetuto più volte. Lo vedrai a teoria tra un paio di settimane; per leggerlo oggi basta questo: - `int i = 1` crea un contatore `i` che parte da 1; - `i <= 10` è la condizione: si ripete finché `i` è al massimo 10; - `++i` aumenta `i` di 1 dopo ogni giro; - il blocco tra graffe viene eseguito una volta per ogni valore di `i`: 1, 2, 3, fino a 10. È la stessa idea del contatore della [lezione 01A](01A_primo_algoritmo.html), con il controllo prima di ogni giro. Dentro il ciclo, `printf` ha **tre** segnaposto e tre valori dopo la virgola, nello stesso ordine: il primo `%d` diventa `n`, il secondo `i`, il terzo `n * i`, cioè `n` per `i`. L'asterisco `*` in C è il segno della moltiplicazione. Con 7: ```text $ echo 7 | ./tabella_moltiplicazioni Scrivi un numero intero: 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 7 * 8 = 56 7 * 9 = 63 7 * 10 = 70 ``` La prima riga della tabellina sta dopo la domanda perché, con la pipe, il 7 e l'Invio non si vedono. Scrivendo il numero a mano, `7 * 1 = 7` va sulla riga dopo. Nota anche lo spazio prima del `\n` nella stringa: ogni riga finisce con uno spazio invisibile. A CodeRunner uno spazio in più o in meno basta per non passare un test. ### Gli errori tipici con scanf **Dimenticare la `&`.** È l'errore più comune. Senza `&`, `scanf` riceve il contenuto della casella invece del suo indirizzo. Con `-Wall -Werror` gcc 16.1 se ne accorge: ```text err_e.c:6:13: error: format '%d' expects argument of type 'int *', but argument 2 has type 'int' [-Werror=format=] 6 | scanf("%d", n); | ~^ ~ | | | | | int | int * err_e.c:6:5: error: 'n' is used uninitialized [-Werror=uninitialized] ``` Si legge: il `%d` vuole un `int *` (l'indirizzo di un intero, il tipo dei puntatori che vedrai a teoria), ma riceve un `int`. Il secondo errore dice che `n` viene usata quando dentro non c'è ancora niente. **Senza `-Wall`, lo stesso programma compila in silenzio**, e quando lo esegui `scanf` scrive in un punto a caso della memoria: di solito il programma si blocca. È il motivo migliore per usare sempre `-Wall -Werror`. **Un `%d` senza il suo valore.** Ogni segnaposto vuole un valore dopo la virgola: ```text err_formato.c:6:19: error: format '%d' expects a matching 'int' argument [-Werror=format=] 6 | printf("%d e %d\n", x); | ~^ ``` **Scrivere lettere invece di un numero.** Se al programma arriva `ciao`, `scanf` non trova un numero e non scrive niente nella casella. La casella contiene quello che c'era prima in memoria: un numero a caso. Con `ciao`, a me ha stampato `Hai scritto: 32758`. Per ora i programmi del corso si provano solo con numeri. > [!OLTRE] · come sapere se scanf ha letto > `scanf` restituisce quanti valori è riuscito a leggere: 1 se ha letto il numero, 0 se ha trovato lettere. Si può controllare con un `if`, che arriverà a teoria tra qualche settimana. ::: prova Che cosa stampa `printf("%d + %d = %d\n", 2, 3, 2 + 3);`? Ogni `%d` viene sostituito, in ordine, da un valore: `2 + 3 = 5`, poi si va a capo. ::: ::: prova Perché in `scanf("%d", &n);` serve la `&`, mentre in `printf("%d", n);` no? `scanf` deve scrivere nella casella, quindi le serve il suo indirizzo, `&n`. `printf` deve solo leggere il valore, quindi le basta `n`. ::: > [!RICORDA] > - `scanf("%d", &n);` legge un intero e lo mette nella variabile `n`: la `&` dà l'indirizzo della casella. > - In `printf` ogni `%d` è un segnaposto, riempito in ordine dai valori dopo la virgola. > - Per provare un programma che legge: `echo 7 | ./programma`. Senza `&` gcc con `-Wall -Werror` si ferma; senza `-Wall` no. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `>` alla fine del prompt | «maggiore» | Windows aspetta un comando; prima c'è la cartella di lavoro | `C:\Users\jon_snow>` | | `$` alla fine del prompt | «dollaro» | la shell di Linux aspetta un comando | `jon_snow@linux:~$` | | `~` | «tilde» | la tua cartella personale, su Linux e macOS | `~` è `/home/jon_snow` | | `/` | «barra» | separatore nei percorsi di Linux e macOS; da sola è la radice | `/home/jon_snow/Documenti` | | `\` | «barra rovesciata», *backslash* | separatore nei percorsi di Windows | `C:\Users\jon_snow` | | `C:` | «ci due punti» | un disco di Windows | `C:\Users` | | `.` | «punto» | la cartella di lavoro | `copy pippo.jpg .` | | `..` | «punto punto» | la cartella che contiene quella di lavoro | `cd ..` | | `./` | «punto barra» | «il file che sta qui»: serve per avviare un programma su Linux e macOS | `./buongiorno` | | `-a`, `/t` | «trattino a», «barra ti» | un'opzione del comando: con il trattino su Linux, con la barra su Windows | `ls -a`, `date /t` | | `$PATH`, `%PATH%` | «dollaro path», «percento path percento» | il valore della variabile PATH | `echo $PATH` | | `-Wall -Werror` | «meno doppiavù all, meno doppiavù error» | tutti gli avvisi, e ogni avviso diventa un errore | `gcc -Wall -Werror a.c -o a` | | `-c`, `-o` | «meno ci», «meno o» | fermati al file oggetto; dai questo nome al risultato | `gcc -c a.c -o a.o` | | `%d` | «percento di» | un numero intero in base 10, in `printf` e `scanf` | `printf("%d", 7)` | | `&n` | «e commerciale enne» | l'indirizzo della variabile `n` | `scanf("%d", &n)` | | `\n` | «barra rovesciata enne» | vai a capo | `printf("ciao\n")` | ## Verso l'esame L'esame di Programmazione I si fa al PC, nei laboratori Turing, Dijkstra e Von Neumann, ed è unico per i tre canali. Appelli 2026/27: **lunedì 25/01/2027** e **giovedì 11/02/2027**, alle 9:00. Scrivi codice C in una pagina web con un editor semplice; CodeRunner lo compila con `-Wall -Werror`, lo esegue con vari dati e confronta le stampe. Secondo il riepilogo d'esame 2025/26 del canale C il codice viene anche letto: passare i test serve, ma non basta. **Che cosa serve di questo laboratorio** 1. **Compilare con `-Wall -Werror` e leggere i messaggi di gcc.** All'esame un programma che non compila non passa nessun test. Riconosci al volo `expected ';'`, `unused variable`, `undeclared`, e gli errori di formato di `printf` e `scanf`. 2. **Stampe esatte.** CodeRunner confronta il testo carattere per carattere: spazi, a capo, maiuscole. Copia il formato delle `printf` dal testo dell'esercizio. 3. **Leggere con `scanf`**, con la `&`. 4. **Scrivere senza aiuti.** Niente IDE, niente completamento automatico, niente Copilot: allenati con Notepad++ o un editor simile. 5. **Il terminale** all'esame quasi non serve, perché CodeRunner compila per te. Serve per tutto il resto del corso: laboratori, esercizi a casa, e i corsi degli anni dopo. > [!ESAME] Le regole degli esercizi d'esame > Dal riepilogo d'esame 2025/26 e dai laboratori, le regole da rispettare negli esercizi di programmazione sono: > - compilazione con `-Wall -Werror`; > - nelle funzioni iterative una sola `return`; > - vietati `break`, `switch`/`case` e `static`; > - nelle funzioni ricorsive vietati i cicli (`for` e `while`). > > Funzioni, `return`, cicli e ricorsione arriveranno nelle prossime settimane: per ora ricorda solo che queste regole esistono, e non prendere l'abitudine di usare `break` e `switch`. **Errori da evitare in laboratorio** - Uscire senza salvare i file: vengono cancellati. - Salvare `buongiorno.c.txt` invece di `buongiorno.c`. - Compilare senza `-Wall -Werror`, e scoprire gli errori solo all'esame. - Dimenticare la `&` in `scanf`. - Avviare il programma su Linux senza `./`. - Mettere spazi nei nomi dei file. ## Quiz ```quiz D: Sei su Linux nella cartella `/home/jon_snow/Documenti`. Quale comando stampa il nome della cartella di lavoro? + `pwd` - `cd ..` - `ls` - `dir` - `echo $PATH` = La domanda chiede di stampare dove ti trovi. Su Linux e macOS lo fa `pwd`, *print working directory*. `cd ..` non stampa niente: ti porta nella cartella sopra. `ls` elenca i file contenuti, non il nome della cartella. `dir` è il comando di Windows per elencare i file. `echo $PATH` stampa le cartelle in cui si cercano i programmi, che è un'altra cosa. D: La cartella di lavoro è `C:\Users\jon_snow`. Quale comando cancella lo stesso file di `del C:\Users\jon_snow\Documenti\cosedafare.txt`? - `del \Documenti\cosedafare.txt` + `del Documenti\cosedafare.txt` - `del ..\Documenti\cosedafare.txt` - `del cosedafare.txt` - `del Users\jon_snow\Documenti\cosedafare.txt` = Un percorso relativo parte dalla cartella di lavoro: si toglie la parte iniziale uguale, C:\Users\jon_snow, e resta Documenti\cosedafare.txt. Con la barra rovesciata davanti il percorso parte dalla radice del disco e cerca C:\Documenti. Con `..` si sale prima in C:\Users. `del cosedafare.txt` cerca il file in C:\Users\jon_snow, dove non c'è. L'ultimo cerca una cartella Users dentro jon_snow. D: Sei in `C:\Users\jon_snow\Documenti`. In quale cartella arriva il percorso `..\..`? - `C:\Users\jon_snow\Documenti` - `C:\Users\jon_snow` + `C:\Users` - `C:\` - `C:\Users\jon_snow\Documenti\..\..` = Ogni `..` sale di un gradino nell'albero. Il primo porta da Documenti a jon_snow, il secondo da jon_snow a Users. Con un solo `..` saresti in jon_snow; per arrivare alla radice C:\ ne servono tre. L'ultima risposta è il percorso scritto per intero, non la cartella in cui arriva. D: Su Linux scrivi `rmdir PROVA`, e `PROVA` contiene un file. Che cosa succede? - PROVA viene cancellata con il file dentro. - PROVA va nel cestino. + Il comando si rifiuta: rmdir cancella solo cartelle vuote. - Viene cancellato il file e PROVA resta. - La shell risponde command not found. = `rmdir` cancella una cartella solo se è vuota. Qui risponde `rmdir: failed to remove 'PROVA': Directory not empty` e non tocca niente. Per cancellare una cartella piena su Linux serve `rm -r`. Il terminale non usa il cestino. `command not found` esce solo se il nome del comando è sbagliato, e `rmdir` esiste. D: Su Windows hai estratto MinGW e aggiunto al PATH la cartella bin. In un Prompt dei comandi aperto prima, `gcc --version` risponde `'gcc' is not recognized`. Qual è la cosa più probabile? - Il codice C ha un errore di sintassi. - Bisogna scrivere gcc –version con una lineetta sola. + Il terminale è stato aperto prima della modifica e non vede il PATH nuovo. - gcc funziona solo su Linux. - Manca l'opzione -Wall. = Ogni terminale legge il PATH quando si apre: quello aperto prima non sa della cartella nuova. Si chiude e se ne apre un altro. Qui non c'è nessun programma C, quindi niente errori di sintassi. La lineetta sola è un refuso della slide 34: il comando giusto ha due trattini. gcc esiste anche per Windows, è proprio MinGW. `-Wall` riguarda la compilazione, non la ricerca del programma. D: Che cosa produce `gcc -c somma.c -o somma.o`? - Un programma eseguibile di nome somma.o. + Un file oggetto in linguaggio macchina, che da solo non si può eseguire. - Un file di testo con il codice assembly. - Un nuovo file sorgente con gli #include già espansi. - Niente: -c serve solo a controllare la sintassi. = L'opzione `-c` fa fare a gcc preprocessore, compilatore e assemblatore, e lo ferma prima del linker. Il risultato è un file oggetto: linguaggio macchina, ma non ancora un programma completo. Per l'eseguibile serve il passo di collegamento, `gcc somma.o -o somma`. Il file con l'assembly si chiede con un'altra opzione, `-S`. Il sorgente con gli `#include` espansi lo dà solo il preprocessore, con `-E`. D: Un programma dichiara `int b = 7;` e non usa mai `b`. Compilato con `gcc -Wall -Werror`, che cosa succede? - Compila e stampa un avviso. - Compila in silenzio. + Non compila: unused variable 'b', trattato come errore. - Compila, ma si blocca quando lo esegui. - Compila e b viene tolta da sola. = Una variabile mai usata non viola le regole del C, quindi senza opzioni gcc compila. `-Wall` accende l'avviso `unused variable` e `-Werror` lo trasforma in errore: il programma non viene prodotto. «Compila con un avviso» succede con `-Wall` senza `-Werror`. Il programma non arriva nemmeno a essere eseguito. D: Su Linux il programma `ciao` è nella cartella di lavoro. Come lo avvii? - `ciao` - `run ciao` + `./ciao` - `.\ciao.exe` - `gcc ciao` = Un nome senza percorso viene cercato nelle cartelle del PATH, e la cartella di lavoro su Linux non c'è: `ciao` da solo dà `command not found`. `./ciao` è un percorso relativo, «il file ciao che sta qui». `run` non è un comando. La barra rovesciata e `.exe` sono di Windows. `gcc ciao` proverebbe a compilare un file di nome ciao. D: Che cosa stampa `echo 7 | ./scrivi_intero`, con il programma della slide 48? - `Scrivi un numero intero: 7`, poi a capo `Hai scritto: 7` + `Scrivi un numero intero: Hai scritto: 7` - `Hai scritto: 7` - `7` - Il programma resta fermo ad aspettare il numero. = Il programma stampa la domanda senza andare a capo. Il 7 arriva dalla pipe, non dalla tastiera, quindi non viene scritto sul terminale e `Hai scritto: 7` segue la domanda sulla stessa riga. La prima risposta è quello che vedi scrivendo 7 a mano. La domanda viene stampata comunque, prima della lettura. Il programma non aspetta, perché il numero è già arrivato. D: Quale riga legge correttamente un intero nella variabile `n`? - `scanf("%d", n);` + `scanf("%d", &n);` - `scanf(&n);` - `printf("%d", &n);` - `scanf("n");` = `scanf` vuole il formato, `"%d"`, e l'indirizzo della casella in cui scrivere, `&n`. Senza `&` gcc con `-Wall -Werror` dà `format '%d' expects argument of type 'int *'`. Senza formato `scanf` non sa che cosa leggere. `printf` stampa, non legge. `"n"` è solo un testo. ``` ## Esercizi ::: esercizio base Slide 23: i comandi in fila, su Windows Con la riga di comando di Windows: (1) vai in `C:\Users\nome_utente\Documents`; (2) crea la cartella `PROVA` e dentro un file vuoto `importante.txt`; (3) rinominalo in `rilevante.txt`; (4) fanne una copia, una volta con il percorso assoluto e una con quello relativo; (5) cancella la copia; (6) torna nella cartella che contiene `PROVA`; (7) apri `rilevante.txt` con Notepad++; (8) passa a un altro disco, se c'è; (9) rientra in `PROVA`. ::: soluzione Ho usato `jon_snow` come nome utente: al suo posto metti il tuo. Le risposte sono quelle vere del Prompt dei comandi. 1. Vai nella cartella Documents: ```text C:\>cd C:\Users\jon_snow\Documents ``` 2. Crea la cartella, entraci e crea il file vuoto: ```text C:\Users\jon_snow\Documents>mkdir PROVA C:\Users\jon_snow\Documents>cd PROVA C:\Users\jon_snow\Documents\PROVA>copy NUL importante.txt 1 file(s) copied. ``` 3. Cambia il nome: ```text C:\Users\jon_snow\Documents\PROVA>ren importante.txt rilevante.txt ``` 4. Copia con il percorso assoluto, poi con quello relativo: ```text C:\Users\jon_snow\Documents\PROVA>copy C:\Users\jon_snow\Documents\PROVA\rilevante.txt C:\Users\jon_snow\Documents\PROVA\copia.txt 1 file(s) copied. C:\Users\jon_snow\Documents\PROVA>copy rilevante.txt copia2.txt 1 file(s) copied. ``` 5. Cancella le copie e controlla: ```text C:\Users\jon_snow\Documents\PROVA>del copia.txt C:\Users\jon_snow\Documents\PROVA>del copia2.txt C:\Users\jon_snow\Documents\PROVA>dir /b rilevante.txt ``` 6. Sali di un gradino: ```text C:\Users\jon_snow\Documents\PROVA>cd .. C:\Users\jon_snow\Documents> ``` 7. Apri il file con Notepad++, usando un percorso relativo che passa da `PROVA`: ```text C:\Users\jon_snow\Documents>start notepad++ PROVA\rilevante.txt ``` 8. Se c'è un disco `Z:`, ci passi scrivendo `Z:`; per tornare scrivi `C:`. Al laboratorio Turing c'è solo `C:`. 9. Rientra in `PROVA`: ```text C:\Users\jon_snow\Documents>cd PROVA C:\Users\jon_snow\Documents\PROVA> ``` Controllo: alla fine `dir /b` dentro `PROVA` deve mostrare solo `rilevante.txt`. ::: ::: esercizio base Slide 23: gli stessi comandi su Linux o macOS Rifai l'esercizio precedente con la shell di Linux o macOS, nella cartella `Documenti` della tua cartella personale (salta il punto 8, che vale solo per Windows). ::: soluzione Le risposte sono quelle vere di Ubuntu. Dove un comando non stampa niente, non c'è riga di risposta. ```text $ cd ~/Documenti $ mkdir PROVA $ cd PROVA $ touch importante.txt $ mv importante.txt rilevante.txt $ cp /home/jon_snow/Documenti/PROVA/rilevante.txt /home/jon_snow/Documenti/PROVA/copia.txt $ cp rilevante.txt copia2.txt $ ls copia.txt copia2.txt rilevante.txt $ rm copia.txt copia2.txt $ ls rilevante.txt $ cd .. $ pwd /home/jon_snow/Documenti $ xdg-open PROVA/rilevante.txt $ cd PROVA ``` Punto per punto: `cd ~/Documenti` porta nella cartella `Documenti` della tua cartella personale (su macOS usa `open` al posto di `xdg-open`). `touch` crea il file vuoto. `mv` cambia il nome. Le due `cp` usano il percorso assoluto e quello relativo. `rm` cancella le copie. `cd ..` risale. `xdg-open` apre il file con l'editor. Il punto 8 non serve: su Linux e macOS c'è un solo albero, e gli altri dischi compaiono come cartelle. ::: ::: esercizio base Dove sono finito? Su Linux parti da `/home/jon_snow` e dai, uno dopo l'altro, `cd Documenti`, `cd PROVA`, `cd ../..`, `cd Documenti/../Documenti`. Che cosa stampa `pwd` dopo ogni comando? (Supponi che le cartelle esistano.) ::: soluzione 1. `cd Documenti`: `/home/jon_snow/Documenti`. 2. `cd PROVA`: `/home/jon_snow/Documenti/PROVA`. 3. `cd ../..`: due gradini su, `/home/jon_snow`. 4. `cd Documenti/../Documenti`: entri in `Documenti`, risali con `..`, rientri in `Documenti`. Risultato: `/home/jon_snow/Documenti`. Controllo: l'ultimo percorso è un giro inutile, ma è corretto. ::: ::: esercizio base Slide 50: due righe con due printf Scrivi un programma che stampa due righe usando due chiamate a `printf`. ::: soluzione ```c #include int main(void) { printf("Prima riga\n"); printf("Seconda riga\n"); return 0; } ``` Compilato con `gcc -Wall -Werror due_righe_a.c -o due_righe_a` ed eseguito: ```text Prima riga Seconda riga ``` Ogni `printf` finisce con `\n`, così la riga dopo comincia a capo. Senza il primo `\n` uscirebbe `Prima rigaSeconda riga`. ::: ::: esercizio base Slide 50: due righe con una sola printf Scrivi un programma che stampa le stesse due righe con una sola chiamata a `printf`. ::: soluzione ```c #include int main(void) { printf("Prima riga\nSeconda riga\n"); return 0; } ``` Uscita, con `gcc -Wall -Werror`: ```text Prima riga Seconda riga ``` Il `\n` in mezzo alla stringa va a capo proprio lì. In alternativa, come nella [lezione 02A](02A_da_assembly_a_c.html#h-sintassi-identificatori-e-indentazione), si può spezzare la stringa su due righe del codice: `printf("Prima riga\n" "Seconda riga\n");` è sempre una sola chiamata. ::: ::: esercizio base Slide 50: chiedi due numeri e stampali Scrivi un programma che chiede due numeri interi, uno alla volta, e poi li stampa. ::: soluzione ```c #include int main(void) { int a; int b; printf("Scrivi il primo numero: "); scanf("%d", &a); printf("Scrivi il secondo numero: "); scanf("%d", &b); printf("Hai scritto %d e %d\n", a, b); return 0; } ``` Servono due caselle, `a` e `b`, e due `scanf`, ognuna con la sua `&`. Nella `printf` finale i due `%d` vengono riempiti in ordine: il primo con `a`, il secondo con `b`. Prova con la pipe, compilato con `gcc -Wall -Werror`: ```text $ echo 3 4 | ./due_numeri Scrivi il primo numero: Scrivi il secondo numero: Hai scritto 3 e 4 ``` `scanf("%d", …)` salta gli spazi e gli a capo prima del numero: per questo i due numeri possono arrivare sulla stessa riga, separati da uno spazio. ::: ::: esercizio base Slide 50: la somma di due numeri Scrivi un programma che legge due interi e stampa la loro somma. ::: soluzione ```c #include int main(void) { int a; int b; printf("Scrivi il primo numero: "); scanf("%d", &a); printf("Scrivi il secondo numero: "); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a + b); return 0; } ``` Il terzo valore della `printf` è un'espressione, `a + b`: il C la calcola e stampa il risultato. Prove con `gcc -Wall -Werror`: ```text $ printf '3\n4\n' | ./somma Scrivi il primo numero: Scrivi il secondo numero: 3 + 4 = 7 $ echo -5 12 | ./somma Scrivi il primo numero: Scrivi il secondo numero: -5 + 12 = 7 ``` Controllo: $3 + 4 = 7$ e $-5 + 12 = 7$. Anche i numeri negativi vanno bene con `%d`. ::: ::: esercizio base Slide 50: il prodotto di tre numeri Dichiara tre variabili intere `x`, `y` e `z`, con valori 5, 8 e 11, e stampa il loro prodotto con `printf`. ::: soluzione ```c #include int main(void) { int x = 5; int y = 8; int z = 11; printf("%d * %d * %d = %d\n", x, y, z, x * y * z); return 0; } ``` `int x = 5;` crea la casella e ci mette subito il valore 5. Una variabile con un valore di partenza si chiama **inizializzata**. Uscita, con `gcc -Wall -Werror`: ```text 5 * 8 * 11 = 440 ``` Controllo: $5 \cdot 8 = 40$ e $40 \cdot 11 = 440$. ::: ::: esercizio medio Slide 50: leggere gli errori di compilazione Questo programma dovrebbe leggere due numeri e stamparne la somma. Compilalo con `gcc -Wall -Werror`, leggi i messaggi e correggilo. ```c #include int main(void) { int a; int b; printf("Scrivi due numeri: "); scanf("%d", &a); scanf("%d", b); printf("La somma e' %d\n", a + b) return 0; } ``` ::: soluzione gcc 16.1 risponde così: ```text err_tanti.c:8:13: error: format '%d' expects argument of type 'int *', but argument 2 has type 'int' [-Werror=format=] err_tanti.c:9:38: error: expected ';' before 'return' 9 | printf("La somma e' %d\n", a + b) | ^ | ; 10 | return 0; cc1.exe: all warnings being treated as errors ``` 1. Riga 8, colonna 13: il `%d` vuole un indirizzo (`int *`) e riceve un `int`. Manca la `&`: si scrive `scanf("%d", &b);`. 2. Riga 9, colonna 38: manca il `;` alla fine della `printf`. gcc se ne accorge quando trova `return` e indica pure dove metterlo. Se correggi solo il `;` e ricompili, compare un terzo errore che prima era nascosto: `'b' is used uninitialized`. Il compilatore non sempre trova tutti gli errori al primo giro: correggi dall'alto e ricompila. Corretto, il programma compila con `gcc -Wall -Werror`; con `echo 3 4 | ./somma2` stampa `Scrivi due numeri: La somma e' 7`. ::: ::: esercizio medio Un nome scritto male Che cosa dice gcc con `-Wall -Werror` per questo programma? Perché gli errori sono due? ```c #include int main(void) { int somma = 0; printf("La somma vale %d\n", soma); return 0; } ``` ::: soluzione ```text err_nondich.c:5:34: error: 'soma' undeclared (first use in this function); did you mean 'somma'? err_nondich.c:4:9: error: unused variable 'somma' [-Werror=unused-variable] ``` C'è un solo sbaglio, `soma` invece di `somma` alla riga 5, ma produce due messaggi. Il primo: `soma` non è mai stata dichiarata, e gcc suggerisce il nome giusto. Il secondo: per colpa del nome sbagliato, la variabile `somma` della riga 4 non viene mai usata, e con `-Werror` anche questo è un errore. Correggendo `soma` spariscono tutti e due. ::: ::: esercizio medio La graffa dimenticata Che cosa dice gcc se togli la `}` finale da `buongiorno.c`? ::: soluzione ```text err_graffa.c:5:5: error: expected declaration or statement at end of input 5 | return 0; | ^~~~~~ ``` «Fine dell'input» vuol dire fine del file: gcc è arrivato in fondo mentre il blocco di `main` era ancora aperto. Il messaggio indica l'ultima istruzione, non la graffa che manca. Quando leggi «at end of input», conta le graffe aperte e chiuse. ::: ::: esercizio medio Tabellina all'esame All'esame un esercizio chiede di stampare le righe nella forma `7 x 1 = 7`, una per riga, senza spazi in fondo. Che cosa cambi nel programma della slide 49? ::: soluzione Nella `printf` dentro il ciclo il formato diventa `"%d x %d = %d\n"`: la `x` al posto di `*`, e niente spazio prima di `\n`. Con 7 la prima riga è `7 x 1 = 7`. Il programma della slide stamperebbe `7 * 1 = 7 ` con uno spazio in fondo, e CodeRunner lo considererebbe diverso: test non passato. Ho compilato la versione modificata con `gcc -Wall -Werror` e con `echo 7` la riga 10 è `7 x 10 = 70`. ::: ## Domande di ripasso ::: domanda Che cosa succede ai tuoi file quando esci da un PC del laboratorio Turing? Vengono cancellati: a ogni accesso il PC riparte da una configurazione pulita. Prima di disconnetterti devi salvarli altrove, per esempio su Google Drive o su una chiavetta. ::: ::: domanda Da quali parti è fatto un comando, e come si scrivono le opzioni? Nome, opzioni e argomenti, separati da spazi. Le opzioni cominciano con il trattino su Linux e macOS (`ls -a`), con la barra su Windows (`date /t`). ::: ::: domanda Che cos'è il PATH e perché serve per usare gcc? È una variabile d'ambiente con l'elenco delle cartelle in cui il terminale cerca i programmi. Se la cartella di gcc non è nel PATH, scrivendo `gcc` ricevi «command not found» o «not recognized». Su Windows va aggiunta a mano la cartella `bin` di MinGW. ::: ::: domanda Che differenza c'è tra percorso assoluto e relativo? L'assoluto parte dalla radice (`/` o `C:\`) ed è l'indirizzo completo, valido da qualunque cartella. Il relativo parte dalla cartella di lavoro ed è più corto. ::: ::: domanda Che cosa vogliono dire `.` e `..`? `.` è la cartella di lavoro, `..` la cartella che la contiene. `cd ..` sale di un gradino; `copy file .` copia nella cartella di lavoro. ::: ::: domanda Quali sono i comandi per creare, copiare, spostare e cancellare su Linux e su Windows? Linux e macOS: `mkdir`, `touch`, `cp`, `mv`, `rm`, `rmdir`. Windows: `mkdir`, `copy NUL`, `copy`, `ren` e `move`, `del`, `rmdir`. ::: ::: domanda Come installi gcc su Windows, Linux e macOS, e come controlli che funzioni? Windows: MinGW-w64, estratto in una cartella, con la sua cartella `bin` nel PATH. Linux: `sudo apt install build-essential` o `sudo dnf install gcc make`. macOS: strumenti da riga di comando di Xcode. Controllo: `where gcc` o `which gcc`, e `gcc --version`. ::: ::: domanda Che cosa fanno le opzioni `-c`, `-o`, `-Wall` e `-Werror` di gcc? `-c` produce solo il file oggetto, senza collegamento. `-o` sceglie il nome del file prodotto. `-Wall` accende gli avvisi principali. `-Werror` trasforma ogni avviso in errore. All'esame si compila con `-Wall -Werror`. ::: ::: domanda Perché su Linux un programma si avvia con `./nome`? Perché un nome da solo viene cercato nelle cartelle del PATH, e la cartella di lavoro non c'è. `./nome` è un percorso relativo che indica il file nella cartella di lavoro. ::: ::: domanda A che cosa serve un disassemblatore? Mostra il linguaggio macchina di un programma compilato, scritto in assembly: `objdump -d` su Linux e Windows, `otool -tv` su macOS. Non ricostruisce il codice C. ::: ::: domanda Che cosa fa `scanf("%d", &n);` e perché serve la `&`? Aspetta che si scriva un numero intero e lo mette nella variabile `n`. `%d` dice che cosa leggere; `&n` è l'indirizzo della casella, che serve a `scanf` per sapere dove scrivere. ::: ::: domanda Come provi un programma che legge dalla tastiera senza scrivere i numeri ogni volta? Con la pipe: `echo 7 | ./programma` su Linux, `echo 7| programma` su Windows. Quello che stampa `echo` entra nel programma come se fosse scritto dalla tastiera. ::: ## Glossario ```glossario Riga di comando (CLI) | Finestra in cui si danno ordini al computer scrivendoli, uno per riga. Si chiama anche terminale, console, shell o prompt dei comandi. Shell | Il programma che legge i comandi sulla riga di comando di Linux e macOS, per esempio bash o zsh. Prompt | La scritta che precede il cursore e dice che il terminale aspetta un comando, come C:\Users\jon_snow>. Opzione | Parte di un comando che cambia il suo modo di lavorare: -a su Linux, /t su Windows. Argomento | Il dato su cui lavora un comando, di solito un file o una cartella. Comando integrato | Comando eseguito dalla shell stessa, senza avviare un programma, come cd. PATH | Variabile d'ambiente con l'elenco delle cartelle in cui si cercano i programmi. Variabile d'ambiente | Informazione con un nome che il sistema tiene in memoria per tutti i programmi, come PATH. Cartella radice | La cartella in cima all'albero: / su Linux e macOS, il disco come C:\ su Windows. Percorso assoluto | Indirizzo completo di un file, dalla radice: /home/jon_snow/Documenti/cosedafare.txt. Percorso relativo | Indirizzo che parte dalla cartella di lavoro: Documenti/cosedafare.txt. Cartella di lavoro | La cartella in cui si trova il terminale; si cambia con cd. MinGW-w64 | Versione di gcc per Windows. Editor di testo | Programma per scrivere testo semplice, come Notepad++; il codice C si scrive con un editor. IDE | Ambiente di sviluppo integrato: editor, compilatore e strumenti in un solo programma. Non si usa in laboratorio né all'esame. File oggetto | File in linguaggio macchina prodotto da gcc -c (.o oppure .obj); non è ancora un programma. Eseguibile | Il programma finito, che si avvia: senza estensione su Linux e macOS, .exe su Windows. Avviso (warning) | Messaggio del compilatore su codice corretto ma sospetto; con -Werror diventa errore. Disassemblatore | Programma che mostra in assembly il linguaggio macchina di un eseguibile, come objdump -d. scanf | Funzione che legge dati dalla tastiera; con %d legge un intero e lo mette all'indirizzo dato con &. Segnaposto | Codice come %d dentro la stringa di printf, sostituito dal valore scritto dopo la virgola. Pipe | La barra verticale tra due comandi: quello che stampa il primo entra nel secondo come se fosse scritto dalla tastiera. CodeRunner | Il sistema di Moodle che compila il codice con -Wall -Werror, lo esegue con dati di prova e confronta le stampe. ``` ## Checklist ```checklist - So come si entra in un PC del laboratorio Turing e che i file si perdono all'uscita. - So riconoscere nome, opzioni e argomenti di un comando. - So spiegare che cos'è il PATH e che cosa vuol dire «command not found». - So distinguere percorso assoluto e relativo e usare `.` e `..`. - So usare pwd, ls, cd, mkdir, touch, cp, mv, rm, rmdir e cat su Linux o macOS. - So usare cd, dir, mkdir, copy NUL, copy, ren, move, del, rmdir e type su Windows. - So installare gcc sul mio computer e controllarlo con gcc --version. - So compilare con gcc -Wall -Werror sorgente.c -o eseguibile ed eseguire il programma. - So separare compilazione (-c) e collegamento, e che cosa mostra objdump -d. - So leggere un intero con scanf e la & e stamparlo con printf e %d. - So provare un programma con echo e la pipe. - So leggere i messaggi di gcc: riga, colonna, descrizione e nome dell'avviso. ``` ## Fonti - **Slide del laboratorio**: «Introduzione», Lezione nº 1, Programmazione I – Laboratorio, canale B, A.A. 2026/27, 50 pagine; il numero di slide è accanto a ogni titolo. - **Organizzazione**: slide 3 di questo laboratorio, slide 3 dell'introduzione di teoria del canale B, pagina Moodle del canale B (consultata il 05/10/2026); per i canali A e C le introduzioni 2026/27 e la [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). - **CodeRunner**: slide 7–10 del laboratorio Lab03 «Condizioni booleane» del 2025/26. - **Regole d'esame**: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md), dal riepilogo d'esame 2025/26 del canale C e dal Lab01 2025/26 del canale B. - **Sessioni del terminale**: ottenute il 05/10/2026 con Ubuntu (shell bash; i messaggi d'errore di `mkdir` sono quelli di GNU coreutils) e con il Prompt dei comandi di Windows 11 in inglese, in una cartella di prova. Le risposte sono vere; ho cambiato solo il nome della cartella dell'utente in `jon_snow`, come nelle slide, e tolto righe che dipendono dal mio computer. - **Programmi C**: tutti compilati con gcc 16.1 (MinGW-w64) e `-Wall -Werror`, ed eseguiti; i programmi che leggono dalla tastiera sono stati provati con i dati passati con la pipe. Messaggi d'errore e `objdump -d` sono quelli veri di gcc 16.1 e binutils 2.47. - Le spiegazioni a parole, le sessioni del terminale, i riquadri «Prova tu», i quiz, gli esercizi senza numero di slide e le parti «Oltre le slide» sono di questi appunti. --- > File: `contesto_ai/PROG1/lezioni/Lab02_operatori_tipi.md` ```yaml corso: PROG1 lezione: Lab02 titolo: "Laboratorio 02: operatori e tipi" data: 2026-10-12 docenti: Elisa Marengo (turno B2) e Valerio Basile (turno B1); teoria Elvio Amparore sopratitolo: Canale B · Laboratorio 02 · Programmazione I descrizione: >- Appunti del secondo laboratorio di Programmazione I (canale B, Lab02): divisione intera e reale, resto, overflow, ordine di valutazione delle espressioni, circonferenza e area con const, gli errori di compilazione da trovare, la media di tre numeri con le conversioni e gli arrotondamenti, la tabella dei tipi e degli specificatori, le dimensioni dei tipi e dei puntatori, la documentazione del C, il programma della spesa e gli scambi di variabili, con tutti i programmi del codice di partenza provati e gli esercizi svolti. lede: >- Il secondo laboratorio mette alla prova le lezioni 02B, 02C, 03A e 03B: si leggono programmi già scritti, si indovina che cosa stampano, si cercano gli errori e si scrivono programmi piccoli. Qui trovi ogni esercizio con la soluzione provata, e il perché di ogni risultato strano. materiale: slide scheda: Slide: Lab02 «Operatori e Tipi», laboratorio canale B · 18 pagine, con la tabella dei tipi e il codice di partenza Laboratorio: Elisa Marengo (turno B2, lun 12/10) e Valerio Basile (turno B1, mar 13/10) · 14–17 · laboratorio Turing Tempo di studio: 2–3 ore, davanti a un computer fonte: >- Slide «Operatori e Tipi» (Lezione nº 2 di laboratorio), «Tabella dei tipi e specificatori di conversione» e codice di partenza (aritmetica.c, circonferenza.c, dim_tipi.c, errori.c, media.c, scambio.c), Programmazione I – Laboratorio, canale B, A.A. 2026/27 appunti_html: appunti/PROG1/Lab02_operatori_tipi.html genera_html: true ``` ## In breve - Il laboratorio usa sei programmi già pronti, il **codice di partenza**: si leggono, si provano, si completano o si correggono. Poi si scrivono tre programmi nuovi. - **Divisione**: tra due interi `/` dà la parte intera, `%` il resto. Basta un reale per avere la divisione con la virgola: `99 / 50` fa 1, `99 / 50.0` fa 1.98. - Un `int` che supera il massimo, 2 147 483 647, **va in overflow** e ricomincia dai negativi: il compilatore non avvisa. - Le espressioni seguono le **precedenze**: `*`, `/`, `%` prima di `+` e `-`, da sinistra a destra. Le parentesi cambiano l'ordine. - `const` dichiara una **costante**: un valore che il programma non può cambiare. - Una **media** si calcola dividendo per `3.0`, non per `3`. Per arrotondare ci sono `floor`, `ceil` e `round`, mentre il cast a `int` taglia. - I numeri con la virgola sono approssimati: `8.136 * 1000` convertito in `int` dà **8135**. - Tutti i **puntatori** hanno la stessa dimensione, 8 byte su un computer a 64 bit: contengono un indirizzo, qualunque sia il tipo puntato. > [!CANALI] > **Canale B.** È il secondo laboratorio, al laboratorio Turing, dalle 14 alle 17: turno **B2** lunedì 12/10 con **Elisa Marengo**, turno **B1** martedì 13/10 con **Valerio Basile**. Gli esercizi riprendono la teoria delle lezioni [02B](02B_assegnamento_memory_model.html) (tipi, operatori, precedenze), [02C](02C_referenziamento_scanf_puntatori.html) (`scanf`, puntatori), [03A](03A_scambio_variabili.html) (scambio) e [03B](03B_floats.html) (reali e conversioni). > > **Canali A e C.** Secondo la scheda del corso i laboratori hanno la stessa sequenza nei tre canali e gli stessi esercizi su CodeRunner. Le slide 2026/27 dei canali A e C per questo laboratorio non le ho viste: controlla il giorno del tuo turno su Moodle. > > I programmi del codice di partenza li ho compilati e provati tutti con gcc 16.1 su Windows 11 a 64 bit. Dove il risultato su Linux, al laboratorio Turing, può essere diverso, lo dico. ## Aritmetica e overflow: aritmetica.c (slide 2) Il primo programma va **letto prima di eseguirlo**: per ogni `printf` prova a indovinare che cosa stampa, poi controlla. La slide dice di compilarlo con: ``` gcc -Wall aritmetica.c -o aritmetica (Linux e macOS) gcc -Wall aritmetica.c -o aritmetica.exe (Windows) ``` > [!NOTA] Senza -Werror, per una volta > Il programma dichiara tre variabili che non usa, `n1`, `p` e `t`. Con `-Wall` gcc stampa tre avvisi `unused variable`; con `-Wall -Werror` non compila. Per questo la slide usa solo `-Wall`: gli avvisi si leggono, ma il programma parte. All'esame invece vale `-Werror`, e le variabili inutili vanno tolte. ### Le divisioni ```c printf("99 / 50 = %d\n", 99 / 50); // divisione intera printf("99 %% 50 = %d\n", 99 % 50); // resto della divisione intera printf("99 / 50.0 = %f\n", 99 / 50.0); // divisione reale printf("99.0 / 50 = %f\n", 99.0 / 50); // divisione reale ``` ``` 99 / 50 = 1 99 % 50 = 49 99 / 50.0 = 1.980000 99.0 / 50 = 1.980000 ``` Due cose da notare. - `%%` dentro la stringa di `printf` stampa un solo `%`. Un `%` da solo sarebbe l'inizio di uno specificatore. - Basta **un** reale, a sinistra o a destra, per avere la divisione con la virgola: è la promozione di tipo della lezione 03B. Poi il programma prova il cast in due posti diversi, con `int m = 99` e `int n = 50`: ``` m / n, con cast su m: 1.980000 m / n, con cast sul risultato: 1.000000 ``` `(double) m / n` converte `m` prima della divisione; `(double) (m / n)` converte il risultato di una divisione già intera. È la trappola della lezione 03B. ### L'overflow ```c int max = INT_MAX; printf("INT_MAX = %d\n", max); max = max + 3; printf("dopo aver sommato 3 = %d\n", max); ``` ``` INT_MIN = -2147483648 INT_MAX = 2147483647 dopo aver sommato 3 = -2147483646 ``` `INT_MAX` e `INT_MIN` sono il massimo e il minimo di un `int`, definiti in `limits.h`. Aggiungendo 3 al massimo, il numero esce dall'intervallo e **ricomincia dai negativi**, come il contachilometri all'indietro della [lezione 03 di Fondamenti](../FDA/03_interi_con_segno_virgola_mobile.html): è l'**overflow** in complemento a 2. Il compilatore non avvisa. > [!TRAPPOLA] L'overflow degli int con il segno non è garantito > Per lo standard del C, l'overflow di un intero con il segno è un **comportamento indefinito**: il risultato −2 147 483 646 è quello che succede quasi sempre, ma il linguaggio non lo promette. Il programma va scritto in modo che l'overflow non capiti. L'ultima riga stampa l'indirizzo di `max` con `%p`: cambia a ogni esecuzione, come nella lezione 02C. ::: prova Che cosa stampano `printf("%d", 17 / 5)`, `printf("%d", 17 % 5)` e `printf("%f", 17 / 5.0)`? `3`, `2` e `3.400000`. ::: > [!RICORDA] > - Tra interi: `/` dà la parte intera, `%` il resto. Con un reale: divisione con la virgola. > - `%%` stampa un `%`. Superare `INT_MAX` è overflow. ## Operazioni su interi (slide 3) Il primo programma da scrivere da zero: `operazioni_su_interi.c`. Chiede due interi `n1` e `n2`, e stampa la somma, il prodotto, la divisione intera, la divisione reale e il resto. ```c #include int main(void) { int n1; int n2; printf("Inserisci due numeri interi: "); scanf("%d %d", &n1, &n2); int somma = n1 + n2; printf("Somma: %d\n", somma); printf("Prodotto: %d\n", n1 * n2); printf("Divisione intera: %d\n", n1 / n2); printf("Divisione reale: %f\n", (double)n1 / n2); printf("Resto: %d\n", n1 % n2); } ``` Con l'input `17 5` stampa somma 22, prodotto 85, divisione intera 3, divisione reale 3.400000 e resto 2. > [!TRAPPOLA] Con i negativi > Con `-17 5` il programma stampa divisione intera −3 e resto −2. In C la divisione intera **taglia verso lo zero**, e il resto ha il segno del primo numero. In matematica, nella lezione di Matematica Discreta, il resto è sempre positivo: lì −17 diviso 5 dà quoziente −4 e resto 3. Attenzione quando usi `%` con i negativi. Il programma non controlla `n2 = 0`: con `0` come secondo numero, la divisione intera fa fallire il programma. Lo saprai sistemare con le condizioni. ::: prova Che cosa stampa il programma con l'input `7 2`? Somma 9, prodotto 14, divisione intera 3, divisione reale 3.500000, resto 1. ::: > [!RICORDA] > - La divisione reale tra due `int` si ottiene con un cast su un operando. > - In C, con i negativi, `/` taglia verso lo zero e `%` ha il segno del primo numero. ## L'ordine di valutazione (slide 4–7) Le slide chiedono di calcolare a mano tre espressioni, prima di provarle. Si usano le precedenze della lezione 02B: prima le parentesi, poi `*`, `/` e `%` da sinistra a destra, poi `+` e `-` da sinistra a destra. | Espressione | Passi | Risultato | |---|---|---| | `7 + 3 * 6 / 2 - 1` | `3 * 6` = 18, `18 / 2` = 9, `7 + 9` = 16, `16 - 1` = 15 | **15** | | `2 % 2 + 2 * 2 - 2 / 2` | `2 % 2` = 0, `2 * 2` = 4, `2 / 2` = 1, `0 + 4 - 1` = 3 | **3** | | `(3 * 9 * (3 + (9 * 3 / (3))))` | `9 * 3 / 3` = 9, `3 + 9` = 12, `3 * 9 * 12` = 324 | **324** | Sono i risultati delle slide 5, e quelli che stampa il programma. ### Quale formula è $y = ax^3 + 7$? La slide 6 dà sei espressioni e chiede quali calcolano $ax^3 + 7$. La regola: la moltiplicazione viene prima della somma, e le parentesi intorno a una moltiplicazione non cambiano niente. | # | Espressione | Giusta? | Perché | |:-:|---|:-:|---| | 1 | `a * x * x * x + 7` | sì | le moltiplicazioni prima, poi `+ 7` | | 2 | `a * x * x * (x + 7)` | no | la parentesi fa sommare 7 a `x` prima | | 3 | `(a * x) * x * (x + 7)` | no | stesso errore della 2 | | 4 | `(a * x) * x * x + 7` | sì | la parentesi intorno a `a * x` non cambia niente | | 5 | `a * (x * x * x) + 7` | sì | come la 4 | | 6 | `a * x * (x * x + 7)` | no | il 7 entra nella moltiplicazione | Ho controllato con `a = 2` e `x = 3`: la formula vale 61. Le espressioni 1, 4 e 5 danno 61; la 2 e la 3 danno 180; la 6 dà 96. ::: prova Quanto vale `10 - 4 - 3`? E `10 - (4 - 3)`? 3, perché `-` si fa da sinistra: `10 - 4` = 6, poi `6 - 3` = 3. Con le parentesi: `4 - 3` = 1, poi `10 - 1` = 9. ::: > [!RICORDA] > - `*`, `/`, `%` prima di `+` e `-`; a parità, da sinistra a destra. > - Una parentesi intorno a una moltiplicazione non cambia niente; una intorno a una somma sì. ## Circonferenza e area: circonferenza.c (slide 8) Il programma `circonferenza.c` legge il raggio e deve stampare circonferenza e area. Le due righe di calcolo sono lasciate da completare: ricorda che la circonferenza è $2 \pi r$ e l'area è $\pi r^2$. ```c #include int main(void) { // La costante pi greco const float PI_GRECO = 3.1415926535f; // Chiediamo all'utente il raggio printf("Inserisci il raggio del cerchio: "); float r; scanf("%f", &r); // Calcolo della circonferenza e dell'area float circonferenza = 2 * PI_GRECO * r; printf("La circonferenza del cerchio e': %f\n", circonferenza); float area = PI_GRECO * r * r; printf("L'area del cerchio e': %f\n", area); } ``` Con il raggio 3 stampa `18.849556` e `28.274334`. Così com'è, il codice di partenza non compila nemmeno con `-Wall`: `circonferenza` e `area` sono usate nelle `printf` ma non dichiarate. > [!NOTA] Prova con il raggio 2 > Con il raggio 2 la circonferenza e l'area vengono **uguali**, tutte e due 12.566371. Non è un errore: $2 \cdot \pi \cdot 2$ e $\pi \cdot 2^2$ fanno tutti e due $4\pi$. Per controllare il programma usa un altro raggio. ### La domanda: che cosa vuol dire const? `const` davanti a una dichiarazione la rende una **costante**: il valore si dà all'inizio e poi non si può più cambiare. Se scrivi `PI_GRECO = 3;` più avanti, gcc si ferma con `error: assignment of read-only variable 'PI_GRECO'`. Il nome tutto maiuscolo è una convenzione per le costanti, non un obbligo. Il commento del codice ricorda che `math.h` ha già la costante **`M_PI`**. Le slide avvisano che, su Linux, usando `math.h` può servire l'opzione `-lm`. ::: prova Con il raggio 1, che cosa devono stampare circonferenza e area? La circonferenza $2\pi$, circa 6.283185, e l'area $\pi$, circa 3.141593. ::: > [!RICORDA] > - `const` fa una variabile che non si può più modificare. > - Per provare un programma, scegli dati che non diano risultati uguali per caso. ## Trovare gli errori (slide 9–11) All'esame il compilatore ti dice dove ha trovato un errore, ma non sempre perché. Qui si allena l'occhio: prima si cercano gli errori leggendo, poi si controlla con gcc. ### Il programma della slide 9 ```c #include int main() { int x, y; printf("Inserisci due interi: "); scanf("%d %d", &x, y) z = x + y; printf("La somma %d + %d vale ", x, y); printf("%d\n", &z); } ``` Gli errori sono quattro: 1. in `scanf` manca la `&` davanti a `y`: `scanf` vuole un indirizzo; 2. manca il `;` dopo la `scanf`; 3. `z` non è dichiarata; 4. l'ultima `printf` stampa `&z`, l'indirizzo, invece del valore `z`. gcc con `-Wall -Werror` ne trova subito tre: `format '%d' expects argument of type 'int *', but argument 3 has type 'int'`, `expected ';' before 'z'` e `'z' undeclared`. Il quarto lo segnala dopo aver corretto gli altri. Il programma corretto: ```c #include int main(void) { int x, y; printf("Inserisci due interi: "); scanf("%d %d", &x, &y); int z = x + y; printf("La somma %d + %d vale ", x, y); printf("%d\n", z); } ``` ### errori.c: gli otto errori La slide 11 chiede di trovare, **senza compilare**, gli 8 errori di `errori.c`. Prova da solo prima di leggere. ```c #include int main(void) { float f1, f2; printf("Inserisci due numeri reali: "); scanf("%f %d", &f1, &f2); float risultato = (f1 + f2) / 2); printf("Risultato = %f %d\n", &risultato); // Calcoliamo il quadrato // float quadrato = risultato * risultato; printf("Il quadrato e' \n", quadrato) } } ``` | # | Riga | Errore | Correzione | |:-:|---|---|---| | 1 | `scanf("%f %d", …)` | `%d` per un `float` | `%f %f` | | 2 | `(f1 + f2) / 2);` | una parentesi chiusa di troppo | `(f1 + f2) / 2;` | | 3 | `printf(…, &risultato)` | passa l'indirizzo invece del valore | `risultato` | | 4 | `"Risultato = %f %d\n"` | `%d` senza un valore da stampare | togliere `%d` | | 5 | `// float quadrato = …` | la dichiarazione è commentata: `quadrato` non esiste | togliere `//` | | 6 | `"Il quadrato e' \n"` | manca lo specificatore per `quadrato` | `%f` | | 7 | `printf(…) }` | manca il `;` dopo la `printf` | `;` | | 8 | `}` finale | una graffa chiusa di troppo | togliere una `}` | Compilando il file originale con `-Wall -Werror`, gcc 16.1 segnala gli errori 1, 2, 3, 4, 5, 7 e 8. Il 6 lo segnala solo dopo le altre correzioni, come «troppi argomenti per il formato». Il programma corretto, con 3 e 4, stampa `Risultato = 3.500000` e `Il quadrato e' 12.250000`. ::: prova Perché `printf("%d\n", &z);` è un errore anche se compila senza -Wall? Perché `&z` è l'indirizzo di `z`, non il suo valore: il programma stamperebbe un numero senza senso. Con `-Wall -Werror` gcc lo blocca, perché `%d` vuole un `int` e riceve un `int *`. ::: > [!RICORDA] > - In `scanf` serve la `&`; in `printf` no. > - Ogni specificatore vuole un valore del tipo giusto, nello stesso ordine. > - Il primo errore può nasconderne altri: correggi e ricompila. ## La media di tre numeri: media.c (slide 12) `media.c` legge tre interi `x`, `y`, `z` e calcola la media in tre modi. Con l'input 8, 2, 3, che danno somma 13: | Riga del programma | Che cosa fa | Stampa | |---|---|---| | `int media1 = (x + y + z) / 3;` | divisione intera | `4` | | `double media2 = (x + y + z) / 3;` | divisione intera, poi convertita in `double` | `4.000000` | | `double media3 = (x + y + z) / 3.0;` | divisione con la virgola | `4.333333` | Solo la terza è giusta: è la divisione che inganna della lezione 03B. ### Le tre varianti del commento Il codice chiede che cosa fanno tre modi di scrivere `media3`, e dove avviene la conversione da `int` a `double`. Con 1, 2, 5, che danno somma 8: | Variante | Tipi delle operazioni | Dove si converte | Valore | |---|---|---|---| | `(x + y + z) / 3.0` | somma `int`; divisione tra `int` e `double` | la somma diventa `double` per la divisione | 2.666667 | | `(double)(x + y + z) / 3` | somma `int`; cast; divisione tra `double` e `int` | il cast sulla somma, poi il 3 diventa `double` | 2.666667 | | `(double)((x + y + z) / 3)` | somma `int`; divisione **intera**; cast | il cast sul risultato, quando la virgola è già persa | 2.000000 | ### Arrotondare Il programma arrotonda `media3` in quattro modi. Con 1, 2, 5, cioè 2.666667: | Espressione | Che cosa fa | Risultato | |---|---|---| | `(int)media3` | taglia la parte dopo la virgola | 2 | | `(int)floor(media3)` | arrotonda per difetto | 2 | | `(int)round(media3)` | arrotonda al più vicino | 3 | | `(int)ceil(media3)` | arrotonda per eccesso | 3 | Con i numeri positivi il cast e `floor` danno lo stesso risultato. Con i negativi no: con −2.5 il cast dà −2, `floor` dà −3, `ceil` dà −2 e `round` dà −3, perché a metà strada `round` si allontana dallo zero. ### 8.136 per 1000 L'ultima parte del programma calcola `(int)(f * 1000)` con `f = 8.136`, e stampa **8135**, non 8136. Il motivo è quello della lezione 03B: 8.136 non si scrive esattamente in base 2. In memoria è un po' meno di 8.136, e `f * 1000` vale 8135.99999999999909… Il cast a `int` **taglia**, e resta 8135. Con `(int)round(f * 1000)` si ottiene 8136. ::: prova Con l'input 8, 2, 3, che cosa stampa `(int)ceil(media3)`? 5: `media3` vale 4.333333, e `ceil` arrotonda per eccesso a 5. ::: > [!RICORDA] > - Per una media con la virgola si divide per `3.0`, o si fa un cast su un operando. > - Il cast a `int` taglia; per arrotondare al più vicino serve `round`. ## La tabella dei tipi e dim_tipi.c (slide 13–15) Le slide 13 e 14, e il foglio a parte, riportano la tabella dei tipi del C con dimensione, intervallo e specificatore. La slide 14 lo dice in grande: **non serve impararla a memoria**. La versione con le spiegazioni è nella [lezione 02B](02B_assegnamento_memory_model.html). | Tipo | Uso | Byte (64 bit) | Specificatore | |---|---|:-:|---| | `char` | caratteri ASCII | 1 | `%c` | | `short` | interi | 2 | `%hd` | | `int` | interi | 4 | `%d` | | `long` | interi | 8 su Linux, 4 su Windows | `%ld` | | `long long` | interi | 8 | `%lld` | | `unsigned int` | naturali | 4 | `%u` | | `size_t` | dimensioni | 8 | `%zu` | | `float` | reali | 4 | `%f` | | `double` | reali | 8 | `%lf` in `scanf`, `%f` in `printf` | Gli `unsigned` partono da 0 e arrivano al doppio: un `unsigned char` va da 0 a 255, un `unsigned int` da 0 a 4 294 967 295. ### Che cosa stampa dim_tipi.c `dim_tipi.c` stampa la dimensione di ogni tipo con `sizeof` e il suo intervallo, con le costanti di `limits.h` e `float.h`. Sul mio PC, Windows 11 a 64 bit: ``` sizeof(long) = 4 intervallo: -2147483648, 2147483647 sizeof(long long)= 8 intervallo: -9223372036854775808, 9223372036854775807 ... sizeof(float) = 4 intervallo: 1.175494e-38, 3.402823e+38 sizeof(double)= 8 intervallo: 2.225074e-308, 1.797693e+308 ... sizeof(char*) = 8 sizeof(int*) = 8 sizeof(double*) = 8 ``` `long` vale 4 byte su Windows e 8 su Linux: la tabella lo avvisa, le dimensioni dipendono dal sistema. Al laboratorio Turing, con Linux, vedrai 8. ### La domanda: che cosa hanno di speciale i puntatori? Tutti i tipi puntatore hanno la **stessa dimensione**: 8 byte su un computer a 64 bit. Il perché è nella lezione 02C: un puntatore contiene un **indirizzo**, e tutti gli indirizzi di una macchina hanno la stessa lunghezza, qualunque cosa ci sia a quell'indirizzo. Un `char` è di 1 byte e un `double` di 8, ma i loro indirizzi sono tutti e due di 8 byte. L'ultima parte del programma usa `size_t`, il tipo senza segno restituito da `sizeof`: 100 `int` occupano `100 * sizeof(int)` = 400 byte. ::: prova Su un computer a 64 bit, quanto valgono `sizeof(char)`, `sizeof(char*)` e `sizeof(int) * 10`? 1, 8 e 40. ::: > [!RICORDA] > - La tabella dei tipi non va imparata a memoria: servono gli specificatori più usati. > - Ogni puntatore occupa 8 byte su 64 bit, qualunque sia il tipo puntato. ## La documentazione del C (slide 16) Nessuno ricorda tutte le funzioni e tutti gli specificatori: si cercano nella **documentazione**. Il riferimento più usato è **cppreference**, che ha una versione da scaricare e usare senza Internet. La slide spiega come: 1. vai su [cppreference.com/w/c](https://en.cppreference.com/w/c); 2. in fondo alla pagina, «Offline version»: scarica la versione più recente; 3. apri la pagina `html-book/reference/en/c.html`; 4. nella sezione degli header cerca `` e leggi la documentazione completa di `printf`. La slide avverte che la documentazione vera è molto più dettagliata di quello visto a lezione. Serve proprio a imparare a cercare: nella pagina di `printf` trovi, per esempio, che `%%` stampa un `%` e che `%.3f` fissa le cifre dopo la virgola. ::: prova Nella pagina di printf, quale specificatore stampa un intero in esadecimale? `%x`, con le lettere minuscole, o `%X` con le maiuscole. `printf("%x", 255)` stampa `ff`. ::: > [!RICORDA] > - cppreference è il riferimento del C, anche senza Internet. > - Per ogni funzione nuova, guarda prima la sua pagina. ## La spesa al mercato (slide 17) Il programma `mercato.c` calcola la spesa per 3 pacchi di orecchiette a 1.50 euro e 1 kg e mezzo di pomodori a 2.50 euro al kg. Le slide chiedono variabili con tipi adatti, una variabile per il totale, indentazione e commenti. ```c #include int main(void) { // prezzi unitari, in euro double prezzoOrecchiette = 1.50; // un pacco double prezzoPomodori = 2.50; // al kg // quantita' acquistate int pacchiOrecchiette = 3; double kgPomodori = 1.5; double totale = pacchiOrecchiette * prezzoOrecchiette + kgPomodori * prezzoPomodori; printf("Spesa totale: %.2f euro\n", totale); } ``` Stampa `Spesa totale: 8.25 euro`: 3 per 1.50 fa 4.50, 1.5 per 2.50 fa 3.75. Le scelte dei tipi: i pacchi si contano, quindi `int`; i chili e i prezzi hanno la virgola, quindi `double`. Il `%.2f` stampa i centesimi. ### Con le quantità da tastiera La seconda parte chiede di leggere le quantità da tastiera invece di scriverle nel codice. Servono due `scanf`, con lo specificatore giusto per ogni tipo: ```c int pacchiOrecchiette; double kgPomodori; printf("Pacchi di orecchiette: "); scanf("%d", &pacchiOrecchiette); printf("Kg di pomodori: "); scanf("%lf", &kgPomodori); ``` Con 3 pacchi e 2 kg stampa `Spesa totale: 9.50 euro`. Il `%lf` per il `double` è obbligatorio: con `%f`, `-Wall -Werror` non compila. ::: prova Se i prezzi fossero in centesimi, che tipo useresti? `int`: 150 e 250 centesimi sono interi esatti. Molti programmi che contano soldi fanno così, per evitare le approssimazioni dei reali. ::: > [!RICORDA] > - Le cose che si contano sono `int`; le misure con la virgola sono `double`. > - Leggere un `double`: `%lf`. ## Gli scambi di variabili (slide 18) L'ultimo esercizio riprende la [lezione 03A](03A_scambio_variabili.html). Prima si legge e si prova `scambio.c`, che scambia `x = 5` e `y = 8` con una variabile intermedia e stampa `x: 8, y: 5`. Poi si scrive `scambio4.c`: quattro variabili, in cui `v1` prende il valore di `v2`, `v2` di `v3`, `v3` di `v4` e `v4` di `v1`. La soluzione completa, provata, è nella lezione 03A, nell'esercizio «scambio4.c del Laboratorio 02». L'idea: una sola variabile d'appoggio, che salva `v1` prima che venga sovrascritta. ```c int temp = v1; v1 = v2; v2 = v3; v3 = v4; v4 = temp; ``` Con 10, 20, 30, 40 alla fine i valori sono 20, 30, 40, 10. ::: prova E se volessi il giro al contrario, con `v1` che prende il valore di `v4`? Si salva la variabile sovrascritta per prima, che ora è `v4`: `int temp = v4; v4 = v3; v3 = v2; v2 = v1; v1 = temp;`. ::: > [!RICORDA] > - Una rotazione di quattro variabili richiede una sola variabile d'appoggio. > - Si salva per prima la variabile che verrà sovrascritta per prima. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | `%` | «modulo» | il resto della divisione intera | `99 % 50` vale 49 | | `%%` | «percento percento» | in `printf`: stampa un `%` | `printf("100%%")` | | `INT_MAX`, `INT_MIN` | «int max», «int min» | il massimo e il minimo di un `int`, da `limits.h` | 2147483647 | | `const` | «const» | la variabile non si può modificare | `const float PI = 3.14f;` | | `M_PI` | «emme pi» | la costante pi greco di `math.h` | | | `floor`, `ceil`, `round` | «floor», «ceil», «round» | arrotondano per difetto, per eccesso, al più vicino | `ceil(4.3)` vale 5 | | `sizeof` | «size of» | i byte occupati da un tipo | `sizeof(int)` vale 4 | | `%zu` | «percento zeta u» | specificatore per `size_t` | | | `-Wall` | «meno W all» | gcc mostra gli avvisi | | ## Verso l'esame L'esame è al PC, con **CodeRunner**: il tuo codice viene compilato con `-Wall -Werror` e le sue stampe confrontate con quelle attese. Questo laboratorio allena quasi tutto quello che serve per non perdere punti nei primi esercizi: 1. **leggere gli errori del compilatore** e correggerli uno alla volta, come in `errori.c`; 2. **scegliere i tipi**: `int` per contare, `double` per misurare; 3. **le divisioni**: intera quando vuoi la parte intera, con la virgola quando vuoi la media; 4. **gli specificatori** giusti in `printf` e in `scanf`, compresi `%lf` e `%.2f`; 5. **niente variabili inutilizzate**: con `-Werror` bloccano la compilazione. > [!METODO] Prima di consegnare un esercizio > 1. Compila con `gcc -Wall -Werror`. Se ci sono errori, correggi **il primo** e ricompila. > 2. Prova con dati scelti bene: un caso normale, uno con la virgola, uno con i negativi o lo zero. > 3. Calcola a mano almeno un risultato e confrontalo con la stampa. > 4. Controlla la forma della stampa: spazi, a capo, numero di cifre. ## Quiz ```quiz D: Che cosa stampa `printf("%d %d", 99 / 50, 99 % 50);`? + `1 49` - `1.98 0` - `1 1` - `49 1` - `2 49` = Tra interi `/` dà la parte intera, 1, e `%` il resto, 49. La risposta più insidiosa è `2 49`: la divisione intera non arrotonda, taglia. D: Quanto vale `7 + 3 * 6 / 2 - 1` in C? N: 15 = Prima `3 * 6` = 18, poi `18 / 2` = 9, poi `7 + 9 - 1` = 15. D: Quale espressione calcola $ax^3 + 7$? + `a * (x * x * x) + 7` - `a * x * x * (x + 7)` - `a * x * (x * x + 7)` - `(a * x) * x * (x + 7)` - `a * x * x * x * 7` = Le moltiplicazioni prima, poi si somma 7. La risposta più insidiosa è `a * x * x * (x + 7)`: la parentesi fa sommare 7 a `x` prima di moltiplicare. L'ultima moltiplica per 7 invece di sommarlo. D: Con `int x = 1, y = 2, z = 5;` quanto vale `(double)((x + y + z) / 3)`? + 2.0 - 2.666667 - 3.0 - 2.67 - 8.0 = La divisione dentro la parentesi è tra interi: 8 / 3 fa 2, e il cast lo converte in 2.0. La risposta più insidiosa è 2.666667: si otterrebbe con il cast sulla somma, prima della divisione. D: Che cosa stampa `printf("%d", (int)(8.136 * 1000));`? + `8135` - `8136` - `8136.0` - `8137` - non compila = 8.136 in memoria è un po' meno di 8.136, quindi il prodotto è 8135.999…, e il cast a `int` taglia: 8135. La risposta più insidiosa è 8136, il risultato «giusto» a mano: si otterrebbe con `round`. D: Su un computer a 64 bit, quanto vale `sizeof(char*)`? + 8 - 1 - 4 - 2 - dipende dal carattere puntato = Un puntatore contiene un indirizzo, e gli indirizzi sono di 8 byte su 64 bit. La risposta più insidiosa è 1: è `sizeof(char)`, la dimensione del carattere, non del suo indirizzo. D: Perché `aritmetica.c` non compila con `-Wall -Werror`? + Dichiara variabili che non usa - Usa `INT_MAX` senza `limits.h` - La divisione `99 / 50` è un errore - `%%` non è valido in `printf` - Va in overflow = `n1`, `p` e `t` sono dichiarate e mai usate: con `-Werror` l'avviso `unused variable` diventa un errore. La risposta più insidiosa è l'overflow: è un problema vero, ma il compilatore non lo segnala. `limits.h` è incluso. D: Quale riga legge correttamente i chili di pomodori in `double kg`? + `scanf("%lf", &kg);` - `scanf("%f", &kg);` - `scanf("%d", &kg);` - `scanf("%lf", kg);` - `scanf("%.2f", &kg);` = Per un `double` in `scanf` serve `%lf`, con la `&`. La risposta più insidiosa è `%f`: va bene per un `float`, non per un `double`. `%.2f` è un formato di stampa, non di lettura. D: Con `-17` e `5`, che cosa stampa `printf("%d %d", -17 / 5, -17 % 5);`? + `-3 -2` - `-4 3` - `-3 2` - `-4 -2` - `3 2` = In C la divisione intera taglia verso lo zero, −3.4 diventa −3, e il resto ha il segno del primo numero: −17 = 5 · (−3) − 2. La risposta più insidiosa è `-4 3`: è la divisione con il resto positivo della matematica, non quella del C. ``` ## Esercizi ::: esercizio base Riscaldamento: indovina le stampe Senza compilare, scrivi che cosa stampano: (a) `printf("%d", 20 / 3);` (b) `printf("%d", 20 % 3);` (c) `printf("%f", 20 / 3.0);` (d) `printf("%.1f", 20 / 3.0);` (e) `printf("%d%%", 50);` ::: soluzione (a) `6`. (b) `2`. (c) `6.666667`. (d) `6.7`, arrotondato. (e) `50%`. ::: ::: esercizio base Riscaldamento: precedenze Calcola a mano: (a) `8 - 2 * 3`; (b) `(8 - 2) * 3`; (c) `20 / 4 / 5`; (d) `20 / (4 / 5)`; (e) `7 % 3 * 2`. ::: soluzione (a) 2. (b) 18. (c) 1, da sinistra: `20 / 4` = 5, poi `5 / 5` = 1. (d) Errore a runtime: `4 / 5` tra interi fa 0, e dividere per zero fa fallire il programma. (e) 2: `7 % 3` = 1, poi `1 * 2` = 2. ::: ::: esercizio base Riscaldamento: il tipo giusto Che tipo usi per: (a) l'età in anni; (b) la media dei voti; (c) il numero di byte di un file; (d) la lettera iniziale di un nome; (e) il prezzo in euro con i centesimi? ::: soluzione (a) `int`. (b) `double`. (c) `size_t`, il tipo delle dimensioni, o `long long` se il file è enorme. (d) `char`. (e) `double`, oppure un `int` che conta i centesimi. ::: ::: esercizio medio Secondi in ore, minuti e secondi Scrivi un programma che legge un numero di secondi e stampa ore, minuti e secondi. Con 3725 deve stampare `1 h 2 min 5 s`. ::: soluzione ```c #include int main(void) { int totale; scanf("%d", &totale); int ore = totale / 3600; int minuti = (totale % 3600) / 60; int secondi = totale % 60; printf("%d h %d min %d s\n", ore, minuti, secondi); } ``` 3725 / 3600 fa 1 ora; il resto, 125, diviso 60 fa 2 minuti; 3725 % 60 fa 5 secondi. `/` e `%` insieme separano le unità. ::: ::: esercizio medio Le temperature Scrivi un programma che legge una temperatura in gradi Celsius, un `double`, e la stampa in gradi Fahrenheit con una cifra dopo la virgola. La formula è $F = C \cdot 9/5 + 32$. Attenzione a come scrivi 9/5. ::: soluzione ```c #include int main(void) { double c; scanf("%lf", &c); double f = c * 9.0 / 5.0 + 32; printf("%.1f\n", f); } ``` Con 100 stampa `212.0`, con 37 stampa `98.6`. Se scrivi `c * (9 / 5) + 32`, la parentesi fa la divisione intera `9 / 5` = 1, e il risultato è sbagliato: con 100 viene 132.0. ::: ::: esercizio esame Media e arrotondamenti Scrivi un programma che legge quattro voti interi e stampa la media con 2 cifre dopo la virgola, poi la media arrotondata al voto intero più vicino. Con 27, 28, 30, 24 deve stampare `27.25` e `27`. ::: soluzione ```c #include #include int main(void) { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d); double media = (a + b + c + d) / 4.0; printf("%.2f\n", media); printf("%d\n", (int)round(media)); } ``` La somma 109 divisa per 4.0 fa 27.25; `round` dà 27. Con i voti 27, 28, 30, 25 la media è 27.5 e `round` dà 28. Su Linux si compila con `-lm`. ::: ::: esercizio esame Trova gli errori Il programma dovrebbe leggere base e altezza di un triangolo, due `double`, e stampare l'area. Trova e correggi gli errori: `double b, h; scanf("%lf %lf", b, h); double area = 1 / 2 * b * h; printf("Area: %d\n", area);` ::: soluzione 1. In `scanf` mancano le `&`: `&b, &h`. Con `-Wall -Werror` non compila. 2. `1 / 2` è una divisione intera e fa 0: l'area sarebbe sempre 0. Va scritto `b * h / 2` oppure `0.5 * b * h`. 3. `%d` per un `double`: serve `%f`. Con `-Wall -Werror` non compila. Corretto: `scanf("%lf %lf", &b, &h); double area = b * h / 2; printf("Area: %f\n", area);`. ::: ## Domande di ripasso ::: domanda Che differenza c'è tra `99 / 50` e `99 / 50.0`? Il primo è una divisione tra interi e dà 1. Nel secondo c'è un reale, quindi la divisione è con la virgola e dà 1.98. ::: ::: domanda Che cosa succede sommando 3 a INT_MAX? Il numero esce dall'intervallo degli `int` e, di solito, ricomincia dai negativi: −2 147 483 646. È un overflow, e per il C è comportamento indefinito. ::: ::: domanda A che cosa serve const? A dichiarare una costante: il valore si dà all'inizio e il programma non può più cambiarlo. ::: ::: domanda Che differenza c'è tra `(int)x`, `floor(x)` e `round(x)`? `(int)x` taglia la parte dopo la virgola, verso lo zero. `floor` arrotonda per difetto, `round` al più vicino. Con −2.5: −2, −3 e −3. ::: ::: domanda Perché `(int)(8.136 * 1000)` dà 8135? Perché 8.136 non si scrive esattamente in base 2: il prodotto è 8135.999…, e il cast a `int` taglia. ::: ::: domanda Perché tutti i puntatori hanno la stessa dimensione? Perché contengono un indirizzo, e su una macchina tutti gli indirizzi hanno la stessa lunghezza: 8 byte su 64 bit. ::: ::: domanda Dove si cercano le informazioni su printf e sulle altre funzioni del C? Nella documentazione, per esempio su cppreference, che ha anche una versione da usare senza Internet. ::: ## Glossario ```glossario Codice di partenza | I programmi già scritti forniti con il laboratorio, da leggere, provare e completare. Divisione intera | `/` tra due interi: tiene solo la parte intera, tagliando verso lo zero. Modulo | `%`: il resto della divisione intera; in C ha il segno del primo numero. Overflow | Un risultato intero che supera il massimo del suo tipo; per gli int con il segno è comportamento indefinito. INT_MAX, INT_MIN | Massimo e minimo di un int, definiti in limits.h. const | Parola chiave che rende una variabile non modificabile. floor, ceil, round | Funzioni di math.h che arrotondano per difetto, per eccesso e al più vicino. sizeof | Operatore che dà quanti byte occupa un tipo o una variabile. cppreference | Sito di documentazione del C e del C++, scaricabile per l'uso senza Internet. -Wall | Opzione di gcc che mostra gli avvisi; con -Werror ogni avviso diventa un errore. ``` ## Checklist ```checklist - So prevedere il risultato di `/` e `%` tra interi, anche con i negativi. - So che cos'è l'overflow di un int e perché il compilatore non lo segnala. - So calcolare un'espressione rispettando le precedenze. - So completare circonferenza.c e spiegare che cosa fa const. - So trovare gli errori di un programma, anche senza compilarlo. - So calcolare una media con la virgola e arrotondarla nei quattro modi. - So spiegare perché 8.136 per 1000 dà 8135. - So che i puntatori hanno tutti la stessa dimensione, e perché. - So scrivere mercato.c, anche con le quantità da tastiera. - So ruotare quattro variabili con una sola variabile d'appoggio. ``` ## Fonti - Slide «Operatori e Tipi» (Lezione nº 2 di laboratorio), Programmazione I – Laboratorio, canale B, A.A. 2026/27: aritmetica.c (slide 2), operazioni su interi (slide 3), ordine di valutazione (slide 4–7), circonferenza (slide 8), errori in C (slide 9–11), media (slide 12), tabella dei tipi (slide 13–14), dimensioni dei tipi (slide 15), documentazione (slide 16), mercato (slide 17), scambio di variabili (slide 18). - «Tabella dei tipi e specificatori di conversione», foglio del laboratorio canale B. - Codice di partenza del laboratorio: aritmetica.c, circonferenza.c, dim_tipi.c, errori.c, media.c, scambio.c. - [cppreference, la documentazione del C](https://en.cppreference.com/w/c). - Tutti i programmi, del codice di partenza e delle soluzioni, sono stati compilati con gcc 16.1 su Windows 11 a 64 bit ed eseguiti; le stampe e gli errori riportati sono quelli veri. Le soluzioni, i quiz e gli esercizi sono di questi appunti. --- > File: `contesto_ai/PROG1/riassunti/settimana_01.md` ```yaml corso: PROG1 lezione: S1 tipo: riassunto titolo: "Settimana 1: l'algoritmo, la macchina di Von Neumann, il primo programma in C" data: 2026-10-02 docenti: Elvio Amparore sopratitolo: Riassunto settimanale · Programmazione I · Canale B · 28/09 – 02/10/2026 descrizione: >- Riassunto della settimana 1 di Programmazione I (canale B): che cos'è un algoritmo, le sette versioni della moltiplicazione per somme ripetute e il bug del caso n = 0, la macchina di Von Neumann e il ciclo della CPU, dal linguaggio macchina all'assembly e al C, il primo programma, gcc e i tre tipi di errore. lede: >- Le tre lezioni della settimana in poche pagine: le idee da sapere, i metodi, le trappole e le domande per controllarti. Per i dettagli e gli esercizi c'è la lezione completa, collegata in ogni sezione. materiale: slide scheda: Lezioni: "[01A](01A_primo_algoritmo.html) lun 28/09 · [01B](01B_architettura.html) mar 29/09 · [02A](02A_da_assembly_a_c.html) mer 30/09" Tempo di ripasso: 30–40 minuti fonte: >- Gli appunti delle lezioni 01A, 01B e 02A di Programmazione I (canale B), scritti sulle slide di E. G. Amparore appunti_html: appunti/PROG1/riassunto_settimana_01.html genera_html: true ``` ## In breve - Un **algoritmo** è una ricetta precisa: operazioni ordinate, non ambigue ed eseguibili, che danno un risultato e finiscono sempre. - La regola d'oro del corso: **prima verificare le condizioni, poi eseguire**. Il caso iniziale ($n = 0$) è «tipica fonte di errori, anche in sede d'esame». - Il computer è una **macchina di Von Neumann**: CPU, memoria con programma **e** dati, memoria secondaria, bus. La CPU ripete prelievo, decodifica, esecuzione. - La CPU capisce solo il **linguaggio macchina**; l'**assembly** lo scrive con nomi leggibili; il **C** si scrive come un linguaggio vero e lo traduce un **compilatore**. - Si compila con `gcc -Wall -Werror`. Un programma che compila non è per forza giusto: va provato, anche sui casi limite. ## 01A · Un primo algoritmo (lun 28/09) L'informatica studia gli **algoritmi**, non i computer: il computer sta all'informatica come il telescopio all'astronomia (frase attribuita a Dijkstra). > [!DEF] Algoritmo > Un insieme **ordinato** di operazioni **non ambigue** ed **effettivamente eseguibili** che, eseguito, **produce un risultato** e **si arresta in un tempo finito**. In informatica **tutto è numero**: testo, immagini, istruzioni. La programmazione **imperativa** dice alla macchina, passo per passo, che cosa fare. **Il problema guida.** Calcolare $m \times n$ (interi, $n \ge 0$) con una macchina che sa solo sommare, assegnare e confrontare. L'idea: sommare $m$ a sé stesso $n$ volte, partendo da 0, l'elemento neutro della somma. Servono due variabili: - l'**accumulatore** `s`, la somma fatta finora; - il **contatore** `i`, quante somme ho fatto. Wirth: «Programma = Algoritmi + Strutture dati». Nella notazione delle slide `←` vuol dire «assegna» (`s ← s + m`), `=` vuol dire «confronta» (`i = n?`). | Versione | Che cosa cambia | |---|---| | V1 | l'idea a parole: «somma m a s esattamente n volte», troppo vaga | | V2 | passi elementari, ma il controllo «i = n?» sta **alla fine**: con n = 0 non termina | | V3 | **prima il controllo**, poi la somma: giusta anche con n = 0 | | V4 | notazione formale: `←`, `=`, `▷` per i commenti, il rientro per ciò che dipende dalla condizione | | V5 | salti espliciti («salta alla riga 6») e un'istruzione Fine | | V6 | blocchi Inizio/Fine; salto **condizionato** (solo se i = n) e **non condizionato** (sempre) | | V7 | blocchi annidati, niente numeri di riga: è la forma del `while` del C | ```text Inizio Algoritmo s ← 0, i ← 0 Inizio Ripetizione Condizionata se i = n salta alla Fine Ripetizione Condizionata, altrimenti s ← s + m i ← i + 1 salta all'Inizio Ripetizione Condizionata Fine Ripetizione Condizionata Fine Algoritmo ``` > [!TRAPPOLA] Il bug del caso n = 0 > La V2 prima somma e porta `i` a 1, poi controlla «1 = 0?»: no, ripete. Poi «2 = 0?», e così via: `i` non torna mai a 0 e l'algoritmo **non termina**. Con la V3 il primo controllo è «0 = 0?»: sì, fine, e `s = 0` è il risultato giusto. > [!RICORDA] > - Prova sempre i **casi limite**: $n = 0$, $n = 1$, $m = 0$, valori negativi. > - La **traccia** a mano, una riga per passo e una colonna per variabile, è l'abilità che serve negli esercizi sullo stato della memoria. > - Dal ciclo si esce solo tramite la condizione: da qui le regole d'esame (una sola `return` nelle funzioni iterative, niente `break`, `continue`, `switch`). ## 01B · Architettura del calcolatore (mar 29/09) | Tappa | Che cosa porta | |---|---| | Abaco, Pascalina | aiutano a calcolare (la Pascalina fa il riporto da sola), ma la logica la mette chi li usa | | Calcolatori cablati | fanno solo le operazioni costruite nell'hardware, come un frullatore | | Babbage, circa 1840 | macchina analitica: schede perforate, salti condizionati, l'idea di programma | | Turing, 1936 | la macchina universale: una sola macchina può eseguire qualunque algoritmo | | ENIAC, 1943–46 | primo computer elettronico general purpose, decimale, programmato spostando cavi | | EDVAC | **programma memorizzato**, **stessa memoria** per istruzioni e dati, numeri in **binario** | - **Calcolatore programmabile**: la stessa macchina fa compiti diversi cambiando la sequenza di istruzioni, senza toccare l'hardware. - Un **bit** vale 0 o 1; con $N$ bit si distinguono $2^N$ informazioni. Un **byte** sono 8 bit, cioè 256 valori. Si scrive b per il bit, B per il byte: 100 Mb/s sono 12,5 MB/s. - **Architettura di Von Neumann**: CPU (unità di controllo, ALU, registri), memoria principale (RAM) con programma e dati, memoria secondaria, tutto collegato dal **bus di sistema**. - La memoria è una fila di byte, ognuno con un **indirizzo** che parte da 0: con 1024 byte gli indirizzi vanno da 0 a **1023**. I numeri stanno in **parole**, per esempio di 32 bit, cioè 4 byte. - Lo **stato** è la fotografia di memoria e registri in un istante. Eseguire un programma vuol dire passare da uno stato al successivo. > [!METODO] Il ciclo della CPU > 1. **Prelievo** (*fetch*): legge l'istruzione all'indirizzo scritto nel **PC** (*program counter*) e la copia nell'**IR** (*instruction register*). > 2. **Decodifica**: capisce che cosa chiede l'istruzione. > 3. **Esecuzione**: la ALU lavora sui registri, oppure si legge o scrive la memoria. > 4. Il PC passa all'istruzione dopo, oppure salta dove dice l'istruzione. Si ricomincia. > > Stesso programma e stesso stato iniziale danno sempre lo stesso risultato. ## 02A · Dal linguaggio macchina al C (mer 30/09) - **Linguaggio macchina**: numeri eseguiti direttamente dalla CPU. Ogni architettura ha il suo *instruction set*, quindi non è portabile. - **Assembly**: le stesse istruzioni con nomi leggibili, tradotte da un **assembler**. Resta legato alla CPU. - La ALU lavora solo sui **registri**: per sommare due celle servono `LOAD` (memoria → registro), `ADD` (registro + registro) e `STORE` (registro → memoria). Un'addizione costa 4 istruzioni. - La moltiplicazione della 01A in assembly costa 10 istruzioni, con `CMP` (confronta), `JMPEQ` (salta se uguali), `INC` (aggiunge 1) e `JMP` (salta sempre). È la V6, e il confronto viene **prima** della somma. - Dagli anni '50 i **linguaggi di alto livello**, a partire dal FORTRAN: li traduce un **compilatore**, e per un'altra CPU basta ricompilare. - Il **C** nasce nel 1972 (Dennis Ritchie, Bell Labs) per riscrivere Unix. È **compilato**, **imperativo**, **strutturato** e **tipizzato**. ```c // Un primo programma in C #include // La funzione "main" e' il punto di ingresso del programma int main(void) { printf("Buongiorno dal C.\n"); } ``` | Pezzo | Che cosa fa | |---|---| | `// …` | commento, ignorato dal compilatore | | `#include ` | direttiva per il preprocessore: porta la dichiarazione di `printf`. Senza, gcc si ferma con «implicit declaration of function 'printf'» | | `int main(void) { … }` | il punto da cui parte il programma; le graffe racchiudono un blocco | | `printf("…");` | stampa una stringa; ogni istruzione finisce con `;` | | `\n`, `\t`, `\\`, `\"`, `\0` | sequenze di escape: a capo, tabulazione, backslash, doppio apice, carattere nullo | - **Identificatori**: lettere, cifre e `_`, mai una cifra all'inizio. Maiuscole e minuscole contano (`var` e `Var` sono diversi). Niente parole chiave (`int`, `while`, `return`…) e niente nomi di libreria (`printf`, `main`). - **gcc** fa quattro passi: preprocessore, compilatore, assemblatore (file oggetto `.o`) e **linker**, che unisce i file oggetto e le librerie nell'eseguibile. - Comando dell'esame: `gcc -Wall -Werror sorgente.c -o eseguibile`, poi `./eseguibile`. Con `-Werror` ogni avviso blocca la compilazione. > [!TRAPPOLA] «Compila» non vuol dire «funziona» > Tre tipi di errore: di **compilazione** (sintassi: il programma non nasce), a **runtime** (per esempio una divisione per zero) e **logici** (il programma gira ma fa la cosa sbagliata). Il compilatore controlla solo la sintassi: un programma va sempre provato. ## Verso l'esame - **Laboratorio** del canale B, aula Turing, 14–17: turno 2 (matricola pari) il lunedì dal 05/10 con Elisa Marengo; turno 1 (matricola dispari) il martedì dal 06/10 con Valerio Basile. Il Lab01 è su riga di comando e compilatore. - L'esame si fa al computer nei laboratori, con un editor semplice, senza IDE né completamento automatico: allenati da subito con un editor di testo e `gcc -Wall -Werror`. - Appelli 2026/27: lunedì 25/01/2027 e giovedì 11/02/2027, alle 9:00. - Da fare adesso: copia «Buongiorno dal C.», compilalo, poi **rompilo apposta** (togli un `;`, una graffa, una virgoletta) e leggi i messaggi di gcc. ## Domande di ripasso ::: domanda Quali sono le proprietà di un algoritmo? Operazioni ordinate, non ambigue ed eseguibili; produce un risultato; termina in un tempo finito. ::: ::: domanda Perché la V2 della moltiplicazione è sbagliata? Con quale valore lo scopri? Controlla «i = n» dopo aver sommato. Con $n = 0$, `i` vale già 1 al primo controllo e non torna mai a 0, quindi il ciclo non finisce. ::: ::: domanda Che differenza c'è tra `s ← s + m` e `i = n`? La prima assegna a `s` il valore `s + m`. La seconda chiede se `i` e `n` sono uguali: la risposta è vero o falso. ::: ::: domanda Con 1024 byte di memoria, qual è l'ultimo indirizzo? 1023, perché gli indirizzi partono da 0. ::: ::: domanda Che cosa contengono il PC e l'IR? Il PC contiene l'indirizzo della prossima istruzione, l'IR l'istruzione che si sta eseguendo. ::: ::: domanda Perché per sommare due celle di memoria servono LOAD e STORE? Perché la ALU lavora solo sui registri: si carica dalla memoria in un registro (`LOAD`), si somma (`ADD`), si riscrive in memoria (`STORE`). ::: ::: domanda Quali sono i quattro passi di gcc? Preprocessore, compilatore, assemblatore, linker. ::: ::: domanda Un programma compila senza errori ma stampa un risultato sbagliato: che tipo di errore è? Un errore logico. ::: ## Quiz d'esame L'esame di Programmazione I non ha domande a crocette e non chiede la storia dei computer. Chiede però di seguire a mano un programma, istruzione per istruzione, negli esercizi sulla correttezza e sullo stato della memoria, e di scrivere codice che compili con `gcc -Wall -Werror`. Queste domande sono sul modello di quegli esercizi, con gli argomenti di questa settimana. Le domande vere con gli assegnamenti sono nel riassunto della settimana 2. Ho provato tutto a mano e con gcc. ```quiz D: Sul modello degli esercizi di correttezza. La versione V2 della moltiplicazione prima somma, poi controlla «i = n?». Che cosa succede con $n = 0$? - Restituisce 0, il risultato giusto. - Restituisce $m$. + Non termina: `i` vale già 1 al primo controllo e non torna mai a 0. - Si ferma con un errore di divisione per zero. - Restituisce $m \cdot 0$ dopo un giro. = Dopo la prima somma `i` vale 1, e «1 = 0?» è falso; poi 2, 3… e il ciclo non finisce mai. La risposta più insidiosa è «restituisce $m$»: è quello che vedresti se il ciclo si fermasse dopo un giro, ma il controllo è sbagliato e non si ferma. La V3, con il controllo prima della somma, dà 0. D: Sul modello dello stato della memoria. Le istruzioni `LOAD R0, @A`, `LOAD R1, @B`, `ADD R0, R1`, `STORE R0, @A` partono con 7 all'indirizzo A e 5 all'indirizzo B. Che cosa c'è alla fine in A e in B? + A = 12, B = 5 - A = 7, B = 12 - A = 12, B = 12 - A = 7, B = 5 - A = 12, B = 0 = `ADD` mette la somma in R0, e `STORE` scrive R0 nella cella A. La cella B viene solo letta, quindi resta 5. La risposta più insidiosa è A = 12, B = 12: leggere una cella non la cambia e non la svuota. D: Sul modello del conteggio dei passi. Il programma assembly della moltiplicazione esegue 4 istruzioni iniziali, 5 per ogni giro del ciclo e 3 alla fine. Quante istruzioni esegue con $n = 3$? - $15$ - $20$ + $22$ - $27$ - $7$ = $4 + 5 \cdot 3 + 3 = 22$; in generale $5n + 7$. La risposta più insidiosa è 20: dimentica le ultime tre, cioè il confronto che fa uscire dal ciclo e la fine. D: Sul modello degli errori di compilazione. Un programma usa `printf` ma non ha `#include `. Che cosa succede con `gcc -Wall -Werror`? - Compila, perché `printf` è sempre disponibile. - Compila con un avviso, e il programma parte. + Non compila: `implicit declaration of function 'printf'`. - Compila ma non stampa niente. - Errore a runtime alla prima `printf`. = gcc 16.1 dà proprio questo errore. Con `-Werror` ogni avviso blocca la compilazione, come su CodeRunner all'esame. La risposta più insidiosa è «compila con un avviso»: succedeva con compilatori più vecchi e senza `-Werror`. D: Sul modello delle domande sulla memoria. Con 1024 byte di memoria, gli indirizzi partono da 0. Qual è l'ultimo? - $1024$ + $1023$ - $1000$ - $999$ - $2^{1024}$ = Se si parte da 0, il millesimo-ventiquattresimo byte ha indirizzo 1023. La risposta più insidiosa è 1024: conta come se si partisse da 1. Lo stesso succede con gli indici degli array: da 0 a lunghezza meno 1. ``` ## Fonti - Le lezioni complete: [01A · Un primo algoritmo](01A_primo_algoritmo.html), [01B · Architettura del calcolatore](01B_architettura.html), [02A · Dal linguaggio macchina al C](02A_da_assembly_a_c.html), con esercizi, quiz e i riferimenti alle slide. - Laboratori e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). --- > File: `contesto_ai/PROG1/riassunti/settimana_02.md` ```yaml corso: PROG1 lezione: S2 tipo: riassunto titolo: "Settimana 2: il laboratorio, le variabili in memoria, gli indirizzi e i puntatori" data: 2026-10-07 docenti: Elvio Amparore sopratitolo: Riassunto settimanale · Programmazione I · Canale B · 05/10 – 09/10/2026 descrizione: >- Riassunto della settimana 2 di Programmazione I (canale B): il primo laboratorio con la riga di comando, i percorsi e gcc; tipi, variabili, il modello della memoria con FP e SP, l'assegnamento e le espressioni intere; indirizzi e operatore &, scanf e il suo valore di ritorno, i puntatori, l'operatore *, l'aliasing e NULL. lede: >- Il laboratorio e le due lezioni della settimana in poche pagine: i comandi da sapere, il modello della memoria che serve negli esercizi d'esame, la differenza tra valore e indirizzo, e le domande per controllarti. materiale: slide scheda: Lezioni: "[Lab01](Lab01_introduzione.html) lun 05/10 (B2) e mar 06/10 (B1) · [02B](02B_assegnamento_memory_model.html) mar 06/10 · [02C](02C_referenziamento_scanf_puntatori.html) mer 07/10" Tempo di ripasso: 40 minuti fonte: >- Gli appunti del Laboratorio 01 e delle lezioni 02B e 02C di Programmazione I (canale B), scritti sulle slide del laboratorio e di E. G. Amparore appunti_html: appunti/PROG1/riassunto_settimana_02.html genera_html: true ``` ## In breve - Al **laboratorio** si lavora dalla **riga di comando**: si scrive un ordine, si preme Invio, si legge la risposta. Un comando ha nome, opzioni e argomenti. - Si compila con `gcc -Wall -Werror sorgente.c -o programma` e si esegue con `./programma`. Con `-Werror` basta un avviso per fermare tutto, come all'esame. - Una **variabile** ha nome, tipo, indirizzo e valore. Dichiarata e non assegnata, contiene un valore **indeterminato**, «?». - Nel **modello della memoria** le variabili di `main` stanno sullo **stack**, in ordine di dichiarazione, tra **FP** e **SP**. L'assegnamento calcola la destra e copia il valore a sinistra. - Tra interi `/` taglia la parte dopo la virgola e `%` dà il resto. `*`, `/`, `%` vengono prima di `+` e `-`. - `&x` è l'**indirizzo** di `x`. `scanf("%d", &x)` scrive all'indirizzo di `x` e restituisce quanti valori ha letto. - Un **puntatore** `int* p = &x;` contiene un indirizzo; `*p` è la variabile puntata. Mai `*p` con `p` non inizializzato o `NULL`. ## Lab01 · Riga di comando e gcc (lun 05/10, mar 06/10) Il laboratorio sono 10 incontri da 3 ore al laboratorio Turing, dalle 14 alle 17: turno B2 (matricola pari) il lunedì con Elisa Marengo, turno B1 (matricola dispari) il martedì con Valerio Basile. Quando esci dal PC del laboratorio i file vengono cancellati: salvali prima. - Un **percorso assoluto** parte dalla radice, `/` su Linux e `C:\` su Windows. Un **percorso relativo** parte dalla cartella in cui sei. `.` è la cartella attuale, `..` quella che la contiene. - `command not found` vuol dire che il nome è sbagliato, o che il programma non è in una cartella del PATH. | Che cosa fare | Linux e macOS | Windows | |---|---|---| | dove sono | `pwd` | `cd` | | che cosa c'è | `ls` | `dir` | | cambiare cartella | `cd nome` | `cd nome` | | creare una cartella | `mkdir nome` | `mkdir nome` | | copiare, spostare | `cp`, `mv` | `copy`, `move` | | cancellare | `rm` | `del` | | leggere un file | `cat` | `type` | > [!METODO] Dal file al programma > 1. Scrivi il sorgente con un editor semplice, senza completamento automatico, come all'esame. > 2. `gcc -Wall -Werror buongiorno.c -o buongiorno`: se gcc non scrive niente, il programma è compilato. > 3. `./buongiorno` su Linux e macOS, `buongiorno` su Windows. > 4. Per provare un programma che legge un numero senza scriverlo a mano: `echo 7 | ./programma`. ::: prova Sei nella cartella `/home/anna/prog1`. Dove ti porta `cd ..`? E che percorso assoluto ha il file `lab01/buongiorno.c`? `cd ..` porta a `/home/anna`, la cartella che contiene `prog1`. Il file è `/home/anna/prog1/lab01/buongiorno.c`. ::: > [!RICORDA] > - `rm` e `del` non usano il cestino. > - All'esame CodeRunner compila con `-Wall -Werror` e confronta le stampe carattere per carattere. ## 02B · Memoria, assegnamento, espressioni (mar 06/10) Un **tipo** dice come leggere i bit: quanti byte, quali valori, quali operazioni. I tipi del C sono **finiti**: un `int` va da circa −2,1 a +2,1 miliardi, un `float` ha circa 7 cifre giuste. | Tipo | Byte di solito | Specificatore in `printf` | |---|:-:|---| | `char` | 1 | `%c` | | `int` | 4 | `%d` | | `long` | 8 su Linux, 4 su Windows | `%ld` | | `float` | 4 | `%f` | | `double` | 8 | `%f` | | `size_t` | 8 | `%zu` | > [!METODO] Lo stato della memoria > 1. Una riga per variabile, nell'ordine di dichiarazione: la prima sotto FP, ognuna 4 byte più in basso per gli `int`. SP indica la prossima casella libera. > 2. Una variabile dichiarata e non assegnata contiene «?». > 3. A ogni assegnamento si calcola la destra con i valori **di quel momento**, poi si scrive il risultato nella casella a sinistra, cancellando il valore di prima. - Tra interi: `13 / 3` fa 4, `13 % 3` fa 1. Ordine: parentesi, poi `*`, `/`, `%`, poi `+`, `-`, da sinistra a destra, e l'assegnamento per ultimo. - `x += 3` vuol dire `x = x + 3`; `x++` aggiunge 1. - Un `int` troppo grande **gira** (overflow), un reale messo in un `int` perde la parte dopo la virgola: gcc non avvisa. ::: prova Dopo `int a = 4; int b; b = a * 3 % 5; a = a + b;` quanto valgono `a` e `b`? `a * 3` fa 12, `12 % 5` fa 2: `b` vale 2. Poi `a` = 4 + 2 = 6. ::: > [!RICORDA] > - Variabile = nome + tipo + indirizzo + valore. > - `printf`: uno specificatore per ogni valore, nell'ordine e del tipo giusto. ## 02C · Indirizzi, scanf e puntatori (mer 07/10) Ogni variabile ha un **valore**, che cosa c'è dentro, e un **indirizzo**, dove sta: come una casa ha un inquilino e un numero civico. - `&x` è l'indirizzo di `x`; si stampa con `%p`, e cambia da un'esecuzione all'altra. - `scanf("%d", &x);` riceve l'indirizzo perché deve sapere **dove** scrivere. Restituisce quanti valori ha letto: con `12.9` legge 12 e si ferma al punto; con `ciao` restituisce 0 e non tocca `x`. | Scrittura | Che cos'è | Con `int x = 5; int* p = &x;` | |---|---|---| | `x` | il valore | 5 | | `&x` | l'indirizzo di `x` | per esempio `0x03FC` | | `p` | un puntatore: contiene un indirizzo | lo stesso indirizzo di `x` | | `*p` | la variabile all'indirizzo contenuto in `p` | è `x`: vale 5 | | `*p = 8;` | scrive nella variabile puntata | ora `x` vale 8 | ```grafico titolo: Dopo `int x = 5; int* p = &x;` la casella di `p` contiene l'indirizzo di `x`, qui 0x03FC. `*p` vuol dire «la casella a quell'indirizzo»: `*p = 8;` cambia `x`, non `p`. x: 0 10 y: 0 4.4 assi: no griglia: no poligono: 3 2.6 6 2.6 6 3.6 3 3.6 | blu poligono: 3 0.8 6 0.8 6 1.8 3 1.8 | ambra testo: 4.5 3.1 | blu | "5" testo: 4.5 1.3 | ambra | "0x03FC" testo: 2.6 3.1 | blu | "x" | o testo: 2.6 1.3 | ambra | "p" | o testo: 4.5 3.95 | grigio | "indirizzo 0x03FC" freccia: 6.1 1.3 7.4 1.3 | ambra freccia: 7.4 1.3 7.4 3.1 | ambra freccia: 7.4 3.1 6.1 3.1 | ambra testo: 7.5 2.2 | ambra | "*p" | e ``` - Due puntatori con lo stesso indirizzo sono **alias**: scrivere con uno cambia la variabile per tutti. - Un puntatore non inizializzato contiene «?»; `NULL` vuol dire «non punta a niente». Su tutti e due **non** si usa `*`. - Ogni puntatore occupa 8 byte su 64 bit, qualunque sia il tipo puntato. `&` e `*` si annullano: `*&x` è `x`. > [!TRAPPOLA] I tipi dei puntatori > `int*` e `float*` non si mescolano: con gcc 16.1 mettere `&x` di un `int` in un `float*` è un **errore**, anche senza opzioni. Nelle slide è ancora un avviso. ::: prova Dopo `int a = 1, b = 2; int* p = &a; int* q = &b; *p = *q; q = p; *q = 7;` quanto valgono `a` e `b`? `*p = *q` copia 2 in `a`. `q = p` fa puntare `q` ad `a`. `*q = 7` scrive 7 in `a`. Alla fine `a` vale 7 e `b` vale 2. ::: > [!RICORDA] > - `scanf` vuole l'indirizzo, `printf` il valore. > - `*p` si usa solo se `p` contiene l'indirizzo di una variabile vera. ## Verso l'esame - **Stato della memoria**: è il tipo di esercizio che parte da queste lezioni. Una riga per variabile, i valori aggiornati a ogni assegnamento, gli indirizzi nelle caselle dei puntatori. - **CodeRunner** confronta le stampe: niente indirizzi stampati, niente specificatori sbagliati, niente variabili inutilizzate con `-Werror`. - Appelli 2026/27: lunedì 25/01/2027 e giovedì 11/02/2027, alle 9:00. - Da fare adesso: rifai gli esercizi del Lab01 dalla riga di comando, e disegna lo stato della memoria del programma con i puntatori della 02C. ## Domande di ripasso ::: domanda Che differenza c'è tra un percorso assoluto e uno relativo? Il percorso assoluto parte dalla radice del disco e funziona da qualunque cartella. Quello relativo parte dalla cartella in cui ti trovi. ::: ::: domanda Che cosa fanno le opzioni `-Wall` e `-Werror` di gcc? `-Wall` mostra gli avvisi, `-Werror` li trasforma in errori: basta un avviso perché il programma non venga compilato. ::: ::: domanda Quali sono le quattro cose che ha una variabile? Nome, tipo, indirizzo e valore. ::: ::: domanda Quanto valgono `17 / 5` e `17 % 5` in C? 3 e 2. ::: ::: domanda Perché in `scanf` serve la `&`? Perché `scanf` deve sapere dove scrivere il valore letto: le serve l'indirizzo della variabile, non il suo valore. ::: ::: domanda Che cosa restituisce `scanf`? Il numero di valori letti con successo. Se il primo valore non va bene, restituisce 0. ::: ::: domanda Con `int x = 3; int* p = &x; *p = *p + 1;` quanto vale `x`? 4: `*p` è `x`, quindi l'assegnamento aggiunge 1 a `x`. ::: ::: domanda Perché non si può usare `*p` se `p` vale `NULL`? Perché `NULL` non è l'indirizzo di nessuna variabile: non c'è niente da leggere o da scrivere. ::: ## Quiz d'esame L'esame di Programmazione I non ha domande a crocette. Ha due esercizi di teoria su CodeRunner, «correttezza di una sequenza di assegnazioni» e «stato della memoria», e tre di programmazione. Le prime due domande sono l'esercizio vero di correttezza della pagina Moodle 2023/24 («Corr. Ass. 1») e una sua variante vista negli appelli: si risolvono con gli assegnamenti di questa settimana. Le altre sono sul modello dell'esercizio sullo stato della memoria e degli errori che fanno fallire i test. Ho provato tutto con gcc. ```quiz D: Moodle 2023/24, esercizio «Corr. Ass. 1». Il programma esegue `r = r + 2;` e poi `r = r * 3;`. Alla fine deve valere `33 <= r && r <= 39`. Per quali valori interi iniziali di `r` succede? + `9 <= r && r <= 11` - `11 <= r && r <= 13` - `11 <= r && r <= 12` - `31 <= r && r <= 37` - `33 <= r && r <= 39` = Si ragiona all'indietro, dall'ultima istruzione: prima di `r = r * 3` serve $33 \le 3r \le 39$, cioè $11 \le r \le 13$; prima di `r = r + 2` serve $11 \le r + 2 \le 13$, cioè $9 \le r \le 11$. Controllo: 9 diventa 33, 11 diventa 39. La risposta più insidiosa è `11 <= r && r <= 13`: si ferma a metà strada. `11 <= r && r <= 12` applica le istruzioni nell'ordine sbagliato. Nella pagina Moodle la stessa condizione era scritta come `33 <= (r+2)*3 && r <= 11`. D: Variante dello stesso esercizio vista negli appelli. Con le stesse istruzioni, `r = r + 2;` e `r = r * 3;`, alla fine deve valere `r == 33`. Che cosa deve valere `r` all'inizio? - `r == 11` + `r == 9` - `r == 31` - `r == 33` - nessun valore intero va bene = All'indietro: $3r = 33$ dà $r = 11$, e $r + 2 = 11$ dà $r = 9$. Controllo: $(9 + 2) \cdot 3 = 33$. La risposta più insidiosa è `r == 11`: è il valore a metà, dopo `r = r + 2`. D: Sul modello di «Corr. Ass. 1». Con le stesse istruzioni, alla fine deve valere `34 <= r`. Da quale valore iniziale intero di `r` in su funziona? - da 11 - da 32 + da 10 - da 34 - da 9 = Serve $3(r + 2) \ge 34$. Tra gli interi, $3 \cdot 11 = 33$ non basta e $3 \cdot 12 = 36$ sì: quindi $r + 2 \ge 12$, cioè $r \ge 10$. La risposta più insidiosa è 9: andrebbe bene con 33, non con 34. Negli interi si arrotonda per eccesso quando si divide un «almeno»: è la trappola segnalata nelle soluzioni. D: Sul modello dell'esercizio sullo stato della memoria. Dopo `int x = 5, y = 8; int *p = &x; *p = *p + y; p = &y; *p = x - 1;` quanto valgono `x` e `y`? - `x = 5`, `y = 12` + `x = 13`, `y = 12` - `x = 13`, `y = 8` - `x = 13`, `y = 4` - `x = 4`, `y = 8` = `*p = *p + y` scrive in `x`, perché `p` contiene l'indirizzo di `x`: $5 + 8 = 13$. Poi `p = &y` sposta il puntatore, e `*p = x - 1` scrive in `y`: $13 - 1 = 12$. La risposta più insidiosa è `x = 13`, `y = 4`: usa il vecchio valore di `x` nell'ultima riga. Ricorda: a destra si usano i valori di quel momento. D: Sul modello degli errori che fanno fallire i test. Con `int a = 7, b = 2; double m = a / b;`, che cosa stampa `printf("%f", m);`? + `3.000000` - `3.500000` - `3` - `4.000000` - non compila = `a / b` è una divisione tra interi e fa 3; solo dopo il 3 diventa `3.000000`. Per avere 3,5 serve `(double)a / b`. La risposta più insidiosa è `3.500000`: è il risultato «giusto» a mano, ma il C fa prima la divisione intera. D: Sul modello della lettura con `scanf`. Con `int a = 0, b = -1;` e l'input `12.9`, che cosa restituisce `scanf("%d %d", &a, &b)` e che cosa c'è in `a` e `b`? - restituisce 2, `a = 12`, `b = 9` + restituisce 1, `a = 12`, `b = -1` - restituisce 0, `a = 0`, `b = -1` - restituisce 2, `a = 12`, `b = 0` - restituisce 1, `a = 13`, `b = -1` = `scanf` legge 12 e si ferma al punto, che non può far parte di un intero. Per il secondo `%d` trova `.9` e si arrende: ha letto un solo valore, e `b` non viene toccata. La risposta più insidiosa è «2, `a = 12`, `b = 9`»: il punto non è uno spazio, quindi il 9 non viene letto. Con `13` si arrotonderebbe, ma `scanf` non arrotonda mai. ``` ## Fonti - Le lezioni complete: [Lab01 · La riga di comando, gcc e i primi programmi](Lab01_introduzione.html), [02B · Memoria e variabili, assegnamento ed espressioni](02B_assegnamento_memory_model.html), [02C · Indirizzi, scanf e puntatori](02C_referenziamento_scanf_puntatori.html), con esercizi, quiz e i riferimenti alle slide. - Laboratori e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). --- > File: `contesto_ai/PROG1/riassunti/settimana_03.md` ```yaml corso: PROG1 lezione: S3 tipo: riassunto titolo: "Settimana 3: operatori e tipi, scambi, numeri reali, condizioni e if" data: 2026-10-14 docenti: Elvio Amparore sopratitolo: Riassunto settimanale · Programmazione I · Canale B · 12/10 – 16/10/2026 descrizione: >- Riassunto della settimana 3 di Programmazione I (canale B): il secondo laboratorio su divisioni, overflow, precedenze, const, medie e dimensione dei tipi; lo scambio di due variabili con la variabile d'appoggio; float e double, printf e scanf con i reali, conversioni e cast; espressioni booleane, bool, &&, || e !, cortocircuito, operatore ternario; sequenza, selezione e iterazione, if, else ed else if. lede: >- Il laboratorio e le quattro lezioni della settimana in poche pagine: le divisioni che ingannano, lo scambio fatto bene, come si scrive una condizione che compila con -Wall -Werror, come si segue un programma con gli if, e le domande per controllarti. materiale: slide scheda: Lezioni: "[Lab02](Lab02_operatori_tipi.html) lun 12/10 (B2) e mar 13/10 (B1) · [03A](03A_scambio_variabili.html) e [03B](03B_floats.html) mar 13/10 · [03C](03C_booleani.html) e [03D](03D_decisioni.html) mer 14/10" Tempo di ripasso: 45 minuti fonte: >- Gli appunti del Laboratorio 02 e delle lezioni 03A, 03B, 03C e 03D di Programmazione I (canale B), scritti sulle slide del laboratorio e di E. G. Amparore appunti_html: appunti/PROG1/riassunto_settimana_03.html genera_html: true ``` ## In breve - Tra due interi `/` dà la parte intera e `%` il resto: `99 / 50` fa 1. Basta un reale per avere la divisione con la virgola: `99 / 50.0` fa 1.98. - Per **scambiare** due variabili serve una **variabile d'appoggio**: `temp = x; x = y; y = temp;`, in quest'ordine. - `float` ha circa 7 cifre giuste, `double` circa 15. Un `double` si stampa con `%f` e si legge con **`%lf`**. - Mettere un reale in un `int` **taglia** la parte dopo la virgola. Il **cast** `(double)a` converte quando lo decidi tu. - Un confronto vale **1** se è vero e **0** se è falso. Le condizioni si uniscono con `&&`, `||` e `!`; «x tra 18 e 30» si scrive `18 <= x && x <= 30`. - **Cortocircuito**: se la prima parte di `&&` o `||` basta a decidere, la seconda non viene calcolata. - `if` esegue un blocco solo se la condizione è vera; `else` dà l'altra strada; `else if` mette in fila più domande. ## Lab02 · Operatori e tipi (lun 12/10, mar 13/10) Il laboratorio ha sei programmi di partenza da leggere, provare e correggere, poi tre programmi nuovi. Le cose da portarsi via: | Che cosa | Esempio | Risultato | |---|---|---| | divisione tra interi | `99 / 50` e `99 % 50` | 1 e 49 | | basta un reale | `99 / 50.0` | 1.98 | | overflow di un `int` | `x + 1` con `x` che vale 2147483647 | un numero negativo, senza avvisi | | precedenze | `2 + 3 * 4` | 14: `*`, `/`, `%` prima di `+` e `-` | | media di tre interi | `(a + b + c) / 3` con 4, 5, 5 | 4: serve `3.0`, che dà 4.67 | | approssimazione | `(int)(8.136 * 1000)` | 8135, non 8136 | | dimensione di un puntatore | `sizeof(int*)`, `sizeof(double*)` | 8 byte tutti e due, su 64 bit | - `const` dichiara una **costante**: `const double PI = 3.14159;` non si può più cambiare. - Per arrotondare ci sono `floor`, `ceil` e `round` di `math.h`; il cast a `int` taglia e basta. - In `errori.c` gli errori sono 8: il compilatore li segnala uno alla volta, e conviene correggere sempre il **primo**. ::: prova Quanto valgono `17 / 4`, `17 % 4` e `17 / 4.0`? 4, 1 e 4.25: tra interi la divisione taglia, con un reale no. ::: > [!RICORDA] > - Tra interi la divisione è intera. Una media si divide per `3.0`. > - L'overflow degli `int` non dà avvisi: il risultato è sbagliato in silenzio. ## 03A · Scambiare due variabili (mar 13/10) Lo scambio «ovvio» `x = y; y = x;` non funziona: il primo assegnamento cancella il vecchio valore di `x`, e alla fine le due variabili valgono uguale. Come con due tazze di tè da scambiare, serve una terza tazza vuota. ```grafico titolo: Lo scambio con la variabile d'appoggio, partendo da `x = 8` e `y = 3`. Prima si mette da parte `x` (1), poi si copia `y` in `x` (2), infine si rimette in `y` il valore messo da parte (3). x: 0 10 y: 0 5 assi: no griglia: no proporzioni: libere poligono: 1 3 3 3 3 4.2 1 4.2 | blu poligono: 7 3 9 3 9 4.2 7 4.2 | ambra poligono: 4 0.4 6 0.4 6 1.6 4 1.6 | grigio testo: 2 3.6 | blu | "8 → 3" testo: 8 3.6 | ambra | "3 → 8" testo: 5 1 | grigio | "8" testo: 2 4.6 | blu | "x" testo: 8 4.6 | ambra | "y" testo: 5 0.1 | grigio | "temp" freccia: 1.8 2.9 3.9 1.1 | blu freccia: 6.9 3.6 3.1 3.6 | ambra freccia: 6.1 1.1 8.2 2.9 | grigio testo: 2.5 1.8 | blu | "1" testo: 5 3.95 | ambra | "2" testo: 7.6 1.8 | grigio | "3" ``` - `temp` deve avere lo stesso tipo delle due variabili. - L'ordine conta: con gli stessi tre assegnamenti in un altro ordine un valore si perde di nuovo. La regola: si copia per primo il valore che sta per essere sovrascritto. - Per scambiare in giro più variabili, come nell'esercizio `scambio4.c`, basta una sola variabile d'appoggio. ::: prova Con `int a = 1, b = 2;`, quanto valgono le due variabili dopo `temp = a; b = a; a = temp;`? Tutte e due 1. L'ordine è sbagliato: `b = a` cancella il 2 prima che qualcuno l'abbia messo da parte. ::: > [!RICORDA] > - `temp = x; x = y; y = temp;`: ogni variabile, a sinistra, è stata letta prima di essere riscritta. > - Il compilatore non avvisa se lo scambio è sbagliato: va controllato a mano. ## 03B · Numeri reali, conversioni e cast (mar 13/10) I numeri con la virgola in C hanno due tipi, che cambiano per spazio occupato e precisione: | Tipo | Byte | Cifre giuste | `printf` | `scanf` | |---|---|---|---|---| | `float` | 4 | circa 7 | `%f` | `%f` | | `double` | 8 | circa 15–16 | `%f` | `%lf` | - `%f` stampa 6 cifre dopo la virgola, `%.2f` due, `%e` usa la notazione scientifica, `%g` sceglie la più corta. - Sui reali non c'è `%`. Radici e potenze sono in `math.h`: `sqrt`, `pow`. - I reali sono approssimati: non si confrontano con `==`. - **Promozione**: in un'espressione con tipi diversi il più piccolo diventa il più grande, e un intero con un reale dà un reale. - **La divisione che inganna**: in `float z = 5 / 2;` la divisione è tra interi e fa 2; solo dopo il 2 diventa 2.000000. - **Il cast** va messo **prima** della divisione: `(double)a / b` divide con la virgola, `(double)(a / b)` converte un risultato già tagliato. ::: prova Con `int a = 9, b = 4;`, quanto valgono `(double)a / b` e `(double)(a / b)`? 2.25 e 2.0: nel secondo la divisione tra interi è già stata fatta, e il cast converte il 2. ::: > [!RICORDA] > - Un `double` si legge con `%lf`. > - Il tipo di una divisione lo decidono i due operandi, non la variabile a sinistra dell'uguale. ## 03C · Espressioni booleane (mer 14/10) Un'espressione booleana è una domanda con risposta sì o no: in C vale 1 se è vera e 0 se è falsa. Si confronta con `==`, `!=`, `<`, `>`, `<=`, `>=`; `==` confronta, `=` assegna. Il tipo `bool`, con `true` e `false`, viene da `stdbool.h`. | `a` | `b` | `a && b` | `a \|\| b` | `!a` | |---|---|---|---|---| | vero | vero | vero | vero | falso | | vero | falso | falso | vero | falso | | falso | vero | falso | vero | vero | | falso | falso | falso | falso | vero | > [!TRAPPOLA] Due errori che con -Wall -Werror non compilano > - `0 <= x <= 10` si calcola da sinistra e vale sempre 1: gcc lo rifiuta, «comparisons like 'X<=Y<=Z' do not have their mathematical meaning». Si scrive `0 <= x && x <= 10`. > - `&&` dentro `||` senza parentesi: gcc chiede le parentesi. Le condizioni lunghe si spezzano in variabili `bool` con un nome chiaro. - **Cortocircuito**: in `d != 0 && n / d > 5`, se `d` vale 0 la divisione non viene mai fatta. L'ordine dei pezzi conta. - Per negare una condizione si usa De Morgan: il contrario di `a && b` è `!a || !b`. Il `!` si attacca a una cosa sola: `!x > 5` vuol dire `(!x) > 5`. - **Ternario**: `max = a > b ? a : b;` vale `a` se la condizione è vera, altrimenti `b`. ::: prova Come si scrive la condizione «`n` non è tra 1 e 100»? `n < 1 || n > 100`: per De Morgan è il contrario di `1 <= n && n <= 100`. ::: > [!RICORDA] > - Vero è 1, falso è 0. Un intervallo si scrive con due confronti e `&&`. > - Il cortocircuito protegge la seconda parte: prima il controllo, poi l'operazione. ## 03D · Decisioni: if ed else (mer 14/10) Ogni programma si costruisce con tre strutture: **sequenza**, **selezione** e **iterazione**. Per il teorema di Böhm-Jacopini (1966) bastano per qualunque algoritmo. Questa lezione è la selezione. ```grafico titolo: Il massimo di due numeri con `if … else`: dalla domanda partono due strade, ne viene percorsa una sola, e poi le strade si riuniscono. x: 0 10 y: 0 7 assi: no griglia: no proporzioni: libere freccia: 5 6.9 5 6.1 | grigio poligono: 5 6 7 5 5 4 3 5 | ambra testo: 5 5 | ambra | "a > b ?" segmento: 3 5 1.8 5 | verde freccia: 1.8 5 1.8 3.3 | verde segmento: 7 5 8.2 5 | rosa freccia: 8.2 5 8.2 3.3 | rosa testo: 2.4 5.35 | verde | "vero" testo: 7.6 5.35 | rosa | "falso" poligono: 0.6 2.2 3 2.2 3 3.2 0.6 3.2 | verde poligono: 7 2.2 9.4 2.2 9.4 3.2 7 3.2 | rosa testo: 1.8 2.7 | verde | "max = a" testo: 8.2 2.7 | rosa | "max = b" segmento: 1.8 2.2 1.8 1.2 | grigio segmento: 8.2 2.2 8.2 1.2 | grigio segmento: 1.8 1.2 8.2 1.2 | grigio freccia: 5 1.2 5 0.2 | grigio ``` - `if (condizione) { … }` esegue il blocco solo se la condizione è vera. - `else` è l'altra strada; con `else if` si entra nel **primo** blocco con la condizione vera, e gli altri si saltano. All'esame niente `switch`. - Gli errori più comuni: `=` al posto di `==` e le graffe dimenticate (con `-Wall -Werror` tutti e due non compilano), le condizioni nell'ordine sbagliato. - Una variabile dichiarata dentro un blocco esiste solo lì: alla `}` sparisce dallo stack. - Gli esempi delle slide con `void main()` non compilano con `-Wall -Werror`: si scrive `int main(void)`. - Schemi che tornano sempre: il massimo di due numeri, il controllo del valore restituito da `scanf`, la divisione protetta, il controllo di un intervallo. ::: prova Con `int voto = 24;`, quale blocco esegue `if (voto >= 18) { … } else if (voto >= 24) { … } else { … }`? Il primo: `voto >= 18` è già vera, e gli altri si saltano. Il secondo blocco non viene mai eseguito, perché le condizioni sono nell'ordine sbagliato: la più stretta va messa prima. ::: > [!RICORDA] > - Con `else if` le condizioni si controllano in ordine, e conta solo la prima vera. > - Per seguire un programma con gli if, scrivi i valori delle variabili prima di ogni domanda. ## Verso l'esame - **Correttezza di una sequenza di assegnazioni**: si ragiona all'indietro dalla post-condizione. Lo scambio con `temp` è un esercizio perfetto per allenarsi. - **Stato della memoria**: una riga per variabile, i valori aggiornati a ogni assegnamento. Attenzione alle conversioni: un `double` messo in un `int` perde la parte dopo la virgola. - **Programmazione**: i test di CodeRunner confrontano le stampe. Una media divisa per `3` invece che per `3.0`, o un `%f` al posto di `%lf` in `scanf`, fanno fallire i test. - Appelli 2026/27: lunedì 25/01/2027 e giovedì 11/02/2027, alle 9:00. ## Domande di ripasso ::: domanda Quanto valgono `99 / 50`, `99 % 50` e `99 / 50.0`? 1, 49 e 1.98. ::: ::: domanda Perché `x = y; y = x;` non scambia le due variabili? Perché il primo assegnamento cancella il vecchio valore di `x`: alla fine tutte e due valgono il vecchio `y`. ::: ::: domanda Con quale specificatore si legge un `double` con `scanf`? `%lf`. Con `%f` `scanf` scriverebbe un `float` nella casella di un `double`. ::: ::: domanda Che cosa vale `float z = 5 / 2;`? 2.000000: la divisione è tra interi e fa 2, poi il 2 viene convertito. ::: ::: domanda Come si scrive in C «`x` è tra 0 e 10»? `0 <= x && x <= 10`. ::: ::: domanda Perché `d != 0 && n / d > 5` non divide mai per zero? Per il cortocircuito: se `d` vale 0 la prima parte è falsa, e la seconda non viene calcolata. ::: ::: domanda Quali sono le tre strutture del teorema di Böhm-Jacopini? Sequenza, selezione e iterazione. ::: ## Quiz d'esame L'esame di Programmazione I non ha domande a crocette. Ha due esercizi di teoria su CodeRunner, «correttezza di una sequenza di assegnazioni» e «stato della memoria», e tre di programmazione. Le domande qui sotto sono **sul modello** di questi esercizi, con gli argomenti della settimana: le prime due come l'esercizio «Corr. Ass. 1» della pagina Moodle 2023/24, le altre come lo stato della memoria e gli errori che fanno fallire i test. Ho compilato e provato tutto con gcc 16.1 e `-Wall -Werror`. ```quiz D: Sul modello di «Corr. Ass. 1», ragionamento all'indietro. Il programma esegue `temp = x;`, poi `x = y;`, poi `y = temp;`. Alla fine deve valere `x == 3 && y == 8`. Quale pre-condizione serve all'inizio? - `x == 3 && y == 8` + `x == 8 && y == 3` - `x == 8 && y == 8` - `x == 3 && y == 3` - `temp == 8 && y == 3` = All'indietro: prima di `y = temp` serve `x == 3 && temp == 8`; prima di `x = y` serve `y == 3 && temp == 8`; prima di `temp = x` serve `y == 3 && x == 8`. Lo scambio scambia, quindi all'inizio i valori sono rovesciati. La risposta più insidiosa è `temp == 8 && y == 3`: è la condizione a metà strada, ma all'inizio `temp` non ha ancora un valore. D: Sul modello di «Corr. Ass. 1», con lo scambio sbagliato. Il programma esegue `x = y;` e poi `y = x;`. Alla fine deve valere `x == 5 && y == 5`. Qual è la pre-condizione più debole? - `x == 5 && y == 5` + `y == 5` - `x == 5` - `true`: vale sempre - `false`: non vale mai = Prima di `y = x` si sostituisce `y` con `x`: `x == 5 && x == 5`, cioè `x == 5`. Prima di `x = y` si sostituisce `x` con `y`: `y == 5`. Il vecchio valore di `x` non conta, perché viene cancellato subito. La risposta più insidiosa è `x == 5 && y == 5`: funziona, ma chiede più del necessario. D: Sul modello dello stato della memoria. Dopo `int a = 7, b = 2; double m = a / b; double n = (double)a / b; int k = n;` quanto valgono `m`, `n` e `k`? - `m` = 3.5, `n` = 3.5, `k` = 3 + `m` = 3.0, `n` = 3.5, `k` = 3 - `m` = 3.0, `n` = 3.0, `k` = 3 - `m` = 3.0, `n` = 3.5, `k` = 4 - `m` = 3.5, `n` = 3.5, `k` = 4 = In `a / b` tutti e due sono interi: la divisione fa 3, e solo dopo diventa 3.0. In `(double)a / b` il cast viene prima, quindi la divisione è con la virgola: 3.5. Mettere 3.5 in un `int` taglia, non arrotonda: 3. La risposta più insidiosa è quella con `m` = 3.5: conta il tipo dei due operandi, non quello della variabile a sinistra. D: Sul modello dello stato della memoria. Dopo questo codice quanto valgono `x` e `y`? `int x = 7, y = 3; if (x > y) { int t = x; x = y; y = t; } if (x % 2 == 0) { x = x + 10; } else if (y > 5) { y = y - 5; } else { x = 0; }` - `x` = 7, `y` = 3 - `x` = 13, `y` = 7 + `x` = 3, `y` = 2 - `x` = 0, `y` = 7 - `x` = 3, `y` = 7 = Il primo `if` scambia: `x` = 3, `y` = 7. Poi `x % 2` vale 1, quindi la prima strada no; `y > 5` sì, quindi `y` = 2, e l'`else` si salta. La risposta più insidiosa è `x` = 3, `y` = 7: chi pensa che dopo una condizione falsa si salti tutto si ferma al primo blocco. `t` esiste solo dentro le graffe del primo `if`. D: Sul modello degli errori che fanno fallire i test. Con `int d = 0, n = 10; bool ok = d != 0 && n / d > 5;`, che cosa stampa `printf("%d", ok);`? - Il programma si blocca per una divisione per zero + 0 - 1 - Non compila - Un valore che cambia da un'esecuzione all'altra = `d != 0` è falso, quindi tutta la congiunzione è falsa e la divisione non viene calcolata: è il cortocircuito. `ok` vale 0. La risposta più insidiosa è il blocco per divisione per zero: succederebbe scrivendo `n / d > 5 && d != 0`, con i pezzi nell'ordine sbagliato. D: Sul modello degli errori di compilazione. Con `int x = 50;`, che cosa succede compilando con `gcc -Wall -Werror` un programma che contiene `printf("%d", 0 <= x <= 10);`? - Stampa 0 - Stampa 1 - Stampa 50 + Non compila - Compila con un avviso e stampa 1 = gcc con `-Wall` segnala «comparisons like 'X<=Y<=Z' do not have their mathematical meaning», e `-Werror` trasforma l'avviso in errore. La risposta più insidiosa è «stampa 1»: è quello che succede senza opzioni, perché `0 <= 50` vale 1 e `1 <= 10` è vero. Con un avviso e basta si compilerebbe solo senza `-Werror`. D: Sul modello degli errori che fanno fallire i test. Dopo `int a = 4, b = 5, c = 5; double m = (a + b + c) / 3;`, che cosa stampa `printf("%.2f", m);`? - 4.67 + 4.00 - 4.66 - 4 - 14.00 = `(a + b + c) / 3` è una divisione tra interi: 14 diviso 3 fa 4, e in `m` va 4.0. Con `%.2f` si stampa 4.00. La risposta più insidiosa è 4.67, che è la media vera: per averla serve `/ 3.0`. 4 senza decimali non può uscire da `%.2f`. D: Sul modello del Laboratorio 02. Che cosa stampa `printf("%d", (int)(8.136 * 1000));`? - 8136 + 8135 - 8137 - 8.136 - Non compila = 8.136 in binario non si scrive esattamente: è un po' meno, e `8.136 * 1000` viene circa 8135.999999. Il cast a `int` taglia la parte dopo la virgola: 8135. La risposta più insidiosa è 8136, che sarebbe il risultato con un arrotondamento: per averlo serve `round` di `math.h`. ``` ## Fonti - Le lezioni complete: [Lab02 · Operatori e tipi](Lab02_operatori_tipi.html), [03A · Scambiare due variabili](03A_scambio_variabili.html), [03B · Numeri reali, float e double, conversioni di tipo](03B_floats.html), [03C · Espressioni booleane, il tipo bool e gli operatori logici](03C_booleani.html), [03D · Dal flusso sequenziale alle decisioni, if ed else](03D_decisioni.html), con i programmi provati, i quiz e gli esercizi. - Slide del canale B: Lab02 «Operatori e Tipi» con la tabella dei tipi; 03A_scambio_variabili, 03B_floats, 03C_booleans, 03D_decisioni (E. G. Amparore). - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/PROG1/corso.md). --- > File: `contesto_ai/FDA/corso.md` # Fondamenti dell'Informatica — scheda del corso (canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti: scheda INF0348 (https://laurea.informatica.unito.it/do/corsi.pl/Show?_id=fbib), calendari University Planner dei tre canali, Moodle 2026/27 dei tre canali (A e C con accesso ospite; B con login, consultato il 28/09/2026), pagina d'esame comune su Moodle Esami (id=2673, con le regole ufficiali), bacheca Esse3, guida degli studenti TSI. ## Dati essenziali | Voce | Valore | |---|---| | Codice | INF0348 · 9 CFU · attività di base, INF/01 · 1° anno, 1° semestre | | Ore | 72 h di lezione in aula; alcune lezioni sono esercitazioni. **Nessun laboratorio e nessun turno** | | Periodo | 28/09/2026 – 15/01/2027 | | Frequenza | facoltativa; lezioni registrate "ove possibile" (Webex, su Moodle) | | Lingua | italiano (il corso è segnato "English-friendly": per il corso di laurea, materiale in inglese per preparare l'esame e possibilità di sostenerlo in inglese; https://laurea.informatica.unito.it/do/home.pl/View?doc=International_students.html) | | Esame | scritto su Moodle Esami con Safe Exam Browser, **unico per i tre canali**: 9 quiz (max 27) + domanda aperta facoltativa (da −1 a 6), fino a 33 = 30 e lode | | Libro (obbligatorio) | R. Johnsonbaugh, J. G. Brookshear, D. Brylow, *Fondamenti dell'Informatica*, Pearson, **testo personalizzato per il corso**: raccolta in inglese del cap. 1 di Brookshear *Computer Science: an overview* e dei capp. 1, 2, 3, 5, 11, 12 di Johnsonbaugh *Discrete Mathematics*. **Edizione 2026: ISBN 9788891939456**, in formato digitale *Assignable eTextbook* da 24,90 € (presentazione Pearson pubblicata sui Moodle dei canali il 28/09/2026). È diverso dall'ISBN 9788891935519 citato in altre fonti: fa fede quello della presentazione. Dopo l'acquisto **non** scegliere "Studio autonomo": con "Cambia corso" si inserisce il codice del proprio docente (è nella presentazione su Moodle) e si controlla che il corso sia quello del proprio canale. Scheda dell'editore (edizione 2026): https://he.pearson.it/bundle/6719; il link https://he.pearson.it/catalogo/1701, citato dalla scheda ufficiale e dai Moodle B e C, al 28/09/2026 non mostra il libro. Copie in biblioteca. Il docente del canale B raccomanda di leggerlo in inglese, anche se il cap. 1 esiste in parte in traduzione italiana | Il corso esiste dal 2023/24 e raccoglie argomenti che prima stavano in altri corsi (per esempio gli automi, prima in Linguaggi Formali e Traduttori). ## Docenti, orari e Moodle | Canale | Docente (lezioni ed esercitazioni) | Orario 2026/27 | Moodle 2026/27 | |---|---|---|---| | **A** (cognomi A–D) | Felice Cardone | lun 11–13, gio 9–11, ven 9–11 · Aula A | [id=3851](https://informatica.i-learn.unito.it/course/view.php?id=3851) · accesso ospite, diario delle lezioni con registrazioni | | **B** (cognomi E–O) | Stefano Berardi | lun 9–11, gio 9–11, ven 11–13 · Aula B | [id=3747](https://informatica.i-learn.unito.it/course/view.php?id=3747) · serve il login UniTo; iscrizione libera, senza chiave | | **C** (cognomi P–Z) | Luca Paolini | mar 14–16, mer 16–18, ven 13–15 · Aula A (nella 1ª settimana anche lun 28/09 e gio 01/10, 16–18) | [id=3635](https://informatica.i-learn.unito.it/course/view.php?id=3635) · accesso ospite | - Contatti e ricevimento: sulle pagine dei docenti nel sito del corso di laurea. - Si può seguire un altro canale se c'è posto in aula; l'esame è comunque l'appello unico. - Orari aggiornati: University Planner del proprio canale (link in `../unito_informatica.md`). ## Esame (uguale per A, B, C) **Scheda ufficiale (identica dal 2023/24):** "Esame scritto costituito da domande ed esercizi erogati attraverso la piattaforma Moodle, e diviso in due parti, il superamento della prima parte è condizione necessaria per accedere alla seconda." Punteggio in trentesimi, somma degli esercizi. **Nessun orale.** La prova si svolge sulla piattaforma Moodle Esami (esami.i-learn.unito.it, login di Ateneo). La **pagina d'esame** è unica per i tre canali: "Esami di Fondamenti di Informatica Corsi A+B+C (Gennaio – Settembre 2027)", [id=2673](https://esami.i-learn.unito.it/course/view.php?id=2673) (login di Ateneo, chiusa agli ospiti). Lì si svolge l'esame e ci sono regole, avvisi, esercizi e vecchi esami. **Regole ufficiali** (pagina d'esame, consultata il 28/09/2026; valgono per gli appelli da gennaio a settembre 2027): | Parte | Contenuto | Tempo | Punti | Soglia | |---|---|---|---|---| | 1 | 9 quiz a risposta chiusa | 45 min | 3 ciascuno (max 27) | **almeno 18** per passare (17,5 viene arrotondato a 18) | | 2 (facoltativa) | 1 domanda a risposta libera | 30 min | **da −1 a 6** | accesso solo con **almeno 24** nella parte 1, **prima** dell'arrotondamento | - **Arrotondamento** all'intero più vicino, le metà per eccesso: da 17 a meno di 17,5 si arrotonda a 17 (insufficiente), da 17,5 a meno di 18 si arrotonda a 18 (sufficiente). - **Domanda aperta:** −1 per le risposte particolarmente errate, 0 se lasciata vuota. Chi non la fa, o non ha 24 nei quiz, prende il voto dei quiz (al massimo 27). Le slide introduttive del canale A 2026/27 (p. 25) scrivono ancora che la domanda aperta "vale al massimo 4 punti", ma nella stessa frase parlano di un totale "fino a 33", che si raggiunge solo con 6: fa fede la pagina d'esame comune (da −1 a 6); nel dubbio chiedere al docente. - **Lode:** quiz più domanda aperta arrivano fino a 27 + 6 = 33; qualunque punteggio sopra 30, anche solo di una frazione, vale **30 e lode**. - Domande diverse possono essere corrette con criteri di severità diversi: la scelta fa parte del metodo di valutazione del docente. - **Tentativi:** al massimo 3 esami valutati per anno accademico (decreto rettorale 4758, art. 24). Il ritiro non conta se avviene prima della comunicazione del voto; dopo si può solo rifiutare il voto. - **Rifiuto del voto:** va fatto esplicitamente entro 5 giorni dalla pubblicazione, che può arrivare qualche giorno dopo l'esame (tempo di correggere le domande aperte). Poi vale il silenzio-assenso e l'esame non si può più ripetere. - **5 appelli all'anno** (gennaio, febbraio, giugno, luglio, settembre), mai due volte nella stessa sessione (slide del canale A). **Appelli 2026/27 già pubblicati:** ven 29/01/2027 ore 9:00 (iscrizioni 09/01–22/01) · gio 18/02/2027 ore 9:00 (iscrizioni 29/01–11/02), nei laboratori Turing, Dijkstra e Von Neumann. Commissione: Cardone (presidente), Berardi, Paolini. Riferimento 2025/26 (iscritti): 19/01 (309), 13/02 (441), 04/06 (132), 02/07 (106), 21/09 (72). **Il giorno dell'esame** (pagina d'esame): - Si usa **Safe Exam Browser (SEB)**: una volta entrati nella pagina dell'esame **non si può cambiare pagina**, altrimenti SEB blocca la prova. Il docente non ha la password per sbloccarla e non sempre c'è un tecnico. - **Aula Turing:** accendere il PC se è spento, entrare con le credenziali SCU, cliccare il pulsante quadrato giallo in alto a sinistra "Esame 1" e aspettare che SEB si carichi (ci vuole un po'), poi entrare nella piattaforma esami, corso di Fondamenti, sempre con le credenziali SCU. Alla fine spegnere con il tasto sul davanti dello schermo. **Aule Dijkstra e Von Neumann:** non accendere il PC, ci pensano i tecnici. - **Turni:** hanno la precedenza gli iscritti a quel turno, poi gli iscritti ad altri turni; chi non è iscritto regolarmente entra solo se resta posto, senza garanzie. Gli orari di convocazione escono nella sezione "Turni e Orari" (a giugno 2026, per esempio, bisognava presentarsi alle 13:55). - **Vietati** smartphone, smartwatch, occhiali smart e ogni altro dispositivo non autorizzato. I docenti segnalano le violazioni, che possono portare a sanzioni fino all'esclusione temporanea dall'Ateneo. - Iscriversi solo se si intende partecipare e cancellarsi se si cambia idea: i turni si organizzano sul numero di iscritti. **Argomenti dei quiz** visti nelle simulazioni 2023/24 (vero/falso o menù a tendina, spesso più voci per domanda): distanza di Hamming; virgola mobile con troncamento e notazione in eccesso; complemento a 2; valore di verità di formule; formula booleana da tabella di verità (mintermini); circuito combinatorio o sequenziale e funzione calcolata; macchine a stati finiti; proprietà di relazioni e funzioni; stringhe generate da una grammatica; automi (stringhe accettate, linguaggio regolare, DFA/NFA); formalizzazione di frasi con quantificatori; invarianti di ciclo; principio di induzione. ## Programma ufficiale 2026/27 (comune) - **Codifica dell'informazione**: bit, byte, notazione posizionale; naturali e interi in binario, ottale, esadecimale, complemento a 1 e a 2; reali in virgola mobile. - **Logica digitale**: porte logiche, tavole di verità, espressioni booleane e forme normali, circuiti combinatori, cenni ai circuiti sequenziali. - **Insiemi, relazioni, funzioni**: insieme potenza, prodotto cartesiano, somma disgiunta, insieme delle funzioni; equivalenze insiemistiche e loro dimostrazione. - **Tecniche di dimostrazione**: diretta, per assurdo, per contrapposizione; dualità dei quantificatori; induzione (nelle slide del canale A). - **Logica**: tavole di verità e conseguenza logica proposizionale, cenni sulla semantica dei quantificatori (tra le conoscenze attese anche la deduzione naturale). - **Linguaggi formali**: alfabeto, parole, operazioni su linguaggi; automi a stati finiti e circuiti sequenziali; automi non deterministici e teorema di Rabin-Scott; espressioni regolari e teorema di Kleene; proprietà dei linguaggi regolari (tra i risultati attesi: dimostrare la non regolarità). **Mappa sul libro** (pagina Moodle "Argomenti del corso e dove trovarli", firmata dai tre docenti): Parte 1 cap. 1 (§1.1–1.10) · Parte 2 capp. 1 (§1.1–1.6), 2 (§2.1–2.5, dimostrazioni e induzione), 3 (§3.1–3.4), 11 (§11.1–11.5, algebre di Boole e circuiti), 12 (§12.1–12.5, automi, grammatiche, linguaggi). **Programma del canale B** (Moodle B 2026/27, voce "Programma per il 2026"; il testo è in parte al passato, forse ripreso dall'anno scorso): tutto il libro **tranne** §1.8 (linguaggio Python), §2.3 (risoluzione), il cap. 3 salvo §3.2 (sequenze e stringhe), l'intero cap. 5 (teoria dei numeri) e, in §12.3, l'Example 12.3.9 e le grammatiche di Lindenmayer (dalla Definition 12.3.17 in poi). Il dettaglio arriva con i riassunti delle singole lezioni su Moodle. **Attenzione per il canale B:** la mappa comune include §1.8, §2.3 e §3.1–3.4; la stessa pagina B elenca le proprietà delle relazioni tra gli argomenti del corso; i quiz degli anni passati chiedono proprietà di relazioni e funzioni. Dato che l'esame è unico, non saltare queste parti senza averlo chiesto al docente. ## Sequenza tipica (canale A 2025/26, lezioni dal 18/09 al 15/12/2025) 1. Settimane 1–3 (18/09–02/10): rappresentazione dei dati e aritmetica, struttura del calcolatore, compressione e codici correttori. 2. Settimane 4–6 (06/10–24/10): logica proposizionale e dei predicati, regole di inferenza, tecniche di dimostrazione. 3. Settimane 6–8 (24/10–07/11): induzione, ricorsione, correttezza dei programmi (invarianti, terminazione). 4. Settimane 9–10 (10/11–20/11): relazioni, funzioni, sequenze e parole. 5. Settimane 10–11 (21/11–28/11): circuiti combinatori ed espressioni booleane. 6. Settimane 11–13 (28/11–12/12): circuiti sequenziali, macchine a stati finiti, automi, grammatiche, NFA, linguaggi regolari. 7. Ultima lezione (15/12/2025): esercizi riassuntivi. Nel 2026/27 le lezioni durano fino al 15/01/2027. Il canale C è partito con le slide "Azzeramento" e "Rappresentazione", in linea con A. Il canale B segue il libro con le omissioni indicate sopra; i riassunti delle lezioni su Moodle B finora: - lun 28/09: lezione introduttiva, con la presentazione del libro di testo. Negli appunti non ha un numero. - gio 01/10: parte 1, §1.1 "Bits and Their Storage" (flip-flop, notazione esadecimale), poi memoria centrale e memorie di massa (§1.2–1.3). Negli appunti è la lezione 01. - ven 02/10: parte 1, §1.4 "Representing Information as Bit Patterns" e §1.5 "The Binary System": alfabeti ASCII e UTF-8, colori e suoni, conversioni tra binario e decimale, frazioni binarie, addizione di interi senza segno. Negli appunti è la lezione 02. - lun 05/10: parte 1, §1.6 "Storing Integers" (interi con il segno in complemento a 2, notazione in eccesso, cambio di segno e addizione in complemento a 2) e §1.7 "Storing Fractions" (virgola mobile); omessa la §1.8 su Python. Negli appunti è la lezione 03. - gio 08/10: parte 1, §1.9 e §1.10: compressione dei dati (LZW, JPEG, MPEG, GIF), errori di comunicazione, bit e byte di parità, codici a correzione d'errore, distanza di Hamming. Negli appunti è la lezione 04, scritta sul libro. - ven 09/10: fine della parte 1, esercizi sulle lezioni del docente 01–05, circuiti e rappresentazioni binarie. Negli appunti è la lezione 05. - lun 12/10: inizio della parte 2 del libro (Johnsonbaugh), §1.2 «Logica proposizionale»: proposizioni, connettivi, tavole di verità. Posposto il §1.1 sugli insiemi. Negli appunti è la lezione 06. - gio 15/10: §1.3, proposizioni condizionali ed equivalenza logica. Negli appunti è la lezione 07, scritta prima della lezione. - ven 16/10: §1.4, regole di inferenza per le proposizioni, ed esercizi. Negli appunti è la lezione 08, scritta prima della lezione. ## Materiale - **Moodle canale A** (ospite): diario, registrazioni, lucidi, dispense (conseguenza logica, tecniche di dimostrazione, induzione), soluzioni di esercizi del libro, quiz di autovalutazione. Anni precedenti, sempre con accesso ospite: 2025/26 id=3413, 2024/25 id=2908, 2023/24 id=2696. - **Moodle canale B** (login, iscrizione libera): link a orari, scheda ufficiale, pagina d'esame e scheda del libro sul sito Pearson; presentazione del libro di testo (PDF del 28/09/2026, con istruzioni per acquisto e uso), forum Annunci, pagina delle registrazioni 2026/27, riassunti delle lezioni man mano che si svolgono. - **Pagina d'esame su Moodle Esami** (id=2673, login, comune ai tre canali): quiz di ripasso divisi per lezione, da fare durante il corso in aggiunta ai quiz del libro; soluzioni di una selezione di esercizi del libro (al 28/09 queste due sezioni non mostravano ancora attività); simulazioni d'esame ed esami del 2024, 2025 e 2026, con una selezione di turni per anno e, per ogni turno, i quiz e le domande aperte assegnati. Durante gli appelli quiz, simulazioni e vecchi esami vengono oscurati. Avvertenza dei docenti: i vecchi esami da soli non bastano, all'esame possono uscire domande su argomenti mai chiesti prima; si studia sul libro. - **Moodle canale C**: slide "Azzeramento" e "Slides integrative sulla Rappresentazione", guida all'eBook Pearson, autovalutazione, registrazioni. **Attenzione:** il Moodle del canale C vieta di condividere o divulgare materiale e registrazioni senza l'autorizzazione del docente. - **Guida TSI** (`Materie/FDA`, 2023/24): 2 simulazioni d'esame con soluzioni scritte da studenti (non verificate), appunti manoscritti molto pesanti. ## Consigli e trappole - L'esame è unico e basato sul libro: studia seguendo la mappa "Argomenti del corso e dove trovarli", qualunque sia il tuo canale. - Se compri l'eText, iscriviti al corso Pearson del tuo docente (codice nella presentazione su Moodle) e non a "Studio autonomo": lì trovi le letture della settimana e le assegnazioni del docente. - Le soglie contano: 18 punti per passare (bastano 17,5), 24 **prima dell'arrotondamento** per la domanda aperta, cioè 8 quiz pieni su 9 o l'equivalente con i punteggi parziali. - Nella domanda aperta una risposta molto sbagliata vale −1: se non sai cosa scrivere, lasciala vuota (vale 0). - Durante l'esame non cambiare mai pagina: SEB blocca la prova e non si può riaprire. - 45 minuti per 9 quiz sono pochi: allenati a fare velocemente conversioni di base, complemento a 2, virgola mobile ed eccesso-k, tavole di verità, verifica di stringhe su automi e grammatiche. - Molti quiz hanno più voci da valutare e il punteggio può essere frazionario: ogni voce conta. - Il Moodle del canale A è aperto a tutti e ha diario e registrazioni: utile anche per chi segue B o C. - I quiz di ripasso sulla pagina d'esame (Moodle Esami, id=2673) sono in italiano, mentre il libro è in inglese: falli lezione per lezione, sono anche un allenamento sulla piattaforma dell'esame. Simulazioni e vecchi esami tienili per la fine del corso. - Pianifica con gli appelli di Programmazione I (25/01, 11/02) e MDAG (Matematica Discreta 19/01 e 03/02, Geometria 22/01 e 05/02). --- > File: `contesto_ai/FDA/lezioni/01_bit_porte_esadecimale.md` ```yaml corso: FDA lezione: "01" titolo: Bit, porte logiche, esadecimale e memorie data: 2026-10-01 docenti: Stefano Berardi sopratitolo: Canale B · Lezione 01 · Libro, parte 1, §1.1–1.3 descrizione: >- Appunti della lezione 01 di Fondamenti dell'Informatica (canale B): i bit e quante cose si possono scrivere con n bit, le operazioni booleane AND, OR, XOR e NOT, le porte logiche, il flip-flop che ricorda un bit, la notazione esadecimale, la memoria centrale (celle, indirizzi, RAM, kilobyte) e le memorie di massa (dischi magnetici e ottici, memorie flash), con strumenti interattivi, quiz ed esercizi svolti. lede: >- Dentro un computer ogni informazione è fatta di due soli simboli, zero e uno. Qui vedi come si combinano con quattro operazioni, come le fanno i circuiti, come un circuito riesce a ricordare, come si scrivono in breve le lunghe file di zeri e uni e dove il computer le conserva: nella memoria centrale e nelle memorie di massa. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 1 (Brookshear, cap. 1), §1.1–1.3 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 3 ore, anche in più volte fonte: >- Libro di testo del corso, parte 1 (J. G. Brookshear, D. Brylow, Computer Science: an overview, cap. 1), §1.1 «Bits and Their Storage», §1.2 «Main Memory» e §1.3 «Mass Storage», con le risposte alle loro domande; riassunto della lezione del 01/10/2026 sul Moodle del canale B; lucidi del canale A 2026/27 sulla codifica dei dati; regole d'esame comuni ai tre canali appunti_html: appunti/FDA/01_bit_porte_esadecimale.html genera_html: true ``` ## In breve - Dentro un computer ogni informazione, numeri, testo, immagini e suoni, è scritta con due soli simboli, 0 e 1. Ognuno di questi simboli si chiama **bit**. - Ogni bit in più raddoppia le possibilità: con $n$ bit si scrivono $2^n$ sequenze diverse. Con 8 bit, cioè un **byte**, sono 256. - Le **operazioni booleane** combinano i bit: **AND** dà 1 solo se tutti e due gli ingressi valgono 1, **OR** se almeno uno vale 1, **XOR** se sono diversi, **NOT** scambia 0 e 1. Una **porta logica** è il circuito che esegue una di queste operazioni. - Il **flip-flop** è un circuito che ricorda un bit: la sua uscita resta uguale finché un impulso non la cambia. È un primo mattone della memoria. - La **notazione esadecimale** scrive quattro bit con un solo simbolo, da 0 a 9 e da A a F. Per esempio 1011 0101 diventa B5. - La **memoria centrale** è una lunga fila di **celle** di un byte, ognuna con il suo numero, l'**indirizzo**. Si raggiunge qualunque cella nello stesso tempo (RAM). Un **kilobyte** sono 1024 byte. - Le **memorie di massa**, cioè dischi magnetici, dischi ottici e memorie flash, conservano i dati anche a computer spento. Sono più grandi ed economiche della memoria centrale, ma più lente. - All'esame, comune ai tre canali, tornano le tabelle delle operazioni e la lettura dei circuiti: vanno sapute a memoria. > [!CANALI] > Libro di testo ed esame sono gli stessi nei canali A, B e C; cambiano docenti e ordine delle lezioni. Nel canale B Stefano Berardi segue il libro, in inglese, senza slide sue. La sua prima lezione, lunedì 28/09, è stata un'introduzione al corso: questi appunti partono dalla seconda, giovedì 01/10, che ha fatto la sezione 1.1 del libro (bit, porte, flip-flop, esadecimale), la memoria centrale e le memorie di massa. Per questo qui è la lezione 01. I riassunti delle lezioni stanno sul Moodle del canale B, che chiede il login. Nel canale A (Felice Cardone) i lucidi «Cenni sulla codifica dei dati» partono proprio dai bit e da quante cose si possono etichettare con $n$ bit, e altri lucidi raccontano la struttura della memoria. Il canale C (Luca Paolini) è partito con i lucidi «Azzeramento» e «Rappresentazione». Attenzione: il programma del canale B salta alcune sezioni del libro che l'esame comune può chiedere (dettagli nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md)). ## Due simboli per dire tutto: i bit (libro, §1.1) Un interruttore della luce ha due posizioni, acceso e spento, e nessuna terza. Dentro un computer succede la stessa cosa, miliardi di volte: ogni pezzetto di informazione si trova in uno di due stati. I due stati si scrivono con due simboli, 0 e 1. Ognuno di questi simboli si chiama **bit**, dall'inglese *binary digit*, cioè «cifra binaria». «Binario» vuol dire «fatto di due». Un bit da solo dice poco: sì o no, acceso o spento. Il libro insiste su un punto: un bit è soltanto un **simbolo**, e che cosa vuol dire dipende dall'uso. La stessa fila di bit può rappresentare un numero, una lettera, un pezzetto di immagine o di suono. Le prossime sezioni del libro spiegano come. ### Quante cose si dicono con pochi bit Un bit ha 2 valori. Con due bit le combinazioni sono quattro: 00, 01, 10 e 11. Con tre bit sono otto. Prendi le quattro combinazioni di prima e mettici davanti uno 0, oppure un 1: 000, 001, 010, 011 e poi 100, 101, 110, 111. | Bit | Le sequenze | Quante sono | |--:|---|--:| | 1 | 0, 1 | 2 | | 2 | 00, 01, 10, 11 | 4 | | 3 | 000, 001, 010, 011, 100, 101, 110, 111 | 8 | | 4 | da 0000 a 1111 | 16 | | 8 | da 00000000 a 11111111 | 256 | Ogni bit in più raddoppia il numero delle sequenze. Per ogni sequenza vecchia ce ne sono due nuove: una con uno 0 davanti e una con un 1 davanti. > [!IDEA] > Con $n$ bit si scrivono $2^n$ sequenze diverse. > [!RIPASSO] le potenze di 2 > $2^n$ si legge «due alla $n$» e vuol dire 2 moltiplicato per sé stesso $n$ volte. Per convenzione $2^0 = 1$. > > | $n$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | > |---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:| > | $2^n$ | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 1024 | Una fila di 8 bit si chiama **byte**: la ritrovi più avanti, nella sezione sulla memoria centrale. Un byte può avere $2^8 = 256$ valori diversi. ### Quanti bit servono Ora la domanda al contrario, che i lucidi del canale A fanno subito: devo dare un'etichetta diversa a un certo numero di oggetti. Quanti bit servono, come minimo? Prendi 5 oggetti. Con 2 bit le etichette sono 4: non bastano, un oggetto resterebbe senza. Con 3 bit le etichette sono 8: bastano, e ne avanzano 3. > [!METODO] Quanti bit servono per un certo numero di oggetti > 1. Scrivi le potenze di 2: 1, 2, 4, 8, 16, 32, 64, 128, 256, … > 2. Cerca la prima potenza che è maggiore o uguale al numero degli oggetti. > 3. Il suo esponente è il numero di bit che servono. > [!ESEMPIO] Due conti con il metodo > - **Le 26 lettere dell'alfabeto inglese.** Con 4 bit ci sono 16 etichette: poche. Con 5 bit ce ne sono 32, e $32 \ge 26$. Servono 5 bit. > - **I 100 studenti di un'aula.** Con 6 bit ci sono 64 etichette: poche. Con 7 bit ce ne sono 128, e $128 \ge 100$. Servono 7 bit. > [!NOTA] Lo stesso conto di Matematica Discreta > Contare le sequenze di bit è lo stesso conto dei sottoinsiemi nella [lezione D01 di Matematica Discreta](../MDAG/D01_insiemi_induzione.html). Metti in fila gli elementi di un insieme: ogni bit dice se l'elemento corrispondente c'è (1) o no (0). ::: prova (a) Quante sequenze diverse si scrivono con 5 bit? (b) Quanti bit servono per dare un codice diverso a 40 persone? (a) Con 5 bit le sequenze sono $2^5 = 32$. (b) Con 5 bit le etichette sono 32, che non bastano per 40 persone. Con 6 bit sono 64, che bastano. Servono 6 bit. ::: > [!RICORDA] > - Un bit è un simbolo, 0 oppure 1. Che cosa vuol dire dipende dall'uso. > - Con $n$ bit si scrivono $2^n$ sequenze: ogni bit in più raddoppia. > - Per distinguere un certo numero di oggetti servono tanti bit quanto l'esponente della prima potenza di 2 che arriva almeno a quel numero. ## Quattro operazioni sui bit (libro, §1.1) Quattro situazioni di tutti i giorni. - La porta di casa ha due serrature: si apre solo se giri **tutte e due** le chiavi. - L'allarme suona se si apre la porta **oppure** la finestra, e naturalmente anche se si aprono tutte e due. - Il menù del pranzo offre il dolce o la frutta: puoi prendere l'uno **o** l'altro, ma **non tutti e due**. - La luce del giardino si accende quando **non** è giorno. Ognuna di queste frasi prende uno o due fatti, veri o falsi, e ne ricava un altro fatto, vero o falso. Il libro propone di leggere i bit proprio così: **1 vuol dire vero, 0 vuol dire falso**. Le operazioni su valori veri e falsi si chiamano **operazioni booleane** (*Boolean operations*), dal nome del matematico George Boole (1815–1864). ### AND: tutti e due L'operazione **AND** («e») prende due bit e dà 1 solo quando valgono 1 **tutti e due**. È la porta con due serrature. | A | B | A AND B | |:-:|:-:|:-:| | 0 | 0 | 0 | | 0 | 1 | 0 | | 1 | 0 | 0 | | 1 | 1 | **1** | Nella tabella ci sono tutte le combinazioni possibili dei due ingressi, cioè $2^2 = 4$ righe. Una tabella così si chiama **tabella di verità**. ### OR: almeno uno L'operazione **OR** («o») dà 1 quando **almeno uno** dei due bit vale 1. È l'allarme: basta una porta o una finestra aperta. | A | B | A OR B | |:-:|:-:|:-:| | 0 | 0 | **0** | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 1 | OR dà 0 in un caso solo: quando tutti e due gli ingressi valgono 0. ### XOR: uno solo L'operazione **XOR** (*exclusive or*, «o esclusivo») dà 1 quando **uno solo** dei due bit vale 1. È il menù: dolce o frutta, non tutti e due. Un altro modo di dirlo: XOR dà 1 esattamente quando i due bit sono **diversi**. | A | B | A XOR B | |:-:|:-:|:-:| | 0 | 0 | 0 | | 0 | 1 | **1** | | 1 | 0 | **1** | | 1 | 1 | 0 | OR e XOR differiscono solo nell'ultima riga: con tutti e due gli ingressi a 1, OR dà 1 e XOR dà 0. ### NOT: il contrario L'operazione **NOT** («non») prende **un solo** bit e lo scambia: 0 diventa 1 e 1 diventa 0. È la luce del giardino: accesa quando non è giorno. | A | NOT A | |:-:|:-:| | 0 | 1 | | 1 | 0 | ### Tutte insieme | A | B | A AND B | A OR B | A XOR B | NOT A | |:-:|:-:|:-:|:-:|:-:|:-:| | 0 | 0 | 0 | 0 | 0 | 1 | | 0 | 1 | 0 | 1 | 1 | 1 | | 1 | 0 | 0 | 1 | 1 | 0 | | 1 | 1 | 1 | 1 | 0 | 0 | > [!TRAPPOLA] La «o» dell'italiano > In italiano «o» a volte vuol dire OR e a volte XOR. «Sconto per studenti o pensionati»: se sei tutte e due le cose lo sconto ce l'hai lo stesso, quindi è un OR. «Caffè o tè?»: di solito si sceglie una cosa sola, quindi è un XOR. In informatica OR vuol dire sempre «almeno uno, anche tutti e due». > [!OLTRE] · le operazioni su file di bit > Le stesse operazioni si fanno su due file di bit della stessa lunghezza, colonna per colonna. Con 1100 e 1010: > > | | 1ª colonna | 2ª colonna | 3ª colonna | 4ª colonna | > |---|:-:|:-:|:-:|:-:| > | prima fila | 1 | 1 | 0 | 0 | > | seconda fila | 1 | 0 | 1 | 0 | > | AND | 1 | 0 | 0 | 0 | > | OR | 1 | 1 | 1 | 0 | > | XOR | 0 | 1 | 1 | 0 | > > Quindi 1100 AND 1010 = 1000, 1100 OR 1010 = 1110 e 1100 XOR 1010 = 0110. ::: prova Calcola: (a) 1 AND 0; (b) 1 OR 0; (c) 1 XOR 1; (d) NOT 0. Poi: (e) per quali ingressi XOR dà 1? (a) 0: AND vuole tutti e due gli ingressi a 1, e qui uno vale 0. (b) 1: almeno un ingresso vale 1. (c) 0: i due ingressi sono uguali. (d) 1: NOT scambia 0 e 1. (e) Per 0 e 1, e per 1 e 0: quando i due ingressi sono diversi. ::: > [!RICORDA] > - AND: 1 solo se tutti e due gli ingressi valgono 1. > - OR: 1 se almeno uno vale 1. XOR: 1 se i due ingressi sono diversi. > - NOT: un solo ingresso, e dà il contrario. ## Le porte logiche (libro, §1.1) Le operazioni della sezione precedente sono idee. Per farle davvero serve un oggetto fisico: un dispositivo con dei fili in entrata e un filo in uscita, che produce il risultato dell'operazione. Si chiama **porta logica**, in inglese *gate*. Il libro racconta che una porta si può costruire in tanti modi: con ingranaggi, con relè, con dispositivi ottici. Nei computer di oggi le porte sono piccolissimi circuiti elettronici, e lo 0 e l'1 sono due livelli di tensione: tensione bassa per lo 0, tensione alta per l'1. Ogni porta ha un suo disegno. - **AND** ha la forma di una D: dritta dietro, rotonda davanti. - **OR** ha la forma di uno scudo, con il retro incurvato e la punta davanti. - **XOR** è il disegno dell'OR con una curva in più sul retro. - **NOT** è un triangolo con un cerchietto sulla punta. Il cerchietto vuol dire «inverti». Prova le porte nello strumento qui sotto. ```widget porte titolo: Le quattro porte logiche: clicca sugli ingressi A e B modo: porte a: 1 b: 0 ``` Guarda lo strumento: i fili che valgono 1 si colorano. Con A = 1 e B = 0 si accendono le uscite di OR e di XOR, ma non quella di AND. Ora metti anche B a 1: XOR si spegne e AND si accende. Prova tutte e quattro le combinazioni e confrontale con la tabella della sezione precedente. ### Collegare le porte L'uscita di una porta può diventare l'ingresso di un'altra. Così si costruiscono circuiti che fanno conti più complicati. Un esempio con tre ingressi, che chiamiamo A, B e C: 1. A e B entrano in una porta XOR; 2. l'uscita dell'XOR e l'ingresso C entrano in una porta AND; 3. l'uscita dell'AND è l'uscita del circuito. Per sapere che cosa fa il circuito si prova ogni combinazione degli ingressi. Gli ingressi sono 3, quindi le combinazioni sono $2^3 = 8$. Si aggiunge una colonna per la porta XOR, che lavora per prima, e una per l'uscita. | A | B | C | A XOR B | uscita: (A XOR B) AND C | |:-:|:-:|:-:|:-:|:-:| | 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 1 | 0 | 0 | | 0 | 1 | 0 | 1 | 0 | | 0 | 1 | 1 | 1 | **1** | | 1 | 0 | 0 | 1 | 0 | | 1 | 0 | 1 | 1 | **1** | | 1 | 1 | 0 | 0 | 0 | | 1 | 1 | 1 | 0 | 0 | L'uscita vale 1 in due righe soltanto. A parole: **uno solo dei primi due ingressi vale 1, e il terzo vale 1**. È la risposta che il libro dà alla domanda 1 del §1.1, su un circuito di questo tipo. > [!METODO] Leggere un circuito di porte > 1. Scrivi tutte le combinazioni degli ingressi: con $n$ ingressi sono $2^n$ righe. Mettile in ordine, come nella tabella qui sopra. > 2. Aggiungi una colonna per ogni porta, partendo da quelle attaccate agli ingressi. > 3. Riempi una colonna alla volta, con la tabella della porta. > 4. L'ultima colonna è l'uscita del circuito. Alla fine descrivila a parole. Un circuito come questo ha una proprietà importante: la sua uscita dipende **soltanto** dagli ingressi di quel momento. Se gli ingressi cambiano, l'uscita cambia subito di conseguenza. Nella prossima sezione vedi un circuito che si comporta in modo diverso. ::: prova Nel circuito di prima, che cosa esce con A = 1, B = 1 e C = 1? E con A = 0, B = 1 e C = 1? Con A = 1, B = 1 e C = 1: l'XOR riceve due ingressi uguali e dà 0. L'AND riceve 0 e 1 e dà 0. Esce 0. Con A = 0, B = 1 e C = 1: l'XOR riceve due ingressi diversi e dà 1. L'AND riceve 1 e 1 e dà 1. Esce 1. ::: > [!RICORDA] > - Una porta logica è un circuito che esegue un'operazione booleana: AND, OR, XOR o NOT. > - Collegando le porte si costruiscono circuiti. Per capire che cosa fanno, si scrive la tabella con tutte le combinazioni degli ingressi. ## Un circuito che ricorda: il flip-flop (libro, §1.1) Le porte viste finora non ricordano niente. La loro uscita dipende solo dagli ingressi di quel momento: quando l'ingresso cambia, l'uscita cambia. Per costruire una memoria serve un circuito che tenga un bit anche quando gli ingressi tornano a 0. Il libro chiama **flip-flop** un circuito con un'uscita che vale 0 oppure 1 e che **resta uguale** finché un **impulso** non la fa cambiare. Un impulso (*pulse*) è un ingresso che passa per un attimo a 1 e poi torna a 0, come quando premi e lasci un pulsante. ### Com'è fatto Il flip-flop della figura 1.3 del libro ha due ingressi, uno in alto e uno in basso, e tre porte. 1. L'ingresso in alto entra in una porta **OR**. 2. L'uscita dell'OR entra in una porta **AND**. 3. L'ingresso in basso passa da una porta **NOT** ed entra nell'AND. 4. L'uscita dell'AND è l'uscita del flip-flop. Ma **torna anche indietro**, ed entra nell'OR come secondo ingresso. Il filo che torna indietro è il trucco. Provalo nello strumento. ```widget porte titolo: Il flip-flop della figura 1.3: prova gli impulsi modo: flipflop ``` Guarda che cosa succede con gli impulsi. 1. **All'inizio** gli ingressi valgono 0 e l'uscita vale 0. 2. **Impulso in alto.** L'OR riceve 1 e dà 1. Il NOT riceve 0 dall'ingresso in basso e dà 1. L'AND riceve 1 e 1: l'uscita diventa 1. 3. **Fine dell'impulso.** L'ingresso in alto torna a 0, ma l'OR riceve ancora l'uscita, che vale 1, e continua a dare 1. Quindi l'uscita **resta 1**: il circuito si ricorda dell'impulso. 4. **Impulso in basso.** Il NOT riceve 1 e dà 0. L'AND riceve uno 0 e dà 0: l'uscita diventa 0. Ora l'OR riceve 0 dall'ingresso in alto e 0 dall'uscita, e dà 0. 5. **Fine dell'impulso.** Il NOT torna a dare 1, ma l'OR dà 0, quindi l'AND continua a dare 0. L'uscita **resta 0**. La stessa storia in una tabella. In ogni riga ci sono i valori dopo che il circuito si è assestato. | Momento | In alto | In basso | OR | NOT | AND, cioè l'uscita | |---|:-:|:-:|:-:|:-:|:-:| | all'inizio | 0 | 0 | 0 | 1 | 0 | | impulso in alto | 1 | 0 | 1 | 1 | **1** | | fine dell'impulso | 0 | 0 | 1 | 1 | **1** | | impulso in basso | 0 | 1 | 0 | 0 | **0** | | fine dell'impulso | 0 | 0 | 0 | 1 | **0** | Confronta la seconda e la terza riga: gli ingressi tornano come all'inizio, ma l'uscita no. L'uscita e l'OR si tengono accesi a vicenda, finché l'impulso in basso non spezza il giro. > [!IDEA] > Un impulso in alto mette l'uscita a 1, un impulso in basso la mette a 0. Tra un impulso e l'altro l'uscita resta com'è: il flip-flop **ricorda un bit**. > [!NOTA] Un altro modo di costruirlo > Il libro mostra anche un secondo flip-flop (figura 1.5), con due porte OR e due porte NOT. L'idea è la stessa: un'uscita che torna indietro e si tiene da sola. Lo racconta la domanda 3 del §1.1. Il flip-flop è uno dei modi di conservare un bit dentro un computer. Come è organizzata la memoria, fatta di tantissimi bit, lo vedi più avanti, nella sezione sulla memoria centrale. ::: prova (a) Il flip-flop ha uscita 1 e arriva un impulso in alto. Che cosa succede? (b) Ha uscita 1 e arriva un impulso in basso. Che cosa succede? (a) Niente di nuovo. Durante l'impulso l'OR riceve 1 dall'ingresso e 1 dall'uscita, e dà 1; il NOT dà 1; l'AND dà 1. Dopo l'impulso l'uscita resta 1. (b) Il NOT riceve 1 e dà 0, quindi l'AND dà 0: l'uscita diventa 0, e resta 0 anche dopo l'impulso. ::: > [!RICORDA] > - Il flip-flop ha un'uscita che resta uguale finché un impulso non la cambia. > - Impulso in alto: uscita 1. Impulso in basso: uscita 0. > - Il segreto è il filo che riporta l'uscita all'ingresso dell'OR. ## Scrivere i bit in breve: l'esadecimale (libro, §1.1) Prova a leggere ad alta voce questa fila di bit: 0110101011110010. È facile perdersi: sedici cifre, tutte 0 o 1. Il libro chiama una fila di bit una **stringa** di bit (*string*), e una stringa molto lunga un **flusso** (*stream*). Il trucco è dividere la fila in gruppi di quattro bit, e scrivere ogni gruppo con un solo simbolo: $$0110\ \ 1010\ \ 1111\ \ 0010 \quad\longrightarrow\quad 6\ \ \text{A}\ \ \text{F}\ \ 2$$ Quattro bit hanno $2^4 = 16$ combinazioni, quindi servono 16 simboli. Si usano le cifre da 0 a 9 e le lettere da A a F. Questo modo di scrivere si chiama **notazione esadecimale** (*hexadecimal notation*), da «sedici». | Bit | Cifra | | Bit | Cifra | |:-:|:-:|---|:-:|:-:| | 0000 | 0 | | 1000 | 8 | | 0001 | 1 | | 1001 | 9 | | 0010 | 2 | | 1010 | A | | 0011 | 3 | | 1011 | B | | 0100 | 4 | | 1100 | C | | 0101 | 5 | | 1101 | D | | 0110 | 6 | | 1110 | E | | 0111 | 7 | | 1111 | F | Per ricordare la tabella c'è un aiuto. Le quattro posizioni del gruppo valgono, da sinistra, 8, 4, 2 e 1. Somma i valori delle posizioni dove c'è un 1. Per esempio 1011 dà $8 + 2 + 1 = 11$. Poi i numeri da 10 a 15 si scrivono con le lettere: A è 10, B è 11, e così via fino a F, che è 15. Quindi 1011 si scrive B. Perché funziona lo vedi nella [lezione 02](02_testo_colori_suoni_binario.html), sui numeri in base 2 (sezione 1.5 del libro). > [!METODO] Dai bit all'esadecimale, e ritorno > **Dai bit all'esadecimale.** > 1. Dividi la fila in gruppi di quattro bit, partendo da destra. Se il primo gruppo a sinistra ha meno di quattro bit, aggiungi degli 0 davanti. > 2. Scrivi la cifra di ogni gruppo con la tabella. > 3. Metti le cifre una dopo l'altra, nello stesso ordine. > > **Dall'esadecimale ai bit.** Scrivi ogni cifra con i suoi quattro bit, **compresi gli 0 davanti**, e mettili in fila. > [!ESEMPIO] Due conversioni > **10110101 in esadecimale.** I gruppi sono 1011 e 0101. Con la tabella 1011 è B e 0101 è 5. Il risultato è B5. > > **5FD97 in bit.** Le cifre sono 5, F, D, 9 e 7. Con la tabella diventano 0101, 1111, 1101, 1001 e 0111. In fila: 01011111110110010111, cioè 20 bit. Nello strumento qui sotto puoi cambiare i bit con un clic e vedere cambiare le cifre. ```widget porte titolo: Sedici bit e le loro quattro cifre esadecimali modo: esadecimale bit: 0110101011110010 ``` > [!TRAPPOLA] Ogni cifra vale quattro bit, anche lo 0 > La stringa esadecimale 0100 vuol dire 0000 0001 0000 0000: sedici bit, non i tre bit «100». Ogni cifra, zeri compresi, diventa un gruppo intero di quattro bit. ::: prova (a) Scrivi in esadecimale la fila 11100001. (b) Scrivi in bit la stringa esadecimale 3C. (a) I gruppi sono 1110 e 0001. Con la tabella sono E e 1. Il risultato è E1. (b) 3 è 0011 e C è 1100. Il risultato è 00111100. ::: > [!RICORDA] > - Una cifra esadecimale vale quattro bit: da 0000, cioè 0, a 1111, cioè F. > - Per passare all'esadecimale si fanno gruppi di quattro bit partendo da destra. Per tornare ai bit si scrive ogni cifra con quattro bit, zeri compresi. ## La memoria centrale (libro, §1.2) Immagina una cassettiera altissima, con i cassetti tutti uguali uno sopra l'altro. Su ogni cassetto c'è un numero: 0, 1, 2, 3, e così via. In ogni cassetto c'è posto per una fila di 8 bit. La memoria centrale di un computer è fatta proprio così. Per conservare i dati, un computer ha moltissimi circuiti come il flip-flop, ognuno capace di tenere un bit. Tutti insieme formano la **memoria centrale** (*main memory*). ### Celle e byte I bit della memoria centrale non stanno sparsi: sono raggruppati in **celle** (*cells*). Di solito una cella contiene 8 bit, cioè un **byte**. Un forno a microonde può avere qualche centinaio di celle; un computer di oggi ne ha miliardi. Dentro una cella i bit stanno in fila. Il libro chiama **estremo alto** (*high-order end*) quello di sinistra ed **estremo basso** (*low-order end*) quello di destra. Il bit all'estremo alto si chiama **bit più significativo** (*most significant bit*), quello all'estremo basso **bit meno significativo** (*least significant bit*). | Posizione | 1° | 2° | 3° | 4° | 5° | 6° | 7° | 8° | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Una cella | **1** | 0 | 0 | 1 | 0 | 1 | 1 | **0** | | Nome | più significativo | | | | | | | meno significativo | I nomi vengono dai numeri in base 2, che vedi nella [lezione 02](02_testo_colori_suoni_binario.html): il bit più a sinistra è quello che pesa di più. ### Gli indirizzi Ogni cella ha un numero che la identifica, come il numero civico di una casa: è il suo **indirizzo** (*address*). Gli indirizzi partono da 0 e crescono di uno in uno. Così le celle hanno un ordine, e si può parlare della cella successiva o di quella precedente. L'ordine serve anche a conservare file di bit più lunghe di un byte: si usano celle vicine. Per esempio sedici bit occupano due celle consecutive. Con una cella si fanno due cose. - **Leggerla**: si copia il suo contenuto, che resta com'era. - **Scriverci**: si mette nella cella un valore nuovo. Il valore di prima si perde. > [!ESEMPIO] Scrivere o copiare (domanda 1 del §1.2) > La cella 5 contiene il valore 8. Scrivere il valore 5 nella cella 6 vuol dire che la cella 6 contiene 5. Copiare il contenuto della cella 5 nella cella 6 vuol dire che la cella 6 contiene 8. Nei due casi la cella 5 resta com'era. Prova le due operazioni nello strumento qui sotto. Poi prova a scambiare il contenuto di due celle, come chiede la domanda 2 del §1.2: copiando la cella 2 nella 3 e poi la 3 nella 2 non funziona. Perché? E come si fa? ```widget porte titolo: Una piccola memoria di otto celle: scrivi e copia modo: memoria ``` ### Ad accesso casuale: la RAM La memoria centrale si chiama anche **RAM**, dall'inglese *random access memory*, cioè memoria ad accesso casuale. «Casuale» qui vuol dire che si può raggiungere qualunque cella, in qualunque ordine, nello stesso tempo. Su una vecchia cassetta, invece, per ascoltare la quinta canzone bisogna far scorrere il nastro fino a lì. Molte RAM di oggi tengono i bit come piccolissime cariche elettriche, che si scaricano in fretta. Un circuito le rinfresca molte volte al secondo. Per questo si chiamano **RAM dinamiche** (*dynamic RAM*, DRAM). La RAM ha anche un limite: quando si spegne il computer perde tutto il suo contenuto. ### Quanto è grande una memoria Le celle si contano con le potenze di 2, perché gli indirizzi sono scritti con i bit: con 10 bit si numerano $2^{10} = 1024$ celle. Per questo le memorie hanno spesso misure come 1024 o 4096 celle. Il numero 1024 è vicino a 1000, quindi 1024 byte si chiamano un **kilobyte** (KB). Poi si prosegue nello stesso modo: 1024 KB fanno un **megabyte** (MB) e 1024 MB fanno un **gigabyte** (GB). | Nome | Sigla | Byte | Come potenza di 2 | |---|---|--:|:-:| | kilobyte | KB | 1 024 | $2^{10}$ | | megabyte | MB | 1 048 576 | $2^{20}$ | | gigabyte | GB | 1 073 741 824 | $2^{30}$ | > [!TRAPPOLA] Kilo vuol dire 1000 o 1024? > Fuori dall'informatica «kilo» vuol dire esattamente 1000, e anche chi vende dischi conta spesso così: un disco da 1 GB può avere 1 000 000 000 byte. Per togliere il dubbio nel 1998 sono nati i nomi **kibibyte** (KiB), **mebibyte** (MiB) e **gibibyte** (GiB), che vogliono dire sempre 1024 byte, $2^{20}$ byte e $2^{30}$ byte. In queste lezioni, come nel libro, per la memoria KB vuol dire 1024 byte. > [!ESEMPIO] Quanti bit ci sono in 4 KB (domanda 3 del §1.2) > Un kilobyte sono 1024 byte, quindi 4 KB sono $4 \cdot 1024 = 4096$ byte. Ogni byte ha 8 bit: in tutto $4096 \cdot 8 = 32768$ bit. ::: prova (a) Quanti byte ci sono in 2 KB? E quanti bit? (b) Con indirizzi di 12 bit, quante celle si possono numerare? (a) 2 KB sono $2 \cdot 1024 = 2048$ byte, cioè $2048 \cdot 8 = 16384$ bit. (b) Con 12 bit si scrivono $2^{12} = 4096$ indirizzi diversi, da 0 a 4095: si numerano 4096 celle, cioè 4 KB di memoria se ogni cella è un byte. ::: > [!RICORDA] > - La memoria centrale è una fila di celle di un byte. Ogni cella ha un indirizzo, da 0 in su. > - Leggere una cella non la cambia; scriverci sopra cancella il valore di prima. > - Nella RAM si raggiunge qualunque cella nello stesso tempo. Quando si spegne il computer, la RAM perde tutto. > - 1 KB = 1024 byte, 1 MB = 1024 KB, 1 GB = 1024 MB. ## Le memorie di massa (libro, §1.3) Quando spegni il computer e lo riaccendi, i tuoi file ci sono ancora. Eppure la memoria centrale, spegnendo, perde tutto. I file stanno da un'altra parte: nelle **memorie di massa** (*mass storage*), dette anche memorie secondarie. Rispetto alla memoria centrale, le memorie di massa hanno tre vantaggi e un difetto. - Conservano i dati anche senza corrente. - Sono molto più grandi. - Costano molto meno per ogni byte, e spesso si possono staccare e portare via. - Ma sono più lente. Molte hanno parti che si muovono, come un disco che gira, e un movimento meccanico è lentissimo rispetto ai circuiti elettronici. Il libro ne presenta tre famiglie: i dischi magnetici, i dischi ottici e le memorie flash. ### I dischi magnetici Un **disco rigido** (*hard disk*) è fatto di dischi sottili ricoperti di materiale magnetico, che girano velocissimi uno sopra l'altro. Sopra ogni faccia c'è una **testina di lettura e scrittura** (*read/write head*), che scrive i bit magnetizzando piccole zone della superficie e li legge sentendo come sono magnetizzate. Se la testina sta ferma, il disco che gira le passa sotto lungo un cerchio. Spostando la testina verso il centro o verso il bordo si passa a un cerchio diverso. - Ogni cerchio si chiama **traccia** (*track*): le tracce sono cerchi con lo stesso centro, uno dentro l'altro. - Ogni traccia è divisa in archi chiamati **settori** (*sectors*). Tutti i settori contengono lo stesso numero di bit, per esempio 512 byte o qualche KB. - Le testine di tutte le facce si muovono insieme. Le tracce che stanno una sopra l'altra, alla stessa distanza dal centro, formano un **cilindro** (*cylinder*). Segnare tracce e settori su un disco nuovo vuol dire **formattarlo**. Per sapere quanto è veloce un disco si guardano quattro misure. - **Tempo di ricerca** (*seek time*): il tempo che serve per spostare le testine da una traccia a un'altra. - **Ritardo di rotazione** o **latenza** (*rotation delay*, *latency time*): il tempo di attesa perché il settore giusto arrivi sotto la testina. In media è mezzo giro del disco. - **Tempo di accesso** (*access time*): la somma dei due tempi di prima. - **Velocità di trasferimento** (*transfer rate*): quanti bit al secondo si possono leggere o scrivere. > [!ESEMPIO] Il ritardo di rotazione di un disco > Un disco fa 7200 giri al minuto, cioè $7200 : 60 = 120$ giri al secondo. Un giro dura quindi $1/120$ di secondo, circa 8,3 millesimi di secondo. In media si aspetta mezzo giro: circa 4,2 millesimi di secondo. Sembra poco, ma in quel tempo un processore fa milioni di operazioni. > [!NOTA] I nastri magnetici > Esistono anche i nastri magnetici, simili alle vecchie cassette. Per arrivare a un dato bisogna far scorrere il nastro fino a lì, quindi sono lentissimi. Si usano ancora per le copie di sicurezza degli archivi molto grandi. ### I dischi ottici: CD, DVD e Blu-ray Un **CD** (*compact disk*) è un disco di 12 centimetri con una superficie che riflette la luce, protetta da uno strato di plastica. I bit sono piccole irregolarità della superficie: un laser le illumina e un sensore sente come la luce torna indietro. A differenza dei dischi magnetici, i dati stanno su una sola traccia **a spirale**. La spirale parte dal centro e arriva al bordo, come il solco di un vecchio disco in vinile, ed è divisa in settori. - Un CD contiene da 600 a 700 MB. - Un **DVD** (*digital versatile disk*) ha le stesse misure, ma più strati semitrasparenti uno sopra l'altro: contiene alcuni GB. - Un **Blu-ray** (BD) usa un laser blu-violetto invece che rosso. Il raggio è più sottile e i bit stanno più vicini: contiene più di cinque volte un DVD. La spirale va benissimo per i dati lunghi letti dall'inizio alla fine, come musica e film. Per saltare a un dato qualunque, invece, è lenta: non ci sono tracce da raggiungere con un solo spostamento. ### Le memorie flash Le **memorie flash** sono le chiavette USB, le schede SD delle macchine fotografiche e i dischi a stato solido. Non hanno nessuna parte in movimento. I bit si scrivono con segnali elettrici che intrappolano elettroni in minuscole celle di biossido di silicio; lì gli elettroni restano per anni, anche senza corrente. Senza parti in movimento sono veloci, silenziose e non temono gli urti. Hanno però un limite: ogni volta che una cella si cancella si rovina un poco, e dopo molte riscritture smette di funzionare. Per questo non vanno bene come memoria centrale, che si riscrive di continuo. Un **disco a stato solido** (*solid-state disk*, SSD) è una memoria flash abbastanza grande da prendere il posto del disco rigido. È più veloce, silenzioso e robusto. Costa però di più per ogni GB, e per questo i dischi magnetici si usano ancora. | | Dischi magnetici | Dischi ottici | Memorie flash | |---|---|---|---| | Come si scrive un bit | magnetizzando un punto della superficie | cambiando come la superficie riflette la luce | intrappolando elettroni in piccole celle | | Parti in movimento | sì: dischi e testine | sì: disco e laser | no | | Come stanno i dati | tracce concentriche, settori, cilindri | una sola traccia a spirale | celle elettroniche | | Punti forti | tanto spazio, costo basso per byte | economici e facili da trasportare | veloci, robuste, silenziose | | Punti deboli | lenti rispetto alla RAM | lenti a saltare da un dato a un altro | costano di più, si consumano riscrivendole | ::: prova (a) Un disco fa 6000 giri al minuto. Quanto vale in media il ritardo di rotazione? (b) Perché una chiavetta USB non ha tempo di ricerca? (a) 6000 giri al minuto sono $6000 : 60 = 100$ giri al secondo: un giro dura $1/100$ di secondo, cioè 10 millesimi. In media si aspetta mezzo giro: 5 millesimi di secondo. (b) Il tempo di ricerca è il tempo per spostare le testine da una traccia all'altra. Una chiavetta è una memoria flash: non ha testine né parti che si muovono. ::: > [!RICORDA] > - Le memorie di massa conservano i dati anche a computer spento, sono grandi ed economiche, ma più lente della memoria centrale. > - Disco magnetico: tracce concentriche divise in settori; le tracce una sopra l'altra formano un cilindro. Tempo di accesso = tempo di ricerca + ritardo di rotazione. > - CD, DVD e Blu-ray: una sola traccia a spirale letta da un laser. Il Blu-ray usa un laser blu-violetto e contiene di più. > - Memorie flash e SSD: nessuna parte in movimento, veloci e robuste, ma si consumano riscrivendole. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $0$, $1$ | «zero», «uno» | i due valori di un bit; come valori di verità, falso e vero | 1 AND 1 = 1 | | bit | «bit» | una cifra binaria, 0 oppure 1 | 1 | | byte | «bàit» | una fila di 8 bit | 01001000 | | $2^n$ | «due alla $n$» | quante sequenze diverse si scrivono con $n$ bit | $2^8 = 256$ | | AND | «end» | 1 solo se tutti e due gli ingressi valgono 1 | 1 AND 0 = 0 | | OR | «or» | 1 se almeno un ingresso vale 1 | 1 OR 0 = 1 | | XOR | «ics-or» | 1 se i due ingressi sono diversi | 1 XOR 1 = 0 | | NOT | «not» | il contrario dell'ingresso | NOT 0 = 1 | | $\land$, $\lor$, $\oplus$, $\lnot$ | «e», «o», «o esclusivo», «non» | le stesse operazioni scritte come in logica (parte 2 del libro) | $1 \land 0 = 0$ | | A, B, C, D, E, F | «a», «bi», «ci», «di», «e», «effe» | le cifre esadecimali che valgono da 10 a 15 | B = 1011 | | $1011_2$, $\text{B}_{16}$ | «1011 in base due», «B in base sedici» | il numerino in basso dice in che base è scritto il numero ([lezione 02](02_testo_colori_suoni_binario.html)) | $1011_2 = \text{B}_{16}$ | | KB, MB, GB | «kilobyte», «megabyte», «gigabyte» | per la memoria: $2^{10}$, $2^{20}$ e $2^{30}$ byte | 4 KB = 4096 byte | | KiB, MiB, GiB | «kibibyte», «mebibyte», «gibibyte» | gli stessi valori, con nomi che non lasciano dubbi | 1 KiB = 1024 byte | | RAM | «ram» | la memoria centrale, ad accesso casuale (*random access memory*) | 8 GB di RAM | | SSD | «esse-esse-di» | disco a stato solido, fatto di memoria flash | un SSD da 512 GB | ## Verso l'esame L'esame di **Fondamenti dell'Informatica** è uno scritto sulla piattaforma Moodle Esami, con Safe Exam Browser, ed è **unico per i canali A, B e C**. Le regole valgono per gli appelli da gennaio a settembre 2027. **Com'è fatta la prova** - **Parte 1: 9 quiz** a risposta chiusa in 45 minuti, da 3 punti l'uno, quindi al massimo 27. Per passare servono **almeno 18 punti**: 17,5 viene arrotondato a 18. - **Parte 2, facoltativa: una domanda aperta** in 30 minuti, che vale **da −1 a 6 punti**. Si può fare solo con **almeno 24 punti** nei quiz, contati prima dell'arrotondamento. Una risposta molto sbagliata vale −1: se non sai che cosa scrivere, lasciala vuota. - Oltre 30 punti il voto è 30 e lode. Durante la prova non si cambia pagina: Safe Exam Browser blocca la prova. | Appello 2026/27 | Iscrizioni | Ora | |---|---|---| | ven 29/01/2027 | 09/01 – 22/01/2027 | 9:00 | | gio 18/02/2027 | 29/01 – 11/02/2027 | 9:00 | Tutti i dettagli sono nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md). **Che cosa serve di questa lezione** 1. **Le tabelle delle operazioni.** Nelle simulazioni d'esame del 2023/24 tornano due tipi di quiz. Uno chiede la formula booleana di una tabella di verità; l'altro dà un circuito, combinatorio o sequenziale, e chiede che funzione calcola. Sono le idee di questa lezione, riprese più avanti con le algebre di Boole e i circuiti (capitolo 11 della parte 2 del libro). 2. **Leggere un circuito.** Il metodo con la tabella di tutte le combinazioni degli ingressi funziona per qualunque circuito di porte. 3. **I bit e le potenze di 2.** Quante sequenze con $n$ bit e quanti bit servono: sono conti che tornano con la rappresentazione dei numeri. 4. **L'esadecimale.** Torna con le conversioni tra basi della [lezione 02](02_testo_colori_suoni_binario.html). 5. **Memoria centrale e memorie di massa.** Nei quiz delle simulazioni del 2023/24 non compaiono, ma le sezioni 1.2 e 1.3 stanno nella mappa comune del libro. Servono le idee (celle, indirizzi, RAM, tracce, settori, flash) e i conti con le potenze di 2, come i bit di 4 KB. I quiz sono in italiano e il libro in inglese: impara i nomi in tutte e due le lingue. Il glossario in fondo li mette uno accanto all'altro. Sulla pagina d'esame (Moodle Esami, id 2673) ci sono anche quiz di ripasso divisi per lezione. > [!ESAME] Cinque minuti a domanda > Nella prima parte hai 45 minuti per 9 quiz: 5 minuti a domanda. Le tabelle di AND, OR, XOR e NOT e la tabella dell'esadecimale vanno sapute a memoria, senza doverle ricostruire durante la prova. **Errori da evitare** - Confondere OR e XOR nella riga con tutti e due gli ingressi a 1: OR dà 1, XOR dà 0. - Dimenticare una combinazione degli ingressi: con 3 ingressi le righe sono 8, non 6. - Pensare che il flip-flop torni a 0 da solo quando l'impulso finisce: è proprio quello che non fa. - Nell'esadecimale, togliere gli 0 davanti a una cifra: 1 è 0001, non 1. - Dimenticare che un byte ha 8 bit, o che per la memoria un KB ha 1024 byte: 4 KB sono $4 \cdot 1024 \cdot 8 = 32768$ bit. - Credere che il tempo di accesso di un disco sia solo il tempo di ricerca: va aggiunto il ritardo di rotazione. ## Quiz ```quiz D: Quante sequenze diverse si possono scrivere con 6 bit? - $6$ - $12$ - $36$ + $64$ - $128$ = Ogni bit in più raddoppia le sequenze: con 6 bit sono $2^6 = 2 \cdot 2 \cdot 2 \cdot 2 \cdot 2 \cdot 2 = 64$. La risposta $12$ viene se si fa $6 \cdot 2$ invece di moltiplicare 2 per sé stesso 6 volte. La risposta $36$ è $6 \cdot 6$, un conto che qui non c'entra. La risposta $128$ è il conto per 7 bit. D: Quanti bit servono, come minimo, per dare un codice diverso a ognuno dei 30 studenti di un laboratorio? - $4$ + $5$ - $6$ - $15$ - $30$ = Con 4 bit i codici sono $2^4 = 16$, non bastano per 30 studenti. Con 5 bit sono $2^5 = 32$, che bastano. Quindi servono 5 bit. La risposta $6$ funziona, ma non è il minimo. Le risposte $15$ e $30$ dimenticano che ogni bit raddoppia i codici. D: Per quali valori di A e B l'operazione A XOR B dà 1? - Solo per A = 1 e B = 1. - Solo per A = 0 e B = 0. + Per A = 0 e B = 1, e per A = 1 e B = 0. - In tutti i casi tranne A = 0 e B = 0. - In tutti i casi tranne A = 1 e B = 1. = XOR dà 1 esattamente quando i due ingressi sono diversi, cioè nelle due righe con uno 0 e un 1. La risposta «in tutti i casi tranne A = 0 e B = 0» descrive OR, ed è la più tentatrice: OR dà 1 anche con tutti e due gli ingressi a 1, XOR no. «Solo per A = 1 e B = 1» descrive AND. D: Con A = 1 e B = 0, quanto vale NOT (A AND B)? - $0$ + $1$ - Dipende dall'ordine degli ingressi. - Non si può calcolare: NOT ha un solo ingresso. - $10$ = Si calcola prima la parentesi: 1 AND 0 = 0, perché AND vuole tutti e due gli ingressi a 1. Poi NOT 0 = 1. NOT ha davvero un solo ingresso, ma qui il suo ingresso è il risultato della parentesi, un bit solo. L'ordine degli ingressi di AND non conta: 1 AND 0 e 0 AND 1 danno tutti e due 0. D: Nel circuito (A XOR B) AND C, quale combinazione di ingressi dà uscita 1? - A = 1, B = 1, C = 1 - A = 0, B = 0, C = 1 + A = 1, B = 0, C = 1 - A = 0, B = 1, C = 0 - A = 1, B = 0, C = 0 = L'uscita vale 1 quando l'XOR dà 1, cioè A e B sono diversi, e anche C vale 1. Solo A = 1, B = 0, C = 1 rispetta tutte e due le condizioni. Con A = 1, B = 1, C = 1, la risposta più tentatrice, l'XOR riceve due ingressi uguali e dà 0, quindi esce 0. Con C = 0 l'AND dà sempre 0. D: Il flip-flop della figura 1.3 ha uscita 1. Arriva un impulso sull'ingresso in alto, che poi torna a 0. Quanto vale l'uscita dopo l'impulso? - $0$, perché l'ingresso in alto è tornato a 0. + $1$, perché l'uscita torna all'OR e lo tiene a 1. - $0$, perché ogni impulso scambia l'uscita. - Dipende da quanto è durato l'impulso. - Non si può sapere senza conoscere l'ingresso in basso. = L'uscita valeva già 1. Durante l'impulso l'OR riceve 1, il NOT dà 1 perché l'ingresso in basso vale 0, e l'AND dà 1. Quando l'impulso finisce, l'OR riceve ancora l'uscita, che vale 1, e l'uscita resta 1. La prima risposta è la più tentatrice: varrebbe per una porta normale, che non ricorda, ma non per un flip-flop. L'ingresso in basso è fermo a 0, come in tutti gli esempi del libro. D: Come si scrive in notazione esadecimale la fila di bit 11010011? - $\text{C}3$ + $\text{D}3$ - $\text{D}6$ - $\text{B}3$ - $211$ = I gruppi di quattro bit sono 1101 e 0011. Con la tabella, 1101 è D, perché $8 + 4 + 1 = 13$, e 0011 è 3, perché $2 + 1 = 3$. Il risultato è D3. C è 1100, B è 1011: le risposte con C o B sbagliano il primo gruppo di un bit. La risposta $211$ è il valore del numero in base dieci, che qui non è richiesto. D: Quale fila di bit rappresenta la stringa esadecimale 7E? - $0111\ 1101$ + $0111\ 1110$ - $111\ 1110$ - $1110\ 0111$ - $0111\ 1111$ = Ogni cifra diventa quattro bit: 7 è 0111 ed E è 1110. In fila viene 0111 1110. La risposta con soli 7 bit dimentica lo 0 davanti al 7: ogni cifra vale sempre quattro bit. La risposta 1110 0111 scambia l'ordine delle cifre. 1101 è D, non E. D: Quante cifre esadecimali servono per scrivere una fila di 24 bit? N: 6 = Ogni cifra esadecimale vale quattro bit, quindi servono $24 : 4 = 6$ cifre. Per esempio la stringa E85517 del §1.1 è fatta di 24 bit. D: Quanti bit ci sono in una memoria da 2 KB? - $2000$ - $2048$ - $16000$ + $16384$ - $16$ = 2 KB sono $2 \cdot 1024 = 2048$ byte, e ogni byte ha 8 bit: $2048 \cdot 8 = 16384$. La risposta $2048$ conta i byte, non i bit. La risposta $16000$ usa 1000 al posto di 1024: per la memoria un KB vale 1024 byte. D: Le celle 2 e 3 contengono due valori diversi. Quale sequenza di passi scambia i loro contenuti? - Copia la cella 2 nella 3, poi copia la cella 3 nella 2. - Copia la cella 3 nella 2, poi copia la cella 2 nella 3. + Copia la cella 2 nella 1, poi la cella 3 nella 2, poi la cella 1 nella 3. - Copia la cella 2 nella 1, poi la cella 1 nella 3, poi la cella 3 nella 2. - Non si può fare: copiare una cella cancella sempre quella di partenza. = Serve una cella di appoggio, qui la 1. Si mette da parte il valore della cella 2, poi si copia la 3 nella 2, infine si porta nella 3 il valore messo da parte. Le prime due risposte perdono un valore al primo passo: alla fine le due celle contengono lo stesso valore. La quarta copia nella 3 il valore della 2 prima di aver salvato quello della 3, che va perso. L'ultima è falsa: copiare legge la cella di partenza senza cambiarla. D: Un disco magnetico deve leggere un settore che sta su un'altra traccia. Che cosa si somma per avere il tempo di accesso? + Il tempo di ricerca e il ritardo di rotazione. - Il tempo di ricerca e la velocità di trasferimento. - Il ritardo di rotazione e la velocità di trasferimento. - Niente: è solo il tempo di ricerca, perché il disco gira sempre. - Niente: è solo il ritardo di rotazione, perché le testine non si muovono. = Prima le testine si spostano sulla traccia giusta (tempo di ricerca), poi si aspetta che il settore arrivi sotto la testina (ritardo di rotazione): il tempo di accesso è la somma dei due. La velocità di trasferimento è un'altra misura, in bit al secondo: dice quanto in fretta si legge una volta arrivati. D: Quale memoria non ha parti in movimento ma si consuma dopo molte riscritture? - Il disco rigido magnetico. - Il CD. - Il Blu-ray. + La memoria flash, come quella di una chiavetta o di un SSD. - Il nastro magnetico. = Le memorie flash scrivono i bit intrappolando elettroni in piccole celle, senza dischi né testine. Ogni cancellazione rovina un poco le celle, quindi dopo molte riscritture smettono di funzionare. Dischi rigidi, CD, Blu-ray e nastri hanno tutti parti che si muovono. ``` ## Esercizi ::: esercizio base Bit e potenze di 2 (a) Quante sequenze diverse si scrivono con 3 bit? E con 10 bit? (b) Quanti bit servono, come minimo, per dare un codice diverso a 1000 oggetti? E a 2 oggetti? ::: soluzione 1. Con 3 bit le sequenze sono $2^3 = 8$. 2. Con 10 bit sono $2^{10} = 1024$. 3. Per 1000 oggetti: con 9 bit le etichette sono $2^9 = 512$, poche. Con 10 bit sono 1024, e bastano. Servono 10 bit. 4. Per 2 oggetti basta 1 bit: uno prende 0, l'altro 1. Controllo del punto 3: $512 < 1000$ e $1000 \le 1024$. ::: ::: esercizio base Le tabelle delle operazioni Calcola: (a) 0 AND 1; (b) 0 OR 0; (c) 0 XOR 1; (d) NOT 1; (e) (1 OR 0) AND 1; (f) NOT (0 OR 0). ::: soluzione 1. (a) 0: AND vuole tutti e due gli ingressi a 1. 2. (b) 0: nessun ingresso vale 1. 3. (c) 1: gli ingressi sono diversi. 4. (d) 0: NOT scambia 1 con 0. 5. (e) Prima la parentesi: 1 OR 0 = 1. Poi 1 AND 1 = 1. 6. (f) Prima la parentesi: 0 OR 0 = 0. Poi NOT 0 = 1. ::: ::: esercizio base Domanda 5 del §1.1: dai bit all'esadecimale Scrivi in notazione esadecimale queste file di bit: (a) 0110101011110010; (b) 111010000101010100010111; (c) 01001000. ::: soluzione 1. (a) I gruppi sono 0110, 1010, 1111 e 0010. Con la tabella: 6, A, F e 2. Il risultato è 6AF2. 2. (b) I gruppi sono 1110, 1000, 0101, 0101, 0001 e 0111. Con la tabella: E, 8, 5, 5, 1 e 7. Il risultato è E85517. 3. (c) I gruppi sono 0100 e 1000. Con la tabella: 4 e 8. Il risultato è 48. Sono le risposte che dà il libro. Controllo della (c) all'indietro: 4 è 0100 e 8 è 1000, e in fila torna 01001000. ::: ::: esercizio base Domanda 6 del §1.1: dall'esadecimale ai bit Quali file di bit rappresentano queste stringhe esadecimali? (a) 5FD97; (b) 610A; (c) ABCD; (d) 0100. ::: soluzione Ogni cifra diventa quattro bit, zeri compresi. | Stringa | Le cifre in bit | Fila di bit | |---|---|---| | 5FD97 | 0101 · 1111 · 1101 · 1001 · 0111 | 01011111110110010111 | | 610A | 0110 · 0001 · 0000 · 1010 | 0110000100001010 | | ABCD | 1010 · 1011 · 1100 · 1101 | 1010101111001101 | | 0100 | 0000 · 0001 · 0000 · 0000 | 0000000100000000 | Sono le risposte che dà il libro. Nell'ultima riga la stringa ha quattro cifre, quindi i bit sono sedici: è la trappola della sezione sull'esadecimale. ::: ::: esercizio medio Domanda 1 del §1.1: quando esce 1 Un circuito ha tre ingressi. I primi due entrano in una porta XOR; l'uscita dell'XOR e il terzo ingresso entrano in una porta AND, che dà l'uscita del circuito. Per quali ingressi l'uscita vale 1? ::: soluzione 1. Gli ingressi sono 3, quindi le combinazioni da provare sono $2^3 = 8$. 2. L'AND dà 1 solo se tutti e due i suoi ingressi valgono 1: serve che l'XOR dia 1 e che il terzo ingresso valga 1. 3. L'XOR dà 1 quando i primi due ingressi sono diversi: 0 e 1, oppure 1 e 0. 4. Quindi le combinazioni giuste sono due: (0, 1, 1) e (1, 0, 1). A parole, come nelle risposte del libro: uno e uno solo dei primi due ingressi deve valere 1, e il terzo deve valere 1. La tabella completa è nella sezione sulle porte logiche. ::: ::: esercizio medio Un circuito che fa come un OR Un circuito fa passare A e B ciascuno da una porta NOT. Le due uscite entrano in una porta AND, e l'uscita dell'AND passa da un'altra porta NOT. Scrivi la tabella del circuito: a quale porta singola equivale? ::: soluzione Il circuito calcola NOT ((NOT A) AND (NOT B)). Una colonna per ogni porta: | A | B | NOT A | NOT B | (NOT A) AND (NOT B) | uscita | |:-:|:-:|:-:|:-:|:-:|:-:| | 0 | 0 | 1 | 1 | 1 | 0 | | 0 | 1 | 1 | 0 | 0 | 1 | | 1 | 0 | 0 | 1 | 0 | 1 | | 1 | 1 | 0 | 0 | 0 | 1 | L'ultima colonna è uguale a quella di A OR B: il circuito equivale a una sola porta OR. Il perché a parole: l'AND centrale dà 1 solo quando A e B valgono tutti e due 0. Il NOT finale capovolge: l'uscita è 0 solo in quel caso, cioè è 1 quando almeno un ingresso vale 1. È una delle leggi di De Morgan, che tornano nella parte 2 del libro. ::: ::: esercizio medio Un circuito che fa come uno XOR Un circuito calcola (A OR B) AND (NOT (A AND B)). Scrivi la tabella: a quale porta singola equivale? ::: soluzione | A | B | A OR B | A AND B | NOT (A AND B) | uscita | |:-:|:-:|:-:|:-:|:-:|:-:| | 0 | 0 | 0 | 0 | 1 | 0 | | 0 | 1 | 1 | 0 | 1 | 1 | | 1 | 0 | 1 | 0 | 1 | 1 | | 1 | 1 | 1 | 1 | 0 | 0 | L'ultima colonna è uguale a quella di A XOR B: il circuito equivale a una porta XOR. Il perché a parole: «almeno uno vale 1» e «non tutti e due valgono 1» insieme vogliono dire «esattamente uno vale 1». ::: ::: esercizio medio Una storia di impulsi Il flip-flop della figura 1.3 parte con uscita 0. Arrivano, uno dopo l'altro, questi impulsi: in alto, in alto, in basso, in basso, in alto. Quanto vale l'uscita dopo ogni impulso? ::: soluzione 1. Impulso in alto: l'uscita diventa 1. 2. Impulso in alto: l'uscita era già 1 e resta 1. 3. Impulso in basso: l'uscita diventa 0. 4. Impulso in basso: l'uscita era già 0 e resta 0. 5. Impulso in alto: l'uscita diventa 1. La sequenza delle uscite è 1, 1, 0, 0, 1. L'uscita dopo un impulso dipende solo da quale ingresso l'ha ricevuto, non da quante volte. Puoi rifare la storia nello strumento del flip-flop. ::: ::: esercizio difficile Domanda 2 del §1.1: che cosa succede dentro Il flip-flop della figura 1.3 ha uscita 1, e l'ingresso in alto è fermo a 0. Arriva un 1 sull'ingresso in basso, che poi torna a 0. Racconta in ordine che cosa succede alle porte. ::: soluzione 1. Il NOT riceve 1 e dà 0. 2. L'AND riceve 0 dal NOT, quindi dà 0, qualunque cosa arrivi dall'OR. L'uscita del flip-flop diventa 0. 3. L'uscita torna all'OR, che ora riceve 0 dall'ingresso in alto e 0 dall'uscita: anche l'OR dà 0. 4. Quando l'ingresso in basso torna a 0, il NOT torna a dare 1. Ma l'AND riceve 0 dall'OR, quindi continua a dare 0. 5. L'uscita resta 0 anche dopo l'impulso. È lo stesso racconto delle risposte del libro: il punto chiave è il passo 3, in cui l'OR si spegne e non riaccende più l'AND. ::: ::: esercizio esame Un circuito per l'uguaglianza Serve un circuito con due ingressi che dia 1 esattamente quando i due ingressi sono **uguali**. Scegli tra: (a) A AND B; (b) A OR B; (c) NOT (A XOR B); (d) NOT (A OR B); (e) A XOR B. Giustifica la scelta con una tabella. ::: soluzione | A | B | richiesto | A AND B | A OR B | NOT (A XOR B) | NOT (A OR B) | A XOR B | |:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | 0 | 0 | 1 | 0 | 0 | **1** | 1 | 0 | | 0 | 1 | 0 | 0 | 1 | **0** | 0 | 1 | | 1 | 0 | 0 | 0 | 1 | **0** | 0 | 1 | | 1 | 1 | 1 | 1 | 1 | **1** | 0 | 0 | 1. XOR dà 1 quando gli ingressi sono diversi. Il suo contrario, NOT (A XOR B), dà 1 quando sono uguali: è la colonna richiesta. La risposta è la (c). 2. A AND B sbaglia la prima riga: due 0 sono uguali, ma AND dà 0. 3. NOT (A OR B) sbaglia l'ultima riga: due 1 sono uguali, ma dà 0. 4. A OR B e A XOR B sbagliano più righe. ::: ::: esercizio base Domande 1 e 3 del §1.2: scrivere, copiare, contare i bit (a) La cella con indirizzo 5 contiene il valore 8. Che differenza c'è tra scrivere il valore 5 nella cella 6 e copiare il contenuto della cella 5 nella cella 6? (b) Quanti bit ci sono in una memoria da 4 KB? ::: soluzione 1. (a) Scrivendo il valore 5, la cella 6 contiene 5. Copiando la cella 5, la cella 6 contiene 8, il valore che sta nella cella 5. In tutti e due i casi la cella 5 non cambia, e il valore di prima della cella 6 si perde. 2. (b) 4 KB sono $4 \cdot 1024 = 4096$ byte. 3. Ogni byte ha 8 bit: $4096 \cdot 8 = 32768$ bit. Sono le risposte che dà il libro. Controllo della (b) con le potenze di 2: $4 = 2^2$, $1024 = 2^{10}$ e $8 = 2^3$, quindi i bit sono $2^{2+10+3} = 2^{15} = 32768$. ::: ::: esercizio medio Domanda 2 del §1.2: scambiare due celle Vuoi scambiare i valori delle celle 2 e 3. Che cosa non va in questi due passi? Passo 1: copia la cella 2 nella cella 3. Passo 2: copia la cella 3 nella cella 2. Scrivi una sequenza di passi corretta; puoi usare altre celle. ::: soluzione 1. Il passo 1 scrive nella cella 3 il valore della cella 2: il valore che c'era nella 3 si perde. 2. Il passo 2 copia nella 2 quello che ora c'è nella 3, cioè il valore della 2: la cella 2 non cambia. 3. Alla fine tutte e due le celle contengono il valore che stava nella 2. Una sequenza corretta, come nelle risposte del libro, usa la cella 1 per mettere da parte un valore: 1. Copia la cella 2 nella cella 1. 2. Copia la cella 3 nella cella 2. 3. Copia la cella 1 nella cella 3. Puoi provarla nello strumento della memoria: con 2 e 3 diversi, dopo i tre passi sono scambiati. ::: ::: esercizio medio Domande 1 e 2 del §1.3: dischi più veloci e cilindri (a) Che cosa si guadagna facendo girare più in fretta un disco? (b) Un disco ha più facce. Per registrare tanti dati, conviene riempire una faccia intera prima di passare alla successiva, oppure riempire un cilindro intero prima di passare al successivo? ::: soluzione 1. (a) Il settore cercato arriva prima sotto la testina, quindi il ritardo di rotazione diminuisce. In più passano più bit sotto la testina ogni secondo: aumenta la velocità di trasferimento. 2. (b) Muovere le testine è lento, perché è un movimento meccanico: conviene spostarle il meno possibile. 3. Riempiendo una faccia alla volta, le testine si spostano ogni volta che una traccia è piena: tanti spostamenti quante sono le tracce di tutte le facce. 4. Riempiendo un cilindro alla volta, quando una traccia è piena si passa alla traccia sopra o sotto. Basta attivare un'altra testina, con un comando elettronico, senza muovere niente. Le testine si spostano solo quando l'intero cilindro è pieno. Quindi conviene riempire un cilindro alla volta, come dicono le risposte del libro. ::: ::: esercizio medio Domande 3–6 del §1.3: quale memoria per quale uso (a) Perché i dati di un sistema di prenotazioni, che cambiano di continuo, stanno su un disco magnetico e non su un CD o un DVD? (b) Perché lo stesso lettore riesce a leggere CD, DVD e Blu-ray? (c) Che vantaggio hanno le memorie flash sugli altri sistemi? (d) Perché i dischi magnetici si usano ancora? ::: soluzione 1. (a) In un sistema di prenotazioni si va a cercare un dato qualunque, in un ordine qualunque. Sulla spirale di un CD o di un DVD saltare da un dato all'altro è lento. In più su questi dischi non si può cambiare un pezzetto di dati qua e là. 2. (b) I tre dischi hanno la stessa misura e la stessa traccia a spirale. Un lettore con più laser, rosso e blu-violetto, li legge tutti. 3. (c) Non hanno parti in movimento: rispondono prima e non si consumano per l'attrito. 4. (d) Sono più veloci e capienti degli altri supporti magnetici, come i nastri. Rispetto ai dischi ottici sono più veloci, più capienti e si riscrivono senza problemi. E costano meno per ogni GB dei dischi a stato solido, anche se la differenza si è ridotta negli ultimi anni. ::: ## Domande di ripasso ::: domanda Che cos'è un bit? Perché il libro dice che è «solo un simbolo»? Un bit è una cifra binaria: 0 oppure 1. È solo un simbolo perché il suo significato dipende dall'uso: la stessa fila di bit può essere un numero, una lettera, un pezzo di immagine o di suono. ::: ::: domanda Quante sequenze si scrivono con $n$ bit? Quanti bit servono per distinguere 20 oggetti? Con $n$ bit si scrivono $2^n$ sequenze, perché ogni bit in più raddoppia. Per 20 oggetti servono 5 bit: 4 bit danno 16 sequenze, troppo poche, e 5 bit ne danno 32. ::: ::: domanda Che differenza c'è tra OR e XOR? Tutte e due danno 1 quando un solo ingresso vale 1, e 0 quando tutti e due valgono 0. Con tutti e due gli ingressi a 1, OR dà 1 e XOR dà 0: XOR vuol dire «uno solo». ::: ::: domanda Che cos'è una porta logica? Come si capisce che cosa fa un circuito di porte? È un circuito che esegue un'operazione booleana: AND, OR, XOR o NOT. Per capire un circuito si scrive una tabella con tutte le combinazioni degli ingressi e una colonna per ogni porta. ::: ::: domanda Come fa un flip-flop a ricordare un bit? La sua uscita torna indietro e diventa un ingresso dell'OR. Dopo un impulso in alto, l'uscita a 1 tiene accesa la porta OR, e l'OR tiene accesa l'uscita. Solo un impulso in basso spezza il giro e porta l'uscita a 0. ::: ::: domanda Perché si usa la notazione esadecimale? Come si passa dai bit alle cifre? Le file di bit lunghe si leggono male. L'esadecimale scrive quattro bit con un solo simbolo, da 0 a F. Si fanno gruppi di quattro bit da destra e si scrive la cifra di ogni gruppo. ::: ::: domanda Com'è organizzata la memoria centrale? Che cos'è un indirizzo? È una fila di celle, di solito di un byte ciascuna. Ogni cella ha un numero, il suo indirizzo, che parte da 0 e cresce di uno in uno: serve a trovare la cella e dà un ordine a tutte le celle. ::: ::: domanda Perché la memoria centrale si chiama RAM? Che difetto ha? RAM vuol dire memoria ad accesso casuale: si raggiunge qualunque cella, in qualunque ordine, nello stesso tempo. Il difetto è che, quando si spegne il computer, perde tutto. ::: ::: domanda Che cosa sono tracce, settori e cilindri di un disco magnetico? Le tracce sono i cerchi, con lo stesso centro, su cui la testina legge e scrive. I settori sono gli archi in cui è divisa ogni traccia. Un cilindro è l'insieme delle tracce che stanno una sopra l'altra, sulle varie facce, alla stessa distanza dal centro. ::: ::: domanda Perché una memoria flash non va bene come memoria centrale? Ogni cancellazione rovina un poco le sue celle, che dopo molte riscritture smettono di funzionare. La memoria centrale si riscrive di continuo, molte volte al secondo. ::: ## Glossario ```glossario Bit | Una cifra binaria, 0 oppure 1 (in inglese *binary digit*). È il più piccolo pezzo di informazione. Byte | Una fila di 8 bit. Può avere 256 valori diversi. Operazione booleana | Un'operazione su valori vero e falso, cioè su bit (*Boolean operation*). Dal matematico George Boole. AND | Dà 1 solo se tutti e due gli ingressi valgono 1. OR | Dà 1 se almeno uno dei due ingressi vale 1. XOR | «O esclusivo» (*exclusive or*): dà 1 se i due ingressi sono diversi. NOT | Ha un solo ingresso e dà il contrario: 0 diventa 1, 1 diventa 0. Tabella di verità | Una tabella con tutte le combinazioni degli ingressi e l'uscita per ognuna (*truth table*). Porta logica | Un circuito che esegue un'operazione booleana (in inglese *gate*). Circuito combinatorio | Un circuito di porte la cui uscita dipende solo dagli ingressi di quel momento. Impulso | Un ingresso che passa per un attimo a 1 e poi torna a 0 (*pulse*). Flip-flop | Un circuito la cui uscita resta uguale finché un impulso non la cambia: ricorda un bit. Stringa di bit | Una fila di bit (*bit string*); quando è molto lunga il libro la chiama flusso (*stream*). Notazione esadecimale | Il modo di scrivere ogni gruppo di quattro bit con un simbolo da 0 a 9 o da A a F (*hexadecimal notation*). Cifra esadecimale | Uno dei 16 simboli 0–9 e A–F. A vale 10, F vale 15. Memoria centrale | La memoria in cui il computer tiene i dati su cui sta lavorando (*main memory*): una fila di celle. Cella | Un pezzo di memoria di dimensione fissa, di solito un byte (*cell*). Indirizzo | Il numero che identifica una cella: parte da 0 e cresce di uno in uno (*address*). Bit più significativo | Il bit all'estremo alto della cella, cioè a sinistra (*most significant bit*). Quello a destra è il meno significativo. RAM | Memoria ad accesso casuale (*random access memory*): ogni cella si raggiunge nello stesso tempo. La DRAM tiene i bit come cariche elettriche da rinfrescare. Kilobyte (KB) | Per la memoria, 1024 byte. Un megabyte (MB) sono 1024 KB, un gigabyte (GB) 1024 MB. Per togliere i dubbi c'è anche il nome kibibyte (KiB). Memoria di massa | Una memoria che conserva i dati anche senza corrente, più grande e più lenta della memoria centrale (*mass storage*). Traccia | Uno dei cerchi concentrici su cui un disco magnetico registra i dati (*track*). Settore | Un arco di una traccia; tutti i settori contengono lo stesso numero di bit (*sector*). Cilindro | L'insieme delle tracce che stanno una sopra l'altra sulle facce di un disco (*cylinder*). Tempo di accesso | Tempo di ricerca, per portare la testina sulla traccia, più ritardo di rotazione, per aspettare il settore (*access time*). Velocità di trasferimento | Quanti bit al secondo si leggono o si scrivono (*transfer rate*). Memoria flash | Una memoria senza parti in movimento che tiene i bit intrappolando elettroni; si consuma con le riscritture (*flash memory*). SSD | Disco a stato solido: una memoria flash grande, al posto del disco rigido (*solid-state disk*). ``` ## Checklist ```checklist - So quante sequenze si scrivono con $n$ bit e quanti bit servono per un certo numero di oggetti. - So a memoria le tabelle di AND, OR, XOR e NOT. - So spiegare la differenza tra OR e XOR. - So leggere un circuito di porte con la tabella di tutte le combinazioni degli ingressi. - So raccontare che cosa succede in un flip-flop con un impulso in alto e con un impulso in basso. - So passare dai bit all'esadecimale e dall'esadecimale ai bit, senza perdere gli zeri. - So spiegare celle, indirizzi e RAM, e la differenza tra scrivere in una cella e copiarla. - So fare i conti con KB, MB e GB: per esempio quanti bit ci sono in 4 KB. - So che cosa sono tracce, settori, cilindri, tempo di ricerca e ritardo di rotazione. - So dire pregi e difetti di dischi magnetici, dischi ottici e memorie flash. ``` ## Fonti - R. Johnsonbaugh, J. G. Brookshear, D. Brylow, *Fondamenti dell'Informatica*, Pearson 2026 (ISBN 9788891939456), il libro di testo del corso: parte 1, che è il capitolo 1 di J. G. Brookshear, D. Brylow, *Computer Science: an overview*. Sezione 1.1 «Bits and Their Storage»: operazioni booleane, porte e flip-flop (figure 1.3 e 1.5), notazione esadecimale. Sezione 1.2 «Main Memory»: celle, estremo alto e basso, indirizzi, RAM e DRAM, kilobyte. Sezione 1.3 «Mass Storage»: dischi magnetici, CD, DVD e Blu-ray, memorie flash e SSD. Risposte alle domande delle tre sezioni nell'appendice del libro, pubblicate sul Moodle del canale A. - Riassunti delle lezioni del canale B (Moodle del canale B): lezione 1 del 28/09/2026, introduttiva; lezione 2 del 01/10/2026, «Bits and Their Storage», flip-flop, notazione esadecimale, memoria centrale e memorie di massa. Programma del canale B 2026/27 e regole d'esame comuni ai tre canali (pagina d'esame su Moodle Esami): [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md). - Lucidi del canale A 2026/27, «Cenni sulla codifica dei dati» e «Struttura della memoria ed esecuzione dei programmi» (F. Cardone, Moodle del canale A, aperto agli ospiti): bit come etichette, $2^n$ sequenze, numero minimo di bit; celle e indirizzi. - Prefissi binari kibi, mebi e gibi: norma IEC 60027-2 (dicembre 1998). - Le spiegazioni a parole, gli esempi (come il disco a 7200 giri al minuto), i riquadri «Ripasso» e «Prova tu», gli strumenti interattivi, i quiz e gli esercizi senza il numero del libro sono di questi appunti. --- > File: `contesto_ai/FDA/lezioni/02_testo_colori_suoni_binario.md` ```yaml corso: FDA lezione: "02" titolo: Testo, colori e suoni in bit; i numeri in base 2 data: 2026-10-02 docenti: Stefano Berardi sopratitolo: Canale B · Lezione 02 · Libro, parte 1, §1.4–1.5 descrizione: >- Appunti della lezione 02 di Fondamenti dell'Informatica (canale B): come si scrivono in bit il testo (ASCII, Unicode, UTF-8), i numeri, le immagini (pixel e colori RGB) e i suoni (campioni); il sistema binario, le conversioni tra base 2 e base 10, le frazioni in binario e l'addizione di interi senza segno, con strumenti interattivi, quiz ed esercizi svolti. lede: >- Il computer conserva solo zeri e uni: lettere, colori e suoni diventano numeri, e i numeri si scrivono in base 2. Come si conta con due sole cifre, come diventano numeri un testo, una foto e una canzone, e come si fanno somme e numeri con la virgola in binario. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 1 (Brookshear, cap. 1), §1.4–1.5 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 3 ore, anche in più volte fonte: >- Libro di testo del corso, parte 1 (J. G. Brookshear, D. Brylow, Computer Science: an overview, cap. 1), §1.4 «Representing Information as Bit Patterns» e §1.5 «The Binary System», con le risposte alle loro domande; riassunto della lezione del 02/10/2026 sul Moodle del canale B; lucidi del canale A 2026/27 sulla codifica dei dati; standard Unicode e UTF-8 appunti_html: appunti/FDA/02_testo_colori_suoni_binario.html genera_html: true ``` ## In breve - Il computer conserva solo bit. Per conservare una lettera, un colore o un suono si usa una regola che lo trasforma in numeri, e i numeri si scrivono in bit. - In **base 2** ogni bit è una moneta: le monete valgono 1, 2, 4, 8, 16 e così via, ognuna il doppio della precedente. 1 vuol dire «la moneta c'è», 0 «non c'è». Così 1101 vale 8 + 4 + 1 = 13. - Per le lettere dell'inglese c'è il codice **ASCII**: la A è 65, la B è 66. Per tutte le lingue del mondo c'è **Unicode**, e **UTF-8** ne scrive ogni simbolo con 1, 2, 3 o 4 byte. - Una foto è una griglia di quadratini colorati, i **pixel**. In **RGB** ogni pixel è fatto di tre numeri da 0 a 255: quanto rosso, quanto verde, quanto blu. - Un suono si registra misurando l'onda tante volte al secondo. Ogni misura è un **campione**. - In base 2 si somma in colonna come a scuola, ma 1 + 1 fa 10: scrivi 0 e riporti 1. Se il risultato non entra nei bit che hai, c'è **overflow**. - Dopo la virgola le posizioni valgono un mezzo, un quarto, un ottavo e così via. - All'esame servono soprattutto le conversioni e le somme in base 2: tornano in tutte le lezioni che seguono. > [!CANALI] > Nel canale B è la lezione di venerdì 02/10. Per il docente è la lezione 3, perché la prima è stata un'introduzione: qui è la 02. Stefano Berardi ha fatto le sezioni 1.4 e 1.5 del libro. Qui le trovi in un ordine diverso: prima la base 2 (§1.5), che serve per leggere tutto il resto, poi testo, immagini e suoni (§1.4), alla fine le somme e la virgola (§1.5). Nel canale A gli stessi argomenti sono nei lucidi «Cenni sulla codifica dei dati» di Felice Cardone, nel canale C nei lucidi «Rappresentazione» di Luca Paolini. ## Una regola trasforma tutto in numeri Nella [lezione 01](01_bit_porte_esadecimale.html) hai visto che un computer conserva solo bit: file di 0 e di 1, raccolti in byte da 8. Non ha un posto per le lettere, uno per i colori e uno per la musica. Ha solo bit. Come fa allora a conservare un messaggio, una foto o una canzone? Con un accordo, come due amici che si scrivono in codice. La loro regola è: A vale 1, B vale 2, C vale 3, e così via. Per scrivere CIAO mandano i numeri 3, 9, 1 e 15. Chi riceve conosce la regola e rimette insieme la parola. Il computer fa la stessa cosa, in due passi. 1. Una regola trasforma la cosa in numeri: ogni lettera ha il suo numero, ogni colore i suoi tre numeri, ogni istante di un suono il suo numero. 2. Ogni numero si scrive con 0 e 1, cioè in **base 2**. Un byte, da solo, non dice che cosa contiene. Gli stessi otto bit possono essere un numero, una lettera o un colore: decide la regola con cui li leggi. Alla fine della lezione c'è un esercizio proprio su questo. In questa lezione vedi prima il secondo passo, perché serve dappertutto: come si scrive un numero con 0 e 1. Poi le regole per il testo, le immagini e i suoni. Alla fine i conti in base 2: le somme e i numeri con la virgola. ::: prova Con la regola dei due amici, che parola è 3, 1, 19, 1? C è la terza lettera, A la prima, S la diciannovesima: la parola è CASA. ::: > [!RICORDA] > - Il computer conserva solo bit. > - Una regola trasforma lettere, colori e suoni in numeri; poi i numeri si scrivono in base 2. > - Gli stessi bit possono essere un numero, una lettera o un colore: dipende dalla regola con cui li leggi. ## Contare con due cifre: la base 2 (libro, §1.5) Comincia da una cosa che sai già fare. Nel numero 375 il 3 vale trecento, il 7 vale settanta e il 5 vale cinque. La stessa cifra vale di più quanto più sta a sinistra: ogni posizione vale dieci volte quella alla sua destra. Unità, decine, centinaia. Le cifre sono dieci, da 0 a 9, e per questo si chiama **base 10**. La base 2 funziona allo stesso modo, con due differenze: le cifre sono solo 0 e 1, e ogni posizione vale **il doppio** di quella alla sua destra. ### Le monete della base 2 Immagina di avere otto monete, una per tipo: da 1, 2, 4, 8, 16, 32, 64 e 128 euro. Ogni moneta vale il doppio della precedente. Mettile in fila, con la più grande a sinistra, come le cifre di un numero. | Posizione, da destra | 8ª | 7ª | 6ª | 5ª | 4ª | 3ª | 2ª | 1ª | |---|--:|--:|--:|--:|--:|--:|--:|--:| | Moneta da | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Per pagare una cifra scegli quali monete dare. Un numero in base 2 dice proprio questo: sotto ogni moneta c'è 1 se la dai, 0 se la tieni. Prendi il numero 1101. Leggilo da destra, una moneta alla volta: 1. l'ultima cifra è 1: la moneta da 1 c'è; 2. la penultima è 0: la moneta da 2 non c'è; 3. poi 1: la moneta da 4 c'è; 4. poi 1: la moneta da 8 c'è. Il totale è 8 + 4 + 1 = 13. Quindi 1101 in base 2 vale 13. Un altro esempio, quello della figura 1.16 del libro: 100101. | Bit | 1 | 0 | 0 | 1 | 0 | 1 | |---|:-:|:-:|:-:|:-:|:-:|:-:| | Moneta | 32 | 16 | 8 | 4 | 2 | 1 | | La dai? | sì | no | no | sì | no | sì | Il totale è 32 + 4 + 1 = 37. Per non confondere i due modi di scrivere i numeri si mette la base in basso: $100101_2 = 37_{10}$. Si legge «100101 in base due è uguale a 37 in base dieci». Senza il numerino, 100101 potrebbe essere centomilacentouno. > [!IDEA] > Un numero in base 2 è una fila di monete: ogni posizione vale il doppio di quella alla sua destra, e il numero vale la somma delle posizioni dove c'è un 1. La base 2 si chiama anche **sistema binario**, e le sue cifre sono i bit. Ora si capiscono due cose della [lezione 01](01_bit_porte_esadecimale.html). Il bit più a sinistra di un byte si chiama «più significativo» perché è la moneta che vale di più, 128. E una cifra esadecimale è il valore di quattro bit, con le monete 8, 4, 2 e 1: per esempio 1101 è D, cioè 13. Clicca sui bit nello strumento qui sotto: ogni bit acceso aggiunge la sua moneta. ```widget codifica titolo: Dai bit al numero: clicca sui bit modo: binario bit: 00100101 ``` ::: prova Quanto valgono in base 10 i numeri binari (a) 1010 e (b) 11111? (a) Le monete sono 8 e 2: 1010 vale 10. (b) Ci sono tutte le monete da 16 in giù: $16 + 8 + 4 + 2 + 1 = 31$. ::: ### Contare in base 2 In base 10, dopo il 9 le cifre sono finite: scrivi 0 e metti un 1 a sinistra, e viene 10. In base 2 le cifre finiscono subito, dopo l'1. Ecco i primi numeri. | Base 10 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Base 2 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | Controlla con le monete: 110 vuol dire 4 + 2, cioè 6. ### Fin dove arrivano 8 bit Con le sole monete da 1, 2 e 4 il massimo che paghi è 7, dandole tutte: 111. Contando anche lo 0, le somme possibili sono 8, da 0 a 7. Con tutte e otto le monete, da 1 a 128, il massimo è 11111111. Vale 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255. Le somme possibili sono 256, da 0 a 255. C'è una scorciatoia. Una fila di 1 vale sempre la moneta successiva meno 1: 111 vale 8 − 1 = 7, e 11111111 vale 256 − 1 = 255. > [!RIPASSO] Le potenze di 2 > $2^3$ si legge «due alla terza» e vuol dire 2 moltiplicato per sé stesso 3 volte: $2 \cdot 2 \cdot 2 = 8$. Le monete della base 2 sono proprio le potenze di 2. Conviene saperle a memoria fino a $2^{10}$. > > | Potenza | $2^0$ | $2^1$ | $2^2$ | $2^3$ | $2^4$ | $2^5$ | $2^6$ | $2^7$ | $2^8$ | $2^9$ | $2^{10}$ | > |---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:| > | Valore | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | Con $n$ bit, quindi, si scrivono i numeri da 0 a $2^n - 1$, che si legge «due alla n meno uno». Con 8 bit $2^8 - 1 = 255$; con 16 bit $2^{16} - 1 = 65535$. Questi numeri, da 0 in su, senza segno meno e senza virgola, si chiamano **interi senza segno** (*unsigned integers*). Per i numeri negativi e per quelli con la virgola il libro usa altri sistemi, nelle sezioni 1.6 e 1.7. ### Dal decimale al binario: pagare con le monete Ora il viaggio al contrario: da 45 alla base 2. Paga 45 euro con le monete, partendo sempre dalla più grande che ci sta. 1. La moneta da 64 è troppo grande. Quella da 32 ci sta: la dai, restano 45 − 32 = 13. 2. Quella da 16 è troppo per 13: la tieni. 3. Quella da 8 ci sta: la dai, restano 13 − 8 = 5. 4. Quella da 4 ci sta: la dai, resta 5 − 4 = 1. 5. Quella da 2 è troppo per 1: la tieni. 6. Quella da 1 ci sta: la dai, resta 0. | Moneta | 32 | 16 | 8 | 4 | 2 | 1 | |---|:-:|:-:|:-:|:-:|:-:|:-:| | La dai? | sì | no | sì | sì | no | sì | | Bit | 1 | 0 | 1 | 1 | 0 | 1 | Quindi 45 si scrive 101101. Controllo: 32 + 8 + 4 + 1 = 45. ### Il metodo del libro: dividere per 2 Con le monete si fa presto se il numero è piccolo. Il libro dà un altro metodo, nella figura 1.17, che funziona sempre allo stesso modo anche con i numeri grandi. > [!METODO] Le divisioni per 2 > 1. Dividi il numero per 2 e scrivi il resto, che è 0 o 1. > 2. Dividi per 2 il risultato, e scrivi di nuovo il resto. > 3. Continua finché il risultato è 0. > 4. Leggi i resti **dall'ultimo al primo**: è il numero in base 2. > [!ESEMPIO] 13 in base 2 (figura 1.18 del libro) > | Divisione | Risultato | Resto | > |---|--:|--:| > | 13 : 2 | 6 | 1 | > | 6 : 2 | 3 | 0 | > | 3 : 2 | 1 | 1 | > | 1 : 2 | 0 | 1 | > > I resti, dall'ultimo al primo: 1101. Controllo con le monete: 8 + 4 + 1 = 13. Perché si leggono al contrario? Il primo resto dice se il numero è dispari: 13 diviso 2 dà resto 1, quindi la moneta da 1 serve. Dividere per 2 è come cambiare ogni moneta con quella che vale la metà: la moneta da 2 diventa quella da 1, e il resto dopo dice se serve la moneta da 2. Così i bit escono da destra verso sinistra, e per scriverli nell'ordine giusto si leggono dall'ultimo. Nello strumento scegli un numero e guarda le divisioni passo per passo. ```widget codifica titolo: Le divisioni per 2, passo per passo: scegli un numero modo: divisioni numero: 13 ``` Tre cose da sapere sugli zeri. - Lo zero non ha bisogno di divisioni: in base 2 è 0, e in un byte 00000000. - Gli zeri a sinistra non cambiano il valore, come in base 10 007 è 7: 1101 e 00001101 valgono tutti e due 13. - Uno zero aggiunto a destra, invece, raddoppia il numero: ogni bit passa alla moneta successiva. 11010 vale 26, il doppio di 13. > [!TRAPPOLA] «Quanti bit servono» e «scrivilo con 8 bit» sono domande diverse > 13 ha bisogno di almeno 4 bit: 1101. Per scriverlo con 8 bit aggiungi quattro zeri a sinistra: 00001101. Invece 256 ha bisogno di 9 bit, 100000000, e in un byte non ci sta: con 8 bit si arriva a 255. ::: prova (a) Scrivi 27 in base 2, una volta con le monete e una volta con le divisioni. (b) Quanto vale 101010? (a) Con le monete: 16 ci sta, restano 11; 8 ci sta, restano 3; 4 no; 2 ci sta, resta 1; 1 ci sta. Hai dato 16, 8, 2 e 1: 11011. Con le divisioni: 27 : 2 = 13 resto 1; 13 : 2 = 6 resto 1; 6 : 2 = 3 resto 0; 3 : 2 = 1 resto 1; 1 : 2 = 0 resto 1. Dall'ultimo al primo: 11011. I due metodi danno lo stesso numero. (b) Le monete sono 32, 8 e 2: $32 + 8 + 2 = 42$. ::: > [!RICORDA] > - In base 2 le posizioni valgono 1, 2, 4, 8, 16…, da destra: ognuna il doppio della precedente. Il numero vale la somma delle posizioni con un 1. > - Dalla base 10 alla base 2: paga con le monete partendo dalla più grande, oppure dividi per 2 finché il risultato è 0 e leggi i resti dall'ultimo al primo. > - Con $n$ bit si arriva a $2^n - 1$: con 8 bit a 255. > - Controlla sempre al contrario: riconverti e guarda se torna. ## Le lettere: il codice ASCII (libro, §1.4) Ora che sai scrivere un numero in bit, torna al primo passo: la regola che trasforma le lettere in numeri. Una tabella che dà a ogni simbolo il suo numero si chiama **codice**. I simboli sono le lettere, le cifre, la punteggiatura, lo spazio e anche alcuni comandi, come «vai a capo». Il codice più famoso è l'**ASCII**, che si legge «aschi» (*American Standard Code for Information Interchange*). I suoi numeri vanno da 0 a 127, quindi bastano 7 bit: $2^7 = 128$ simboli. Ci sono le lettere dell'alfabeto inglese, maiuscole e minuscole, le cifre, la punteggiatura e lo spazio. Oggi ogni simbolo occupa un byte intero, con uno 0 in più a sinistra. Ecco la parola «Hello.» in ASCII, come nella figura 1.11 del libro. | Simbolo | Numero | Byte | |:-:|--:|:-:| | H | 72 | 01001000 | | e | 101 | 01100101 | | l | 108 | 01101100 | | l | 108 | 01101100 | | o | 111 | 01101111 | | . | 46 | 00101110 | Controlla la H con le monete: 01001000 ha le monete da 64 e da 8, e 64 + 8 = 72. La tabella completa sta nelle appendici del libro, ma non serve impararla. Basta sapere dove cominciano i gruppi. | Simboli | Numeri | |---|---| | spazio | 32 | | cifre da «0» a «9» | da 48 a 57 | | maiuscole da A a Z | da 65 a 90 | | minuscole da a a z | da 97 a 122 | > [!METODO] Trovare il numero di una lettera > - Maiuscola: 64 più il posto della lettera nell'alfabeto inglese. A è la prima, quindi 64 + 1 = 65; C è la terza, quindi 67. > - Minuscola: 96 più il posto. a è 97, c è 99. > - Cifra: 48 più la cifra. Il simbolo «7» è 55. Due cose da notare. - **Maiuscola e minuscola** differiscono di 32: A è 65, a è 97. Nei bit cambia una sola moneta, proprio quella da 32: A è 01000001, a è 01100001. È la domanda 2 del §1.4 del libro. - **Le cifre sono simboli come gli altri.** Il simbolo «7» è il numero 55, cioè 00110111. Per il computer non è il numero 7, che in base 2 è 00000111: è un disegno da mostrare sullo schermo. ### I numeri non si scrivono in ASCII Per scrivere il numero 25 in ASCII servono due simboli, «2» e «5», cioè due byte. In base 2, invece, 25 è 11001 e sta in un byte solo. La differenza cresce con i byte. Con due byte in ASCII si scrivono due cifre, quindi si arriva a 99. Con gli stessi 16 bit in base 2 si arriva a 65535. Per questo il libro conclude che i numeri si conservano in base 2, e i conti si fanno direttamente sui bit. ::: prova (a) Il numero di B è 66. Qual è quello di b? (b) Che simbolo è il byte 00110011? (a) La minuscola vale 32 in più: $66 + 32 = 98$. (b) Le monete sono 32, 16, 2 e 1: il numero è 51. Le cifre partono da 48, e 51 = 48 + 3: è il simbolo «3». ::: > [!RICORDA] > - Un codice dà a ogni simbolo un numero. ASCII va da 0 a 127, cioè 7 bit, e oggi usa un byte per simbolo. > - Maiuscole da 65, minuscole da 97, cifre da 48, spazio 32. Maiuscola e minuscola differiscono di 32. > - Il simbolo «7» non è il numero 7. I numeri si scrivono in base 2, non in ASCII. ## Tutte le lingue: Unicode e UTF-8 (libro, §1.4) Prova a scrivere in ASCII la parola «perché»: non si può. La é non c'è, e non c'è nemmeno il simbolo dell'euro. ASCII è nato per l'inglese. Prima si è provato con codici da 8 bit, cioè 256 simboli: i primi 128 come in ASCII, gli altri diversi per ogni gruppo di lingue. Il codice Latin-1, per esempio, ha le lettere accentate dell'Europa occidentale. Il libro spiega perché non basta: 256 simboli sono pochi per lingue come il cinese, e un testo scritto in più lingue non sa quale tabella usare. ### Unicode: un numero per ogni simbolo del mondo La soluzione di oggi si chiama **Unicode**: un'unica, enorme tabella con i simboli di tutte le lingue, più simboli matematici, emoji e molto altro. Ha posto per più di un milione di simboli, e i primi 128 sono quelli di ASCII. Il numero di un simbolo si chiama **punto di codice** (*code point*). Si scrive «U+» seguito dal numero in esadecimale, il modo breve di scrivere i bit della [lezione 01](01_bit_porte_esadecimale.html). | Simbolo | Punto di codice | In base 10 | |:-:|:-:|--:| | A | U+0041 | 65 | | è | U+00E8 | 232 | | € | U+20AC | 8364 | | 😀 | U+1F600 | 128512 | ### UTF-8: quanti byte per simbolo Unicode dice solo quale numero ha ogni simbolo. Resta da decidere come scriverlo in byte. La strada più semplice sarebbe dare a tutti i simboli lo stesso spazio, per esempio 4 byte; ma allora un testo in italiano occuperebbe quattro volte più che in ASCII. **UTF-8** fa una cosa più furba: ai numeri piccoli dà pochi byte, ai numeri grandi di più. È il modo più usato, e quasi tutte le pagine web sono scritte così. | Simboli | Byte in UTF-8 | |---|:-:| | quelli di ASCII: lettere senza accento, cifre, punteggiatura, spazio | 1 | | lettere accentate come è e à, alfabeto greco, russo, arabo, ebraico | 2 | | quasi tutti gli altri, compresi € e i caratteri cinesi e giapponesi | 3 | | emoji e simboli rari | 4 | Per sapere quanto occupa un testo, conta i simboli di ogni riga. «perché» ha 6 simboli: p, e, r, c, h hanno un byte ciascuno, la é ne ha 2. In tutto 5 + 2 = 7 byte. Leggendo un file, come fa il computer a capire dove finisce un simbolo e comincia il successivo? Lo dice il primo byte di ogni simbolo, con i suoi primi bit: - comincia con 0 se il simbolo ha un byte solo; - comincia con 110 se ne ha due, con 1110 se ne ha tre, con 11110 se ne ha quattro; - i byte che seguono cominciano tutti con 10. I simboli di ASCII hanno un byte solo, che comincia con 0, ed è proprio il byte di ASCII. Quindi un testo scritto in ASCII è già un testo UTF-8, con gli stessi byte. > [!TRAPPOLA] UTF-8 non vuol dire «8 bit per simbolo» > L'8 dice che UTF-8 lavora a byte, ma un simbolo può occupare da 1 a 4 byte. Contare i simboli non basta per sapere i byte: «perché» ha 6 simboli e occupa 7 byte. > [!APPROFONDIMENTO] Come si costruiscono i byte, bit per bit > Questa parte non compare nei quiz delle simulazioni: serve per capire lo strumento qui sotto e l'ultimo esercizio. > > | Punti di codice | Bit del numero | Byte | Schema dei byte | > |---|:-:|:-:|---| > | da U+0000 a U+007F | fino a 7 | 1 | 0xxxxxxx | > | da U+0080 a U+07FF | fino a 11 | 2 | 110xxxxx 10xxxxxx | > | da U+0800 a U+FFFF | fino a 16 | 3 | 1110xxxx 10xxxxxx 10xxxxxx | > | da U+10000 a U+10FFFF | fino a 21 | 4 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | > > Al posto delle x vanno i bit del punto di codice, da sinistra a destra. > > 1. Scrivi il punto di codice in base 2. > 2. Conta i bit e scegli la riga: fino a 7 bit un byte, fino a 11 due, fino a 16 tre, fino a 21 quattro. > 3. Aggiungi zeri a sinistra finché i bit sono tanti quante le x della riga. > 4. Metti i bit al posto delle x. > > **La è.** Il punto di codice è U+00E8, cioè 232, in base 2 11101000: 8 bit, quindi due byte, che hanno posto per 11 bit. Con tre zeri davanti: 00011101000. I primi 5 bit vanno nel primo byte, gli altri 6 nel secondo: 110 00011 e 10 101000, cioè 11000011 10101000, in esadecimale C3 A8. > > **L'euro.** Il punto di codice è U+20AC, in base 2 0010000010101100: 16 bit, quindi tre byte. I bit si dividono in 4, 6 e 6: 0010, 000010 e 101100. I byte sono 1110 0010, 10 000010 e 10 101100: in esadecimale E2 82 AC. Scrivi una parola nello strumento: per ogni simbolo vedi il punto di codice e i byte di UTF-8. ```widget codifica titolo: Un testo in Unicode e UTF-8: scrivi quello che vuoi modo: testo testo: Ciao, è 5€! ``` Un file fatto solo di numeri di simboli, uno dopo l'altro, si chiama **file di testo**. Sono file di testo i .txt, ma anche i programmi in C e le pagine web. Word, invece, salva anche grassetti, caratteri e margini con codici suoi: un file .docx non è un file di testo. > [!NOTA] Non solo UTF-8 > Unicode si può scrivere in byte anche in altri modi. UTF-16, per esempio, usa 2 o 4 byte per simbolo, e lo usano al loro interno Windows e Java. ::: prova (a) Quanti byte occupa in UTF-8 la parola «caffè»? (b) Si può scrivere in ASCII? (a) c, a, f e f hanno un byte ciascuno; la è ne ha 2. In tutto $4 + 2 = 6$ byte. (b) No: la è non è tra i 128 simboli di ASCII. ::: > [!RICORDA] > - Unicode dà un numero, il punto di codice U+…, a ogni simbolo di ogni lingua. > - UTF-8 scrive quel numero con 1, 2, 3 o 4 byte: 1 per i simboli di ASCII, 2 per le lettere accentate, 3 per €, 4 per le emoji. > - Il primo byte di ogni simbolo dice quanti byte ha. ## Le immagini: pixel e colori (libro, §1.4) Ingrandisci molto una foto sul telefono: a un certo punto vedi tanti quadratini, ognuno di un colore solo. Sono i **pixel**, da *picture elements*, «elementi dell'immagine». Una foto, per il computer, è una griglia di pixel, e ogni pixel è scritto con dei bit. Un'immagine fatta così si chiama **mappa di bit** (*bit map*). In bianco e nero basta un bit per pixel: 1 per nero, 0 per bianco. Ecco una F fatta di cinque righe da cinque pixel. | Riga | Bit | Disegno | |:-:|:-:|:-:| | 1 | 11111 | ■■■■■ | | 2 | 10000 | ■□□□□ | | 3 | 11110 | ■■■■□ | | 4 | 10000 | ■□□□□ | | 5 | 10000 | ■□□□□ | ### I colori in RGB Per i colori immagina tre lampadine puntate sullo stesso punto: una rossa, una verde e una blu. Ognuna ha una manopola che va da spenta, 0, ad accesa al massimo, 255. Ogni manopola è un numero da 0 a 255, e 255 è proprio il numero più grande che sta in un byte. Quindi un pixel occupa 3 byte, uno per lampadina. Questo modo di scrivere i colori si chiama **RGB**, dalle iniziali dei tre colori in inglese: *red*, *green*, *blue*. Le luci si mescolano così: - tutte spente danno il nero; - tutte al massimo danno il bianco; - rosso e verde insieme danno il giallo; - tre valori uguali danno un grigio. | Colore | Rosso | Verde | Blu | In esadecimale | |---|--:|--:|--:|:-:| | nero | 0 | 0 | 0 | #000000 | | bianco | 255 | 255 | 255 | #FFFFFF | | rosso | 255 | 0 | 0 | #FF0000 | | verde | 0 | 255 | 0 | #00FF00 | | blu | 0 | 0 | 255 | #0000FF | | giallo | 255 | 255 | 0 | #FFFF00 | | grigio | 128 | 128 | 128 | #808080 | | arancione | 255 | 128 | 0 | #FF8000 | L'ultima colonna è il modo di scrivere i colori nelle pagine web: ogni byte diventa due cifre esadecimali, come nella [lezione 01](01_bit_porte_esadecimale.html). FF è 255, 80 è 128, 00 è 0. Quanti colori ci sono in tutto? 256 valori per il rosso, per ognuno 256 per il verde, per ognuno 256 per il blu: $256 \cdot 256 \cdot 256 = 16777216$, più di sedici milioni. È lo stesso numero di $2^{24}$, perché 3 byte sono 24 bit. Muovi le tre manopole nello strumento. ```widget codifica titolo: Rosso, verde e blu: tre byte per un pixel modo: colori r: 255 g: 128 b: 0 ``` > [!NOTA] Luminosità e colore > Il libro descrive anche un'altra strada: per ogni pixel si scrivono la luminosità (*luminance*) e due numeri per il colore (*chrominance*). La televisione e il formato JPEG usano un'idea simile, perché l'occhio nota le differenze di luminosità più di quelle di colore. ### Quanto pesa un'immagine Lo schermo di un portatile Full HD ha 1920 colonne e 1080 righe di pixel. I pixel sono 1920 × 1080 = 2073600. Ognuno occupa 3 byte, quindi un'immagine grande come lo schermo occupa 6220800 byte, circa 6 MB. Per questo le immagini si comprimono, per esempio in JPEG: lo racconta la sezione 1.9 del libro. > [!METODO] Quanti byte occupa un'immagine senza compressione > 1. Moltiplica la larghezza per l'altezza, in pixel: sono i pixel. > 2. Moltiplica per i byte di ogni pixel: 3 in RGB. > 3. Se la domanda chiede i bit, moltiplica ancora per 8. ### Immagini vettoriali Una mappa di bit ha un limite: se la ingrandisci, ingrandisci anche i pixel, e l'immagine diventa a quadretti. Esiste un altro modo: invece dei pixel si scrive come disegnare l'immagine, cioè quali linee, curve e figure tracciare e dove. Si chiama **immagine vettoriale**. Per ingrandire un'immagine vettoriale si ridisegnano le figure più grandi: niente quadretti. Sono fatti così i caratteri che si ingrandiscono a piacere, come TrueType e PostScript, i disegni tecnici e i file .svg. Per le fotografie, invece, la mappa di bit resta più fedele: è la domanda 9 del §1.4. ::: prova (a) Che colore è (255, 255, 0)? E (0, 255, 255)? (b) Quanti byte occupa un'immagine di 100 × 100 pixel in RGB, senza compressione? (a) Il primo è giallo: rosso più verde. Il secondo è il ciano, un azzurro chiaro: verde più blu. (b) I pixel sono $100 \cdot 100 = 10000$, ognuno di 3 byte: $30000$ byte. ::: > [!RICORDA] > - Una foto è una griglia di pixel. In RGB ogni pixel ha tre numeri da 0 a 255, rosso, verde e blu: 3 byte. > - Byte di un'immagine senza compressione: larghezza × altezza × 3. > - Le immagini vettoriali dicono come disegnare le figure: si ingrandiscono senza quadretti, ma non vanno bene per le foto. ## I suoni: misurare l'onda (libro, §1.4) Un suono è l'aria che vibra, avanti e indietro, come un'onda. Quanto è alta l'onda dà il volume; quanto è fitta dà la nota, più grave o più acuta. Pensa a un'altalena. Se la fotografi una volta al secondo, dalle foto capisci poco di come si muove. Se la fotografi cento volte al secondo, dalle foto ricostruisci tutto il movimento. Con un suono si fa lo stesso: si misura l'altezza dell'onda tante volte al secondo, sempre allo stesso ritmo, e si conservano i numeri. Ogni misura si chiama **campione** (*sample*), e prendere le misure si chiama **campionamento**. Il libro fa l'esempio di un'onda registrata con i campioni 0; 1,5; 2,0; 1,5; 2,0; 3,0; 4,0; 3,0; 0. Per registrare un suono si fanno due scelte. - **Quante misure al secondo.** Per una telefonata bastano 8000 campioni al secondo. Un CD musicale ne prende 44 100 al secondo. - **Con quanti bit si scrive ogni misura.** Il CD usa 16 bit, cioè $2^{16} = 65536$ valori possibili. Ogni misura viene arrotondata al valore più vicino, come quando misuri con un righello che ha solo le tacche dei millimetri. Questo arrotondamento si chiama **quantizzazione**. Più misure al secondo e più bit per misura danno un suono più fedele, ma occupano più spazio. La musica in stereo, poi, ha due registrazioni, una per orecchio: si chiamano **canali**. Nello strumento vedi un'onda, i campioni presi a intervalli regolari e il suono che si ricostruisce dai campioni. ```widget codifica titolo: Campionare un suono: meno campioni, meno fedeltà modo: suono ``` > [!METODO] Quanti byte occupa un suono > Moltiplica fra loro quattro numeri: i campioni al secondo, i byte di ogni campione, i canali (1 se mono, 2 se stereo) e i secondi. > [!ESEMPIO] Un'ora di musica su CD (domanda 10 del §1.4) > 1. Ogni campione ha 16 bit, cioè 2 byte. > 2. In un secondo di stereo: $44100 \cdot 2 \cdot 2 = 176400$ byte. > 3. Un'ora ha 3600 secondi: $176400 \cdot 3600 = 635040000$ byte, circa 635 MB. > > Un CD contiene da 600 a 700 MB: un'ora di musica lo riempie quasi tutto. C'è anche un modo completamente diverso. Una registrazione conserva il suono; uno spartito conserva le istruzioni per suonarlo. Il formato **MIDI** (*Musical Instrument Digital Interface*) è uno spartito: dice quale strumento, quale nota e per quanto tempo. Occupa pochissimo: secondo il libro, un clarinetto che suona un re per due secondi occupa 3 byte in MIDI, contro più di due milioni di bit con 44 100 campioni al secondo. Il difetto è lo stesso dello spartito: il suono vero dipende da chi lo suona, cioè dallo strumento elettronico che esegue le istruzioni. ::: prova Quanti byte occupa un minuto di telefonata registrata con 8000 campioni al secondo, 8 bit per campione e un solo canale? Ogni campione occupa 8 bit, cioè un byte. In un secondo ci sono 8000 byte, in un minuto $8000 \cdot 60 = 480000$ byte. ::: > [!RICORDA] > - Un suono si registra con i campioni: misure dell'onda prese tante volte al secondo. > - CD: 44 100 campioni al secondo, 16 bit ciascuno, due canali. > - Byte di un suono: campioni al secondo × byte per campione × canali × secondi. ## Sommare in base 2 (libro, §1.5) Ricorda come si somma in colonna in base 10, per esempio 58 + 27. Nella colonna di destra 8 + 7 fa 15: scrivi 5 e riporti 1. Nella colonna dopo 5 + 2 + 1 fa 8. Il risultato è 85. In base 2 si fa nello stesso modo. Cambia solo una cosa: appena una colonna arriva a 2, hai già finito le cifre. Le somme possibili in una colonna sono solo quattro. | Nella colonna | Fa | Scrivi | Riporti | |---|---|:-:|:-:| | 0 + 0 | zero | 0 | 0 | | 0 + 1 oppure 1 + 0 | uno | 1 | 0 | | 1 + 1 | due, che in base 2 è 10 | 0 | 1 | | 1 + 1 + 1 di riporto | tre, che in base 2 è 11 | 1 | 1 | Ecco l'esempio del libro: 00111010 + 00011011, cioè proprio 58 + 27. Si parte dalla colonna di destra. Nella prima riga ci sono i riporti, che arrivano dalla colonna a destra. | | 8ª | 7ª | 6ª | 5ª | 4ª | 3ª | 2ª | 1ª | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | riporti | 0 | 1 | 1 | 1 | 0 | 1 | 0 | | | 58 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | | 27 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | | somma, 85 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | Le prime colonne, da destra: 1. 0 + 1 fa 1: scrivi 1, niente riporto. 2. 1 + 1 fa due, cioè 10: scrivi 0 e riporti 1. 3. 0 + 0 più il riporto fa 1: scrivi 1, niente riporto. 4. 1 + 1 fa 10: scrivi 0 e riporti 1. 5. 1 + 1 più il riporto fa tre, cioè 11: scrivi 1 e riporti 1. E così via fino a sinistra. Controllo con le monete: 01010101 vale 64 + 16 + 4 + 1 = 85. ### Quando il risultato non ci sta: l'overflow Pensa al contachilometri di un motorino con tre cifre. Dopo 999 non c'è posto per 1000: torna a 000. Con i bit succede lo stesso. Con 8 bit gli interi senza segno vanno da 0 a 255. Prova 200 + 100, cioè 11001000 + 01100100. Il risultato vero è 300, che in base 2 è 100101100: ha 9 bit. Negli 8 bit c'è posto solo per gli ultimi 8. Il 1 più a sinistra si perde e resta 00101100, cioè 44. Questo si chiama **overflow**, in italiano anche «trabocco»: il risultato non ci sta nei bit che hai. Chi programma lo incontra davvero: un contatore di 8 bit, dopo 255, ricomincia da 0. > [!TRAPPOLA] Conta solo il riporto che esce a sinistra > Con $n$ bit c'è overflow quando l'ultima colonna a sinistra dà un riporto: non ha più posto dove andare. I riporti in mezzo non contano. Con 4 bit, $0111 + 0001 = 1000$: i riporti attraversano tre colonne, ma $7 + 1 = 8$ ci sta, perché con 4 bit si arriva a 15. Invece $1111 + 0001$ dà un riporto anche dall'ultima colonna: $15 + 1 = 16$ non ci sta, ed è overflow. Questa regola vale per gli interi senza segno. Per i numeri con il segno, nella prossima lezione, ce n'è un'altra. Clicca sui bit dei due numeri nello strumento e guarda i riporti. ```widget codifica titolo: Somma in colonna con 8 bit: clicca sui bit dei due numeri modo: somma a: 00111010 b: 00011011 ``` ::: prova (a) Calcola 1011 + 0110. (b) Con 4 bit il risultato ci sta? (a) Da destra: 1 + 0 fa 1; 1 + 1 fa 10, scrivi 0 e riporti 1; 0 + 1 più il riporto fa 10, scrivi 0 e riporti 1; 1 + 0 più il riporto fa 10, scrivi 0 e riporti 1. Il riporto finale va in una colonna nuova: 10001, cioè 17. Infatti $11 + 6 = 17$. (b) No. Con 4 bit si arriva a 15. Il riporto finale si perde e resta 0001, cioè 1: overflow. ::: > [!RICORDA] > - 0 + 0 = 0; 0 + 1 = 1; 1 + 1 = 10, scrivi 0 e riporti 1; 1 + 1 + 1 = 11, scrivi 1 e riporti 1. > - Con $n$ bit gli interi senza segno vanno da 0 a $2^n - 1$. > - Se l'ultima colonna a sinistra dà un riporto, il risultato non ci sta: è overflow. ## I numeri con la virgola in base 2 (libro, §1.5) In base 10, 3,75 vuol dire 3 unità, 7 decimi e 5 centesimi: dopo la virgola ogni posizione vale un decimo di quella a sinistra. In base 2 vale la stessa idea con le metà. Torna alle monete. A destra della virgola aggiungi monete sempre più piccole, ognuna la metà della precedente: mezzo euro, un quarto di euro, un ottavo di euro. | Moneta | 4 | 2 | 1 | , | 1/2 | 1/4 | 1/8 | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Bit di 101,101 | 1 | 0 | 1 | , | 1 | 0 | 1 | Quindi 101,101 vale 4 + 1 prima della virgola, e 1/2 + 1/8 dopo. È la figura 1.19 del libro. > [!RIPASSO] Sommare mezzi, quarti e ottavi > Per sommare frazioni con sotto numeri diversi, portale tutte agli ottavi: un mezzo è 4/8, un quarto è 2/8. Quindi 1/2 + 1/8 = 4/8 + 1/8 = 5/8. Il numero 101,101 vale 5 e 5/8. Con la virgola in base 10 è 5,625, perché 5/8 = 0,625. > [!NOTA] Virgola o punto > Il libro, in inglese, scrive 101.101 con il punto, e chiama la virgola *radix point*. Qui scrivo la virgola, come si fa in italiano. È lo stesso numero. ### Da una frazione alla base 2 Con le frazioni piccole si usano ancora le monete: scrivi la frazione come somma di mezzi, quarti, ottavi. - 2 e 3/4: tre quarti sono un mezzo più un quarto. Quindi $2 + 1/2 + 1/4$, cioè 10,11. - 5/16: sono 4/16 più 1/16, cioè un quarto più un sedicesimo. Le posizioni dopo la virgola sono 1/2, 1/4, 1/8, 1/16: il bit è 1 nella seconda e nella quarta, quindi 0,0101. Quando il numero è scritto con la virgola in base 10, come 0,625, c'è un metodo che va sempre. > [!METODO] Raddoppiare la parte dopo la virgola > 1. Raddoppia: $0{,}625 \cdot 2 = 1{,}25$. La cifra prima della virgola, qui 1, è il primo bit dopo la virgola. > 2. Tieni solo la parte dopo la virgola, 0,25, e raddoppia di nuovo: 0,5. Prima della virgola c'è 0: il secondo bit è 0. > 3. Raddoppia ancora: $0{,}5 \cdot 2 = 1$. Il terzo bit è 1, e non resta niente: hai finito. > 4. I bit, nell'ordine in cui escono: 0,625 si scrive 0,101. Perché funziona? Raddoppiare sposta tutte le monete di un posto: il mezzo diventa 1 e finisce prima della virgola. Così, a ogni raddoppio, la cifra prima della virgola dice se c'era la moneta successiva. > [!OLTRE] · numeri che in base 2 non finiscono > In base 10, 1/3 è 0,333… e non finisce mai. In base 2 succede anche a numeri che in base 10 hanno una sola cifra dopo la virgola: un decimo diventa 0,000110011001100…, con 0011 che si ripete per sempre. Il computer deve tagliarlo da qualche parte, e nasce un piccolo errore. Per questo in molti linguaggi di programmazione 0.1 + 0.2 dà 0.30000000000000004. Se ne riparla con la virgola mobile, nella sezione 1.7 del libro. ### Sommare con la virgola Si mettono le virgole una sotto l'altra e si somma come sempre, da destra. L'esempio del libro: 10,011 + 100,110, cioè 2 e 3/8 più 4 e 3/4. | Moneta | 4 | 2 | 1 | , | 1/2 | 1/4 | 1/8 | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | riporti | 0 | 0 | 1 | , | 1 | 0 | | | 2 e 3/8 | 0 | 1 | 0 | , | 0 | 1 | 1 | | 4 e 3/4 | 1 | 0 | 0 | , | 1 | 1 | 0 | | somma | 1 | 1 | 1 | , | 0 | 0 | 1 | Il risultato è 111,001, cioè 7 e 1/8. Controllo: 2 e 3/8 più 4 e 3/4, cioè 2 e 3/8 più 4 e 6/8, fa 6 e 9/8, cioè 7 e 1/8. Nello strumento ci sono anche tre bit dopo la virgola. ```widget codifica titolo: Bit con la virgola: clicca sui bit modo: binario bit: 101101 frazioni: 3 ``` ::: prova (a) Quanto vale 11,01? (b) Scrivi 4 e 1/2 in base 2. (a) Prima della virgola 2 + 1; dopo, solo la moneta da 1/4. In tutto 3 e 1/4. (b) 4 è 100 e un mezzo è 0,1: in tutto 100,1. ::: > [!RICORDA] > - Dopo la virgola le posizioni valgono 1/2, 1/4, 1/8, 1/16… > - Da frazione a base 2: scrivi la frazione come somma di mezzi, quarti, ottavi; oppure raddoppia la parte dopo la virgola e prendi le cifre prima della virgola. > - Per sommare, metti le virgole in colonna e somma come sempre. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $1101_2$ | «1101 in base due» | il numerino in basso dice la base | $1101_2 = 13_{10}$ | | $2^n$ | «due alla n» | 2 moltiplicato per sé stesso $n$ volte | $2^3 = 8$ | | $2^n - 1$ | «due alla n meno uno» | l'intero senza segno più grande con $n$ bit | con 8 bit, 255 | | ASCII | «aschi» | il codice dei simboli dell'inglese, numeri da 0 a 127 | A = 65 = 01000001 | | U+00E8 | «u più zero zero e otto» | il punto di codice di un simbolo in Unicode, in esadecimale | U+00E8 è la è | | UTF-8 | «u-ti-effe otto» | il modo di scrivere i punti di codice con 1, 2, 3 o 4 byte | la è diventa C3 A8 | | (R, G, B) | «erre, gi, bi» | rosso, verde e blu di un pixel, da 0 a 255 | (255, 255, 0) è giallo | | #FF8000 | «cancelletto effe effe otto zero zero zero» | un colore RGB in esadecimale, due cifre per colore | arancione | | 101,101 | «uno zero uno virgola uno zero uno» | un numero in base 2 con la virgola: dopo la virgola 1/2, 1/4, 1/8 | 5 e 5/8 | ## Verso l'esame Le regole dell'esame, uguali per i tre canali, sono nella [lezione 01](01_bit_porte_esadecimale.html) e nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md). **Che cosa serve di questa lezione** 1. **Le conversioni tra base 2 e base 10, anche con la virgola.** Nei quiz delle simulazioni del 2023/24 tornano complemento a 2, virgola mobile e notazione in eccesso. Sono le sezioni 1.6 e 1.7 del libro, e si fanno tutte con le conversioni di questa lezione. 2. **La somma in colonna e l'overflow.** Torna identica con il complemento a 2. 3. **Testo, immagini e suoni.** Non compaiono nei quiz delle simulazioni del 2023/24, ma la sezione 1.4 sta nella mappa comune del libro. Servono le idee e i conti: i byte di un testo in UTF-8, di un'immagine, di un suono. > [!ESAME] Conversioni senza pensarci > In 45 minuti ci sono 9 quiz: 5 minuti a domanda. Impara a memoria le potenze di 2 fino a $2^{10} = 1024$ e allenati con le conversioni finché vengono da sole. Nei quiz i numeri sono piccoli: con le potenze di 2 si fa spesso prima che con le divisioni. **Errori da evitare** - Leggere i resti delle divisioni dal primo all'ultimo: si leggono dall'ultimo al primo. - Dimenticare un riporto, soprattutto quando in una colonna ci sono tre 1. - Confondere il simbolo «5», cioè 00110101, con il numero 5, cioè 00000101. - Contare un byte per simbolo in UTF-8: è, € ed emoji ne usano di più. - Nei conti su immagini e suoni, confondere bit e byte, o dimenticare che lo stereo ha due canali. - Dare alle posizioni dopo la virgola i valori 1/10 e 1/100: in base 2 valgono 1/2, 1/4, 1/8. ## Quiz ```quiz D: Il codice ASCII della lettera M è 77. Qual è il codice della lettera m? - $45$ - $78$ - $108$ + $109$ - $77$ = In ASCII la minuscola vale 32 in più della maiuscola: $77 + 32 = 109$. Nei bit cambia solo il sesto bit da destra, quello che vale 32. La risposta $45$ toglie 32 invece di aggiungerlo. La risposta $78$ è il codice di N, la lettera dopo. La risposta $77$ dimentica che maiuscole e minuscole hanno codici diversi. D: Quanti byte occupa in UTF-8 il testo «Perché 5€?», spazio compreso? - $10$ - $11$ - $12$ + $13$ - $20$ = I simboli sono 10. Otto sono di ASCII e occupano un byte ciascuno: P, e, r, c, h, lo spazio, 5 e il punto di domanda. La é occupa 2 byte e l'euro 3. In tutto $8 + 2 + 3 = 13$. La risposta $10$ conta un byte per simbolo, l'errore più comune. La risposta $20$ conta due byte per simbolo. D: Quale di queste affermazioni su Unicode e UTF-8 è vera? - UTF-8 usa sempre 8 bit per ogni simbolo. - Unicode e UTF-8 sono due nomi dello stesso codice. + Un testo scritto solo con simboli di ASCII è anche un testo UTF-8 valido, con gli stessi byte. - In UTF-8 la è occupa un byte, come nel codice Latin-1. - Unicode contiene 256 simboli. = In UTF-8 i punti di codice da U+0000 a U+007F, cioè i simboli di ASCII, occupano un byte che comincia con 0: è proprio il byte di ASCII. UTF-8 usa da 1 a 4 byte per simbolo. Unicode è la tabella dei numeri, UTF-8 un modo di scriverli in byte. La è in UTF-8 occupa 2 byte, C3 A8. Unicode ha posto per più di un milione di simboli. D: Quanti colori diversi si possono scrivere con 3 byte per pixel, in RGB? - $256$ - $768$ - $65536$ + $16777216$ - $16000000$ = Tre byte sono 24 bit, quindi i colori sono $2^{24} = 16777216$. In un altro modo: 256 valori per il rosso, 256 per il verde e 256 per il blu, e $256 \cdot 256 \cdot 256 = 16777216$. La risposta $768$ fa $256 + 256 + 256$: i valori vanno moltiplicati, perché ogni rosso si può combinare con ogni verde e ogni blu. La risposta $16000000$ è solo un'approssimazione. D: Un'immagine di 640 × 480 pixel in RGB, senza compressione, quanti byte occupa? - $1120$ - $3360$ - $307200$ + $921600$ - $7372800$ = I pixel sono $640 \cdot 480 = 307200$, ognuno di 3 byte: $307200 \cdot 3 = 921600$ byte. La risposta $307200$ dimentica i 3 byte per pixel. La risposta $7372800$ conta i bit, non i byte. Le prime due sommano larghezza e altezza invece di moltiplicarle. D: Dieci secondi di audio mono con 44 100 campioni al secondo e 16 bit per campione: quanti byte? - $44100$ - $441000$ + $882000$ - $1764000$ - $7056000$ = Ogni campione ha 16 bit, cioè 2 byte. In un secondo ci sono $44100 \cdot 2 = 88200$ byte, in dieci secondi $882000$. La risposta $441000$ conta un byte per campione. La risposta $1764000$ vale per lo stereo, con due canali. La risposta $7056000$ conta i bit. D: Quanto vale in base 10 il numero binario 110101? - $43$ - $52$ + $53$ - $106$ - $110101$ = Gli 1 stanno nelle posizioni da 32, 16, 4 e 1: $32 + 16 + 4 + 1 = 53$. La risposta $43$ legge i bit al contrario: 101011 vale 43. La risposta $106$ è 1101010, con uno 0 in più a destra, che raddoppia il valore. La risposta $52$ dimentica l'ultimo 1, quello che vale 1. D: Come si scrive 44 in binario? - $1101$ + $101100$ - $100100$ - $101010$ - $110100$ = Con le divisioni: 44 : 2 = 22 resto 0, 22 : 2 = 11 resto 0, 11 : 2 = 5 resto 1, 5 : 2 = 2 resto 1, 2 : 2 = 1 resto 0, 1 : 2 = 0 resto 1. Dall'ultimo al primo: 101100. Controllo: $32 + 8 + 4 = 44$. La risposta $1101$ legge i resti dal primo all'ultimo, 001101, e perde gli zeri davanti: vale 13. Le altre valgono 36, 42 e 52. D: Con 8 bit, interi senza segno, si calcola 11110000 + 00100000. Che cosa si ottiene? + 00010000, con overflow: la somma vale 272 e non ci sta in 8 bit. - 00010000, senza overflow. - 100010000, senza overflow: 8 bit bastano. - 11010000, con overflow. - 11111111, perché con 8 bit non si va oltre 255. = 11110000 vale 240 e 00100000 vale 32: la somma è 272, cioè 100010000, che ha 9 bit. Con 8 bit il riporto finale a sinistra si perde e resta 00010000, cioè 16: è l'overflow, perché con 8 bit si arriva solo a 255. La terza risposta scrive giusto il numero, ma con 9 bit. Un computer non si ferma a 255: tiene gli 8 bit di destra. D: Quanto vale il numero binario 10,011? - 2 e 11/100 - 2,11 + 2 e 3/8 - 2 e 3/4 - 3 e 3/8 = Prima della virgola 10 vale 2. Dopo la virgola le posizioni valgono 1/2, 1/4 e 1/8: ci sono 1/4 e 1/8, cioè $2/8 + 1/8 = 3/8$. In tutto 2 e 3/8. Le prime due risposte leggono le cifre dopo la virgola come in base dieci. La risposta 2 e 3/4 sbaglia i valori delle posizioni, come se fossero 1/2 e 1/4. D: Quale di questi numeri, scritto in base 2, ha infinite cifre dopo la virgola? - $0{,}5$ - $0{,}25$ - $0{,}75$ - $0{,}125$ + $0{,}1$ = 0,5 è 1/2, cioè 0,1 in binario; 0,25 è 1/4, cioè 0,01; 0,75 è $1/2 + 1/4$, cioè 0,11; 0,125 è 1/8, cioè 0,001. Un decimo, invece, non è una somma finita di mezzi, quarti, ottavi: in binario è 0,000110011… con 0011 che si ripete per sempre. ``` ## Esercizi ::: esercizio base Domanda 1 del §1.4: un messaggio in ASCII Che cosa dice questo messaggio in ASCII, un byte per simbolo? 01000011 01101111 01101101 01110000 01110101 01110100 01100101 01110010 00100000 01010011 01100011 01101001 01100101 01101110 01100011 01100101 ::: soluzione Un trucco per le lettere: le maiuscole cominciano con 010 e valgono 64 più il posto della lettera nell'alfabeto; le minuscole cominciano con 011 e valgono 96 più il posto. 1. 01000011 vale 67, cioè $64 + 3$: la terza lettera maiuscola, C. 2. 01101111 vale 111, cioè $96 + 15$: la quindicesima lettera minuscola, o. Allo stesso modo 01101101 è m, 01110000 è p, 01110101 è u, 01110100 è t, 01100101 è e, 01110010 è r. 3. 00100000 vale 32: lo spazio. 4. 01010011 vale 83, cioè $64 + 19$: S. Poi c, i, e, n, c, e. Il messaggio è «Computer Science», come nelle risposte del libro. ::: ::: esercizio base Domande 5 e 6 del §1.4: conversioni (a) Scrivi in base 10: 0101, 1001, 1011, 0110, 10000, 10010. (b) Scrivi in binario: 6, 13, 11, 18, 27, 4. ::: soluzione (a) Si sommano le posizioni con un 1. | Binario | Somma | Decimale | |---|---|--:| | 0101 | 4 + 1 | 5 | | 1001 | 8 + 1 | 9 | | 1011 | 8 + 2 + 1 | 11 | | 0110 | 4 + 2 | 6 | | 10000 | 16 | 16 | | 10010 | 16 + 2 | 18 | (b) Con le potenze di 2, o con le divisioni. | Decimale | Somma di potenze di 2 | Binario | |--:|---|---| | 6 | 4 + 2 | 110 | | 13 | 8 + 4 + 1 | 1101 | | 11 | 8 + 2 + 1 | 1011 | | 18 | 16 + 2 | 10010 | | 27 | 16 + 8 + 2 + 1 | 11011 | | 4 | 4 | 100 | Sono le risposte che dà il libro. ::: ::: esercizio base Domande 1 e 2 del §1.5: ancora conversioni (a) Scrivi in base 10: 101010, 100001, 10111, 0110, 11111. (b) Scrivi in binario: 32, 64, 96, 15, 27. ::: soluzione 1. (a) 101010 è $32 + 8 + 2 = 42$; 100001 è $32 + 1 = 33$; 10111 è $16 + 4 + 2 + 1 = 23$; 0110 è $4 + 2 = 6$; 11111 è $16 + 8 + 4 + 2 + 1 = 31$. 2. (b) 32 è una potenza di 2: 100000. Anche 64: 1000000. Poi $96 = 64 + 32$: 1100000. $15 = 8 + 4 + 2 + 1$: 1111. $27 = 16 + 8 + 2 + 1$: 11011. Controllo veloce: 11111 vale $32 - 1$, perché è tutto 1 fino alla posizione del 16. In generale $n$ bit tutti a 1 valgono $2^n - 1$. ::: ::: esercizio medio Domanda 2 del §1.4: maiuscole e minuscole In ASCII, che legame c'è tra il codice di una lettera maiuscola e quello della stessa lettera minuscola? ::: soluzione 1. A è 01000001, cioè 65; a è 01100001, cioè 97. 2. I due byte sono uguali tranne un bit, il sesto da destra, quello della moneta da 32: 0 nella maiuscola, 1 nella minuscola. 3. Quel bit vale 32: la minuscola ha codice 32 in più della maiuscola. Lo stesso vale per tutte le 26 lettere. È la risposta del libro. I lucidi del canale A dicono la stessa cosa al contrario: per passare da minuscola a maiuscola si toglie 32. ::: ::: esercizio medio Domanda 3 del §1.4: scrivere in ASCII Scrivi in ASCII, un byte per simbolo, la frase «Does 2 + 3 = 5?». ::: soluzione I simboli sono 15, spazi compresi. | Simbolo | Codice | Byte | |:-:|--:|:-:| | D | 68 | 01000100 | | o | 111 | 01101111 | | e | 101 | 01100101 | | s | 115 | 01110011 | | spazio | 32 | 00100000 | | 2 | 50 | 00110010 | | spazio | 32 | 00100000 | | + | 43 | 00101011 | | spazio | 32 | 00100000 | | 3 | 51 | 00110011 | | spazio | 32 | 00100000 | | = | 61 | 00111101 | | spazio | 32 | 00100000 | | 5 | 53 | 00110101 | | ? | 63 | 00111111 | Le cifre sono simboli: «2» è 00110010, non il numero 2. La domanda del libro ha anche una prima frase, «"Stop!" Cheryl shouted.». Nella risposta dell'appendice, pubblicata sul Moodle del canale A, il penultimo byte è stampato 01110100, che è la t: la d di «shouted» è 01100100. ::: ::: esercizio medio Domande 7 e 8 del §1.4: tre byte e i numeri con i punti (a) Qual è il numero più grande che si scrive con tre byte, una cifra ASCII per byte? E in binario? (b) Nella notazione decimale puntata ogni byte si scrive come numero in base 10, e i numeri si separano con un punto: 00001100 00000101 diventa 12.5. Scrivi così 0000111100001111, 001100110000000010000000 e 0000101010100000. ::: soluzione 1. (a) In ASCII tre byte sono tre cifre: il massimo è 999. In binario 24 bit arrivano a $2^{24} - 1 = 16777215$. 2. (b) Si divide ogni fila in byte e si converte ogni byte. 3. 00001111 00001111: 15 e 15, cioè 15.15. 4. 00110011 00000000 10000000: 51, 0 e 128, cioè 51.0.128. 5. 00001010 10100000: 10 e 160, cioè 10.160. È la notazione degli indirizzi di rete, come 192.168.1.1: quattro byte, scritti uno per uno in base 10. ::: ::: esercizio medio Domanda 10 del §1.4: un'ora di musica Un'ora di musica stereo si registra con 44 100 campioni al secondo, come nei CD. Quanto spazio occupa, rispetto a un CD? ::: soluzione 1. Ogni campione ha 16 bit, cioè 2 byte, e i canali sono 2. 2. In un secondo: $44100 \cdot 2 \cdot 2 = 176400$ byte. 3. In un'ora, cioè 3600 secondi: $176400 \cdot 3600 = 635040000$ byte. 4. Sono circa 635 MB, e un CD contiene da 600 a 700 MB: lo riempie quasi tutto. È la risposta del libro. ::: ::: esercizio medio Domande 3 e 4 del §1.5: le frazioni (a) Scrivi in base 10: 11,01; 101,111; 10,1; 110,011; 0,101. (b) Scrivi in binario: 4 e 1/2; 2 e 3/4; 1 e 1/8; 5/16; 5 e 5/8. ::: soluzione (a) Dopo la virgola le posizioni valgono 1/2, 1/4, 1/8. | Binario | Conto | Valore | |---|---|---| | 11,01 | 3 + 1/4 | 3 e 1/4 | | 101,111 | 5 + 1/2 + 1/4 + 1/8 | 5 e 7/8 | | 10,1 | 2 + 1/2 | 2 e 1/2 | | 110,011 | 6 + 1/4 + 1/8 | 6 e 3/8 | | 0,101 | 1/2 + 1/8 | 5/8 | (b) Si scrive la frazione come somma di mezzi, quarti, ottavi, sedicesimi. | Numero | Somma | Binario | |---|---|---| | 4 e 1/2 | 4 + 1/2 | 100,1 | | 2 e 3/4 | 2 + 1/2 + 1/4 | 10,11 | | 1 e 1/8 | 1 + 1/8 | 1,001 | | 5/16 | 1/4 + 1/16 | 0,0101 | | 5 e 5/8 | 5 + 1/2 + 1/8 | 101,101 | Sono le risposte del libro, che scrive i numeri con il punto. ::: ::: esercizio difficile Domanda 5 del §1.5: addizioni Calcola in binario: (a) 11011 + 1100; (b) 1010,001 + 1,101; (c) 11111 + 0001; (d) 111,11 + 00,01. ::: soluzione 1. (a) In colonna, da destra: 1 + 0 = 1; 1 + 0 = 1; 0 + 1 = 1; 1 + 1 = 10, scrivo 0 e riporto 1; 1 + 1 di riporto = 10, scrivo 0 e riporto 1, che va in una colonna nuova. Risultato 100111. Controllo: $27 + 12 = 39$, e 100111 vale $32 + 4 + 2 + 1 = 39$. 2. (b) Con le virgole in colonna: 1010,001 + 0001,101. Dopo la virgola, da destra: 1 + 1 = 10, scrivo 0 e riporto 1; 0 + 0 + 1 = 1; 0 + 1 = 1. Prima della virgola: 0 + 1 = 1; 1 + 0 = 1; 0 + 0 = 0; 1 + 0 = 1. Risultato 1011,110. Controllo: $10{,}125 + 1{,}625 = 11{,}75$. 3. (c) 11111 + 00001: ogni colonna dà 10 con il riporto, fino a una colonna nuova. Risultato 100000. Controllo: $31 + 1 = 32$. 4. (d) 111,11 + 000,01: dopo la virgola 1 + 1 = 10, poi 1 + 0 + 1 = 10; prima della virgola altre tre volte 10. Risultato 1000,00. Controllo: $7{,}75 + 0{,}25 = 8$. Sono le risposte del libro. Nella (c), con 5 bit senza segno, sarebbe overflow: il risultato ha 6 bit. ::: ::: esercizio difficile UTF-8 al contrario Un file contiene questi byte, scritti in esadecimale: 43 69 74 74 C3 A0. Che parola c'è scritta? ::: soluzione 1. I primi quattro byte cominciano con 0 in binario, perché sono minori di 80 in esadecimale: sono simboli di ASCII. 43 vale 67, la C; 69 vale 105, la i; 74 vale 116, la t. Quindi «Citt». 2. C3 in binario è 11000011: comincia con 110, quindi il simbolo occupa due byte. Il byte dopo, A0, è 10100000: comincia con 10, come deve. 3. Si tolgono le parti fisse 110 e 10: restano 00011 e 100000. Insieme: 00011100000, che vale $128 + 64 + 32 = 224$, cioè E0 in esadecimale. 4. U+00E0 è la à. La parola è «Città». ::: ::: esercizio esame Una foto e un suono Una foto di 800 × 600 pixel in RGB, senza compressione. (a) Quanti byte occupa? (b) Quanti KB, con 1 KB = 1024 byte? (c) Quanti secondi di audio stereo di qualità CD occupano lo stesso spazio? ::: soluzione 1. (a) I pixel sono $800 \cdot 600 = 480000$, ognuno di 3 byte: $1440000$ byte. 2. (b) $1440000 : 1024 = 1406{,}25$ KB, cioè circa 1,4 MB. 3. (c) Un secondo di audio stereo da CD occupa $44100 \cdot 2 \cdot 2 = 176400$ byte. 4. $1440000 : 176400$ fa circa 8,2: una sola foto occupa come poco più di 8 secondi di musica. ::: ::: esercizio medio Gli stessi bit, tre significati Il byte 00110101 viene letto come intero senza segno, come carattere ASCII e come quantità di rosso di un pixel RGB con verde e blu a zero. Che cosa vuol dire nei tre casi? ::: soluzione 1. Come intero: le monete sono 32, 16, 4 e 1, quindi vale $32 + 16 + 4 + 1 = 53$. 2. Come carattere ASCII: il codice 53 è la cifra «5». Il numero 5, scritto in binario, sarebbe invece 00000101. 3. Come rosso: il pixel è (53, 0, 0), un rosso scuro, perché 53 è poco rispetto al massimo 255. I bit sono gli stessi: è la regola con cui li leggi a decidere se sono un numero, una lettera o un colore. ::: ::: esercizio medio Riporto in mezzo o overflow? Con 8 bit senza segno calcola (a) 01111111 + 00000001 e (b) 11111111 + 00000001. Di' che cosa resta negli 8 bit e se c'è overflow. ::: soluzione 1. (a) 01111111 vale 127. Sommando 1, i sette 1 di destra diventano 0 e il riporto arriva all'ottava colonna: 10000000, cioè 128. Ci sta, perché il massimo è 255: niente overflow. 2. (b) 11111111 vale 255. Sommando 1, il riporto esce anche dall'ottava colonna: il risultato vero è 100000000, cioè 256, che ha 9 bit. Negli 8 bit resta 00000000, cioè 0: c'è overflow. Non conta quanti riporti ci sono in mezzo, conta solo se esce un riporto dall'ultima colonna. ::: ## Domande di ripasso ::: domanda Che cos'è un codice? Perché ASCII non basta per l'italiano? Un codice è una tabella che dà a ogni simbolo una fila di bit. ASCII ha solo 128 simboli, pensati per l'inglese: mancano le lettere accentate come è e à, e simboli come l'euro. ::: ::: domanda Che differenza c'è tra Unicode e UTF-8? Unicode è la tabella: dà un numero, il punto di codice, a ogni simbolo di ogni lingua. UTF-8 è un modo di scrivere quei numeri in byte, da 1 a 4 per simbolo, con un byte solo per i simboli di ASCII. ::: ::: domanda Perché i numeri si scrivono in binario e non in ASCII? In ASCII ogni cifra occupa un byte: con 2 byte si arriva a 99. In binario gli stessi 16 bit arrivano a 65535. I conti, poi, si fanno direttamente sui bit. ::: ::: domanda Com'è fatta un'immagine a mappa di bit? E una vettoriale? Una mappa di bit è una griglia di pixel, ognuno scritto con dei bit: in RGB tre byte, per rosso, verde e blu. Un'immagine vettoriale è una descrizione di figure, come linee e curve con le loro coordinate: si ingrandisce senza quadretti. ::: ::: domanda Come si scrive un suono in bit? Da che cosa dipende quanto spazio occupa? Si misura l'onda a intervalli regolari e si conservano le misure, i campioni. Lo spazio dipende da quanti campioni al secondo, da quanti bit ha ogni campione, dal numero dei canali e dalla durata. ::: ::: domanda Come si passa dalla base 2 alla base 10, e dalla base 10 alla base 2? Dalla base 2 alla 10 si sommano i valori delle posizioni con un 1: 1, 2, 4, 8… da destra. Dalla base 10 alla 2 si divide per 2 finché il quoziente è 0 e si leggono i resti dall'ultimo al primo. ::: ::: domanda Che cos'è l'overflow negli interi senza segno? Con $n$ bit si scrivono gli interi da 0 a $2^n - 1$. Se una somma è più grande, l'ultima colonna a sinistra dà un riporto che non ha posto: il risultato non ci sta, ed è overflow. ::: ## Glossario ```glossario Codice | Una tabella che dà a ogni simbolo una fila di bit. ASCII | Il codice a 7 bit dei simboli dell'inglese (*American Standard Code for Information Interchange*): 128 simboli, oggi un byte ciascuno. Unicode | La tabella che dà un numero a ogni simbolo di ogni lingua, compresi simboli matematici ed emoji. Punto di codice | Il numero di un simbolo in Unicode (*code point*), scritto U+ e poi in esadecimale: U+00E8 è la è. UTF-8 | Il modo più usato di scrivere i punti di codice in byte: da 1 a 4 byte per simbolo, 1 per i simboli di ASCII. File di testo | Un file fatto solo di codici di simboli, uno dopo l'altro (*text file*). Pixel | Uno dei quadratini di cui è fatta un'immagine (*picture element*). Mappa di bit | Un'immagine scritta come griglia di pixel (*bit map*). RGB | Il modo di scrivere un colore con tre numeri da 0 a 255: rosso, verde e blu (*red*, *green*, *blue*). Immagine vettoriale | Un'immagine descritta come insieme di figure con le loro coordinate: si ingrandisce senza perdere qualità. Campione | Una misura dell'onda di un suono (*sample*). Il campionamento è il procedimento che prende i campioni a intervalli regolari. MIDI | Un formato che conserva le istruzioni per suonare la musica, non l'onda (*Musical Instrument Digital Interface*). Sistema binario | Il modo di scrivere i numeri in base 2: ogni posizione vale il doppio di quella alla sua destra (*binary system*). Virgola binaria | La virgola dei numeri in base 2: dopo di lei le posizioni valgono 1/2, 1/4, 1/8 (*radix point*). Riporto | L'1 che passa alla colonna di sinistra quando una colonna fa 2 o 3 (*carry*). Intero senza segno | Un numero intero da 0 in su, scritto in binario con un numero fisso di bit (*unsigned integer*). Overflow | Quando il risultato di un conto non ci sta nei bit disponibili. ``` ## Checklist ```checklist - So scrivere e leggere un testo in ASCII, e so che maiuscola e minuscola differiscono di 32. - So la differenza tra Unicode e UTF-8 e so contare i byte di un testo in UTF-8. - So scrivere un colore in RGB, anche in esadecimale, e calcolare i byte di un'immagine. - So come si registra un suono e calcolare i byte che occupa. - So passare dalla base 2 alla base 10 e dalla base 10 alla base 2, anche con la virgola. - So sommare in binario e riconoscere l'overflow con $n$ bit. ``` ## Fonti - R. Johnsonbaugh, J. G. Brookshear, D. Brylow, *Fondamenti dell'Informatica*, Pearson 2026 (ISBN 9788891939456), il libro di testo del corso: parte 1, che è il capitolo 1 di J. G. Brookshear, D. Brylow, *Computer Science: an overview*. Sezione 1.4 «Representing Information as Bit Patterns»: testo, ASCII e Unicode (figura 1.11), numeri, immagini, RGB, luminanza e crominanza, immagini vettoriali, suoni, campionamento e MIDI. Sezione 1.5 «The Binary System»: notazione binaria (figure 1.15 e 1.16), l'algoritmo delle divisioni (figure 1.17 e 1.18), l'addizione, le frazioni (figura 1.19). Risposte alle domande delle due sezioni nell'appendice del libro, pubblicate sul Moodle del canale A. - Riassunto della lezione del 02/10/2026 sul Moodle del canale B: «Alfabeti ASCII e UTF-8, colori e suoni, conversioni tra binario e decimale, frazioni binarie, addizione di interi senza segno». - Lucidi del canale A 2026/27, «Cenni sulla codifica dei dati» (F. Cardone, Moodle del canale A, aperto agli ospiti): codice ASCII e passaggio tra maiuscole e minuscole, base 2 con le divisioni, somma in base 2. - Lo standard Unicode (unicode.org) per i punti di codice, e la [RFC 3629](https://www.rfc-editor.org/rfc/rfc3629.html#section-3) per lo schema dei byte di UTF-8. - Le spiegazioni a parole, gli esempi, i riquadri «Prova tu», gli strumenti interattivi, i quiz e gli esercizi senza il numero del libro sono di questi appunti. --- > File: `contesto_ai/FDA/lezioni/03_interi_con_segno_virgola_mobile.md` ```yaml corso: FDA lezione: "03" titolo: Numeri negativi e numeri in virgola mobile data: 2026-10-05 docenti: Stefano Berardi sopratitolo: Canale B · Lezione 03 · Libro, parte 1, §1.6–1.7 descrizione: >- Appunti della lezione 03 di Fondamenti dell'Informatica (canale B): gli interi con il segno in complemento a 2 (lettura, cambio di segno, somme, sottrazioni e overflow), la notazione in eccesso e i numeri con la virgola nel formato a 8 bit del libro (segno, esponente in eccesso 4, mantissa), con l'errore di troncamento; strumenti interattivi, quiz dalle simulazioni d'esame ed esercizi svolti. lede: >- Con i bit si scrivono anche i numeri negativi e i numeri con la virgola. Come un contachilometri che torna indietro da zero diventa il modo di scrivere i negativi, come si sommano senza guardare il segno, e come un byte tiene un numero con la virgola, perdendo a volte qualche cifra. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 1 (Brookshear, cap. 1), §1.6–1.7 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 3 ore, anche in più volte fonte: >- Libro di testo del corso, parte 1 (J. G. Brookshear, D. Brylow, Computer Science: an overview, cap. 1), §1.6 «Storing Integers» e §1.7 «Storing Fractions», con le risposte alle loro domande nell'appendice pubblicata sul Moodle del canale A; diario della lezione del 05/10/2026 del canale B; lucidi del canale A 2026/27 sulla codifica dei dati; simulazioni d'esame 2023/24 appunti_html: appunti/FDA/03_interi_con_segno_virgola_mobile.html genera_html: true ``` ## In breve - Con i bit della lezione 02 si scrivono solo i numeri da 0 in su. Per i **numeri negativi** si usa il **complemento a 2**: è un contachilometri di bit che, tornando indietro da 0000, segna 1111, cioè −1. - In complemento a 2 il bit più a sinistra dice il segno: 0 per i positivi e lo zero, 1 per i negativi. Con 4 bit si va da −8 a 7, con 8 bit da −128 a 127. - Per **cambiare segno** copi i bit da destra fino al primo 1 compreso e inverti tutti gli altri. Oppure inverti tutti i bit e aggiungi 1. - Le **somme** si fanno in colonna come nella lezione 02, e il riporto che esce a sinistra si butta. Sottrarre vuol dire sommare l'opposto. C'è **overflow** quando due numeri con lo stesso segno danno un risultato con il segno opposto. - Nella **notazione in eccesso** leggi i bit come un numero senza segno e togli sempre lo stesso numero: con 4 bit togli 8, con 3 bit togli 4. - I numeri con la virgola si scrivono in **virgola mobile**. Nel formato del libro il primo bit è il **segno**, i 3 bit dopo sono l'**esponente**, che dice di quanto spostare la virgola, e gli ultimi 4 la **mantissa**, cioè le cifre. - Quando le cifre non entrano nei 4 bit della mantissa, le ultime si perdono: è l'**errore di troncamento**. Per questo un decimo non si scrive mai in modo esatto. - All'esame tornano tutte e tre: complemento a 2, notazione in eccesso e virgola mobile. Nelle simulazioni del 2023/24 c'è un quiz sul complemento a 2 con 8 bit e uno sul numero 3,625 in virgola mobile. > [!CANALI] > Nel canale B è la lezione di lunedì 05/10, dalle 9 alle 11. Per il docente è la lezione 4, perché la prima è stata un'introduzione: qui è la 03. Il diario del canale B la riassume così: «Interi col segno in complemento in base 2. Excess notation, cambio di segno e addizione in complemento in base 2» (§1.6, *Storing Integers*) e «Floating point notation» (§1.7, *Storing Fractions*). La sezione 1.8, sul linguaggio Python, è stata omessa dal docente: qui non c'è. Nel programma del canale B è esclusa, ma la mappa comune dei tre canali la elenca: se vuoi esserne sicuro, chiedilo al docente. Qui gli argomenti sono nell'ordine del libro: complemento a 2, somme, notazione in eccesso, virgola mobile. Nel canale A il complemento a 2 è nelle ultime pagine dei lucidi «Cenni sulla codifica dei dati» di Felice Cardone (Moodle del canale A, id 3851, aperto agli ospiti). Nel canale C le stesse sezioni sono nei lucidi del docente. ## Il contachilometri all'indietro (libro, §1.6) Nella [lezione 02](02_testo_colori_suoni_binario.html) hai scritto in bit i numeri da 0 in su. Ma servono anche i numeri negativi: una temperatura di −3 gradi, un conto in rosso di −50 euro, l'ascensore che scende al piano −1. Il computer però ha solo bit. Non c'è un posto dove mettere il segno meno. ### Tornare indietro da zero Riprendi il contachilometri della lezione 02, quello del motorino con tre cifre. Segna 000. Ora immagina di spingere il motorino all'indietro per un chilometro. Il contachilometri gira al contrario e segna 999. Un altro chilometro all'indietro: 998. Quindi 999 sta un passo prima di 000: fa la parte di −1. Il 998 fa la parte di −2, e così via. Basta mettersi d'accordo: da 000 a 499 ci sono i numeri soliti, da 500 a 999 i negativi. Con i bit si fa la stessa cosa. Prendi un contatore di 3 bit fermo su 000. - Un passo avanti: 001, cioè 1. Poi 010, cioè 2, e 011, cioè 3. - Un passo indietro da 000: il contatore gira e segna 111. Quindi 111 è −1. - Ancora indietro: 110 è −2, 101 è −3, 100 è −4. Questo modo di scrivere i numeri con il segno si chiama **complemento a 2** (*two's complement*). È quello che usano i computer per gli interi. Ecco le tabelle con 3 bit e con 4 bit, come nel libro. | Bit | 011 | 010 | 001 | 000 | 111 | 110 | 101 | 100 | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Valore | 3 | 2 | 1 | 0 | −1 | −2 | −3 | −4 | | Positivi e zero | Valore | Negativi | Valore | |:-:|--:|:-:|--:| | 0111 | 7 | 1111 | −1 | | 0110 | 6 | 1110 | −2 | | 0101 | 5 | 1101 | −3 | | 0100 | 4 | 1100 | −4 | | 0011 | 3 | 1011 | −5 | | 0010 | 2 | 1010 | −6 | | 0001 | 1 | 1001 | −7 | | 0000 | 0 | 1000 | −8 | Guarda la tabella con 4 bit. Si notano tre cose. 1. **Il bit a sinistra dice il segno**: 0 per i positivi e per lo zero, 1 per i negativi. Si chiama **bit di segno** (*sign bit*). 2. I positivi si scrivono come nella lezione 02, con uno 0 davanti: 0101 è 5. 3. −1 è fatto di soli 1: 111 con 3 bit, 1111 con 4, 11111111 con 8. È il passo prima di zero. > [!IDEA] > Il complemento a 2 è un contachilometri di bit. In avanti da zero ci sono i positivi. All'indietro da zero il contatore gira, e ci sono i negativi: −1 è tutto 1. ::: prova Con 4 bit, che numero è 1110? E come si scrive −3? 1110 è due passi indietro da 0000: 1111 è −1, 1110 è −2. Quindi vale −2. −3 è tre passi indietro: 1111, 1110, 1101. Quindi −3 si scrive 1101. ::: ### Leggere un numero: la moneta con il segno meno Contare i passi all'indietro va bene vicino a zero. Per gli altri numeri c'è un modo più veloce, con le monete della lezione 02. In complemento a 2 la moneta più a sinistra vale **con il segno meno**. Con 4 bit le monete sono −8, 4, 2 e 1. Il numero vale, come sempre, la somma delle monete sotto cui c'è un 1. | Bit | 1 | 0 | 1 | 0 | |---|:-:|:-:|:-:|:-:| | Moneta | −8 | 4 | 2 | 1 | | La dai? | sì | no | sì | no | Quindi 1010 vale −8 + 2 = −6. Controlla nella tabella: è proprio −6. Un altro esempio: 0110 ha il bit di segno a 0, quindi la moneta da −8 non c'è. Vale 4 + 2 = 6. Con 8 bit le monete sono −128, 64, 32, 16, 8, 4, 2 e 1. Prendi 11111010. Le monete positive sono 64, 32, 16, 8 e 2, che fanno 122. Con la moneta da −128: −128 + 122 = −6. Perché la moneta di sinistra ha il segno meno? Leggi 1111 senza segno, come nella lezione 02: vale 15. Ma nel contachilometri 1111 è −1, cioè 16 in meno. Succede a tutti i negativi con 4 bit: letti senza segno valgono 16 in più del loro valore vero. Dare alla prima moneta −8 invece di 8 toglie proprio 16. > [!METODO] Leggere un numero in complemento a 2 > 1. Guarda il bit a sinistra. Se è 0, il numero è positivo o zero: leggilo come nella lezione 02. > 2. Se è 1, il numero è negativo. Somma le monete, ma dai a quella di sinistra il segno meno: −8 con 4 bit, −128 con 8 bit. > 3. Controllo: letto senza segno, un negativo vale 16 in più con 4 bit, 256 in più con 8 bit. Il controllo su 1010: senza segno vale 8 + 2 = 10, e 10 − 16 = −6. Torna. Nello strumento parti da 0000 e premi più volte «−1»: il contatore gira a 1111, poi a 1110, come il contachilometri. Clicca sui bit per vedere come cambia il valore. L'ultima riga, la notazione in eccesso, la vedi più avanti. ```widget codifica titolo: Il contachilometri di 4 bit: premi +1 e −1 modo: interi bit: 0000 n: 4 ``` ::: prova Con 8 bit, quanto valgono 10000001 e 01111111? 10000001: le monete sono −128 e 1, quindi vale −128 + 1 = −127. 01111111: il bit di segno è 0. Ci sono tutte le altre monete: 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127. ::: ### Fin dove si arriva Con 4 bit i numeri vanno da −8 a 7. Il più piccolo, 1000, ha solo la moneta da −8. Il più grande, 0111, ha tutte le monete positive: 4 + 2 + 1 = 7. Non è simmetrico: −8 c'è, 8 no. Le file di 4 bit sono 16. Metà cominciano con 1, e sono gli 8 negativi da −1 a −8. Le altre 8 cominciano con 0, e una di loro è lo zero: ai positivi restano solo i numeri da 1 a 7. Con un numero di bit qualunque, che chiamiamo $n$, la moneta di segno vale $2^{n-1}$. Si legge «due elevato alla n meno uno»: l'esponente è $n - 1$, un bit in meno di quelli che hai. Con 4 bit è $2^3 = 8$. Quindi: - il numero più piccolo è $-2^{n-1}$: solo la moneta di segno; - il numero più grande è $2^{n-1} - 1$: tutte le monete positive, che fanno la moneta di segno meno 1. | Bit | Dal più piccolo | Al più grande | |--:|--:|--:| | 3 | −4 | 3 | | 4 | −8 | 7 | | 6 | −32 | 31 | | 8 | −128 | 127 | | 16 | −32768 | 32767 | | 32 | −2147483648 | 2147483647 | I computer di oggi usano 32 o 64 bit per gli interi: con 32 bit si superano già i due miliardi. > [!TRAPPOLA] «Con 8 bit si arriva a 255» > Vale solo senza segno, come nella lezione 02. In complemento a 2 metà delle file servono per i negativi, e con 8 bit si arriva a 127. Lo stesso byte 11111111 vale 255 senza segno e −1 in complemento a 2: decide la regola con cui lo leggi. ::: prova Con 6 bit, qual è il numero più grande e quale il più piccolo? La moneta di segno vale $2^5 = 32$. Il più piccolo è 100000, cioè −32. Il più grande è 011111, cioè 16 + 8 + 4 + 2 + 1 = 31. È la domanda 4 del §1.6, con la risposta del libro. ::: > [!RICORDA] > - Complemento a 2 = contachilometri di bit: all'indietro da 0000 si arriva a 1111, cioè −1. > - Bit a sinistra 0: positivo o zero. Bit a sinistra 1: negativo. La moneta di sinistra vale con il segno meno: −8 con 4 bit, −128 con 8. > - Con $n$ bit si va da $-2^{n-1}$ a $2^{n-1} - 1$: con 4 bit da −8 a 7, con 8 bit da −128 a 127. ## Cambiare segno a un numero (libro, §1.6) Sul contachilometri, 2 e −2 stanno alla stessa distanza da zero: due passi avanti e due passi indietro. Cambiare segno vuol dire passare da uno all'altro. Sui bit ci sono due modi per farlo. Il primo è quello del libro. ### Il metodo del libro: copia, poi inverti **Invertire** un bit vuol dire cambiarlo: 0 diventa 1, e 1 diventa 0. > [!METODO] Cambiare segno: copia fino al primo 1, poi inverti > 1. Parti da destra e copia i bit così come sono, fino al primo 1 compreso. > 2. Inverti tutti i bit che restano a sinistra. > [!ESEMPIO] Da 6 a −6, con 4 bit > 6 si scrive 0110. > 1. Da destra: lo 0 si copia. Poi viene il primo 1, e si copia anche lui. Hai copiato «10». > 2. A sinistra restano «01». Invertiti diventano «10». > 3. Il risultato è 1010. > > Controllo con le monete: 1010 vale −8 + 2 = −6. Funziona anche al contrario. Parti da −6, cioè 1010: copi «10», inverti «10» e ottieni «01». Il risultato è 0110, cioè 6. ### L'altro modo: inverti tutto e aggiungi 1 Molti libri usano un altro metodo, che dà lo stesso risultato. > [!METODO] Cambiare segno: inverti e aggiungi 1 > 1. Inverti tutti i bit. > 2. Aggiungi 1, con la somma in colonna della lezione 02. Ancora da 6 a −6. Inverti 0110 e ottieni 1001. Aggiungi 1: 1001 + 0001 = 1010. È di nuovo −6. Perché funziona? Somma un numero e il suo invertito: in ogni colonna c'è un 1 e uno 0, e viene sempre 1. Per esempio 0110 + 1001 = 1111. Ma 1111 è −1. Quindi l'invertito di 6 è il numero che, sommato a 6, dà −1: è −7. Sul contachilometri è un passo troppo indietro. Aggiungendo 1 si arriva a −6. Nello strumento della sezione precedente c'è il pulsante «cambia segno»: provalo su qualche numero. ### Da un numero negativo ai bit > [!METODO] Scrivere un numero negativo in complemento a 2 > 1. Scrivi il numero senza il segno meno in base 2, con tutti i bit richiesti: metti zeri a sinistra se servono. > 2. Cambia segno, con uno dei due metodi. > 3. Controlla con le monete. > [!ESEMPIO] −17 con 8 bit (domanda 2 del §1.6) > 1. 17 = 16 + 1. Con 8 bit: 00010001. > 2. Da destra copi il primo 1. Inverti gli altri sette bit, 0001000, che diventano 1110111. > 3. Il risultato è 11101111. > 4. Controllo: le monete positive sono 64, 32, 8, 4, 2 e 1, che fanno 111. Con la moneta da −128: −128 + 111 = −17. ### Due casi speciali - **Lo zero.** 0000 non ha nessun 1: si copia tutto, e resta 0000. Lo zero è l'opposto di sé stesso, e ce n'è uno solo. - **Il numero più piccolo.** Con 4 bit è 1000, cioè −8. Il primo 1 da destra è quello del segno: si copia tutto e resta 1000. Cambiare segno a −8 non funziona, perché 8 con 4 bit non c'è. > [!OLTRE] · lo stesso numero con più bit > −6 con 4 bit è 1010. Con 8 bit è 11111010: è la risposta del libro alla domanda 2 del §1.6. Per allungare un numero si copia il bit di segno verso sinistra: i positivi si allungano con degli 0, i negativi con degli 1. Sul contachilometri è naturale: con più cifre, −1 resta tutto 1. Attenzione: 00001010 non è −6. Il bit di segno è 0, e vale 10. > [!OLTRE] · due modi che i computer non usano più > Il programma ufficiale del corso nomina anche il **complemento a 1**: per cambiare segno si invertono tutti i bit, senza aggiungere 1. Con 4 bit −6 diventa 1001. C'è poi la notazione **segno e modulo**: il primo bit è il segno, gli altri il valore, e −6 è 1110. Tutti e due hanno due zeri: in complemento a 1 sono 0000 e 1111, in segno e modulo 0000 e 1000. In più le somme in colonna danno risultati sbagliati e vanno corrette. Per questo i computer usano il complemento a 2. ::: prova (a) Con 8 bit, cambia segno a 01010101. (b) Scrivi −1 con 8 bit. (a) Da destra copi il primo 1. Inverti gli altri sette bit, 0101010, che diventano 1010101. Il risultato è 10101011. Controllo: 01010101 vale 64 + 16 + 4 + 1 = 85, e 10101011 vale −128 + 32 + 8 + 2 + 1 = −85. È la domanda 3 del §1.6. (b) 1 con 8 bit è 00000001. Copi l'ultimo 1 e inverti gli altri sette: 11111111. È il numero fatto di soli 1, come deve essere −1. ::: > [!RICORDA] > - Cambiare segno: copia da destra fino al primo 1 compreso, poi inverti il resto. Oppure: inverti tutto e aggiungi 1. > - Un negativo si scrive così: prima il numero senza segno, con tutti i bit, poi si cambia segno. > - Lo zero resta zero. Il numero più piccolo, 1000 con 4 bit, non ha l'opposto. ## Sommare e sottrarre con il segno (libro, §1.6) Il complemento a 2 ha un grande vantaggio: si somma esattamente come nella lezione 02, senza guardare i segni. C'è una sola regola nuova: il riporto che esce dalla colonna più a sinistra si butta via. Torna al contachilometri. Segna 998, cioè −2. Fai 3 chilometri in avanti: 999, 000, 001. Ora segna 001, cioè 1. E infatti −2 + 3 = 1. In colonna, 998 + 003 fa 1001: quattro cifre. Il contachilometri ne ha tre e mostra 001. L'1 a sinistra si perde, ed è giusto così. ### Tre somme con 4 bit **3 + 2.** È la somma della lezione 02: 0011 + 0010 = 0101, cioè 5. **−3 + (−2).** In bit 1101 + 1110. La prima riga della tabella contiene i riporti che arrivano in ogni colonna. La colonna «fuori» è il posto che non c'è. | | fuori | 4ª | 3ª | 2ª | 1ª | |---|:-:|:-:|:-:|:-:|:-:| | riporti | | 1 | 0 | 0 | | | −3 | | 1 | 1 | 0 | 1 | | −2 | | 1 | 1 | 1 | 0 | | somma | (1) | 1 | 0 | 1 | 1 | 1. 1 + 0 fa 1: scrivi 1, niente riporto. 2. 0 + 1 fa 1: scrivi 1, niente riporto. 3. 1 + 1 fa 10: scrivi 0 e riporti 1. 4. 1 + 1 più il riporto fa 11: scrivi 1 e riporti 1. Questo riporto esce dai 4 bit e si butta. Restano 1011. Con le monete: −8 + 2 + 1 = −5. Giusto. **7 + (−5).** In bit 0111 + 1011. | | fuori | 4ª | 3ª | 2ª | 1ª | |---|:-:|:-:|:-:|:-:|:-:| | riporti | | 1 | 1 | 1 | | | 7 | | 0 | 1 | 1 | 1 | | −5 | | 1 | 0 | 1 | 1 | | somma | (1) | 0 | 0 | 1 | 0 | 1. 1 + 1 fa 10: scrivi 0 e riporti 1. 2. 1 + 1 più il riporto fa 11: scrivi 1 e riporti 1. 3. 1 + 0 più il riporto fa 10: scrivi 0 e riporti 1. 4. 0 + 1 più il riporto fa 10: scrivi 0. Il riporto esce e si butta. Restano 0010, cioè 2. Giusto: 7 − 5 = 2. Nello strumento clicca sui bit dei due numeri: sotto vedi la somma in colonna e il valore di ogni numero con il segno. ```widget codifica titolo: Somma in complemento a 2 con 4 bit: clicca sui bit modo: somma a: 0111 b: 1011 complemento: si n: 4 ``` ### Sottrarre vuol dire sommare l'opposto Togliere 5 è come aggiungere −5: 7 − 5 = 7 + (−5). Quindi una sottrazione si fa in due passi: cambi segno al secondo numero e sommi. Il computer non ha bisogno di un circuito per sottrarre: gli bastano quello che cambia segno e quello che somma. > [!ESEMPIO] 4 − 6 con 4 bit (domanda 7 del §1.6) > 1. 4 è 0100. 6 è 0110, e con il cambio di segno diventa 1010. > 2. 0100 + 1010: da destra 0 + 0 fa 0, 0 + 1 fa 1, 1 + 0 fa 1, 0 + 1 fa 1. Nessun riporto. > 3. Il risultato è 1110. Con le monete: −8 + 4 + 2 = −2. Giusto: 4 − 6 = −2. ::: prova (a) Con 4 bit calcola 1110 + 0011. (b) Calcola 3 − 2 con 4 bit, come una somma. (a) È −2 + 3. Da destra: 0 + 1 fa 1. Poi 1 + 1 fa 10: scrivi 0 e riporti 1. Poi 1 + 0 più il riporto fa 10: scrivi 0 e riporti 1. Poi 1 + 0 più il riporto fa 10: scrivi 0, e il riporto esce e si butta. Resta 0001, cioè 1. È la domanda 5 del §1.6. (b) 3 è 0011. 2 è 0010, e con il cambio di segno diventa 1110. Poi 0011 + 1110: da destra 1 + 0 fa 1; 1 + 1 fa 10, scrivi 0 e riporti 1; 0 + 1 più il riporto fa 10, scrivi 0 e riporti 1; 0 + 1 più il riporto fa 10, scrivi 0 e il riporto si butta. Resta 0001, cioè 1. ::: > [!RICORDA] > - In complemento a 2 si somma in colonna come senza segno. Il riporto che esce a sinistra si butta. > - Per sottrarre, cambia segno al secondo numero e somma. ## Quando il risultato non ci sta: l'overflow (libro, §1.6) Con 4 bit il numero più grande è 7. Prova a calcolare 5 + 4, cioè 0101 + 0100. 1. 1 + 0 fa 1. 2. 0 + 0 fa 0. 3. 1 + 1 fa 10: scrivi 0 e riporti 1. 4. 0 + 0 più il riporto fa 1. Il risultato è 1001, che in complemento a 2 vale −8 + 1 = −7. È sbagliato: 5 + 4 fa 9, e 9 con 4 bit non c'è. Guarda il contachilometri. Parti da 5 e fai 4 passi in avanti: 6, 7, poi 1000, che è −8, poi 1001, che è −7. Hai scavalcato il confine tra il positivo più grande e il negativo più piccolo. Questo è l'**overflow** dei numeri con il segno: il risultato vero non ci sta nei bit che hai. Lo stesso succede con due negativi. Calcola −6 + (−6), cioè 1010 + 1010. Da destra: 0 + 0 fa 0; 1 + 1 fa 10, scrivi 0 e riporti 1; 0 + 0 più il riporto fa 1; 1 + 1 fa 10, scrivi 0 e il riporto si butta. Resta 0100, cioè 4. Ma −6 − 6 fa −12, che con 4 bit non c'è. In tutti e due i casi il segno del risultato è sbagliato. Due positivi non possono dare un negativo, e due negativi non possono dare un positivo. È questo il segnale dell'overflow. > [!METODO] Riconoscere l'overflow in complemento a 2 > 1. Guarda i bit di segno dei due numeri. Se sono diversi, l'overflow non c'è mai: hai finito. > 2. Se sono uguali, fai la somma e guarda il bit di segno del risultato. > 3. Se è diverso da quello dei due numeri, c'è overflow. ### Un positivo più un negativo non va mai in overflow È la domanda 8 del §1.6. Sommando un positivo e un negativo, il risultato sta sempre tra i due numeri. Per esempio 7 + (−8) fa −1, che sta tra −8 e 7. I due numeri ci stanno nei bit che hai, e quindi ci sta anche il risultato. > [!TRAPPOLA] Il riporto finale non dice niente > Nella lezione 02, per i numeri senza segno, l'overflow c'era quando usciva un riporto a sinistra. Con il segno non funziona così. In −3 + (−2) esce un riporto, ma il risultato −5 è giusto. In 5 + 4 non esce nessun riporto, ma c'è overflow. Con il complemento a 2 guarda solo i segni. Nello strumento della sezione precedente prova 0101 + 0100 e 1010 + 1010: lo strumento segnala l'overflow. Con 32 bit si arriva oltre i due miliardi e l'overflow capita di rado. Ma capita, e un programma che conta oltre il massimo si ritrova con un numero negativo. ::: prova Con 4 bit: (a) 0101 + 0110; (b) 1010 + 0111. In quale c'è overflow? (a) I due numeri sono positivi, 5 e 6. Da destra: 1 + 0 fa 1; 0 + 1 fa 1; 1 + 1 fa 10, scrivi 0 e riporti 1; 0 + 0 più il riporto fa 1. Il risultato è 1011, che è negativo: overflow. Infatti 5 + 6 = 11, e con 4 bit si arriva a 7. (b) I segni sono diversi, quindi niente overflow. Da destra: 0 + 1 fa 1; 1 + 1 fa 10, scrivi 0 e riporti 1; 0 + 1 più il riporto fa 10, scrivi 0 e riporti 1; 1 + 0 più il riporto fa 10, scrivi 0 e il riporto si butta. Resta 0001, cioè 1. Infatti −6 + 7 = 1. Sono due voci della domanda 6 del §1.6. ::: > [!RICORDA] > - Overflow in complemento a 2: due numeri con lo stesso segno danno un risultato con il segno opposto. > - Un positivo più un negativo non va mai in overflow. > - Il riporto che esce a sinistra non c'entra: conta solo il segno. ## La notazione in eccesso (libro, §1.6) Immagina un palazzo con otto piani sotto terra e sette sopra. I pulsanti dell'ascensore sono numerati da 0 a 15, dal piano più basso in su. Il piano terra è il pulsante 8. Per sapere a che piano sei, togli 8 dal numero del pulsante: il pulsante 11 porta al piano 3, il pulsante 5 al piano −3. La **notazione in eccesso** (*excess notation*) fa la stessa cosa con i bit. Leggi i bit come un numero senza segno, come nella lezione 02, e poi togli sempre lo stesso numero. Con 4 bit si toglie 8, e si chiama **notazione in eccesso 8** (*excess eight*). | Bit | Senza segno | In eccesso 8 | | Bit | Senza segno | In eccesso 8 | |:-:|--:|--:|---|:-:|--:|--:| | 1111 | 15 | 7 | | 0111 | 7 | −1 | | 1110 | 14 | 6 | | 0110 | 6 | −2 | | 1101 | 13 | 5 | | 0101 | 5 | −3 | | 1100 | 12 | 4 | | 0100 | 4 | −4 | | 1011 | 11 | 3 | | 0011 | 3 | −5 | | 1010 | 10 | 2 | | 0010 | 2 | −6 | | 1001 | 9 | 1 | | 0001 | 1 | −7 | | 1000 | 8 | 0 | | 0000 | 0 | −8 | > [!METODO] Leggere e scrivere in eccesso 8 > - Dai bit al numero: leggi i bit senza segno e togli 8. Per esempio 1110 è 14, e 14 − 8 = 6. > - Dal numero ai bit: aggiungi 8 e scrivi il risultato in base 2 con 4 bit. Per esempio −5 + 8 = 3, cioè 0011. Con 3 bit si toglie 4: è la **notazione in eccesso 4**. I bit vanno da 000, cioè −4, a 111, cioè 3. In generale con $n$ bit si toglie $2^{n-1}$, la stessa moneta di segno del complemento a 2. | Bit | 111 | 110 | 101 | 100 | 011 | 010 | 001 | 000 | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | In eccesso 4 | 3 | 2 | 1 | 0 | −1 | −2 | −3 | −4 | Questa tabella ti serve nella virgola mobile, tra poco. ### Il legame con il complemento a 2 Con 4 bit l'eccesso 8 va da −8 a 7, come il complemento a 2. Confronta le due scritture dello stesso numero. | Numero | Complemento a 2 | Eccesso 8 | |--:|:-:|:-:| | −6 | 1010 | 0010 | | −1 | 1111 | 0111 | | 0 | 0000 | 1000 | | 5 | 0101 | 1101 | Cambia solo il bit a sinistra. Quindi per passare da una notazione all'altra basta invertire il primo bit. > [!TRAPPOLA] In eccesso il bit a sinistra è al contrario > In complemento a 2 il bit a sinistra è 1 per i negativi. In eccesso è 1 per i positivi e lo zero, e 0 per i negativi. Prima di leggere un numero, guarda bene quale notazione chiede la domanda. A che cosa serve questa notazione? In eccesso, il numero più grande ha anche i bit più grandi, letti senza segno: l'ordine dei numeri è l'ordine dei bit. Confrontare due numeri diventa facile, e per questo l'eccesso si usa per l'esponente della virgola mobile. Nello strumento i bit sono 3: guarda la riga dell'eccesso 4 e premi «+1» e «−1». ```widget codifica titolo: Tre letture degli stessi 3 bit modo: interi bit: 110 n: 3 ``` ::: prova (a) Quanto vale 0010 in eccesso 8? (b) Come si scrive 0 in eccesso 8? (c) Si può scrivere 9 in eccesso 8? (a) Senza segno 0010 è 2, e 2 − 8 = −6. (b) 0 + 8 = 8, cioè 1000. (c) No. Il numero più grande è 1111, cioè 15 − 8 = 7. È la domanda 11 del §1.6: per lo stesso motivo 6 non si scrive in eccesso 4, che arriva solo a 3. ::: > [!RICORDA] > - Eccesso 8 con 4 bit: leggi senza segno e togli 8. Eccesso 4 con 3 bit: togli 4. > - Per scrivere un numero: aggiungi 8 (o 4) e scrivi in base 2. > - Eccesso e complemento a 2 differiscono solo nel bit a sinistra. ## La virgola che si sposta (libro, §1.7) Sul display di una calcolatrice ci stanno poche cifre. Per scrivere 3500000 bastano due cifre, 35, e un'istruzione: «scrivi 0,35 e sposta la virgola di 7 posti a destra». Per 0,0035 bastano le stesse cifre: «scrivi 0,35 e sposta la virgola di 2 posti a sinistra». Un numero, quindi, si può scrivere con due cose: le cifre, e di quanti posti spostare la virgola. In fisica si scrive $0{,}35 \cdot 10^7$, che si legge «zero virgola trentacinque per dieci alla settima». Moltiplicare per $10^7$ vuol dire spostare la virgola di 7 posti a destra. In base 2 vale la stessa idea. Ricorda le monete della lezione 02: spostare la virgola di un posto a destra fa passare ogni moneta a quella successiva, che vale il doppio. Quindi il numero raddoppia. Spostarla a sinistra lo dimezza. Per esempio 0,11 vale 3/4, e 1,1 vale 1 e 1/2, il doppio. ### Perché non la virgola fissa Nella lezione 02 la virgola stava in un posto fisso: si chiama **virgola fissa**. Prova a mettere in un byte 4 bit prima della virgola e 4 dopo. Il numero più piccolo, oltre lo zero, è 0000,0001, cioè 1/16. Il più grande è 1111,1111, cioè 15 e 15/16. Non ci sta 20, e non ci sta 1/32. La **virgola mobile** (*floating point*) usa alcuni bit per dire dove va la virgola. Così con pochi bit si scrivono sia numeri grandi sia numeri piccoli. ### Il formato del libro: segno, esponente, mantissa Il libro usa un formato da un byte, diviso in tre pezzi. | Bit | 1° | 2°, 3°, 4° | 5°, 6°, 7°, 8° | |---|:-:|:-:|:-:| | Pezzo | segno | esponente | mantissa | | Esempio: 01101011 | 0 | 110 | 1011 | - Il **segno** è un bit: 0 per i positivi, 1 per i negativi. Qui gli altri bit non cambiano con il segno: −2 e 2 differiscono solo nel primo bit. - La **mantissa** (*mantissa*) sono le 4 cifre. La virgola si immagina a sinistra: la mantissa 1011 vuol dire 0,1011. - L'**esponente** (*exponent*) sono 3 bit in eccesso 4, cioè un numero da −4 a 3. Dice di quanti posti spostare la virgola: a destra se è positivo, a sinistra se è negativo. > [!METODO] Dal byte al numero > 1. Dividi il byte: 1 bit di segno, 3 di esponente, 4 di mantissa. > 2. Scrivi la mantissa con «0,» davanti. > 3. Leggi l'esponente in eccesso 4: senza segno, meno 4. > 4. Sposta la virgola di tanti posti quanto dice l'esponente: a destra se è positivo, a sinistra se è negativo. Se mancano cifre, aggiungi degli zeri. > 5. Leggi il numero con le monete della lezione 02, dopo la virgola 1/2, 1/4, 1/8. Se il segno è 1, mettici il meno. > [!ESEMPIO] 01101011, l'esempio del libro > 1. Segno 0, esponente 110, mantissa 1011. > 2. La mantissa è 0,1011. > 3. 110 senza segno è 6, e 6 − 4 = 2. > 4. Sposti la virgola di 2 posti a destra: 10,11. > 5. Prima della virgola 10 vale 2. Dopo la virgola 1/2 + 1/4 = 3/4. Il segno è 0: il numero è 2 e 3/4. > [!ESEMPIO] 00111100, con l'esponente negativo > 1. Segno 0, esponente 011, mantissa 1100. > 2. La mantissa è 0,1100. > 3. 011 senza segno è 3, e 3 − 4 = −1. > 4. Sposti la virgola di un posto a sinistra. Davanti manca una cifra, e aggiungi uno zero: 0,01100. > 5. Dopo la virgola ci sono le monete 1/4 e 1/8: 2/8 + 1/8 = 3/8. Lo stesso numero si scrive anche così: $0{,}1011 \cdot 2^2$, che si legge «zero virgola uno zero uno uno per due alla seconda». Moltiplicare per $2^2$ vuol dire spostare la virgola di 2 posti a destra. > [!RIPASSO] Le potenze di 2 con l'esponente negativo > $2^3 = 8$ vuol dire moltiplicare per 2 tre volte. L'esponente negativo vuol dire dividere: $2^{-1}$ si legge «due alla meno uno» e vale 1/2; $2^{-2} = 1/4$; $2^{-3} = 1/8$. Moltiplicare per $2^{-1}$ sposta la virgola di un posto a sinistra. Nello strumento clicca sui bit: vedi i tre pezzi, la virgola che si sposta e il valore. ```widget codifica titolo: Un byte in virgola mobile: clicca sui bit modo: virgola bit: 01101011 ``` ::: prova Che numeri sono (a) 01011010 e (b) 10101000? (a) Segno 0, esponente 101, mantissa 1010. L'esponente è 5 − 4 = 1: la virgola va di un posto a destra, e 0,1010 diventa 1,010. Vale 1 + 1/4, cioè 1 e 1/4. (b) Segno 1, esponente 010, mantissa 1000. L'esponente è 2 − 4 = −2: la virgola va di due posti a sinistra, e 0,1000 diventa 0,001000. Vale 1/8, con il meno: −1/8. ::: > [!RICORDA] > - Virgola mobile del libro: 1 bit di segno, 3 bit di esponente in eccesso 4, 4 bit di mantissa. > - La mantissa ha la virgola a sinistra. L'esponente dice di quanti posti spostarla: a destra se positivo, a sinistra se negativo. > - Per leggere: mantissa con «0,» davanti, sposta la virgola, leggi con le monete, metti il segno. ## Dal numero al byte (libro, §1.7) Ora il viaggio al contrario: hai un numero e vuoi il suo byte. Si fanno gli stessi passi della lettura, all'indietro. > [!METODO] Dal numero al byte > 1. **Segno**: 0 se il numero è positivo, 1 se è negativo. Da qui in poi lavora senza il segno meno. > 2. Scrivi il numero in base 2, come nella lezione 02. > 3. Sposta la virgola finché sta subito prima del primo 1, cioè finché il numero comincia con «0,1». Conta i posti. Se l'hai spostata a sinistra, l'esponente è positivo; se a destra, è negativo. > 4. **Mantissa**: i primi 4 bit dopo la virgola. Se sono meno di 4, aggiungi degli zeri a destra. > 5. **Esponente**: aggiungi 4 e scrivi il risultato con 3 bit. > 6. Metti in fila segno, esponente e mantissa. > [!ESEMPIO] 1 e 1/8 > 1. È positivo: segno 0. > 2. 1 e 1/8 in base 2 è 1,001. > 3. Sposti la virgola di un posto a sinistra: 0,1001. L'esponente è 1. > 4. La mantissa è 1001. > 5. 1 + 4 = 5, cioè 101. > 6. Il byte è 0 101 1001, cioè 01011001. > > Controllo: 0,1001 con la virgola un posto a destra è 1,001, cioè 1 e 1/8. > [!ESEMPIO] 3/8 > 1. È positivo: segno 0. > 2. 3/8 = 1/4 + 1/8, cioè 0,011. > 3. Il primo 1 è nella seconda posizione dopo la virgola. Sposti la virgola di un posto a destra: 0,11. L'esponente è −1. > 4. La mantissa è 1100: 11 con due zeri in fondo. > 5. −1 + 4 = 3, cioè 011. > 6. Il byte è 0 011 1100, cioè 00111100. È il secondo esempio della sezione precedente. ### Perché «subito prima del primo 1» 3/8 si potrebbe scrivere anche in un altro modo. Con l'esponente 0, cioè 100, e la mantissa 0110, il byte è 01000110: vale 0,0110, cioè ancora 3/8. Lo stesso numero avrebbe due byte diversi. In più la mantissa 0110 spreca il primo bit con uno 0, e ha posto solo per tre cifre utili. Per questo si sceglie sempre la mantissa che comincia con 1. Si chiama **forma normalizzata** (*normalized form*). Così ogni numero ha un solo byte, e tutti e 4 i bit della mantissa portano cifre utili. Lo zero non ha nessun 1: si scrive 00000000. > [!TRAPPOLA] Le due direzioni dell'esponente > Se per arrivare a «0,1…» sposti la virgola a sinistra, il numero era grande e l'esponente è positivo. Se la sposti a destra, il numero era piccolo e l'esponente è negativo. Ricontrolla sempre rileggendo il byte che hai scritto. ::: prova Scrivi nel formato del libro (a) −1 e 1/2 e (b) 5/16. (a) Segno 1. 1 e 1/2 è 1,1. La virgola va un posto a sinistra: 0,11, esponente 1. Mantissa 1100. Esponente 1 + 4 = 5, cioè 101. Il byte è 11011100. È la voce (d) della domanda 1 del §1.7, letta al contrario. (b) Segno 0. 5/16 = 4/16 + 1/16 = 1/4 + 1/16, cioè 0,0101. La virgola va un posto a destra: 0,101, esponente −1. Mantissa 1010. Esponente −1 + 4 = 3, cioè 011. Il byte è 00111010. ::: > [!RICORDA] > - Per scrivere un numero: segno, base 2, virgola subito prima del primo 1, mantissa di 4 bit, esponente più 4 con 3 bit. > - Forma normalizzata: la mantissa comincia sempre con 1. > - Virgola spostata a sinistra: esponente positivo. A destra: esponente negativo. ## I bit che si perdono: il troncamento (libro, §1.7) La mantissa ha 4 bit. Che cosa succede quando le cifre sono di più? Si perdono. L'esempio del libro è 2 e 5/8. 1. È positivo: segno 0. 2. 2 e 5/8 = 2 + 1/2 + 1/8, cioè 10,101. 3. Sposti la virgola di due posti a sinistra: 0,10101. L'esponente è 2, cioè 110. 4. Le cifre sono cinque, 10101, ma la mantissa ne tiene quattro: 1010. L'ultimo 1 si perde. 5. Il byte è 01101010. Rileggi il byte: 0,1010 con la virgola due posti a destra è 10,10, cioè 2 e 1/2. È sparito 1/8. Questo è l'**errore di troncamento** (*truncation error*), chiamato anche **errore di arrotondamento** (*round-off error*). Nello strumento scrivi un numero e guarda quali cifre restano fuori dalla mantissa. ```widget codifica titolo: Dal numero al byte: quali cifre si perdono? modo: virgola numero: 2,625 ``` ### Un decimo non si scrive esatto Nella lezione 02 hai visto che un decimo, in base 2, non finisce mai: 0,000110011001100…, con 0011 che si ripete per sempre. Qualunque mantissa, anche di cento bit, lo taglia da qualche parte. Nel formato del libro va così. 1. Un decimo è 0,0001100110011… 2. La virgola va spostata di tre posti a destra: 0,1100110011… L'esponente è −3, cioè −3 + 4 = 1, scritto 001. 3. La mantissa tiene 1100, e tutto il resto si perde. 4. Il byte è 00011100. Rileggi: 0,1100 con la virgola tre posti a sinistra è 0,0001100, cioè 1/16 + 1/32 = 3/32. In base 10 fa 0,09375, invece di 0,1. Ecco perché nei programmi 0.1 + 0.2 non dà esattamente 0.3, come hai visto nella lezione 02. ### L'ordine delle somme conta Il computer tronca dopo ogni operazione. Allora anche l'ordine dei conti cambia il risultato. L'esempio del libro è 2 e 1/2 + 1/8 + 1/8. **Da sinistra.** 2 e 1/2 + 1/8 fa 2 e 5/8. È il numero di prima: si tronca a 2 e 1/2. Poi 2 e 1/2 + 1/8 di nuovo: ancora 2 e 5/8, ancora troncato a 2 e 1/2. Il risultato è 2 e 1/2: i due ottavi sono spariti. **Prima i piccoli.** 1/8 + 1/8 fa 1/4, che si scrive esatto. Poi 2 e 1/2 + 1/4 fa 2 e 3/4, cioè 10,11: le cifre sono 1011, e stanno nella mantissa. Il risultato è 2 e 3/4, quello giusto. > [!IDEA] > Un numero piccolo sommato a uno grande finisce nelle cifre tagliate. Sommati tra loro, i numeri piccoli diventano più grandi e non si perdono. Regola del libro: quando sommi tanti numeri, comincia dai più piccoli. ### Il più grande e il più piccolo - Il numero più grande è 01111111: esponente 3 e mantissa 1111. 0,1111 con la virgola tre posti a destra è 111,1, cioè 7 e 1/2. - Il positivo più piccolo in forma normalizzata è 00001000: esponente −4 e mantissa 1000. 0,1 con la virgola quattro posti a sinistra è 0,00001, cioè 1/32. È la domanda 4 del §1.7. Il libro aggiunge che molti computer, vicino allo zero, accettano anche mantisse che non cominciano con 1. Allora il positivo più piccolo è 00000001, cioè 1/256. I numeri positivi in forma normalizzata sono pochi: 8 esponenti per 8 mantisse che cominciano con 1, cioè 64 numeri in tutto. Tutti gli altri si arrotondano. > [!APPROFONDIMENTO] I computer veri: 32 e 64 bit, lo standard IEEE 754 > Questa parte non compare nei quiz delle simulazioni. I computer usano la stessa idea con più bit, secondo lo standard **IEEE 754** (del 1985, aggiornato nel 2008 e nel 2019). > > | Formato | Bit in tutto | Segno | Esponente | Mantissa | Nome in C | > |---|--:|--:|--:|--:|---| > | precisione singola | 32 | 1 | 8 | 23 | `float` | > | precisione doppia | 64 | 1 | 11 | 52 | `double` | > > Tre differenze dal formato del libro. > 1. L'esponente è in eccesso 127 con 8 bit, in eccesso 1023 con 11 bit. > 2. La mantissa normalizzata comincia con «1,» e non con «0,1». Quell'1 è sempre lì e non si scrive: si guadagna un bit. > 3. Alcune file di bit sono riservate: lo zero, l'infinito e «non è un numero» (*NaN*, *not a number*). > > Un `float` tiene circa 7 cifre decimali, un `double` circa 16. Ma anche così un decimo non è esatto. ::: prova Scrivi nel formato del libro (a) 4 e 1/2 e (b) 1 e 1/16. C'è troncamento? (a) 4 e 1/2 è 100,1. La virgola va tre posti a sinistra: 0,1001, esponente 3, cioè 111. La mantissa è 1001. Il byte è 01111001, senza troncamento. (b) 1 e 1/16 è 1,0001. La virgola va un posto a sinistra: 0,10001, esponente 1, cioè 101. Le cifre sono cinque: la mantissa tiene 1000 e perde l'ultimo 1. Il byte è 01011000, che vale 1: c'è troncamento, e si perde 1/16. ::: > [!RICORDA] > - Se le cifre sono più di 4, la mantissa tiene le prime 4 e le altre si perdono: è l'errore di troncamento. > - Un decimo in base 2 non finisce mai: in virgola mobile non è mai esatto. > - Il computer tronca dopo ogni operazione: quando sommi tanti numeri, comincia dai più piccoli. > - Nel formato del libro: il più grande è 7 e 1/2, il positivo normalizzato più piccolo è 1/32. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $n$ | «enne» | il numero di bit che hai | con un byte, $n = 8$ | | $2^{n-1}$ | «due elevato alla n meno uno» | la moneta di segno con $n$ bit; in eccesso, il numero da togliere | con 4 bit, 8 | | $-2^{n-1}$ | «meno due elevato alla n meno uno» | il numero più piccolo in complemento a 2 con $n$ bit | con 8 bit, −128 | | $2^{n-1} - 1$ | «due elevato alla n meno uno, meno uno» | il numero più grande in complemento a 2 con $n$ bit | con 8 bit, 127 | | eccesso 8 | «eccesso otto» | leggi i 4 bit senza segno e togli 8 | 1110 vale 6 | | 0 110 1011 | «segno, esponente, mantissa» | i tre pezzi di un byte in virgola mobile | vale 2 e 3/4 | | $0{,}1011 \cdot 2^2$ | «zero virgola uno zero uno uno per due alla seconda» | sposta la virgola di 2 posti a destra | 10,11 | | $2^{-1}$ | «due alla meno uno» | un mezzo: sposta la virgola di un posto a sinistra | $2^{-3} = 1/8$ | | $0{,}35 \cdot 10^7$ | «zero virgola trentacinque per dieci alla settima» | sposta la virgola di 7 posti a destra, in base 10 | 3500000 | ## Verso l'esame Le regole dell'esame, uguali per i tre canali, sono nella [lezione 01](01_bit_porte_esadecimale.html) e nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md): 9 quiz in 45 minuti, al computer, con Safe Exam Browser. **Che cosa serve di questa lezione** 1. **Complemento a 2.** La simulazione d'esame 2 del 2023/24, domanda 8, chiede di convertire in base 10 quattro numeri in complemento a 2 su 8 bit: 11111111, 01010101, 00001111 e 10000001. Sono i primi tre quiz qui sotto. 2. **Virgola mobile e troncamento.** Nella simulazione 1 (domanda 2) e nella simulazione 2 (domanda 1) c'è lo stesso quiz su 3,625: virgola fissa, virgola mobile nel formato a 8 bit del libro, con l'esponente in eccesso a 3 bit, e troncamento. 3. **Notazione in eccesso.** Serve dentro la virgola mobile, e la scheda del corso consiglia di allenarsi anche con l'eccesso. 4. **Somme e overflow.** Sono le domande 5–8 del §1.6, e usano la somma della lezione 02. > [!ESAME] Velocità > 5 minuti a quiz. Le monete con il segno meno (−8, −128) leggono un numero in complemento a 2 in pochi secondi. Impara a memoria la tabella dell'esponente in eccesso 4: 100 è 0, 101 è 1, 110 è 2, 111 è 3, 011 è −1, 010 è −2, 001 è −3, 000 è −4. ### Una domanda vera, letta insieme > [!ESEMPIO] Simulazione d'esame 1, 2023/24, domanda 2 > Il testo: «Consideriamo il numero 3,625. Selezionare le corrette risposte relative a: (i) rappresentazione binaria del numero in virgola fissa; (ii) rappresentazione del numero in virgola mobile; e, (iii) troncamento nelle rappresentazioni.» Il formato è quello a 8 bit del libro, con l'esponente in eccesso a 3 bit. > > In pratica chiede tre cose: 3,625 in base 2 con la virgola; lo stesso numero nel byte del libro; se in uno dei due si perdono cifre. > > 1. **Virgola fissa.** 3 è 11. Per 0,625 raddoppi: 1,25 dà 1; 0,5 dà 0; 1 dà 1. Quindi 0,625 = 0,101, e 3,625 = 11,101. Controllo: 2 + 1 + 1/2 + 1/8 = 3,625. Qui non si perde niente. > 2. **Virgola mobile.** Segno 0. Sposti la virgola di due posti a sinistra: 0,11101. Esponente 2, cioè 2 + 4 = 6, scritto 110. Le cifre sono cinque, 11101: la mantissa tiene 1110. Il byte è 01101110. > 3. **Troncamento.** Solo nella virgola mobile: l'ultimo 1 si perde, e 01101110 vale 11,10, cioè 3,5. > > Le risposte giuste sono quindi «Rappresentazione fissa: 11.101», «Rappresentazione Virgola Mobile: 01101110» e «Troncamento presente solo nella rappresentazione in virgola mobile». Nei quiz di Moodle la virgola si scrive con il punto. > [!METODO] Le quattro operazioni da saper fare > 1. **Leggere in complemento a 2**: monete, con quella di sinistra negativa. > 2. **Cambiare segno**: copia fino al primo 1 da destra, inverti il resto. > 3. **Overflow**: stesso segno nei due numeri, segno diverso nel risultato. > 4. **Virgola mobile**: segno; base 2; virgola subito prima del primo 1; mantissa di 4 bit; esponente più 4. **Errori da evitare** - Leggere un numero in complemento a 2 come senza segno: 11111111 non è 255 ma −1. - Cambiare segno invertendo soltanto i bit: quello è il complemento a 1, e dà un numero sbagliato di 1. - Allungare un negativo con degli zeri a sinistra: 1010 con 8 bit è 11111010, non 00001010. - Cercare l'overflow nel riporto finale: con il segno contano solo i segni. - Confondere il bit a sinistra dell'eccesso con quello del complemento a 2: sono al contrario. - Sbagliare la direzione dell'esponente: virgola spostata a sinistra, esponente positivo. - Scrivere l'esponente in base 2 senza aggiungere 4. - Arrotondare l'ultima cifra della mantissa invece di troncarla: il formato del libro taglia e basta. ## Quiz ```quiz D: Simulazione d'esame 2, 2023/24, domanda 8. Quanto vale in base 10 il numero 11111111, in complemento a 2 su 8 bit? - $255$ + $-1$ - $-127$ - $-128$ - $1$ = In complemento a 2 la moneta di sinistra vale −128: le altre sette fanno 127, quindi $-128 + 127 = -1$. Sul contachilometri, 11111111 è il passo prima di 00000000. La risposta $255$ legge il byte senza segno. La risposta $-127$ è la lettura in segno e modulo: segno meno e 1111111. La risposta $-128$ è 10000000. La risposta $1$ è il valore dell'opposto, non quello del numero. D: Simulazione d'esame 2, 2023/24, domanda 8. Quanto vale in base 10 il numero 10000001, in complemento a 2 su 8 bit? - $-1$ - $129$ + $-127$ - $-126$ - $127$ = Le monete sono −128 e 1: $-128 + 1 = -127$. Controllo con il cambio di segno: copi l'1 a destra e inverti il resto, e viene 01111111, cioè 127; quindi il numero è −127. La risposta $-1$ è la lettura in segno e modulo: segno meno e valore 1. La risposta $129$ legge il byte senza segno. La risposta $127$ dimentica il segno meno. La risposta $-126$ sbaglia il conto di uno. D: Simulazione d'esame 2, 2023/24, domanda 8. Quanto valgono in base 10 i numeri 01010101 e 00001111, in complemento a 2 su 8 bit? + $85$ e $15$ - $-85$ e $-15$ - $-43$ e $15$ - $85$ e $-1$ - $170$ e $15$ = Tutti e due hanno il bit di segno a 0: sono positivi e si leggono come nella lezione 02. 01010101 vale $64 + 16 + 4 + 1 = 85$, 00001111 vale $8 + 4 + 2 + 1 = 15$. La risposta con $-85$ e $-15$ li crede negativi, ma il bit a sinistra è 0. La risposta $85$ e $-1$ legge solo gli ultimi 4 bit di 00001111, come se fossero un numero di 4 bit. La risposta $-43$ dimentica lo 0 iniziale e legge 1010101 con 7 bit. La risposta $170$ legge i bit invertiti, 10101010. D: Con 4 bit in complemento a 2, quale fila di bit è l'opposto di 0110? - $1001$ + $1010$ - $1110$ - $0110$ - $0101$ = 0110 è 6, e l'opposto è −6. Da destra copi «10» fino al primo 1 compreso, poi inverti «01» in «10»: viene 1010. Controllo: $-8 + 2 = -6$. La risposta $1001$ inverte soltanto i bit: è il complemento a 1 e vale −7. La risposta $1110$ cambia soltanto il primo bit, come in segno e modulo: in complemento a 2 vale −2. La risposta $0110$ non cambia niente. La risposta $0101$ vale 5. D: Con 8 bit in complemento a 2, quali numeri si possono scrivere? - da $0$ a $255$ + da $-128$ a $127$ - da $-127$ a $127$ - da $-127$ a $128$ - da $-256$ a $255$ = Con $n$ bit si va da $-2^{n-1}$ a $2^{n-1} - 1$, e con 8 bit $2^7 = 128$: da −128 a 127. È la domanda 4 del §1.6. La risposta da 0 a 255 vale senza segno. Quella da −127 a 127 dimentica 10000000, che è −128: è l'intervallo del complemento a 1 e del segno e modulo, che hanno due zeri. Quella con 128 sbaglia il lato: lo zero toglie un posto ai positivi, non ai negativi. L'ultima conta 512 numeri, ma 8 bit ne danno 256. D: Con 4 bit in complemento a 2, quale di queste somme va in overflow? + $0101 + 0110$ - $1110 + 0011$ - $1010 + 0111$ - $1101 + 1110$ - $0011 + 0010$ = L'overflow c'è quando due numeri con lo stesso segno danno un risultato con il segno opposto. $0101 + 0110$ è $5 + 6$: due positivi, e il risultato 1011 è negativo. Infatti 11 con 4 bit non c'è. $1110 + 0011$ e $1010 + 0111$ hanno segni diversi: non vanno mai in overflow. $1101 + 1110$ è $-3 + (-2) = -5$, che ci sta: esce un riporto a sinistra, ma il riporto non conta. $0011 + 0010$ fa 5, che ci sta. D: Domanda 8 del §1.6 del libro. In complemento a 2 si sommano un numero positivo e uno negativo. Che cosa si può dire dell'overflow? + Non c'è mai overflow. - C'è overflow ogni volta che esce un riporto dalla colonna di sinistra. - C'è overflow quando il numero negativo è il più piccolo che si può scrivere. - C'è sempre overflow, perché i segni sono diversi. - Dipende dal numero di bit: con 4 bit può esserci, con 8 no. = Il risultato di un positivo più un negativo sta sempre tra i due numeri. Per esempio $7 + (-8) = -1$, che sta tra −8 e 7. Se i due numeri ci stanno nei bit, ci sta anche il risultato: è la risposta del libro. Il riporto a sinistra non c'entra: in $7 + (-5)$ esce, e il risultato 2 è giusto. Anche con il negativo più piccolo il risultato ci sta. La risposta sui bit è sbagliata perché il ragionamento vale con qualunque numero di bit. D: Quanto vale 1110 in notazione in eccesso 8? - $14$ - $-2$ + $6$ - $-6$ - $7$ = In eccesso 8 si legge senza segno e si toglie 8: 1110 è 14, e $14 - 8 = 6$. È la domanda 9 del §1.6, con la risposta del libro. La risposta $14$ dimentica di togliere 8. La risposta $-2$ legge il numero in complemento a 2. La risposta $-6$ fa la sottrazione al contrario, $8 - 14$. La risposta $7$ è 1111. D: Come si scrive −5 in notazione in eccesso 8? + $0011$ - $1011$ - $1101$ - $0101$ - $1100$ = Si aggiunge 8 e si scrive in base 2: $-5 + 8 = 3$, cioè 0011. È la domanda 10 del §1.6. La risposta $1011$ è −5 in complemento a 2: le due notazioni differiscono proprio nel bit a sinistra. La risposta $1101$ è +5 in eccesso 8. La risposta $0101$ è 5 senza segno, che in eccesso vale −3. La risposta $1100$ vale 4. D: Simulazione d'esame 1, 2023/24, domanda 2. Qual è la rappresentazione in virgola mobile del numero 3,625, nel formato a 8 bit del libro (1 bit di segno, 3 di esponente in eccesso, 4 di mantissa)? - $01101101$ + $01101110$ - $11101110$ - $01011101$ - $00101110$ = 3,625 è 11,101 in base 2. La virgola va spostata di due posti a sinistra: 0,11101, esponente 2, che in eccesso 4 è $2 + 4 = 6$, cioè 110. La mantissa tiene le prime quattro cifre, 1110, e l'ultimo 1 si perde. Il segno è 0. Il byte è 01101110. La risposta 01101101 ha una mantissa sbagliata: vale 3 e 1/4. La risposta 11101110 ha il segno 1, cioè negativo. La risposta 01011101 sposta la virgola di un posto solo. La risposta 00101110 scrive l'esponente 2 come 010, senza aggiungere 4. D: Simulazione d'esame 1, 2023/24, domanda 2 (seconda parte). Per il numero 3,625, che cosa si può dire della virgola fissa e del troncamento? + In virgola fissa è 11,101; il troncamento c'è solo in virgola mobile. - In virgola fissa è 11,101; il troncamento c'è in tutte e due le rappresentazioni. - In virgola fissa è 11,111; il troncamento non c'è in nessuna delle due. - In virgola fissa è 111,01; il troncamento c'è solo in virgola mobile. - In virgola fissa è 11,101; il troncamento non c'è in nessuna delle due. = 3 è 11, e 0,625 = 1/2 + 1/8 = 0,101: quindi 3,625 = 11,101, con tutte le cifre. In virgola mobile, invece, le cifre 11101 sono cinque e la mantissa ne tiene quattro: l'ultimo 1 si perde, e il byte 01101110 vale 3,5. Quindi il troncamento c'è solo in virgola mobile. 11,111 vale 3 e 7/8. 111,01 vale 7 e 1/4. Le risposte che dicono «troncamento in tutte e due» o «in nessuna» sbagliano una delle due rappresentazioni. D: Quanto vale il byte 11011010 nel formato in virgola mobile del libro? + $-1\tfrac14$ - $1\tfrac14$ - $-\tfrac58$ - $-2\tfrac12$ - $-10$ = Segno 1, quindi negativo. Esponente 101, cioè $5 - 4 = 1$. Mantissa 1010, cioè 0,1010; con la virgola un posto a destra diventa 1,010, cioè 1 e 1/4. Il numero è $-1\tfrac14$. La risposta $1\tfrac14$ dimentica il segno. La risposta $-\tfrac58$ non sposta la virgola: 0,101 vale 5/8. La risposta $-2\tfrac12$ sposta la virgola di due posti. La risposta $-10$ legge la mantissa 1010 come un intero. D: Qual è il numero più grande che si scrive nel formato in virgola mobile a 8 bit del libro? - $7$ + $7\tfrac12$ - $15$ - $127$ - $\tfrac{15}{16}$ = Il più grande ha segno 0, l'esponente più grande, 111, cioè 3, e la mantissa 1111. 0,1111 con la virgola tre posti a destra è 111,1, cioè 7 e 1/2: il byte è 01111111. È la domanda 4 del §1.7. La risposta $7$ perde l'ultima cifra dopo la virgola. La risposta $15$ legge la mantissa 1111 come un intero. La risposta $127$ legge tutto il byte come un intero. La risposta $\tfrac{15}{16}$ non sposta la virgola. D: Nel formato del libro si calcola 2 e 1/2 + 1/8 + 1/8, da sinistra a destra, troncando dopo ogni somma. Che cosa si ottiene? + $2\tfrac12$ - $2\tfrac34$ - $2\tfrac58$ - $2\tfrac14$ - $3$ = 2 e 1/2 + 1/8 fa 2 e 5/8, cioè 10,101: cinque cifre. La mantissa ne tiene quattro e torna 2 e 1/2. Con il secondo 1/8 succede lo stesso. Il risultato è 2 e 1/2. La risposta $2\tfrac34$ è il risultato giusto, che si ottiene sommando prima i due ottavi: è l'esempio del libro sull'ordine delle somme. La risposta $2\tfrac58$ dimentica che anche il primo risultato si tronca. Le ultime due non vengono in nessun ordine. D: Quale di questi numeri NON si scrive in modo esatto nel formato in virgola mobile del libro? - $2\tfrac34$ - $\tfrac38$ - $7\tfrac12$ - $-\tfrac1{32}$ + $0{,}1$ = Un decimo in base 2 è 0,000110011…, con 0011 che si ripete per sempre: nessuna mantissa basta. Nel formato del libro diventa 00011100, che vale 3/32, cioè 0,09375. Gli altri hanno al massimo quattro cifre dopo il primo 1: 2 e 3/4 è 10,11; 3/8 è 0,011; 7 e 1/2 è 111,1; 1/32 è 0,00001, con l'esponente −4, e il segno meno non cambia niente. ``` ## Esercizi ::: esercizio base Domanda 1 del §1.6: dal complemento a 2 alla base 10 Scrivi in base 10 questi numeri in complemento a 2 con 5 bit: (a) 00011; (b) 01111; (c) 11100; (d) 11010; (e) 00000; (f) 10000. ::: soluzione Con 5 bit le monete sono −16, 8, 4, 2, 1. | Bit | Monete | Valore | |:-:|---|--:| | 00011 | 2 + 1 | 3 | | 01111 | 8 + 4 + 2 + 1 | 15 | | 11100 | −16 + 8 + 4 | −4 | | 11010 | −16 + 8 + 2 | −6 | | 00000 | nessuna | 0 | | 10000 | −16 | −16 | Sono le risposte del libro. Controllo su (c) con il cambio di segno: copi «100» e inverti «11» in «00»: 00100, cioè 4. Quindi 11100 è −4. ::: ::: esercizio base Domanda 2 del §1.6: dalla base 10 al complemento a 2 Scrivi in complemento a 2 con 8 bit: (a) 6; (b) −6; (c) −17; (d) 13; (e) −1; (f) 0. ::: soluzione 1. (a) 6 = 4 + 2: 00000110. 2. (b) Cambi segno a 00000110: copi «10», inverti il resto. Viene 11111010. Controllo: −128 + 122 = −6. 3. (c) 17 = 16 + 1: 00010001. Copi l'ultimo 1 e inverti il resto: 11101111. Controllo: −128 + 111 = −17. 4. (d) 13 = 8 + 4 + 1: 00001101. 5. (e) 1 è 00000001. Copi l'ultimo 1 e inverti il resto: 11111111. 6. (f) 00000000. Sono le risposte del libro. ::: ::: esercizio base Domanda 3 del §1.6: cambiare segno Questi numeri sono in complemento a 2 con 8 bit. Scrivi il loro opposto: (a) 00000001; (b) 01010101; (c) 11111100; (d) 11111110; (e) 00000000; (f) 01111111. ::: soluzione Per ognuno: copi da destra fino al primo 1 compreso, poi inverti il resto. | Numero | Copi | Inverti | Opposto | Valori | |:-:|:-:|:-:|:-:|---| | 00000001 | 1 | 0000000 → 1111111 | 11111111 | 1 e −1 | | 01010101 | 1 | 0101010 → 1010101 | 10101011 | 85 e −85 | | 11111100 | 100 | 11111 → 00000 | 00000100 | −4 e 4 | | 11111110 | 10 | 111111 → 000000 | 00000010 | −2 e 2 | | 00000000 | tutto | niente | 00000000 | 0 e 0 | | 01111111 | 1 | 0111111 → 1000000 | 10000001 | 127 e −127 | Sono le risposte del libro. ::: ::: esercizio base Domanda 4 del §1.6: il più grande e il più piccolo Un computer scrive gli interi in complemento a 2. Qual è il numero più grande e quale il più piccolo, con (a) 4 bit, (b) 6 bit, (c) 8 bit? ::: soluzione Il più piccolo è la sola moneta di segno, con il meno. Il più grande è la somma di tutte le altre monete, cioè la moneta di segno meno 1. 1. (a) 4 bit: la moneta di segno vale 8. Dal più piccolo −8 al più grande 7. 2. (b) 6 bit: vale 32. Da −32 a 31. 3. (c) 8 bit: vale 128. Da −128 a 127. Sono le risposte del libro. ::: ::: esercizio base Domande 9 e 10 del §1.6: la notazione in eccesso 8 (a) Senza guardare la tabella, scrivi in base 10 questi numeri in eccesso 8: 1110, 0111, 1000, 0010, 0000, 1001. (b) Scrivi in eccesso 8: 5, −5, 3, 0, 7, −8. ::: soluzione (a) Si legge senza segno e si toglie 8. | Bit | Senza segno | Meno 8 | |:-:|--:|--:| | 1110 | 14 | 6 | | 0111 | 7 | −1 | | 1000 | 8 | 0 | | 0010 | 2 | −6 | | 0000 | 0 | −8 | | 1001 | 9 | 1 | (b) Si aggiunge 8 e si scrive con 4 bit. | Numero | Più 8 | Bit | |--:|--:|:-:| | 5 | 13 | 1101 | | −5 | 3 | 0011 | | 3 | 11 | 1011 | | 0 | 8 | 1000 | | 7 | 15 | 1111 | | −8 | 0 | 0000 | Sono le risposte del libro. ::: ::: esercizio base Domanda 11 del §1.6: che cosa non ci sta Si può scrivere 9 in eccesso 8? E 6 in eccesso 4? Perché? ::: soluzione 1. In eccesso 8 il numero più grande è 1111, cioè 15 − 8 = 7. Il 9 non ci sta. 2. Per scrivere 9 serve almeno l'eccesso 16, che usa 5 bit. 3. In eccesso 4 con 3 bit il più grande è 111, cioè 7 − 4 = 3. Il 6 non ci sta. È la risposta del libro. ::: ::: esercizio base Lucidi del canale A: −5 con 6 bit Scrivi −5 in complemento a 2 con 6 bit, in due modi: con il cambio di segno e con il metodo dei lucidi di Cardone. Nei lucidi un negativo −K, dove K è il numero senza il segno meno, si scrive come il numero senza segno $2^6 - K$. ::: soluzione 1. Con il cambio di segno: 5 con 6 bit è 000101. Copi l'ultimo 1, inverti gli altri cinque bit, 00010, che diventano 11101. Il risultato è 111011. 2. Con i lucidi: $2^6 = 64$, e $64 - 5 = 59$. In base 2, con le monete: 59 = 32 + 16 + 8 + 2 + 1, cioè 111011. 3. Controllo con le monete con il segno: −32 + 16 + 8 + 2 + 1 = −5. È lo stesso numero. Il secondo metodo è il «16 in più» di questa lezione, con 6 bit al posto di 4: un negativo, letto senza segno, vale 64 in più. ::: ::: esercizio medio Domanda 5 del §1.6: somme in complemento a 2 Questi numeri sono in complemento a 2 con 4 bit. Fai le somme e controlla in base 10: (a) 0101 + 0010; (b) 0011 + 0001; (c) 0101 + 1010; (d) 1110 + 0011; (e) 1010 + 1110. ::: soluzione 1. (a) Nessun riporto: 0111. Controllo: 5 + 2 = 7. 2. (b) 1 + 1 fa 10, scrivi 0 e riporti 1; poi 1 + 0 più il riporto fa 10, scrivi 0 e riporti 1; poi 0 + 0 più il riporto fa 1. Viene 0100. Controllo: 3 + 1 = 4. 3. (c) Nessun riporto: in ogni colonna c'è un solo 1. Viene 1111. Controllo: 5 + (−6) = −1. 4. (d) 0 + 1 fa 1; 1 + 1 fa 10, scrivi 0 e riporti 1; 1 + 0 più il riporto fa 10, scrivi 0 e riporti 1; 1 + 0 più il riporto fa 10, scrivi 0 e il riporto si butta. Viene 0001. Controllo: −2 + 3 = 1. 5. (e) 0 + 0 fa 0; 1 + 1 fa 10, scrivi 0 e riporti 1; 0 + 1 più il riporto fa 10, scrivi 0 e riporti 1; 1 + 1 più il riporto fa 11, scrivi 1 e il riporto si butta. Viene 1000. Controllo: −6 + (−2) = −8. Sono le risposte del libro. ::: ::: esercizio medio Domanda 6 del §1.6: somme con overflow Fai le somme con 4 bit in complemento a 2 e di' quali risultati sono sbagliati per l'overflow: (a) 0100 + 0011; (b) 0101 + 0110; (c) 1010 + 1010; (d) 1010 + 0111; (e) 0111 + 0001. ::: soluzione 1. (a) 4 + 3: viene 0111, cioè 7. Due positivi, risultato positivo: giusto. 2. (b) 5 + 6: viene 1011. Due positivi, risultato negativo: overflow. 3. (c) −6 + (−6): viene 0100. Due negativi, risultato positivo: overflow. 4. (d) −6 + 7: segni diversi, niente overflow. Viene 0001, cioè 1. 5. (e) 7 + 1: viene 1000. Due positivi, risultato negativo: overflow. Sul contachilometri, un passo dopo 7 c'è −8. Sono le risposte del libro. ::: ::: esercizio medio Domanda 7 del §1.6: sottrarre sommando Scrivi i numeri in complemento a 2 con 4 bit, trasforma ogni conto in una somma, come fa un computer, e calcola: (a) 6 − (−1); (b) 3 − 2; (c) 4 − 6; (d) 2 + 4; (e) 1 − 5. ::: soluzione Togliere un numero vuol dire aggiungere il suo opposto. | Conto | Diventa | In bit | Risultato | Controllo | |---|---|---|:-:|---| | 6 − (−1) | 6 + 1 | 0110 + 0001 | 0111 | 7 | | 3 − 2 | 3 + (−2) | 0011 + 1110 | 0001 | 1 | | 4 − 6 | 4 + (−6) | 0100 + 1010 | 1110 | −2 | | 2 + 4 | 2 + 4 | 0010 + 0100 | 0110 | 6 | | 1 − 5 | 1 + (−5) | 0001 + 1011 | 1100 | −4 | In (b) il riporto che esce a sinistra si butta. In (e): 1 + 1 fa 10, scrivi 0 e riporti 1; 0 + 1 più il riporto fa 10, scrivi 0 e riporti 1; 0 + 0 più il riporto fa 1; 0 + 1 fa 1. Viene 1100, cioè −8 + 4 = −4. Sono le risposte del libro. ::: ::: esercizio medio Domanda 8 del §1.6: positivo più negativo In complemento a 2, sommando un numero positivo e uno negativo, può esserci overflow? Spiega perché. ::: soluzione 1. L'overflow c'è quando il risultato è troppo grande, o troppo piccolo, per i bit che hai. 2. Sommando un positivo e un negativo, il risultato sta sempre tra i due numeri. Per esempio 5 + (−7) = −2, che sta tra −7 e 5. 3. I due numeri ci stanno nei bit, quindi ci sta anche il risultato. No: non può esserci overflow. È la risposta del libro. ::: ::: esercizio medio Domanda 1 del §1.7: leggere la virgola mobile Leggi questi byte nel formato in virgola mobile del libro: (a) 01001010; (b) 01101101; (c) 00111001; (d) 11011100; (e) 10101011. ::: soluzione | Byte | Segno | Esponente | Mantissa | Virgola spostata | Valore | |:-:|:-:|---|:-:|:-:|---| | 01001010 | + | 100: 0 | 0,1010 | 0,1010 | 5/8 | | 01101101 | + | 110: 2 | 0,1101 | 11,01 | 3 e 1/4 | | 00111001 | + | 011: −1 | 0,1001 | 0,01001 | 9/32 | | 11011100 | − | 101: 1 | 0,1100 | 1,100 | −1 e 1/2 | | 10101011 | − | 010: −2 | 0,1011 | 0,001011 | −11/64 | Due conti per esteso. 1. (c) 0,01001 ha le monete 1/4 e 1/32: 8/32 + 1/32 = 9/32. 2. (e) 0,001011 ha le monete 1/8, 1/32 e 1/64: 8/64 + 2/64 + 1/64 = 11/64. Con il segno: −11/64. Sono le risposte del libro. ::: ::: esercizio medio Domanda 2 del §1.7: scrivere in virgola mobile Scrivi nel formato del libro, e di' dove c'è troncamento: (a) 2 e 3/4; (b) 5 e 1/4; (c) 3/4; (d) −3 e 1/2; (e) −4 e 3/8. ::: soluzione 1. (a) 2 e 3/4 = 10,11. Virgola due posti a sinistra: 0,1011, esponente 2, cioè 110. Byte 01101011. 2. (b) 5 e 1/4 = 101,01. Virgola tre posti a sinistra: 0,10101, esponente 3, cioè 111. Le cifre sono cinque: la mantissa tiene 1010. Byte 01111010, che vale 5: troncamento. 3. (c) 3/4 = 0,11. La virgola è già prima del primo 1: esponente 0, cioè 100. Mantissa 1100. Byte 01001100. 4. (d) 3 e 1/2 = 11,1. Virgola due posti a sinistra: 0,111, esponente 2, cioè 110. Mantissa 1110, segno 1. Byte 11101110. 5. (e) 4 e 3/8 = 100,011. Virgola tre posti a sinistra: 0,100011, esponente 3, cioè 111. La mantissa tiene 1000 e perde 11. Segno 1. Byte 11111000, che vale −4: troncamento. Sono le risposte del libro. ::: ::: esercizio medio Domanda 4 del §1.7: il più grande e il più piccolo Nel formato del libro, qual è il numero più grande? E il positivo più piccolo? ::: soluzione 1. Il più grande: segno 0, esponente 111, cioè 3, mantissa 1111. 0,1111 con la virgola tre posti a destra è 111,1, cioè 7 e 1/2. Il byte è 01111111. 2. Il positivo più piccolo in forma normalizzata: esponente 000, cioè −4, mantissa 1000. 0,1 con la virgola quattro posti a sinistra è 0,00001, cioè 1/32. Il byte è 00001000. 3. Il libro aggiunge che molti computer, vicino allo zero, non chiedono la forma normalizzata. Allora il più piccolo è 00000001: 0,0001 con la virgola quattro posti a sinistra, cioè 0,00000001, che vale 1/256. ::: ::: esercizio medio Un byte, quattro letture Il byte 01011100 viene letto (a) come intero senza segno, (b) in complemento a 2, (c) in eccesso 128, (d) nel formato in virgola mobile del libro. Quanto vale nei quattro casi? ::: soluzione 1. (a) Le monete sono 64, 16, 8 e 4: 92. 2. (b) Il bit di segno è 0, quindi è positivo e vale ancora 92. 3. (c) In eccesso 128 si toglie 128: 92 − 128 = −36. Con 8 bit l'eccesso è 128, cioè la moneta di segno. 4. (d) Segno 0, esponente 101, cioè 1, mantissa 1100. 0,1100 con la virgola un posto a destra è 1,100: 1 e 1/2. Gli stessi bit danno quattro numeri diversi: decide la regola con cui li leggi, come nella lezione 02. ::: ::: esercizio medio Un decimo nel formato del libro Scrivi 0,1 nel formato in virgola mobile del libro. Quanto vale il byte che ottieni? Di quanto sbaglia? ::: soluzione 1. Con il metodo dei raddoppi della lezione 02: 0,2 dà 0; 0,4 dà 0; 0,8 dà 0; 1,6 dà 1; 1,2 dà 1; 0,4 dà 0; 0,8 dà 0; 1,6 dà 1… Quindi 0,1 = 0,000110011… 2. Il primo 1 è nella quarta posizione: la virgola va tre posti a destra, 0,110011…, esponente −3. In eccesso 4: −3 + 4 = 1, cioè 001. 3. La mantissa tiene 1100. Segno 0. Il byte è 00011100. 4. Lettura: 0,1100 con la virgola tre posti a sinistra è 0,0001100, cioè 1/16 + 1/32 = 3/32 = 0,09375. 5. L'errore è 0,1 − 0,09375 = 0,00625. ::: ::: esercizio difficile Domanda 3 del §1.7: quale byte è più grande Nel formato del libro, quale tra 01001001 e 00111101 è il numero più grande? Trova un modo veloce per confrontare due byte. ::: soluzione 1. 01001001: esponente 100, cioè 0; mantissa 0,1001, che vale 1/2 + 1/16 = 9/16. 2. 00111101: esponente 011, cioè −1; 0,1101 con la virgola un posto a sinistra è 0,01101, cioè 1/4 + 1/8 + 1/32 = 13/32. 3. 9/16 = 18/32, che è più di 13/32: il primo è più grande. Il modo veloce dell'appendice del libro, con i byte in forma normalizzata: - se i bit di segno sono diversi, è più grande quello con il segno 0; - se sono tutti e due 0, guarda gli altri bit da sinistra: al primo bit diverso, è più grande il byte che ha l'1; - se sono tutti e due 1, al primo bit diverso è più grande il byte che ha lo 0. Qui il segno è 0 in tutti e due, e il primo bit diverso è il secondo: 1 nel primo byte. Funziona perché l'esponente è in eccesso: esponente più grande vuol dire bit più grandi. Il libro lo indica proprio come motivo per usare l'eccesso al posto del complemento a 2. ::: ::: esercizio difficile Una somma in virgola mobile Nel formato del libro scrivi 1 e 3/4 e 3/16. Poi calcola la loro somma e scrivila nel formato. Il risultato è esatto? ::: soluzione 1. 1 e 3/4 = 1,11. Virgola un posto a sinistra: 0,111, esponente 1, cioè 101. Mantissa 1110. Byte 01011110. 2. 3/16 = 1/8 + 1/16 = 0,0011. Virgola due posti a destra: 0,11, esponente −2, cioè 010. Mantissa 1100. Byte 00101100. 3. La somma vera: 1 e 3/4 + 3/16 = 1 e 12/16 + 3/16 = 1 e 15/16, cioè 1,1111. 4. Virgola un posto a sinistra: 0,11111, esponente 1, cioè 101. Le cifre sono cinque: la mantissa tiene 1111. Byte 01011111. 5. Lettura: 0,1111 con la virgola un posto a destra è 1,111, cioè 1 e 7/8. Non è esatto: si perde 1/16. I due numeri si scrivevano esatti, ma la loro somma no. ::: ::: esercizio esame Leggere, cambiare segno, sommare con 8 bit In complemento a 2 con 8 bit: (a) quanto vale 10010110? (b) Scrivi il suo opposto. (c) Calcola 01100100 + 00110010: c'è overflow? ::: soluzione 1. (a) Le monete sono −128, 16, 4 e 2: −128 + 22 = −106. 2. (b) Copi «10» da destra e inverti gli altri sei bit, 100101, che diventano 011010. L'opposto è 01101010. Controllo: 64 + 32 + 8 + 2 = 106. 3. (c) I due numeri sono 100 e 50, tutti e due positivi. 4. In colonna, da destra: 0 + 0 fa 0; 0 + 1 fa 1; 1 + 0 fa 1; 0 + 0 fa 0; 0 + 1 fa 1; 1 + 1 fa 10, scrivi 0 e riporti 1; 1 + 0 più il riporto fa 10, scrivi 0 e riporti 1; 0 + 0 più il riporto fa 1. Il risultato è 10010110. 5. Il risultato ha il bit di segno 1: due positivi danno un negativo, quindi c'è overflow. Infatti 150 supera 127. 6. Il byte ottenuto è proprio quello della domanda (a): vale −106, cioè 150 − 256. ::: ::: esercizio esame Simulazione d'esame 1, 2023/24, domanda 2: il numero 3,625 Scrivi 3,625 in virgola fissa e nel formato in virgola mobile del libro. Di' in quale delle due rappresentazioni c'è troncamento, e quanto vale il byte ottenuto. ::: soluzione 1. Parte intera: 3 = 2 + 1, cioè 11. 2. Parte dopo la virgola, con i raddoppi: 0,625 · 2 = 1,25, cifra 1; 0,25 · 2 = 0,5, cifra 0; 0,5 · 2 = 1, cifra 1. Quindi 0,101. 3. Virgola fissa: 11,101, senza troncamento. 4. Virgola mobile: segno 0. Virgola due posti a sinistra: 0,11101, esponente 2, cioè 2 + 4 = 6, scritto 110. 5. La mantissa tiene 1110 e perde l'ultimo 1. Il byte è 01101110. 6. Lettura: 0,1110 con la virgola due posti a destra è 11,10, cioè 3,5. Il troncamento c'è solo in virgola mobile, e si perde 1/8. Le risposte dello studente nella copia svolta a mano della simulazione sono giuste: 11.101, 01101110, troncamento solo in virgola mobile. ::: ## Domande di ripasso ::: domanda Perché il complemento a 2 si può pensare come un contachilometri? Perché con un numero fisso di bit, tornando indietro da 0000, il contatore gira e segna 1111: quella fila fa la parte di −1, e le successive all'indietro di −2, −3 e così via. I positivi stanno in avanti da zero. ::: ::: domanda Come si legge un numero in complemento a 2? Se il bit a sinistra è 0, come un numero senza segno. Se è 1, si sommano le monete dando a quella di sinistra il segno meno: −8 con 4 bit, −128 con 8 bit. ::: ::: domanda Quali sono i due modi per cambiare segno a un numero? Copiare i bit da destra fino al primo 1 compreso e invertire tutti gli altri. Oppure invertire tutti i bit e aggiungere 1. Danno lo stesso risultato. ::: ::: domanda Come si riconosce l'overflow in una somma in complemento a 2? Quando i due numeri hanno lo stesso segno e il risultato ha il segno opposto. Se i segni dei due numeri sono diversi, l'overflow non c'è mai. Il riporto che esce a sinistra non conta. ::: ::: domanda Che cos'è la notazione in eccesso 8, e che legame ha con il complemento a 2? Si leggono i 4 bit senza segno e si toglie 8. Va da −8 a 7, come il complemento a 2 con 4 bit, e le due scritture di un numero differiscono solo nel bit a sinistra. ::: ::: domanda Com'è fatto il formato in virgola mobile del libro? Un byte: 1 bit di segno, 3 bit di esponente in eccesso 4 e 4 bit di mantissa. La mantissa sono le cifre, con la virgola a sinistra; l'esponente dice di quanti posti spostare la virgola, a destra se positivo, a sinistra se negativo. ::: ::: domanda Che cos'è la forma normalizzata, e perché si usa? È la scelta di una mantissa che comincia con 1. Così ogni numero ha un solo byte, e tutti i bit della mantissa portano cifre utili. ::: ::: domanda Che cos'è l'errore di troncamento? Fai un esempio. Quando le cifre del numero sono più dei 4 bit della mantissa, le ultime si perdono. 2 e 5/8 è 10,101: la mantissa tiene 1010 e il byte vale 2 e 1/2. Un decimo non si scrive mai esatto, perché in base 2 ha infinite cifre. ::: ## Glossario ```glossario Complemento a 2 | Il modo di scrivere gli interi con il segno usato dai computer (*two's complement*): con 4 bit 1111 è −1 e 1000 è −8. Bit di segno | Il bit più a sinistra (*sign bit*). In complemento a 2 vale 0 per i positivi e lo zero, 1 per i negativi. Invertire un bit | Cambiarlo: 0 diventa 1 e 1 diventa 0. Cambio di segno | Passare da un numero al suo opposto: copia da destra fino al primo 1, poi inverti il resto. Complemento a 1 | Un modo vecchio di scrivere i negativi: si invertono tutti i bit. Ha due zeri. Overflow | Quando il risultato non ci sta nei bit. In complemento a 2: due numeri con lo stesso segno danno un risultato con il segno opposto. Notazione in eccesso | Si leggono i bit senza segno e si toglie sempre lo stesso numero (*excess notation*): 8 con 4 bit, 4 con 3 bit. Virgola fissa | La virgola sta sempre nello stesso posto, come in 11,101 (*fixed point*). Virgola mobile | Il numero si scrive con le cifre e con un esponente che dice dove va la virgola (*floating point*). Mantissa | Le cifre di un numero in virgola mobile, con la virgola a sinistra (*mantissa*). Nel formato del libro sono 4 bit. Esponente | Di quanti posti spostare la virgola (*exponent*). Nel formato del libro sono 3 bit in eccesso 4, da −4 a 3. Forma normalizzata | La mantissa comincia con 1 (*normalized form*): ogni numero ha un solo byte. Errore di troncamento | Le cifre che non entrano nella mantissa si perdono (*truncation error*, anche *round-off error*): 2 e 5/8 diventa 2 e 1/2. IEEE 754 | Lo standard della virgola mobile nei computer veri: 32 bit (`float`) e 64 bit (`double`). ``` ## Checklist ```checklist - So leggere un numero in complemento a 2 con le monete, dando il segno meno a quella di sinistra. - So scrivere un numero negativo in complemento a 2 con un numero di bit dato. - So cambiare segno con «copia fino al primo 1, poi inverti» e con «inverti e aggiungi 1». - So dire fin dove si arriva con $n$ bit in complemento a 2. - So sommare e sottrarre in complemento a 2 e riconoscere l'overflow dai segni. - So leggere e scrivere un numero in eccesso 8 e in eccesso 4. - So leggere un byte nel formato in virgola mobile del libro. - So scrivere un numero nel formato del libro, in forma normalizzata, e dire se c'è troncamento. - So perché un decimo non si scrive esatto e perché l'ordine delle somme conta. ``` ## Fonti - R. Johnsonbaugh, J. G. Brookshear, D. Brylow, *Fondamenti dell'Informatica*, Pearson 2026 (ISBN 9788891939456), il libro di testo del corso: parte 1, che è il capitolo 1 di J. G. Brookshear, D. Brylow, *Computer Science: an overview*. Sezione 1.6 «Storing Integers»: complemento a 2 con le tabelle a 3 e 4 bit, cambio di segno, addizione, overflow, notazione in eccesso 8 e in eccesso 4. Sezione 1.7 «Storing Fractions»: il formato a 8 bit in virgola mobile, la forma normalizzata, l'errore di troncamento, un decimo e l'ordine delle somme. Le risposte alle domande delle due sezioni sono nell'appendice del libro, pubblicata sul Moodle del canale A. I testi delle domande qui sono riassunti con parole mie: quello esatto è nel libro. - Diario della lezione del 05/10/2026 sul Moodle del canale B: «Interi col segno in complemento in base 2. Excess notation, cambio di segno e addizione in complemento in base 2. Floating point notation. Omessa la sezione 1.8 sul linguaggio Python.» - Lucidi del canale A 2026/27, «Cenni sulla codifica dei dati» (F. Cardone, Moodle del canale A, aperto agli ospiti): intervallo del complemento a 2 con $n$ bit, tabella a 4 bit, −5 con 6 bit. - Simulazioni d'esame 1 e 2 del 2023/24 (pagina d'esame di Fondamenti su Moodle Esami), nelle copie svolte a mano da uno studente pubblicate nella Guida degli studenti del gruppo TSI (licenza CC BY-SA 4.0): domanda 2 della simulazione 1, domande 1 e 8 della simulazione 2. Le risposte dello studente sono state ricontrollate una per una. - Lo standard IEEE 754 per i formati a 32 e 64 bit. - Le spiegazioni a parole, gli esempi, i riquadri «Prova tu», gli strumenti interattivi, i quiz e gli esercizi senza il numero del libro sono di questi appunti. --- > File: `contesto_ai/FDA/lezioni/04_compressione_errori_comunicazione.md` ```yaml corso: FDA lezione: "04" data: 2026-10-08 titolo: Comprimere i dati ed errori di comunicazione docenti: Stefano Berardi sopratitolo: Canale B · Lezione 04 · Libro, parte 1, §1.9–1.10 descrizione: >- Appunti della lezione 04 di Fondamenti dell'Informatica (canale B): compressione senza perdita e con perdita, codifica run-length, codici di Huffman, codifica relativa, codifica a dizionario e LZW, GIF, JPEG, MPEG e MP3; errori di comunicazione, bit e byte di parità, codici che correggono gli errori e distanza di Hamming, con strumenti interattivi, quiz ed esercizi svolti. lede: >- Foto, canzoni e video occupano tantissimo spazio, e quando viaggiano qualche bit può arrivare sbagliato. Come si scrivono gli stessi dati con meno bit, quando si può perdere qualcosa senza che nessuno se ne accorga, e come chi riceve un messaggio si accorge di un errore e a volte lo corregge da solo. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 1 (Brookshear, cap. 1), §1.9–1.10 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 3 ore, anche in più volte fonte: >- Libro di testo del corso, parte 1 (J. G. Brookshear, D. Brylow, Computer Science: an overview, cap. 1), §1.9 «Data Compression» e §1.10 «Communication Errors», con le risposte alle loro domande (appendice pubblicata sul Moodle del canale A); diario del canale B 2026/27; simulazione d'esame 1 del 2023/24 appunti_html: appunti/FDA/04_compressione_errori_comunicazione.html genera_html: true ``` ## In breve - **Comprimere** vuol dire scrivere gli stessi dati con meno bit. Senza compressione una foto grande come lo schermo di un portatile occupa circa 6 milioni di byte. - La compressione è **senza perdita** se poi si riottengono esattamente i dati di prima. È **con perdita** se si buttano dettagli che l'occhio o l'orecchio non notano. - Quattro idee senza perdita: contare le **ripetizioni**, dare codici corti ai simboli **frequenti** (Huffman), scrivere solo le **differenze**, usare un **dizionario** che cresce mentre leggi (LZW). - **GIF** usa al massimo 256 colori ed è adatto ai disegni. **JPEG** è per le foto: conserva bene la luminosità e meno il colore. **MPEG** fa lo stesso per i video, **MP3** per la musica. - Quando i bit viaggiano, uno può cambiare. Il **bit di parità** fa in modo che gli 1 siano sempre dispari: se arrivano pari, c'è un errore. - La **distanza di Hamming** conta in quanti posti due file di bit sono diverse. Nel codice del libro le lettere distano almeno 3: un errore si corregge, due si vedono. - All'esame la distanza di Hamming è già uscita nelle simulazioni; della compressione servono le idee e i piccoli conti delle domande del libro. > [!CANALI] > Nel canale B è la lezione di giovedì 08/10, ore 9–11. Ho scritto questi appunti prima della lezione, sul libro. Per il docente è la lezione 5, perché la prima è stata un'introduzione: qui è la 04. Il diario del canale B la annuncia così: «(Part 1, § 1.10 Communication Errors) Data Compression LZW, JPEG, MPEG, GIF. Communication Errors, parity bit e bytes, error-correcting codes, distanza di Hamming». La compressione è la sezione 1.9 del libro, gli errori di comunicazione sono la 1.10: qui ci sono tutte e due, nell'ordine del libro. La sezione 1.8, sul linguaggio Python, nel canale B è omessa. Nel canale A Felice Cardone usa lo stesso libro: i suoi lucidi «Cenni sulla codifica dei dati» (Moodle del canale A, id 3851, aperto agli ospiti) citano il codice Morse, ma compressione e codici correttori si studiano sul libro, e sullo stesso Moodle ci sono le risposte alle domande del §1.9 e del §1.10. Nel canale C le stesse sezioni sono nei lucidi del docente. ## Perché comprimere (libro, §1.9) Nella [lezione 02](02_testo_colori_suoni_binario.html) hai fatto due conti. Lo schermo di un portatile Full HD ha 1920 × 1080 pixel, e in RGB ogni pixel occupa 3 byte. Quindi una foto grande come lo schermo occupa 1920 × 1080 × 3 = 6 220 800 byte, circa 6 MB. Un'ora di musica come quella dei CD occupa 635 040 000 byte, circa 635 MB. Sono numeri enormi. Uno smartphone contiene migliaia di foto, e una pagina web ne mostra decine in pochi secondi. Se ogni foto pesasse 6 MB, la memoria finirebbe subito e le pagine si caricherebbero lentissime. ### L'immagine guida: dettare al telefono Per tutta la lezione tieni in mente questa scena. Detti un messaggio a un amico, al telefono. Vuoi metterci poco tempo, e la linea a volte gracchia. Per fare prima, usi dei trucchi senza pensarci: - invece di «zero, zero, zero, zero, zero, zero, zero, zero» dici «otto zeri»; - le parole che usi di continuo le abbrevi; - se due frasi sono quasi uguali, dici «come prima, ma con…»; - se avete lo stesso libro, dici «pagina 12, parola 5» invece di dettare la parola. Sono proprio le quattro tecniche del libro. Scrivere gli stessi dati con meno bit si chiama **compressione** (*data compression*). Le prossime quattro sezioni le vedono una per volta. ### Senza perdita e con perdita Prova a comprimere due cose diverse. - **Un testo.** Se cambi una sola lettera, «pesca» diventa «pasta». Dopo la compressione il testo deve tornare identico, lettera per lettera. - **Una foto.** Se un pixel tra due milioni diventa un pochino più scuro, nessuno se ne accorge. Si può accettare di perdere qualche dettaglio, se in cambio la foto occupa dieci volte meno. Il libro chiama i due casi così. > [!DEF] Compressione senza perdita e con perdita (libro, §1.9) > Una compressione è **senza perdita** (*lossless*) se dai dati compressi si ricostruiscono esattamente i dati originali. È **con perdita** (*lossy*) se i dati ricostruiti sono solo simili agli originali. **Come si legge.** Senza perdita: comprimi, decomprimi, e hai di nuovo gli stessi identici bit. Con perdita: decomprimi e hai qualcosa di molto simile, ma non uguale. Per testi, programmi e numeri serve la compressione senza perdita. Per foto, musica e video va bene anche quella con perdita. ::: prova Quali di questi file si possono comprimere con perdita? (a) Il programma in C del laboratorio. (b) La foto delle vacanze. (c) L'estratto conto della banca. (d) Una canzone. Con perdita vanno bene solo (b) e (d): una foto un po' meno nitida e una canzone un po' meno fedele si guardano e si ascoltano lo stesso. Il programma e l'estratto conto devono restare identici: un carattere diverso può cambiare tutto. ::: > [!RICORDA] > - Comprimere vuol dire scrivere gli stessi dati con meno bit. > - Senza perdita: si riottengono esattamente i dati di prima. Con perdita: si ottiene qualcosa di molto simile. > - Testi, programmi e numeri: solo senza perdita. Foto, suoni e video: anche con perdita. ## Le ripetizioni: la codifica run-length Torna al telefono. Se il messaggio è 0000000011110000, non detti sedici cifre. Dici «otto zeri, quattro uni, quattro zeri». Hai detto la stessa cosa con molte meno parole. Un gruppo di simboli uguali uno dopo l'altro si chiama **ripetizione** (*run*). Al posto di ogni ripetizione si scrivono due cose: quale simbolo si ripete e quante volte. Questo modo di comprimere si chiama **codifica run-length** (*run-length encoding*), cioè «codifica della lunghezza delle ripetizioni». > [!ESEMPIO] L'esempio del libro > Una fila di 458 bit è fatta di 253 uni, poi 118 zeri, poi 87 uni. Invece di scrivere i 458 bit, si scrive «253 uni, 118 zeri, 87 uni». > > Quanti bit servono? Ogni numero è al massimo 255, quindi sta in un byte. Con le monete della [lezione 02](02_testo_colori_suoni_binario.html): > > | Numero | Monete | In un byte | > |--:|---|:-:| > | 253 | 128 + 64 + 32 + 16 + 8 + 4 + 1 | 11111101 | > | 118 | 64 + 32 + 16 + 4 + 2 | 01110110 | > | 87 | 64 + 16 + 4 + 2 + 1 | 01010111 | > > Tre byte, cioè 24 bit, più l'accordo che la fila comincia con gli uni. Invece di 458 bit. Dove funziona bene? Dove ci sono lunghe ripetizioni. Pensa alla F della lezione 02, disegnata con i pixel: in un disegno in bianco e nero ci sono lunghe file di pixel bianchi e lunghe file di pixel neri. Anche i fax e le schermate con grandi zone di un colore solo si comprimono bene così. Dove funziona male? Prendi la fila 01010101. Le ripetizioni sono otto, tutte lunghe 1: «uno zero, un uno, uno zero…». Scritta così diventa più lunga di prima. Quando i dati cambiano di continuo, come nelle foto, la codifica run-length non serve. La codifica run-length è **senza perdita**: dal numero di ripetizioni si riscrive la fila identica. ::: prova (a) Scrivi con la codifica run-length la fila 0000011111111000. (b) Che fila di bit è «3 uni, 2 zeri, 5 uni»? (a) Ci sono cinque 0, otto 1 e tre 0: «5 zeri, 8 uni, 3 zeri». Controllo: 5 + 8 + 3 = 16, e la fila ha 16 bit. (b) 111 00 11111, cioè 1110011111. ::: > [!RICORDA] > - Run-length: al posto di una ripetizione si scrivono il simbolo e quante volte si ripete. > - Funziona bene con lunghe file uguali, come nei disegni e nei fax; male quando i dati cambiano spesso. > - È senza perdita. ## Codici corti per i simboli frequenti: Huffman Il telegrafo usava il **codice Morse**: ogni lettera è una fila di punti e linee. Guarda quanto sono lunghe: | Lettera | Morse | Quanto è frequente in inglese | |:-:|:-:|---| | E | · | la più frequente | | T | – | la seconda | | A | · – | molto frequente | | Q | – – · – | rara | Chi l'ha inventato ha dato i codici più corti alle lettere più usate. Così i messaggi si trasmettono prima. È la seconda tecnica del libro: la **codifica in base alla frequenza** (*frequency-dependent encoding*). La **frequenza** di un simbolo è quante volte compare. In ASCII, invece, ogni lettera occupa un byte: la «e» come la «q». Si spreca spazio. ### Un problema: dove finisce una lettera? Nel Morse la E è «·» e la A è «· –». Se ricevi «· –», è una A oppure una E seguita da una T? Il telegrafista lo capisce perché tra una lettera e l'altra c'è una pausa. Con i bit non ci sono pause: c'è solo una fila di 0 e di 1. Per leggerla senza dubbi serve una regola. > [!IDEA] > Nessun codice deve essere l'inizio di un altro. Allora, leggendo da sinistra, appena riconosci un codice sai che quella lettera è finita. Un codice con questa regola si chiama **codice prefisso**: nessun codice è il «prefisso», cioè la parte iniziale, di un altro. ### Un esempio piccolo: BANANA La parola BANANA ha tre lettere diverse: A tre volte, N due volte, B una volta. Con un codice in cui tutte le lettere hanno la stessa lunghezza, un bit non basta: dà solo due possibilità, 0 e 1. Servono 2 bit per lettera, per esempio A = 00, B = 01, N = 10. Le lettere sono 6, quindi 6 × 2 = 12 bit. Ora prova un codice di lunghezza variabile: A = 0, B = 10, N = 11. - È un codice prefisso? A è 0, e nessun altro codice comincia con 0. B e N cominciano con 1, ma sono diversi al secondo bit. Sì. - BANANA diventa 10 0 11 0 11 0, cioè 100110110: 9 bit invece di 12. Per leggerlo, parti da sinistra: 1. 1 da solo non è un codice; 10 è B. 2. 0 è A. 3. 1 da solo no; 11 è N. 4. Poi 0 è A, 11 è N, 0 è A. Viene di nuovo BANANA, senza nessuna pausa. ### Come si costruisce: l'albero di Huffman Come si sceglie il codice migliore? C'è un metodo, inventato da David Huffman nel 1952. I codici che produce si chiamano **codici di Huffman**. L'idea: si mettono insieme, un passo alla volta, le due lettere più rare. Così le lettere rare finiscono in fondo e hanno codici lunghi, quelle frequenti restano in alto e hanno codici corti. > [!METODO] L'albero di Huffman > 1. Conta quante volte compare ogni simbolo: è il suo **peso**. > 2. Prendi i due pesi più piccoli e uniscili in un gruppo. Il peso del gruppo è la somma dei due. > 3. Ripeti il passo 2, trattando i gruppi come simboli, finché resta un gruppo solo. > 4. A ogni unione, scrivi 0 sul ramo di sinistra e 1 su quello di destra. > 5. Il codice di un simbolo è la fila di 0 e 1 che leggi scendendo dalla cima fino a lui. > [!ESEMPIO] PAPPAGALLO, passo per passo > Le lettere sono 10. Pesi: P 3, A 3, L 2, G 1, O 1. > > | Passo | Unisci | Nuovo peso | Restano | > |:-:|---|:-:|---| > | 1 | G (1) e O (1) | 2 | P 3, A 3, L 2, GO 2 | > | 2 | L (2) e GO (2) | 4 | P 3, A 3, LGO 4 | > | 3 | P (3) e A (3) | 6 | LGO 4, PA 6 | > | 4 | LGO (4) e PA (6) | 10 | un gruppo solo | > > Al passo 3 i due pesi più piccoli sono 3 e 3: il 4 di LGO è più grande, quindi aspetta. Ecco l'albero. In cima c'è il gruppo finale, con peso 10. Ogni unione è una biforcazione, con 0 a sinistra e 1 a destra. ```grafico titolo: L'albero di Huffman di PAPPAGALLO x: 0 10 y: -0.6 5.4 assi: no griglia: no segmento: 5 4.5 2.5 3.2 segmento: 5 4.5 7.5 3.2 segmento: 2.5 3.2 1.2 1.9 segmento: 2.5 3.2 3.8 1.9 segmento: 3.8 1.9 2.8 0.6 segmento: 3.8 1.9 4.8 0.6 segmento: 7.5 3.2 6.3 1.9 segmento: 7.5 3.2 8.7 1.9 punto: 5 4.5 | "10" | n punto: 2.5 3.2 | "LGO 4" | no punto: 7.5 3.2 | "PA 6" | ne punto: 1.2 1.9 | "L 2" | s punto: 3.8 1.9 | "GO 2" | ne punto: 2.8 0.6 | "G 1" | s punto: 4.8 0.6 | "O 1" | s punto: 6.3 1.9 | "P 3" | s punto: 8.7 1.9 | "A 3" | s testo: 3.75 3.85 | "0" | no | accento testo: 6.25 3.85 | "1" | ne | accento testo: 1.85 2.55 | "0" | no | accento testo: 3.15 2.55 | "1" | ne | accento testo: 3.2 1.2 | "0" | o | accento testo: 4.4 1.2 | "1" | e | accento testo: 6.9 2.55 | "0" | no | accento testo: 8.1 2.55 | "1" | ne | accento ``` Per trovare il codice di una lettera, scendi dalla cima e scrivi i numeri dei rami. Per arrivare alla G: a sinistra (0), poi a destra (1), poi a sinistra (0). Quindi G = 010. | Lettera | Peso | Codice | Bit in tutto | |:-:|:-:|:-:|--:| | P | 3 | 10 | 3 × 2 = 6 | | A | 3 | 11 | 3 × 2 = 6 | | L | 2 | 00 | 2 × 2 = 4 | | G | 1 | 010 | 1 × 3 = 3 | | O | 1 | 011 | 1 × 3 = 3 | In tutto 6 + 6 + 4 + 3 + 3 = 22 bit. Con un codice a lunghezza fissa servono 3 bit per lettera, perché le lettere diverse sono 5 e con 2 bit le possibilità sono solo 4: in tutto 10 × 3 = 30 bit. In ASCII, un byte per lettera, sarebbero 80 bit. Il codice è prefisso da solo: ogni lettera sta in fondo a un ramo, e nessuna sta sulla strada per un'altra. Il libro descrive la tecnica così. > [!DEF] Codifica in base alla frequenza (libro, §1.9) > Nella **codifica in base alla frequenza** (*frequency-dependent encoding*) la lunghezza del codice di un simbolo dipende da quanto spesso il simbolo compare: più è frequente, più il codice è corto. I codici costruiti con il metodo di Huffman si chiamano **codici di Huffman**. **Come si legge.** Le lettere frequenti hanno codici corti, quelle rare codici lunghi, come nel Morse. In media il messaggio occupa meno bit. È senza perdita: dal codice si riottiene il messaggio identico. > [!TRAPPOLA] I pesi uguali danno codici diversi, ma lo stesso totale > Quando due pesi sono uguali, puoi scegliere quale unire per primo, e cambiano i codici. Il numero totale di bit, però, viene sempre lo stesso. Se il tuo codice non coincide con quello della soluzione, controlla il totale e che sia un codice prefisso. ::: prova (a) Con il codice di PAPPAGALLO, che parola è 10110011? (b) Costruisci un codice di Huffman per CASSA e conta i bit. (a) Da sinistra: 10 è P, 11 è A, 00 è L, 11 è A. La parola è PALA. (b) Pesi: C 1, A 2, S 2. Passo 1: i due più piccoli sono C (1) e uno dei due 2; prendi A, e il gruppo CA pesa 3. Passo 2: S (2) e CA (3), peso 5. Codici: S = 0, C = 10, A = 11. Bit: S 2 × 1, C 1 × 2, A 2 × 2, in tutto 2 + 2 + 4 = 8. Se al passo 1 prendi S invece di A, viene A = 0, C = 10, S = 11: sempre 8 bit. Con 2 bit per lettera sarebbero 10. ::: > [!RICORDA] > - Codifica in base alla frequenza: codici corti ai simboli frequenti, lunghi a quelli rari. > - Serve un codice prefisso: nessun codice è l'inizio di un altro, così si legge senza pause. > - Huffman: unisci sempre i due pesi più piccoli; 0 a sinistra, 1 a destra; il codice è la strada dalla cima. ## Solo le differenze: la codifica relativa Ancora al telefono. Detti le temperature di una settimana: 20, 21, 21, 22, 20, 19, 19. Dopo la prima, puoi dire solo quanto cambia: «20, poi più 1, poi uguale, poi più 1, poi meno 2, poi meno 1, poi uguale». I numeri da dettare diventano 20, +1, 0, +1, −2, −1, 0. Sono quasi tutti piccoli, e i numeri piccoli si scrivono con pochi bit. Questa è la terza tecnica: la **codifica relativa** (*relative encoding*), detta anche **differenziale** (*differential encoding*). Si scrive il primo dato per intero; per ogni dato dopo, solo la differenza con quello prima. Funziona bene quando ogni dato somiglia a quello prima. Il libro fa l'esempio dei video. Un video è una fila di immagini, i **fotogrammi**, 25 o 30 al secondo. Due fotogrammi vicini sono quasi uguali: la persona si è mossa appena, lo sfondo è identico. Invece di conservare ogni fotogramma per intero, si conserva solo che cosa è cambiato. Anche i campioni di un suono, quelli della lezione 02, cambiano poco da uno all'altro. Per questo la codifica relativa si usa anche per l'audio. > [!NOTA] I numeri negativi > Le differenze possono essere negative, come −2. Come si scrive in bit un numero con il segno meno lo dice la sezione 1.6 del libro, con il complemento a 2: è nella [lezione 03](03_interi_con_segno_virgola_mobile.html). Se le differenze si scrivono esatte, la codifica relativa è senza perdita. Se si arrotondano per risparmiare ancora, diventa con perdita. ::: prova (a) Scrivi con la codifica relativa 100, 102, 103, 103, 101, 98. (b) Quali numeri erano 50, +3, −1, 0, +2? (a) Il primo resta 100. Poi 102 − 100 = +2; 103 − 102 = +1; 103 − 103 = 0; 101 − 103 = −2; 98 − 101 = −3. Viene 100, +2, +1, 0, −2, −3. (b) Si somma ogni differenza al numero prima: 50; 50 + 3 = 53; 53 − 1 = 52; 52 + 0 = 52; 52 + 2 = 54. I numeri erano 50, 53, 52, 52, 54. ::: > [!RICORDA] > - Codifica relativa: il primo dato per intero, poi solo le differenze con il dato prima. > - Funziona quando ogni dato somiglia al precedente: fotogrammi di un video, campioni di un suono. > - Con le differenze esatte è senza perdita. ## Il dizionario che cresce: LZW L'ultimo trucco del telefono: tu e il tuo amico avete lo stesso vocabolario. Invece di dettare una parola lettera per lettera, dici «pagina 512, parola 7». Lui la cerca e la trova. Questa è la quarta tecnica, la **codifica a dizionario** (*dictionary encoding*). Il **dizionario** è un elenco numerato di parole, uguale per chi scrive e per chi legge. Al posto di ogni parola si scrive il suo numero nell'elenco. Il libro fa l'esempio del correttore ortografico di un programma di videoscrittura, che ha già un dizionario. Con 25 000 parole, quanti bit servono per il numero di una parola? - Con 14 bit i numeri possibili sono $2^{14} = 16384$. Si legge «due alla quattordici» e vuol dire 2 moltiplicato per sé stesso 14 volte, come nella lezione 02. Non bastano. - Con 15 bit sono $2^{15} = 32768$: bastano. Quindi ogni parola costa 15 bit. La parola «computer» in ASCII ne occupa 8 × 8 = 64. ### Il dizionario si costruisce mentre leggi C'è un problema: un dizionario fisso va bene per le parole di una lingua, ma non per una foto o per un file qualunque. L'idea furba è costruire il dizionario **mentre** si comprime. Chi legge lo ricostruisce identico, negli stessi momenti, quindi non bisogna nemmeno spedirlo. Questa si chiama **codifica a dizionario adattiva** (*adaptive dictionary encoding*). Il metodo più famoso è **LZW**, dalle iniziali dei suoi inventori: Lempel, Ziv e Welch. Il libro la spiega con messaggi fatti di tre simboli: la x, la y e lo spazio. Le regole, nella versione del libro: > [!METODO] LZW come nel libro > 1. All'inizio il dizionario contiene solo i simboli singoli: x = 1, y = 2, spazio = 3. > 2. Leggi il messaggio una parola alla volta (una parola finisce allo spazio). > 3. Se la parola è già nel dizionario, scrivi il suo numero. > 4. Se non c'è, scrivi i numeri delle sue lettere, una per una. Poi aggiungi la parola al dizionario, con il primo numero libero. > 5. Ogni spazio si scrive 3. > [!ESEMPIO] Il messaggio del libro: «xyx xyx xyx xyx» > | Leggo | Nel dizionario? | Scrivo | Il dizionario diventa | > |---|:-:|:-:|---| > | xyx | no | 1 2 1 | aggiungo xyx = 4 | > | spazio | sì | 3 | | > | xyx | sì, è il 4 | 4 | | > | spazio | sì | 3 | | > | xyx | sì | 4 | | > | spazio | sì | 3 | | > | xyx | sì | 4 | | > > Il messaggio compresso è 121343434: nove numeri invece di quindici simboli. La prima volta la parola xyx costa tre numeri. Da lì in poi ne costa uno solo. Più un messaggio ripete le stesse parole, più si guadagna. ### Chi legge ricostruisce il dizionario Il tuo amico riceve 121343434 e conosce solo il dizionario iniziale: x = 1, y = 2, spazio = 3. Legge un numero alla volta. 1. 1, 2, 1: scrive x, y, x. 2. 3: è uno spazio. La parola xyx è finita, ed è nuova: la aggiunge al dizionario come 4, proprio come aveva fatto chi ha compresso. 3. 4: ora sa che è xyx, e la scrive. 4. Poi 3, 4, 3, 4: spazio, xyx, spazio, xyx. Ha riottenuto «xyx xyx xyx xyx», identico. LZW è senza perdita. ::: prova Comprimi con LZW, come nel libro, il messaggio «yxy yxy x yxy», partendo da x = 1, y = 2, spazio = 3. 1. yxy non c'è: scrivi 2 1 2, poi lo spazio 3. Aggiungi yxy = 4. 2. yxy ora è il 4: scrivi 4, poi 3. 3. x c'è già, è l'1: scrivi 1, poi 3. Non si aggiunge niente. 4. yxy: scrivi 4. Il risultato è 212343134. ::: > [!APPROFONDIMENTO] Il vero LZW lavora sulle sequenze, non sulle parole > Il libro presenta LZW con le parole separate dagli spazi, perché è più facile da seguire. Il vero LZW, quello dentro GIF, non cerca gli spazi: legge un simbolo alla volta e cerca la sequenza più lunga che ha già nel dizionario. Scrive il suo numero e aggiunge al dizionario quella sequenza con in più il simbolo che viene dopo. > > Un esempio con il dizionario iniziale A = 0, B = 1 e il messaggio ABABABA: > > 1. A c'è, AB no: scrive 0 e aggiunge AB = 2. > 2. B c'è, BA no: scrive 1 e aggiunge BA = 3. > 3. AB c'è, ABA no: scrive 2 e aggiunge ABA = 4. > 4. Resta ABA, che c'è: scrive 4. > > Il messaggio diventa 0 1 2 4. L'idea è la stessa del libro: il dizionario cresce con il messaggio. Per l'esame basta la versione del libro. > [!RICORDA] > - Codifica a dizionario: al posto di una parola si scrive il suo numero in un elenco comune. > - LZW: il dizionario parte dai simboli singoli e cresce mentre si comprime; chi legge lo ricostruisce identico. > - Nel libro: parola nuova = numeri delle sue lettere, poi entra nel dizionario; parola già vista = il suo numero; spazio = 3. ## Le immagini: GIF e JPEG Nella lezione 02 un pixel in **RGB** occupa 3 byte: quanto rosso, quanto verde e quanto blu, ognuno da 0 a 255. I colori possibili sono più di sedici milioni. Le quattro tecniche di prima aiutano, ma per le immagini si fa di più. ### GIF: dipingere con i numeri Conosci i disegni da colorare con i numeri? Ogni zona ha un numero, e in fondo alla pagina c'è la legenda: 1 = rosso, 2 = giallo, 3 = blu. **GIF** (*Graphic Interchange Format*) fa così. Sceglie al massimo 256 colori e li mette in una tabella, la **tavolozza** (*palette*). Ogni colore della tavolozza è scritto con i suoi 3 byte RGB. Poi ogni pixel non dice più il suo colore: dice solo il numero del colore nella tavolozza. Un numero da 0 a 255 sta in un byte. Quindi ogni pixel occupa 1 byte invece di 3: l'immagine pesa circa un terzo. > [!ESEMPIO] Un disegno di 400 × 300 pixel > 1. I pixel sono 400 × 300 = 120 000. > 2. In RGB: 120 000 × 3 = 360 000 byte. > 3. In GIF, prima di LZW: 120 000 byte per i pixel, più 256 × 3 = 768 byte per la tavolozza. In tutto 120 768 byte. Poi GIF comprime ancora i numeri dei pixel con LZW, il dizionario che cresce. Un colore della tavolozza può anche essere «trasparente»: lì si vede lo sfondo che c'è dietro. GIF è **con perdita**, se l'immagine di partenza ha più di 256 colori: i colori che non stanno nella tavolozza vengono sostituiti dal più vicino. Per una foto, che ha migliaia di sfumature, la differenza si vede. Per un disegno o un fumetto, che hanno pochi colori e zone di colore pieno con bordi netti, non si perde quasi niente. È la domanda 3 del §1.9. ### JPEG: l'occhio vede meglio la luce del colore Guarda una foto in bianco e nero: capisci tutto, anche senza i colori. I dettagli, i bordi, le facce stanno soprattutto nella **luminosità**, cioè quanto è chiaro o scuro ogni punto. Il colore conta, ma l'occhio ne nota i piccoli cambiamenti molto meno. **JPEG** (dal nome del gruppo che l'ha creato, *Joint Photographic Experts Group*) è il formato delle fotografie, e sfrutta proprio questo. Ha una versione senza perdita, poco usata perché comprime poco. Quella di tutti i giorni è lo **standard di base** (*baseline standard*), che è con perdita. Funziona così: 1. Ogni pixel si scrive con tre numeri diversi da RGB: uno per la luminosità (*luminance*) e due per il colore (*chrominance*). Ne parlava già una nota della lezione 02. 2. L'immagine si divide in quadratini di 2 × 2 pixel. Per ogni quadratino si tiene la luminosità di tutti e quattro i pixel, ma per il colore solo la **media** dei quattro. 3. L'immagine si divide in blocchi di 8 × 8 pixel. Ogni blocco si trasforma con un procedimento matematico, e i dettagli più fini, quelli che l'occhio vede meno, si approssimano. 4. Alla fine si usano le tecniche senza perdita di prima: run-length, codifica relativa, codici a lunghezza variabile. Il passo 2, contato su un quadratino: | | Luminosità | Colore | In tutto | |---|:-:|:-:|:-:| | Prima | 4 pixel × 1 numero = 4 | 4 pixel × 2 numeri = 8 | 12 numeri | | Dopo | 4 | 1 media × 2 numeri = 2 | 6 numeri | Solo questo passo dimezza i numeri, e l'occhio non vede la differenza. Con tutti i passi, di solito una foto in JPEG occupa almeno dieci volte meno che in RGB. > [!NOTA] TIFF > Il libro cita anche **TIFF** (*Tagged Image File Format*). Più che un modo di comprimere è un contenitore: oltre all'immagine conserva altre informazioni, come la data e le impostazioni della fotocamera. Si usa soprattutto per le fotografie, quando la qualità conta più dello spazio. > [!TRAPPOLA] Né GIF né JPEG sono senza perdita > GIF perde colori, il JPEG di base perde dettagli. Se una foto deve restare identica, come le immagini di una sonda spaziale da studiare al pixel, non vanno bene né l'uno né l'altro. È la domanda 4 del §1.9. ::: prova (a) Che formato sceglieresti per il logo di una squadra, con quattro colori pieni? E per la foto di un tramonto? (b) Un'immagine di 100 × 100 pixel in GIF: quanti byte occupano i pixel, prima di LZW? (a) Per il logo GIF: pochi colori, zone piene e bordi netti, e con 4 colori non perde niente. Per il tramonto JPEG: migliaia di sfumature, che la tavolozza di GIF non riesce a tenere. (b) Un byte per pixel: 100 × 100 = 10 000 byte. Più i 768 byte della tavolozza. ::: > [!RICORDA] > - GIF: tavolozza di al massimo 256 colori, un byte per pixel, poi LZW. Con perdita se i colori erano di più. Ottimo per disegni e fumetti. > - JPEG di base: luminosità per ogni pixel, colore solo come media su 2 × 2 pixel, poi blocchi di 8 × 8. Con perdita. Per le foto. > - L'idea di JPEG: l'occhio nota la luminosità più del colore. ## Suoni e video: MP3 e MPEG Sei a un concerto. Esplode un petardo, e per un attimo non senti nient'altro: nemmeno la voce del cantante, che pure c'è. Poi accanto a una cassa che suona un basso fortissimo qualcuno ti parla a voce bassa, con una voce grave: non lo senti. Sono due limiti veri dell'orecchio, e **MP3**, il formato più famoso per la musica, li sfrutta. Il libro li chiama così: - **mascheramento temporale** (*temporal masking*): subito dopo un suono forte, per un breve momento, l'orecchio non sente i suoni deboli; - **mascheramento in frequenza** (*frequency masking*): un suono forte copre i suoni deboli con una nota vicina alla sua. La **frequenza** di un suono è quello che lo fa più grave o più acuto. MP3 toglie dalla registrazione i suoni che tanto non sentiresti. È una compressione con perdita, ma la perdita è scelta in modo da non sentirsi. È la domanda 6 del §1.9. Quanto si guadagna? Un CD, come nella lezione 02, conserva ogni secondo 44 100 campioni da 16 bit, per due canali: 44 100 × 16 × 2 = 1 411 200 bit al secondo. Un MP3 di buona qualità ne usa spesso 128 000. Il conto 1 411 200 : 128 000 fa circa 11: lo stesso brano occupa circa undici volte meno. ### I video: MPEG Per i video c'è **MPEG** (*Motion Picture Experts Group*). Usa la codifica relativa che hai già visto: - solo alcuni fotogrammi si conservano per intero, compressi come immagini, in modo simile a JPEG; - per i fotogrammi in mezzo si conservano solo le differenze rispetto a quelli vicini. In una scena in cui una persona parla davanti a un muro, il muro si conserva una volta sola. Di ogni fotogramma dopo cambiano solo la bocca e gli occhi. > [!ESAME] Le approssimazioni si accumulano > La domanda 7 del §1.9 chiede quale fenomeno preoccupante capita quando si scrivono in bit numeri, immagini e suoni. La risposta: si fanno approssimazioni. Con i numeri, ogni calcolo può far crescere l'errore. Con immagini e suoni di solito non è grave, perché si conservano e si riproducono soltanto. Ma se una foto si comprime, si riapre e si ricomprime tante volte, gli errori si sommano: come la fotocopia di una fotocopia di una fotocopia. ::: prova (a) Quale di questi è un esempio di mascheramento in frequenza: (1) dopo un colpo di tamburo non senti un sussurro per un istante; (2) un violino forte copre un violino debole che suona una nota quasi uguale? (b) In un video di una partita, che cosa cambia poco da un fotogramma all'altro? (a) Il (2): il suono forte copre quello debole con una nota vicina. Il (1) è mascheramento temporale: dipende dal momento, non dalla nota. (b) Il campo, gli spalti, le scritte sullo schermo: restano quasi uguali. Cambiano i giocatori e la palla. MPEG conserva per intero solo qualche fotogramma, e per gli altri le differenze. ::: > [!RICORDA] > - MP3: toglie i suoni che l'orecchio non sente, per il mascheramento temporale e in frequenza. Con perdita. > - MPEG: alcuni fotogrammi interi, degli altri solo le differenze (codifica relativa). > - Ogni approssimazione è un piccolo errore, e ricomprimendo tante volte gli errori si sommano. ## Accorgersi di un errore: il bit di parità (libro, §1.10) Torna al telefono. La linea gracchia, e il tuo amico capisce «cinque» invece di «nove». Con i bit succede lo stesso: un graffio su un disco, un disturbo nell'aria o sul cavo, e uno 0 arriva come 1, o un 1 come 0. Il libro chiama questi problemi **errori di comunicazione** (*communication errors*). Chi riceve non vede il messaggio giusto: vede solo i bit che arrivano. Come fa ad accorgersi che uno è sbagliato? ### L'accordo: gli 1 sono sempre dispari Tu e il tuo amico vi mettete d'accordo così: ogni gruppo di bit che spedisci deve avere un numero **dispari** di 1. Se un byte ha già un numero dispari di 1, aggiungi uno 0. Se ne ha un numero pari, aggiungi un 1, così diventano dispari. Il bit in più si chiama **bit di parità** (*parity bit*). Il libro lo mette a sinistra, davanti al byte: ogni byte diventa una fila di 9 bit. > [!ESEMPIO] Le lettere A e F, come nel libro > | Lettera | Byte ASCII | Quanti 1 | Bit di parità | I 9 bit | > |:-:|:-:|:-:|:-:|:-:| > | A | 01000001 | 2, pari | 1 | 101000001 | > | F | 01000110 | 3, dispari | 0 | 001000110 | > > Controllo: in 101000001 gli 1 sono 3, in 001000110 sono 3. Dispari tutti e due. All'arrivo il tuo amico conta gli 1 dei 9 bit. Se sono dispari, va tutto bene. Se sono pari, c'è stato un errore, e chiede di rispedire. Perché funziona? Ogni bit che cambia aggiunge un 1 o ne toglie uno. In tutti e due i casi, un numero dispari diventa pari. > [!DEF] Parità dispari (libro, §1.10) > Nella **parità dispari** (*odd parity*) a ogni fila di bit si aggiunge un bit di parità, scelto in modo che il numero totale di 1, compreso il bit di parità, sia dispari. Nella **parità pari** (*even parity*) il totale deve essere pari. Il libro usa la parità dispari. **Come si legge.** Prima di spedire conti gli 1 e aggiungi il bit che rende il totale dispari. Chi riceve riconta tutti i bit, compreso quello di parità: un totale pari vuol dire che qualcosa si è rotto per strada. Con la parità pari si fa lo stesso, al contrario. Un vantaggio della parità dispari: una fila di soli 0 non è mai giusta, perché zero 1 sono un numero pari. Se una linea si guasta e manda solo zeri, chi riceve se ne accorge. Alcune memorie dei computer usano proprio questo: per ogni byte conservano 9 bit, gli 8 del byte più il bit di parità. Nello strumento clicca sui bit del byte e scegli la parità: il bit di parità si calcola da solo. Poi prova «Un errore» e «Due errori»: guarda quando l'errore si vede. ```widget codifica titolo: Il bit di parità: aggiungilo, poi prova uno o due errori modo: parita bit: 01000001 parita: dispari ``` ### Due errori non si vedono Se cambiano due bit, il primo rende pari il totale e il secondo lo rende di nuovo dispari. Il conto torna, e chi riceve non si accorge di niente. > [!ESEMPIO] La A con due errori > Spedisci 101000001: tre 1, dispari. Per strada cambiano gli ultimi due bit e arriva 101000010. Gli 1 sono ancora tre, dispari: sembra tutto a posto. Ma 01000010 è la B. Il bit di parità vede un errore, tre errori, cinque errori: un numero dispari. Non vede due, quattro, sei errori. E anche quando vede un errore, non dice quale bit è sbagliato. È la domanda 2 del §1.10. ::: prova Questi gruppi di 9 bit sono stati spediti con parità dispari. In quali c'è sicuramente un errore? (a) 001100001 (b) 110000000 (c) 111111111 Conta gli 1. (a) Sono tre: dispari, nessun errore visibile. (b) Sono due: pari, quindi c'è un errore. (c) Sono nove: dispari, nessun errore visibile. «Nessun errore visibile» non vuol dire «nessun errore»: potrebbero essercene due. ::: > [!RICORDA] > - Parità dispari: si aggiunge un bit perché gli 1 siano dispari. Il libro lo mette a sinistra del byte. > - All'arrivo si contano tutti gli 1: se sono pari, c'è un errore. > - Vede solo un numero dispari di errori, e non dice dove sono. ## Un byte di controllo per tanti byte Un bit di parità per ogni byte costa un bit ogni otto: il messaggio cresce di un ottavo. Per messaggi lunghi si usa anche un'altra strada. Si spediscono i byte così come sono, e alla fine si aggiunge un byte in più, che li controlla tutti. È come quando detti una lista di numeri e alla fine aggiungi: «il totale fa 312». Se il tuo amico somma e non gli torna 312, ha capito male qualcosa. ### Il byte di controllo Metti i byte uno sotto l'altro. Ogni colonna è una fila di bit, e per ogni colonna calcoli un bit di parità. Gli otto bit di parità, uno per colonna, formano un byte: il **byte di controllo** (*checkbyte*). Qui uso la parità dispari, come per il bit di parità del libro. > [!ESEMPIO] Il byte di controllo di «Ciao» > | | col. 1 | col. 2 | col. 3 | col. 4 | col. 5 | col. 6 | col. 7 | col. 8 | > |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| > | C | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | > | i | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | > | a | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | > | o | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | > | quanti 1 | 0 | 4 | 3 | 0 | 2 | 1 | 2 | 4 | > | byte di controllo | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | > > Dove gli 1 sono pari si mette 1, dove sono dispari si mette 0. Il byte di controllo è 11011011, e si spedisce dopo la «o». Chi riceve rifà lo stesso conto colonna per colonna. Se un bit della colonna 5 cambia, la colonna 5 non torna. ### Somme di controllo e CRC Il libro cita altre due varianti della stessa idea, solo come nome: - la **somma di controllo** (*checksum*): si sommano i byte del messaggio e si spedisce anche la somma, come il «totale 312» del telefono; - il **controllo a ridondanza ciclica** (*cyclic redundancy check*, **CRC**): un conto più complicato, che si accorge di quasi tutti gli errori, anche di tanti bit vicini. Lo usano le reti e i file ZIP. All'esame basta sapere che esistono e che servono ad accorgersi degli errori. ::: prova Con la parità dispari, qual è il byte di controllo dei due byte 11110000 e 10101010? Colonna per colonna gli 1 sono: 2, 1, 2, 1, 1, 0, 1, 0. Dove sono pari metti 1, dove sono dispari metti 0: 1, 0, 1, 0, 0, 1, 0, 1. Il byte di controllo è 10100101. Controllo sulla prima colonna: due 1 più l'1 del byte di controllo fanno tre, dispari. ::: > [!RICORDA] > - Byte di controllo: un bit di parità per ogni colonna di un gruppo di byte, spedito alla fine. > - Somma di controllo e CRC: altri conti fatti sui dati e spediti con loro, per accorgersi degli errori. ## Correggere un errore: la distanza di Hamming Il bit di parità ti dice «c'è un errore», ma non dove. Si può fare di meglio: correggerlo senza chiedere di rispedire. Al telefono si fa così: «nove, ripeto, nove, ripeto, nove». Se senti «nove, cinque, nove», capisci che era nove: due volte su tre. Con i bit: invece di 0 spedisci 000, invece di 1 spedisci 111. Se arriva 010, la maggioranza dice 0: c'era 000, ed è cambiato un bit solo. Funziona, ma il messaggio è diventato tre volte più lungo. Il libro mostra un modo più furbo, con meno bit in più. Per capirlo serve un modo di misurare quanto due file di bit sono diverse. ### Quanto sono diverse due file di bit Metti 1011 e 1001 una sotto l'altra e confrontale posto per posto: sono diverse solo nel terzo bit. Il numero di posti in cui sono diverse si chiama **distanza di Hamming**, dal nome di Richard Hamming, che studiò questi codici negli anni Quaranta. > [!ESEMPIO] Simulazione d'esame 1, 2023/24, domanda 1 > Il quiz chiede: «Calcolare la distanza di Hamming tra le sequenze di numeri binari elencati». La prima coppia è 01011101 e 00101101. > > | Posto | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | > |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| > | prima fila | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | > | seconda fila | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | > | diversi? | | sì | sì | sì | | | | | > > Sono diverse in tre posti: la distanza di Hamming è 3. > [!DEF] Distanza di Hamming (libro, §1.10) > La **distanza di Hamming** tra due file di bit della stessa lunghezza è il numero di posizioni in cui i loro bit sono diversi. **Come si legge.** Si scrivono le due file una sotto l'altra e si contano le colonne con due bit diversi. Distanza 0 vuol dire file identiche. Distanza 1 vuol dire che basta cambiare un bit per passare da una all'altra. Le due file devono avere lo stesso numero di bit. ::: prova Calcola la distanza di Hamming tra (a) 01101100 e 01101110; (b) 111000 e 000111. (a) Sono uguali tranne il settimo bit: distanza 1. È un'altra coppia della stessa domanda della simulazione. (b) Sono diverse in tutti e sei i posti: distanza 6. ::: ### Il codice del libro: lettere lontane tra loro Per otto lettere, da A a H, bastano 3 bit, perché $2^3 = 2 \cdot 2 \cdot 2 = 8$. Il libro ne usa 6, e sceglie le file in modo che ogni coppia sia lontana. Le file scelte per le lettere si chiamano **parole del codice**. Il codice è nella figura 1.27 del libro. | Lettera | Parola del codice | |:-:|:-:| | A | 000000 | | B | 001111 | | C | 010011 | | D | 011100 | | E | 100110 | | F | 101001 | | G | 110101 | | H | 111010 | Prendi due lettere qualsiasi e calcola la distanza: viene sempre 3 o 4, mai meno. Per esempio A e C sono diverse in 3 posti, A e B in 4. Su tutte le 28 coppie, 16 sono a distanza 3 e 12 a distanza 4. La distanza più piccola tra due parole del codice si chiama **distanza minima** del codice. Qui è 3. ### Come si decodifica Arriva 010100. Non è nella tabella, quindi c'è stato un errore. Calcola la distanza da ogni lettera: | Lettera | A | B | C | D | E | F | G | H | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Distanza da 010100 | 2 | 4 | 3 | **1** | 3 | 5 | 2 | 4 | La più vicina è D, cioè 011100, a distanza 1: è cambiato solo il terzo bit. Si decodifica D. > [!METODO] Decodificare con il codice del libro > 1. Se la fila ricevuta è una parola del codice, leggi la sua lettera. > 2. Altrimenti calcola la distanza di Hamming da tutte e otto le parole. > 3. Scegli la lettera più vicina. Se ce n'è una sola a distanza 1, l'errore è corretto. > 4. Se due o più lettere sono alla stessa distanza minima, sai che c'è un errore ma non puoi correggerlo. Nello strumento clicca sui bit della fila arrivata: vedi la distanza da ogni lettera, i bit diversi evidenziati e la lettera più vicina. ```widget codifica titolo: Il codice del libro: quale lettera è più vicina? modo: hamming parola: 010100 ``` ### Perché un errore si corregge e due si vedono Immagina ogni parola del codice come una casa. Intorno a ogni casa c'è un giardino: le file a distanza 1 da lei, cioè quelle che ottieni cambiando un bit solo. - Le case distano almeno 3 l'una dall'altra. Quindi due giardini non si toccano mai: una fila a distanza 1 da A non può essere a distanza 1 anche da C, altrimenti A e C disterebbero al massimo 2. - **Un errore**: la fila esce dalla casa e finisce nel suo giardino. Il giardino è di una casa sola, quindi sai da dove viene. L'errore si corregge. - **Due errori**: la fila si allontana di 2. Non arriva mai su un'altra casa, che dista almeno 3: quindi non è una parola del codice, e ti accorgi dell'errore. Però può finire nel giardino di un'altra casa, e allora la correzione sbaglia. > [!ESEMPIO] Due errori portano fuori strada > Spedisci A, cioè 000000. Cambiano il primo e il terzo bit: arriva 101000. Non è una parola del codice, quindi l'errore si vede. Ma 101000 dista 1 da F (101001) e 2 da A. Scegliendo la più vicina, leggi F: sbagliato. Riassumendo: con distanza minima 3 il codice **corregge un errore** e **ne rivela due**. Rivelare vuol dire accorgersene. Ora si capisce anche il bit di parità. Prendi due gruppi di 9 bit giusti, tutti e due con un numero dispari di 1. Se fossero diversi in un bit solo, uno dei due avrebbe un 1 in più dell'altro, e i loro numeri di 1 non sarebbero dispari tutti e due. Quindi sono diversi in almeno 2 bit: la distanza minima è 2. Rivela un errore, ma non ne corregge nessuno. > [!APPROFONDIMENTO] La regola generale > Chiama $d$ la distanza minima di un codice. > > - Il codice rivela fino a $d - 1$ errori: con meno di $d$ bit cambiati non si arriva su un'altra parola del codice. > - Il codice corregge fino a $k$ errori se $d$ è almeno $2k + 1$: i «giardini» di raggio $k$ non si toccano. > > | Distanza minima | Rivela fino a | Corregge fino a | > |:-:|:-:|:-:| > | 1 | 0 | 0 | > | 2, il bit di parità | 1 | 0 | > | 3, il codice del libro | 2 | 1 | > | 4 | 3 | 1 | > | 5 | 4 | 2 | ::: prova Con il codice del libro, decodifica (a) 111110 e (b) 011001. (a) Le distanze sono: A 5, B 3, C 4, D 2, E 2, F 4, G 3, H 1. La più vicina è H (111010), a distanza 1: si legge H. (b) Le distanze sono: A 3, B 3, C 2, D 2, E 6, F 2, G 3, H 3. C, D e F sono tutte a distanza 2. Sicuramente c'è un errore, anzi almeno due, ma non si può dire quale lettera era. ::: > [!RICORDA] > - Distanza di Hamming: in quanti posti due file di bit sono diverse. > - Il codice del libro ha 8 lettere da 6 bit con distanza minima 3: si decodifica scegliendo la lettera più vicina. > - Distanza minima 3: corregge un errore e ne rivela due. Il bit di parità ha distanza minima 2: rivela un errore e non corregge. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | «5 zeri, 8 uni» | «cinque zeri, otto uni» | una ripetizione nella codifica run-length: il simbolo e quante volte | 0000011111111 | | A = 0, B = 10 | «A vale zero, B vale uno zero» | il codice di ogni simbolo, in un codice a lunghezza variabile | BANANA = 100110110 | | +2, −1 | «più due, meno uno» | una differenza con il dato prima, nella codifica relativa | 100, 102, 101 diventa 100, +2, −1 | | xyx = 4 | «x y x vale quattro» | una voce del dizionario di LZW | xyx xyx diventa 1 2 1 3 4 | | $2^{15}$ | «due alla quindici» | 2 moltiplicato per sé stesso 15 volte: i numeri che si scrivono con 15 bit | 32768 | | 2 × 2, 8 × 8 | «due per due», «otto per otto» | quadratini di pixel: 2 righe e 2 colonne, 8 righe e 8 colonne | i blocchi di JPEG | | 1 01000001 | «bit di parità, poi il byte» | il bit di parità a sinistra del byte, come nel libro | la A con parità dispari | | distanza 3 | «distanza di Hamming tre» | due file di bit diverse in 3 posti | 000000 e 010011 | | $d$ | «di» | la distanza minima di un codice (solo nell'approfondimento) | nel codice del libro 3 | ## Verso l'esame Le regole dell'esame, uguali per i tre canali, sono nella [lezione 01](01_bit_porte_esadecimale.html) e nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md): 9 quiz in 45 minuti, con Safe Exam Browser. **Che cosa serve di questa lezione** 1. **La distanza di Hamming.** È il quiz 1 della simulazione d'esame 1 del 2023/24: quattro coppie di file da 8 bit, e per ognuna la distanza. Si fa in pochi secondi, se conti con calma colonna per colonna. 2. **Parità e codice del libro.** Le domande del §1.10: dove c'è sicuramente un errore, aggiungere il bit di parità dispari, decodificare con il codice da A a H. 3. **La compressione.** Nei quiz delle simulazioni del 2023/24 non compare, ma il §1.9 è nella mappa comune del libro. Le domande più probabili sono quelle del libro: le quattro tecniche, un messaggio da comprimere con LZW, con perdita o senza, che cosa sfruttano JPEG e MP3. Nelle simulazioni del 2023/24 tornano anche complemento a 2, virgola mobile e notazione in eccesso: sono le sezioni 1.6 e 1.7, nella lezione 03. > [!ESAME] Una domanda vera, letta insieme > Simulazione d'esame 1, 2023/24, domanda 1: «Calcolare la distanza di Hamming tra le sequenze di numeri binari elencati». Le coppie sono 01011101 e 00101101; 01011100 e 00101100; 01101100 e 01101110; 01111100 e 01111110. > > In pratica chiede: in quanti posti sono diverse? Scrivi le due file una sotto l'altra e segna le colonne diverse. > > 1. 01011101 e 00101101: diverse nei posti 2, 3 e 4. Distanza 3. > 2. 01011100 e 00101100: di nuovo i posti 2, 3 e 4. Distanza 3. > 3. 01101100 e 01101110: solo il posto 7. Distanza 1. > 4. 01111100 e 01111110: solo il posto 7. Distanza 1. > [!METODO] Le domande sulla compressione > 1. «Con perdita o senza?» Chiediti: dopo la decompressione ho esattamente i bit di prima? Run-length, Huffman, relativa esatta e LZW: sì. JPEG di base, GIF con molti colori, MP3, MPEG: no. > 2. «Comprimi con LZW»: tieni la tabella del dizionario accanto, e aggiungi una parola solo la prima volta che la incontri. > 3. «Costruisci il codice di Huffman»: unisci sempre i due pesi più piccoli, poi controlla il totale dei bit. **Errori da evitare** - Usare la parità pari quando il libro usa la dispari: leggi bene il testo della domanda. - Contare gli 1 senza il bit di parità, quando controlli una fila ricevuta: si contano tutti i 9 bit. - Credere che il bit di parità corregga: si accorge soltanto, e solo di un numero dispari di errori. - Calcolare la distanza di Hamming tra file di lunghezza diversa: non ha senso. - Confondere «corregge» e «rivela»: con distanza minima 3 corregge 1 errore e ne rivela 2. - Dire che GIF è senza perdita per le foto: con più di 256 colori li approssima. - In LZW, aggiungere al dizionario una parola che c'è già, o dimenticare di scrivere lo spazio. ## Quiz ```quiz D: Simulazione d'esame 1, 2023/24, domanda 1. Qual è la distanza di Hamming tra 01011101 e 00101101? - $1$ - $2$ + $3$ - $4$ - $5$ = La distanza di Hamming conta i posti in cui le due file sono diverse. Messe una sotto l'altra, sono diverse nel secondo, nel terzo e nel quarto bit: distanza 3. La risposta 5 conta gli 1 della prima fila, che non c'entrano. La risposta 4 conta gli 1 della seconda fila. Le risposte 1 e 2 si ottengono saltando qualche colonna. D: Simulazione d'esame 1, 2023/24, domanda 1. Qual è la distanza di Hamming tra 01101100 e 01101110? + $1$ - $0$ - $2$ - $7$ - $8$ = Le due file sono uguali in tutti i posti tranne il settimo: distanza 1. La risposta 0 vale solo per file identiche. La risposta 7 confonde la distanza con il posto del bit diverso. La risposta 8 è il numero di bit, non il numero di differenze. D: Questi gruppi di 9 bit sono stati spediti con la parità dispari del libro. In quale c'è sicuramente un errore? - 101000001 - 001000110 + 110000000 - 111000000 - 100000000 = Con la parità dispari gli 1, compreso il bit di parità, devono essere dispari. In 110000000 sono due: pari, quindi c'è sicuramente un errore. Le altre hanno tre, tre, tre e un 1: tutti numeri dispari, quindi nessun errore visibile. Non vuol dire che siano giuste: due errori non si vedono. D: Il codice ASCII di C è 01000011. Che cosa si spedisce con il bit di parità dispari messo a sinistra, come nel libro? + 001000011 - 101000011 - 010000110 - 010000111 - 01000011 = Il byte ha tre 1, già un numero dispari: il bit di parità è 0, e si mette davanti. Si spedisce 001000011. La risposta 101000011 usa la parità pari, perché porta gli 1 a quattro. Le risposte 010000110 e 010000111 mettono il bit in fondo invece che a sinistra. L'ultima dimentica il bit di parità. D: Con il codice del libro (A 000000, B 001111, C 010011, D 011100, E 100110, F 101001, G 110101, H 111010) arriva 101011. Come si decodifica? - A - B - E + F - Non si può decodificare: c'è un errore. = Si sceglie la lettera più vicina. 101011 è diversa da F, cioè 101001, solo nel quinto bit: distanza 1. Tutte le altre lettere sono a distanza 2 o più, quindi F è l'unica più vicina e l'errore si corregge. La risposta «non si può decodificare» sarebbe giusta solo se due lettere fossero alla stessa distanza minima. B ed H sono a distanza 2, A a distanza 4. D: Un codice ha distanza minima 3, come quello del libro. Che cosa può fare? - Correggere 2 errori e rivelarne 3. + Correggere 1 errore e rivelarne 2. - Correggere 3 errori. - Rivelare 1 errore, ma non correggerne nessuno. - Correggere 1 errore, ma non rivelarne 2. = Con un solo bit cambiato la fila resta più vicina alla parola spedita che a ogni altra, perché le parole distano almeno 3: si corregge. Con due bit cambiati non si arriva mai su un'altra parola, quindi ci si accorge dell'errore. Rivelare 1 errore senza correggerlo è il caso della parità, con distanza minima 2. Per correggere 2 errori serve distanza minima almeno 5. D: Quale di queste compressioni è con perdita? - La codifica run-length - I codici di Huffman - LZW + Lo standard di base di JPEG - La codifica relativa con le differenze esatte = Il JPEG di base conserva il colore solo come media su quadratini di 2 × 2 pixel e approssima i dettagli fini dei blocchi di 8 × 8: dopo la decompressione l'immagine è simile, non identica. Le altre quattro tecniche permettono di riottenere esattamente i dati di partenza. D: Quale caratteristica dell'occhio sfrutta lo standard di base di JPEG? - L'occhio non vede i pixel più piccoli di 8 × 8. + L'occhio nota i cambiamenti di luminosità più di quelli di colore. - L'occhio vede solo 256 colori. - L'occhio non nota i fotogrammi che cambiano poco. - L'occhio vede meglio i colori della luminosità. = È la domanda 5 del §1.9. JPEG tiene la luminosità di ogni pixel e solo la media del colore, perché l'occhio è più sensibile alla luminosità. L'ultima risposta dice il contrario. I 256 colori sono di GIF, i fotogrammi di MPEG. I blocchi di 8 × 8 sono un passo del procedimento, non un limite dell'occhio. D: Che cosa sfrutta MP3? - Il fatto che l'orecchio non sente i suoni sopra i 128 000 bit al secondo. + Il mascheramento temporale e il mascheramento in frequenza. - Una tavolozza di 256 suoni. - Il fatto che due canzoni vicine sono quasi uguali. - Il fatto che il CD usa 16 bit per campione. = È la domanda 6 del §1.9. Dopo un suono forte l'orecchio per un attimo non sente quelli deboli (mascheramento temporale), e un suono forte copre quelli deboli con una nota vicina (mascheramento in frequenza). MP3 toglie quei suoni. I bit al secondo misurano il file, non l'orecchio. La tavolozza è un'idea di GIF. Le differenze tra cose vicine sono la codifica relativa di MPEG, che lavora tra fotogrammi, non tra canzoni. D: Un disegno di 200 × 100 pixel viene salvato in GIF. Quanti byte occupano i pixel, senza contare la tavolozza e prima di LZW? - $256$ - $2500$ + $20000$ - $60000$ - $160000$ = In GIF ogni pixel è il numero di un colore della tavolozza, da 0 a 255: un byte. I pixel sono 200 × 100 = 20 000, quindi 20 000 byte. La risposta 60 000 usa 3 byte per pixel, come in RGB. La risposta 160 000 conta i bit. La risposta 2500 divide per 8 invece di moltiplicare. La risposta 256 è il numero massimo di colori. D: Con LZW come nel libro, partendo da x = 1, y = 2, spazio = 3, come si comprime «xx yx xx yx»? - 113213113 + 113213435 - 113213434 - 1121345 - 445566 = La parola xx è nuova: si scrive 1 1, poi lo spazio 3, e xx diventa la voce 4. Anche yx è nuova: 2 1, poi 3, e yx diventa la voce 5. Poi xx è già la 4, poi 3, poi yx è già la 5. Il risultato è 113213435. La prima risposta non usa il dizionario. La terza scrive 4 anche al posto di yx. Le ultime due saltano gli spazi o le parole nuove. D: Con un codice di Huffman, quanti bit occupa la parola BANANA? - $6$ + $9$ - $12$ - $18$ - $48$ = I pesi sono A 3, N 2, B 1. Si uniscono B e N, poi il gruppo con A: viene A = 0, B = 10, N = 11. I bit sono 3 × 1 per le A, 2 × 2 per le N e 1 × 2 per la B: 3 + 4 + 2 = 9. La risposta 12 usa 2 bit per lettera, un codice a lunghezza fissa. La risposta 48 è l'ASCII, un byte per lettera. La risposta 6 darebbe un bit solo a ogni lettera, ma con un bit si distinguono solo due simboli. ``` ## Esercizi ::: esercizio base Domanda 1 del §1.9: le quattro tecniche Elenca le quattro tecniche generiche di compressione descritte dal libro. ::: soluzione 1. La codifica run-length (*run-length encoding*): le ripetizioni diventano «simbolo e quante volte». 2. La codifica in base alla frequenza (*frequency-dependent encoding*): codici corti per i simboli frequenti, come i codici di Huffman. 3. La codifica relativa o differenziale (*relative encoding*): il primo dato e poi le differenze. 4. La codifica a dizionario (*dictionary encoding*): il numero della parola in un elenco, anche adattiva come LZW. È la risposta dell'appendice del libro. ::: ::: esercizio base Domanda 3 del §1.9: GIF e i fumetti Perché per le immagini dei fumetti a colori GIF è meglio di JPEG? ::: soluzione 1. Un fumetto ha zone di colore pieno con bordi netti, e pochi colori in tutto. 2. GIF tiene al massimo 256 colori: per un fumetto bastano, e quindi non perde quasi niente. 3. Le zone di colore pieno danno lunghe ripetizioni dello stesso numero di colore, che LZW comprime molto bene. 4. JPEG, invece, approssima i dettagli fini: proprio i bordi netti vengono un po' sfocati. L'appendice risponde: i fumetti hanno blocchi di colore pieno con bordi netti, e i colori sono pochi. ::: ::: esercizio medio Domanda 4 del §1.9: le foto di una sonda spaziale Progetti una sonda che va su altri pianeti e spedisce fotografie. Per risparmiare memoria e tempo di trasmissione, conviene comprimere le foto in GIF o con lo standard di base di JPEG? ::: soluzione 1. Le foto di una sonda servono agli scienziati, che le studiano fin nei dettagli. 2. GIF riduce i colori a 256: in una foto quelli in più vengono approssimati, quindi è con perdita. 3. Il JPEG di base media il colore e approssima i dettagli fini: anche lui è con perdita. 4. Quindi no: con tutti e due si perdono dettagli. Serve una compressione senza perdita. È la risposta dell'appendice: no, perché GIF e JPEG sono tutti e due con perdita. ::: ::: esercizio base Domande 5 e 6 del §1.9: occhio e orecchio (a) Quale caratteristica dell'occhio sfrutta lo standard di base di JPEG? (b) Quale caratteristica dell'orecchio sfrutta MP3? ::: soluzione (a) L'occhio è meno sensibile ai cambiamenti di colore che a quelli di luminosità. Per questo JPEG riduce i bit del colore, con la media su quadratini di 2 × 2 pixel, senza che la differenza si veda. (b) Il mascheramento temporale e il mascheramento in frequenza. Dopo un suono forte, per un attimo, l'orecchio non sente quelli deboli; e un suono forte copre i suoni deboli con una nota vicina. Sono le risposte dell'appendice. ::: ::: esercizio medio Domanda 7 del §1.9: un fenomeno preoccupante Quale fenomeno preoccupante capita spesso quando si scrivono in bit numeri, immagini e suoni? ::: soluzione 1. Si fanno approssimazioni: un numero con la virgola, un colore, un campione di suono vengono arrotondati per stare nei bit. 2. Con i numeri l'errore cresce a ogni calcolo, e alla fine il risultato può essere sbagliato. 3. Con immagini e suoni di solito non è grave: si conservano, si spediscono e si riproducono, senza farci conti sopra. 4. Ma se un'immagine o un suono si riproduce, si registra e si ricomprime tante volte, le approssimazioni si sommano, e alla fine i dati non valgono più niente. È il senso della risposta dell'appendice. Delle approssimazioni con i numeri si parla anche nella lezione 03, con la virgola mobile. ::: ::: esercizio medio Domanda 2 del §1.9: LZW con il dizionario che cresce Il dizionario iniziale è x = 1, y = 2, spazio = 3. Comprimi con LZW, come nel libro, il messaggio «xyx yxxxy xyx yxxxy yxxxy». ::: soluzione Il messaggio ha cinque parole, separate da quattro spazi. Si legge una parola alla volta. | Leggo | Nel dizionario? | Scrivo | Il dizionario diventa | |---|:-:|:-:|---| | xyx | no | 1 2 1 | aggiungo xyx = 4 | | spazio | sì | 3 | | | yxxxy | no | 2 1 1 1 2 | aggiungo yxxxy = 5 | | spazio | sì | 3 | | | xyx | sì, è il 4 | 4 | | | spazio | sì | 3 | | | yxxxy | sì, è il 5 | 5 | | | spazio | sì | 3 | | | yxxxy | sì, è il 5 | 5 | | 1. Metto in fila i numeri della colonna «Scrivo»: 1 2 1, 3, 2 1 1 1 2, 3, 4, 3, 5, 3, 5. 2. Senza spazi: 121321112343535. Controllo: è proprio la risposta dell'appendice, 121321112343535. Il messaggio aveva 25 simboli, compressi in 15 numeri. Controllo al contrario, come farebbe chi riceve: 1 2 1 è xyx, poi 3 è uno spazio, e xyx diventa la voce 4. Poi 2 1 1 1 2 è yxxxy, poi 3, e yxxxy diventa la 5. Poi 4 3 5 3 5 è xyx, spazio, yxxxy, spazio, yxxxy. Torna il messaggio di partenza. ::: ::: esercizio base Una fila da comprimere con le ripetizioni Scrivi con la codifica run-length la riga di pixel 1111110000001111111111 (1 nero, 0 bianco). Quanti bit risparmi se scrivi ogni numero con 4 bit, più un bit per dire con che colore comincia la riga? ::: soluzione 1. Ci sono sei 1, sei 0 e dieci 1: «6 uni, 6 zeri, 10 uni». Controllo: 6 + 6 + 10 = 22, i pixel della riga. 2. Con 4 bit si arriva a 15, quindi 6 e 10 ci stanno. Con le monete: 6 = 0110, 10 = 1010. 3. I bit sono 1 per il colore iniziale più 3 × 4 per i numeri: 1 + 12 = 13. 4. La riga aveva 22 bit: ne risparmi 22 − 13 = 9. ::: ::: esercizio medio Huffman per TARTARUGA Costruisci un codice di Huffman per la parola TARTARUGA. Quanti bit occupa la parola? E con un codice a lunghezza fissa? ::: soluzione 1. Pesi: A 3, T 2, R 2, U 1, G 1. Le lettere sono 9. 2. Passo 1: i due pesi più piccoli sono U (1) e G (1). Il gruppo UG pesa 2. Restano A 3, T 2, R 2, UG 2. 3. Passo 2: ci sono tre pesi 2. Ne scelgo due, T e R: il gruppo TR pesa 4. Restano A 3, UG 2, TR 4. 4. Passo 3: i più piccoli sono UG (2) e A (3). Il gruppo UGA pesa 5. Restano TR 4, UGA 5. 5. Passo 4: TR (4) e UGA (5), peso 9. Fine. 6. Con 0 a sinistra e 1 a destra: T = 00, R = 01, U = 100, G = 101, A = 11. 7. Bit: A 3 × 2 = 6, T 2 × 2 = 4, R 2 × 2 = 4, U 1 × 3 = 3, G 1 × 3 = 3. In tutto 6 + 4 + 4 + 3 + 3 = 20. 8. Con 5 lettere diverse 2 bit non bastano, perché danno solo 4 possibilità: servono 3 bit, e 9 × 3 = 27. Controllo: TARTARUGA diventa 00 11 01 00 11 01 100 101 11, cioè 20 bit. Se al passo 2 scegli un'altra coppia tra i pesi 2, i codici cambiano ma il totale resta 20. ::: ::: esercizio medio LZW al contrario Con il dizionario iniziale x = 1, y = 2, spazio = 3 e LZW come nel libro, chi riceve legge 2 1 2 3 4 3 1 3 4. Qual era il messaggio? ::: soluzione 1. 2 1 2: y, x, y. 2. 3: uno spazio. La parola yxy è finita, ed è nuova: entra nel dizionario come 4. 3. 4: è yxy. Poi 3: spazio. 4. 1: è x. Poi 3: spazio. La x c'era già, non si aggiunge niente. 5. 4: yxy. Il messaggio era «yxy yxy x yxy». Controllo: comprimendolo di nuovo, come nel «Prova tu» della sezione su LZW, viene 212343134. ::: ::: esercizio base Come la domanda 1 del §1.10: dove c'è un errore Questi gruppi di bit sono stati spediti con la parità dispari. In quali c'è sicuramente un errore? (a) 100101101 (b) 100000001 (c) 000000000 (d) 111000000 (e) 011111111 ::: soluzione Conta gli 1 di ogni gruppo, bit di parità compreso. | Gruppo | Quanti 1 | Pari o dispari | Errore? | |---|:-:|:-:|:-:| | (a) 100101101 | 5 | dispari | non si vede | | (b) 100000001 | 2 | pari | sì | | (c) 000000000 | 0 | pari | sì | | (d) 111000000 | 3 | dispari | non si vede | | (e) 011111111 | 8 | pari | sì | Gli errori sicuri sono in (b), (c) ed (e), come nella risposta dell'appendice. ::: ::: esercizio base Domande 2 e 3 del §1.10: errori invisibili e parità pari (a) Nei gruppi dell'esercizio precedente potrebbero esserci errori di cui non ti accorgi? (b) Come cambiano le risposte se la parità usata è pari invece che dispari? ::: soluzione (a) Sì. Se in un gruppo cambiano due bit, o quattro, o un numero pari qualsiasi, il numero degli 1 torna dispari e il controllo non vede niente. Per esempio (a) e (d) potrebbero avere due errori. (b) Con la parità pari gli 1 devono essere pari. Gli errori sicuri diventano (a), con 5 uni, e (d), con 3 uni. La risposta alla domanda (a) non cambia: un numero pari di errori resta invisibile anche con la parità pari. Sono le risposte dell'appendice. ::: ::: esercizio medio Domanda 4 del §1.10: ASCII con la parità dispari Scrivi in ASCII, con la parità dispari e il bit di parità a sinistra, le due frasi (a) «"Stop!" Cheryl shouted.» e (b) «Does 2 + 3 = 5?». ::: soluzione Per ogni simbolo: il byte ASCII, quanti 1 ha, e il bit di parità che rende dispari il totale. Se gli 1 sono pari il bit è 1, se sono dispari è 0. (a) 23 simboli. | Simbolo | Byte ASCII | Quanti 1 | Bit di parità | I 9 bit | |:-:|:-:|:-:|:-:|:-:| | virgolette | 00100010 | 2 | 1 | 100100010 | | S | 01010011 | 4 | 1 | 101010011 | | t | 01110100 | 4 | 1 | 101110100 | | o | 01101111 | 6 | 1 | 101101111 | | p | 01110000 | 3 | 0 | 001110000 | | ! | 00100001 | 2 | 1 | 100100001 | | virgolette | 00100010 | 2 | 1 | 100100010 | | spazio | 00100000 | 1 | 0 | 000100000 | | C | 01000011 | 3 | 0 | 001000011 | | h | 01101000 | 3 | 0 | 001101000 | | e | 01100101 | 4 | 1 | 101100101 | | r | 01110010 | 4 | 1 | 101110010 | | y | 01111001 | 5 | 0 | 001111001 | | l | 01101100 | 4 | 1 | 101101100 | | spazio | 00100000 | 1 | 0 | 000100000 | | s | 01110011 | 5 | 0 | 001110011 | | h | 01101000 | 3 | 0 | 001101000 | | o | 01101111 | 6 | 1 | 101101111 | | u | 01110101 | 5 | 0 | 001110101 | | t | 01110100 | 4 | 1 | 101110100 | | e | 01100101 | 4 | 1 | 101100101 | | d | 01100100 | 3 | 0 | 001100100 | | . | 00101110 | 4 | 1 | 100101110 | (b) 15 simboli. | Simbolo | Byte ASCII | Quanti 1 | Bit di parità | I 9 bit | |:-:|:-:|:-:|:-:|:-:| | D | 01000100 | 2 | 1 | 101000100 | | o | 01101111 | 6 | 1 | 101101111 | | e | 01100101 | 4 | 1 | 101100101 | | s | 01110011 | 5 | 0 | 001110011 | | spazio | 00100000 | 1 | 0 | 000100000 | | 2 | 00110010 | 3 | 0 | 000110010 | | spazio | 00100000 | 1 | 0 | 000100000 | | + | 00101011 | 4 | 1 | 100101011 | | spazio | 00100000 | 1 | 0 | 000100000 | | 3 | 00110011 | 4 | 1 | 100110011 | | spazio | 00100000 | 1 | 0 | 000100000 | | = | 00111101 | 5 | 0 | 000111101 | | spazio | 00100000 | 1 | 0 | 000100000 | | 5 | 00110101 | 4 | 1 | 100110101 | | ? | 00111111 | 6 | 1 | 100111111 | Controllo: i primi gruppi coincidono con la risposta dell'appendice, 100100010 101010011 101110100 per (a) e 101000100 101101111 101100101 per (b). I byte ASCII sono quelli della domanda 3 del §1.4, nella lezione 02. ::: ::: esercizio medio Un byte di controllo Con la parità dispari, calcola il byte di controllo dei tre byte 01000001, 01000010 e 01000011 (le lettere A, B e C). Poi arriva 01000001 01000110 01000011 con lo stesso byte di controllo: dove si vede l'errore? ::: soluzione 1. Colonna per colonna gli 1 sono: colonna 1 nessuno, colonna 2 tre, colonne 3, 4, 5 e 6 nessuno, colonna 7 due, colonna 8 due. 2. Dove gli 1 sono pari metti 1, dove sono dispari metti 0: 1, 0, 1, 1, 1, 1, 1, 1. Il byte di controllo è 10111111. 3. Nei byte arrivati il secondo è 01000110 invece di 01000010: è cambiato il sesto bit. 4. Nella colonna 6 ora c'è un 1, e con il bit del byte di controllo gli 1 della colonna sono 2: pari. La colonna 6 non torna, quindi c'è un errore in quella colonna. ::: ::: esercizio esame Distanze di Hamming Calcola la distanza di Hamming tra (a) 01011100 e 00101100; (b) 01111100 e 01111110; (c) 10101010 e 01010101; (d) 001111 e 011100. ::: soluzione 1. (a) Diverse nei posti 2, 3 e 4: distanza 3. È la seconda coppia della simulazione d'esame 1 del 2023/24, domanda 1. 2. (b) Diverse solo nel posto 7: distanza 1. È la quarta coppia della stessa domanda. 3. (c) Diverse in tutti gli otto posti: distanza 8. 4. (d) Diverse nei posti 2, 5 e 6: distanza 3. Sono B e D del codice del libro. ::: ::: esercizio medio Domanda 5 del §1.10: decodificare parole intere La domanda 5 chiede di decodificare tre messaggi scritti con il codice del libro, da A a H; secondo l'appendice si leggono BED, CAB e HEAD. Decodifica questi tre messaggi, che hanno qualche bit sbagliato e danno le stesse parole: (a) 001111 100100 001100; (b) 010001 000000 001011; (c) 011010 110110 100000 011100. ::: soluzione Per ogni gruppo di 6 bit cerco la lettera più vicina. 1. (a) 001111 è proprio B. 100100 dista 1 da E (100110). 001100 dista 1 da D (011100). Si legge BED. 2. (b) 010001 dista 1 da C (010011). 000000 è proprio A. 001011 dista 1 da B (001111). Si legge CAB. 3. (c) 011010 dista 1 da H (111010). 110110 dista 1 da E (100110). 100000 dista 1 da A (000000). 011100 è proprio D. Si legge HEAD. In ogni gruppo con un errore la lettera a distanza 1 è una sola: le altre distano almeno 2, perché le parole del codice distano almeno 3 tra loro. ::: ::: esercizio difficile Domanda 6 del §1.10: costruire un codice Costruisci un codice per le lettere A, B, C e D con file di 5 bit, in cui la distanza di Hamming tra due lettere qualsiasi sia almeno 3. ::: soluzione Si sceglie una fila alla volta, controllando la distanza da quelle già scelte. 1. A = 00000. 2. B deve avere almeno tre 1, per distare almeno 3 da A: B = 11100. 3. C: provo 01111. Da A dista 4, da B dista 3 (posti 1, 4 e 5). Va bene. 4. D: provo 10011. Da A dista 3, da B dista 4, da C dista 3 (posti 1, 2 e 3). Va bene. Le sei distanze sono 3, 4, 3, 3, 4, 3: la più piccola è 3. Il codice A = 00000, B = 11100, C = 01111, D = 10011 è la soluzione dell'appendice. Ce ne sono anche altre. ::: ::: esercizio difficile Due errori nel codice del libro Spedisci la lettera A con il codice del libro, e per strada cambiano il primo e il terzo bit. (a) Che cosa arriva? (b) Chi riceve si accorge dell'errore? (c) Che lettera legge? ::: soluzione 1. (a) A è 000000. Cambiando il primo e il terzo bit arriva 101000. 2. (b) Sì: 101000 non è una parola del codice. Due errori non trasformano mai una parola in un'altra, perché le parole distano almeno 3. 3. (c) Le distanze sono: da A 2, da F (101001) 1, dalle altre lettere di più. La più vicina è F, e chi riceve legge F: la correzione sbaglia. Quindi il codice rivela due errori, ma li corregge solo se l'errore è uno. ::: ::: esercizio esame Una foto, tre formati Un disegno di 800 × 600 pixel. Quanti byte occupa (a) in RGB senza compressione; (b) in GIF, contando i pixel e la tavolozza, prima di LZW; (c) in JPEG, se occupa 20 volte meno che in RGB? ::: soluzione 1. (a) I pixel sono 800 × 600 = 480 000. In RGB 3 byte ciascuno: 1 440 000 byte, circa 1,4 MB. 2. (b) In GIF un byte per pixel: 480 000 byte. La tavolozza ha 256 colori da 3 byte: 768 byte. In tutto 480 768 byte, circa un terzo. 3. (c) 1 440 000 : 20 = 72 000 byte, circa 72 KB. Per un disegno conviene comunque GIF: con pochi colori non perde niente, e LZW lo comprime ancora. ::: ## Domande di ripasso ::: domanda Che differenza c'è tra compressione senza perdita e con perdita? Fai un esempio per ciascuna. Senza perdita: dopo la decompressione si riottengono esattamente i dati di prima, come con Huffman o LZW. Serve per testi e programmi. Con perdita: si ottengono dati solo simili, come con JPEG o MP3. Va bene per foto e musica. ::: ::: domanda Quali sono le quattro tecniche generiche del libro, e che cosa sfrutta ognuna? Run-length: le lunghe ripetizioni. Codifica in base alla frequenza: alcuni simboli compaiono più spesso. Codifica relativa: ogni dato somiglia a quello prima. Codifica a dizionario: le stesse parole tornano più volte. ::: ::: domanda Che cos'è un codice prefisso, e perché serve? È un codice in cui nessun codice è l'inizio di un altro. Serve con i codici di lunghezza variabile: si legge da sinistra, e appena riconosci un codice sai che il simbolo è finito, senza pause tra un simbolo e l'altro. ::: ::: domanda Come funziona LZW nella versione del libro? Il dizionario parte dai simboli singoli. Si legge una parola alla volta: se è nel dizionario si scrive il suo numero, se no si scrivono i numeri delle sue lettere e la parola entra nel dizionario. Chi riceve ricostruisce lo stesso dizionario negli stessi momenti. ::: ::: domanda Come comprimono GIF e JPEG? GIF sceglie al massimo 256 colori, li mette in una tavolozza e scrive per ogni pixel un byte con il numero del colore; poi usa LZW. JPEG tiene la luminosità di ogni pixel e solo la media del colore su 2 × 2 pixel, poi approssima i dettagli fini su blocchi di 8 × 8. ::: ::: domanda Che cosa sono il mascheramento temporale e quello in frequenza? Mascheramento temporale: subito dopo un suono forte l'orecchio per un attimo non sente quelli deboli. Mascheramento in frequenza: un suono forte copre i suoni deboli con una nota vicina. MP3 toglie i suoni coperti. ::: ::: domanda Come funziona il bit di parità dispari, e che limiti ha? Si aggiunge un bit perché il numero totale di 1 sia dispari. Chi riceve conta gli 1: se sono pari c'è un errore. Non dice dove, e non vede un numero pari di errori. ::: ::: domanda Perché il codice del libro corregge un errore e ne rivela due? Le sue parole distano almeno 3. Con un errore la fila ricevuta dista 1 dalla parola spedita e almeno 2 da tutte le altre: la più vicina è quella giusta. Con due errori non si arriva mai su un'altra parola, quindi l'errore si vede; ma la più vicina può essere sbagliata. ::: ## Glossario ```glossario Compressione | Scrivere gli stessi dati con meno bit (*data compression*). Senza perdita | Una compressione da cui si riottengono esattamente i dati originali (*lossless*). Con perdita | Una compressione da cui si ottengono dati solo simili agli originali (*lossy*), come JPEG e MP3. Codifica run-length | Al posto di una ripetizione si scrivono il simbolo e quante volte si ripete (*run-length encoding*). Codifica in base alla frequenza | Codici corti per i simboli frequenti e lunghi per quelli rari (*frequency-dependent encoding*). Codice di Huffman | Un codice in base alla frequenza costruito unendo ogni volta i due pesi più piccoli. Codice prefisso | Un codice in cui nessun codice è l'inizio di un altro: si legge senza pause. Codifica relativa | Il primo dato per intero, poi solo le differenze con il dato prima (*relative* o *differential encoding*). Codifica a dizionario | Al posto di una parola si scrive il suo numero in un elenco comune (*dictionary encoding*). LZW | Codifica a dizionario adattiva: il dizionario cresce mentre si comprime (Lempel, Ziv, Welch). GIF | Formato per immagini con una tavolozza di al massimo 256 colori, un byte per pixel, più LZW. Tavolozza | La tabella dei colori di un'immagine GIF (*palette*): ogni pixel dice il numero del suo colore. JPEG | Formato per foto, con perdita: luminosità per ogni pixel, colore come media, blocchi di 8 × 8 pixel. MPEG | Famiglia di formati per i video: alcuni fotogrammi interi, degli altri solo le differenze. MP3 | Formato per la musica, con perdita: toglie i suoni nascosti dal mascheramento temporale e in frequenza. Bit di parità | Il bit aggiunto perché il numero totale di 1 sia dispari (parità dispari) o pari (parità pari). Byte di controllo | Un byte di bit di parità, uno per colonna, spedito dopo un gruppo di byte (*checkbyte*). Distanza di Hamming | Il numero di posizioni in cui due file di bit della stessa lunghezza sono diverse. Distanza minima | La distanza di Hamming più piccola tra due parole di un codice: nel codice del libro è 3. Codice correttore | Un codice le cui parole sono lontane tra loro, così un errore si corregge scegliendo la parola più vicina (*error-correcting code*). ``` ## Checklist ```checklist - So dire la differenza tra compressione senza perdita e con perdita, con un esempio per tipo. - So comprimere una fila di bit con la codifica run-length e un elenco di numeri con la codifica relativa. - So costruire un codice di Huffman con l'albero e contare i bit di una parola. - So comprimere e decomprimere un messaggio con LZW come nel libro, con la tabella del dizionario. - So spiegare come comprimono GIF, JPEG, MPEG e MP3, e quali sono con perdita. - So aggiungere il bit di parità dispari a un byte e dire se un gruppo ricevuto ha sicuramente un errore. - So calcolare la distanza di Hamming e decodificare con il codice del libro, da A a H. - So spiegare perché un codice con distanza minima 3 corregge un errore e ne rivela due. ``` ## Fonti - R. Johnsonbaugh, J. G. Brookshear, D. Brylow, *Fondamenti dell'Informatica*, Pearson 2026 (ISBN 9788891939456), il libro di testo del corso: parte 1, che è il capitolo 1 di J. G. Brookshear, D. Brylow, *Computer Science: an overview*. Sezione 1.9 «Data Compression»: tecniche generiche (run-length, in base alla frequenza, relativa, a dizionario e LZW), immagini (GIF, JPEG, TIFF), audio e video (MPEG, MP3). Sezione 1.10 «Communication Errors»: bit di parità, byte di controllo, somme di controllo e CRC, codici che correggono gli errori, distanza di Hamming, il codice a 6 bit per le lettere da A a H. Risposte alle domande delle due sezioni nell'appendice del libro, pubblicate sul Moodle del canale A. - Diario del canale B 2026/27 (Moodle del canale B): «Lezione 05. Giovedì 08 Ottobre ore 09-11. (Part 1, § 1.10 Communication Errors) Data Compression LZW, JPEG, MPEG, GIF. Communication Errors, parity bit e bytes, error-correcting codes, distanza di Hamming». - Simulazione d'esame 1 del 2023/24 (pagina d'esame comune su Moodle Esami), domanda 1 sulla distanza di Hamming, letta nella copia svolta a mano da uno studente pubblicata dalla guida degli studenti TSI (CC BY-SA 4.0); le risposte sono ricontrollate qui. - Lucidi del canale A 2026/27, «Cenni sulla codifica dei dati» (F. Cardone, Moodle del canale A, aperto agli ospiti): il codice Morse come esempio di codice. - Le spiegazioni a parole, gli esempi, i riquadri «Prova tu», gli strumenti interattivi, i quiz e gli esercizi senza il numero del libro sono di questi appunti. Tutti i conti (codici di Huffman, LZW, parità, byte di controllo, distanze e decodifiche con il codice del libro) sono stati ricontrollati con un programma. --- > File: `contesto_ai/FDA/lezioni/05_esercizi_circuiti_rappresentazioni.md` ```yaml corso: FDA lezione: "05" data: 2026-10-09 titolo: Esercizi sulla parte 1, circuiti e rappresentazioni binarie docenti: Stefano Berardi sopratitolo: Canale B · Lezione 05 · Libro, parte 1, §1.1–1.7 e §1.9–1.10 (esercizi) descrizione: >- Appunti della lezione 05 di Fondamenti dell'Informatica (canale B), la lezione di esercizi che chiude la parte 1 del libro: circuiti e porte logiche, flip-flop, esadecimale, memoria, ASCII e UTF-8, immagini e suoni, conversioni tra base 2 e base 10, somme e overflow, complemento a 2 e notazione in eccesso, virgola mobile a 8 bit, compressione, bit di parità e codice di Hamming. Per ogni argomento il metodo, esercizi svolti dal facile al tipo esame, le domande delle simulazioni d'esame 2023/24 risolte e un quiz finale. lede: >- La parte 1 del libro finisce qui. Per ogni argomento trovi il procedimento in poche righe, esercizi svolti passo per passo dal più facile a quello da esame, e tutte le domande delle simulazioni del 2023/24 che riguardano questa parte. In fondo, come gestire i 45 minuti dei quiz e un quiz lungo per allenarti. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 1 (Brookshear, cap. 1), §1.1–1.7 e §1.9–1.10 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 4–5 ore, anche in più volte fonte: >- Libro di testo del corso, parte 1 (J. G. Brookshear, D. Brylow, Computer Science: an overview, cap. 1), domande delle sezioni 1.1–1.7 e 1.9–1.10 con le risposte dell'appendice pubblicata sul Moodle del canale A; simulazioni d'esame 2023/24 della pagina d'esame comune; diario del canale B; lezioni 01–04 di questi appunti appunti_html: appunti/FDA/05_esercizi_circuiti_rappresentazioni.html genera_html: true ``` ## In breve - È una lezione di **esercizi**: niente argomenti nuovi. Ripassa tutta la parte 1 del libro, dalle porte logiche agli errori di comunicazione. - Ogni sezione comincia con un riquadro **Metodo**: il procedimento in poche righe e il link alla lezione dove è spiegato. Poi vengono esercizi svolti, dal più facile a quello da esame. - Ci sono tutte le domande delle **simulazioni d'esame del 2023/24** che riguardano la parte 1, risolte e spiegate: circuiti, flip-flop, complemento a 2, virgola mobile, distanza di Hamming. - Il trucco che vale ovunque: **ogni risultato si controlla al contrario**. Riconverti il numero, rileggi il byte, rifai la tabella. - L'ultima sezione dice come usare i 45 minuti dei 9 quiz: circa 5 minuti a domanda, i controlli veloci e gli errori più frequenti. - All'esame la parte 1 torna soprattutto con conversioni, complemento a 2, virgola mobile, circuiti e distanza di Hamming. > [!CANALI] > Nel canale B è la lezione di venerdì 09/10, dalle 11 alle 13. Per il docente è la lezione 6, perché la prima è stata un'introduzione: qui è la 05. Il diario del canale B la annuncia così: «(Fine Parte 1) Esercizi sulle lezioni 01-05: Circuiti e Rappresentazioni binarie». Le lezioni 01–05 del docente sono la sua introduzione e le lezioni [01](01_bit_porte_esadecimale.html), [02](02_testo_colori_suoni_binario.html), [03](03_interi_con_segno_virgola_mobile.html) e [04](04_compressione_errori_comunicazione.html) di questi appunti. Ho scritto questa pagina prima della lezione: gli esercizi sono le domande del libro, con le risposte dell'appendice, le domande delle simulazioni d'esame e altri miei, non quelli che il docente farà in aula. La sezione 1.8 del libro, su Python, è fuori dal programma del canale B e qui non c'è. Nel canale A gli stessi argomenti sono nei lucidi di Felice Cardone sul Moodle del canale A (id 3851, aperto agli ospiti), dove c'è anche l'appendice con le risposte alle domande del capitolo 1. Nel canale C le stesse sezioni sono nei lucidi del docente. ## Circuiti: porte e tabelle (libro, §1.1) Un quiz sui circuiti ti mostra un disegno di porte, oppure una tabella di 0 e 1, e ti chiede che cosa calcola. Si risolve sempre allo stesso modo: si provano tutte le combinazioni degli ingressi, una riga alla volta. > [!METODO] Leggere un circuito (lezione 01) > 1. Scrivi tutte le combinazioni degli ingressi, in ordine: con 2 ingressi sono 4 righe, con 3 ingressi sono 8. > 2. Aggiungi una colonna per ogni porta, partendo da quelle attaccate agli ingressi. > 3. Riempi le colonne con le tabelle delle porte: AND dà 1 solo se tutti e due gli ingressi sono 1; OR se almeno uno è 1; XOR se sono diversi; NOT scambia 0 e 1. > 4. L'ultima colonna è l'uscita. Descrivila a parole. > > Tutto è spiegato nella [lezione 01](01_bit_porte_esadecimale.html). > [!RIPASSO] Quante righe ha la tabella > Ogni ingresso in più raddoppia le righe. $2^3$ si legge «due alla terza» e vuol dire $2 \cdot 2 \cdot 2 = 8$: con 3 ingressi le righe sono 8. Con 4 ingressi sono $2^4 = 16$. ### Come si scrivono le porte nei quiz Nei quiz le porte non sono sempre scritte con le parole AND, OR e NOT. Spesso si usano i segni dell'algebra di Boole, che il libro riprende nella parte 2. Ecco come leggerli. | Nel quiz trovi | Si legge | È la porta | |---|---|---| | A·B, oppure AB, oppure A ∧ B | «A e B» | AND | | A + B, oppure A ∨ B | «A o B» | OR | | $\overline{A}$, oppure ¬A, oppure A' | «non A» | NOT | Attenzione al segno +: qui non è la somma. Vuol dire OR, quindi 1 + 1 fa 1. Anche le lettere T e F, o V e F, sono solo un altro modo di scrivere 1 e 0: vero e falso. Come nei conti di scuola, dove la moltiplicazione si fa prima della somma, qui l'AND si fa prima dell'OR. Quindi A·B + C vuol dire (A AND B) OR C. Il NOT vale solo per la lettera che ha sotto la barra, o subito dopo il segno ¬. Se la barra o il ¬ coprono una parentesi, valgono per tutto quello che c'è dentro. > [!ESEMPIO] Facile: XOR costruito con AND, OR e NOT > Calcola la tabella di $A \cdot \overline{B} + \overline{A} \cdot B$, cioè (A AND NOT B) OR (NOT A AND B). > > | A | B | A AND NOT B | NOT A AND B | uscita | > |:-:|:-:|:-:|:-:|:-:| > | 0 | 0 | 0 | 0 | 0 | > | 0 | 1 | 0 | 1 | 1 | > | 1 | 0 | 1 | 0 | 1 | > | 1 | 1 | 0 | 0 | 0 | > > L'uscita vale 1 quando i due ingressi sono diversi: è proprio la tabella dello XOR. Lo stesso calcolo si può fare con porte diverse. ### Dal circuito alla formula: una domanda vera > [!ESEMPIO] Tipo esame: Simulazione d'esame 1, 2023/24, domanda 6 > Il circuito ha tre ingressi A, B e C. C passa da una porta NOT. Una porta AND riceve A e NOT C; un'altra AND riceve NOT C e B. Le due uscite entrano in una porta OR, che dà l'uscita Y. Il quiz chiede quali affermazioni sono corrette: > > - a. il circuito è combinatorio; > - b. «(¬C∨A)∧(¬C∨B)» descrive la funzione calcolata; > - c. «¬((C∨¬A)∧(C∨¬B))» descrive la funzione calcolata; > - d. il circuito è sequenziale; > - e. «(¬C∧A)∨(¬C∧B)» descrive la funzione calcolata. > > **1. La tabella del circuito.** Y vale 1 se almeno una delle due AND dà 1. Tutte e due hanno bisogno di NOT C = 1, cioè di C = 0. Poi serve A = 1 oppure B = 1. > > | A | B | C | Y | formula b | formula c | formula e | > |:-:|:-:|:-:|:-:|:-:|:-:|:-:| > | 0 | 0 | 0 | 0 | **1** | 0 | 0 | > | 0 | 0 | 1 | 0 | 0 | 0 | 0 | > | 0 | 1 | 0 | 1 | 1 | 1 | 1 | > | 0 | 1 | 1 | 0 | 0 | 0 | 0 | > | 1 | 0 | 0 | 1 | 1 | 1 | 1 | > | 1 | 0 | 1 | 0 | 0 | 0 | 0 | > | 1 | 1 | 0 | 1 | 1 | 1 | 1 | > | 1 | 1 | 1 | 0 | **1** | 0 | 0 | > > **2. Le formule.** La formula e è il circuito scritto pari pari: (NOT C AND A) OR (NOT C AND B). La formula c sembra diversa, ma riga per riga dà gli stessi valori di Y. Prova una riga, A = 1, B = 0, C = 0: C OR NOT A fa 0 OR 0 = 0; C OR NOT B fa 0 OR 1 = 1; l'AND tra i due fa 0; il NOT davanti alla parentesi dà 1, proprio come Y. La formula b invece sbaglia in due righe: con A, B e C tutti a 0 dà 1, mentre il circuito dà 0. > > **3. Combinatorio o sequenziale.** Nessun filo torna indietro: l'uscita dipende solo dagli ingressi di quel momento. Il circuito è **combinatorio**, non sequenziale. > > Le affermazioni corrette sono a, c ed e. > [!IDEA] > Per dire che una formula è **sbagliata** basta una riga in cui dà un valore diverso dal circuito. Per dire che è **giusta** bisogna controllare tutte le righe. ### Dalla tabella alla formula Il quiz al contrario: ti dà la tabella e ti chiede la formula. C'è un metodo che funziona sempre, con gruppetti di AND uniti da OR. > [!METODO] Una formula per una tabella > 1. Guarda le righe in cui l'uscita vale 1. > 2. Per ogni riga scrivi un AND di tutti gli ingressi: l'ingresso così com'è se nella riga vale 1, con il NOT se vale 0. Questo AND vale 1 solo in quella riga. > 3. Unisci tutti gli AND con degli OR. > [!ESEMPIO] Tipo esame: Simulazione d'esame 1, 2023/24, domanda 5 > Il quiz dà questa tabella, propone tre formule e chiede quali la descrivono. Gli ingressi si chiamano x1, x2 e x3: il numerino fa parte del nome. Nelle formule si scrivono $x_1$, $x_2$, $x_3$. > > | x1 | x2 | x3 | y | > |:-:|:-:|:-:|:-:| > | 0 | 0 | 0 | 0 | > | 0 | 0 | 1 | 0 | > | 0 | 1 | 0 | 1 | > | 0 | 1 | 1 | 1 | > | 1 | 0 | 0 | 0 | > | 1 | 0 | 1 | 1 | > | 1 | 1 | 0 | 1 | > | 1 | 1 | 1 | 0 | > > **1. Le righe con y = 1** sono quattro: 010, 011, 101 e 110. > > **2. Un AND per riga.** La riga 010 dà NOT x1 AND x2 AND NOT x3. Le altre allo stesso modo: > > $$\overline{x_1}\,x_2\,\overline{x_3} + \overline{x_1}\,x_2\,x_3 + x_1\,\overline{x_2}\,x_3 + x_1\,x_2\,\overline{x_3}$$ > > È la terza formula del quiz: giusta. > > **3. La prima formula del quiz** è $\overline{x_1}\,x_2 + x_1\,\overline{x_2}\,x_3 + x_1\,x_2\,\overline{x_3}$. Il primo pezzo, NOT x1 AND x2, vale 1 nelle righe 010 e 011, cioè quando x1 = 0 e x2 = 1, qualunque sia x3. Fa il lavoro dei primi due gruppetti insieme. Anche questa formula è giusta. > > **4. La seconda formula**, nella schermata poco leggibile, ripete due volte lo stesso gruppetto e non ne ha nessuno per la riga 110. In quella riga dà 0 invece di 1: è sbagliata. ::: prova Calcola l'uscita di A·B + $\overline{C}$ nelle righe (a) A = 1, B = 0, C = 0 e (b) A = 0, B = 1, C = 1. (a) A AND B fa 0. NOT C fa 1. 0 OR 1 fa 1: l'uscita è 1. (b) A AND B fa 0. NOT C fa 0. 0 OR 0 fa 0: l'uscita è 0. ::: > [!RICORDA] > - Un circuito si legge con la tabella di tutte le combinazioni degli ingressi: 8 righe con 3 ingressi. > - Nei quiz · è AND, + è OR, la barra o ¬ è NOT. L'AND si fa prima dell'OR. > - Per scartare una formula basta una riga sbagliata. Per accettarla servono tutte le righe. > - Dalla tabella alla formula: un AND per ogni riga con uscita 1, poi tutti uniti con OR. ## Circuiti che ricordano: il flip-flop (libro, §1.1) Nei circuiti della sezione precedente nessun filo torna indietro. Quando un'uscita rientra in una porta, il circuito può **ricordare**: la sua uscita dipende anche da quello che è successo prima. > [!METODO] Seguire un circuito con un filo che torna indietro (lezione 01) > 1. Parti dal valore che l'uscita aveva prima. > 2. Calcola le porte, a partire da quelle che ricevono gli ingressi. > 3. Se l'uscita cambia, ricalcola le porte con il valore nuovo. Continua finché niente cambia più: il circuito si è **stabilizzato**. > 4. Se partendo da uscita 0 resta 0, e partendo da 1 resta 1, il circuito **ricorda** il valore di prima. > > Un **impulso** è un ingresso che passa per un attimo a 1 e poi torna a 0, come un pulsante premuto e lasciato. > > Un circuito con un filo che torna indietro si chiama **sequenziale**. Uno senza si chiama **combinatorio**. Il flip-flop del libro è nella [lezione 01](01_bit_porte_esadecimale.html). > [!ESEMPIO] Facile: il flip-flop del libro (figura 1.3) > L'ingresso in alto entra in un OR; l'ingresso in basso passa da un NOT; un AND riceve l'OR e il NOT; l'uscita dell'AND torna nell'OR. L'uscita vale 1 e arriva un impulso in basso. > > 1. Il NOT riceve 1 e dà 0. > 2. L'AND riceve uno 0: dà 0. L'uscita diventa 0. > 3. Ora l'OR riceve 0 dall'ingresso in alto e 0 dall'uscita: dà 0. > 4. Finito l'impulso, il NOT torna a dare 1, ma l'OR dà 0: l'AND resta a 0. > > L'uscita è 0 e ci resta. È la risposta del libro alla domanda 2 del §1.1, che spiega lo stesso giro. Prova gli impulsi nello strumento, come nella lezione 01. ```widget porte titolo: Il flip-flop del libro: un impulso in alto, uno in basso modo: flipflop ``` ### Una porta nuova: NAND Il quiz che segue usa coppie di porte AND seguite da NOT. Un AND seguito da un NOT si chiama **NAND**, da *not and*. Dà il contrario dell'AND: 0 solo quando tutti e due gli ingressi sono 1. | A | B | A AND B | A NAND B | |:-:|:-:|:-:|:-:| | 0 | 0 | 0 | 1 | | 0 | 1 | 0 | 1 | | 1 | 0 | 0 | 1 | | 1 | 1 | 1 | 0 | Il trucco per i conti veloci: se un ingresso di un NAND è 0, l'uscita è 1, qualunque sia l'altro. > [!ESEMPIO] Tipo esame: Simulazione d'esame 2, 2023/24, domanda 3 > Il circuito ha un ingresso in alto e uno in basso, e due NAND. Il NAND in alto riceve l'ingresso in alto e l'uscita del NAND in basso. Il NAND in basso riceve l'ingresso in basso e l'uscita del NAND in alto. L'uscita del NAND in alto è y. Chiamo z l'uscita di quello in basso. > > **È combinatorio?** No: le uscite tornano indietro, una nell'altra porta. È **sequenziale**. > > **In alto 1, in basso 0.** > 1. Il NAND in basso riceve uno 0: dà z = 1, qualunque sia y. > 2. Il NAND in alto riceve 1 e 1: dà y = 0. > 3. Controllo: il NAND in basso riceve 0 e 0, e dà ancora 1. Niente cambia. L'uscita si stabilizza su **0**. > > **In alto 0, in basso 1.** > 1. Il NAND in alto riceve uno 0: dà y = 1. > 2. Il NAND in basso riceve 1 e 1: dà z = 0. > 3. Il NAND in alto riceve 0 e 0, e dà ancora 1. L'uscita si stabilizza su **1**. > > **In alto 1, in basso 1.** Ora ogni NAND riceve un 1 fisso, quindi dà il contrario dell'altra uscita. Prova i due casi. > - Se prima y era 0: z = 1, e il NAND in alto riceve 1 e 1, quindi y resta 0. > - Se prima y era 1: z = 0, e il NAND in alto riceve un 0, quindi y resta 1. > > L'uscita **resta quella di prima**: il circuito ricorda un bit, come il flip-flop del libro. > > Attenzione: le note a mano che girano con questa simulazione dicono il contrario per i primi due casi. I conti qui sopra danno y = 0 con «alto 1, basso 0» e y = 1 con «alto 0, basso 1». Rifai sempre i conti da solo. ::: prova Nel circuito con i due NAND metti tutti e due gli ingressi a 0. Quanto valgono y e z? Il NAND in alto riceve uno 0, quindi y = 1. Anche il NAND in basso riceve uno 0, quindi z = 1. Tutte e due le uscite valgono 1, qualunque fosse il valore di prima. ::: > [!RICORDA] > - Combinatorio: nessun filo torna indietro, l'uscita dipende solo dagli ingressi. Sequenziale: un'uscita rientra, e il circuito può ricordare. > - Per un circuito sequenziale parti dal valore di prima e ricalcola finché niente cambia. > - NAND è AND seguito da NOT: un ingresso a 0 basta per dare 1. ## L'esadecimale (libro, §1.1) Le file lunghe di bit si leggono male. Nei quiz e nei programmi si scrivono in esadecimale: una cifra ogni quattro bit. > [!METODO] Bit ed esadecimale (lezione 01) > - **Dai bit all'esadecimale**: dividi in gruppi di 4 bit partendo da destra, aggiungi zeri a sinistra al primo gruppo se servono, e scrivi la cifra di ogni gruppo. > - **Dall'esadecimale ai bit**: ogni cifra diventa 4 bit, zeri compresi. > - **La cifra di un gruppo**: somma le monete 8, 4, 2 e 1 dove c'è un 1. Da 10 a 15 si usano le lettere: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. > > Spiegazione completa nella [lezione 01](01_bit_porte_esadecimale.html); le monete della base 2 nella [lezione 02](02_testo_colori_suoni_binario.html). > [!ESEMPIO] Facile: domanda 5 del §1.1 > Scrivi in esadecimale (a) 0110101011110010, (b) 111010000101010100010111, (c) 01001000. > > 1. (a) Gruppi 0110, 1010, 1111, 0010: cioè 6, A, F, 2. Risultato 6AF2. > 2. (b) Gruppi 1110, 1000, 0101, 0101, 0001, 0111: cioè E, 8, 5, 5, 1, 7. Risultato E85517. > 3. (c) Gruppi 0100 e 1000: 48. > > Sono le risposte del libro. > [!ESEMPIO] Medio: domanda 6 del §1.1, al contrario > Scrivi in bit (a) 5FD97, (b) 610A, (c) ABCD, (d) 0100. > > 1. (a) 0101 1111 1101 1001 0111. > 2. (b) 0110 0001 0000 1010. > 3. (c) 1010 1011 1100 1101. > 4. (d) 0000 0001 0000 0000: anche gli 0 diventano quattro bit. > > L'appendice stampa la (c) come «101010 1111001101», con uno spazio nel posto sbagliato: sono gli stessi 16 bit. ### Dall'esadecimale alla base 10 Un byte in esadecimale ha due cifre. Per il suo valore in base 10 hai due strade. - **Con le monete.** B5 è 1011 0101. Le monete sono 128, 32, 16, 4 e 1: in tutto 181. - **Con il 16.** La cifra di sinistra conta i gruppi da 16. Le sue monete, 128, 64, 32 e 16, sono infatti 16 volte le monete 8, 4, 2 e 1. B vale 11, quindi B5 = 11 · 16 + 5 = 176 + 5 = 181. > [!ESEMPIO] Tipo esame: un colore > Un pixel ha il colore #3CA7FF. È il modo di scrivere i colori delle pagine web, visto nella lezione 02: dopo il cancelletto, due cifre esadecimali per il rosso, due per il verde e due per il blu. Quanto valgono i tre colori, da 0 a 255? > > 1. Rosso 3C: 3 · 16 + 12 = 48 + 12 = 60. > 2. Verde A7: 10 · 16 + 7 = 160 + 7 = 167. Controllo con i bit: 1010 0111, monete 128, 32, 4, 2 e 1, in tutto 167. > 3. Blu FF: 15 · 16 + 15 = 255, il massimo. > > Il colore è (60, 167, 255), un azzurro: tanto blu, abbastanza verde, poco rosso. ::: prova (a) Scrivi in esadecimale 11100001. (b) Quanto vale E1 in base 10? (a) I gruppi sono 1110 e 0001: E1. (b) E vale 14: 14 · 16 + 1 = 224 + 1 = 225. Controllo con le monete: 11100001 ha 128, 64, 32 e 1, cioè 225. ::: > [!RICORDA] > - Una cifra esadecimale vale 4 bit. I gruppi si fanno da destra. > - Ogni cifra torna a 4 bit, zeri compresi: 0100 in esadecimale sono 16 bit. > - Due cifre esadecimali: la sinistra vale 16 volte di più. B5 = 11 · 16 + 5 = 181. ## Memoria e capacità (libro, §1.2–1.3) Le domande sulla memoria sono conti con le potenze di 2: quanti byte, quanti bit, quanti indirizzi. > [!METODO] I conti sulla memoria (lezione 01) > 1. 1 KB = 1024 byte, 1 MB = 1024 KB, 1 GB = 1024 MB. Per i bit moltiplica per 8. > 2. Con indirizzi di $n$ bit si numerano $2^n$ celle. Al contrario: per un certo numero di celle servono tanti bit quanto l'esponente della prima potenza di 2 che basta. > 3. Un disco: il **ritardo di rotazione** è l'attesa perché il settore giusto arrivi sotto la testina. In media è mezzo giro. > > Tutto è nella [lezione 01](01_bit_porte_esadecimale.html). > [!RIPASSO] Tre potenze da sapere > $2^{10} = 1024$, cioè 1 KB. $2^{16} = 65536$, cioè 64 KB. $2^{20} = 1048576$, cioè 1 MB. Moltiplicare due potenze di 2 vuol dire sommare gli esponenti: $2^{10} \cdot 2^{10} = 2^{20}$. > [!ESEMPIO] Facile: domanda 3 del §1.2 > Quanti bit ci sono in una memoria di 4 KB? > > 1. 4 KB = 4 · 1024 = 4096 byte. > 2. 4096 · 8 = 32768 bit. > > È la risposta del libro. > [!ESEMPIO] Medio: quanti bit per gli indirizzi > Una memoria ha 64 KB, con celle di un byte. Quanti bit servono per scrivere l'indirizzo di una cella? > > 1. Le celle sono 64 · 1024 = 65536. > 2. 65536 è $2^{16}$. Con 16 bit gli indirizzi vanno da 0 a 65535: uno per cella. > 3. Con 15 bit si arriverebbe solo a $2^{15} = 32768$ celle: non bastano. > > Servono 16 bit. > [!ESEMPIO] Medio: domanda 2 del §1.2, scambiare due celle > Per scambiare il contenuto delle celle 2 e 3, una persona copia la cella 2 nella 3 e poi la 3 nella 2. Che cosa succede? > > 1. La prima copia scrive nella cella 3 il valore della 2: il valore vecchio della 3 si perde. > 2. La seconda copia rimette nella 2 lo stesso valore che aveva già. > 3. Alla fine tutte e due le celle hanno il valore che era nella 2. È la risposta del libro. > > Il modo giusto, come nel libro, usa una terza cella come appoggio: copia la 2 nella 1, poi la 3 nella 2, poi la 1 nella 3. > [!ESEMPIO] Tipo esame: un disco > Un disco fa 5400 giri al minuto. Quanto vale in media il ritardo di rotazione? > > 1. 5400 giri al minuto sono 5400 : 60 = 90 giri al secondo. > 2. Un giro dura 1/90 di secondo, circa 11,1 millesimi di secondo. > 3. In media si aspetta mezzo giro: circa 5,6 millesimi di secondo. ::: prova (a) Quanti byte sono 3 KB? (b) Con indirizzi di 20 bit, quante celle si numerano? (a) 3 · 1024 = 3072 byte. (b) $2^{20} = 1048576$ celle: con celle di un byte, 1 MB. ::: > [!RICORDA] > - 1 KB = 1024 byte = $2^{10}$ byte. Per i bit si moltiplica per 8. > - Con $n$ bit di indirizzo si numerano $2^n$ celle. > - Per scambiare due celle serve una terza cella di appoggio. ## Il testo: ASCII e UTF-8 (libro, §1.4) Le domande sul testo chiedono di leggere o scrivere lettere in bit, e di contare i byte di un testo. > [!METODO] Testo in bit (lezione 02) > - **ASCII**: maiuscola = 64 più il posto della lettera nell'alfabeto inglese; minuscola = 96 più il posto; cifra = 48 più la cifra; spazio = 32. Un byte per simbolo. > - Una maiuscola e la sua minuscola differiscono di 32: un solo bit, quello che vale 32. > - **UTF-8**: 1 byte per i simboli di ASCII, 2 per le lettere accentate come è e à, 3 per €, 4 per le emoji. > > Tutto è nella [lezione 02](02_testo_colori_suoni_binario.html). > [!ESEMPIO] Facile: leggere un messaggio > Che cosa dicono i byte 01000011 01101001 01100001 01101111? > > 1. 01000011: monete 64, 2 e 1, cioè 67 = 64 + 3. La terza maiuscola: C. > 2. 01101001: 64 + 32 + 8 + 1 = 105 = 96 + 9. La nona minuscola: i. > 3. 01100001: 97 = 96 + 1: a. > 4. 01101111: 64 + 32 + 8 + 4 + 2 + 1 = 111 = 96 + 15: o. > > Il messaggio è «Ciao». Trucco: i byte delle maiuscole cominciano con 010, quelli delle minuscole con 011. > [!ESEMPIO] Medio: domanda 7 del §1.4 > Qual è il numero più grande che si scrive con tre byte, una cifra ASCII per byte? E con gli stessi 24 bit in base 2? > > 1. In ASCII ogni byte è una cifra: il massimo è 999. > 2. In base 2, 24 bit arrivano a $2^{24} - 1 = 16777215$. > > È la risposta del libro, e il motivo per cui i numeri si conservano in base 2. > [!ESEMPIO] Tipo esame: contare i byte in UTF-8 > Quanti byte occupa in UTF-8 il testo «città: 1€», spazio compreso? > > 1. I simboli sono 9: c, i, t, t, à, due punti, spazio, 1, €. > 2. c, i, t, t, i due punti, lo spazio e l'1 sono di ASCII: 7 byte. > 3. La à occupa 2 byte, l'euro 3. > 4. In tutto 7 + 2 + 3 = 12 byte. > > La risposta trappola è 9: un byte per simbolo. ::: prova (a) Il codice di H è 72. Qual è quello di h? (b) Quanti byte occupa in UTF-8 «Perché no?» (a) La minuscola vale 32 in più: 72 + 32 = 104. (b) I simboli sono 10. La é occupa 2 byte, gli altri 9 uno ciascuno: 9 + 2 = 11 byte. ::: > [!RICORDA] > - ASCII: maiuscole da 65, minuscole da 97, cifre da 48, spazio 32. Maiuscola e minuscola differiscono di 32. > - UTF-8: 1 byte per ASCII, 2 per le lettere accentate, 3 per €, 4 per le emoji. > - Contare i simboli non basta: conta quanti byte occupa ognuno. ## Immagini e suoni (libro, §1.4) Le domande su immagini e suoni sono moltiplicazioni. L'errore tipico è dimenticare un fattore, o confondere bit e byte. > [!METODO] Quanto occupano (lezione 02) > - **Immagine** senza compressione: larghezza × altezza × byte per pixel. In RGB i byte per pixel sono 3. > - **Suono**: campioni al secondo × byte per campione × canali × secondi. Un campione è una misura dell'onda. Mono = 1 canale, stereo = 2. > - **Colori possibili** con $b$ bit per pixel: $2^b$. > > Spiegazione nella [lezione 02](02_testo_colori_suoni_binario.html). > [!ESEMPIO] Facile: una telefonata > Un minuto di telefonata: 8000 campioni al secondo, 8 bit per campione, mono. > > 1. 8 bit sono 1 byte. > 2. In un secondo: 8000 · 1 · 1 = 8000 byte. > 3. In un minuto: 8000 · 60 = 480000 byte. > [!ESEMPIO] Medio: uno schermo > Un'immagine di 1024 × 768 pixel in RGB, senza compressione. Quanti byte? Quanti MB, con 1 MB = 1048576 byte? > > 1. I pixel sono 1024 · 768 = 786432. > 2. Ognuno occupa 3 byte: 786432 · 3 = 2359296 byte. > 3. In MB: 2359296 : 1048576 = 2,25 MB. > [!ESEMPIO] Tipo esame: una canzone > Una canzone di 3 minuti con la qualità dei CD: 44 100 campioni al secondo, 16 bit per campione, stereo. Quanti byte? > > 1. 16 bit sono 2 byte. Stereo vuol dire 2 canali. > 2. In un secondo: 44100 · 2 · 2 = 176400 byte. > 3. 3 minuti sono 180 secondi: 176400 · 180 = 31752000 byte, circa 30 MB. > > Le risposte trappola: 15876000 (mono, un canale solo) e 254016000 (i bit al posto dei byte). ::: prova (a) Con 2 byte per pixel, quanti colori diversi si scrivono? (b) Quanti byte occupa un'immagine di 640 × 480 pixel in RGB? (a) 2 byte sono 16 bit: $2^{16} = 65536$ colori. (b) 640 · 480 = 307200 pixel, per 3 byte: 921600 byte. ::: > [!RICORDA] > - Immagine: larghezza × altezza × 3 byte in RGB. > - Suono: campioni al secondo × byte per campione × canali × secondi. > - Prima di moltiplicare, scrivi i quattro fattori. Lo stereo ha 2 canali; 16 bit sono 2 byte. ## Base 2 e base 10, anche con la virgola (libro, §1.5) Le conversioni servono in quasi tutti i quiz della parte 1: nel complemento a 2, nella virgola mobile, nell'esadecimale. Devono diventare automatiche. > [!METODO] Le conversioni (lezione 02) > - **Da base 2 a base 10**: ogni bit è una moneta. Da destra valgono 1, 2, 4, 8, 16…; dopo la virgola 1/2, 1/4, 1/8, 1/16. Somma le monete sotto gli 1. > - **Da base 10 a base 2**: paga con le monete partendo dalla più grande, oppure dividi per 2 finché il risultato è 0 e leggi i resti dall'ultimo al primo. > - **La parte dopo la virgola**: scrivila come somma di mezzi, quarti, ottavi; oppure raddoppiala più volte, e ogni volta la cifra prima della virgola è il bit successivo. > > Le monete, le divisioni e il raddoppio sono nella [lezione 02](02_testo_colori_suoni_binario.html). > [!ESEMPIO] Facile: un byte e un numero > (a) Quanto vale 10110110? (b) Scrivi 100 in base 2. > > 1. (a) Le monete sono 128, 32, 16, 4 e 2: 128 + 32 + 16 + 4 + 2 = 182. > 2. (b) 64 ci sta, restano 36. 32 ci sta, restano 4. 16 e 8 no. 4 ci sta, resta 0. 2 e 1 no. > 3. Monete 64, 32 e 4: 1100100. Controllo: 64 + 32 + 4 = 100. > [!ESEMPIO] Medio: con la virgola > (a) Quanto vale 101,011? (b) Scrivi 6,375 in base 2. > > 1. (a) Prima della virgola 101 vale 5. Dopo la virgola ci sono le monete 1/4 e 1/8: 2/8 + 1/8 = 3/8. In tutto 5 e 3/8, cioè 5,375. > 2. (b) 6 è 110. Per 0,375 raddoppia: 0,75, prima della virgola 0; poi 1,5, prima della virgola 1; tieni 0,5 e raddoppia: 1, prima della virgola 1, e non resta niente. > 3. I bit dopo la virgola sono 0, 1, 1: 6,375 = 110,011. Controllo: 4 + 2 + 1/4 + 1/8 = 6 e 3/8 = 6,375. > [!ESEMPIO] Tipo esame: la virgola fissa di 3,625 > Le simulazioni d'esame 1 e 2 del 2023/24 chiedono la «rappresentazione binaria del numero in virgola fissa» di 3,625. Virgola fissa vuol dire scritto in base 2 con la virgola al suo posto, come nella lezione 02. Le risposte proposte sono 11.111, 11.101 e 111.01: nei quiz la virgola si scrive con il punto. > > 1. 3 è 11. > 2. 0,625 raddoppiato fa 1,25: primo bit 1. Tieni 0,25: raddoppiato fa 0,5, secondo bit 0. Raddoppiato ancora fa 1: terzo bit 1. > 3. Quindi 3,625 = 11,101, scritto nel quiz 11.101. > 4. Controllo: 2 + 1 + 1/2 + 1/8 = 3 e 5/8 = 3,625. Nessuna cifra si perde. > > 11.111 vale 3 e 7/8; 111.01 vale 7 e 1/4. La seconda parte dello stesso quiz, sulla virgola mobile, è più avanti in questa lezione. ::: prova (a) Quanto vale 11,11? (b) Scrivi 0,1 in base 2: finisce? (a) 2 + 1 + 1/2 + 1/4 = 3 e 3/4, cioè 3,75. (b) Raddoppiando: 0,2 dà 0; 0,4 dà 0; 0,8 dà 0; 1,6 dà 1, tieni 0,6; 1,2 dà 1, tieni 0,2; e si ricomincia. 0,1 = 0,000110011…, con 0011 che si ripete: non finisce mai. ::: > [!RICORDA] > - Base 2 → base 10: somma le monete; dopo la virgola valgono 1/2, 1/4, 1/8. > - Base 10 → base 2: monete dalla più grande, oppure divisioni per 2; dopo la virgola, raddoppia. > - Controlla sempre riconvertendo il risultato. ## Somme e overflow senza segno (libro, §1.5) Le somme in base 2 si fanno in colonna come a scuola. Nei quiz si chiede di solito anche se il risultato ci sta nei bit che hai. > [!METODO] Sommare senza segno (lezione 02) > 1. Somma in colonna da destra: 0 + 0 = 0; 0 + 1 = 1; 1 + 1 = 10, scrivi 0 e riporti 1; 1 + 1 + 1 = 11, scrivi 1 e riporti 1. > 2. Con $n$ bit gli interi senza segno vanno da 0 a $2^n - 1$: con 8 bit da 0 a 255, con 4 bit da 0 a 15. > 3. Se dall'ultima colonna a sinistra esce un riporto, il risultato non ci sta: è **overflow**. > > Spiegazione nella [lezione 02](02_testo_colori_suoni_binario.html). > [!ESEMPIO] Facile: 105 + 54 con 8 bit > 01101001 + 00110110. > > | | 8ª | 7ª | 6ª | 5ª | 4ª | 3ª | 2ª | 1ª | > |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| > | riporti | 1 | 1 | | | | | | | > | 105 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | > | 54 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | > | somma | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | > > Da destra le prime cinque colonne hanno un solo 1 o nessuno: niente riporti. Nella sesta colonna 1 + 1 fa 10: scrivi 0 e riporti 1. Nella settima 1 + 0 più il riporto fa 10: scrivi 0 e riporti 1. Nell'ottava 0 + 0 più il riporto fa 1. > > Il risultato è 10011111, cioè 128 + 16 + 8 + 4 + 2 + 1 = 159. Infatti 105 + 54 = 159, e 159 sta in 8 bit: niente overflow. > [!ESEMPIO] Tipo esame: overflow con 8 bit > Con 8 bit senza segno si calcola 10010110 + 01101010. Che cosa resta, e c'è overflow? > > 1. 10010110 vale 128 + 16 + 4 + 2 = 150. 01101010 vale 64 + 32 + 8 + 2 = 106. > 2. In colonna, da destra: 0 + 0 = 0; 1 + 1 = 10, scrivi 0 e riporti 1; da lì in poi ogni colonna ha un 1 solo più il riporto, quindi fa 10: scrivi 0 e riporti 1, fino all'ultima colonna. > 3. Il risultato vero è 100000000, cioè 256: ha 9 bit. > 4. Negli 8 bit resta 00000000. È overflow: 150 + 106 = 256 non ci sta, perché con 8 bit si arriva a 255. ::: prova Con 4 bit senza segno: (a) 0111 + 0001; (b) 1011 + 0110. Quale va in overflow? (a) 7 + 1 = 8: 1000. I riporti attraversano tre colonne, ma dall'ultima non esce niente: niente overflow. (b) 11 + 6 = 17: il risultato vero è 10001, con 5 bit. Nei 4 bit resta 0001: overflow. ::: > [!RICORDA] > - In colonna: 1 + 1 = 10 e 1 + 1 + 1 = 11. > - Senza segno, con $n$ bit, si arriva a $2^n - 1$. > - Overflow senza segno: un riporto esce dall'ultima colonna a sinistra. I riporti in mezzo non contano. ## Complemento a 2 ed eccesso (libro, §1.6) Per i numeri negativi il libro usa due modi: il complemento a 2 per gli interi, e la notazione in eccesso, che serve soprattutto dentro la virgola mobile. Nei quiz le domande sono quasi sempre conversioni e somme. **Invertire** un bit vuol dire cambiarlo: 0 diventa 1, 1 diventa 0. > [!METODO] Il complemento a 2 (lezione 03) > - **È un contachilometri di bit**: tornando indietro da 0000 si arriva a 1111, che vale −1. Il bit a sinistra è il **bit di segno**: 0 per i positivi e lo zero, 1 per i negativi. > - **Leggere**: somma le monete, ma quella di sinistra vale con il segno meno: −8 con 4 bit, −128 con 8 bit. Controllo: letto senza segno, un negativo vale 16 in più con 4 bit, 256 in più con 8. > - **Cambiare segno**: copia i bit da destra fino al primo 1 compreso, poi inverti gli altri. Oppure: inverti tutti i bit e aggiungi 1. > - **Scrivere un negativo**: scrivi il numero senza il meno, con tutti i bit, poi cambia segno. > - **Fin dove si arriva**: con 4 bit da −8 a 7, con 8 bit da −128 a 127. > > Il perché di tutte queste regole è nella [lezione 03](03_interi_con_segno_virgola_mobile.html). > [!ESEMPIO] Facile: domanda 1 del §1.6, con 5 bit > Quanto valgono in complemento a 2 i numeri 00011, 01111, 11100, 11010, 00000 e 10000? > > Con 5 bit le monete sono −16, 8, 4, 2 e 1. > > 1. 00011: 2 + 1 = 3. > 2. 01111: 8 + 4 + 2 + 1 = 15. > 3. 11100: −16 + 8 + 4 = −4. > 4. 11010: −16 + 8 + 2 = −6. > 5. 00000: 0. > 6. 10000: solo la moneta di segno, −16. > > Sono le risposte del libro. > [!ESEMPIO] Tipo esame: Simulazione d'esame 2, 2023/24, domanda 8 > Il quiz chiede in base 10 quattro numeri in complemento a 2 su 8 bit. Con 8 bit le monete sono −128, 64, 32, 16, 8, 4, 2 e 1. > > 1. 11111111: −128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = −128 + 127 = −1. > 2. 01010101: bit di segno 0, come senza segno: 64 + 16 + 4 + 1 = 85. > 3. 00001111: 8 + 4 + 2 + 1 = 15. > 4. 10000001: −128 + 1 = −127. > > Controllo sul primo: senza segno 11111111 vale 255, e 255 − 256 = −1. La trappola è l'ultimo: 10000001 non è −1. Nel complemento a 2 il bit a sinistra non è un segno meno attaccato al resto, è una moneta da −128. Clicca sui bit dello strumento: vedi lo stesso byte letto senza segno, in complemento a 2 e in eccesso 128. Prova «Cambia segno» su 10000001 e poi su 10000000. ```widget codifica titolo: Un byte, tre letture: senza segno, complemento a 2, eccesso 128 modo: interi bit: 10000001 ``` > [!ESEMPIO] Medio: domande 2 e 3 del §1.6 > (a) Scrivi con 8 bit in complemento a 2: 6, −6, −17, 13, −1, 0. (b) Cambia segno a 00000001, 01010101, 11111100, 11111110, 00000000, 01111111. > > 1. (a) 6 è 00000110. −6: da 00000110 copi «10» e inverti gli altri sei bit, 000001, che diventano 111110. Risultato 11111010. > 2. −17: 17 è 00010001. Copi l'ultimo 1, inverti gli altri sette, 0001000, che diventano 1110111: 11101111. > 3. 13 è 00001101. −1 è 11111111. 0 è 00000000. > 4. (b) Con «copia fino al primo 1, poi inverti»: 00000001 diventa 11111111; 01010101 diventa 10101011; 11111100 diventa 00000100; 11111110 diventa 00000010; 00000000 resta 00000000; 01111111 diventa 10000001. > > Sono le risposte del libro. Controllo su 11111100: vale −128 + 64 + 32 + 16 + 8 + 4 = −4, e 00000100 vale 4. ### Somme con il segno e overflow > [!METODO] Somme in complemento a 2 (lezione 03) > 1. Somma in colonna come senza segno. Il riporto che esce a sinistra **si butta**. > 2. **Regola del segno**: c'è overflow solo se i due numeri hanno lo stesso bit di segno e il risultato ha il bit di segno opposto. > 3. Un positivo più un negativo non va mai in overflow. > 4. Per sottrarre, cambia segno al secondo numero e somma. > [!ESEMPIO] Medio: domande 5 e 6 del §1.6, con 4 bit > Con 4 bit le monete sono −8, 4, 2 e 1, e i numeri vanno da −8 a 7. > > 1. 0101 + 0010 = 0111: 5 + 2 = 7. Segni uguali, risultato positivo: niente overflow. > 2. 1010 + 1110: da destra 0 + 0 = 0; 1 + 1 = 10, scrivi 0 e riporti 1; 0 + 1 più il riporto = 10, scrivi 0 e riporti 1; 1 + 1 più il riporto = 11, scrivi 1, e il riporto esce e si butta. Resta 1000: −6 + (−2) = −8. Segni uguali e risultato negativo: niente overflow. > 3. 0101 + 0110: 1 + 0 = 1; 0 + 1 = 1; 1 + 1 = 10, scrivi 0 e riporti 1; 0 + 0 più il riporto = 1. Resta 1011, che è negativo. Due positivi danno un negativo: **overflow**. Infatti 5 + 6 = 11, e con 4 bit si arriva a 7. > 4. 1010 + 1010: resta 0100, positivo. Due negativi danno un positivo: **overflow**. Infatti −6 − 6 = −12. > 5. 0111 + 0001: resta 1000, negativo. **Overflow**: 7 + 1 = 8 non c'è. > > Sono le risposte del libro: 0111, 1000, 1011 con overflow, 0100 con overflow, 1000 con overflow. Nello strumento i due numeri hanno 4 bit e sono in complemento a 2. Parti da 0101 + 0110, poi cambia i bit e prova le altre somme dell'esempio. ```widget codifica titolo: Somma in complemento a 2 con 4 bit: quando c'è overflow? modo: somma a: 0101 b: 0110 complemento: si n: 4 ``` ### La notazione in eccesso > [!METODO] La notazione in eccesso (lezione 03) > - **Dai bit al numero**: leggi i bit senza segno e togli sempre lo stesso numero. Con 4 bit togli 8 (eccesso 8), con 3 bit togli 4 (eccesso 4), con 8 bit togli 128 (eccesso 128). > - **Dal numero ai bit**: aggiungi lo stesso numero e scrivi il risultato senza segno. > - Con 4 bit l'eccesso 8 va da −8 (0000) a 7 (1111). Rispetto al complemento a 2 cambia solo il bit a sinistra. > [!ESEMPIO] Medio: domande 9, 10 e 11 del §1.6 > (a) Leggi in eccesso 8: 1110, 0111, 1000, 0010, 0000, 1001. (b) Scrivi in eccesso 8: 5, −5, 3, 0, 7, −8. (c) Si può scrivere 9 in eccesso 8? > > 1. (a) 14 − 8 = 6; 7 − 8 = −1; 8 − 8 = 0; 2 − 8 = −6; 0 − 8 = −8; 9 − 8 = 1. > 2. (b) 5 + 8 = 13, cioè 1101. −5 + 8 = 3, cioè 0011. 3 + 8 = 11, cioè 1011. 0 + 8 = 8, cioè 1000. 7 + 8 = 15, cioè 1111. −8 + 8 = 0, cioè 0000. > 3. (c) No: il più grande è 1111, cioè 15 − 8 = 7. Per lo stesso motivo 6 non si scrive in eccesso 4, che arriva a 3. > > Sono le risposte del libro. ::: prova (a) Con 8 bit scrivi −35 in complemento a 2. (b) Quanto vale 110 in eccesso 4? (a) 35 = 32 + 2 + 1, cioè 00100011. Copi «1» da destra e inverti gli altri sette bit, 0010001, che diventano 1101110: il risultato è 11011101. Controllo: −128 + 64 + 16 + 8 + 4 + 1 = −35. (b) 110 senza segno è 6, e 6 − 4 = 2. ::: > [!RICORDA] > - Complemento a 2: la moneta di sinistra vale −8 con 4 bit, −128 con 8. Con 8 bit si va da −128 a 127. > - Cambiare segno: copia da destra fino al primo 1, inverti il resto. > - Overflow con il segno: due numeri con lo stesso segno danno un risultato con il segno opposto. Il riporto finale si butta. > - Eccesso: leggi senza segno e togli 8 (4 bit), 4 (3 bit) o 128 (8 bit). ## Virgola mobile a 8 bit (libro, §1.7) Il quiz sulla virgola mobile c'è in tutte e due le simulazioni del 2023/24. Usa sempre il formato a 8 bit del libro, che va saputo a memoria. > [!METODO] Il formato del libro (lezione 03) > Un byte si divide in tre pezzi: 1 bit di **segno**, 3 bit di **esponente** in eccesso 4, 4 bit di **mantissa**. La mantissa sono le cifre, con la virgola a sinistra: 1011 vuol dire 0,1011. L'esponente dice di quanti posti spostare la virgola: a destra se è positivo, a sinistra se è negativo. > > **Dal byte al numero.** > 1. Dividi il byte: segno, esponente, mantissa. > 2. Scrivi la mantissa con «0,» davanti. > 3. Leggi l'esponente: senza segno, meno 4. > 4. Sposta la virgola. Se mancano cifre, aggiungi degli zeri. > 5. Leggi con le monete e metti il segno. > > **Dal numero al byte.** > 1. Segno: 0 se positivo, 1 se negativo. > 2. Scrivi il numero in base 2. > 3. Sposta la virgola subito prima del primo 1, così il numero comincia con «0,1». Se l'hai spostata a sinistra l'esponente è positivo, se a destra è negativo. > 4. Mantissa: i primi 4 bit dopo la virgola. Le cifre in più si perdono: è l'**errore di troncamento**. > 5. Esponente: aggiungi 4 e scrivi con 3 bit. > > Spiegazione completa nella [lezione 03](03_interi_con_segno_virgola_mobile.html). | Esponente scritto | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Vale | −4 | −3 | −2 | −1 | 0 | 1 | 2 | 3 | > [!ESEMPIO] Facile: domanda 1 del §1.7 > Leggi (a) 01001010, (b) 01101101, (c) 00111001, (d) 11011100, (e) 10101011. > > 1. (a) Segno 0, esponente 100 = 0, mantissa 1010. La virgola resta: 0,101 = 1/2 + 1/8 = 5/8. > 2. (b) Segno 0, esponente 110 = 2, mantissa 1101. Due posti a destra: 11,01 = 3 e 1/4. > 3. (c) Segno 0, esponente 011 = −1, mantissa 1001. Un posto a sinistra: 0,01001 = 1/4 + 1/32 = 9/32. > 4. (d) Segno 1, esponente 101 = 1, mantissa 1100. Un posto a destra: 1,1 = 1 e 1/2. Con il segno: −1 e 1/2. > 5. (e) Segno 1, esponente 010 = −2, mantissa 1011. Due posti a sinistra: 0,001011 = 1/8 + 1/32 + 1/64 = 11/64. Con il segno: −11/64. > > Sono le risposte del libro. > [!ESEMPIO] Medio: domanda 2 del §1.7 > Scrivi nel formato del libro (a) 2 e 3/4, (b) 5 e 1/4, (c) 3/4, (d) −3 e 1/2, (e) −4 e 3/8. > > 1. (a) 10,11 → 0,1011, esponente 2 → 110. Mantissa 1011. Byte 01101011. > 2. (b) 101,01 → 0,10101, esponente 3 → 111. Le cifre sono cinque: la mantissa tiene 1010 e perde l'ultimo 1. Byte 01111010, con troncamento: vale 5. > 3. (c) 0,11: il primo 1 è già subito dopo la virgola, esponente 0 → 100. Mantissa 1100. Byte 01001100. > 4. (d) Segno 1. 11,1 → 0,111, esponente 2 → 110. Mantissa 1110. Byte 11101110. > 5. (e) Segno 1. 100,011 → 0,100011, esponente 3 → 111. La mantissa tiene 1000 e perde 11. Byte 11111000, con troncamento: vale −4. > > Sono le risposte del libro, con il troncamento nella (b) e nella (e). > [!ESEMPIO] Tipo esame: Simulazione d'esame 1, domanda 2, e Simulazione d'esame 2, domanda 1 (2023/24) > Il quiz chiede tre cose su 3,625: la virgola fissa, la virgola mobile nel formato a 8 bit del libro, e dove c'è troncamento. Le voci sulla virgola mobile sono 01101101, 01101110 e 11101110. > > 1. **Virgola fissa**: 3,625 = 11,101, come nella sezione sulle conversioni. Nessuna cifra si perde. > 2. **Segno**: il numero è positivo, quindi 0. La voce 11101110 è scartata: comincia con 1. > 3. **Esponente**: 11,101 → 0,11101, la virgola va due posti a sinistra. Esponente 2, cioè 2 + 4 = 6 = 110. > 4. **Mantissa**: le cifre sono cinque, 11101. La mantissa tiene 1110 e perde l'ultimo 1. La voce 01101101 è scartata: la sua mantissa 1101 non sono le prime quattro cifre. > 5. **Byte**: 0 110 1110, cioè 01101110. > 6. **Controllo**: 0,1110 con la virgola due posti a destra è 11,10, cioè 3,5. Si è perso 1/8. > > Le voci giuste: «Rappresentazione fissa: 11.101», «Rappresentazione Virgola Mobile: 01101110», «Troncamento presente solo nella rappresentazione in virgola mobile». Scrivi un numero nello strumento: vedi i passi della codifica e le cifre che si perdono. Prova 3,625, poi 3,75 e 5 1/4. ```widget codifica titolo: Dal numero al byte del libro, con il troncamento modo: virgola numero: 3,625 ``` > [!ESEMPIO] Difficile: domande 3 e 4 del §1.7 > (a) Qual è più grande tra 01001001 e 00111101? (b) Qual è il numero più grande del formato? E il positivo più piccolo? > > 1. (a) 01001001: esponente 100 = 0, mantissa 1001, vale 0,1001 = 9/16. 00111101: esponente 011 = −1, mantissa 1101, vale 0,01101 = 13/32. Siccome 9/16 = 18/32, il più grande è il primo. > 2. Il libro dà anche una scorciatoia: se tutti e due i segni sono 0, scorri i bit da sinistra fino al primo posto in cui sono diversi. È più grande quello con l'1 in quel posto. Qui è il secondo bit. Funziona perché l'esponente è in eccesso: esponente più grande vuol dire bit più grandi. > 3. (b) Il più grande è 01111111: 0,1111 con la virgola tre posti a destra, 111,1, cioè 7 e 1/2. > 4. Il positivo più piccolo con la mantissa che comincia con 1 è 00001000: 0,1 con la virgola quattro posti a sinistra, 0,00001, cioè 1/32. Il libro aggiunge che, se la mantissa può cominciare con 0, il più piccolo è 00000001, cioè 1/256. > [!ESEMPIO] Difficile: l'ordine delle somme (esempio del libro) > Calcola 2 e 1/2 + 1/8 + 1/8 nel formato del libro, che tronca dopo ogni somma. > > 1. **Da sinistra.** 2 e 1/2 + 1/8 = 2 e 5/8, cioè 10,101: cinque cifre, la mantissa tiene 1010, e resta 2 e 1/2. Poi di nuovo + 1/8: ancora 2 e 1/2. Risultato 2 e 1/2. > 2. **Prima i piccoli.** 1/8 + 1/8 = 1/4, esatto. Poi 2 e 1/2 + 1/4 = 2 e 3/4, cioè 10,11: quattro cifre, ci stanno. Risultato 2 e 3/4, quello giusto. > > Per questo il libro consiglia di sommare prima i numeri piccoli. ::: prova Scrivi nel formato del libro (a) 3,75 e (b) 6,375. C'è troncamento? (a) 3,75 = 11,11 → 0,1111, esponente 2 → 110. Mantissa 1111. Byte 01101111, senza troncamento. (b) 6,375 = 110,011 → 0,110011, esponente 3 → 111. La mantissa tiene 1100 e perde 11. Byte 01111100, che vale 110,0 cioè 6: troncamento, si perde 3/8. ::: > [!RICORDA] > - Formato del libro: segno | esponente di 3 bit in eccesso 4 | mantissa di 4 bit con la virgola a sinistra. > - Esponente: 100 = 0, 101 = 1, 110 = 2, 111 = 3, 011 = −1, 010 = −2, 001 = −3, 000 = −4. > - Dal numero al byte: virgola subito prima del primo 1, le prime 4 cifre in mantissa, le altre si perdono. > - Controlla sempre rileggendo il byte che hai scritto. ## Compressione (libro, §1.9) Le domande sulla compressione sono di due tipi: applicare una tecnica a un messaggio corto, oppure dire quale tecnica o quale formato va bene per un certo tipo di dati. > [!METODO] Le quattro tecniche del libro (lezione 04) > - **Run-length**: al posto di una fila di simboli uguali scrivi il simbolo e quante volte si ripete. > - **Codici a frequenza** (Huffman): codici corti ai simboli frequenti, lunghi a quelli rari. Nessun codice deve essere l'inizio di un altro. > - **Codifica relativa**: il primo dato per intero, poi solo le differenze con il dato prima. > - **Dizionario e LZW**, come nel libro: dizionario iniziale x = 1, y = 2, spazio = 3. Una parola nuova si scrive lettera per lettera e poi entra nel dizionario con il primo numero libero; una parola già vista si scrive con il suo numero; ogni spazio è 3. > - **Senza perdita** si riottengono i dati identici. **Con perdita** solo dati simili. GIF e JPEG, due formati per le immagini, sono tutti e due con perdita; anche MP3, il formato della musica, è con perdita. > > Tutto è nella [lezione 04](04_compressione_errori_comunicazione.html). > [!ESEMPIO] Facile: run-length e codifica relativa > (a) Scrivi con la codifica run-length 000000000011111000. (b) Scrivi con la codifica relativa 20, 21, 21, 22, 20. > > 1. (a) Dieci 0, cinque 1, tre 0: «10 zeri, 5 uni, 3 zeri». Controllo: 10 + 5 + 3 = 18 bit, come la fila. > 2. (b) Il primo resta 20. Poi 21 − 20 = +1; 21 − 21 = 0; 22 − 21 = +1; 20 − 22 = −2. Viene 20, +1, 0, +1, −2. > [!ESEMPIO] Medio: un codice a lunghezza variabile > Il messaggio AAAABBC ha 7 lettere. Con 2 bit per lettera occupa 7 · 2 = 14 bit. Con il codice A = 0, B = 10, C = 11, quanto occupa? > > 1. Le quattro A costano 1 bit ciascuna: 4 bit. > 2. Le due B costano 2 bit ciascuna: 4 bit. > 3. La C costa 2 bit. > 4. In tutto 4 + 4 + 2 = 10 bit, invece di 14. > > Il codice si legge senza pause: A è 0, e nessun altro codice comincia con 0. > [!ESEMPIO] Tipo esame: domanda 2 del §1.9, LZW > Comprimi con LZW, come nel libro, il messaggio «xyx yxxxy xyx yxxxy yxxxy», partendo da x = 1, y = 2, spazio = 3. > > | Leggo | Nel dizionario? | Scrivo | Il dizionario diventa | > |---|:-:|:-:|---| > | xyx | no | 1 2 1 | aggiungo xyx = 4 | > | spazio | sì | 3 | | > | yxxxy | no | 2 1 1 1 2 | aggiungo yxxxy = 5 | > | spazio | sì | 3 | | > | xyx | sì, è il 4 | 4 | | > | spazio | sì | 3 | | > | yxxxy | sì, è il 5 | 5 | | > | spazio | sì | 3 | | > | yxxxy | sì | 5 | | > > Il risultato è 121321112343535: è la risposta del libro. I simboli del messaggio erano 25, i numeri sono 15. > [!ESEMPIO] Medio: quale formato (domande 3, 4 e 5 del §1.9) > 1. **Per un cartone animato** va bene GIF: ci sono zone di colore uniforme con bordi netti, e pochi colori. GIF tiene al massimo 256 colori. > 2. **GIF e JPEG sono senza perdita?** No, tutti e due perdono qualcosa: GIF riduce i colori a 256, JPEG toglie dettagli. > 3. **Su che cosa conta JPEG?** L'occhio vede meglio le differenze di luminosità che quelle di colore: JPEG usa meno bit per il colore. > > Sono le risposte del libro. La domanda 6 aggiunge che MP3 sfrutta il **mascheramento temporale** e il **mascheramento di frequenza**: i suoni che l'orecchio non sente, coperti da altri, si buttano. ::: prova (a) Che fila di bit è «4 uni, 2 zeri, 3 uni»? (b) Quali numeri erano 50, +3, −1, 0? (a) 1111 00 111, cioè 111100111. (b) Si somma ogni differenza al numero prima: 50; 53; 52; 52. ::: > [!RICORDA] > - Run-length per le ripetizioni, codici a frequenza per i simboli frequenti, codifica relativa per i dati che cambiano poco, LZW con il dizionario che cresce. > - LZW del libro: parola nuova = numeri delle lettere, poi entra nel dizionario; parola vista = il suo numero; spazio = 3. > - Testi e programmi solo senza perdita. GIF e JPEG sono con perdita. ## Parità e codice di Hamming (libro, §1.10) Quando i bit viaggiano, uno può cambiare. Le domande su questa sezione chiedono di aggiungere o controllare un bit di parità, di calcolare la distanza di Hamming e di correggere una parola con il codice del libro. > [!METODO] Errori di comunicazione (lezione 04) > - **Parità dispari**, quella del libro: conta gli 1 del byte. Se sono pari aggiungi un 1, se sono dispari uno 0, così il totale è dispari. Il libro mette il bit di parità **a sinistra**: un byte diventa 9 bit. > - **Controllo**: chi riceve conta gli 1. Pari vuol dire errore. Con due errori il totale torna dispari e nessuno se ne accorge. > - **Distanza di Hamming**: metti le due file una sotto l'altra e conta le colonne con bit diversi. > - **Codice del libro**: 8 lettere da 6 bit, tutte a distanza almeno 3. Se arriva una fila che non è nel codice, scegli la lettera più vicina. Corregge un errore e ne rivela due. > > Tutto è nella [lezione 04](04_compressione_errori_comunicazione.html). | Lettera | A | B | C | D | E | F | G | H | |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| | Codice | 000000 | 001111 | 010011 | 011100 | 100110 | 101001 | 110101 | 111010 | > [!ESEMPIO] Facile: Simulazione d'esame 1, 2023/24, domanda 1 > «Calcolare la distanza di Hamming tra le sequenze di numeri binari elencati.» > > 1. 01011101 e 00101101: diverse nei posti 2, 3 e 4. Distanza 3. > 2. 01011100 e 00101100: diverse negli stessi posti. Distanza 3. > 3. 01101100 e 01101110: diverse solo nel posto 7. Distanza 1. > 4. 01111100 e 01111110: diverse solo nel posto 7. Distanza 1. > > Un modo per non perdere il conto: scrivi sotto le due file una riga con un segno dove i bit sono diversi, poi conta i segni. > [!ESEMPIO] Medio: domanda 4 del §1.10, la parità dispari > Scrivi «Does» in ASCII con la parità dispari, il bit di parità a sinistra. > > | Simbolo | ASCII | Quanti 1 | Bit di parità | I 9 bit | > |:-:|:-:|:-:|:-:|:-:| > | D | 01000100 | 2, pari | 1 | 101000100 | > | o | 01101111 | 6, pari | 1 | 101101111 | > | e | 01100101 | 4, pari | 1 | 101100101 | > | s | 01110011 | 5, dispari | 0 | 001110011 | > > I primi tre sono quelli della risposta del libro. Controllo: ogni fila di 9 bit ha un numero dispari di 1. Nello strumento c'è la D. Simula un errore e poi due: con due errori il controllo dice «tutto a posto». ```widget codifica titolo: Il bit di parità della D, e uno o due errori modo: parita bit: 01000100 parita: dispari ``` > [!ESEMPIO] Tipo esame: domanda 5 del §1.10, decodificare > Con il codice del libro decodifica (a) 001111 100100 001100 e (b) 010001 000000 001011. > > 1. 001111 è nel codice: B. > 2. 100100 non c'è. Dista 1 da E (100110): è cambiato il quinto bit. Le altre lettere distano almeno 2. Si legge E. > 3. 001100 dista 1 da D (011100). Si legge D. La parola (a) è BED. > 4. 010001 dista 1 da C (010011). 000000 è A. 001011 dista 1 da B (001111). La parola (b) è CAB. > > Sono le risposte del libro. Scrivi una fila nello strumento e guarda le distanze. Prova 100100, poi 110000: tre lettere alla stessa distanza. ```widget codifica titolo: Il codice del libro: la lettera più vicina modo: hamming parola: 100100 ``` > [!ESEMPIO] Difficile: domanda 6 del §1.10, costruire un codice > Trova quattro file di 5 bit per A, B, C e D, a distanza almeno 3 l'una dall'altra. > > Il libro propone A = 00000, B = 11100, C = 01111, D = 10011. Le coppie sono sei: controllale tutte. > > | Coppia | Bit diversi | Distanza | > |---|---|:-:| > | A e B | posti 1, 2, 3 | 3 | > | A e C | posti 2, 3, 4, 5 | 4 | > | A e D | posti 1, 4, 5 | 3 | > | B e C | posti 1, 4, 5 | 3 | > | B e D | posti 2, 3, 4, 5 | 4 | > | C e D | posti 1, 2, 3 | 3 | > > La distanza minima è 3: il codice corregge un errore. ::: prova (a) Con la parità dispari, quale di questi 9 bit è sicuramente sbagliato: 100101101 oppure 100000001? (b) Due errori nello stesso byte si vedono con la parità? (a) 100101101 ha cinque 1, un numero dispari: va bene. 100000001 ha due 1, un numero pari: c'è un errore. (b) No. Due bit cambiati cambiano di due il numero degli 1, e il totale resta dispari. È la risposta del libro alla domanda 2 del §1.10. ::: > [!RICORDA] > - Parità dispari: totale degli 1 dispari, bit di parità a sinistra. Rivela un errore, non due. > - Distanza di Hamming: quante colonne hanno bit diversi. > - Codice del libro: si legge la lettera più vicina. Distanza minima 3: corregge un errore, ne rivela due. ## Come affrontare i quiz della parte 1 L'esame comincia con 9 quiz in 45 minuti: circa 5 minuti a domanda. Molti quiz hanno più voci da valutare, e ogni voce porta una parte del punteggio. Il tempo basta solo se i metodi di questa lezione vengono senza pensarci. ### Il piano per ogni domanda 1. **Riconosci il tipo**: conversione, complemento a 2, virgola mobile, circuito, Hamming. La tabella qui sotto dice il metodo. 2. **Scrivi i dati su carta**, uno sotto l'altro: i bit in colonna, le monete sopra. Gli errori nascono quasi sempre da un bit copiato male. 3. **Fai il conto una volta sola**, con calma, e poi **controlla al contrario**. 4. **Rispondi a tutte le voci**: un quiz con cinque voci vero o falso dà punti anche se ne sbagli una. | Tipo di domanda | Metodo | Controllo veloce | |---|---|---| | base 2 e base 10 | monete, divisioni, raddoppio | riconverti il risultato | | esadecimale | gruppi di 4 bit da destra | ogni cifra torna a 4 bit | | complemento a 2 | moneta di sinistra negativa | senza segno meno 256 (8 bit) | | eccesso | senza segno meno 8, 4 o 128 | il bit a sinistra è 1 per i positivi | | somma con il segno | colonna, riporto finale buttato | regola del segno | | virgola mobile | segno, esponente più 4, 4 cifre | rileggi il byte che hai scritto | | circuito | tabella di tutte le righe | una riga sbagliata basta per scartare | | flip-flop | parti dal valore di prima | ricalcola finché niente cambia | | distanza di Hamming | colonne diverse | conta due volte, da destra e da sinistra | | parità | conta gli 1 | il totale deve essere dispari | ### I trucchi per controllare - **Una fila di 1** vale la moneta successiva meno 1: 1111 vale 16 − 1 = 15. In complemento a 2, una fila di 1 vale −1. - **Pari o dispari**: un numero in base 2 è dispari quando l'ultimo bit è 1, pari quando è 0. Con la virgola vale lo stesso per l'ultima cifra: 0,375 sono 3/8, con il 3 dispari, quindi la cifra da 1/8 deve essere 1. - **Il segno in virgola mobile** è il primo bit: scarta subito le risposte con il segno sbagliato. - **L'esponente in virgola mobile**: un numero tra 1 e 2 ha esponente 1, cioè 101; tra 2 e 4 ha esponente 2, cioè 110; tra 4 e 8 ha esponente 3, cioè 111. Tra 1/2 e 1 ha esponente 0, cioè 100. - **Complemento a 2**: un numero e il suo opposto, sommati, danno tutti 0 con il riporto buttato. 01010101 + 10101011 = 00000000. ### Gli errori più frequenti - Leggere in complemento a 2 come se fosse senza segno: 11111111 non è 255 ma −1. - Credere che 10000001 sia −1: è −127. Il bit di segno vale −128, non è un segno meno attaccato al resto. - Cercare l'overflow con il segno nel riporto finale: conta solo la regola del segno. - Nella virgola mobile, dimenticare di aggiungere 4 all'esponente, o spostare la virgola nella direzione sbagliata. - Arrotondare la mantissa invece di troncarla: il libro taglia e basta. - Nei circuiti, dimenticare una riga: con 3 ingressi le righe sono 8. - Confondere OR e XOR quando tutti e due gli ingressi sono 1. - Contare un byte per simbolo in UTF-8, o dimenticare che lo stereo ha 2 canali. - Fidarsi delle soluzioni scritte a mano che girano online: come hai visto con il flip-flop, a volte sono sbagliate. > [!ESAME] Quanto tempo per tipo > Un esadecimale, un byte in complemento a 2 o una distanza di Hamming devono richiedere meno di un minuto. Virgola mobile, tabella di un circuito e flip-flop chiedono 3–5 minuti. Così ti resta tempo per i quiz delle altre parti del libro, che arrivano più avanti. ::: prova Per ognuna di queste domande, quale metodo usi? (a) «Quanto vale 11111010 in complemento a 2?» (b) «Il circuito con un filo che torna indietro è combinatorio?» (c) «Qual è la distanza di Hamming tra 1010 e 0110?» (a) Moneta di sinistra negativa: −128 + 64 + 32 + 16 + 8 + 2 = −6. (b) Un filo che torna indietro vuol dire circuito sequenziale: non è combinatorio. (c) Le file sono diverse nei posti 1 e 2: distanza 2. ::: > [!RICORDA] > - 9 quiz in 45 minuti: circa 5 minuti a domanda, meno di uno per le conversioni. > - Riconosci il tipo, scrivi i bit in colonna, fai il conto, controlla al contrario. > - Rispondi a tutte le voci di ogni quiz. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | A·B, A ∧ B | «A e B» | AND: 1 solo se tutti e due sono 1 | 1·0 = 0 | | A + B, A ∨ B | «A o B» | OR: 1 se almeno uno è 1 (non è la somma) | 1 + 1 = 1 | | $\overline{A}$, ¬A, A' | «non A» | NOT: il contrario | $\overline{1} = 0$ | | NAND | «nand» | AND seguito da NOT: 0 solo se tutti e due sono 1 | 1 NAND 1 = 0 | | $x_1$ | «x uno» | il nome di un ingresso: il numerino fa parte del nome | $x_1 = 0$ | | $2^n$ | «due alla n» | 2 moltiplicato per sé stesso n volte | $2^{10} = 1024$ | | B5 | «bi cinque» | un byte in esadecimale | 181 | | KB | «kilobyte» | 1024 byte | 4 KB = 4096 byte | | 11,101 | «uno uno virgola uno zero uno» | un numero in base 2 con la virgola; nei quiz 11.101 | 3,625 | | −128 | «meno centoventotto» | la moneta di sinistra in complemento a 2 con 8 bit | 10000001 = −127 | | eccesso 8 | «eccesso otto» | leggi senza segno e togli 8 | 1110 = 6 | | 0 110 1011 | «segno, esponente, mantissa» | un byte in virgola mobile nel formato del libro | 2 e 3/4 | | $0{,}1011 \cdot 2^2$ | «zero virgola uno zero uno uno per due alla seconda» | sposta la virgola di 2 posti a destra | 10,11 | ## Verso l'esame Le regole dell'esame, uguali per i tre canali, sono nella [lezione 01](01_bit_porte_esadecimale.html) e nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md): 9 quiz in 45 minuti al computer, con Safe Exam Browser, da 3 punti l'uno; servono almeno 18 punti. **Che cosa è uscito nelle simulazioni del 2023/24, per la parte 1** | Simulazione | Domanda | Argomento | Dove è risolta qui | |---|---|---|---| | 1 | 1 | distanza di Hamming | parità e codice di Hamming | | 1 | 2 | 3,625 in virgola fissa e mobile, troncamento | conversioni e virgola mobile | | 1 | 5 | dalla tabella alla formula | circuiti | | 1 | 6 | circuito combinatorio e sua formula | circuiti | | 2 | 1 | lo stesso quiz su 3,625 | virgola mobile | | 2 | 3 | circuito con due NAND che si richiamano | il flip-flop | | 2 | 8 | quattro numeri in complemento a 2 su 8 bit | complemento a 2 | Le altre domande delle due simulazioni riguardano la parte 2 del libro: logica, relazioni, grammatiche, automi, induzione, algebre di Boole. Ci arriviamo nelle prossime lezioni. **Che cosa non è uscito ma può uscire.** Esadecimale, memoria, testo, immagini, suoni e compressione non compaiono in quelle due simulazioni. Però sono nella mappa comune del libro, e i docenti avvertono che all'esame possono arrivare domande mai chieste prima. > [!ESAME] Le cinque cose da saper fare a occhi chiusi > 1. Convertire tra base 2, base 10 ed esadecimale, anche con la virgola. > 2. Leggere e scrivere un numero in complemento a 2, e riconoscere l'overflow. > 3. Leggere e scrivere un byte in virgola mobile nel formato del libro, con il troncamento. > 4. Fare la tabella di un circuito e capire se è combinatorio o sequenziale. > 5. Calcolare la distanza di Hamming e decodificare con il codice del libro. **Errori da evitare** - Rispondere senza controllare: ogni metodo di questa lezione ha il suo controllo al contrario. - Copiare male un bit dal testo del quiz: rileggi i bit prima di cominciare. - Usare 1000 al posto di 1024 nei conti sulla memoria. - Prendere per buone le soluzioni scritte a mano delle simulazioni: nella domanda 3 della simulazione 2 le note a margine sono sbagliate. ## Quiz ```quiz D: Simulazione d'esame 1, 2023/24, domanda 1. Qual è la distanza di Hamming tra 01011100 e 00101100? - $1$ - $2$ + $3$ - $4$ - $5$ = Si scrivono le due file una sotto l'altra e si contano le colonne con bit diversi: sono il secondo, il terzo e il quarto posto, quindi la distanza è 3. La risposta 1 conta solo il primo posto diverso. Le risposte 4 e 5 contano anche colonne uguali: dal quinto all'ottavo posto le due file sono identiche, 1100. D: Simulazioni d'esame 1 e 2, 2023/24. Il numero 3,625 nel formato a 8 bit del libro (segno, 3 bit di esponente in eccesso 4, 4 bit di mantissa). Quale affermazione è giusta? - In virgola fissa è 11.111 e in virgola mobile 01101101. - In virgola mobile è 11101110, senza troncamento. + In virgola fissa è 11.101; in virgola mobile è 01101110, e c'è troncamento solo in virgola mobile. - In virgola fissa è 111.01, e c'è troncamento in tutte e due. - In virgola mobile è 01101110, senza troncamento. = 3,625 = 11,101: in virgola fissa ci sta tutto. Spostando la virgola due posti a sinistra viene 0,11101: esponente 2, cioè 110, e le cifre sono cinque. La mantissa tiene 1110 e perde l'ultimo 1: il byte è 01101110 e vale 3,5, quindi c'è troncamento. 11101110 ha il segno sbagliato. 01101101 non usa le prime quattro cifre. 11.111 vale 3 e 7/8, 111.01 vale 7 e 1/4. D: Simulazione d'esame 2, 2023/24, domanda 8. Quanto vale 10000001 in complemento a 2 su 8 bit? - $-1$ - $129$ + $-127$ - $-128$ - $1$ = Con 8 bit la moneta di sinistra vale −128: 10000001 vale −128 + 1 = −127. Controllo: senza segno vale 129, e 129 − 256 = −127. La risposta −1 legge il primo bit come un segno meno attaccato a 0000001: non è il complemento a 2. La risposta 129 è la lettura senza segno. −128 è 10000000. D: Simulazione d'esame 2, 2023/24, domanda 8. Quale riga dà i valori giusti di 11111111, 01010101 e 00001111 in complemento a 2 su 8 bit? - $255$, $85$, $15$ + $-1$, $85$, $15$ - $-1$, $-85$, $-15$ - $-127$, $85$, $15$ - $-1$, $-43$, $15$ = 11111111 è fatto di soli 1: in complemento a 2 vale −1, perché −128 + 127 = −1. Gli altri due hanno il bit di segno a 0 e si leggono come senza segno: 64 + 16 + 4 + 1 = 85 e 8 + 4 + 2 + 1 = 15. La prima riga legge tutto senza segno. La terza mette il meno ai positivi. −127 è 10000001. D: Simulazione d'esame 2, 2023/24, domanda 3. Due NAND si richiamano: quello in alto riceve l'ingresso in alto e l'uscita dell'altro; quello in basso riceve l'ingresso in basso e l'uscita del primo, che è y. Con l'ingresso in alto a 1 e quello in basso a 0, su che valore si stabilizza y? + $0$ - $1$ - Dipende dal valore di prima. - Non si stabilizza mai. - Vale 1 per un istante e poi 0, all'infinito. = Il NAND in basso riceve uno 0, quindi dà 1 qualunque sia y. Il NAND in alto riceve allora 1 e 1, e dà 0. Ricalcolando, il NAND in basso riceve 0 e 0 e dà ancora 1: niente cambia, y resta 0. Dipende dal valore di prima solo quando tutti e due gli ingressi sono 1. Il valore 1 è quello che si ottiene con gli ingressi scambiati. D: Nello stesso circuito con due NAND, tutti e due gli ingressi valgono 1. Su che valore si stabilizza y? - Sempre $0$. - Sempre $1$. + Resta il valore che aveva prima: il circuito ricorda un bit. - Oscilla tra 0 e 1. - Il circuito è combinatorio, quindi la domanda non ha senso. = Con un ingresso fisso a 1, ogni NAND dà il contrario dell'altra uscita. Se y era 0, l'altra uscita è 1 e y resta 0; se y era 1, l'altra uscita è 0 e y resta 1. Tutti e due i casi sono stabili: il circuito ricorda il valore di prima. È sequenziale, non combinatorio, perché le uscite tornano indietro. D: Simulazione d'esame 1, 2023/24, domanda 6. Il circuito calcola (A AND NOT C) OR (NOT C AND B). Quale formula NON descrive il circuito? - (¬C∧A)∨(¬C∧B) + (¬C∨A)∧(¬C∨B) - ¬((C∨¬A)∧(C∨¬B)) - ¬C∧(A∨B) - (A∧¬C)∨(B∧¬C) = Basta una riga in cui la formula e il circuito danno valori diversi. Con A = 0, B = 0, C = 0 il circuito dà 0, perché le due AND ricevono uno 0. La formula (¬C∨A)∧(¬C∨B) invece dà 1, perché ¬C vale 1 e rende veri tutti e due gli OR. Le altre quattro danno gli stessi valori del circuito in tutte le 8 righe: sono scritture diverse della stessa funzione. D: Simulazione d'esame 1, 2023/24, domanda 5. La tabella ha y = 1 solo nelle righe x1x2x3 = 010, 011, 101 e 110. Quale formula è giusta? - $\overline{x_1}\,x_2 + x_1\,x_2\,x_3$ - $x_1\,x_2 + \overline{x_2}\,x_3$ + $\overline{x_1}\,x_2\,\overline{x_3} + \overline{x_1}\,x_2\,x_3 + x_1\,\overline{x_2}\,x_3 + x_1\,x_2\,\overline{x_3}$ - $x_1\,x_2\,x_3$ - $\overline{x_1}\,\overline{x_2}\,\overline{x_3} + x_1\,x_2\,x_3$ = Il metodo: un AND per ogni riga con y = 1, con il NOT sugli ingressi che valgono 0, poi tutti uniti da OR. La riga 010 dà NOT x1 AND x2 AND NOT x3, e così via: è la terza formula. La prima vale 1 nella riga 111, dove y = 0. La seconda vale 1 nella riga 001, dove y = 0. Le ultime due danno 1 proprio nelle righe in cui y = 0. D: Domanda 5 del §1.1. Come si scrive in esadecimale 111010000101010100010111? - E85171 + E85517 - 8E5571 - E8551 - 1E85517 = Gruppi di 4 bit da destra: 1110, 1000, 0101, 0101, 0001, 0111, cioè E, 8, 5, 5, 1, 7. Il risultato è E85517, la risposta del libro. La prima e la terza scambiano l'ordine di alcuni gruppi. La quarta ne perde uno. L'ultima aggiunge una cifra che non c'è: i 24 bit fanno esattamente 6 gruppi. D: Una memoria ha 64 KB, con celle di un byte. Quanti bit servono per l'indirizzo di una cella? - $6$ - $8$ - $15$ + $16$ - $64$ = 64 KB sono 64 · 1024 = 65536 celle, cioè $2^{16}$. Con 16 bit gli indirizzi vanno da 0 a 65535, uno per cella. Con 15 bit si arriva solo a 32768 celle. La risposta 6 usa 64 = $2^6$ dimenticando che un KB sono 1024 byte. La risposta 8 conta i bit di una cella, non quelli dell'indirizzo. D: Quanti byte occupa in UTF-8 il testo «città: 1€», spazio compreso? - $9$ - $10$ - $11$ + $12$ - $18$ = I simboli sono 9. Sette sono di ASCII e occupano un byte ciascuno: c, i, t, t, i due punti, lo spazio e l'1. La à occupa 2 byte e l'euro 3: in tutto 7 + 2 + 3 = 12. La risposta 9 conta un byte per simbolo. La risposta 11 conta l'euro come 2 byte. La risposta 18 conta 2 byte per simbolo. D: Una canzone di 3 minuti, qualità CD: 44 100 campioni al secondo, 16 bit per campione, stereo. Quanti byte? - $7938000$ - $15876000$ + $31752000$ - $63504000$ - $254016000$ = 16 bit sono 2 byte e lo stereo ha 2 canali: in un secondo 44100 · 2 · 2 = 176400 byte. In 180 secondi 176400 · 180 = 31752000. La risposta 15876000 conta un solo canale. La risposta 254016000 conta i bit invece dei byte. La risposta 63504000 conta 4 canali. D: Come si scrive 6,375 in base 2? - $110{,}375$ - $110{,}11$ + $110{,}011$ - $110{,}101$ - $111{,}011$ = 6 è 110. Per 0,375 si raddoppia: 0,75 dà 0, 1,5 dà 1, 1 dà 1. Quindi 0,375 = 0,011 e 6,375 = 110,011. Controllo: 4 + 2 + 1/4 + 1/8 = 6,375. La prima copia le cifre decimali. 110,11 vale 6 e 3/4. 110,101 vale 6 e 5/8: ha le cifre dopo la virgola al contrario. 111,011 vale 7 e 3/8. D: Con 8 bit senza segno si calcola 10010110 + 01101010. Che cosa resta negli 8 bit? + 00000000, con overflow. - 100000000, senza overflow. - 11111111, senza overflow. - 00000000, senza overflow. - 11111110, con overflow. = I due numeri valgono 150 e 106, e la somma è 256, cioè 100000000: 9 bit. Il riporto dell'ultima colonna non ha posto, quindi negli 8 bit resta 00000000. È overflow, perché senza segno con 8 bit si arriva a 255. La seconda risposta scrive giusto il numero, ma con 9 bit. 11111111 è 255, il massimo, ma il computer non si ferma lì. D: Domanda 9 del §1.6. Quanto vale 0010 in notazione in eccesso 8? - $2$ + $-6$ - $-2$ - $6$ - $10$ = In eccesso 8 si leggono i bit senza segno e si toglie 8: 0010 è 2, e 2 − 8 = −6. La risposta 2 dimentica di togliere 8. La risposta −2 è la lettura in complemento a 2 di 1110, non di 0010. La risposta 10 aggiunge 8 invece di toglierlo. D: Domanda 1 del §1.7. Quanto vale il byte 00111001 nel formato a 8 bit del libro? - $9/16$ + $9/32$ - $9/64$ - $-9/32$ - $2$ e $1/4$ = Segno 0, esponente 011, mantissa 1001. L'esponente in eccesso 4 è 3 − 4 = −1: la virgola va un posto a sinistra, e 0,1001 diventa 0,01001. Le monete sono 1/4 e 1/32: 8/32 + 1/32 = 9/32, la risposta del libro. 9/16 dimentica di spostare la virgola. 9/64 la sposta di due posti. Il segno è 0, quindi il numero è positivo. D: Domanda 2 del §1.7. Nel formato a 8 bit del libro, quale di questi numeri si scrive con un errore di troncamento? - $2$ e $3/4$ - $3/4$ - $-3$ e $1/2$ + $5$ e $1/4$ - $1$ e $1/8$ = 5 e 1/4 è 101,01: spostando la virgola davanti al primo 1 viene 0,10101, con cinque cifre. La mantissa ne tiene quattro, 1010, e il byte 01111010 vale 5: si perde 1/4. Gli altri hanno al massimo quattro cifre: 2 e 3/4 è 10,11, 3/4 è 0,11, 3 e 1/2 è 11,1, 1 e 1/8 è 1,001. D: Domanda 4 del §1.10. Con la parità dispari del libro, bit di parità a sinistra, come si scrive la D, cioè 01000100? - $001000100$ + $101000100$ - $010001001$ - $010001000$ - $01000100$ = 01000100 ha due 1, un numero pari. Per avere un totale dispari il bit di parità deve essere 1, e il libro lo mette a sinistra: 101000100, la risposta del libro. 001000100 lascia il totale pari. La terza mette il bit di parità a destra, come la quarta che ha anche il bit sbagliato. L'ultima dimentica il bit di parità. D: Con il codice a 6 bit del libro (A 000000, B 001111, C 010011, D 011100, E 100110, F 101001, G 110101, H 111010) arriva 001011. Come si decodifica? - A + B - C - F - Non si può decodificare: è a distanza 2 da due lettere. = 001011 differisce da B, 001111, solo nel quarto bit: distanza 1. C e F distano 2, A dista 3, le altre di più. Con un solo errore la lettera più vicina è unica, perché le lettere del codice distano tutte almeno 3 tra loro. È un pezzo della domanda 5 del §1.10, che dà CAB. D: Domanda 2 del §1.9. Con LZW come nel libro, partendo da x = 1, y = 2, spazio = 3, che cosa diventa «xyx yxxxy xyx yxxxy yxxxy»? - $121321112121321112$ + $121321112343535$ - $1213211123434$ - $12132111234353$ - $45453$ = xyx è nuova: si scrive 121 e diventa la parola 4. Lo spazio è 3. yxxxy è nuova: si scrive 21112 e diventa la parola 5. Poi xyx è 4, spazio 3, yxxxy è 5, spazio 3, yxxxy è 5. In fila: 121 3 21112 3 4 3 5 3 5. La prima non usa il dizionario. La terza e la quarta perdono le ultime parole. L'ultima usa parole che all'inizio il dizionario non ha. D: Domande 3 e 4 del §1.9. Quale affermazione su GIF e JPEG è giusta? - GIF e JPEG sono tutti e due senza perdita. - GIF è senza perdita, JPEG con perdita. + Tutti e due perdono qualcosa: GIF riduce i colori a 256, JPEG toglie dettagli che l'occhio nota poco. - JPEG va meglio di GIF per i cartoni animati con pochi colori. - JPEG usa più bit per il colore che per la luminosità. = GIF tiene al massimo 256 colori: un'immagine con più colori perde qualcosa. JPEG toglie dettagli, soprattutto di colore, perché l'occhio è più sensibile alla luminosità: usa meno bit per il colore, non di più. Per i cartoni animati, con zone di colore uniforme e pochi colori, il libro consiglia GIF. ``` ## Esercizi ::: esercizio base La tabella di un circuito Un circuito calcola A·B + $\overline{C}$, cioè (A AND B) OR (NOT C). Scrivi la sua tabella e di' a parole quando l'uscita vale 1. ::: soluzione 1. Gli ingressi sono 3: le righe sono $2^3 = 8$. 2. Una colonna per A AND B, una per NOT C, una per l'uscita. | A | B | C | A AND B | NOT C | uscita | |:-:|:-:|:-:|:-:|:-:|:-:| | 0 | 0 | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | 0 | 0 | 0 | | 0 | 1 | 0 | 0 | 1 | 1 | | 0 | 1 | 1 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 1 | 1 | | 1 | 0 | 1 | 0 | 0 | 0 | | 1 | 1 | 0 | 1 | 1 | 1 | | 1 | 1 | 1 | 1 | 0 | 1 | 3. A parole: l'uscita vale 1 quando C vale 0, oppure quando A e B valgono tutti e due 1. Controllo: l'uscita è 0 solo nelle righe con C = 1 e A, B non tutti e due a 1. Sono tre righe: 001, 011, 101. ::: ::: esercizio base Esadecimale e base 10 (a) Scrivi in esadecimale 10110101 e 11111111. (b) Quanto valgono in base 10? (c) Scrivi in bit la stringa esadecimale 3C. ::: soluzione 1. (a) 1011 0101 è B5. 1111 1111 è FF. 2. (b) B5 = 11 · 16 + 5 = 181. FF = 15 · 16 + 15 = 255. 3. (c) 3 è 0011 e C è 1100: 00111100. Controllo su B5 con le monete: 10110101 ha 128, 32, 16, 4 e 1, cioè 181. ::: ::: esercizio medio Un byte, quattro letture Il byte 10110110 viene letto (a) come intero senza segno, (b) in complemento a 2, (c) in eccesso 128, (d) nel formato in virgola mobile del libro. Quanto vale nei quattro casi? ::: soluzione 1. (a) Le monete sono 128, 32, 16, 4 e 2: 182. 2. (b) La moneta di sinistra vale −128: −128 + 32 + 16 + 4 + 2 = −74. Controllo: 182 − 256 = −74. 3. (c) 182 − 128 = 54. 4. (d) Segno 1, esponente 011, mantissa 0110. L'esponente è 3 − 4 = −1. La mantissa è 0,0110: spostando la virgola un posto a sinistra viene 0,00110, cioè 1/8 + 1/16 = 3/16. Con il segno: −3/16. Nella (d) la mantissa comincia con 0: il byte non è nella forma che il libro usa, con la mantissa che comincia con 1. Si legge lo stesso, ma una codifica corretta non lo darebbe mai. Gli stessi bit, quattro regole, quattro numeri diversi. ::: ::: esercizio medio Domanda 7 del §1.6: sottrarre sommando Con 4 bit in complemento a 2 calcola (a) 6 + 1, (b) 3 + (−2), (c) 4 + (−6), (d) 2 + 4, (e) 1 + (−5). ::: soluzione 1. (a) 0110 + 0001 = 0111, cioè 7. 2. (b) −2: 2 è 0010, cambiando segno 1110. 0011 + 1110: da destra 1 + 0 = 1; 1 + 1 = 10, scrivo 0 e riporto 1; 0 + 1 più il riporto = 10, scrivo 0 e riporto 1; 0 + 1 più il riporto = 10, scrivo 0 e il riporto si butta. Resta 0001, cioè 1. 3. (c) −6 è 1010. 0100 + 1010 = 1110, senza riporti. Vale −8 + 4 + 2 = −2. 4. (d) 0010 + 0100 = 0110, cioè 6. 5. (e) −5: 5 è 0101, cambiando segno 1011. 0001 + 1011 = 1100, cioè −8 + 4 = −4. Sono le risposte del libro. Nessuna va in overflow: nella (a) e nella (d) i risultati 7 e 6 stanno tra −8 e 7, nelle altre i segni sono diversi. ::: ::: esercizio medio Domanda 8 del §1.6: positivo più negativo Sommando un numero positivo e uno negativo in complemento a 2 può esserci overflow? Perché? ::: soluzione 1. No. 2. La somma di un positivo e di un negativo sta sempre tra i due numeri. Per esempio 7 + (−8) = −1, che sta tra −8 e 7. 3. I due numeri ci stanno nei bit che hai, quindi ci sta anche tutto quello che sta tra loro. È la risposta del libro. Per questo, con la regola del segno, si controlla l'overflow solo quando i due numeri hanno lo stesso bit di segno. ::: ::: esercizio difficile Simulazione d'esame 2, domanda 3, rifatta con il flip-flop del libro Il flip-flop del libro (figura 1.3) ha un OR, un AND e un NOT, con l'uscita dell'AND che torna nell'OR. (a) L'uscita vale 0 e arriva un impulso in alto: che cosa succede? (b) Che cosa ha in comune con il circuito dei due NAND della simulazione? ::: soluzione 1. (a) Durante l'impulso l'OR riceve 1 e dà 1. Il NOT riceve 0 dall'ingresso in basso e dà 1. L'AND riceve 1 e 1: l'uscita diventa 1. 2. Finito l'impulso, l'ingresso in alto torna a 0. L'OR riceve però l'uscita, che vale 1, e continua a dare 1. L'uscita resta 1. 3. (b) Tutti e due i circuiti hanno un'uscita che torna indietro, quindi sono sequenziali. Tutti e due hanno una combinazione degli ingressi che lascia l'uscita com'era: 0 e 0 nel flip-flop del libro, 1 e 1 nel circuito dei NAND. Con le altre combinazioni l'uscita va a 1 o a 0. Sono due modi di costruire un circuito che ricorda un bit. ::: ::: esercizio difficile Domanda 3 del §1.7: confrontare senza decodificare Senza calcolare i valori, di' quale è più grande in ognuna di queste coppie di byte nel formato del libro: (a) 01001001 e 00111101; (b) 11011100 e 11001100. ::: soluzione Il metodo del libro: se i segni sono diversi vince il positivo. Se sono tutti e due 0, scorri i bit da sinistra fino al primo posto diverso: vince quello con l'1. Se sono tutti e due 1, vince quello con lo 0. 1. (a) Segni 0 e 0. Il primo posto diverso è il secondo bit: 1 nel primo byte, 0 nel secondo. Vince 01001001. 2. Controllo: 01001001 vale 0,1001 = 9/16, cioè 18/32. 00111101 vale 0,01101 = 13/32. 18/32 è più grande. 3. (b) Segni 1 e 1: sono due negativi. Il primo posto diverso è il quarto bit: 1 nel primo byte, 0 nel secondo. Vince quello con lo 0, cioè 11001100. 4. Controllo: 11011100 vale −1 e 1/2. 11001100 ha esponente 100 = 0 e mantissa 1100: vale −0,11, cioè −3/4. −3/4 è più grande di −1 e 1/2. Il trucco funziona perché l'esponente è in eccesso: esponenti più grandi hanno bit più grandi. ::: ::: esercizio esame Simulazione completa sulla virgola mobile Il numero −1,125. (a) Scrivilo in base 2 con la virgola fissa. (b) Scrivilo nel formato a 8 bit del libro. (c) C'è troncamento? (d) E con −1,0625? ::: soluzione 1. (a) 1,125 = 1 + 1/8: 1,001. Con il segno: −1,001. 2. (b) Segno 1. 1,001 → 0,1001, la virgola va un posto a sinistra: esponente 1, cioè 1 + 4 = 5 = 101. Le cifre sono quattro, 1001: la mantissa è 1001. Il byte è 11011001. 3. (c) No: le quattro cifre ci stanno tutte. Controllo: 0,1001 con la virgola un posto a destra è 1,001, cioè 1 e 1/8, con il meno. 4. (d) 1,0625 = 1 + 1/16 = 1,0001. Spostando la virgola: 0,10001, con cinque cifre. La mantissa tiene 1000 e perde l'ultimo 1. Il byte è 11011000, che vale −1: c'è troncamento, si perde 1/16. ::: ::: esercizio esame Distanze, parità e codice del libro (a) Calcola la distanza di Hamming tra 10110011 e 10011010. (b) Con la parità dispari, bit di parità a sinistra, scrivi i byte 01000001 e 01000110 (le lettere A e F). (c) Con il codice a 6 bit del libro decodifica 110000. Si può correggere? ::: soluzione 1. (a) Le file sono diverse nei posti 3, 5 e 8: distanza 3. 2. (b) 01000001 ha due 1: bit di parità 1, quindi 101000001. 01000110 ha tre 1: bit di parità 0, quindi 001000110. Controllo: tutte e due le file da 9 bit hanno tre 1, un numero dispari. 3. (c) Le distanze da 110000 sono: A 2, B 6, C 3, D 3, E 3, F 3, G 2, H 2. 4. A, G e H sono tutte a distanza 2. C'è sicuramente un errore, anzi almeno due, ma non si può dire quale lettera era: non si corregge. ::: ## Domande di ripasso ::: domanda Che differenza c'è tra un circuito combinatorio e uno sequenziale? In un circuito combinatorio nessun filo torna indietro: l'uscita dipende solo dagli ingressi di quel momento. In un circuito sequenziale un'uscita rientra come ingresso, e il circuito può ricordare: l'uscita dipende anche da quello che è successo prima. Il flip-flop è sequenziale. ::: ::: domanda Come trovi una formula per una tabella di verità? Prendi le righe con uscita 1. Per ognuna scrivi un AND di tutti gli ingressi, con il NOT su quelli che nella riga valgono 0. Poi unisci tutti gli AND con degli OR. ::: ::: domanda Come si legge un numero in complemento a 2 con 8 bit? Si sommano le monete come senza segno, ma quella di sinistra vale −128. Se il primo bit è 0 il numero si legge come senza segno. Controllo: un negativo, letto senza segno, vale 256 in più. ::: ::: domanda Quando c'è overflow in una somma senza segno? E in complemento a 2? Senza segno, quando esce un riporto dall'ultima colonna a sinistra. In complemento a 2 il riporto finale si butta, e c'è overflow quando due numeri con lo stesso segno danno un risultato con il segno opposto. ::: ::: domanda Com'è fatto il formato in virgola mobile del libro? Un byte: 1 bit di segno, 3 bit di esponente in eccesso 4, 4 bit di mantissa con la virgola a sinistra. L'esponente va da −4 a 3 e dice di quanti posti spostare la virgola. Se le cifre sono più di 4, le ultime si perdono: è l'errore di troncamento. ::: ::: domanda Che cosa sono la compressione con perdita e senza perdita? Fai un esempio per ognuna. Senza perdita si riottengono esattamente i dati di prima: run-length, codifica relativa con le differenze esatte, LZW. Con perdita si ottengono dati solo simili: JPEG, MP3, e anche GIF quando riduce i colori a 256. ::: ::: domanda Perché il codice del libro corregge un errore ma la parità no? Nel codice del libro due lettere qualsiasi differiscono in almeno 3 bit. Con un errore la fila arrivata dista 1 da una sola lettera, e si sa quale era. Con la parità due byte giusti differiscono solo in 2 bit: un errore si vede, ma non si sa quale bit è cambiato. ::: ::: domanda Come si controlla velocemente una conversione in virgola mobile? Si rilegge il byte appena scritto: mantissa con «0,» davanti, virgola spostata di tanti posti quanto dice l'esponente, valore con le monete. Se il numero è diverso da quello di partenza, o c'è troncamento oppure c'è un errore. ::: ## Glossario ```glossario Tabella di verità | L'elenco di tutte le combinazioni degli ingressi di un circuito, con l'uscita di ognuna (*truth table*). Circuito combinatorio | Un circuito di porte senza fili che tornano indietro: l'uscita dipende solo dagli ingressi di quel momento. Circuito sequenziale | Un circuito in cui un'uscita torna come ingresso: può ricordare, come il flip-flop. NAND | La porta AND seguita da NOT: dà 0 solo quando tutti e due gli ingressi sono 1. Flip-flop | Un circuito che ricorda un bit: la sua uscita resta uguale finché un impulso non la cambia. Notazione esadecimale | Il modo di scrivere i bit a gruppi di 4, con le cifre da 0 a 9 e le lettere da A a F (*hexadecimal notation*). Kilobyte | 1024 byte, cioè $2^{10}$ byte, quando si parla di memoria (KB). Virgola fissa | Un numero in base 2 con la virgola in un posto fisso, come 11,101. Overflow | Quando il risultato di un conto non ci sta nei bit disponibili. Complemento a 2 | Il modo di scrivere gli interi con il segno: la moneta di sinistra vale con il segno meno (*two's complement*). Bit di segno | Il bit più a sinistra: in complemento a 2 vale 1 per i negativi (*sign bit*). Notazione in eccesso | Si leggono i bit senza segno e si toglie sempre lo stesso numero: 8 con 4 bit, 4 con 3 bit (*excess notation*). Virgola mobile | Un numero scritto con il segno, le cifre (mantissa) e di quanti posti spostare la virgola (esponente) (*floating-point notation*). Mantissa | Le cifre di un numero in virgola mobile, con la virgola a sinistra: nel formato del libro 4 bit. Errore di troncamento | Le cifre che non entrano nella mantissa e si perdono (*truncation error*, *round-off error*). Compressione senza perdita | Una compressione da cui si riottengono esattamente i dati di prima (*lossless*). Compressione con perdita | Una compressione che restituisce dati solo simili a quelli di prima (*lossy*), come JPEG e MP3. Bit di parità | Il bit aggiunto perché il numero totale di 1 sia dispari (parità dispari) o pari (*parity bit*). Distanza di Hamming | Il numero di posti in cui due file di bit della stessa lunghezza sono diverse. ``` ## Checklist ```checklist - So fare la tabella di un circuito di porte e scartare una formula sbagliata con una sola riga. - So scrivere la formula di una tabella con un AND per ogni riga con uscita 1. - So dire se un circuito è combinatorio o sequenziale, e seguire un flip-flop fatto di NAND. - So passare tra bit, esadecimale e base 10. - So fare i conti sulla memoria: KB, bit, bit degli indirizzi. - So contare i byte di un testo in UTF-8, di un'immagine e di un suono. - So convertire tra base 2 e base 10, anche con la virgola. - So sommare in base 2 e riconoscere l'overflow, senza segno e in complemento a 2. - So leggere e scrivere numeri in complemento a 2 e in eccesso. - So leggere e scrivere un byte in virgola mobile nel formato del libro, con il troncamento. - So applicare run-length, codifica relativa e LZW del libro a un messaggio corto. - So aggiungere e controllare un bit di parità, calcolare la distanza di Hamming e decodificare con il codice del libro. - So che cosa controllare in ogni tipo di quiz, in 5 minuti a domanda. ``` ## Fonti - R. Johnsonbaugh, J. G. Brookshear, D. Brylow, *Fondamenti dell'Informatica*, Pearson 2026 (ISBN 9788891939456), il libro di testo del corso: parte 1, che è il capitolo 1 di J. G. Brookshear, D. Brylow, *Computer Science: an overview*. Le domande delle sezioni 1.1 «Bits and Their Storage», 1.2 «Main Memory», 1.3 «Mass Storage», 1.4 «Representing Information as Bit Patterns», 1.5 «The Binary System», 1.6 «Storing Integers», 1.7 «Storing Fractions», 1.9 «Data Compression» e 1.10 «Communication Errors», con le risposte dell'appendice del libro, pubblicate sul Moodle del canale A (aperto agli ospiti). - Simulazioni d'esame 1 e 2 del 2023/24 della pagina d'esame comune di Fondamenti, nelle schermate svolte a mano da uno studente raccolte nella «Guida degli studenti» del gruppo studentesco TSI (CC BY-SA 4.0). Le risposte di quelle schermate non sono verificate: qui ogni domanda è risolta da capo. - Diario del canale B 2026/27 sul Moodle del canale B, per la data e gli argomenti della lezione. - Le lezioni [01](01_bit_porte_esadecimale.html), [02](02_testo_colori_suoni_binario.html), [03](03_interi_con_segno_virgola_mobile.html) e [04](04_compressione_errori_comunicazione.html) di questi appunti, per i metodi. - Le spiegazioni a parole, i riquadri «Prova tu», gli strumenti interattivi, i quiz e gli esercizi senza il numero di una domanda del libro o di una simulazione sono di questi appunti. --- > File: `contesto_ai/FDA/lezioni/06_proposizioni_connettivi_tavole.md` ```yaml corso: FDA lezione: "06" titolo: Proposizioni, connettivi e tavole di verità data: 2026-10-12 docenti: Stefano Berardi sopratitolo: Canale B · Lezione 06 · Libro, parte 2, §1.2 descrizione: >- Appunti della lezione 06 di Fondamenti dell'Informatica (canale B), la prima della parte 2 del libro: proposizioni e valori di verità, congiunzione, disgiunzione inclusiva ed esclusiva, negazione, formule e parentesi, tavole di verità, valutare una formula in una riga, tradurre l'italiano in formule; uno strumento interattivo per le tavole, quiz ed esercizi svolti. lede: >- Comincia la logica. Una proposizione è una frase che è vera o falsa; con «e», «o» e «non» se ne costruiscono di più lunghe, e la tavola di verità dice quando sono vere. È la stessa cosa delle porte logiche della lezione 01, scritta con le parole. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 2 (Johnsonbaugh, cap. 1), §1.2 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Libro di testo del corso, parte 2 (R. Johnsonbaugh, Discrete Mathematics, cap. 1), §1.2 «Propositions», con le domande di ripasso e le soluzioni degli esercizi pubblicate sul Moodle del canale A; diario della lezione del 12/10/2026 del canale B; dispense di logica di Felice Cardone (Moodle del canale A); simulazioni d'esame 2023/24 appunti_html: appunti/FDA/06_proposizioni_connettivi_tavole.html genera_html: true simboli_logici: si ``` ## In breve - Una **proposizione** è una frase che è **vera o falsa**, non tutte e due. «Torino è in Piemonte» lo è; una domanda, un ordine o «x è maggiore di 3» no. - Con tre parole si costruiscono frasi più lunghe: «**e**», «**o**» e «**non**». Si chiamano **connettivi**: la congiunzione, la disgiunzione e la negazione. - La frase con «e» è vera solo se sono vere **tutte e due** le parti. Quella con «o» è vera se ne è vera **almeno una**. «Non» scambia vero e falso. - L'«o» della logica è **inclusivo**: è vero anche quando sono vere tutte e due le parti. L'«o» esclusivo, «o l'una o l'altra ma non tutte e due», ha un simbolo suo, $\oplus$. - La **tavola di verità** di una formula prova tutte le combinazioni di vero e falso delle lettere: con 2 lettere sono 4 righe, con 3 lettere 8. - Senza parentesi si calcola prima «non», poi «e», poi «o». Ma nel dubbio si mettono le **parentesi**. - Sono le porte logiche della lezione 01: AND, OR, NOT e XOR, con V al posto di 1 e F al posto di 0. > [!CANALI] > Nel canale B è la lezione di lunedì 12/10, dalle 9 alle 11. Per il docente è la lezione 7, perché la prima è stata un'introduzione: qui è la 06. Il diario del canale B la riassume così: «Capitolo 1.2 (Parte 2) Logica Proposizionale. Posposto: capitolo 1.1 su insiemi.» Comincia quindi la **parte 2** del libro, che è il libro di Johnsonbaugh sulla matematica discreta; il primo paragrafo, sugli insiemi, il docente lo farà più avanti. Gli insiemi sono anche in Matematica Discreta, nelle lezioni [D01](../MDAG/D01_insiemi_induzione.html) e [D02](../MDAG/D02_complementare_induzione_partizioni.html). Non ho i lucidi del docente: ho seguito il §1.2 del libro, con le sue domande di ripasso e le soluzioni degli esercizi pubblicate sul Moodle del canale A (id 3851, aperto agli ospiti). Nel canale A la logica è nelle dispense di Felice Cardone sullo stesso Moodle. Nel canale C è nei lucidi del docente. ## Frasi che sono vere o false (libro, §1.2) All'ingresso di un concerto il controllore fa domande precise: «Hai il biglietto?», «Hai un documento?». Ogni risposta è sì o no. Allo stesso modo, alcune frasi si possono giudicare: o sono vere, o sono false. Guarda queste sei frasi. 1. Torino è il capoluogo del Piemonte. 2. $2 + 5 = 19$. 3. Che ore sono? 4. Chiudi la porta. 5. $x + 2 = 5$. 6. Il biglietto del concerto costa 40 euro. La 1 è vera. La 2 è falsa, ma è comunque una frase che si può giudicare. La 3 è una domanda e la 4 un ordine: non sono né vere né false. La 5 dipende da chi è $x$: vera se $x$ vale 3, falsa altrimenti, e finché non lo sai non ha un valore. La 6 si può controllare: è vera o falsa, anche se non sai quale delle due. > [!IDEA] > Una proposizione è una frase a cui si può rispondere «vero» o «falso». Non serve sapere quale delle due: basta che sia una delle due, e una sola. > [!DEF] Proposizione (libro, §1.2) > Una **proposizione** è una frase che è vera oppure falsa, ma non entrambe le cose. **Come si legge.** Una proposizione ha un **valore di verità**: vero o falso. Il libro, che è in inglese, li scrive T (*true*) e F (*false*); qui uso **V** e **F**. Nei circuiti della lezione 01 gli stessi valori erano 1 e 0. Domande, ordini e frasi con una lettera che non si sa quanto vale non sono proposizioni. Le frasi come la 5, che diventano proposizioni quando scegli il valore di $x$, hanno un nome loro: le vedrai nel §1.5 del libro, con «per ogni» ed «esiste». > [!ESEMPIO] Dalle soluzioni del libro > Le soluzioni degli esercizi del §1.2 dicono così, per le frasi che il libro propone: > - «$2 + 5 = 19$» **è** una proposizione, falsa. La sua negazione è «$2 + 5 \neq 19$». > - una domanda **non** è una proposizione; > - un ordine **non** è una proposizione; > - «$p - q$, dove $p$ e $q$ sono numeri primi» **non** è una proposizione: descrive un numero, non dice niente di vero o di falso. ### Le lettere al posto delle frasi Alla logica non interessa **di che cosa** parla una frase, ma solo se è vera o falsa. Per questo si sostituiscono le frasi con delle lettere: $p$, $q$, $r$ nel libro; $A$, $B$, $C$ nelle dispense del canale A. Per esempio: - $p$: «ho il biglietto»; - $q$: «ho un documento». Ogni lettera sta per una proposizione qualunque, che può essere vera o falsa. ::: prova Quali sono proposizioni? (a) «7 è un numero primo.» (b) «Apri la finestra.» (c) «$y < 10$.» (d) «Il 31/12/2026 è un giovedì.» (a) Sì, vera. (b) No: è un ordine. (c) No: dipende da $y$. (d) Sì: basta un calendario per controllarla, ed è vera. ::: > [!RICORDA] > - Proposizione: una frase vera o falsa, non tutte e due. > - Domande, ordini e frasi con una variabile libera non sono proposizioni. ## Unire le frasi: «e», «o», «non» (libro, §1.2) Il controllore del concerto ha una regola: «Entri se hai il biglietto **e** un documento». Con due proposizioni ne ha costruita una terza, più lunga. Le parole che uniscono le frasi si chiamano **connettivi**. I tre principali sono «e», «o» e «non». ### «E»: tutte e due Quando entri al concerto con la regola «biglietto e documento»? Proviamo tutti i casi: | Hai il biglietto? | Hai il documento? | Entri? | |:-:|:-:|:-:| | sì | sì | **sì** | | sì | no | no | | no | sì | no | | no | no | no | Entri solo nel primo caso: devono essere vere **tutte e due** le cose. > [!DEF] Congiunzione (libro, §1.2) > La **congiunzione** delle proposizioni $p$ e $q$ è la proposizione «$p$ e $q$», che si scrive $p \wedge q$. È vera quando $p$ e $q$ sono tutte e due vere, e falsa in tutti gli altri casi. **Come si legge.** Il simbolo $\wedge$ si legge «e». È una specie di A senza trattino: ricorda AND. Basta che una parte sia falsa perché tutta la frase sia falsa. ### «O»: almeno una Al bar del concerto si paga «in contanti **o** con la carta». Se hai tutte e due le cose, puoi pagare lo stesso. Non puoi pagare solo se non hai né l'una né l'altra. | Hai contanti? | Hai la carta? | Puoi pagare? | |:-:|:-:|:-:| | sì | sì | **sì** | | sì | no | **sì** | | no | sì | **sì** | | no | no | no | > [!DEF] Disgiunzione (libro, §1.2) > La **disgiunzione** delle proposizioni $p$ e $q$ è la proposizione «$p$ o $q$», che si scrive $p \vee q$. È vera quando almeno una tra $p$ e $q$ è vera, e falsa solo quando sono tutte e due false. **Come si legge.** Il simbolo $\vee$ si legge «o», e viene dal latino *vel*. È il contrario di $\wedge$: basta una parte vera perché tutta la frase sia vera. > [!TRAPPOLA] L'«o» della logica comprende il caso «tutte e due» > Nell'italiano di tutti i giorni «o» a volte vuol dire «o l'uno o l'altro, ma non tutti e due»: «a pranzo pasta o riso». In logica $p \vee q$ è vera **anche** quando $p$ e $q$ sono vere tutte e due. Si chiama «o» **inclusivo**. ### «Non»: il contrario La negazione di una proposizione è vera quando la proposizione è falsa, e falsa quando è vera. > [!DEF] Negazione (libro, §1.2) > La **negazione** della proposizione $p$ è la proposizione «non $p$», che si scrive $\neg p$. È vera quando $p$ è falsa, e falsa quando $p$ è vera. **Come si legge.** $\neg p$ si legge «non $p$». Il simbolo $\neg$ è un trattino con la coda, attaccato davanti alla lettera. ### Le tavole dei connettivi Le tre regole si mettono in una tabella, la **tavola di verità**: una riga per ogni combinazione di valori. | $p$ | $q$ | $p \wedge q$ | $p \vee q$ | $\neg p$ | |:-:|:-:|:-:|:-:|:-:| | V | V | V | V | F | | V | F | F | V | F | | F | V | F | V | V | | F | F | F | F | V | > [!NOTA] Sono le porte logiche della lezione 01 > La porta AND della [lezione 01](01_bit_porte_esadecimale.html) dà 1 solo se tutti e due gli ingressi sono 1: è la tavola di $\wedge$, con 1 al posto di V e 0 al posto di F. La porta OR è $\vee$, la porta NOT è $\neg$. In C, nella condizione di un `if`, gli stessi connettivi si scrivono `&&`, `||` e `!`. ::: prova Con $p$ vera e $q$ falsa, quanto valgono $p \wedge q$, $p \vee q$, $\neg p$ e $\neg q$? $p \wedge q$ è F, perché $q$ è falsa. $p \vee q$ è V, perché $p$ è vera. $\neg p$ è F e $\neg q$ è V. ::: > [!RICORDA] > - $\wedge$, «e»: vera solo con tutte e due le parti vere. > - $\vee$, «o»: falsa solo con tutte e due le parti false. > - $\neg$, «non»: scambia V e F. ## L'«o» esclusivo (libro, §1.2, esercizi) A volte «o» vuol dire davvero «uno solo dei due». Al concerto: «Con il biglietto ridotto ricevi la maglietta **o** il poster». Non ti danno tutti e due. Questo «o» si chiama **esclusivo**. | $p$ | $q$ | $p \oplus q$ | |:-:|:-:|:-:| | V | V | F | | V | F | V | | F | V | V | | F | F | F | L'«o» esclusivo si scrive $p \oplus q$ e si legge «$p$ xor $q$»: XOR sta per *exclusive or*. È vero quando le due parti hanno valori **diversi**. È la porta XOR della lezione 01. Il libro lo usa negli esercizi del §1.2: per ogni frase chiede se l'«o» è inclusivo o esclusivo. Le soluzioni ufficiali mostrano che dipende dal senso della frase. Ecco tre esempi nello stesso stile, con la risposta: - «Il portabicchieri dell'auto riscalda o raffredda la bevanda»: esclusivo, perché non può fare tutte e due le cose insieme. - «L'incontro è annullato se si iscrivono meno di 10 persone o se nevica»: inclusivo, perché con tutte e due le cose l'incontro è annullato lo stesso. - «Per entrare devi mostrare la carta d'identità o il passaporto»: le soluzioni del libro, per una frase così, dicono che il senso voluto è quello esclusivo. In pratica nessuno ti respinge se li mostri tutti e due: le frasi d'uso comune sono spesso ambigue. > [!NOTA] Un regolamento ambiguo, davvero > Il libro racconta un regolamento comunale: «È vietato tenere più di tre cani e più di tre gatti nella propria proprietà». Chi ha quattro cani e due gatti viola la regola? Letta alla lettera, no: serve tenere più di tre cani **e** più di tre gatti. Un giudice ha dichiarato la regola «vaga»: probabilmente si voleva scrivere «o». Il libro suggerisce che il senso voluto fosse «più di tre cani o più di tre gatti». ::: prova Con $p$ vera e $q$ vera, quanto valgono $p \vee q$ e $p \oplus q$? $p \vee q$ è V: l'«o» inclusivo accetta il caso «tutte e due». $p \oplus q$ è F: l'«o» esclusivo lo esclude. ::: > [!RICORDA] > - $p \oplus q$, «o esclusivo»: vera quando le due parti hanno valori diversi. > - In logica, senza altre indicazioni, «o» è sempre inclusivo: $\vee$. ## Negare una frase senza sbagliare (libro, §1.2) La negazione sembra la parte più facile, ma in italiano è facile sbagliarla. Negare vuol dire dire esattamente **il contrario**: la negazione è vera in tutti i casi in cui la frase è falsa, e solo in quelli. > [!ESEMPIO] Dieci lanci di una moneta (soluzioni del libro, §1.2) > Lanci una moneta 10 volte. La frase è «sono uscite 10 teste». > - La negazione è «**non** sono uscite 10 teste», cioè «è uscita **almeno una** croce». > - **Non** è «sono uscite 10 croci»: con 5 teste e 5 croci la frase di partenza è falsa, ma anche questa. > > Con la frase «non è uscita nessuna testa», la negazione è «è uscita almeno una testa», non «sono uscite 10 teste». Lo stesso succede con i numeri. Le dispense del canale A lo fanno notare: la negazione di «$2 < 5$» è «$2 \ge 5$», non «$2 > 5$». C'è anche il caso dell'uguaglianza, che non va dimenticato. > [!TRAPPOLA] Il contrario non è l'opposto > La negazione di «tutti i biglietti sono venduti» non è «nessun biglietto è venduto», ma «**almeno un** biglietto non è venduto». La negazione deve coprire **tutti** i casi in cui la frase di partenza è falsa. La negazione di «Torino è in Piemonte» è «Torino non è in Piemonte», o anche «non è vero che Torino è in Piemonte». Non è «Torino è in Lombardia»: quella è un'altra frase, che non copre tutti i casi. ::: prova Scrivi la negazione di: (a) «Il concerto comincia alle 21.» (b) «Ho almeno 18 anni.» (c) «Tutti hanno il biglietto.» (a) «Il concerto non comincia alle 21.» (b) «Ho meno di 18 anni.» (c) «Almeno una persona non ha il biglietto.» ::: > [!RICORDA] > - La negazione è vera esattamente quando la frase di partenza è falsa. > - «Non tutti» vuol dire «almeno uno no», non «nessuno». ## Formule e parentesi (libro, §1.2) Con i connettivi si costruiscono frasi lunghe quanto vuoi. Al concerto, per esempio: «Entri se hai il biglietto e un documento, oppure se sei nella lista degli ospiti». Con le lettere: - $p$: «hai il biglietto»; - $q$: «hai un documento»; - $r$: «sei nella lista degli ospiti». La regola è $(p \wedge q) \vee r$. Un'espressione così, fatta di lettere, connettivi e parentesi, si chiama **formula**, o **proposizione composta**. ### Le parentesi cambiano il senso Senza parentesi, la regola si potrebbe leggere in due modi: - $(p \wedge q) \vee r$: «biglietto e documento», oppure «in lista»; - $p \wedge (q \vee r)$: «biglietto», e in più «documento o lista». Sono due regole diverse. Un ospite in lista senza biglietto entra con la prima, ma non con la seconda. ### L'ordine dei connettivi Per non scrivere troppe parentesi, il libro fissa un ordine, come in aritmetica si fanno le moltiplicazioni prima delle somme: 1. prima $\neg$; 2. poi $\wedge$; 3. poi $\vee$. Quindi $p \vee q \wedge r$ vuol dire $p \vee (q \wedge r)$, e $\neg p \wedge q$ vuol dire $(\neg p) \wedge q$. > [!TRAPPOLA] Il «non» si attacca solo a quello che segue > $\neg p \wedge q$ vuol dire «non $p$, e $q$». Per negare tutta la congiunzione servono le parentesi: $\neg(p \wedge q)$. In italiano la differenza è tra «non ho il biglietto e ho il documento» e «non è vero che ho il biglietto e il documento». All'esame e negli esercizi conviene comunque **mettere sempre le parentesi**: non costano niente, ed evitano gli errori. ::: prova Metti le parentesi secondo l'ordine del libro: (a) $\neg p \vee q$; (b) $p \wedge q \vee r$; (c) $p \vee \neg q \wedge r$. (a) $(\neg p) \vee q$. (b) $(p \wedge q) \vee r$. (c) $p \vee ((\neg q) \wedge r)$. ::: > [!RICORDA] > - Una formula è fatta di lettere, connettivi e parentesi. > - Ordine: prima $\neg$, poi $\wedge$, poi $\vee$. Nel dubbio, parentesi. ## La tavola di verità di una formula (libro, §1.2) Per sapere quando una formula è vera si provano **tutti i casi possibili**: tutte le combinazioni di V e F delle lettere. Ogni combinazione è una riga della tavola. ### Quante righe Ogni lettera può essere V o F. Con una lettera i casi sono 2; ogni lettera in più **raddoppia** i casi, come gli ingressi di un circuito nella lezione 01. | Lettere | Righe | |:-:|:-:| | 1 | 2 | | 2 | 4 | | 3 | 8 | | 4 | 16 | Con $n$ lettere le righe sono $2^n$. ### L'ordine delle righe Per non dimenticare righe si usa sempre lo stesso schema, quello del libro: - la **prima** lettera ha la prima metà delle righe V e la seconda metà F; - la seconda alterna a gruppi più piccoli, della metà; - l'**ultima** alterna una riga sì e una no: V, F, V, F. È come contare in base 2 della lezione 02, ma all'indietro e con V al posto di 0. > [!METODO] Costruire la tavola di una formula > 1. Conta le lettere: se sono $n$, le righe sono $2^n$. Scrivi le combinazioni con lo schema qui sopra. > 2. Spezza la formula nei suoi pezzi, dal più piccolo al più grande. Ogni pezzo è una colonna. > 3. Riempi le colonne da sinistra a destra, usando le tavole dei connettivi e le colonne già pronte. > 4. L'ultima colonna è la formula intera. > [!ESEMPIO] La regola «biglietto e documento, oppure in lista» > La formula è $(p \wedge q) \vee r$. Tre lettere, quindi 8 righe. I pezzi: prima $p \wedge q$, poi la formula intera. > > | $p$ | $q$ | $r$ | $p \wedge q$ | $(p \wedge q) \vee r$ | > |:-:|:-:|:-:|:-:|:-:| > | V | V | V | V | V | > | V | V | F | V | V | > | V | F | V | F | V | > | V | F | F | F | F | > | F | V | V | F | V | > | F | V | F | F | F | > | F | F | V | F | V | > | F | F | F | F | F | > > Entri in 5 casi su 8: quando hai biglietto e documento (righe 1 e 2), e quando sei in lista (righe 1, 3, 5, 7). > [!ESEMPIO] Una formula con la negazione: $(p \vee q) \wedge \neg r$ > I pezzi sono $p \vee q$, $\neg r$ e la formula intera. > > | $p$ | $q$ | $r$ | $p \vee q$ | $\neg r$ | $(p \vee q) \wedge \neg r$ | > |:-:|:-:|:-:|:-:|:-:|:-:| > | V | V | V | V | F | F | > | V | V | F | V | V | V | > | V | F | V | V | F | F | > | V | F | F | V | V | V | > | F | V | V | V | F | F | > | F | V | F | V | V | V | > | F | F | V | F | F | F | > | F | F | F | F | V | F | > > È vera in 3 righe: quando $r$ è falsa e almeno una tra $p$ e $q$ è vera. ### Prova tu con lo strumento Scrivi una formula: lo strumento fa la tavola, con una colonna per ogni pezzo, nello stesso ordine del libro. Prova a cambiare le parentesi della regola del concerto e guarda come cambiano le righe. ```widget logica titolo: La tavola di verità di una formula modo: tavola formula: (p ∧ q) ∨ r ``` ### Formule sempre vere e sempre false Alcune formule hanno la stessa colonna finale in tutte le righe. - $p \vee \neg p$, «piove o non piove», è vera in **tutte** le righe. Una formula così si chiama **tautologia**. - $p \wedge \neg p$, «piove e non piove», è falsa in **tutte** le righe. Si chiama **contraddizione**. Il libro, negli esercizi del §1.2, ne fa costruire due più lunghe. Le soluzioni ufficiali danno queste tavole: | $p$ | $q$ | $p \wedge \neg q$ | $(p \wedge q) \wedge \neg q$ | |:-:|:-:|:-:|:-:| | V | V | F | F | | V | F | V | F | | F | V | F | F | | F | F | F | F | La seconda è sempre falsa: chiede che $q$ sia vera, dentro $p \wedge q$, e falsa, con $\neg q$, nello stesso momento. Anche la formula $(p \vee q) \wedge (\neg p \vee q) \wedge (p \vee \neg q) \wedge (\neg p \vee \neg q)$ dell'esercizio successivo è sempre falsa: ogni riga rende falso uno dei quattro pezzi. Prova a scriverla nello strumento. ::: prova Quante righe ha la tavola di $(p \vee q) \wedge (r \vee s)$? E in quante righe è falsa $p \vee q \vee r$? 4 lettere: 16 righe. $p \vee q \vee r$ è falsa solo quando sono false tutte e tre: una riga sola, l'ultima. ::: > [!RICORDA] > - Con $n$ lettere, $2^n$ righe: la prima lettera cambia più lentamente, l'ultima a ogni riga. > - Una colonna per ogni pezzo della formula, dal più piccolo al più grande. > - Tautologia: sempre vera. Contraddizione: sempre falsa. ## Il valore in una sola riga Spesso non serve tutta la tavola: un quiz dà i valori delle lettere e chiede quanto vale la formula. Si fa come un'espressione dell'aritmetica: si sostituiscono i valori e si calcola da dentro verso fuori. > [!ESEMPIO] $(p \wedge \neg q) \vee (\neg p \wedge r)$ con $p$ = V, $q$ = V, $r$ = F > 1. $\neg q$ = F, quindi $p \wedge \neg q$ = V $\wedge$ F = F. > 2. $\neg p$ = F, quindi $\neg p \wedge r$ = F $\wedge$ F = F. > 3. F $\vee$ F = F. > > La formula è falsa. Un trucco fa risparmiare tempo: con «e» basta trovare una parte falsa, con «o» basta trovare una parte vera. Il resto non serve calcolarlo. ::: prova Quanto vale $\neg(p \vee q) \vee (q \wedge r)$ con $p$ = F, $q$ = V, $r$ = V? $p \vee q$ = V, quindi $\neg(p \vee q)$ = F. $q \wedge r$ = V. F $\vee$ V = V: la formula è vera. ::: > [!RICORDA] > - Per una riga sola: sostituisci i valori e calcola da dentro verso fuori. > - Con «e» cerca una parte falsa, con «o» una parte vera: spesso basta. ## Dall'italiano alle formule (libro, §1.2) Molti esercizi del libro chiedono di tradurre: dalle frasi alle formule, e dalle formule alle frasi. Ci sono alcune parole a cui fare attenzione. | Frase in italiano | Formula | Attenzione | |---|---|---| | ho il biglietto e il documento | $p \wedge q$ | | | ho il biglietto **ma** non il documento | $p \wedge \neg q$ | «ma», «però», «eppure» sono «e» | | ho il biglietto **o** il documento | $p \vee q$ | inclusivo, se non c'è scritto altro | | **o** il biglietto **o** il documento, non tutti e due | $p \oplus q$ | esclusivo, quando lo dice il testo | | **né** il biglietto **né** il documento | $\neg p \wedge \neg q$ | sono false tutte e due | | **non** ho il biglietto e ho il documento | $\neg p \wedge q$ | il «non» riguarda solo il biglietto | | **non è vero che** ho il biglietto e il documento | $\neg(p \wedge q)$ | il «non» riguarda tutta la frase | > [!TRAPPOLA] «Né… né» vuol dire «nessuna delle due» > «Né il biglietto né il documento» dice che mancano **tutti e due**: $\neg p \wedge \neg q$. La formula $\neg p \vee \neg q$ dice un'altra cosa: che ne manca **almeno uno**. Nella tavola qui sotto le due colonne sono diverse nelle righe 2 e 3. | $p$ | $q$ | $\neg p \wedge \neg q$ | $\neg p \vee \neg q$ | $\neg(p \wedge q)$ | |:-:|:-:|:-:|:-:|:-:| | V | V | F | F | F | | V | F | F | V | V | | F | V | F | V | V | | F | F | V | V | V | Le ultime due colonne sono uguali: «non è vero che ho tutti e due» è lo stesso che «me ne manca almeno uno». È una delle **leggi di De Morgan**, che il libro presenta nel §1.3, la prossima lezione. > [!ESEMPIO] Traduzioni nello stile del libro > Il libro usa due proposizioni su uno studente: $p$, «Lea segue informatica», e $q$, «Lea segue matematica». Nelle soluzioni le traduzioni sono così: > - $\neg p$: «Lea non segue informatica»; > - $p \vee \neg q$: «Lea segue informatica o non segue matematica»; > - $\neg p \wedge \neg q$: «Lea non segue né informatica né matematica». > > Con tre proposizioni, $p$ «oggi è lunedì», $q$ «piove», $r$ «fa caldo»: la formula $(p \wedge q) \wedge \neg(r \vee p)$ si legge «oggi è lunedì e piove, e non è vero che fa caldo o è lunedì». È una contraddizione: chiede che sia lunedì e che non sia lunedì. ::: prova Con $p$: «piove» e $q$: «fa freddo», traduci: (a) «Piove ma non fa freddo.» (b) «Né piove né fa freddo.» (c) «Non è vero che piove e fa freddo.» (a) $p \wedge \neg q$. (b) $\neg p \wedge \neg q$. (c) $\neg(p \wedge q)$. ::: > [!RICORDA] > - «Ma» è un «e»; «né… né» è $\neg p \wedge \neg q$. > - Guarda fin dove arriva il «non»: su una parte sola, o su tutta la frase. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | V, F | «vero», «falso» | i due valori di verità; nel libro T e F | | | $p$, $q$, $r$ | «pi», «cu», «erre» | proposizioni qualsiasi | $p$: «ho il biglietto» | | $p \wedge q$ | «$p$ e $q$» | congiunzione: vera solo se tutte e due vere | V $\wedge$ F = F | | $p \vee q$ | «$p$ o $q$» | disgiunzione inclusiva: vera se almeno una è vera | V $\vee$ F = V | | $p \oplus q$ | «$p$ xor $q$» | o esclusivo: vera se i valori sono diversi | V $\oplus$ V = F | | $\neg p$ | «non $p$» | negazione: il valore opposto | $\neg$V = F | | $2^n$ | «due alla enne» | il numero di righe con $n$ lettere | $2^3 = 8$ | | `&&`, `\|\|`, `!` | «and», «or», «not» | gli stessi connettivi in C | `x > 0 && x < 10` | ## Verso l'esame Le regole dell'esame, uguali per i tre canali, sono nella [lezione 01](01_bit_porte_esadecimale.html) e nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md): 9 quiz in 45 minuti al computer, con Safe Exam Browser, da 3 punti l'uno; servono almeno 18 punti. **Che cosa serve di questa lezione** 1. **Valutare una formula riga per riga.** Nella simulazione 1 del 2023/24 un quiz dà una formula e quattro righe di valori, e chiede il valore della formula in ogni riga. Quella formula usa anche $\to$ e $\leftrightarrow$, che sono la [lezione 07](07_condizionali_equivalenza_logica.html); il metodo è quello di qui. 2. **Dalla tabella alla formula, e i circuiti.** I quiz sui circuiti (simulazione 1, domande 5 e 6) chiedono quali formule hanno una certa tavola. Si risolvono con le tavole di questa lezione: sono svolti nella [lezione 05](05_esercizi_circuiti_rappresentazioni.html). 3. **Tradurre e negare.** Le negazioni di frasi, con «tutti», «nessuno», «almeno uno», tornano nella simulazione 2 del 2023/24, con i quantificatori del §1.5 del libro. ### Una domanda nello stile del quiz, letta insieme **Il testo**: «Considera la formula $(A \vee B) \wedge \neg(A \wedge B)$. Seleziona il valore della formula in ogni riga della tabella: $A$ = V, $B$ = V; $A$ = V, $B$ = F; $A$ = F, $B$ = F; $A$ = F, $B$ = V.» È costruita come il quiz 3 della simulazione 1, ma con i connettivi di questa lezione. **In pratica chiede:** quattro valori, uno per riga. Le righe non sono nell'ordine solito. > [!ESEMPIO] · la soluzione, passo per passo > Per ogni riga calcolo i due pezzi, $A \vee B$ e $\neg(A \wedge B)$, e poi li unisco con «e». > > | $A$ | $B$ | $A \vee B$ | $A \wedge B$ | $\neg(A \wedge B)$ | formula | > |:-:|:-:|:-:|:-:|:-:|:-:| > | V | V | V | V | F | **F** | > | V | F | V | F | V | **V** | > | F | F | F | F | V | **F** | > | F | V | V | F | V | **V** | > > Le risposte sono F, V, F, V. A parole: «almeno uno, ma non tutti e due», cioè l'«o» esclusivo. La formula ha la stessa tavola di $A \oplus B$. > [!METODO] I quiz «valore in ogni riga» > 1. **Leggi i valori di ogni riga**: nei quiz l'ordine delle righe cambia. > 2. Calcola i pezzi da dentro verso fuori, scrivendo ogni valore. > 3. Usa le scorciatoie: «e» con una parte falsa è falso, «o» con una parte vera è vero. > 4. Alla fine guarda la colonna: se ha sempre lo stesso valore, ricontrolla; può essere una tautologia o una contraddizione, ma può anche essere un errore. **Errori da evitare** - Leggere l'«o» come esclusivo: V $\vee$ V è V. - Dimenticare righe: con 3 lettere sono 8, non 6. - Applicare il «non» a tutta la formula quando riguarda una lettera sola. - Negare «tutti» con «nessuno». - Considerare proposizioni le frasi con una variabile libera. ## Quiz ```quiz D: Quale di queste frasi è una proposizione? + «Il 2 è l'unico numero primo pari.» - «Quanti anni hai?» - «Studia il capitolo 1.» - «$x$ è un numero pari.» - «Speriamo che il concerto cominci presto!» = Una proposizione è vera o falsa: la prima lo è, ed è vera. La risposta più insidiosa è «$x$ è un numero pari»: sembra una frase di matematica, ma finché non sai chi è $x$ non è né vera né falsa. Una domanda, un ordine e un augurio non sono proposizioni. D: Con $p$ falsa e $q$ vera, quale formula è vera? + $p \vee q$ - $p \wedge q$ - $\neg q$ - $p \wedge \neg q$ - $\neg(p \vee q)$ = $p \vee q$ è vera perché $q$ è vera. La risposta più insidiosa è $p \wedge \neg q$: ci sono due negazioni nascoste nel ragionamento, ma $p$ è falsa e basta questo a rendere falsa la congiunzione. $p \wedge q$ è falsa per lo stesso motivo; $\neg q$ è falsa; $\neg(p \vee q)$ è falsa perché $p \vee q$ è vera. D: Quante righe ha la tavola di verità di $(p \wedge q) \vee (\neg r \wedge s)$? + 16 - 8 - 4 - 6 - 32 = Le lettere sono 4: $p$, $q$, $r$, $s$. Le righe sono $2^4 = 16$. La risposta più insidiosa è 8, che si ottiene contando 3 lettere o dimenticando che $\neg r$ contiene la lettera $r$. 32 sarebbe con 5 lettere. D: Come va letta $p \vee \neg q \wedge r$ secondo l'ordine dei connettivi del libro? + $p \vee ((\neg q) \wedge r)$ - $(p \vee \neg q) \wedge r$ - $p \vee \neg(q \wedge r)$ - $\neg(p \vee q) \wedge r$ - $(p \vee \neg q \vee r)$ = Prima $\neg$, che si attacca solo a $q$; poi $\wedge$, che unisce $\neg q$ e $r$; per ultimo $\vee$. La risposta più insidiosa è $(p \vee \neg q) \wedge r$: legge da sinistra a destra come in una frase, ma $\wedge$ viene prima di $\vee$. Le altre spostano il «non» su più lettere. D: Quanto vale $(p \wedge \neg q) \vee (\neg p \wedge r)$ con $p$ = F, $q$ = V, $r$ = V? + V - F - dipende da $q$ - non si può dire senza la tavola - dipende dall'ordine delle righe = $p \wedge \neg q$ è falsa, perché $p$ è falsa. $\neg p \wedge r$ è V $\wedge$ V = V. F $\vee$ V = V. La risposta più insidiosa è F, che si ottiene fermandosi al primo pezzo. Con tutti i valori dati il risultato è sempre uno solo: non serve la tavola. D: Qual è la negazione di «Tutti gli spettatori hanno il biglietto»? + «Almeno uno spettatore non ha il biglietto.» - «Nessuno spettatore ha il biglietto.» - «Tutti gli spettatori non hanno il biglietto.» - «Almeno uno spettatore ha il biglietto.» - «Qualche spettatore ha due biglietti.» = La negazione deve essere vera in tutti i casi in cui la frase è falsa: basta uno senza biglietto. La risposta più insidiosa è «Nessuno spettatore ha il biglietto»: è l'opposto, ma resta falsa quando metà degli spettatori ha il biglietto e metà no. La terza dice la stessa cosa della seconda. D: Quale formula traduce «Non ho né contanti né la carta», con $p$: «ho contanti» e $q$: «ho la carta»? + $\neg p \wedge \neg q$ - $\neg p \vee \neg q$ - $\neg(p \wedge q)$ - $\neg p \wedge q$ - $p \oplus q$ = «Né… né» vuol dire che mancano tutti e due: tutte e due le negazioni sono vere. La risposta più insidiosa è $\neg p \vee \neg q$, che vuol dire «me ne manca almeno uno»: è vera anche se ho i contanti ma non la carta. $\neg(p \wedge q)$ dice la stessa cosa, per la legge di De Morgan. D: In quale riga $p \oplus q$ e $p \vee q$ hanno valori diversi? + $p$ = V, $q$ = V - $p$ = V, $q$ = F - $p$ = F, $q$ = V - $p$ = F, $q$ = F - in nessuna riga = Con tutte e due vere, l'«o» inclusivo è vero e quello esclusivo è falso: è l'unica differenza. La risposta più insidiosa è «in nessuna riga», per chi pensa che «o» sia sempre lo stesso. Nelle altre tre righe i due connettivi danno lo stesso valore. D: Quale formula è una contraddizione, cioè falsa in tutte le righe? + $(p \wedge q) \wedge \neg q$ - $p \wedge \neg q$ - $p \vee \neg p$ - $\neg(p \wedge \neg p)$ - $(p \vee q) \wedge \neg q$ = $(p \wedge q) \wedge \neg q$ chiede che $q$ sia vera e falsa insieme: impossibile. La risposta più insidiosa è $(p \vee q) \wedge \neg q$: sembra simile, ma con $p$ vera e $q$ falsa è vera. $p \vee \neg p$ e $\neg(p \wedge \neg p)$ sono tautologie, sempre vere; $p \wedge \neg q$ è vera in una riga. D: In quante righe della sua tavola di verità è vera la formula $(p \wedge q) \vee r$? N: 5 = Le righe sono 8. La formula è vera quando $r$ è vera (4 righe) e, in più, quando $r$ è falsa ma $p$ e $q$ sono vere (1 riga): in tutto 5. ``` ## Esercizi ::: esercizio base Riscaldamento: proposizione o no? Dì quali frasi sono proposizioni e, per quelle che lo sono, se sono vere o false: (a) «$3 \cdot 4 = 12$.» (b) «Ricordati di comprare il latte.» (c) «Il numero $x^2$ è positivo.» (d) «Roma è più a nord di Milano.» (e) «Che bello questo esercizio!» ::: soluzione (a) Proposizione vera. (b) Non è una proposizione: è un ordine. (c) Non è una proposizione: dipende da $x$, e con $x = 0$ sarebbe falsa. (d) Proposizione falsa. (e) Non è una proposizione: è un'esclamazione. ::: ::: esercizio base Riscaldamento: i tre connettivi Con $p$ = V, $q$ = F e $r$ = V, calcola: (a) $p \wedge r$; (b) $q \vee r$; (c) $\neg p \vee q$; (d) $\neg(q \wedge r)$; (e) $p \oplus r$. ::: soluzione (a) V $\wedge$ V = V. (b) F $\vee$ V = V. (c) $\neg p$ = F, e F $\vee$ F = F. (d) $q \wedge r$ = F, quindi la negazione è V. (e) V $\oplus$ V = F: valori uguali. ::: ::: esercizio base Riscaldamento: quante righe Quante righe hanno le tavole di (a) $\neg p$; (b) $p \wedge q$; (c) $(p \vee q) \wedge \neg p$; (d) $(p \wedge q) \vee (r \wedge s) \vee t$? ::: soluzione Contano le lettere diverse, non quante volte compaiono. (a) 1 lettera: 2 righe. (b) 2 lettere: 4 righe. (c) 2 lettere, perché $p$ compare due volte: 4 righe. (d) 5 lettere: $2^5 = 32$ righe. ::: ::: esercizio base Riscaldamento: negare bene Scrivi la negazione di queste frasi: (a) «Ho almeno 18 anni.» (b) «Sono uscite 10 teste su 10 lanci.» (c) «Nessuno è arrivato in ritardo.» (d) «$x < 7$.» ::: soluzione (a) «Ho meno di 18 anni.» (b) «È uscita almeno una croce.» (c) «Almeno una persona è arrivata in ritardo.» (d) «$x \ge 7$»: non va dimenticato il caso $x = 7$. ::: ::: esercizio medio Tavole dagli esercizi del libro Costruisci le tavole di $p \wedge \neg q$ e di $(p \wedge q) \wedge \neg q$. Che cosa noti nella seconda? ::: soluzione | $p$ | $q$ | $\neg q$ | $p \wedge \neg q$ | $p \wedge q$ | $(p \wedge q) \wedge \neg q$ | |:-:|:-:|:-:|:-:|:-:|:-:| | V | V | F | F | V | F | | V | F | V | V | F | F | | F | V | F | F | F | F | | F | F | V | F | F | F | La prima è vera solo nella riga $p$ = V, $q$ = F. La seconda è falsa in tutte le righe: è una contraddizione. Quando $p \wedge q$ è vera, $q$ è vera e quindi $\neg q$ è falsa. Sono le stesse tavole delle soluzioni del libro. ::: ::: esercizio medio Le parentesi contano Costruisci le tavole di $p \vee (q \wedge r)$ e di $(p \vee q) \wedge r$. In quali righe sono diverse? ::: soluzione | $p$ | $q$ | $r$ | $q \wedge r$ | $p \vee (q \wedge r)$ | $p \vee q$ | $(p \vee q) \wedge r$ | |:-:|:-:|:-:|:-:|:-:|:-:|:-:| | V | V | V | V | V | V | V | | V | V | F | F | V | V | F | | V | F | V | F | V | V | V | | V | F | F | F | V | V | F | | F | V | V | V | V | V | V | | F | V | F | F | F | V | F | | F | F | V | F | F | F | F | | F | F | F | F | F | F | F | Sono diverse nella riga 2 ($p$ = V, $q$ = V, $r$ = F) e nella riga 4 ($p$ = V, $q$ = F, $r$ = F). In tutte e due $p$ è vera e $r$ è falsa: la prima formula si accontenta di $p$, la seconda chiede anche $r$. ::: ::: esercizio medio Dalle formule alle frasi Con $p$: «oggi è lunedì», $q$: «piove», $r$: «fa caldo», scrivi in italiano: (a) $p \vee q$; (b) $\neg p \wedge (q \vee r)$; (c) $\neg(p \vee q) \vee r$. ::: soluzione (a) «Oggi è lunedì o piove.» (b) «Oggi non è lunedì, e piove o fa caldo.» (c) «Non è vero che oggi è lunedì o piove, oppure fa caldo.» Si può anche dire: «oggi non è lunedì e non piove, oppure fa caldo». ::: ::: esercizio medio Dalle frasi alle formule Con $p$: «gioco a calcio», $q$: «salto l'esame di metà corso», $r$: «passo l'esame», traduci: (a) «Gioco a calcio e salto l'esame di metà corso.» (b) «Non gioco a calcio ma passo l'esame.» (c) «Né gioco a calcio né salto l'esame di metà corso.» (d) «Gioco a calcio o salto l'esame di metà corso, e non passo l'esame.» ::: soluzione (a) $p \wedge q$. (b) $\neg p \wedge r$. (c) $\neg p \wedge \neg q$. (d) $(p \vee q) \wedge \neg r$: qui la virgola dice che «e non passo» vale per tutta la prima parte. ::: ::: esercizio esame Valore in ogni riga Considera la formula $\neg(A \wedge \neg B) \vee (A \wedge B)$. Dai il suo valore nelle righe: $A$ = V, $B$ = V; $A$ = V, $B$ = F; $A$ = F, $B$ = F; $A$ = F, $B$ = V. ::: soluzione | $A$ | $B$ | $A \wedge \neg B$ | $\neg(A \wedge \neg B)$ | $A \wedge B$ | formula | |:-:|:-:|:-:|:-:|:-:|:-:| | V | V | F | V | V | **V** | | V | F | V | F | F | **F** | | F | F | F | V | F | **V** | | F | V | F | V | F | **V** | Le risposte sono V, F, V, V. La formula è falsa solo quando $A$ è vera e $B$ è falsa. Nella prossima lezione vedrai che questa è proprio la tavola di «se $A$ allora $B$». ::: ::: esercizio esame Una formula sempre falsa Mostra che $(p \vee q) \wedge (\neg p \vee q) \wedge (p \vee \neg q) \wedge (\neg p \vee \neg q)$ è falsa in tutte le righe. Prova a spiegarlo senza la tavola. ::: soluzione Con la tavola: in ogni riga uno dei quattro pezzi è falso. Con $p$ = V, $q$ = V è falso $\neg p \vee \neg q$; con V, F è falso $\neg p \vee q$; con F, V è falso $p \vee \neg q$; con F, F è falso $p \vee q$. A parole: i quattro pezzi escludono ciascuno una delle quattro righe. Ogni pezzo è falso solo quando sono false tutte e due le sue parti, e i quattro pezzi coprono le quattro combinazioni. La congiunzione chiede che nessuna riga sia esclusa: impossibile. È la soluzione del libro, che dà questa tavola tutta falsa. ::: ::: esercizio difficile L'«o» esclusivo con «e», «o» e «non» Trova due formule che usano solo $\wedge$, $\vee$ e $\neg$ e hanno la stessa tavola di $p \oplus q$. Controllale con lo strumento in modalità equivalenza. ::: soluzione $p \oplus q$ è vera nelle righe ($p$ = V, $q$ = F) e ($p$ = F, $q$ = V). 1. La prima riga è descritta da $p \wedge \neg q$, la seconda da $\neg p \wedge q$. Unendole con «o»: $(p \wedge \neg q) \vee (\neg p \wedge q)$. 2. A parole, «almeno uno, ma non tutti e due»: $(p \vee q) \wedge \neg(p \wedge q)$. Il metodo della prima formula, una congiunzione per ogni riga vera e poi tutte unite con «o», funziona per qualunque tavola. È lo stesso dei quiz «dalla tabella alla formula» sui circuiti, nella lezione 05. ::: ```widget logica titolo: Due formule hanno la stessa tavola? modo: equivalenza a: p ⊕ q b: (p ∧ ¬q) ∨ (¬p ∧ q) ``` ## Domande di ripasso ::: domanda Che cos'è una proposizione? Fai un esempio e un controesempio. Una frase che è vera o falsa, ma non tutte e due. «7 è primo» è una proposizione; «chiudi la porta» no, perché è un ordine. ::: ::: domanda Quando è vera $p \wedge q$? E $p \vee q$? $p \wedge q$ è vera solo quando $p$ e $q$ sono vere tutte e due. $p \vee q$ è vera quando almeno una delle due è vera, anche tutte e due. ::: ::: domanda Che differenza c'è tra $p \vee q$ e $p \oplus q$? Differiscono solo quando $p$ e $q$ sono vere tutte e due: $p \vee q$ è vera, $p \oplus q$ è falsa. L'«o» esclusivo è vero quando i valori sono diversi. ::: ::: domanda Quante righe ha la tavola di una formula con 3 lettere? Come si ordinano? $2^3 = 8$ righe. La prima lettera è V nelle prime 4 righe e F nelle altre 4; la seconda alterna a coppie; la terza alterna a ogni riga. ::: ::: domanda In che ordine si calcolano i connettivi senza parentesi? Prima $\neg$, poi $\wedge$, poi $\vee$. Quindi $\neg p \vee q \wedge r$ si legge $(\neg p) \vee (q \wedge r)$. ::: ::: domanda Come si traduce «né $p$ né $q$»? È uguale a $\neg p \vee \neg q$? Si traduce $\neg p \wedge \neg q$: tutte e due false. Non è uguale a $\neg p \vee \neg q$, che è vera anche quando una sola è falsa. ::: ::: domanda Che cosa sono una tautologia e una contraddizione? Una tautologia è una formula vera in tutte le righe della tavola, come $p \vee \neg p$. Una contraddizione è falsa in tutte le righe, come $p \wedge \neg p$. ::: ::: domanda Qual è la negazione di «ho fatto tutti gli esercizi»? «Almeno un esercizio non l'ho fatto.» Non «non ho fatto nessun esercizio». ::: ## Glossario ```glossario Proposizione | Una frase che è vera oppure falsa, ma non tutte e due. Valore di verità | Vero o falso: V o F, nel libro T o F, nei circuiti 1 o 0. Connettivo | Una parola che costruisce una proposizione da altre: «e», «o», «non», «o esclusivo». Congiunzione | $p \wedge q$, «$p$ e $q$»: vera solo se tutte e due sono vere. Disgiunzione | $p \vee q$, «$p$ o $q$»: vera se almeno una è vera; è l'«o» inclusivo. O esclusivo | $p \oplus q$: vera se esattamente una delle due è vera. Negazione | $\neg p$, «non $p$»: vera quando $p$ è falsa. Formula | Un'espressione fatta di lettere, connettivi e parentesi; si chiama anche proposizione composta. Tavola di verità | La tabella dei valori di una formula in tutte le combinazioni dei valori delle lettere. Tautologia | Una formula vera in tutte le righe della sua tavola. Contraddizione | Una formula falsa in tutte le righe della sua tavola. ``` ## Checklist ```checklist - So dire se una frase è una proposizione, e perché domande, ordini e frasi con variabili non lo sono. - So le tavole di $\wedge$, $\vee$, $\neg$ e $\oplus$, e so collegarle alle porte logiche della lezione 01. - So che l'«o» della logica è inclusivo, e quando una frase intende quello esclusivo. - So negare una frase senza confondere il contrario con l'opposto. - So in che ordine si calcolano $\neg$, $\wedge$ e $\vee$, e metto le parentesi nel dubbio. - So costruire la tavola di una formula con $2^n$ righe nell'ordine del libro. - So calcolare il valore di una formula in una riga, partendo da dentro. - So tradurre «ma», «né… né», «non è vero che» in formule. - So riconoscere una tautologia e una contraddizione. ``` ## Fonti - Libro di testo del corso, parte 2 (R. Johnsonbaugh, *Discrete Mathematics*, cap. 1), §1.2 «Propositions»: definizione di proposizione, congiunzione, disgiunzione, negazione, tavole di verità, ordine dei connettivi; le domande di ripasso e gli esercizi 1–76 con le soluzioni pubblicate sul Moodle del canale A ([id 3851](https://informatica.i-learn.unito.it/course/view.php?id=3851), aperto agli ospiti). Il libro non è disponibile: i testi degli esercizi riportati qui sono ricostruiti dalle soluzioni, e dove non ero sicuro del testo ho scritto esercizi «nello stesso stile». - Diario del canale B, lezione del 12/10/2026: «Capitolo 1.2 (Parte 2) Logica Proposizionale. Posposto: capitolo 1.1 su insiemi.» - F. Cardone, «Alcuni esempi relativi a formalizzazione, connettivi proposizionali e quantificatori» (Moodle del canale A): negazioni, il caso di $2 < 5$. - Simulazioni d'esame del 2023/24 della pagina d'esame comune: simulazione 1, domande 3, 5 e 6; simulazione 2, la domanda sulle negazioni. - Le spiegazioni a parole, l'esempio del concerto, i riquadri «Prova tu», la domanda nello stile del quiz, i quiz e gli esercizi senza indicazione sono di questi appunti. Tutte le tavole sono state calcolate con un programma. --- > File: `contesto_ai/FDA/lezioni/07_condizionali_equivalenza_logica.md` ```yaml corso: FDA lezione: "07" data: 2026-10-15 titolo: «Se… allora», «se e solo se» ed equivalenza logica docenti: Stefano Berardi sopratitolo: Canale B · Lezione 07 · Libro, parte 2, §1.3 descrizione: >- Appunti della lezione 07 di Fondamenti dell'Informatica (canale B): la proposizione condizionale «se p allora q» e la sua tavola, ipotesi e conclusione, condizioni necessarie e sufficienti, «solo se», inversa, contraria e contronominale, il bicondizionale «se e solo se», equivalenza logica, leggi di De Morgan e le equivalenze da sapere, con il quiz delle simulazioni d'esame svolto, strumenti interattivi ed esercizi. lede: >- «Se vinciamo, offro la pizza» è una promessa: quando è stata infranta? Da questa domanda nasce la tavola del «se… allora», il connettivo più importante della logica. Poi il «se e solo se», e il modo di capire quando due frasi diverse dicono la stessa cosa. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 2 (Johnsonbaugh, cap. 1), §1.3 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Libro di testo del corso, parte 2 (R. Johnsonbaugh, Discrete Mathematics, cap. 1), §1.3 «Conditional Propositions and Logical Equivalence», con le domande di ripasso e le soluzioni degli esercizi pubblicate sul Moodle del canale A; diario del canale B; dispense di logica di Felice Cardone (Moodle del canale A); simulazione d'esame 1 del 2023/24 appunti_html: appunti/FDA/07_condizionali_equivalenza_logica.html genera_html: true simboli_logici: si ``` ## In breve - «**Se**… **allora**…» si scrive con una freccia, $p \to q$. È falsa in **un solo caso**: quando la prima parte, l'**ipotesi**, è vera e la seconda, la **conclusione**, è falsa. Come una promessa, infranta solo se la condizione si avvera e la promessa non è mantenuta. - Quando l'ipotesi è falsa, la frase è **vera**, qualunque cosa dica la conclusione: è vera **a vuoto**. - L'ipotesi è una condizione **sufficiente**, la conclusione una condizione **necessaria**. Nelle frasi con «**solo se**», quello che segue «solo se» è la conclusione. - Scambiare ipotesi e conclusione cambia il senso. La **contronominale**, «se non $q$ allora non $p$», invece dice la stessa cosa. - «**Se e solo se**», scritto con la doppia freccia $\leftrightarrow$, è vero quando le due parti hanno lo stesso valore. - Due formule sono **logicamente equivalenti** quando hanno la stessa tavola di verità. Le più usate sono le **leggi di De Morgan**: negare un «e» dà un «o» di negazioni, e viceversa. - All'esame: la simulazione 1 del 2023/24 chiede il valore di $(A \to B) \leftrightarrow (B \to A)$ riga per riga. > [!CANALI] > Nel canale B è la lezione di giovedì 15/10, dalle 9 alle 11. Per il docente è la lezione 8, perché la prima è stata un'introduzione: qui è la 07. Il diario del canale B la annuncia così: «Capitolo 1.3 (Parte 2). Proposizioni condizionali e equivalenza logica.» **Ho scritto questi appunti prima della lezione**, sul §1.3 del libro, con le sue domande di ripasso e le soluzioni degli esercizi pubblicate sul Moodle del canale A (id 3851, aperto agli ospiti). Il diario del docente non dice altro su che cosa è stato fatto in aula. Si parte dalla [lezione 06](06_proposizioni_connettivi_tavole.html): proposizioni, connettivi e tavole di verità. Nel canale A gli stessi argomenti sono nelle dispense di Felice Cardone; nel canale C nei lucidi del docente. ## Una promessa: «se… allora» (libro, §1.3) Prima della partita il capitano dice alla squadra: «**Se** vinciamo, **allora** offro la pizza a tutti». Dopo la partita, quando si può dire che ha mentito? | Vinciamo? | Offre la pizza? | Ha mantenuto la promessa? | |:-:|:-:|:-:| | sì | sì | sì | | sì | no | **no** | | no | sì | sì | | no | no | sì | C'è un solo caso in cui la promessa è infranta: la squadra vince e la pizza non arriva. Se la squadra perde, il capitano non ha promesso niente: può offrire la pizza lo stesso per consolare tutti, o non offrirla. In tutti e due i casi non ha mentito. > [!IDEA] > «Se… allora…» non dice che la prima cosa succede, e non dice che succede la seconda. Dice soltanto una cosa: non può capitare che la prima sia vera e la seconda falsa. Con le lettere: $p$ è «vinciamo», $q$ è «offro la pizza». La promessa si scrive $p \to q$. Si legge «se pi allora cu», oppure «pi implica cu». > [!DEF] Proposizione condizionale (libro, §1.3) > Se $p$ e $q$ sono proposizioni, la proposizione «se $p$ allora $q$» si chiama **proposizione condizionale** e si scrive $p \to q$. La proposizione $p$ è l'**ipotesi** (o antecedente) e $q$ è la **conclusione** (o conseguente). La proposizione $p \to q$ è falsa quando $p$ è vera e $q$ è falsa; è vera in tutti gli altri casi. **Come si legge.** La tavola è quella della promessa, con V e F: | $p$ | $q$ | $p \to q$ | |:-:|:-:|:-:| | V | V | V | | V | F | F | | F | V | V | | F | F | V | La riga da ricordare è la seconda: ipotesi vera e conclusione falsa. È l'unica F. ### Le righe con l'ipotesi falsa Le righe 3 e 4 sorprendono sempre. «Se $2 + 2 = 5$, allora la Luna è di formaggio» è **vera**: l'ipotesi è falsa, e una promessa con la condizione che non si avvera non si può smentire. In questo caso l'implicazione è vera **a vuoto**. In matematica serve proprio così. Pensa alla frase «per ogni numero, se è maggiore di 2 ed è primo, allora è dispari». Per il numero 4 l'ipotesi è falsa: la frase non dice niente su 4, e non deve diventare falsa per colpa sua. > [!TRAPPOLA] «Se… allora» non vuol dire «perché» > In italiano «se… allora» fa pensare a una causa. In logica conta solo il valore di verità delle due parti. «Se Torino è in Piemonte, allora $2 + 2 = 4$» è vera: le due frasi sono vere, anche se non hanno niente a che fare l'una con l'altra. ### Un modo di scriverla con «o» e «non» Guarda di nuovo la tavola: la promessa è vera quando la squadra perde, **oppure** quando la pizza arriva. Quindi $p \to q$ ha la stessa tavola di $\neg p \vee q$. In C non c'è un operatore per «se… allora» tra due condizioni: si scrive `!p || q`. | $p$ | $q$ | $\neg p$ | $\neg p \vee q$ | $p \to q$ | |:-:|:-:|:-:|:-:|:-:| | V | V | F | V | V | | V | F | F | F | F | | F | V | V | V | V | | F | F | V | V | V | È l'esercizio 80 del §1.3, nelle soluzioni del libro, e nell'esercizio d'esame della lezione 06 l'avevi già incontrata con un'altra forma. ::: prova Quanto valgono queste implicazioni? (a) «Se 7 è pari, allora 7 è primo.» (b) «Se 7 è primo, allora 7 è pari.» (c) «Se $3 < 5$, allora $5 > 3$.» (a) Vera a vuoto: l'ipotesi «7 è pari» è falsa. (b) Falsa: ipotesi vera, conclusione falsa. (c) Vera: ipotesi e conclusione sono tutte e due vere. ::: > [!RICORDA] > - Il «se… allora» è falso solo con l'ipotesi vera e la conclusione falsa. > - Con l'ipotesi falsa l'implicazione è vera, a vuoto. > - $p \to q$ ha la stessa tavola di $\neg p \vee q$. ## Tanti modi di dire «se… allora» (libro, §1.3) In italiano la stessa promessa si può dire in molti modi. Il libro dedica a questo diversi esercizi, ed è una delle cose su cui si sbaglia di più. ### Condizione sufficiente e condizione necessaria Nella promessa del capitano, vincere **basta** per avere la pizza: è una condizione **sufficiente**. Al contrario, la pizza è una **conseguenza obbligata** della vittoria: se manca la pizza, la squadra non ha vinto. Per questo la pizza è una condizione **necessaria** per la vittoria. > [!IDEA] > In un «se… allora», l'ipotesi è **sufficiente** per la conclusione: se c'è l'ipotesi, c'è anche la conclusione. La conclusione è **necessaria** per l'ipotesi: senza la conclusione, niente ipotesi. Le domande di ripasso del libro lo dicono proprio così: nella frase $p \to q$, la conclusione è una condizione necessaria e l'ipotesi è una condizione sufficiente. ### La tabella delle traduzioni | In italiano | Formula | |---|---| | se $p$ allora $q$ | $p \to q$ | | $q$ se $p$ | $p \to q$ | | $p$ **solo se** $q$ | $p \to q$ | | $p$ è condizione **sufficiente** per $q$ | $p \to q$ | | $q$ è condizione **necessaria** per $p$ | $p \to q$ | | $q$ ogni volta che $p$ | $p \to q$ | > [!TRAPPOLA] «Solo se» mette la freccia nel verso che non ti aspetti > «Passi l'esame **solo se** studi» non promette che chi studia passa. Dice che **chi passa ha studiato**: passi $\to$ studi. La frase è smentita solo da chi passa senza aver studiato. Il «solo se» introduce la condizione **necessaria**, che va a destra della freccia. > [!ESEMPIO] Frasi con «solo se», tradotte > Le soluzioni degli esercizi del libro traducono frasi di questo tipo così: > - «Puoi ispezionare l'aereo solo se hai l'autorizzazione»: se ispezioni l'aereo, allora hai l'autorizzazione. > - «Il programma è leggibile solo se è ben strutturato»: se il programma è leggibile, allora è ben strutturato. > > In tutte e due la frase dopo «solo se» va **dopo** l'«allora». ::: prova Con $p$: «piove» e $q$: «prendo l'ombrello», traduci: (a) «Prendo l'ombrello se piove.» (b) «Prendo l'ombrello solo se piove.» (c) «Che piova è condizione sufficiente perché prenda l'ombrello.» (a) $p \to q$: «se piove, prendo l'ombrello». (b) $q \to p$: se prendo l'ombrello, allora piove. (c) $p \to q$: la condizione sufficiente è l'ipotesi. ::: > [!RICORDA] > - Condizione sufficiente: l'ipotesi, a sinistra della freccia. Condizione necessaria: la conclusione, a destra. > - «Solo se» introduce la conclusione: «passo solo se studio» è «se passo, allora ho studiato». ## Girare la promessa: inversa e contronominale (libro, §1.3) Dalla promessa «se vinciamo, offro la pizza» se ne possono costruire altre tre, girandola o negandola. Una sola dice la stessa cosa. | Nome | Formula | La promessa diventa | |---|:-:|---| | la promessa | $p \to q$ | se vinciamo, offro la pizza | | **inversa** | $q \to p$ | se offro la pizza, abbiamo vinto | | **contraria** | $\neg p \to \neg q$ | se non vinciamo, non offro la pizza | | **contronominale** | $\neg q \to \neg p$ | se non offro la pizza, non abbiamo vinto | Pensa al caso in cui la squadra perde e il capitano offre lo stesso la pizza. La promessa resta vera. L'inversa no: c'è la pizza ma non la vittoria. Anche la contraria è falsa: non abbiamo vinto, e la pizza c'è. La contronominale invece resta vera, perché la pizza è arrivata. > [!TRAPPOLA] I nomi cambiano da libro a libro > Il libro, in inglese, chiama *converse* la formula $q \to p$ e *contrapositive* la formula $\neg q \to \neg p$. In italiano $q \to p$ si trova chiamata «inversa» o «conversa», e $\neg q \to \neg p$ «contronominale» o «contrapposta». Ricorda le formule: l'unica che dice la stessa cosa di $p \to q$ è $\neg q \to \neg p$. La tavola lo conferma: la colonna di $p \to q$ e quella di $\neg q \to \neg p$ sono uguali, le altre due no. | $p$ | $q$ | $p \to q$ | $q \to p$ | $\neg p \to \neg q$ | $\neg q \to \neg p$ | |:-:|:-:|:-:|:-:|:-:|:-:| | V | V | V | V | V | V | | V | F | F | V | V | F | | F | V | V | F | F | V | | F | F | V | V | V | V | > [!ESEMPIO] Con i numeri (esercizio 59 del libro, dalle soluzioni) > Prendi $p$: «$4 < 6$», che è vera, e $q$: «$9 > 12$», che è falsa. > - La frase $p \to q$, «se $4 < 6$ allora $9 > 12$», è **falsa**: ipotesi vera, conclusione falsa. > - L'inversa $q \to p$, «se $9 > 12$ allora $4 < 6$», è **vera**: l'ipotesi è falsa. > - La contronominale $\neg q \to \neg p$, «se $9 \le 12$ allora $4 \ge 6$», è **falsa**, come la frase di partenza. Nella prossima parte del libro questa equivalenza diventa un modo di dimostrare: invece di una frase, a volte è più facile dimostrare la sua contronominale. Si chiama dimostrazione per contrapposizione. ::: prova Scrivi l'inversa e la contronominale di «se un numero è divisibile per 4, allora è pari». Quale delle due è vera? Inversa: «se un numero è pari, allora è divisibile per 4». È falsa: 6 è pari ma non divisibile per 4. Contronominale: «se un numero non è pari, allora non è divisibile per 4». È vera, come la frase di partenza. ::: > [!RICORDA] > - La contronominale $\neg q \to \neg p$ dice la stessa cosa di $p \to q$. > - L'inversa $q \to p$ no: è l'errore più comune. ## «Se e solo se» (libro, §1.3) A volte la promessa vale nei due versi. Il regolamento del torneo dice: «Una squadra va in finale **se e solo se** vince la semifinale». Chi vince va in finale, e chi va in finale ha vinto. Le due frasi sono sempre insieme: tutte e due vere, o tutte e due false. > [!DEF] Proposizione bicondizionale (libro, §1.3) > Se $p$ e $q$ sono proposizioni, la proposizione «$p$ se e solo se $q$» si chiama **proposizione bicondizionale** e si scrive $p \leftrightarrow q$. È vera quando $p$ e $q$ sono tutte e due vere o tutte e due false, e falsa negli altri casi. **Come si legge.** Il «se e solo se» è vero quando le due parti hanno **lo stesso valore**. | $p$ | $q$ | $p \leftrightarrow q$ | |:-:|:-:|:-:| | V | V | V | | V | F | F | | F | V | F | | F | F | V | Il nome dice già come è fatta: «se» è una freccia in un verso, «solo se» è la freccia nell'altro verso. Insieme, $p \leftrightarrow q$ ha la stessa tavola di $(p \to q) \wedge (q \to p)$. In matematica si scrive spesso «sse». Rispetto all'«o» esclusivo della lezione 06 è il contrario: $p \oplus q$ è vera quando i valori sono diversi, $p \leftrightarrow q$ quando sono uguali. ::: prova Quanto valgono «$2 + 2 = 4$ se e solo se $3$ è dispari» e «$2 + 2 = 5$ se e solo se $3$ è pari»? La prima è vera: tutte e due le parti sono vere. Anche la seconda è vera: tutte e due le parti sono false. ::: > [!RICORDA] > - Il «se e solo se» è vero quando le due parti hanno lo stesso valore. > - «Se e solo se» sono due implicazioni insieme, nei due versi. ## Quando due frasi dicono la stessa cosa (libro, §1.3) «Se non offro la pizza, non abbiamo vinto» e «se vinciamo, offro la pizza» sono scritte in modo diverso, ma in ogni situazione sono vere o false insieme. Sono **logicamente equivalenti**. > [!DEF] Equivalenza logica (libro, §1.3) > Siano $P$ e $Q$ proposizioni composte dalle stesse proposizioni $p_1, \dots, p_n$. $P$ e $Q$ sono **logicamente equivalenti** se, per ogni scelta dei valori di verità di $p_1, \dots, p_n$, sono tutte e due vere o tutte e due false. Si scrive $P \equiv Q$. **Come si legge.** $P \equiv Q$ vuol dire: **stessa tavola di verità**, riga per riga. Per controllarlo si fanno le due tavole e si confrontano le colonne finali. Per smentirlo basta **una riga** in cui le due formule hanno valori diversi. > [!TRAPPOLA] $\equiv$ e $\leftrightarrow$ non sono la stessa cosa > $\leftrightarrow$ è un connettivo: $p \leftrightarrow q$ è una formula, che in certe righe è vera e in altre falsa. $\equiv$ non sta dentro una formula: è una frase che dici **su** due formule, «hanno la stessa tavola». Il legame tra i due: $P \equiv Q$ esattamente quando $P \leftrightarrow Q$ è vera in tutte le righe, cioè è una tautologia. Lo strumento qui sotto confronta due formule e colora in rosso le righe in cui sono diverse. Prova con la promessa e la sua inversa, poi con la contronominale. ```widget logica titolo: Due formule sono equivalenti? modo: equivalenza a: p → q b: ¬q → ¬p ``` ::: prova Senza tavola: $p \to q$ e $q \to p$ sono equivalenti? Trova una riga che lo decida. No. Con $p$ = V e $q$ = F la prima è falsa e la seconda è vera. Basta questa riga. ::: > [!RICORDA] > - $P \equiv Q$: stessa tavola di verità. > - Per dire che non sono equivalenti basta una riga diversa. ## Le leggi di De Morgan (libro, §1.3) Il capitano dice: «Offro la pizza **e** il gelato». Quando non ha mantenuto la parola? Quando manca la pizza, **oppure** quando manca il gelato, o tutti e due. Negare un «e» dà un «o» di negazioni. Al contrario: «Vado al mare **o** in montagna». Quando è falso? Solo se non vado né al mare **né** in montagna. Negare un «o» dà un «e» di negazioni. > [!TEOREMA] Leggi di De Morgan (libro, §1.3) > $$\neg(p \vee q) \equiv \neg p \wedge \neg q \qquad \text{e} \qquad \neg(p \wedge q) \equiv \neg p \vee \neg q.$$ **Come si legge.** Per negare una frase con «e» o con «o»: si nega ogni pezzo, e si **scambia** il connettivo. La negazione di un «o» è un «e», la negazione di un «e» è un «o». | $p$ | $q$ | $\neg(p \vee q)$ | $\neg p \wedge \neg q$ | $\neg(p \wedge q)$ | $\neg p \vee \neg q$ | |:-:|:-:|:-:|:-:|:-:|:-:| | V | V | F | F | F | F | | V | F | F | F | V | V | | F | V | F | F | V | V | | F | F | V | V | V | V | > [!ESEMPIO] Negare in italiano (esercizi 73 e 76 del libro, dalle soluzioni) > - La negazione di «Pat userà il tapis roulant o solleverà pesi» è «Pat **non** userà il tapis roulant **e non** solleverà pesi». > - La negazione di «per il chili servono il peperoncino e la cipolla» è «per il chili **non** serve il peperoncino **o non** serve la cipolla». > [!TRAPPOLA] De Morgan a metà > L'errore tipico è negare i pezzi e dimenticare di scambiare il connettivo. $\neg(p \wedge q)$ **non** è $\neg p \wedge \neg q$. «Non è vero che ho la pizza e il gelato» non vuol dire «non ho né la pizza né il gelato»: basta che manchi uno dei due. ### Negare un «se… allora» Quando è falsa la promessa «se vinciamo, offro la pizza»? Solo quando vinciamo e la pizza non c'è. Quindi la negazione di un'implicazione **non** è un'implicazione: $$\neg(p \to q) \equiv p \wedge \neg q.$$ La negazione di «se studi, passi l'esame» è «studi **e** non passi l'esame». Non è «se non studi, passi», e non è «se studi, non passi». Le dispense del canale A lo fanno dimostrare come esercizio. ::: prova Scrivi la negazione senza usare «non è vero che»: (a) «Piove e fa freddo.» (b) «Vado al cinema o a teatro.» (c) «Se piove, resto a casa.» (a) «Non piove oppure non fa freddo.» (b) «Non vado né al cinema né a teatro.» (c) «Piove e non resto a casa.» ::: > [!RICORDA] > - De Morgan: negando, si negano i pezzi e si scambia «e» con «o». > - La negazione di $p \to q$ è $p \wedge \neg q$. ## Le equivalenze da sapere Le equivalenze servono come le regole dell'algebra: permettono di trasformare una formula in un'altra più comoda, un passo alla volta, senza fare la tavola. Eccole tutte; ognuna si controlla con una tavola o con lo strumento. | Nome | Equivalenza | |---|---| | doppia negazione | $\neg\neg p \equiv p$ | | De Morgan | $\neg(p \wedge q) \equiv \neg p \vee \neg q$ e $\neg(p \vee q) \equiv \neg p \wedge \neg q$ | | commutative | $p \wedge q \equiv q \wedge p$ e $p \vee q \equiv q \vee p$ | | associative | $(p \wedge q) \wedge r \equiv p \wedge (q \wedge r)$, e lo stesso con $\vee$ | | distributive | $p \wedge (q \vee r) \equiv (p \wedge q) \vee (p \wedge r)$ e $p \vee (q \wedge r) \equiv (p \vee q) \wedge (p \vee r)$ | | «se» come «o» | $p \to q \equiv \neg p \vee q$ | | negare un «se» | $\neg(p \to q) \equiv p \wedge \neg q$ | | contronominale | $p \to q \equiv \neg q \to \neg p$ | | «se e solo se» | $p \leftrightarrow q \equiv (p \to q) \wedge (q \to p)$ | ### L'ordine dei connettivi Alla regola della lezione 06 si aggiungono le due frecce, che vengono per ultime. Senza parentesi si calcola: 1. prima $\neg$; 2. poi $\wedge$; 3. poi $\vee$; 4. poi $\to$; 5. per ultimo $\leftrightarrow$. Quindi $p \wedge q \to r$ vuol dire $(p \wedge q) \to r$. Anche qui, nel dubbio, si mettono le parentesi. > [!ESEMPIO] Una formula trasformata passo per passo > $\neg(p \to \neg q)$ è equivalente a che cosa? > 1. Negare un «se»: $\neg(p \to \neg q) \equiv p \wedge \neg\neg q$. > 2. Doppia negazione: $p \wedge \neg\neg q \equiv p \wedge q$. > > Quindi $\neg(p \to \neg q) \equiv p \wedge q$. A parole: «non è vero che, se $p$, allora non $q$» vuol dire «$p$ e $q$». ### Tautologie con le frecce Una **tautologia** è una formula vera in tutte le righe (lezione 06). Con le frecce ce ne sono di molto utili. | Formula | Che cosa dice | |---|---| | $(p \wedge (p \to q)) \to q$ | se $p$ è vera e $p$ implica $q$, allora $q$ è vera | | $((p \to q) \wedge (q \to r)) \to (p \to r)$ | le implicazioni si possono mettere in fila | | $p \to (p \vee q)$ | da $p$ segue «$p$ o qualunque cosa» | | $(p \to q) \vee (q \to p)$ | tra due frasi, una implica l'altra | Le prime due saranno le regole di inferenza della prossima lezione. Una formula che **sembra** una tautologia ma non lo è: $(p \to q) \to (q \to p)$. Con $p$ = F e $q$ = V è falsa. Dall'implicazione non segue la sua inversa. ```widget logica titolo: Tautologia o no? modo: tavola formula: (p ∧ (p → q)) → q ``` ::: prova Con lo strumento qui sopra, controlla se $(p \to q) \to (q \to p)$ è una tautologia. In quale riga è falsa? Non è una tautologia: è falsa nella riga $p$ = F, $q$ = V. Lì $p \to q$ è vera, a vuoto, e $q \to p$ è falsa. ::: > [!RICORDA] > - Le equivalenze trasformano una formula in un'altra con la stessa tavola, come le regole dell'algebra. > - Ordine senza parentesi: prima «non», poi «e», poi «o», poi le due frecce. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $p \to q$ | «se $p$ allora $q$», «$p$ implica $q$» | falsa solo con $p$ vera e $q$ falsa | V $\to$ F = F | | $p \leftrightarrow q$ | «$p$ se e solo se $q$» | vera quando i valori sono uguali | F $\leftrightarrow$ F = V | | $P \equiv Q$ | «$P$ è equivalente a $Q$» | $P$ e $Q$ hanno la stessa tavola | $p \to q \equiv \neg p \vee q$ | | $q \to p$ | «inversa» | girare la freccia: non equivalente | | | $\neg q \to \neg p$ | «contronominale» | equivalente a $p \to q$ | | | sse | «se e solo se» | abbreviazione di $\leftrightarrow$ | | | `!p \|\| q` | «not p or q» | l'implicazione scritta in C | | ## Verso l'esame Le regole dell'esame, uguali per i tre canali, sono nella [lezione 01](01_bit_porte_esadecimale.html) e nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md): 9 quiz in 45 minuti al computer, con Safe Exam Browser, da 3 punti l'uno; servono almeno 18 punti. **Che cosa serve di questa lezione** 1. **Il valore di una formula con le frecce, riga per riga.** È il quiz 3 della simulazione 1 del 2023/24, svolto qui sotto. 2. **Riconoscere formule equivalenti.** Nel quiz 6 della stessa simulazione bisogna capire che due formule di un circuito hanno la stessa tavola: con De Morgan bastano due passi. 3. **Tradurre e negare**: «solo se», «condizione necessaria», la negazione di un «se… allora». Torneranno con i quantificatori, nella simulazione 2. ### Una domanda vera, letta insieme **Simulazione d'esame 1 del 2023/24, domanda 3.** Il testo: «Considera la formula $(A \to B) \leftrightarrow (B \to A)$. Seleziona il valore della formula in ogni riga della tabella.» Le righe sono, in quest'ordine: $A$ = T, $B$ = T; $A$ = T, $B$ = F; $A$ = F, $B$ = F; $A$ = F, $B$ = T. Nel quiz T sta per vero. **In pratica chiede:** quattro valori, uno per riga. Le righe non sono nell'ordine solito: l'ultima è $A$ falsa e $B$ vera. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: i due pezzi.** In ogni riga calcolo $A \to B$ e $B \to A$. Ognuno è falso solo con l'ipotesi vera e la conclusione falsa. > > | $A$ | $B$ | $A \to B$ | $B \to A$ | formula | > |:-:|:-:|:-:|:-:|:-:| > | V | V | V | V | **V** | > | V | F | F | V | **F** | > | F | F | V | V | **V** | > | F | V | V | F | **F** | > > **Passo 2: il «se e solo se».** È vero quando i due pezzi hanno lo stesso valore: righe 1 e 3. > > **Passo 3: la risposta.** Nell'ordine del quiz: **T, F, T, F**. Le risposte scritte a mano nella simulazione svolta che circola tra gli studenti sono le stesse. > > Osservazione: la formula è vera esattamente quando $A$ e $B$ hanno lo stesso valore. È equivalente ad $A \leftrightarrow B$. ### Il circuito con De Morgan Nella domanda 6 della stessa simulazione il circuito calcola $(\neg C \wedge A) \vee (\neg C \wedge B)$, e una delle risposte giuste è la formula $\neg((C \vee \neg A) \wedge (C \vee \neg B))$. Nella [lezione 05](05_esercizi_circuiti_rappresentazioni.html) l'ho controllata riga per riga. Con De Morgan bastano due passi: 1. $\neg((C \vee \neg A) \wedge (C \vee \neg B)) \equiv \neg(C \vee \neg A) \vee \neg(C \vee \neg B)$, negando un «e»; 2. ciascun pezzo è la negazione di un «o»: $\neg(C \vee \neg A) \equiv \neg C \wedge A$, e allo stesso modo l'altro. Si arriva a $(\neg C \wedge A) \vee (\neg C \wedge B)$: è la formula del circuito. > [!METODO] Le domande sulle frecce e sulle equivalenze > 1. **Valore in una riga**: per ogni freccia guarda solo la combinazione «ipotesi V, conclusione F», che è l'unica falsa. > 2. **Equivalenti?** Prima cerca una riga che le distingua: se la trovi, hai finito. Se non la trovi, fai la tavola o usa le equivalenze. > 3. **Negare**: De Morgan scambia «e» e «o»; la negazione di $p \to q$ è $p \wedge \neg q$. > 4. **Tradurre**: chi viene dopo «solo se» va a destra della freccia. **Errori da evitare** - Credere che $p \to q$ sia falsa quando $p$ è falsa: è vera. - Confondere $p \to q$ con l'inversa $q \to p$. - Girare la freccia nelle frasi con «solo se». - Negare $p \to q$ con $\neg p \to \neg q$. - Applicare De Morgan senza scambiare il connettivo. - Usare $\equiv$ dentro una formula al posto di $\leftrightarrow$. ## Quiz ```quiz D: Quando è falsa la proposizione $p \to q$? + Solo quando $p$ è vera e $q$ è falsa - Quando $p$ è falsa - Quando $q$ è falsa - Quando $p$ e $q$ sono tutte e due false - Quando $p$ e $q$ hanno valori diversi = È la riga della promessa infranta: condizione avverata e promessa non mantenuta. La risposta più insidiosa è «quando $q$ è falsa»: con $p$ falsa e $q$ falsa l'implicazione è vera, a vuoto. Valori diversi rendono falso il «se e solo se», non il «se… allora». D: Quanto vale «se $2 + 2 = 5$, allora Torino è in Lombardia»? + Vera - Falsa - Né vera né falsa - Dipende da come si legge «allora» - Non è una proposizione = L'ipotesi è falsa, quindi l'implicazione è vera a vuoto. La risposta più insidiosa è «falsa», perché tutte e due le parti sono false: ma in logica conta solo la riga «ipotesi vera, conclusione falsa». È una proposizione: ogni parte è vera o falsa. D: «Prendo il treno solo se c'è sciopero degli autobus», con $t$: «prendo il treno» e $s$: «c'è sciopero». Qual è la formula? + $t \to s$ - $s \to t$ - $t \leftrightarrow s$ - $\neg t \to s$ - $t \wedge s$ = Quello che viene dopo «solo se» è la condizione necessaria e va a destra: se prendo il treno, allora c'è sciopero. La risposta più insidiosa è $s \to t$, che è «prendo il treno se c'è sciopero». Il «se e solo se» direbbe tutte e due le cose insieme. D: Quale formula è equivalente a $p \to q$? + $\neg q \to \neg p$ - $q \to p$ - $\neg p \to \neg q$ - $p \wedge \neg q$ - $\neg p \wedge q$ = La contronominale ha la stessa tavola. La risposta più insidiosa è $\neg p \to \neg q$: nega tutte e due le parti ma non scambia, ed è falsa con $p$ = F, $q$ = V, dove $p \to q$ è vera. $q \to p$ è l'inversa; $p \wedge \neg q$ è la negazione. D: Qual è la negazione di «se studi, passi l'esame»? + «Studi e non passi l'esame.» - «Se non studi, non passi l'esame.» - «Se studi, non passi l'esame.» - «Non studi e passi l'esame.» - «Se non studi, passi l'esame.» = La promessa è falsa solo se studi e non passi: $\neg(p \to q) \equiv p \wedge \neg q$. La risposta più insidiosa è «se studi, non passi»: è ancora un'implicazione, ed è vera a vuoto quando non studi, proprio come la frase di partenza. La negazione di un «se» non è un «se». D: Per le leggi di De Morgan, $\neg(p \wedge q)$ è equivalente a: + $\neg p \vee \neg q$ - $\neg p \wedge \neg q$ - $p \vee q$ - $\neg p \to q$ - $p \to q$ = Si negano i pezzi e si scambia «e» con «o». La risposta più insidiosa è $\neg p \wedge \neg q$, che dimentica di scambiare il connettivo: con $p$ = V, $q$ = F è falsa, mentre $\neg(p \wedge q)$ è vera. D: Quando è vera $p \leftrightarrow q$? + Quando $p$ e $q$ hanno lo stesso valore - Solo quando $p$ e $q$ sono tutte e due vere - Quando almeno una tra $p$ e $q$ è vera - Quando $p$ e $q$ hanno valori diversi - Quando $p$ è falsa = Il «se e solo se» è vero con V e V, e anche con F e F. La risposta più insidiosa è «solo quando sono tutte e due vere»: dimentica la riga F, F. Valori diversi rendono vero l'«o» esclusivo, che è il contrario. D: (Simulazione d'esame 1 del 2023/24, domanda 3) Qual è il valore di $(A \to B) \leftrightarrow (B \to A)$ con $A$ falsa e $B$ vera? + F - V - dipende dall'ordine delle righe - non si può calcolare senza tutta la tavola - V, perché $A \to B$ è vera a vuoto = $A \to B$ è vera, a vuoto; $B \to A$ è falsa, ipotesi vera e conclusione falsa. I due pezzi hanno valori diversi, quindi il «se e solo se» è falso. La risposta più insidiosa è l'ultima: guarda solo il primo pezzo. Nel quiz era l'ultima riga. D: Quale di queste formule **non** è una tautologia? + $(p \to q) \to (q \to p)$ - $(p \wedge (p \to q)) \to q$ - $p \to (p \vee q)$ - $(p \to q) \vee (q \to p)$ - $p \vee \neg p$ = Con $p$ = F e $q$ = V, $p \to q$ è vera e $q \to p$ è falsa: la formula è falsa. Dall'implicazione non segue l'inversa. La risposta più insidiosa è $(p \to q) \vee (q \to p)$, che sembra strana ma è sempre vera: se $q$ è vera è vera la prima, se $q$ è falsa è vera la seconda. D: In quante righe della sua tavola è vera la formula $(p \to q) \wedge (q \to r)$? N: 4 = Le righe sono 8. Servono $p \to q$ e $q \to r$ vere insieme: le combinazioni buone sono V V V, F V V, F F V e F F F. Nelle altre quattro c'è una V seguita da una F in uno dei due pezzi. ``` ## Esercizi ::: esercizio base Riscaldamento: il valore delle frecce Calcola $p \to q$, $q \to p$ e $p \leftrightarrow q$ con: (a) $p$: «$3 > 5$», $q$: «$2$ è pari»; (b) $p$: «$7$ è primo», $q$: «$7$ è pari»; (c) $p$: «$1 > 2$», $q$: «$1 > 3$». ::: soluzione (a) $p$ = F, $q$ = V: $p \to q$ = V, $q \to p$ = F, $p \leftrightarrow q$ = F. (b) $p$ = V, $q$ = F: $p \to q$ = F, $q \to p$ = V, $p \leftrightarrow q$ = F. (c) $p$ = F, $q$ = F: $p \to q$ = V, $q \to p$ = V, $p \leftrightarrow q$ = V. ::: ::: esercizio base Riscaldamento: tradurre con «se» Con $p$: «Giada studia» e $q$: «Giada passa l'esame», traduci: (a) «Se Giada studia, passa l'esame.» (b) «Giada passa l'esame solo se studia.» (c) «Studiare è condizione necessaria perché Giada passi l'esame.» (d) «Giada passa l'esame se e solo se studia.» ::: soluzione (a) $p \to q$. (b) $q \to p$: chi passa ha studiato. (c) $q \to p$: la condizione necessaria va a destra. (d) $p \leftrightarrow q$. ::: ::: esercizio base Riscaldamento: inversa, contraria, contronominale Scrivi l'inversa, la contraria e la contronominale di «se un quadrilatero è un quadrato, allora ha quattro lati uguali». Quali sono vere? ::: soluzione 1. La frase: vera. 2. Inversa: «se un quadrilatero ha quattro lati uguali, allora è un quadrato». Falsa: un rombo non quadrato ha quattro lati uguali. 3. Contraria: «se un quadrilatero non è un quadrato, allora non ha quattro lati uguali». Falsa, per lo stesso rombo. 4. Contronominale: «se un quadrilatero non ha quattro lati uguali, allora non è un quadrato». Vera, come la frase. ::: ::: esercizio base Riscaldamento: negare Scrivi la negazione di queste frasi senza «non è vero che»: (a) «Gioco e vinco.» (b) «Esco o studio.» (c) «Se c'è il sole, vado al mare.» (d) «Passo solo se studio.» ::: soluzione (a) «Non gioco oppure non vinco.» (b) «Non esco e non studio.» (c) «C'è il sole e non vado al mare.» (d) La frase è «se passo, allora ho studiato»; la negazione è «passo e non ho studiato». ::: ::: esercizio medio L'esportazione con la tavola Mostra con una tavola di verità che $(p \wedge q) \to r \equiv p \to (q \to r)$. ::: soluzione | $p$ | $q$ | $r$ | $p \wedge q$ | $(p \wedge q) \to r$ | $q \to r$ | $p \to (q \to r)$ | |:-:|:-:|:-:|:-:|:-:|:-:|:-:| | V | V | V | V | V | V | V | | V | V | F | V | F | F | F | | V | F | V | F | V | V | V | | V | F | F | F | V | V | V | | F | V | V | F | V | V | V | | F | V | F | F | V | F | V | | F | F | V | F | V | V | V | | F | F | F | F | V | V | V | La quinta e la settima colonna sono uguali. Tutte e due sono false solo nella riga $p$ = V, $q$ = V, $r$ = F. A parole: «se ho il biglietto e il documento, entro» è lo stesso che «se ho il biglietto, allora, se ho il documento, entro». ::: ::: esercizio medio Tautologie o no Quali sono tautologie? Per quelle che non lo sono, dai una riga in cui sono false. (a) $(p \to q) \vee (q \to p)$; (b) $p \to (p \vee q)$; (c) $(p \vee q) \to p$; (d) $((p \to q) \wedge (q \to r)) \to (p \to r)$. ::: soluzione (a) Tautologia: se $q$ è vera è vera $p \to q$; se $q$ è falsa è vera $q \to p$. (b) Tautologia: se $p$ è vera, anche $p \vee q$ è vera; se $p$ è falsa, l'implicazione è vera a vuoto. (c) Non è una tautologia: falsa con $p$ = F, $q$ = V, dove $p \vee q$ è vera e $p$ è falsa. (d) Tautologia: è la regola delle implicazioni in fila. Controllata con un programma su tutte le 8 righe. ::: ::: esercizio medio Una formula trasformata Usando solo le equivalenze della tabella, senza tavole, mostra che $(p \to q) \wedge (p \to r) \equiv p \to (q \wedge r)$. ::: soluzione 1. «Se» come «o», due volte: $(p \to q) \wedge (p \to r) \equiv (\neg p \vee q) \wedge (\neg p \vee r)$. 2. Distributiva letta al contrario: $(\neg p \vee q) \wedge (\neg p \vee r) \equiv \neg p \vee (q \wedge r)$. 3. «Se» come «o», al contrario: $\neg p \vee (q \wedge r) \equiv p \to (q \wedge r)$. A parole: «se piove prendo l'ombrello, e se piove metto gli stivali» è lo stesso che «se piove, prendo l'ombrello e metto gli stivali». ::: ::: esercizio esame Valore in ogni riga Considera la formula $(A \wedge B) \leftrightarrow (A \to B)$. Dai il suo valore nelle righe $A$ = V, $B$ = V; $A$ = V, $B$ = F; $A$ = F, $B$ = F; $A$ = F, $B$ = V. A quale formula più corta è equivalente? ::: soluzione | $A$ | $B$ | $A \wedge B$ | $A \to B$ | formula | |:-:|:-:|:-:|:-:|:-:| | V | V | V | V | **V** | | V | F | F | F | **V** | | F | F | F | V | **F** | | F | V | F | V | **F** | Le risposte sono V, V, F, F. La formula è vera esattamente quando $A$ è vera: è equivalente ad $A$. ::: ::: esercizio esame Vero o falso sulle equivalenze Vero o falso? (1) $\neg(A \to B) \equiv A \wedge \neg B$. (2) $A \to B \equiv B \to A$. (3) $\neg(A \vee B) \equiv \neg A \vee \neg B$. (4) $A \leftrightarrow B \equiv (A \to B) \wedge (B \to A)$. (5) Se $A$ è falsa, $A \to B$ è vera qualunque sia $B$. ::: soluzione 1. Vero: è la negazione di un «se». 2. Falso: è l'inversa; con $A$ = V e $B$ = F sono diverse. 3. Falso: per De Morgan è $\neg A \wedge \neg B$. 4. Vero: «se e solo se» sono due implicazioni. 5. Vero: è vera a vuoto. ::: ::: esercizio difficile Il quiz del circuito con le equivalenze Senza tavola, mostra che $(\neg C \vee A) \wedge (\neg C \vee B)$ non è equivalente a $(\neg C \wedge A) \vee (\neg C \wedge B)$, e trova la riga che lo dimostra. È la risposta b sbagliata della domanda 6 della simulazione 1. ::: soluzione Trasformo la prima con la distributiva letta al contrario: $(\neg C \vee A) \wedge (\neg C \vee B) \equiv \neg C \vee (A \wedge B)$. Trasformo la seconda allo stesso modo: $(\neg C \wedge A) \vee (\neg C \wedge B) \equiv \neg C \wedge (A \vee B)$. La prima è vera ogni volta che $C$ è falsa, anche con $A$ e $B$ false. La seconda, con $C$ falsa, chiede anche $A$ o $B$. Quindi la riga $A$ = F, $B$ = F, $C$ = F le distingue: la prima vale V, la seconda F. È proprio la riga trovata nella lezione 05. ::: ::: esercizio difficile Il contrario di «se e solo se» Mostra che $\neg(p \leftrightarrow q) \equiv p \oplus q$, e poi che $p \leftrightarrow q \equiv (p \wedge q) \vee (\neg p \wedge \neg q)$. ::: soluzione 1. $p \leftrightarrow q$ è vera quando i valori sono uguali; la sua negazione è vera quando sono diversi, cioè proprio quando è vera $p \oplus q$. 2. $p \leftrightarrow q$ è vera in due righe: tutte e due vere, descritta da $p \wedge q$; tutte e due false, descritta da $\neg p \wedge \neg q$. Unendo le due righe con «o» si ottiene una formula vera esattamente in quelle due righe. È il metodo «una riga vera alla volta» della lezione 06. ::: ## Domande di ripasso ::: domanda Quando è falsa $p \to q$? Perché con $p$ falsa è vera? Solo quando $p$ è vera e $q$ è falsa. Con $p$ falsa è vera a vuoto: come una promessa con una condizione che non si avvera, non può essere smentita. ::: ::: domanda Che cosa sono la condizione necessaria e la condizione sufficiente in $p \to q$? $p$ è sufficiente per $q$: se c'è $p$, c'è $q$. $q$ è necessaria per $p$: senza $q$ non c'è $p$. ::: ::: domanda Come si traduce «$p$ solo se $q$»? Con $p \to q$. Quello che segue «solo se» è la condizione necessaria e va a destra della freccia. ::: ::: domanda Quali tra inversa, contraria e contronominale sono equivalenti a $p \to q$? Solo la contronominale $\neg q \to \neg p$. L'inversa $q \to p$ e la contraria $\neg p \to \neg q$ non lo sono, ma sono equivalenti tra loro. ::: ::: domanda Quando è vera $p \leftrightarrow q$? A che cosa è equivalente? Quando $p$ e $q$ hanno lo stesso valore. È equivalente a $(p \to q) \wedge (q \to p)$. ::: ::: domanda Che cosa vuol dire $P \equiv Q$? Che differenza c'è con $P \leftrightarrow Q$? $P \equiv Q$ vuol dire che $P$ e $Q$ hanno la stessa tavola di verità. $P \leftrightarrow Q$ è una formula, che può essere vera in certe righe e falsa in altre; $P \equiv Q$ vale esattamente quando $P \leftrightarrow Q$ è una tautologia. ::: ::: domanda Che cosa dicono le leggi di De Morgan? $\neg(p \vee q) \equiv \neg p \wedge \neg q$ e $\neg(p \wedge q) \equiv \neg p \vee \neg q$: per negare si negano i pezzi e si scambia «e» con «o». ::: ::: domanda Qual è la negazione di $p \to q$? $p \wedge \neg q$: l'ipotesi è vera e la conclusione è falsa. Non è un'implicazione. ::: ## Glossario ```glossario Proposizione condizionale | La proposizione $p \to q$, «se $p$ allora $q$»: falsa solo con $p$ vera e $q$ falsa. Ipotesi | In $p \to q$, la proposizione $p$; si chiama anche antecedente. Conclusione | In $p \to q$, la proposizione $q$; si chiama anche conseguente. Vera a vuoto | Un'implicazione con l'ipotesi falsa: è vera qualunque sia la conclusione. Condizione sufficiente | In $p \to q$, la $p$: se è vera, è vera anche $q$. Condizione necessaria | In $p \to q$, la $q$: se è falsa, è falsa anche $p$. Inversa | Di $p \to q$, la formula $q \to p$; nel libro *converse*. Non è equivalente. Contronominale | Di $p \to q$, la formula $\neg q \to \neg p$; nel libro *contrapositive*. È equivalente. Proposizione bicondizionale | La proposizione $p \leftrightarrow q$, «$p$ se e solo se $q$»: vera quando i valori sono uguali. Equivalenza logica | $P \equiv Q$: le due formule hanno la stessa tavola di verità. Leggi di De Morgan | $\neg(p \vee q) \equiv \neg p \wedge \neg q$ e $\neg(p \wedge q) \equiv \neg p \vee \neg q$. ``` ## Checklist ```checklist - So la tavola di $p \to q$ e so spiegare con la promessa perché è vera quando $p$ è falsa. - So distinguere ipotesi e conclusione, condizione sufficiente e condizione necessaria. - So tradurre «solo se», «se», «condizione necessaria» e «condizione sufficiente». - So scrivere inversa, contraria e contronominale, e so quale è equivalente. - So la tavola di $p \leftrightarrow q$ e so che equivale a due implicazioni. - So controllare se due formule sono equivalenti, e smentirlo con una riga. - So usare le leggi di De Morgan e negare un «se… allora». - So l'ordine dei connettivi: $\neg$, $\wedge$, $\vee$, $\to$, $\leftrightarrow$. - So risolvere il quiz «valore in ogni riga» con le frecce. ``` ## Fonti - Libro di testo del corso, parte 2 (R. Johnsonbaugh, *Discrete Mathematics*, cap. 1), §1.3 «Conditional Propositions and Logical Equivalence»: proposizione condizionale, ipotesi e conclusione, condizioni necessarie e sufficienti, inversa (*converse*) e contronominale (*contrapositive*), bicondizionale, equivalenza logica, leggi di De Morgan; le domande di ripasso e gli esercizi con le soluzioni pubblicate sul Moodle del canale A ([id 3851](https://informatica.i-learn.unito.it/course/view.php?id=3851), aperto agli ospiti), in particolare gli esercizi 59, 73, 76 e 80. Il libro non è disponibile: le frasi degli esercizi sono ricostruite dalle soluzioni. - Diario del canale B: «Lezione 08. Giovedì 15 Ottobre ore 09-11. Capitolo 1.3. (Parte 2) Proposizioni condizionali e equivalenza logica.» Appunti scritti prima della lezione. - F. Cardone, «Alcuni esempi relativi a formalizzazione, connettivi proposizionali e quantificatori» (Moodle del canale A): De Morgan, $A \to B \equiv \neg A \vee B$ e $\neg(A \to B) \equiv A \wedge \neg B$ come esercizi. - Simulazione d'esame 1 del 2023/24 della pagina d'esame comune, domande 3 e 6, e la versione svolta a mano che circola tra gli studenti. - La promessa della pizza, i riquadri «Prova tu», i quiz senza data e gli esercizi senza indicazione sono di questi appunti. Tutte le tavole, le tautologie e le equivalenze sono state controllate con un programma che prova tutte le righe. --- > File: `contesto_ai/FDA/lezioni/08_argomentazioni_regole_inferenza.md` ```yaml corso: FDA lezione: "08" data: 2026-10-16 titolo: Argomentazioni e regole di inferenza docenti: Stefano Berardi sopratitolo: Canale B · Lezione 08 · Libro, parte 2, §1.4 ed esercizi descrizione: >- Appunti della lezione 08 di Fondamenti dell'Informatica (canale B): argomentazioni, premesse e conclusione, argomentazioni valide e non valide, il controllo con la tavola di verità, le sette regole di inferenza del libro (modus ponens, modus tollens, addizione, semplificazione, congiunzione, sillogismo ipotetico e disgiuntivo), i due errori classici, le catene di regole, gli esercizi del §1.4 con le soluzioni e la conseguenza logica del canale A. lede: >- Un detective mette in fila gli indizi e arriva a una conclusione: quando il suo ragionamento è corretto? Qui impari a dirlo con la tavola di verità, e poi a ragionare a piccoli passi con le regole di inferenza, senza tavole. materiale: libro scheda: Libro: Johnsonbaugh, Brookshear, Brylow, Fondamenti dell'Informatica, parte 2 (Johnsonbaugh, cap. 1), §1.4 Docente: Stefano Berardi · canale B · A.A. 2026/27 Tempo di studio: 3 ore, anche in più volte fonte: >- Libro di testo del corso, parte 2 (R. Johnsonbaugh, Discrete Mathematics, cap. 1), §1.4 «Arguments and Rules of Inference», con le domande di ripasso e le soluzioni degli esercizi pubblicate sul Moodle del canale A; diario del canale B; dispense di Felice Cardone sulla conseguenza logica e sul metodo alternativo alle tavole (Moodle del canale A) appunti_html: appunti/FDA/08_argomentazioni_regole_inferenza.html genera_html: true simboli_logici: si ``` ## In breve - Un'**argomentazione** è una lista di frasi, le **premesse**, seguita da una frase finale, la **conclusione**. - È **valida** quando, se tutte le premesse sono vere, la conclusione non può essere falsa. Non vuol dire che la conclusione sia vera: vuol dire che **segue** dalle premesse. - Per controllarla con la tavola si guardano **solo le righe con tutte le premesse vere**. Basta una di queste righe con la conclusione falsa per dire che non è valida: è un **controesempio**. - Le **regole di inferenza** sono argomentazioni valide corte, da usare come passi. La più usata è il **modus ponens**: da «se A allora B» e da «A» segue «B». - Due ragionamenti sembrano giusti ma non lo sono: **affermare il conseguente** e **negare l'antecedente**. - Mettendo in fila le regole si arriva alla conclusione a piccoli passi, senza tavole: è una **dimostrazione**. - È la base di tutte le dimostrazioni della parte 2 del libro, e di tutta la matematica del corso. > [!CANALI] > Nel canale B è la lezione di venerdì 16/10, dalle 11 alle 13. Per il docente è la lezione 9, perché la prima è stata un'introduzione: qui è la 08. Il diario del canale B la annuncia così: «Capitolo 1.4 (Parte 2). Regole di inferenza per le proposizioni. Esercizi.» **Ho scritto questi appunti prima della lezione**, sul §1.4 del libro, con le sue domande di ripasso e le soluzioni degli esercizi pubblicate sul Moodle del canale A (id 3851, aperto agli ospiti); gli esercizi sono quelli del libro e altri miei, non quelli che il docente farà in aula. Il diario del docente non dice altro su che cosa è stato fatto in aula. Servono le lezioni [06](06_proposizioni_connettivi_tavole.html) e [07](07_condizionali_equivalenza_logica.html): connettivi, tavole e «se… allora». Nel canale A lo stesso argomento è nelle dispense di Felice Cardone, «La relazione di conseguenza per la logica proposizionale» e «Appunti su un metodo alternativo alle tavole di verità»; nel canale C nei lucidi del docente. ## Dagli indizi alla conclusione (libro, §1.4) In mensa è sparita una torta. Il detective raccoglie quattro informazioni su Bruno: 1. se sulle scarpe di Bruno c'è farina, allora Bruno è entrato in cucina; 2. sulle scarpe di Bruno c'è farina; 3. se Bruno è entrato in cucina, allora ha lavato i piatti o ha mangiato la torta; 4. Bruno non ha lavato i piatti. E conclude: «Bruno ha mangiato la torta». Il ragionamento è corretto? Non chiediamo se le informazioni sono vere: chiediamo se, **ammesso** che siano vere, la conclusione deve esserlo per forza. > [!IDEA] > Un ragionamento è corretto quando non c'è nessun modo di avere tutte le informazioni vere e la conclusione falsa. Il libro chiama **argomentazione** un ragionamento così: una lista di frasi di partenza e una frase finale. Le frasi di partenza si chiamano **premesse**, o **ipotesi**; la frase finale è la **conclusione**. Il libro la scrive in colonna, con le premesse una sotto l'altra e la conclusione dopo il simbolo $\therefore$, che si legge «quindi». > [!DEF] Argomentazione valida (libro, §1.4, Definizione 1.4.1) > Un'**argomentazione** è una sequenza di proposizioni scritta > $$p_1, p_2, \dots, p_n \;/\; \therefore\; q.$$ > Le proposizioni $p_1, \dots, p_n$ sono le **premesse** (o ipotesi) e $q$ è la **conclusione**. L'argomentazione è **valida** se, quando $p_1, p_2, \dots, p_n$ sono tutte vere, anche $q$ è vera. Un'argomentazione che non è valida si chiama **non valida**. **Come si legge.** Le premesse sono gli indizi, la conclusione è il verdetto. «Valida» vuol dire che il verdetto **segue** dagli indizi: se gli indizi sono veri, il verdetto è vero. Il libro chiama questo modo di ragionare **ragionamento deduttivo**: trarre una conclusione da una sequenza di proposizioni. > [!TRAPPOLA] Valida non vuol dire vera > «Se un numero è pari, è divisibile per 4. 6 è pari. Quindi 6 è divisibile per 4.» L'argomentazione è **valida**: ha la forma giusta. La conclusione però è falsa, perché la prima premessa è falsa. La validità parla della **forma** del ragionamento, non della verità delle premesse. ::: prova «Se piove, la strada è bagnata. Piove. Quindi la strada è bagnata.» Quali sono le premesse e la conclusione? Ti sembra valida? Le premesse sono «se piove, la strada è bagnata» e «piove»; la conclusione è «la strada è bagnata». È valida: se le due premesse sono vere, la strada è per forza bagnata. ::: > [!RICORDA] > - Argomentazione: premesse, poi una conclusione. > - Valida: con tutte le premesse vere, la conclusione non può essere falsa. ## Controllare con la tavola di verità (libro, §1.4) La definizione dice «quando le premesse sono tutte vere». Con le lettere, ogni riga della tavola è una situazione possibile. Quindi il controllo è questo: si guardano le righe in cui le premesse sono tutte vere, e solo quelle. > [!METODO] Un'argomentazione è valida? > 1. Scrivi le premesse e la conclusione con le lettere. > 2. Fai la tavola, con una colonna per ogni premessa e una per la conclusione. > 3. Segna le righe in cui **tutte** le premesse sono vere. > 4. In tutte queste righe la conclusione è vera? Allora è **valida**. Se in almeno una è falsa, **non è valida**, e quella riga è un **controesempio**. > > Le righe con almeno una premessa falsa non contano. > [!ESEMPIO] La regola della strada bagnata > Con $p$: «piove» e $q$: «la strada è bagnata», l'argomentazione è $p \to q,\ p \;/\; \therefore q$. > > | $p$ | $q$ | $p \to q$ | $p$ | $q$ | > |:-:|:-:|:-:|:-:|:-:| > | V | V | **V** | **V** | **V** | > | V | F | F | V | F | > | F | V | V | F | V | > | F | F | V | F | F | > > Solo nella prima riga le due premesse sono vere, e lì la conclusione è vera. È valida: è l'esercizio 1 del §1.4, e le soluzioni del libro dicono «valida». > [!ESEMPIO] Un'argomentazione non valida (esercizio 4 del libro) > Premesse: $(p \vee r) \to q$ e $q$. Conclusione: $\neg p \to r$. Le soluzioni del libro dicono «non valida». Ecco il controesempio: $p$ = F, $q$ = V, $r$ = F. > - Prima premessa: $p \vee r$ è falsa, quindi l'implicazione è vera a vuoto. > - Seconda premessa: $q$ è vera. > - Conclusione: $\neg p$ è vera e $r$ è falsa, quindi $\neg p \to r$ è falsa. > > Premesse vere e conclusione falsa: basta questa riga. Lo strumento qui sotto fa il controllo per te. Le righe con le premesse tutte vere diventano verdi se la conclusione è vera, rosse se è falsa. Le premesse si separano con il punto e virgola. ```widget logica titolo: L'argomentazione è valida? modo: argomento premesse: (p ∨ r) → q; q conclusione: ¬p → r ``` ::: prova Con lo strumento, controlla l'argomentazione $p \to q,\ q \;/\; \therefore p$. È valida? No. Nella riga $p$ = F, $q$ = V le due premesse sono vere e la conclusione è falsa: è un controesempio. ::: > [!RICORDA] > - Si guardano solo le righe con **tutte** le premesse vere. > - Basta una di quelle righe con la conclusione falsa: non è valida. ## Le regole di inferenza (libro, §1.4) Con 4 lettere la tavola ha 16 righe, con 5 ne ha 32. Il detective non fa tavole: ragiona a piccoli passi, e ogni passo è un ragionamento corto già noto, che si sa essere valido. Questi ragionamenti si chiamano **regole di inferenza**. Il libro ne elenca sette. | Nome | Premesse | Conclusione | Un esempio | |---|---|---|---| | **modus ponens** | $p \to q$ e $p$ | $q$ | se piove la strada è bagnata; piove; quindi la strada è bagnata | | **modus tollens** | $p \to q$ e $\neg q$ | $\neg p$ | se piove la strada è bagnata; la strada è asciutta; quindi non piove | | addizione | $p$ | $p \vee q$ | piove; quindi piove o nevica | | semplificazione | $p \wedge q$ | $p$ | piove e fa freddo; quindi piove | | congiunzione | $p$ e $q$ | $p \wedge q$ | piove; fa freddo; quindi piove e fa freddo | | sillogismo ipotetico | $p \to q$ e $q \to r$ | $p \to r$ | se piove esco con l'ombrello; se esco con l'ombrello lo dimentico; quindi se piove lo dimentico | | sillogismo disgiuntivo | $p \vee q$ e $\neg p$ | $q$ | è a casa o in biblioteca; non è a casa; quindi è in biblioteca | ### Le due regole con la freccia Le più importanti sono le prime due. Tutte e due partono da una promessa «se $p$ allora $q$», come la promessa della pizza della lezione 07. - **Modus ponens**, «modo che afferma»: l'ipotesi si è avverata, quindi anche la conclusione. La squadra ha vinto: arriva la pizza. - **Modus tollens**, «modo che nega»: la conclusione manca, quindi manca anche l'ipotesi. La pizza non è arrivata: la squadra non ha vinto. È la contronominale della lezione 07 usata come passo. ### Perché sono valide Ogni regola si controlla con una tavola, come nella sezione prima. Per il modus tollens, le premesse sono $p \to q$ e $\neg q$: | $p$ | $q$ | $p \to q$ | $\neg q$ | $\neg p$ | |:-:|:-:|:-:|:-:|:-:| | V | V | V | F | F | | V | F | F | V | F | | F | V | V | F | V | | F | F | **V** | **V** | **V** | Solo nell'ultima riga le premesse sono tutte e due vere, e lì $\neg p$ è vera. È la tavola delle soluzioni del libro, esercizio 33. ::: prova Che regola è? (a) «Se è domenica il negozio è chiuso. Il negozio non è chiuso. Quindi non è domenica.» (b) «Piove o nevica. Non piove. Quindi nevica.» (c) «Fa freddo e piove. Quindi fa freddo.» (a) Modus tollens. (b) Sillogismo disgiuntivo. (c) Semplificazione. ::: > [!RICORDA] > - Modus ponens: da «se $p$ allora $q$» e «$p$», segue «$q$». > - Modus tollens: da «se $p$ allora $q$» e «non $q$», segue «non $p$». > - Le altre cinque: addizione, semplificazione, congiunzione, sillogismo ipotetico e disgiuntivo. ## Due ragionamenti che sembrano giusti (libro, §1.4) Due ragionamenti somigliano al modus ponens e al modus tollens, ma **non sono validi**. Sono errori così comuni da avere un nome. | Nome dell'errore | Premesse | Conclusione sbagliata | Il controesempio | |---|---|---|---| | affermare il conseguente | $p \to q$ e $q$ | $p$ | $p$ = F, $q$ = V | | negare l'antecedente | $p \to q$ e $\neg p$ | $\neg q$ | $p$ = F, $q$ = V | Con la strada bagnata: - «Se piove la strada è bagnata. La strada è bagnata. Quindi piove.» **Non è valida**: la strada può essere bagnata perché è passata l'autobotte. - «Se piove la strada è bagnata. Non piove. Quindi la strada non è bagnata.» **Non è valida**, per lo stesso motivo. Il controesempio è in tutti e due i casi la riga «non piove, ma la strada è bagnata». È l'errore di confondere una promessa con la sua inversa, della lezione 07. > [!ESEMPIO] Un errore nascosto (esercizio 13 del libro) > Le soluzioni del libro scrivono così un'argomentazione **non valida**: «Se non compreremo un computer nuovo, allora 4 megabyte non sono meglio di niente. Compreremo un computer nuovo. Quindi 4 megabyte sono meglio di niente.» > > Con $p$: «4 megabyte sono meglio di niente» e $q$: «compreremo un computer nuovo», le premesse sono $\neg q \to \neg p$ e $q$, la conclusione è $p$. La prima premessa è la contronominale di $p \to q$; con $q$ vera e $p$ falsa le premesse sono vere e la conclusione falsa. È di nuovo «affermare il conseguente». > [!TRAPPOLA] Una conclusione vera non salva un ragionamento sbagliato > «Se un numero è divisibile per 4, è pari. 8 è pari. Quindi 8 è divisibile per 4.» La conclusione è vera, ma il ragionamento **non è valido**: con 6 al posto di 8 le premesse restano vere e la conclusione diventa falsa. ::: prova È valida «Se studio, passo l'esame. Non ho studiato. Quindi non passo l'esame»? No: è «negare l'antecedente». Il controesempio è la riga in cui non ho studiato e passo lo stesso: le premesse sono vere e la conclusione è falsa. ::: > [!RICORDA] > - Affermare il conseguente, $p \to q$ e $q$ quindi $p$: **non** valido. > - Negare l'antecedente, $p \to q$ e $\neg p$ quindi $\neg q$: **non** valido. ## Catene di regole: le dimostrazioni (libro, §1.4) Torna al detective della torta. Con le lettere: - $F$: «sulle scarpe di Bruno c'è farina»; - $C$: «Bruno è entrato in cucina»; - $L$: «Bruno ha lavato i piatti»; - $T$: «Bruno ha mangiato la torta». Le premesse sono $F \to C$, $F$, $C \to (L \vee T)$ e $\neg L$. La conclusione è $T$. Con la tavola servirebbero 16 righe. Con le regole bastano tre passi, ognuno giustificato da una regola: | Passo | Che cosa so | Perché | |:-:|---|---| | 1 | $F \to C$ | premessa | | 2 | $F$ | premessa | | 3 | $C$ | dai passi 1 e 2, modus ponens | | 4 | $C \to (L \vee T)$ | premessa | | 5 | $L \vee T$ | dai passi 4 e 3, modus ponens | | 6 | $\neg L$ | premessa | | 7 | $T$ | dai passi 5 e 6, sillogismo disgiuntivo | Il ragionamento del detective è valido. Una catena così, in cui ogni passo è una premessa o segue dai passi prima con una regola, è una **dimostrazione** della conclusione. > [!METODO] Costruire una catena di regole > 1. Traduci le premesse e la conclusione con le lettere. > 2. Parti dalle premesse «semplici», come una lettera da sola: sono quelle che fanno scattare un modus ponens. > 3. A ogni passo scrivi che cosa ottieni e con quale regola, citando i passi che usi. > 4. Se resti bloccato, guarda la conclusione: quale regola potrebbe averla prodotta, e da che cosa? > [!ESEMPIO] Benzina, negozio, bibita (esercizio 30 del libro) > Le soluzioni del libro usano tre proposizioni: $p$ «c'è benzina nell'auto», $q$ «vado al negozio», $r$ «compro una bibita». Le premesse sono $p \to q$, $q \to r$ e $p$; la conclusione è $r$. > 1. Da $p \to q$ e $q \to r$, per sillogismo ipotetico: $p \to r$. > 2. Da $p \to r$ e $p$, per modus ponens: $r$. > > «Compro una bibita» segue dalle premesse. > [!ESEMPIO] Il programma che non funziona (esercizio 15 del libro) > Le soluzioni del libro scrivono questa argomentazione, e dicono che è **valida**: «Se il ciclo for è difettoso o il ciclo while è difettoso, allora l'hardware è inaffidabile o l'output è corretto. Il ciclo for è difettoso. L'hardware non è inaffidabile. Quindi l'output è corretto.» > > Con $p$ «il for è difettoso», $q$ «il while è difettoso», $r$ «l'hardware è inaffidabile», $s$ «l'output è corretto»: > 1. da $p$, per addizione: $p \vee q$; > 2. da $(p \vee q) \to (r \vee s)$ e $p \vee q$, per modus ponens: $r \vee s$; > 3. da $r \vee s$ e $\neg r$, per sillogismo disgiuntivo: $s$. ::: prova Scrivi una catena di regole per $p \to q,\ q \to r,\ \neg r \;/\; \therefore \neg p$. Da $q \to r$ e $\neg r$, per modus tollens, $\neg q$. Da $p \to q$ e $\neg q$, ancora per modus tollens, $\neg p$. Si può anche fare il sillogismo ipotetico, $p \to r$, e poi un solo modus tollens. ::: > [!RICORDA] > - Una dimostrazione è una catena di passi: ogni passo è una premessa, o segue dai passi prima con una regola. > - Per dire che un'argomentazione **non** è valida le regole non servono: serve un controesempio. ## Esercizi del libro, in italiano (libro, §1.4) La seconda parte della lezione, nel diario, è di esercizi. Il §1.4 del libro ne ha di tre tipi: argomentazioni con le lettere, argomentazioni a parole da tradurre, e domande sul nome delle regole. Ecco i modelli, con le soluzioni ufficiali. ### Con le lettere: valida o no? | Esercizio | Premesse | Conclusione | Soluzione del libro | |:-:|---|---|---| | 6 | $(p \to s) \wedge (q \to r)$ e $p \vee q$ | $r \vee s$ | valida | | 9 | $p \to (r \vee s)$, $q \to r$, $\neg s$ e $p$ | $r \vee q$ | valida | > [!ESEMPIO] L'esercizio 9 con le regole > 1. Da $p \to (r \vee s)$ e $p$, per modus ponens: $r \vee s$. > 2. Da $r \vee s$ e $\neg s$, per sillogismo disgiuntivo: $r$. Qui l'«o» è letto nell'altro ordine, $s \vee r$: è lo stesso, per la proprietà commutativa. > 3. Da $r$, per addizione: $r \vee q$. > > La premessa $q \to r$ non serve. Capita: non tutte le premesse devono essere usate. L'esercizio 6 è un **ragionamento per casi**: da $p \vee q$ ci sono due possibilità. Se è vera $p$, con $p \to s$ arriva $s$; se è vera $q$, con $q \to r$ arriva $r$. In tutti e due i casi è vera $r \vee s$. ### A parole: tradurre e decidere > [!ESEMPIO] Il computer nuovo (esercizio 10 del libro) > Le soluzioni del libro: «Se 4 megabyte sono meglio di niente, allora compreremo un computer nuovo. Se 4 megabyte sono meglio di niente, allora compreremo altra memoria. Quindi, se 4 megabyte sono meglio di niente, compreremo un computer nuovo e altra memoria.» È **valida**. > > Con $p$, $q$, $r$ al posto delle tre frasi: premesse $p \to q$ e $p \to r$, conclusione $p \to (q \wedge r)$. Nella lezione 07 hai visto che $(p \to q) \wedge (p \to r) \equiv p \to (q \wedge r)$: per questo è valida. > [!ESEMPIO] Il ciclo for, ancora (esercizio 18 del libro) > «Se il for è difettoso, il while è difettoso. Se il while è difettoso, l'hardware è inaffidabile. L'hardware non è inaffidabile. Se l'output è corretto, l'hardware è inaffidabile. Quindi l'output non è corretto.» Per le soluzioni del libro è **valida**. > > Basta un passo: da «se l'output è corretto, l'hardware è inaffidabile» e «l'hardware non è inaffidabile», per modus tollens, «l'output non è corretto». ### Il nome della regola Alcuni esercizi danno un ragionamento e chiedono quale regola usa. Nelle soluzioni dell'esercizio 27, per esempio, la risposta è «addizione». Si riconosce guardando la forma: una frase sola che diventa un «o» è sempre un'addizione. ::: prova Per l'esercizio 6, trova una riga in cui una premessa è falsa e la conclusione è falsa. Rende non valida l'argomentazione? Per esempio $p$, $q$, $r$, $s$ tutte false: $p \vee q$ è falsa e $r \vee s$ è falsa. Non rende non valida l'argomentazione, perché in quella riga non sono vere tutte le premesse. ::: > [!RICORDA] > - Non tutte le premesse devono servire. > - Da «$p$ o $q$» si ragiona per casi: si guarda che cosa succede con $p$ e che cosa succede con $q$. ## Un rompicapo: chi ordina il caffè? È il rompicapo che il canale A risolve a lezione. Tre amici al bar, e quattro informazioni: 1. se Alberto ordina un caffè, lo ordina anche Bice; 2. Bice o Carlo ordinano un caffè, ma non tutti e due; 3. Alberto o Carlo ordinano un caffè, o tutti e due; 4. se Carlo ordina un caffè, lo ordina anche Alberto. Chi ordina il caffè? Uso una lettera per ogni amico: $A$ vuol dire «Alberto ordina un caffè», e lo stesso $B$ per Bice e $C$ per Carlo. Le quattro informazioni diventano le premesse $A \to B$, $B \oplus C$, $A \vee C$ e $C \to A$. Le righe sono 8; la tavola dice che una sola rende vere tutte e quattro le informazioni: $A$ = V, $B$ = V, $C$ = F. Si può anche ragionare per casi, senza tavola. - **Se Carlo ordina il caffè**: dalla 4, lo ordina Alberto; dalla 1, lo ordina Bice. Ma allora Bice e Carlo lo ordinano tutti e due, contro la 2. Impossibile. - **Quindi Carlo non lo ordina.** Dalla 3, lo ordina Alberto; dalla 1, lo ordina Bice. La 2 è rispettata: Bice sì, Carlo no. Alberto e Bice ordinano il caffè, Carlo no. Mettilo nello strumento per vedere la riga verde. ```widget logica titolo: Il rompicapo del caffè modo: argomento premesse: A → B; B ⊕ C; A ∨ C; C → A conclusione: A ∧ B ∧ ¬C ``` ::: prova Cambia la quarta informazione in «se Alberto ordina un caffè, lo ordina anche Carlo». Chi ordina il caffè adesso? E se invece tieni le quattro informazioni e ne aggiungi una quinta, «se Bice ordina un caffè, lo ordina anche Carlo»? Con la quarta cambiata ordina solo Carlo. Se Alberto ordinasse, lo ordinerebbero anche Bice e Carlo, contro la seconda informazione. Quindi Alberto no; dalla terza Carlo sì; dalla seconda Bice no. Con la quinta aggiunta, invece, nessuna riga rende vere tutte le informazioni. Da informazioni contraddittorie segue qualunque conclusione, a vuoto: lo strumento lo segnala. ::: > [!RICORDA] > - Un rompicapo è un'argomentazione: le informazioni sono le premesse. > - Se le premesse non possono essere vere insieme, l'argomentazione è valida a vuoto. ## La notazione del canale A: la conseguenza logica Nelle dispense di Felice Cardone, sul Moodle del canale A, la stessa idea ha un altro nome e un altro simbolo. La dispensa dice che il libro scrive $p_1, \dots, p_n \;/\; \therefore p$ per quello che lì si scrive con il simbolo $\models$. > [!DEF] Conseguenza logica (dispensa del canale A) > $A_1, \dots, A_n \models A$ vale se e solo se, per ogni riga della tavola di verità in cui $A_1, \dots, A_n$ sono vere, anche $A$ è vera. **Come si legge.** $\models$ si legge «ha come conseguenza logica». È la definizione di argomentazione valida, scritta con un simbolo. Con niente a sinistra, $\models A$ vuol dire che $A$ è vera in tutte le righe: è una **tautologia**. C'è un legame preciso tra le due cose, che il canale A dimostra a lezione: $A \models B$ esattamente quando $A \to B$ è una tautologia. «$B$ segue da $A$» vuol dire che nessuna riga ha $A$ vera e $B$ falsa, cioè che $A \to B$ non è mai falsa. > [!APPROFONDIMENTO] Il metodo alternativo alle tavole (canale A) > La seconda dispensa del canale A propone un modo più veloce delle tavole. È una dimostrazione per assurdo organizzata: si suppone che le premesse siano vere e la conclusione falsa, e si cercano le conseguenze. > > Si divide il foglio con una linea verticale: **a sinistra le formule vere**, **a destra quelle false**. All'inizio a sinistra ci sono le premesse e a destra la conclusione. Poi si spezza una formula alla volta, secondo il suo connettivo: > - un «e» vero mette tutte e due le parti a sinistra; un «o» falso le mette tutte e due a destra; > - un «se… allora» falso mette l'ipotesi a sinistra e la conclusione a destra; > - un «non» sposta la formula dall'altra parte; > - un «e» falso, un «o» vero e un «se… allora» vero aprono **due rami**, uno per ogni possibilità. > > Un ramo si **chiude** quando la stessa lettera compare a sinistra e a destra: dovrebbe essere vera e falsa insieme. Se si chiudono tutti i rami, l'argomentazione è valida. Se un ramo resta aperto, dà un controesempio: le lettere a sinistra sono vere, quelle a destra false. > > Per il modus ponens: a sinistra $A$ e $A \to B$, a destra $B$. Spezzando $A \to B$, vero, si aprono due rami: in uno $A$ va a destra, e si chiude con la $A$ di sinistra; nell'altro $B$ va a sinistra, e si chiude con la $B$ di destra. Tutti chiusi: valida. ::: prova Con la notazione del canale A, come si scrive che il modus tollens è valido? $p \to q,\ \neg q \models \neg p$. ::: > [!RICORDA] > - $A_1, \dots, A_n \models A$ è la stessa cosa di «l'argomentazione è valida». > - $A \models B$ esattamente quando $A \to B$ è una tautologia. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $p_1, \dots, p_n \;/\; \therefore q$ | «premesse, quindi $q$» | un'argomentazione | $p \to q,\ p \;/\; \therefore q$ | | $\therefore$ | «quindi» | introduce la conclusione | | | $\models$ | «ha come conseguenza» | la notazione del canale A per «argomentazione valida» | $p,\ q \models p \wedge q$ | | $\models A$ | «$A$ è una tautologia» | $A$ è vera in tutte le righe | $\models p \vee \neg p$ | | modus ponens | «modus ponens» | da $p \to q$ e $p$ segue $q$ | | | modus tollens | «modus tollens» | da $p \to q$ e $\neg q$ segue $\neg p$ | | ## Verso l'esame Le regole dell'esame, uguali per i tre canali, sono nella [lezione 01](01_bit_porte_esadecimale.html) e nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md): 9 quiz in 45 minuti al computer, con Safe Exam Browser, da 3 punti l'uno; servono almeno 18 punti. **Che cosa serve di questa lezione** 1. **Vero o falso su argomentazioni.** Domande come «da $A \to B$ e $B$ segue $A$?»: si risponde cercando un controesempio. Nelle simulazioni del 2023/24 che ho non c'è una domanda così; il diario del canale A 2025/26 cita però «problemi relativi a conseguenza logica» tra gli esercizi di ripasso. 2. **Il nome delle regole**: modus ponens, modus tollens e gli errori classici. 3. **Le dimostrazioni** della parte 2 del libro, dalla prossima settimana: ogni passo di una dimostrazione è una regola di questa lezione. ### Una domanda nello stile del quiz, letta insieme **Il testo**: «Quali delle seguenti argomentazioni sono valide? (a) $A \to B,\ B \;/\; \therefore A$; (b) $A \vee B,\ \neg A \;/\; \therefore B$; (c) $A \to B,\ \neg B \;/\; \therefore \neg A$; (d) $A \to B,\ \neg A \;/\; \therefore \neg B$; (e) $A \wedge B \;/\; \therefore A \vee B$.» **In pratica chiede:** per ognuna, vero o falso. Un controesempio basta per scartare. > [!ESEMPIO] · la soluzione, passo per passo > - (a) **Non valida**: è affermare il conseguente. Controesempio: $A$ = F, $B$ = V. > - (b) **Valida**: è il sillogismo disgiuntivo. > - (c) **Valida**: è il modus tollens. > - (d) **Non valida**: è negare l'antecedente. Controesempio: $A$ = F, $B$ = V. > - (e) **Valida**: l'unica riga con $A \wedge B$ vera ha $A$ e $B$ vere, e lì $A \vee B$ è vera. Si ottiene anche con due regole: semplificazione, poi addizione. > > Le valide sono (b), (c) ed (e). Nota che (a) e (d) hanno lo stesso controesempio: la riga $A$ = F, $B$ = V è quella da provare per prima con le frecce. > [!METODO] Le domande sulle argomentazioni > 1. **Riconosci la forma**: è una delle sette regole? Allora è valida. È uno dei due errori? Allora non lo è. > 2. **Se non la riconosci**, cerca un controesempio: prova a rendere falsa la conclusione e vere tutte le premesse. Con le frecce, parti dalle righe con l'ipotesi falsa. > 3. **Se il controesempio non esiste**, l'argomentazione è valida. Per esserne sicuro, fai la tavola delle sole righe con la conclusione falsa. **Errori da evitare** - Guardare tutte le righe della tavola, invece delle sole righe con le premesse vere. - Pensare che «valida» voglia dire «con la conclusione vera». - Affermare il conseguente o negare l'antecedente. - Dimenticare che basta un controesempio. - Nel modus tollens, negare la cosa sbagliata: da $p \to q$ e $\neg q$ segue $\neg p$, non $\neg q$. ## Quiz ```quiz D: Quando un'argomentazione è valida? + Quando in ogni riga con tutte le premesse vere anche la conclusione è vera - Quando la conclusione è vera - Quando le premesse sono tutte vere - Quando la conclusione è vera in almeno una riga - Quando premesse e conclusione hanno la stessa tavola = È la definizione 1.4.1 del libro: se le premesse sono vere, la conclusione deve esserlo. La risposta più insidiosa è «quando la conclusione è vera»: un'argomentazione con la conclusione vera può essere non valida, e una valida può avere la conclusione falsa se una premessa è falsa. La stessa tavola è l'equivalenza, un'altra cosa. D: Quale regola usa «Se ho la febbre, resto a casa. Non resto a casa. Quindi non ho la febbre»? + Modus tollens - Modus ponens - Sillogismo disgiuntivo - Sillogismo ipotetico - Affermare il conseguente = Da «se $p$ allora $q$» e «non $q$» segue «non $p$»: è il modus tollens. La risposta più insidiosa è il modus ponens, che parte da «$p$», non da «non $q$». Affermare il conseguente partirebbe da «resto a casa». D: Quale di queste argomentazioni **non** è valida? + $p \to q,\ q \;/\; \therefore p$ - $p \to q,\ p \;/\; \therefore q$ - $p \to q,\ \neg q \;/\; \therefore \neg p$ - $p \vee q,\ \neg p \;/\; \therefore q$ - $p \to q,\ q \to r \;/\; \therefore p \to r$ = È «affermare il conseguente»: con $p$ = F e $q$ = V le premesse sono vere e la conclusione falsa. La risposta più insidiosa è il modus tollens, che a prima vista sembra girato al contrario ma è valido. Le altre sono modus ponens, sillogismo disgiuntivo e sillogismo ipotetico. D: Per l'argomentazione $p \to q,\ \neg p \;/\; \therefore \neg q$, qual è un controesempio? + $p$ = F, $q$ = V - $p$ = V, $q$ = V - $p$ = V, $q$ = F - $p$ = F, $q$ = F - non ce n'è, è valida = Con $p$ falsa e $q$ vera: $p \to q$ è vera a vuoto, $\neg p$ è vera, e $\neg q$ è falsa. La risposta più insidiosa è «non ce n'è»: la forma somiglia al modus tollens, ma nega l'ipotesi invece della conclusione. Con $p$ = F, $q$ = F le premesse sono vere ma anche la conclusione: non è un controesempio. D: Da quali premesse segue $r$ con un solo modus ponens? + $q \to r$ e $q$ - $q \to r$ e $r$ - $r \to q$ e $q$ - $q \vee r$ e $q$ - $q \to r$ e $\neg q$ = Il modus ponens chiede «se $q$ allora $r$» e «$q$». La risposta più insidiosa è $q \to r$ e $\neg q$: è negare l'antecedente, e da lì non segue niente su $r$. Con $r \to q$ e $q$ si afferma il conseguente. D: Nell'esercizio 9 del libro, $p \to (r \vee s),\ q \to r,\ \neg s,\ p \;/\; \therefore r \vee q$, quale premessa non serve? + $q \to r$ - $p$ - $\neg s$ - $p \to (r \vee s)$ - servono tutte = Da $p$ e $p \to (r \vee s)$ viene $r \vee s$; con $\neg s$ viene $r$; per addizione $r \vee q$. La risposta più insidiosa è «servono tutte»: in un'argomentazione valida possono esserci premesse in più, che non si usano. D: Che cosa vuol dire $A, B \models C$ nella notazione del canale A? + In ogni riga in cui $A$ e $B$ sono vere, anche $C$ è vera - $A$, $B$ e $C$ sono vere - $C$ è vera in tutte le righe - $A \wedge B$ e $C$ hanno la stessa tavola - $C$ implica $A$ e $B$ = È la conseguenza logica: la stessa cosa dell'argomentazione valida $A, B \;/\; \therefore C$. La risposta più insidiosa è «stessa tavola»: è l'equivalenza, che chiede anche il verso opposto. «$C$ vera in tutte le righe» è $\models C$, senza premesse. D: Dalle premesse $p \to q$ e $q \to r$, quale conclusione segue con il sillogismo ipotetico? + $p \to r$ - $r \to p$ - $p \wedge r$ - $q$ - $r$ = Le implicazioni si mettono in fila: da $p$ a $q$, da $q$ a $r$, quindi da $p$ a $r$. La risposta più insidiosa è $r$: per avere $r$ servirebbe anche $p$ tra le premesse, e poi un modus ponens. D: Le premesse $p$, $\neg p$ hanno come conseguenza: + qualunque formula - solo $p$ - solo $\neg p$ - nessuna formula - solo le tautologie = Nessuna riga rende vere tutte e due le premesse, quindi la condizione «in ogni riga con le premesse vere» è sempre rispettata: l'argomentazione è valida a vuoto, con qualunque conclusione. La risposta più insidiosa è «nessuna formula»: sembra logico, ma la definizione dice il contrario. D: Nel rompicapo del caffè ($A \to B$, $B \oplus C$, $A \vee C$, $C \to A$), quante righe della tavola rendono vere tutte e quattro le informazioni? N: 1 = Solo la riga $A$ = V, $B$ = V, $C$ = F. Ragionando per casi: se Carlo ordinasse il caffè, lo ordinerebbero anche Alberto e Bice, e la seconda informazione sarebbe falsa. ``` ## Esercizi ::: esercizio base Riscaldamento: premesse e conclusione In ciascuna argomentazione indica le premesse e la conclusione, e traducila con le lettere: (a) «Se è festa, la biblioteca è chiusa. È festa. Quindi la biblioteca è chiusa.» (b) «Studio o vado al cinema. Non vado al cinema. Quindi studio.» ::: soluzione (a) Con $f$: «è festa» e $b$: «la biblioteca è chiusa»: premesse $f \to b$ e $f$, conclusione $b$. È un modus ponens. (b) Con $s$: «studio» e $c$: «vado al cinema»: premesse $s \vee c$ e $\neg c$, conclusione $s$. È un sillogismo disgiuntivo, con l'«o» letto nell'altro ordine. ::: ::: esercizio base Riscaldamento: riconoscere le regole Che regola è? (a) «Mangio e bevo. Quindi mangio.» (b) «Piove. Quindi piove o tira vento.» (c) «Se studio capisco; se capisco mi diverto. Quindi se studio mi diverto.» (d) «Ho il libro. Ho gli appunti. Quindi ho il libro e gli appunti.» ::: soluzione (a) Semplificazione. (b) Addizione. (c) Sillogismo ipotetico. (d) Congiunzione. ::: ::: esercizio base Riscaldamento: valida o no? Dì se sono valide e, se non lo sono, dai un controesempio: (a) $p \to q,\ \neg r \to \neg q,\ \neg r \;/\; \therefore \neg p$; (b) $p \to q,\ q \to r,\ r \;/\; \therefore p$; (c) $p \vee q,\ p \to r,\ \neg r \;/\; \therefore q$. ::: soluzione (a) Valida. Da $\neg r \to \neg q$ e $\neg r$, per modus ponens, $\neg q$. Da $p \to q$ e $\neg q$, per modus tollens, $\neg p$. (b) Non valida: con $p$ = F, $q$ = V, $r$ = V le premesse sono vere e la conclusione è falsa. Va bene anche $p$ = F, $q$ = F, $r$ = V. (c) Valida. Da $p \to r$ e $\neg r$, per modus tollens, $\neg p$. Da $p \vee q$ e $\neg p$, per sillogismo disgiuntivo, $q$. ::: ::: esercizio base Riscaldamento: la tavola della congiunzione Mostra con una tavola che la regola di congiunzione, $p,\ q \;/\; \therefore p \wedge q$, è valida. È l'esercizio 36 del libro. ::: soluzione | $p$ | $q$ | $p \wedge q$ | |:-:|:-:|:-:| | V | V | **V** | | V | F | F | | F | V | F | | F | F | F | L'unica riga con le due premesse vere è la prima, e lì $p \wedge q$ è vera: è valida. ::: ::: esercizio medio Una catena più lunga Scrivi una dimostrazione di $s$ dalle premesse $p \to q$, $q \to r$, $r \to s$ e $p$, citando la regola di ogni passo. ::: soluzione | Passo | Che cosa so | Perché | |:-:|---|---| | 1 | $p \to q$ | premessa | | 2 | $q \to r$ | premessa | | 3 | $r \to s$ | premessa | | 4 | $p$ | premessa | | 5 | $q$ | 1 e 4, modus ponens | | 6 | $r$ | 2 e 5, modus ponens | | 7 | $s$ | 3 e 6, modus ponens | ::: ::: esercizio medio Il ragionamento per casi Mostra che $p \to r,\ q \to r,\ p \vee q \;/\; \therefore r$ è valida, prima ragionando per casi e poi con lo strumento. ::: soluzione **Per casi.** Da $p \vee q$, è vera $p$ oppure è vera $q$. Se è vera $p$, da $p \to r$ per modus ponens viene $r$. Se è vera $q$, da $q \to r$ viene $r$. In tutti e due i casi $r$ è vera. **Con lo strumento.** Le righe con le tre premesse vere sono 3, e in tutte $r$ è vera. È lo schema delle dimostrazioni per casi, che il libro userà nel capitolo 2. ::: ::: esercizio medio Tradurre e decidere «Se il server è acceso, il sito risponde. Il sito non risponde. Se il sito non risponde, gli utenti si lamentano. Quindi il server è spento e gli utenti si lamentano.» Traduci e dimostra la conclusione. ::: soluzione Con $a$: «il server è acceso», $r$: «il sito risponde», $u$: «gli utenti si lamentano». Premesse: $a \to r$, $\neg r$, $\neg r \to u$. Conclusione: $\neg a \wedge u$. 1. Da $a \to r$ e $\neg r$, per modus tollens: $\neg a$. 2. Da $\neg r \to u$ e $\neg r$, per modus ponens: $u$. 3. Da $\neg a$ e $u$, per congiunzione: $\neg a \wedge u$. ::: ::: esercizio esame Vero o falso sulle argomentazioni Vero o falso? (1) $A \to B,\ B \models A$. (2) $A \vee B,\ \neg A \models B$. (3) $A,\ \neg A \models B$ per qualunque $B$. (4) Se $A \to B$ è una tautologia, allora $A \models B$. (5) $A \wedge B \models A \vee B$. ::: soluzione 1. Falso: è affermare il conseguente. 2. Vero: sillogismo disgiuntivo. 3. Vero: nessuna riga rende vere $A$ e $\neg A$, quindi è valida a vuoto. 4. Vero: è il legame tra conseguenza logica e tautologie. 5. Vero: semplificazione e poi addizione. ::: ::: esercizio esame L'indovinello degli studenti È un esercizio del canale A: «Né Alberto né Carlo sono buoni studenti. Alberto è un buono studente se Davide lo è, oppure: se Davide o Elisabetta sono buoni studenti, allora Carlo è un buono studente se e solo se Davide lo è. Quindi Davide non è un buono studente.» Formalizza e mostra che è valida. ::: soluzione Con le iniziali: premesse $\neg A \wedge \neg C$ e $(D \to A) \vee ((D \vee E) \to (C \leftrightarrow D))$; conclusione $\neg D$. Cerco un controesempio: premesse vere e $D$ vera. Dalla prima premessa, $A$ e $C$ sono false. 1. $D \to A$ ha l'ipotesi vera e la conclusione falsa: è falsa. 2. $D \vee E$ è vera, perché $D$ è vera. $C \leftrightarrow D$ è falsa, perché $C$ è falsa e $D$ è vera. Quindi $(D \vee E) \to (C \leftrightarrow D)$ è falsa. 3. La seconda premessa è un «o» di due parti false: è falsa. Il controesempio è impossibile: l'argomentazione è valida. Controllata anche con un programma su tutte le 16 righe. ::: ::: esercizio difficile Il dilemma costruttivo Dimostra che $(p \to q) \wedge (r \to s),\ p \vee r \;/\; \therefore q \vee s$ è valida, con le regole. È la stessa forma dell'esercizio 6 del libro. ::: soluzione 1. Dalla prima premessa, per semplificazione: $p \to q$, e anche $r \to s$. 2. Da $p \vee r$ ragiono per casi. - Se è vera $p$: da $p \to q$, per modus ponens, $q$; per addizione, $q \vee s$. - Se è vera $r$: da $r \to s$, per modus ponens, $s$; per addizione, $q \vee s$. 3. In tutti e due i casi $q \vee s$ è vera. ::: ::: esercizio difficile Trovare il controesempio con il metodo alternativo Usa il metodo alternativo del canale A per mostrare che $A \to (B \vee C),\ B \to \neg C \;/\; \therefore A \to B$ non è valida, e trova il controesempio. ::: soluzione A sinistra (vere): $A \to (B \vee C)$ e $B \to \neg C$. A destra (falsa): $A \to B$. 1. $A \to B$ falsa: $A$ va a sinistra, $B$ a destra. 2. $A \to (B \vee C)$ vera apre due rami. Nel primo $A$ va a destra: si chiude, perché $A$ è anche a sinistra. Nel secondo $B \vee C$ va a sinistra. 3. $B \vee C$ vera apre due rami. Nel primo $B$ va a sinistra: si chiude con la $B$ di destra. Nel secondo $C$ va a sinistra. 4. $B \to \neg C$ vera apre due rami. Nel primo $B$ va a destra: nessuna contraddizione. Nel secondo $\neg C$ va a sinistra, cioè $C$ a destra: si chiude con la $C$ di sinistra. Resta aperto un ramo: a sinistra $A$ e $C$, a destra $B$. Il controesempio è $A$ = V, $B$ = F, $C$ = V. Controllo: $B \vee C$ è vera, quindi la prima premessa è vera; $B$ è falsa, quindi la seconda è vera a vuoto; $A \to B$ è falsa. ::: ## Domande di ripasso ::: domanda Che cos'è un'argomentazione? Quando è valida? Una lista di premesse seguita da una conclusione. È valida quando, se le premesse sono tutte vere, anche la conclusione è vera. ::: ::: domanda Come si controlla con la tavola se un'argomentazione è valida? Si guardano solo le righe con tutte le premesse vere. Se in tutte la conclusione è vera, è valida; se in una è falsa, quella riga è un controesempio. ::: ::: domanda Un'argomentazione valida può avere la conclusione falsa? Sì, se almeno una premessa è falsa. La validità riguarda la forma del ragionamento, non la verità delle premesse. ::: ::: domanda Che cosa dicono il modus ponens e il modus tollens? Modus ponens: da $p \to q$ e $p$ segue $q$. Modus tollens: da $p \to q$ e $\neg q$ segue $\neg p$. ::: ::: domanda Quali sono le sette regole di inferenza del libro? Modus ponens, modus tollens, addizione, semplificazione, congiunzione, sillogismo ipotetico e sillogismo disgiuntivo. ::: ::: domanda Che cosa sono «affermare il conseguente» e «negare l'antecedente»? Perché non sono validi? Il primo è dedurre $p$ da $p \to q$ e $q$; il secondo è dedurre $\neg q$ da $p \to q$ e $\neg p$. Non sono validi: la riga $p$ falsa e $q$ vera rende vere le premesse e falsa la conclusione. ::: ::: domanda Che cosa vuol dire $A_1, \dots, A_n \models A$? È la notazione del canale A: in ogni riga in cui $A_1, \dots, A_n$ sono vere, anche $A$ è vera. È la stessa cosa dell'argomentazione valida. ::: ::: domanda Se le premesse non possono essere vere insieme, che cosa si può dedurre? Qualunque cosa: l'argomentazione è valida a vuoto, perché non esiste una riga con le premesse vere e la conclusione falsa. ::: ## Glossario ```glossario Argomentazione | Una sequenza di proposizioni, le premesse, seguita da una conclusione. Premessa | Una delle proposizioni di partenza di un'argomentazione; si chiama anche ipotesi. Conclusione | La proposizione finale di un'argomentazione, dopo il «quindi». Argomentazione valida | Se tutte le premesse sono vere, anche la conclusione è vera (Definizione 1.4.1). Controesempio | Una riga della tavola con tutte le premesse vere e la conclusione falsa. Regola di inferenza | Un'argomentazione valida corta, usata come passo di un ragionamento. Modus ponens | Da $p \to q$ e $p$ segue $q$. Modus tollens | Da $p \to q$ e $\neg q$ segue $\neg p$. Sillogismo ipotetico | Da $p \to q$ e $q \to r$ segue $p \to r$. Sillogismo disgiuntivo | Da $p \vee q$ e $\neg p$ segue $q$. Affermare il conseguente | L'errore di dedurre $p$ da $p \to q$ e $q$. Negare l'antecedente | L'errore di dedurre $\neg q$ da $p \to q$ e $\neg p$. Conseguenza logica | $A_1, \dots, A_n \models A$: la notazione del canale A per l'argomentazione valida. ``` ## Checklist ```checklist - So distinguere premesse e conclusione, e tradurre un'argomentazione con le lettere. - So che «valida» vuol dire che la conclusione segue dalle premesse, non che è vera. - So controllare un'argomentazione con la tavola, guardando solo le righe con le premesse vere. - So trovare un controesempio quando un'argomentazione non è valida. - So le sette regole di inferenza del libro e le riconosco nelle frasi in italiano. - So riconoscere i due errori: affermare il conseguente e negare l'antecedente. - So costruire una catena di regole, citando a ogni passo la regola e i passi usati. - So ragionare per casi a partire da un «o». - So leggere la notazione $\models$ del canale A. ``` ## Fonti - Libro di testo del corso, parte 2 (R. Johnsonbaugh, *Discrete Mathematics*, cap. 1), §1.4 «Arguments and Rules of Inference»: Definizione 1.4.1, ragionamento deduttivo, premesse e conclusione, le sette regole di inferenza; le domande di ripasso e gli esercizi 1, 4, 6, 9, 10, 13, 15, 18, 27, 30, 33 e 36 con le soluzioni pubblicate sul Moodle del canale A ([id 3851](https://informatica.i-learn.unito.it/course/view.php?id=3851), aperto agli ospiti). Il libro non è disponibile: le frasi degli esercizi sono riportate come compaiono nelle soluzioni, tradotte. - Diario del canale B: «Lezione 09. Venerdì 16 Ottobre ore 11-13. Capitolo 1.4 (Parte 2). Regole di inferenza per le proposizioni. Esercizi.» Appunti scritti prima della lezione. - F. Cardone, «La relazione di conseguenza per la logica proposizionale» e «Appunti su un metodo alternativo alle tavole di verità per stabilire la relazione di conseguenza logica» (Moodle del canale A); il rompicapo del caffè e l'indovinello degli studenti dagli appunti del canale A degli anni passati. - Il detective e la torta, i riquadri «Prova tu», la domanda nello stile del quiz, i quiz e gli esercizi senza indicazione sono di questi appunti. Tutte le argomentazioni sono state controllate con un programma che prova tutte le righe. --- > File: `contesto_ai/FDA/riassunti/settimana_01.md` ```yaml corso: FDA lezione: S1 tipo: riassunto titolo: "Settimana 1: bit, porte logiche, memorie; testo, colori e suoni; la base 2" data: 2026-10-02 docenti: Stefano Berardi sopratitolo: Riassunto settimanale · Fondamenti dell'Informatica · Canale B · 28/09 – 02/10/2026 descrizione: >- Riassunto della settimana 1 di Fondamenti dell'Informatica (canale B, libro parte 1, §1.1–1.5): bit e potenze di 2, AND, OR, XOR, NOT, porte logiche e flip-flop, esadecimale, memoria centrale e memorie di massa, ASCII, Unicode e UTF-8, pixel e RGB, campioni audio, conversioni tra base 2 e base 10, somma binaria e overflow, frazioni binarie. lede: >- Le lezioni della settimana in poche pagine: le tabelle da sapere a memoria, i metodi di conversione, le trappole dei quiz e le domande per controllarti. Per i dettagli e gli strumenti interattivi c'è la lezione completa. materiale: libro scheda: Lezioni: "lun 28/09 introduzione · [01](01_bit_porte_esadecimale.html) gio 01/10, §1.1–1.3 · [02](02_testo_colori_suoni_binario.html) ven 02/10, §1.4–1.5" Tempo di ripasso: 40 minuti fonte: >- Gli appunti delle lezioni 01 e 02 di Fondamenti dell'Informatica (canale B), scritti sul libro di testo, parte 1, §1.1–1.5 appunti_html: appunti/FDA/riassunto_settimana_01.html genera_html: true ``` ## In breve - Dentro il computer tutto è fatto di **bit**, 0 e 1. Con $n$ bit si scrivono $2^n$ sequenze: ogni bit in più raddoppia. - Le **porte logiche** AND, OR, XOR e NOT combinano i bit; il **flip-flop** ricorda un bit. - L'**esadecimale** scrive quattro bit con una cifra. La **memoria centrale** è una fila di celle da un byte, ognuna con un indirizzo. - Testo, colori e suoni diventano numeri: **ASCII** e **UTF-8**, **RGB**, **campioni**. - In **base 2** le posizioni valgono 1, 2, 4, 8…; si converte con le divisioni per 2 e si somma in colonna, attenti all'**overflow**. Lunedì 28/09 c'è stata la lezione introduttiva, con la presentazione del libro: negli appunti non ha un numero. ## Lezione 01 · Bit, porte, esadecimale e memorie (gio 01/10) **Bit e potenze di 2.** 1 bit dà 2 sequenze, 2 bit ne danno 4, 3 bit 8, 8 bit (un **byte**) 256. | $n$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:| | $2^n$ | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | > [!METODO] Quanti bit servono per un certo numero di oggetti > Cerca la prima potenza di 2 che arriva almeno a quel numero: il suo esponente è il numero di bit. Per 26 lettere: $2^5 = 32$ arriva a 26, $2^4 = 16$ no, quindi 5 bit. **Le quattro operazioni**, da sapere a memoria: | A | B | A AND B | A OR B | A XOR B | NOT A | |:-:|:-:|:-:|:-:|:-:|:-:| | 0 | 0 | 0 | 0 | 0 | 1 | | 0 | 1 | 0 | 1 | 1 | 1 | | 1 | 0 | 0 | 1 | 1 | 0 | | 1 | 1 | 1 | 1 | 0 | 0 | AND dà 1 solo se **tutti e due** valgono 1; OR se **almeno uno** vale 1; XOR se sono **diversi**; NOT dà il contrario. > [!TRAPPOLA] La «o» dell'italiano > «Sconto per studenti o pensionati» è un OR: se sei tutte e due le cose lo sconto ce l'hai lo stesso. «Caffè o tè?» di solito è un XOR. In informatica OR vuol dire sempre «almeno uno, anche tutti e due». - Una **porta logica** è il circuito che esegue una di queste operazioni. Per leggere un circuito: scrivi tutte le $2^n$ combinazioni degli ingressi, aggiungi una colonna per ogni porta, riempi una colonna alla volta; l'ultima è l'uscita. - Il **flip-flop**: un impulso sull'ingresso alto mette l'uscita a 1, uno sull'ingresso basso la mette a 0; tra un impulso e l'altro l'uscita resta com'è. Il segreto è il filo che riporta l'uscita all'ingresso dell'OR. È il primo mattone della memoria. **Esadecimale.** Una cifra vale quattro bit. | bit | hex | bit | hex | bit | hex | bit | hex | |---|:-:|---|:-:|---|:-:|---|:-:| | 0000 | 0 | 0100 | 4 | 1000 | 8 | 1100 | C | | 0001 | 1 | 0101 | 5 | 1001 | 9 | 1101 | D | | 0010 | 2 | 0110 | 6 | 1010 | A | 1110 | E | | 0011 | 3 | 0111 | 7 | 1011 | B | 1111 | F | > [!METODO] Dai bit all'esadecimale, e ritorno > Fai gruppi di quattro bit **partendo da destra**, con degli 0 davanti se il primo gruppo è corto, e scrivi una cifra per gruppo: 1011 0101 = B5. Per tornare indietro scrivi ogni cifra con quattro bit, **zeri compresi**: la stringa 0100 in esadecimale vuol dire 0000 0001 0000 0000. **Memorie.** - La **memoria centrale** è una fila di celle da un byte, ognuna con un **indirizzo** da 0. Leggere non cambia la cella; scrivere cancella il valore di prima. Nella **RAM** si raggiunge ogni cella nello stesso tempo; a computer spento si svuota. - Per la memoria 1 KB = 1024 byte ($2^{10}$), 1 MB = 1024 KB, 1 GB = 1024 MB. Per togliere il dubbio con 1000 esistono KiB, MiB, GiB. - In una cella il bit più a sinistra è il **più significativo**, quello a destra il **meno significativo**. - Le **memorie di massa** tengono i dati a computer spento: grandi ed economiche, ma lente. Disco magnetico: tracce concentriche divise in settori, le tracce sovrapposte formano un cilindro; tempo di accesso = tempo di ricerca + ritardo di rotazione. CD, DVD e Blu-ray: una traccia a spirale letta da un laser. Flash e SSD: niente parti in movimento, veloci, ma si consumano riscrivendole. ## Lezione 02 · Testo, colori, suoni e base 2 (ven 02/10) **Testo.** - **ASCII** usa 7 bit, 128 simboli, e oggi un byte per simbolo. A = 65 = 01000001, a = 97, la cifra «0» = 48. Maiuscola e minuscola differiscono di **32**: cambia un solo bit. Il simbolo «7» non è il numero 7. - **Unicode** dà a ogni simbolo di ogni lingua un numero, il **punto di codice**, scritto U+… in esadecimale, fino a 21 bit. **UTF-8** lo scrive con 1, 2, 3 o 4 byte; i simboli di ASCII restano un byte uguale. | Punto di codice | Bit | Byte | Schema UTF-8 | |---|---|:-:|---| | U+0000 – U+007F | fino a 7 | 1 | 0xxxxxxx | | U+0080 – U+07FF | fino a 11 | 2 | 110xxxxx 10xxxxxx | | U+0800 – U+FFFF | fino a 16 | 3 | 1110xxxx 10xxxxxx 10xxxxxx | | U+10000 – U+10FFFF | fino a 21 | 4 | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | > [!TRAPPOLA] UTF-8 non vuol dire «8 bit per simbolo» > «perché» ha 6 simboli e occupa 7 byte: la é ne prende due. Per contare i byte guarda ogni simbolo. **Immagini e suoni.** - Un'immagine a **mappa di bit** è una griglia di **pixel**. In **RGB** ogni pixel ha tre numeri da 0 a 255, rosso, verde e blu: 3 byte, $2^{24}$ colori. (0, 0, 0) è il nero, (255, 255, 255) il bianco, tre valori uguali un grigio, rosso più verde il giallo. - Byte di un'immagine senza compressione = larghezza × altezza × 3. Full HD, 1920 × 1080: 6 220 800 byte, circa 6 MB. - Le immagini **vettoriali** descrivono figure: si ingrandiscono senza quadretti, ma non vanno bene per le foto. - Un suono si registra misurando l'onda a intervalli regolari: ogni misura è un **campione**. Due scelte: **quante misure al secondo** e **con quanti bit** ciascuna (con 16 bit ci sono 65 536 livelli; arrotondare al livello più vicino si chiama **quantizzazione**). - CD: 44 100 campioni al secondo, 16 bit, stereo. Byte = campioni al secondo × byte per campione × canali × secondi: un secondo occupa 176 400 byte, un'ora circa 635 MB. - **MIDI** non salva l'onda ma le istruzioni per suonarla: molto compatto, ma il suono dipende da chi lo esegue. **Base 2.** - Le posizioni valgono, da destra, 1, 2, 4, 8, 16, 32…: il valore è la somma delle posizioni con un 1. $1101_2 = 8 + 4 + 1 = 13$. - Con $n$ bit gli interi **senza segno** vanno da 0 a $2^n - 1$: con 8 bit da 0 a 255. Gli zeri a sinistra non cambiano il valore; uno zero a destra lo raddoppia. > [!METODO] Dalla base 10 alla base 2 > Dividi per 2 e scrivi il resto; continua con il quoziente finché arriva a 0; leggi i resti **dall'ultimo al primo**. Con i numeri piccoli si fa prima togliendo la potenza di 2 più grande che ci sta: $45 = 32 + 8 + 4 + 1$, quindi 101101. Controlla sempre riconvertendo. > [!TRAPPOLA] «Quanti bit servono» e «scrivilo con 8 bit» > 13 richiede 4 bit, 1101; su 8 bit si scrive 00001101. 256 richiede 9 bit, 100000000: in un byte non ci sta. - **Somma in colonna**: $0 + 0 = 0$, $0 + 1 = 1$, $1 + 1 = 10$ (scrivo 0, riporto 1), $1 + 1 + 1 = 11$ (scrivo 1, riporto 1). - **Overflow**: se dall'**ultima colonna** esce un riporto, il risultato non ci sta. Su 8 bit 200 + 100 dà 44 invece di 300. I riporti in mezzo non contano: su 4 bit $0111 + 0001 = 1000$ va bene. - **Frazioni**: dopo la virgola le posizioni valgono 1/2, 1/4, 1/8…: $101{,}101_2 = 5 + \frac12 + \frac18 = 5{,}625$. Dalla base 10: raddoppia la parte dopo la virgola e prendi la parte intera, finché resta 0. $0{,}625 \to 1{,}25$ (1) $\to 0{,}5$ (0) $\to 1$ (1): 0,101. ## Verso l'esame - Esame unico per i tre canali su Moodle Esami: **9 quiz in 45 minuti**, 3 punti l'uno, almeno 18 per passare; poi una domanda aperta facoltativa, da −1 a 6 punti, se nei quiz hai almeno 24. - Sono 5 minuti a domanda: le tabelle di AND, OR, XOR e NOT, la tabella esadecimale e le potenze di 2 fino a $2^{10} = 1024$ vanno sapute **a memoria**. - Nelle simulazioni del 2023/24 tornano la formula booleana di una tabella di verità e la funzione calcolata da un circuito. Nelle prossime lezioni arrivano il complemento a 2 e la virgola mobile, che usano queste conversioni. ## Domande di ripasso ::: domanda Quanti bit servono per distinguere 100 oggetti? 7 bit: $2^7 = 128$ arriva a 100, mentre $2^6 = 64$ no. ::: ::: domanda Quanto fanno 1 XOR 1 e 1 OR 1? 1 XOR 1 = 0, perché i due bit sono uguali; 1 OR 1 = 1. ::: ::: domanda Scrivi 1110 0011 in esadecimale, e 3F in bit. 1110 0011 = E3; 3F = 0011 1111. ::: ::: domanda Quanti byte occupa «città» in UTF-8? 6: c, i, t, t occupano un byte ciascuno, la à ne occupa 2. ::: ::: domanda Quanti byte occupa una foto di 800 × 600 pixel in RGB senza compressione? $800 \cdot 600 \cdot 3 = 1\,440\,000$ byte. ::: ::: domanda Come si scrive 37 in base 2? $37 = 32 + 4 + 1$, quindi 100101. ::: ::: domanda Su 8 bit senza segno, quanto fa 11111111 + 00000001? 00000000, con overflow: il risultato vero, 256, ha 9 bit. ::: ::: domanda Quanto vale $10{,}11_2$? $2 + \frac12 + \frac14 = 2{,}75$. ::: ## Quiz d'esame Le domande vere che conosco sono quelle delle due simulazioni d'esame ufficiali del 2023/24, sulla pagina d'esame comune di Moodle. Qui ci sono tutte quelle sugli argomenti di questa settimana: circuiti, flip-flop e base 2. Esadecimale, memoria, testo, immagini e suoni non comparivano nelle simulazioni, ma sono nel programma comune. Le risposte le ho ricontrollate con un programma. All'esame ogni quiz vale 3 punti e può avere più voci, ognuna con il suo punteggio. ```quiz D: Simulazione d'esame 1, 2023/24, domanda 5. La tabella di verità ha $y = 1$ solo nelle righe $x_1 x_2 x_3$ = 010, 011, 101 e 110. Quale formula è giusta? - $\overline{x_1}\,x_2 + x_1\,x_2\,x_3$ - $x_1\,x_2 + \overline{x_2}\,x_3$ + $\overline{x_1}\,x_2\,\overline{x_3} + \overline{x_1}\,x_2\,x_3 + x_1\,\overline{x_2}\,x_3 + x_1\,x_2\,\overline{x_3}$ - $x_1\,x_2\,x_3$ - $\overline{x_1}\,\overline{x_2}\,\overline{x_3} + x_1\,x_2\,x_3$ = Un AND per ogni riga con $y = 1$, con il NOT sugli ingressi a 0, poi tutti uniti da OR: è la terza. La risposta più insidiosa è la prima: è giusta in quasi tutte le righe, ma vale 1 anche in 111, dove $y = 0$, e vale 0 in 101 e 110. La seconda sbaglia le righe 001 e 111. D: Simulazione d'esame 1, 2023/24, domanda 6. Un circuito calcola (A AND NOT C) OR (NOT C AND B). Quale formula NON lo descrive? - $(\neg C \land A) \lor (\neg C \land B)$ + $(\neg C \lor A) \land (\neg C \lor B)$ - $\neg((C \lor \neg A) \land (C \lor \neg B))$ - $\neg C \land (A \lor B)$ - $(A \land \neg C) \lor (B \land \neg C)$ = Basta una riga diversa: con $A = B = C = 0$ il circuito dà 0, perché tutte e due le AND ricevono uno 0, mentre la seconda formula dà 1, perché $\neg C$ rende veri tutti e due gli OR. La risposta più insidiosa è la terza, con la negazione davanti: per De Morgan è uguale al circuito in tutte le 8 righe. D: Simulazione d'esame 2, 2023/24, domanda 3. Due NAND si richiamano: quello in alto riceve l'ingresso in alto e l'uscita dell'altro; quello in basso riceve l'ingresso in basso e l'uscita del primo, che è $y$. Con l'ingresso in alto a 1 e quello in basso a 0, su che valore si stabilizza $y$? + $0$ - $1$ - Dipende dal valore di prima. - Non si stabilizza mai. - Vale 1 per un istante e poi 0, all'infinito. = Il NAND in basso riceve uno 0 e dà 1 qualunque sia $y$. Allora quello in alto riceve 1 e 1, e dà 0. Ricalcolando non cambia niente: $y$ resta 0. La risposta più insidiosa è «dipende dal valore di prima»: succede solo con tutti e due gli ingressi a 1, quando il circuito ricorda un bit. Le note scritte a mano sulla copia della simulazione che circola tra gli studenti qui sono sbagliate. D: Sullo stesso circuito della simulazione 2, domanda 3. Tutti e due gli ingressi valgono 1. Su che valore si stabilizza $y$? - Sempre $0$. - Sempre $1$. + Resta il valore che aveva prima: il circuito ricorda un bit. - Oscilla tra 0 e 1. - Il circuito è combinatorio, quindi la domanda non ha senso. = Con un ingresso fisso a 1 ogni NAND dà il contrario dell'altra uscita, e tutti e due gli stati sono stabili. È il flip-flop: un circuito sequenziale, perché le uscite tornano indietro. La risposta più insidiosa è «combinatorio»: lo sarebbe se nessun filo tornasse indietro. D: Simulazioni d'esame 1 (domanda 2) e 2 (domanda 1), 2023/24, prima parte. Come si scrive 3,625 in base 2 in virgola fissa? - $11{,}111$ + $11{,}101$ - $111{,}01$ - $11{,}625$ - $11{,}011$ = 3 è 11. Per 0,625 si raddoppia: 1,25 dà 1; 0,5 dà 0; 1 dà 1. Quindi 0,101, e 3,625 = 11,101. Controllo: $2 + 1 + \frac 12 + \frac 18 = 3{,}625$. La risposta più insidiosa è 11,011: ha le cifre dopo la virgola al contrario e vale 3,375. 11,625 copia le cifre decimali; 111,01 vale 7,25. ``` ## Fonti - Le lezioni complete: [01 · Bit, porte logiche, esadecimale e memorie](01_bit_porte_esadecimale.html) e [02 · Testo, colori e suoni in bit; i numeri in base 2](02_testo_colori_suoni_binario.html), con strumenti interattivi, quiz ed esercizi. - Regole d'esame e programma dei tre canali: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md). --- > File: `contesto_ai/FDA/riassunti/settimana_02.md` ```yaml corso: FDA lezione: S2 tipo: riassunto titolo: "Settimana 2: numeri con il segno e con la virgola, compressione, errori, esercizi sulla parte 1" data: 2026-10-09 docenti: Stefano Berardi sopratitolo: Riassunto settimanale · Fondamenti dell'Informatica · Canale B · 05/10 – 09/10/2026 descrizione: >- Riassunto della settimana 2 di Fondamenti dell'Informatica (canale B, libro parte 1, §1.6–1.7 e §1.9–1.10): complemento a 2, cambio di segno, somme e overflow, notazione in eccesso, virgola mobile a 8 bit e troncamento, compressione con e senza perdita, run-length, Huffman, codifica relativa, LZW, GIF, JPEG, MP3, MPEG, bit di parità, distanza di Hamming, e il piano per i quiz della parte 1. lede: >- Le tre lezioni della settimana in poche pagine: i metodi di conversione da sapere a memoria, le idee della compressione, i codici che scoprono gli errori, e come affrontare i quiz della parte 1, che finisce qui. materiale: libro scheda: Lezioni: "[03](03_interi_con_segno_virgola_mobile.html) lun 05/10, §1.6–1.7 · [04](04_compressione_errori_comunicazione.html) gio 08/10, §1.9–1.10 · [05](05_esercizi_circuiti_rappresentazioni.html) ven 09/10, esercizi" Tempo di ripasso: 40–50 minuti fonte: >- Gli appunti delle lezioni 03, 04 e 05 di Fondamenti dell'Informatica (canale B), scritti sul libro di testo, parte 1, §1.6–1.7 e §1.9–1.10 appunti_html: appunti/FDA/riassunto_settimana_02.html genera_html: true ``` ## In breve - I numeri **negativi** si scrivono in **complemento a 2**: la moneta più a sinistra vale con il segno meno, −128 con 8 bit. Con 8 bit si va da −128 a 127. - Nella **notazione in eccesso** si legge il numero senza segno e si toglie sempre lo stesso valore: 8 con 4 bit, 4 con 3 bit. - Nel formato del libro un numero con la virgola sta in un byte: **segno**, **esponente** di 3 bit in eccesso 4, **mantissa** di 4 bit. Le cifre che non ci stanno si perdono: è il **troncamento**. - **Comprimere** vuol dire scrivere gli stessi dati con meno bit, senza perdita o con perdita. - Il **bit di parità** scopre un errore; con la **distanza di Hamming** il codice del libro ne corregge uno. - La parte 1 del libro finisce qui. All'esame tornano conversioni, complemento a 2, virgola mobile, circuiti e Hamming: 9 quiz in 45 minuti. ## 03 · Numeri negativi e virgola mobile (lun 05/10) Il complemento a 2 è un contachilometri di bit: andando indietro da 0000 si arriva a 1111, che vale −1. | Che cosa fare | Come | |---|---| | leggere un byte in complemento a 2 | la moneta di sinistra vale −128, le altre come sempre: 11111010 = −128 + 64 + 32 + 16 + 8 + 2 = −6 | | cambiare segno | copia da destra fino al primo 1 compreso, poi inverti tutti gli altri bit | | sommare | in colonna, come senza segno; il riporto che esce a sinistra si butta | | sottrarre | cambia segno al secondo numero, poi somma | | riconoscere l'overflow | due numeri con lo stesso segno danno un risultato con il segno opposto | | leggere in eccesso 8 | leggi senza segno e togli 8: 1110 = 14 − 8 = 6 | > [!METODO] Dal numero al byte in virgola mobile > 1. Il segno: 0 se positivo, 1 se negativo. > 2. Scrivi il numero in base 2 e sposta la virgola subito prima del primo 1: quante posizioni hai spostato è l'esponente, positivo se sei andato a sinistra. > 3. Le prime 4 cifre dopo la virgola sono la mantissa; le altre si perdono. > 4. L'esponente più 4, scritto con 3 bit. > > 3,625 è 11,101 in base 2: virgola spostata di 2, quindi esponente 2 + 4 = 6, cioè 110; mantissa 1110, perché l'ultimo 1 si perde. Il byte è **0 110 1110**, che vale 3,5: è il quiz delle simulazioni 2023/24. ```grafico titolo: 3,625 nel formato a 8 bit del libro: un bit di segno, 3 bit di esponente in eccesso 4 (110 = 6 − 4 = 2), 4 bit di mantissa. L'ultima cifra di 0,11101 non entra: il byte vale 3,5. x: 0 9.6 y: 0 3 assi: no griglia: no poligono: 0.2 1.2 1.2 1.2 1.2 2.2 0.2 2.2 | verde poligono: 1.2 1.2 2.2 1.2 2.2 2.2 1.2 2.2 | blu poligono: 2.2 1.2 3.2 1.2 3.2 2.2 2.2 2.2 | blu poligono: 3.2 1.2 4.2 1.2 4.2 2.2 3.2 2.2 | blu poligono: 4.2 1.2 5.2 1.2 5.2 2.2 4.2 2.2 | ambra poligono: 5.2 1.2 6.2 1.2 6.2 2.2 5.2 2.2 | ambra poligono: 6.2 1.2 7.2 1.2 7.2 2.2 6.2 2.2 | ambra poligono: 7.2 1.2 8.2 1.2 8.2 2.2 7.2 2.2 | ambra testo: 0.7 1.7 | verde | "0" testo: 1.7 1.7 | blu | "1" testo: 2.7 1.7 | blu | "1" testo: 3.7 1.7 | blu | "0" testo: 4.7 1.7 | ambra | "1" testo: 5.7 1.7 | ambra | "1" testo: 6.7 1.7 | ambra | "1" testo: 7.7 1.7 | ambra | "0" testo: 0.7 0.7 | verde | "segno" testo: 2.7 0.7 | blu | "esponente" testo: 6.2 0.7 | ambra | "mantissa" poligono: 8.4 1.2 9.4 1.2 9.4 2.2 8.4 2.2 | grigio | tratteggio testo: 8.9 1.7 | grigio | "1" testo: 8.9 0.7 | grigio | "persa" ``` ::: prova Quanto vale 10000001 in complemento a 2? E 0110 in eccesso 8? 10000001 vale −128 + 1 = −127. 0110 vale 6 − 8 = −2. ::: > [!RICORDA] > - Il bit di sinistra dice il segno, ma vale −128: 10000001 non è −1. > - Un decimo in base 2 non finisce mai: in virgola mobile non è mai esatto. ## 04 · Compressione ed errori (gio 08/10) **Senza perdita** si riottengono esattamente i dati di prima: serve per testi, programmi e numeri. **Con perdita** si ottiene qualcosa di molto simile: va bene per foto, suoni e video. | Metodo | L'idea | Perdita | |---|---|---| | run-length | al posto di una ripetizione, il simbolo e quante volte si ripete | no | | Huffman | codici corti ai simboli frequenti; nessun codice è l'inizio di un altro | no | | codifica relativa | il primo dato intero, poi solo le differenze | no | | LZW | un dizionario che cresce mentre si legge | no | | GIF | al massimo 256 colori, poi LZW | sì, se i colori erano di più | | JPEG | luminosità per ogni pixel, colore come media su 2 × 2 pixel | sì | | MP3 | toglie i suoni che l'orecchio non sente | sì | | MPEG | alcuni fotogrammi interi, degli altri le differenze | sì | I bit che viaggiano possono cambiare. Con la **parità dispari** si aggiunge un bit, a sinistra, perché gli 1 siano dispari: 01101001 ha quattro 1, quindi diventa **1**01101001. Se all'arrivo gli 1 sono pari, c'è un errore. La **distanza di Hamming** è il numero di posti in cui due file di bit sono diverse: 1010 e 0110 distano 2. Il codice del libro ha lettere di 6 bit a distanza almeno 3: una parola con un errore resta più vicina alla lettera giusta. ::: prova Due errori in un byte con il bit di parità: si scoprono? No. Due bit cambiati lasciano gli 1 dispari, e il controllo non vede niente. La parità scopre solo un numero dispari di errori. ::: > [!RICORDA] > - Distanza minima 3: corregge un errore e ne rivela due. Distanza minima 2, come la parità: ne rivela uno e non corregge. > - Huffman: si uniscono sempre i due pesi più piccoli. ## 05 · Esercizi sulla parte 1 (ven 09/10) Una lezione senza argomenti nuovi, per ripassare tutta la parte 1 con i metodi e le domande delle simulazioni del 2023/24. | Tipo di domanda | Metodo | Controllo | |---|---|---| | circuito | tabella di tutte le righe: 8 con 3 ingressi | una riga sbagliata basta per scartare una formula | | esadecimale | gruppi di 4 bit da destra | ogni cifra torna a 4 bit | | base 2 e base 10 | monete, divisioni per 2, raddoppio dopo la virgola | riconverti il risultato | | complemento a 2 | moneta di sinistra negativa | senza segno meno 256 | | virgola mobile | segno, esponente più 4, 4 cifre | rileggi il byte | | testo, immagini, suono | byte per simbolo, larghezza × altezza × 3, campioni × byte × canali × secondi | scrivi i fattori prima di moltiplicare | | Hamming | conta le colonne diverse | conta due volte | > [!TRAPPOLA] Gli errori più frequenti nei quiz > Leggere un byte in complemento a 2 come se fosse senza segno; cercare l'overflow nel riporto finale invece che nel segno; arrotondare la mantissa invece di troncarla; dimenticare una riga nella tabella di un circuito; contare un byte per simbolo in UTF-8. ::: prova Quanto vale B5 in base 10? E quante righe ha la tabella di un circuito con 4 ingressi? B5 = 11 · 16 + 5 = 181. Con 4 ingressi le righe sono $2^4 = 16$. ::: > [!RICORDA] > - 9 quiz in 45 minuti: circa 5 minuti a domanda, meno di uno per le conversioni. > - Ogni risultato si controlla al contrario. ## Verso l'esame - **Parte 1 finita.** Dal 12/10 comincia la parte 2 del libro, la logica: [lezione 06](06_proposizioni_connettivi_tavole.html). - Nelle simulazioni del 2023/24 la parte 1 compare con: distanza di Hamming, 3,625 in virgola mobile, complemento a 2 su 8 bit, circuiti e flip-flop. - Appelli 2026/27: venerdì 29/01/2027 e giovedì 18/02/2027, alle 9:00, con Safe Exam Browser. Servono almeno 18 punti; da 24 in su si può fare anche la domanda aperta. - Da fare adesso: rifai tutti gli esercizi della lezione 05 senza guardare la soluzione, cronometrandoti. ## Domande di ripasso ::: domanda Con 8 bit in complemento a 2, qual è il numero più piccolo e quale il più grande? −128, cioè 10000000, e 127, cioè 01111111. ::: ::: domanda Quando c'è overflow in una somma in complemento a 2? Quando due numeri con lo stesso segno danno un risultato con il segno opposto. Un positivo più un negativo non va mai in overflow. ::: ::: domanda Come si legge un numero in eccesso 4 con 3 bit? Si legge senza segno e si toglie 4: 110 vale 6 − 4 = 2. ::: ::: domanda Che cos'è l'errore di troncamento? La perdita delle cifre che non entrano nei 4 bit della mantissa: per esempio 3,625 diventa 3,5. ::: ::: domanda Che differenza c'è tra compressione con e senza perdita? Senza perdita si riottengono esattamente i dati di prima; con perdita si ottiene qualcosa di molto simile, buttando dettagli che non si notano. ::: ::: domanda Perché JPEG conserva bene la luminosità e meno il colore? Perché l'occhio nota le differenze di luminosità più di quelle di colore: si risparmia dove l'occhio non se ne accorge. ::: ::: domanda Che cosa vuol dire che un codice ha distanza minima 3? Che due parole del codice differiscono sempre in almeno 3 posti: un errore si corregge scegliendo la parola più vicina, due errori si scoprono. ::: ## Quiz d'esame Le domande vere che conosco sono quelle delle due simulazioni d'esame ufficiali del 2023/24. Qui ci sono tutte quelle sugli argomenti di questa settimana: distanza di Hamming, virgola mobile e complemento a 2. La compressione nelle simulazioni non c'era. Le risposte le ho ricontrollate con un programma. ```quiz D: Simulazione d'esame 1, 2023/24, domanda 1. Calcolare la distanza di Hamming tra le coppie 01011101 e 00101101; 01011100 e 00101100; 01101100 e 01101110; 01111100 e 01111110. Quali sono le quattro distanze, nell'ordine? - 1, 1, 3, 3 + 3, 3, 1, 1 - 3, 3, 2, 2 - 2, 2, 1, 1 - 3, 4, 1, 1 = Nelle prime due coppie le file sono diverse nei posti 2, 3 e 4; nelle ultime due solo nel posto 7. La risposta più insidiosa è 3, 4, 1, 1: chi conta male la seconda coppia conta anche una colonna uguale. Si scrivono le due file una sotto l'altra e si segnano le colonne diverse. D: Simulazioni d'esame 1 (domanda 2) e 2 (domanda 1), 2023/24. Il numero 3,625 nel formato a 8 bit del libro: segno, 3 bit di esponente in eccesso 4, 4 bit di mantissa. Quale affermazione è giusta? - In virgola fissa è 11.111 e in virgola mobile 01101101. - In virgola mobile è 11101110, senza troncamento. + In virgola fissa è 11.101; in virgola mobile è 01101110, e c'è troncamento solo in virgola mobile. - In virgola fissa è 111.01, e c'è troncamento in tutte e due. - In virgola mobile è 01101110, senza troncamento. = 3,625 = 11,101. Spostando la virgola di due posti a sinistra viene 0,11101: esponente 2, cioè 110 in eccesso 4, e cinque cifre. La mantissa tiene 1110 e perde l'ultimo 1: il byte 01101110 vale 3,5, quindi c'è troncamento. La risposta più insidiosa è l'ultima: il byte è giusto, ma il troncamento c'è. D: Simulazione d'esame 2, 2023/24, domanda 8. Quanto vale 10000001 in complemento a 2 su 8 bit? - $-1$ - $129$ + $-127$ - $-128$ - $1$ = Il bit di sinistra vale $-128$: $-128 + 1 = -127$. Controllo: senza segno vale 129, e $129 - 256 = -127$. La risposta più insidiosa è $-1$: legge il primo bit come un segno meno davanti a 0000001, che non è il complemento a 2. $-128$ è 10000000. D: Simulazione d'esame 2, 2023/24, domanda 8. Quale riga dà i valori giusti di 11111111, 01010101 e 00001111 in complemento a 2 su 8 bit? - $255$, $85$, $15$ + $-1$, $85$, $15$ - $-1$, $-85$, $-15$ - $-127$, $85$, $15$ - $-1$, $-43$, $15$ = 11111111 vale $-128 + 127 = -1$. Gli altri due cominciano con 0, quindi si leggono come senza segno: 85 e 15. La risposta più insidiosa è la prima: legge tutto senza segno. $-127$ sarebbe 10000001. ``` ## Fonti - Le lezioni complete: [03 · Numeri negativi e numeri in virgola mobile](03_interi_con_segno_virgola_mobile.html), [04 · Comprimere i dati ed errori di comunicazione](04_compressione_errori_comunicazione.html), [05 · Esercizi sulla parte 1](05_esercizi_circuiti_rappresentazioni.html), con gli strumenti interattivi, i quiz e i riferimenti al libro. - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md). --- > File: `contesto_ai/FDA/riassunti/settimana_03.md` ```yaml corso: FDA lezione: S3 tipo: riassunto titolo: "Settimana 3: proposizioni, condizionali, equivalenze e argomentazioni" data: 2026-10-16 docenti: Stefano Berardi sopratitolo: Riassunto settimanale · Fondamenti dell'Informatica · Canale B · 12/10 – 16/10/2026 descrizione: >- Riassunto della settimana 3 di Fondamenti dell'Informatica (canale B, libro parte 2, §1.2–1.4): proposizioni, connettivi, o esclusivo, precedenze e tavole di verità; «se… allora», «solo se», inversa e contronominale, «se e solo se», equivalenza logica e leggi di De Morgan; argomentazioni valide, metodo delle tavole, le sette regole di inferenza e le due fallacie. lede: >- Le tre lezioni di logica della settimana in poche pagine: come si costruisce una tavola di verità, quando una freccia è falsa, come si nega una frase, come si decide se un ragionamento è valido, e le domande vere delle simulazioni d'esame. materiale: libro simboli_logici: si scheda: Lezioni: "[06](06_proposizioni_connettivi_tavole.html) lun 12/10, §1.2 · [07](07_condizionali_equivalenza_logica.html) gio 15/10, §1.3 · [08](08_argomentazioni_regole_inferenza.html) ven 16/10, §1.4" Tempo di ripasso: 40 minuti fonte: >- Gli appunti delle lezioni 06, 07 e 08 di Fondamenti dell'Informatica (canale B), scritti sul libro di testo, parte 2 (Johnsonbaugh, cap. 1), §1.2–1.4 appunti_html: appunti/FDA/riassunto_settimana_03.html genera_html: true ``` ## In breve - Una **proposizione** è una frase vera o falsa. Si combinano con «e», «o» e «non»: congiunzione, disgiunzione e negazione. - L'«o» della logica è **inclusivo**: vale anche quando sono vere tutte e due le parti. L'«o» esclusivo ha un simbolo suo, ⊕. - La **tavola di verità** prova tutte le combinazioni delle lettere: 4 righe con 2 lettere, 8 con 3. - «**Se** p **allora** q» è falsa in un solo caso: p vera e q falsa. Con l'ipotesi falsa è vera a vuoto. - Due formule sono **equivalenti** quando hanno la stessa tavola. Le più usate sono le **leggi di De Morgan** e la contronominale. - Un'**argomentazione** è **valida** quando nelle righe con tutte le premesse vere la conclusione è vera. Una sola riga che non torna è un controesempio. - Sono le porte logiche della lezione 01 con V e F al posto di 1 e 0: i quiz sui circuiti si risolvono con questi strumenti. ## 06 · Proposizioni e tavole di verità (lun 12/10) «Torino è in Piemonte» è una proposizione; una domanda, un ordine o «x è maggiore di 3» no. Al posto delle frasi si usano lettere, e i connettivi si scrivono con i simboli: | Connettivo | Simbolo | È vera quando… | |---|---|---| | e (congiunzione) | $p \wedge q$ | tutte e due sono vere | | o (disgiunzione) | $p \vee q$ | almeno una è vera | | o esclusivo | $p \oplus q$ | esattamente una è vera | | non (negazione) | $\neg p$ | $p$ è falsa | - **Precedenze**: senza parentesi prima «non», poi «e», poi «o». Il «non» si attacca solo a quello che segue: $\neg p \wedge q$ è $(\neg p) \wedge q$. - **Costruire una tavola**: una colonna per ogni lettera, le righe in ordine (con 3 lettere, la prima cambia ogni 4 righe, la seconda ogni 2, la terza a ogni riga), poi una colonna per ogni pezzo della formula, dall'interno verso l'esterno. - Una formula vera in tutte le righe è una **tautologia**, come $p \vee \neg p$; falsa in tutte, una **contraddizione**, come $p \wedge \neg p$. - «Né p né q» vuol dire $\neg p \wedge \neg q$: nessuna delle due. ::: prova Quanto vale $(A \vee B) \wedge \neg(A \wedge B)$ nelle righe $A$ = V, $B$ = V e $A$ = V, $B$ = F? F nella prima, perché $\neg(A \wedge B)$ è falsa; V nella seconda. È la tavola dell'o esclusivo. ::: > [!RICORDA] > - «E»: tutte e due. «O»: almeno una. «O esclusivo»: esattamente una. > - Con $n$ lettere la tavola ha $2^n$ righe. ## 07 · «Se… allora» ed equivalenza (gio 15/10) «Se la squadra vince, offro la pizza» è una promessa. È infranta in un solo caso: la squadra vince e la pizza non arriva. Se la squadra perde, la promessa non è infranta comunque vada: la frase è **vera a vuoto**. | $p$ | $q$ | $p \to q$ | $p \leftrightarrow q$ | |---|---|---|---| | V | V | V | V | | V | F | F | F | | F | V | V | F | | F | F | V | V | ```grafico titolo: «Se piove, la strada è bagnata»: dove $p$ è vera, anche $q$ lo è, e il cerchio di $p$ sta dentro quello di $q$. Una strada bagnata senza pioggia, lavata per esempio, non smentisce la promessa: per questo da $q$ non si può ricavare $p$. x: -4 4 y: -2.6 2.6 assi: no griglia: no poligono: -3.8 -2.4 3.8 -2.4 3.8 2.4 -3.8 2.4 | grigio cerchio: 0.5 0 2 | ambra cerchio: 0 0 0.9 | blu testo: 0 0.15 | blu | "piove" testo: 0 -0.35 | blu | "$p$" testo: 1.9 0.9 | ambra | "strada bagnata" testo: 1.9 0.4 | ambra | "$q$" testo: -2.9 1.9 | grigio | "strada asciutta" ``` - **Sufficiente e necessaria**: in $p \to q$ l'ipotesi $p$ è condizione sufficiente, la conclusione $q$ è condizione necessaria. - **«Solo se»**: «p solo se q» è $p \to q$. Quello che segue «solo se» è la conclusione. - **Inversa** e **contronominale**: l'inversa $q \to p$ dice un'altra cosa; la contronominale $\neg q \to \neg p$ dice la stessa cosa della frase di partenza. - **«Se e solo se»**: $p \leftrightarrow q$ è vera quando le due parti hanno lo stesso valore. **Equivalenze da sapere.** Due formule sono equivalenti, $\equiv$, quando hanno la stessa tavola: - De Morgan: $\neg(p \wedge q) \equiv \neg p \vee \neg q$ e $\neg(p \vee q) \equiv \neg p \wedge \neg q$; - la freccia senza freccia: $p \to q \equiv \neg p \vee q$; - la negazione di una promessa: $\neg(p \to q) \equiv p \wedge \neg q$. > [!TRAPPOLA] De Morgan a metà > Negando un «e» bisogna negare **tutte e due** le parti **e** cambiare «e» in «o». Il contrario di «studio e lavoro» non è «non studio e non lavoro», ma «non studio **o** non lavoro». ::: prova Qual è la negazione di «se piove, prendo l'ombrello»? «Piove e non prendo l'ombrello»: $\neg(p \to q) \equiv p \wedge \neg q$. Non è «se non piove, non prendo l'ombrello». ::: > [!RICORDA] > - $p \to q$ è falsa solo con $p$ vera e $q$ falsa. > - Contronominale: stessa cosa. Inversa: un'altra cosa. ## 08 · Argomentazioni e regole di inferenza (ven 16/10) Un detective mette in fila gli indizi e arriva a una conclusione. Le frasi di partenza sono le **premesse**, quella d'arrivo la **conclusione**. L'argomentazione è **valida** quando, se tutte le premesse sono vere, la conclusione non può essere falsa. Valida non vuol dire vera: vuol dire che la conclusione **segue** dalle premesse. ```grafico titolo: Il metodo delle tavole: si guardano solo le righe con tutte le premesse vere. Basta una di queste righe con la conclusione falsa per dire che l'argomentazione non è valida. x: 0 10 y: 0 7 assi: no griglia: no proporzioni: libere poligono: 1.6 5.8 8.4 5.8 8.4 6.8 1.6 6.8 | blu testo: 5 6.3 | blu | "righe con tutte le premesse vere" freccia: 5 5.8 5 5.05 | grigio poligono: 5 5 8 4 5 3 2 4 | ambra testo: 5 4 | ambra | "conclusione vera?" segmento: 2 4 1.5 4 | verde freccia: 1.5 4 1.5 2.35 | verde segmento: 8 4 8.5 4 | rosa freccia: 8.5 4 8.5 2.35 | rosa testo: 1.6 4.35 | verde | "in tutte" testo: 8.4 4.35 | rosa | "non in una" poligono: 0.3 1.3 2.7 1.3 2.7 2.3 0.3 2.3 | verde poligono: 7.3 1.3 9.7 1.3 9.7 2.3 7.3 2.3 | rosa testo: 1.5 1.8 | verde | "valida" testo: 8.5 1.8 | rosa | "non valida" testo: 8.5 0.75 | rosa | "è il controesempio" ``` Le **regole di inferenza** sono argomentazioni valide corte, da usare come passi: | Regola | Premesse | Conclusione | |---|---|---| | modus ponens | $p \to q$ e $p$ | $q$ | | modus tollens | $p \to q$ e $\neg q$ | $\neg p$ | | addizione | $p$ | $p \vee q$ | | semplificazione | $p \wedge q$ | $p$ | | congiunzione | $p$ e $q$ | $p \wedge q$ | | sillogismo ipotetico | $p \to q$ e $q \to r$ | $p \to r$ | | sillogismo disgiuntivo | $p \vee q$ e $\neg p$ | $q$ | > [!TRAPPOLA] Due ragionamenti che sembrano giusti > - **Affermare il conseguente**: da $p \to q$ e $q$ ricavare $p$. La strada è bagnata, ma magari l'hanno lavata. > - **Negare l'antecedente**: da $p \to q$ e $\neg p$ ricavare $\neg q$. Non piove, ma la strada può essere bagnata lo stesso. > > In tutti e due i casi c'è una riga con le premesse vere e la conclusione falsa: $p$ falsa e $q$ vera. Mettendo in fila le regole si arriva alla conclusione senza tavole: è una **dimostrazione**. Con 4 o 5 lettere conviene, perché le tavole avrebbero 16 o 32 righe. ::: prova Da «se studio, passo l'esame» e «non ho passato l'esame», che cosa segue? «Non ho studiato»: è il modus tollens. Dalle stesse premesse non segue niente su altri esami. ::: > [!RICORDA] > - Valida: nessuna riga con le premesse vere e la conclusione falsa. > - Modus ponens e modus tollens sono validi; affermare il conseguente e negare l'antecedente no. ## Verso l'esame - **Il valore di una formula riga per riga**: è il quiz 3 della simulazione 1 del 2023/24, con $(A \to B) \leftrightarrow (B \to A)$. Si scrive una colonna per pezzo. - **Formule equivalenti nei circuiti**: nel quiz 6 della stessa simulazione bisogna riconoscere con De Morgan che due formule descrivono lo stesso circuito. - **Tradurre e negare**: «solo se», «condizione necessaria», la negazione di un «se… allora». Con i quantificatori del §1.5 tornano nella simulazione 2. - L'esame è un quiz di 9 domande da 3 punti in 45 minuti, con Safe Exam Browser. Appelli 2026/27: venerdì 29/01/2027 e giovedì 18/02/2027, alle 9:00. ## Domande di ripasso ::: domanda Quando è vera $p \vee q$? E $p \oplus q$? $p \vee q$ quando almeno una delle due è vera; $p \oplus q$ quando ne è vera esattamente una. ::: ::: domanda Quante righe ha la tavola di verità di una formula con 3 lettere? 8, cioè $2^3$. ::: ::: domanda In quale riga $p \to q$ è falsa? Solo con $p$ vera e $q$ falsa. ::: ::: domanda Come si scrive «p solo se q» con la freccia? $p \to q$: quello che segue «solo se» è la conclusione. ::: ::: domanda Qual è la contronominale di $p \to q$, ed è equivalente? $\neg q \to \neg p$, ed è equivalente: ha la stessa tavola. ::: ::: domanda Quanto vale $\neg(p \vee q)$ per De Morgan? $\neg p \wedge \neg q$. ::: ::: domanda Da $p \to q$ e $q$ si può ricavare $p$? No: è la fallacia di affermare il conseguente. Il controesempio è la riga con $p$ falsa e $q$ vera. ::: ## Quiz d'esame Le domande vere che conosco sono quelle delle due simulazioni d'esame ufficiali del 2023/24. Le prime tre vengono da lì: le simulazioni hanno domande a più risposte, che qui sono diventate domande con una risposta giusta. Sulle argomentazioni e sulle traduzioni con «solo se» nelle simulazioni non ci sono domande: le ultime quattro sono **sul modello** di quelle vere, con gli esercizi del libro. Ho ricontrollato tutte le tavole con un programma. ```quiz D: Simulazione d'esame 1, 2023/24, domanda 3. Considera la formula $(A \to B) \leftrightarrow (B \to A)$. Quali sono i suoi valori nelle righe $A$ = V, $B$ = V; $A$ = V, $B$ = F; $A$ = F, $B$ = F; $A$ = F, $B$ = V, in quest'ordine? - V, V, V, V + V, F, V, F - V, F, V, V - F, V, F, V - V, F, F, F = Le due frecce hanno lo stesso valore quando $A$ e $B$ sono uguali: con V, V e con F, F tutte e due sono vere. Con $A$ = V, $B$ = F la prima freccia è falsa e la seconda vera; con $A$ = F, $B$ = V il contrario. Quindi V, F, V, F. La risposta più insidiosa è V, F, V, V: chi pensa che con $A$ falsa tutto sia «vero a vuoto» dimentica che $B \to A$ con $B$ vera e $A$ falsa è falsa. D: Simulazione d'esame 2, 2023/24, domanda 2, con una risposta cambiata. Quale di queste NON è una proprietà valida in tutte le algebre booleane? Qui $+$ è l'«o», $\cdot$ l'«e» e $x'$ il «non». + $x + (y \cdot z) = (x \cdot y) + (x \cdot z)$ - $x + (y \cdot z) = (y + x) \cdot (z + x)$ - $x + x = x$ - $x + x' = 1$ e $x \cdot x' = 0$ - $x \cdot (y + z) = (x \cdot y) + (x \cdot z)$ = Con $x = 1$, $y = 0$, $z = 0$ la sinistra vale 1 e la destra 0. La risposta più insidiosa è la seconda, che con i numeri sembra sbagliata: in logica però l'«o» si distribuisce sull'«e», $p \vee (q \wedge r) \equiv (p \vee q) \wedge (p \vee r)$. Le altre sono l'idempotenza, il complemento e la distributiva dell'«e» sull'«o». L'ultima risposta l'ho messa io al posto di un'affermazione sugli insiemi con due elementi, falsa anche lei. D: Simulazione d'esame 1, 2023/24, domanda 6. Un circuito calcola $(A \wedge \neg C) \vee (\neg C \wedge B)$. Quale formula descrive la stessa funzione? - $(\neg C \vee A) \wedge (\neg C \vee B)$ + $\neg((C \vee \neg A) \wedge (C \vee \neg B))$ - $\neg C \wedge A \wedge B$ - $\neg(C \wedge (A \vee B))$ - $\neg C \vee A \vee B$ = Con De Morgan sulla parentesi grande: $\neg(C \vee \neg A) \vee \neg(C \vee \neg B)$, e di nuovo: $(\neg C \wedge A) \vee (\neg C \wedge B)$. La risposta più insidiosa è la prima, che scambia «e» e «o»: con $A$, $B$ e $C$ tutte false vale V, mentre il circuito dà F. La terza vuole $A$ e $B$ vere tutte e due; la quarta e la quinta sono vere anche con le tre lettere false. D: Sul modello degli esercizi del §1.3. Con $p$ = «passo l'esame» e $q$ = «studio», come si scrive «passo l'esame solo se studio»? + $p \to q$ - $q \to p$ - $p \leftrightarrow q$ - $p \wedge q$ - $\neg p \to \neg q$ = Quello che segue «solo se» è la conclusione: se passo l'esame, allora ho studiato. Studiare è una condizione necessaria. La risposta più insidiosa è $q \to p$, l'inversa: direbbe che basta studiare per passare. $\neg p \to \neg q$ è la contronominale di $q \to p$, quindi dice la stessa cosa sbagliata. D: Sul modello della simulazione 2, domanda 6, che chiede le negazioni di frasi. Qual è la negazione di «se il treno è in ritardo, perdo la coincidenza»? - Se il treno non è in ritardo, non perdo la coincidenza. - Se perdo la coincidenza, il treno è in ritardo. + Il treno è in ritardo e non perdo la coincidenza. - Il treno non è in ritardo e perdo la coincidenza. - Il treno non è in ritardo o non perdo la coincidenza. = $\neg(p \to q) \equiv p \wedge \neg q$: la promessa è smentita solo se il treno è in ritardo e la coincidenza non si perde. La risposta più insidiosa è la prima, l'opposta: è un'altra promessa, non la negazione, e con il treno in ritardo e la coincidenza persa è vera come la frase di partenza. D: Sul modello degli esercizi del §1.4. L'argomentazione «se piove, la strada è bagnata; la strada è bagnata; quindi piove» è: - valida, per il modus ponens - valida, per il modus tollens + non valida: afferma il conseguente - non valida: nega l'antecedente - valida, perché la conclusione può essere vera = Le premesse sono $p \to q$ e $q$, la conclusione $p$. Nella riga $p$ falsa, $q$ vera le premesse sono vere e la conclusione falsa: è il controesempio. Si chiama affermare il conseguente. La risposta più insidiosa è il modus ponens, che parte da $p$, non da $q$. Che la conclusione possa essere vera non basta: deve esserlo in tutte le righe con le premesse vere. D: Sul modello degli esercizi del §1.4. Da $p \vee q$, $q \to r$ e $\neg r$ che cosa segue? - $q$ - $\neg p$ + $p$ - $r$ - niente: l'argomentazione non è valida = Da $q \to r$ e $\neg r$ viene $\neg q$, per il modus tollens. Da $p \vee q$ e $\neg q$ viene $p$, per il sillogismo disgiuntivo. La risposta più insidiosa è $\neg p$: chi dimentica la catena pensa che negare $r$ neghi tutto. ``` ## Fonti - Le lezioni complete: [06 · Proposizioni, connettivi e tavole di verità](06_proposizioni_connettivi_tavole.html), [07 · «Se… allora», «se e solo se» ed equivalenza logica](07_condizionali_equivalenza_logica.html), [08 · Argomentazioni e regole di inferenza](08_argomentazioni_regole_inferenza.html), con gli strumenti per le tavole, i quiz e gli esercizi. - Libro di testo del corso, parte 2 (R. Johnsonbaugh, cap. 1), §1.2–1.4. - Simulazioni d'esame del 2023/24 della pagina d'esame comune: simulazione 1, domande 3 e 6; simulazione 2, domanda 2. - Esame e diario del canale B: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/FDA/corso.md). --- > File: `contesto_ai/MDAG/corso.md` # Matematica Discreta, Algebra e Geometria (MDAG) — scheda del corso (canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti: scheda INF0328 (https://laurea.informatica.unito.it/do/corsi.pl/Show?_id=fvug), calendari University Planner dei tre canali (ricontrollati il 28/09/2026), Moodle 2026/27 MDAG1 e MDAG2 (login, consultati il 28/09/2026), Moodle 2025/26 (regole d'esame, testi e soluzioni degli appelli), bacheca Esse3, guida degli studenti TSI. Al 28/09/2026 le regole d'esame 2026/27 non sono ancora pubblicate: come riferimento valgono quelle del 2025/26. ## Dati essenziali | Voce | Valore | |---|---| | Codice | INF0328 · 12 CFU · attività di base, MAT/02 e MAT/03 · 1° anno, 1° semestre | | Ore | 64 h di lezione + 40 h di esercitazioni (dentro l'orario delle lezioni). **Nessun laboratorio e nessun turno**. Tutorato facoltativo di 2 h a settimana secondo la scheda ufficiale, senza divisione tra MD e AG (nel 2025/26 era un unico tutorato "per Matematica Discreta e Algebra Lineare", con orari sul Moodle del tutorato, accessibile solo con login) | | Periodo | 28/09/2026 – 15/01/2027 | | Struttura | **due moduli** con docenti, orari, Moodle ed esami separati: **MD = Matematica Discreta** (MDAG1; in Esse3 l'appello si chiama "M.D.A.G- PARTE DI MATEMATICA DISCRETA", nelle regole d'esame "M.D.A.G.1"; "modA" in University Planner) e **AG = Algebra Lineare e Geometria** (MDAG2; in Esse3 "M.D.A.G- PARTE DI GEOMETRIA", nelle regole "M.D.A.G.2"; "modB") | | Voto | media delle due prove, arrotondata per eccesso | ## Docenti, orari e Moodle | Canale | MD (modA) | AG (modB) | |---|---|---| | **A** (cognomi A–D) · Aula A | Ignazio Longhi e Lea Terracini · mar 11–13, gio 11–13, alcuni mer 9–11 · dal 29/09 | Reto Buzano · lun 9–11, ven 11–13, alcuni mer 9–11 · dal 28/09 | | **B** (cognomi E–O) · Aula B | Andrea Mori · lun 11–13, ven 9–11, alcuni mer 11–13 · **prima lezione mer 30/09** | Reto Buzano e Marco Radeschi · mar 9–11, gio 11–13, alcuni mer 11–13 · dal 01/10 | | **C** (cognomi P–Z) · Aula A, pomeriggio | Ignazio Longhi e Lea Terracini · mar 16–18, ven 15–17, alcuni mer 14–16 · dal 29/09 | Marco Radeschi · lun 16–18, gio 16–18, alcuni mer 14–16 · **prima lezione lun 05/10** | - **Mercoledì**, che si alternano tra MD e AG (University Planner al 28/09/2026, tutto il semestre): | Canale | MD | AG | |---|---|---| | A | 07/10, 21/10, 04/11, 18/11, 02/12, 16/12, 13/01 | 14/10, 28/10, 11/11, 25/11, 09/12 | | B | 30/09, 14/10, 28/10, 11/11, 25/11, 09/12 | 07/10, 21/10, 04/11, 18/11, 02/12, 16/12, 13/01 | | C | 14/10, 28/10, 11/11, 25/11, 09/12 | 07/10, 21/10, 04/11, 18/11, 02/12, 16/12, 13/01 | - **Attenzione:** la pagina Moodle di AG (28/09/2026) descrive un calendario diverso: prima settimana A lunedì, B mercoledì, C martedì; poi lunedì e mercoledì, più alcuni venerdì (23/10, 30/10, 13/11, 20/11). Avverte anche che i cambi d'orario vengono annunciati su Moodle e a lezione, non sempre nell'orario ufficiale. University Planner conferma la tabella sopra: in caso di dubbio seguire gli annunci di Moodle e chiedere a lezione. - Moodle 2026/27, comuni ai tre canali: **MDAG1 (MD)** [id=3829](https://informatica.i-learn.unito.it/course/view.php?id=3829) e **MDAG2 (AG)** [id=3831](https://informatica.i-learn.unito.it/course/view.php?id=3831). Serve il login UniTo; iscrizione libera, senza chiave: iscriversi subito. Al 28/09 MDAG1 ha annunci, forum di discussione, informazioni sulle prove individualizzate e una sezione per canale (ancora vuote); MDAG2 ha annunci (anche i cambi d'orario), forum per domande, tutorato e prove d'esame ("informazioni seguono"), fogli di esercizi caricati man mano, argomenti con il libro di riferimento, dispense 2026 e appunti manoscritti e video. Le pagine 2025/26, aperte agli ospiti, restano un ottimo archivio: MDAG1 [id=3501](https://informatica.i-learn.unito.it/course/view.php?id=3501), MDAG2 [id=3503](https://informatica.i-learn.unito.it/course/view.php?id=3503). - Nei canali A e C la divisione delle lezioni di MD tra Longhi e Terracini non è indicata (nel 2025/26 la prima parte era di un altro docente e poi subentrava Terracini). ## Esame (uguale per A, B, C) **Scheda ufficiale:** due parti, Matematica Discreta e Algebra lineare e Geometria, **sostenibili anche in appelli diversi**; prove scritte (orale solo su richiesta motivata dei docenti); voto in trentesimi = media delle due parti. Le prove sono comuni ai tre canali, preparate e corrette insieme; escono in più versioni (A–D, più una in inglese su richiesta) assegnate a caso. Al 28/09/2026 le regole 2026/27 non sono ancora uscite: su MDAG2 la sezione "Prove d'esame" dice "informazioni seguono". Sotto, le regole 2025/26. **Struttura di ciascuna prova** (regole 2025/26, uguale per MD e AG): | Parte | Contenuto | Punti | |---|---|---| | Quiz | 10 domande a risposta multipla, 5 opzioni, una corretta | 1 per risposta giusta (max 10) | | Problemi | 2 problemi a risposta aperta con sottodomande | 11 ciascuno (max 22) | - Durata **120 minuti**, massimo 32 punti; prova superata con **almeno 18**. - **Sbarramento: con meno di 6 punti nel quiz i problemi non vengono corretti.** - Lode: le regole 2025/26 non ne parlano; nel 2023/24 almeno 31 in una prova valeva 30 e lode. Da verificare per il 2026/27. **Materiale ammesso — diverso nelle due prove:** - **MD**: libro di testo e/o appunti del corso, calcolatrice non programmabile. - **AG**: solo un foglio protocollo o due A4 (**4 facciate scritte a mano**) con formulario ed esercizi; **nessuna calcolatrice**, nessun dispositivo, niente libri. **Regole pratiche (2025/26):** - Iscrizione su MyUniTo all'appello giusto: **M.D.A.G.1 = MD, M.D.A.G.2 = AG** (nella bacheca Esse3 gli appelli si chiamano "M.D.A.G- PARTE DI MATEMATICA DISCRETA" e "M.D.A.G- PARTE DI GEOMETRIA", tutti sotto [INF0328]). Le iscrizioni chiudono circa una settimana prima, senza eccezioni. - Nelle note dell'iscrizione vanno segnalati crediti riconosciuti, tempo aggiuntivo (DSA/disabilità, almeno 15 giorni prima) o richiesta della prova in inglese. - Convocazione per email, appello nominale con documento; penna blu o nera; solo i fogli consegnati; smartphone spento (se squilla si viene espulsi); non si esce e rientra. - Una prova superata vale **per sempre** (conviene salvare uno screenshot dell'esito). Il voto della singola prova non si accetta né si rifiuta. - **Rifare una prova annulla il voto precedente anche se va peggio**; solo il ritiro in aula lo lascia valido. - Quando entrambe le prove sono superate i docenti propongono il voto finale, che si può rifiutare (poi si possono ripetere una o entrambe le prove). - Dopo ogni appello vengono pubblicati testi e soluzioni ed è previsto un incontro per vedere i compiti. **Appelli 2026/27 già pubblicati** (tutti alle 14:00, aule A, B, C, D, F): | Data | Prova | Iscrizioni | |---|---|---| | mar 19/01/2027 | **Matematica Discreta** | 30/12/2026 – 12/01/2027 | | ven 22/01/2027 | **Geometria (AG)** | 02/01 – 15/01/2027 | | mer 03/02/2027 | **Matematica Discreta** | 14/01 – 27/01/2027 | | ven 05/02/2027 | **Geometria (AG)** | 16/01 – 29/01/2027 | Riferimento 2025/26 (iscritti): MD 13/01 (340), 03/02 (325), 08/06 (127), 01/07 (156), 10/09 (150); AG 15/01 (414), 05/02 (321), 03/06 (194), 03/07 (195), 07/09 (233). ## Programma ufficiale (comune) **Parte 1 (modA) — Matematica Discreta** - Insiemi: vuoto, sottoinsiemi, unione, intersezione, complementare, insieme delle parti. - Relazioni e funzioni: relazioni d'ordine e di equivalenza, partizioni, composizione e inversione, iniettività, suriettività, invertibilità. - Combinatoria: principi della somma e del prodotto, disposizioni e combinazioni (anche con ripetizione), binomio e triangolo di Tartaglia, inclusione-esclusione. - Strutture algebriche: semigruppi, monoidi (anche delle parole), gruppi e morfismi, gruppo delle biiezioni, gruppi ciclici, teorema di Lagrange, corpi e campi. - Aritmetica modulare: Z e Z_n, divisione, algoritmo di Euclide, identità di Bézout, equazioni diofantee, teorema di Eulero-Fermat. - Permutazioni: composizione, potenze e inverse, cicli disgiunti, trasposizioni, parità, sottogruppi. **Parte 2 (modB) — Algebra Lineare e Geometria** - Polinomi, numeri reali e complessi. - Spazi vettoriali, indipendenza lineare, basi, dimensione; spazio euclideo. - Sistemi lineari: Gauss-Jordan, Rouché-Capelli. - Rette, piani, iperpiani (forma parametrica e cartesiana). - Matrici e determinante; applicazioni lineari (nucleo, immagine, matrice associata, cambi di base, similitudine). - Autovalori e autovettori, diagonalizzazione; prodotti scalari, complemento ortogonale, forme quadratiche; teorema spettrale. **Sequenze 2025/26:** AG in 26 lezioni comuni (reali, complessi, polinomi, spazi vettoriali, matrici, sistemi, applicazioni lineari, autovalori, prodotti scalari, spazio euclideo, teorema spettrale). MD canale B (Mori) nell'ordine del suo libro: insiemi, relazioni, funzioni, combinatoria, permutazioni, interi e Bézout, congruenze, gruppi, Lagrange, omomorfismi, cenni di RSA. MD canali A e C: insiemi, funzioni, combinatoria, poi permutazioni, interi, congruenze, gruppi. Stessi argomenti, ordine diverso. ## Testi e materiale - A. Mori, *Lezioni di Matematica Discreta*, 2ª ed. (testo del canale B); A. Facchini, *Algebra e Matematica discreta*; J. R. Durbin, *Modern Algebra*; S. Lang, *Algebra Lineare*. - **B. Martelli, *Geometria e algebra lineare***, gratuito online (https://people.dm.unipi.it/martelli/Alg%20Lin.pdf): testo di riferimento di AG (capitoli 1–5, 7–9, 11; confermato sul Moodle 2026/27). Si può anche comprare stampato. - **Moodle MDAG2 2026/27**: dispense 2026 del corso (L01–L26, basate su Martelli), fogli di esercizi del tutorato caricati man mano, appunti manoscritti e video. - **Moodle 2025/26 (aperti agli ospiti)**: regole d'esame; testi e soluzioni di tutti gli appelli MD e AG fino a settembre 2026; cartella "Quiz 2021/25"; dispense AG complete (L01–L26); videolezioni; fogli di esercizi del tutorato. - **Guida TSI** (`Materie/MD`, `Materie/AG`): raccolte di esami con soluzioni (MD dal 2017/18 al 2023/24), formulari (quello di Alessandro Salerno ha anche la classificazione dei problemi d'esame per tipo), appunti. Le regole d'esame 2023/24 lì contenute sono superate. - **Rigurgiti di Unicorno** (Valentino Bocchino, febbraio 2026, https://github.com/bocchinovalentino/rigurgiti_di_unicorno, licenza CC BY-NC-SA 4.0): appunti di Matematica Discreta scritti da uno studente seguendo il libro di Mori, in tre PDF (teoria, esercizi svolti, completo) più il sorgente LyX da modificare. Coprono insiemi, funzioni, combinatoria, numeri interi, permutazioni, gruppi e aritmetica modulare. Non sono materiale ufficiale; utili come riepilogo, perché alla prova di MD si possono portare libro e appunti. ## Consigli e trappole - MD e AG sono in pratica due esami separati: puoi farli in qualsiasi ordine e in sessioni diverse. - Il quiz è uno sbarramento: allenati molto con i quiz degli anni passati (Moodle 2025/26). - In AG prepara con cura il foglio da 4 facciate: è l'unico materiale ammesso. - Esercizi ricorrenti in MD: decomposizione in cicli, tipo, periodo e numero di permutazioni di un tipo; sottogruppi generati e Lagrange; inversi modulo n con Euclide/Bézout; congruenze lineari; isomorfismi con Z_n. - Esercizi ricorrenti in AG: cambi di base e matrici associate, autovalori, Gram-Schmidt, proiezioni, distanze e angoli tra rette e piani, rango, Rouché-Capelli con parametro. - Non ripresentarti a una prova già superata se il voto ti va bene: la nuova prova annulla la vecchia. --- > File: `contesto_ai/MDAG/indice_lezioni.md` # Matematica Discreta e Algebra lineare (MDAG) — indice delle lezioni Scheda completa del corso (entrambi i moduli, orari dei tre canali, esame): `corso.md`. ## Matematica Discreta (parte 1, modA) Le lezioni seguono il libro di Andrea Mori e gli argomenti indicati per il canale B. Contengono esempi, dimostrazioni, quiz, esercizi svolti, domande di ripasso, glossario e checklist. | # | Titolo | Libro (Mori) | File | Argomenti | |---|---|---|---|---| | D01 | Insiemi e induzione | cap. 1, pp. 1–8 | `lezioni/D01_insiemi_induzione.md` · HTML: `appunti/MDAG/D01_insiemi_induzione.html` | elementi e insiemi, appartenenza e inclusione, quantificatori, cardinalità, prime dimostrazioni per induzione e insieme delle parti | | D02 | Complementare, De Morgan, induzione e partizioni | cap. 1, pp. 5–13 | `lezioni/D02_complementare_induzione_partizioni.md` · HTML: `appunti/MDAG/D02_complementare_induzione_partizioni.html` | intersezione e unione, differenza e complementare, leggi di De Morgan, assiomi di Peano, induzione, insieme delle parti, ricoprimenti, partizioni e insieme quoziente | | D03 | Prodotto cartesiano e relazioni di equivalenza | cap. 1, pp. 13–15; app. A, pp. 153–155 | `lezioni/D03_prodotto_cartesiano_relazioni.md` · HTML: `appunti/MDAG/D03_prodotto_cartesiano_relazioni.html` | coppie ordinate, prodotto cartesiano e numero dei suoi elementi, terne, relazioni, proprietà riflessiva, simmetrica, antisimmetrica e transitiva, relazioni d'ordine, relazioni di equivalenza, congruenza modulo N, classi di equivalenza e partizioni, insieme quoziente. Argomenti ricostruiti dal libro e dal diario 2025/26: il docente non li aveva ancora pubblicati | | D04 | Funzioni, immagini e controimmagini | cap. 2, pp. 17–23; esercizi 2.1–2.8 | `lezioni/D04_funzioni_immagini_controimmagini.md` · HTML: `appunti/MDAG/D04_funzioni_immagini_controimmagini.html` | funzione come grafico in $A \times B$ (un pallino per colonna), dominio e codominio, funzioni uguali; identità, costanti, proiezioni, successioni, funzione quoziente, prodotto; restrizione; buona definizione; immagine $f(S)$ e $\operatorname{Im}(f)$; controimmagine $f^{-1}(b)$, $f^{-1}(T)$; suriettiva, iniettiva, biettiva (righe della tabella, Proposizione 2.11); domanda 3 del quiz (14/01/2025) | | D05 | Composizione di funzioni e funzioni inverse | cap. 2, pp. 23–29; esercizi 2.10–2.15 | `lezioni/D05_composizione_funzioni_inverse.md` · HTML: `appunti/MDAG/D05_composizione_funzioni_inverse.html` | composizione $g \circ f$ (prima $f$, poi $g$), quando si può comporre, calcolo con le formule e con tre funzioni; proprietà associativa, identità neutra, costanti, non commutativa; composizione e iniettività o suriettività (Proposizioni 2.16, 2.17, Corollario 2.18); funzioni inverse, esistono solo per le biezioni e sono uniche (Teorema 2.20), come si trova l'inversa di una formula; $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$; cancellazione; domanda 3 del quiz, tutti i modelli 2025–2026. Argomenti ricostruiti dal libro e dal diario 2025/26 | | D06 | Insiemi finiti, principio dei piccioni e inclusione-esclusione | cap. 3, pp. 39–48; esercizi 3.1, 3.4–3.6, 3.10 | `lezioni/D06_insiemi_finiti_inclusione_esclusione.md` · HTML: `appunti/MDAG/D06_insiemi_finiti_inclusione_esclusione.html` | equipollenza e cardinalità con le biezioni ($\N$ e i pari, $\N \times \N$); $\lvert A \rvert \le \lvert B \rvert$ e Schröder-Bernstein; finito e infinito (Def 3.5), Prop 3.6 e Nota 3.8 (iniettiva = suriettiva = biettiva tra insiemi finiti con lo stesso numero di elementi), $I_n$; principio dei piccioni; numerabili ($\Z$, $\Q$ sì, $\R$ no); inclusione-esclusione per 2 e 3 insiemi, usata al contrario e per i «né… né…»; multipli con la parte intera e il minimo comune multiplo; appello del 01/07/2026, problema 1, versioni A–D; sviste del libro a p. 47 e p. 48 | | D07 | Parole, ordinamenti, anagrammi e disposizioni | cap. 3, pp. 48–55; esercizi 3.8, 3.9 | `lezioni/D07_parole_anagrammi_disposizioni.md` · HTML: `appunti/MDAG/D07_parole_anagrammi_disposizioni.html` | metodo delle scelte successive (albero), parole su un alfabeto e disposizioni con ripetizione $n^k$, ordinamenti e fattoriale, disposizioni semplici $ rac{n!}{(n-k)!}$, anagrammi con lettere ripetute, combinazioni semplici (solo l'enunciato, Def 3.27); domanda 4 del quiz 2025–2026, problemi 03/02/2026 e 2023/24; sviste: targhe a p. 50 del libro, SILLOGISMO nella soluzione «17 riepilogo» | ## Algebra lineare e Geometria (parte 2, modB) Le 26 lezioni seguono le dispense 2026 del corso (Buzano, Radeschi), comuni ai canali A, B e C, e sono pronte in anticipo rispetto alle lezioni in aula: il ritmo in aula può essere diverso. Ogni file ha quiz nello stile dell'esame, esercizi svolti, domande di ripasso, glossario e una sezione «Verso l'esame» con le domande degli appelli 2023–2026 sugli stessi argomenti. | # | Titolo | Dispense | Libro (Martelli) | File | Argomenti | |---|---|---|---|---|---| | L01 | Numeri reali | pp. 2–5 | §1.1 e complemento 1.II | `lezioni/L01_numeri_reali.md` · HTML: `appunti/MDAG/L01_numeri_reali.html` | insiemi numerici, costruzione dei numeri reali, irrazionalità di √2, campi, ordine, notazioni e conti con le radici | | L02 | Numeri complessi I | pp. 6–9 | §1.4.1–1.4.3 (pp. 25–27) | `lezioni/L02_numeri_complessi_1.md` · HTML: `appunti/MDAG/L02_numeri_complessi_1.html` | i numeri complessi, somma e prodotto, parte reale e parte immaginaria, coniugato, modulo, inverso e divisione, il piano complesso e la regola del parallelogramma | | L03 | Numeri complessi II | pp. 10–14 | §1.4.4–1.4.6 (pp. 27–31) | `lezioni/L03_numeri_complessi_2.md` · HTML: `appunti/MDAG/L03_numeri_complessi_2.html` | coordinate polari, forma esponenziale, modulo e argomento di un numero complesso, prodotto e inverso in forma polare, identità di Eulero, potenze e radici n-esime | | L04 | Polinomi | pp. 15–19 | §1.3 (pp. 21–25) e §1.4.7–1.4.8 (pp. 31–33) | `lezioni/L04_polinomi.md` · HTML: `appunti/MDAG/L04_polinomi.html` | polinomi e grado, divisione con resto e regola di Ruffini, radici e molteplicità, quante radici può avere un polinomio, teorema fondamentale dell'algebra, equazioni di secondo grado nei complessi e polinomi a coefficienti reali | | L05 | Spazi vettoriali I | pp. 20–25 | §1.5, §2.1 e §2.2 | `lezioni/L05_spazi_vettoriali_1.md` · HTML: `appunti/MDAG/L05_spazi_vettoriali_1.html` | lo spazio euclideo, somma di vettori e prodotto per scalare, gruppi, campi, definizione di spazio vettoriale ed esempi (polinomi, funzioni, successioni) | | L06 | Spazi vettoriali II | pp. 26–30 | §2.2.5–2.2.16 | `lezioni/L06_spazi_vettoriali_2.md` · HTML: `appunti/MDAG/L06_spazi_vettoriali_2.html` | lo spazio delle matrici, i sottospazi vettoriali, le matrici diagonali, triangolari, simmetriche e antisimmetriche, le combinazioni lineari e il sottospazio generato (Span) | | L07 | Spazi vettoriali III | pp. 31–35 | §2.3.1–2.3.7 | `lezioni/L07_spazi_vettoriali_3.md` · HTML: `appunti/MDAG/L07_spazi_vettoriali_3.html` | dipendenza e indipendenza lineare, basi, base canonica di K^n e dei polinomi, dimensione di uno spazio vettoriale e teorema sulle basi | | L08 | Matrici I | pp. 36–40 | §2.3.10, §3.2.3, §3.2.6, §3.4.1–3.4.5 e §4.4.5 | `lezioni/L08_matrici_1.md` · HTML: `appunti/MDAG/L08_matrici_1.html` | trasposta di una matrice, matrici simmetriche, rango per righe e per colonne, prodotto riga per colonna e sue proprietà, traccia | | L09 | Matrici II | pp. 41–45 | §3.3.1–3.3.4 e §3.3.10 | `lezioni/L09_matrici_2.md` · HTML: `appunti/MDAG/L09_matrici_2.html` | il determinante di una matrice quadrata definito con le permutazioni, le formule per le matrici 2×2 e 3×3, matrici triangolari e matrice identità, lo sviluppo di Laplace e le prime proprietà del determinante | | L10 | Matrici III | pp. 46–49 | §3.3.5, §3.3.7, §3.4.5–3.4.7 | `lezioni/L10_matrici_3.md` · HTML: `appunti/MDAG/L10_matrici_3.html` | come cambia il determinante con le mosse di Gauss, determinante nullo e righe dipendenti, teorema di Binet, cofattori, matrice inversa e criterio di invertibilità | | L11 | Sistemi lineari I | pp. 50–55 | §3.1 | `lezioni/L11_sistemi_lineari_1.md` · HTML: `appunti/MDAG/L11_sistemi_lineari_1.html` | sistemi lineari e matrice completa, mosse di Gauss, pivot e matrici a scalini, algoritmi di Gauss e di Gauss–Jordan, come si scrivono tutte le soluzioni di un sistema | | L12 | Sistemi lineari II | pp. 56–61 | §3.2 | `lezioni/L12_sistemi_lineari_2.md` · HTML: `appunti/MDAG/L12_sistemi_lineari_2.html` | sistema omogeneo associato, soluzione particolare, sottospazi affini, rango e pivot, teorema di Rouché–Capelli, sistemi quadrati e sistemi con un parametro | | L13 | Sistemi lineari III | pp. 62–67 | §2.3 e §3.2 | `lezioni/L13_sistemi_lineari_3.md` · HTML: `appunti/MDAG/L13_sistemi_lineari_3.html` | indipendenza lineare, generatori, basi e coordinate rispetto a una base studiati con i sistemi lineari, il rango e il determinante, più un codice che corregge gli errori di trasmissione | | L14 | Applicazioni lineari I | pp. 68–73 | §4.1 e §4.2 | `lezioni/L14_applicazioni_lineari_1.md` · HTML: `appunti/MDAG/L14_applicazioni_lineari_1.html` | applicazioni lineari, esempi e non esempi, l'applicazione associata a una matrice, nucleo e immagine, iniettività e suriettività, teorema della dimensione | | L15 | Applicazioni lineari II | pp. 74–78 | §4.2.5, §4.2.7 e §4.3 | `lezioni/L15_applicazioni_lineari_2.md` · HTML: `appunti/MDAG/L15_applicazioni_lineari_2.html` | isomorfismi, spazi vettoriali isomorfi, coordinate e matrice associata a un'applicazione lineare rispetto a due basi | | L16 | Applicazioni lineari III | pp. 79–84 | §4.2.4, §4.3.3, §4.3.5 e §4.4 | `lezioni/L16_applicazioni_lineari_3.md` · HTML: `appunti/MDAG/L16_applicazioni_lineari_3.html` | matrice di cambiamento di base, composizione di applicazioni lineari e prodotto di matrici, endomorfismi e matrici simili | | L17 | Autovalori e autovettori I | pp. 85–89 | §5.1 | `lezioni/L17_autovalori_autovettori_1.md` · HTML: `appunti/MDAG/L17_autovalori_autovettori_1.html` | autovettori e autovalori di un endomorfismo, endomorfismi e matrici diagonalizzabili, potenze di matrici e polinomio caratteristico | | L18 | Autovalori e autovettori II | pp. 90–95 | §5.2 | `lezioni/L18_autovalori_autovettori_2.md` · HTML: `appunti/MDAG/L18_autovalori_autovettori_2.html` | indipendenza di autovettori con autovalori distinti, autospazi e somma diretta, molteplicità algebrica e geometrica, teorema di diagonalizzabilità e matrici con un parametro | | L19 | Prodotti scalari I | pp. 96–99 | §7.1 e §7.2 | `lezioni/L19_prodotti_scalari_1.md` · HTML: `appunti/MDAG/L19_prodotti_scalari_1.html` | che cos'è un prodotto scalare, prodotti degeneri e definiti positivi, il prodotto scalare euclideo, le matrici simmetriche e la matrice associata a un prodotto scalare in una base | | L20 | Prodotti scalari II | pp. 100–104 | §7.1.5, §7.2.2 e §8.1 | `lezioni/L20_prodotti_scalari_2.md` · HTML: `appunti/MDAG/L20_prodotti_scalari_2.html` | come cambia la matrice di un prodotto scalare cambiando base, forme quadratiche, norma, disuguaglianza di Cauchy–Schwarz e triangolare, distanze e angoli tra vettori | | L21 | Prodotti scalari III | pp. 105–110 | §7.3 e §8.1.5–8.1.10 | `lezioni/L21_prodotti_scalari_3.md` · HTML: `appunti/MDAG/L21_prodotti_scalari_3.html` | vettori ortogonali, complemento ortogonale, proiezione ortogonale su una retta e su un sottospazio, basi ortogonali e ortonormali, algoritmo di Gram–Schmidt, decomposizione ortogonale e minimi quadrati | | L22 | Lo spazio euclideo I | pp. 111–115 | §4.4.8–4.4.9, §7.5, §8.2 e §9.1 | `lezioni/L22_spazio_euclideo_1.md` · HTML: `appunti/MDAG/L22_spazio_euclideo_1.html` | rotazioni e riflessioni del piano, isometrie tra spazi con prodotto scalare, matrici ortogonali, classificazione delle isometrie del piano e dello spazio, prodotto vettoriale in R3 | | L23 | Lo spazio euclideo II | pp. 116–121 | §9.1 e §9.2 | `lezioni/L23_spazio_euclideo_2.md` · HTML: `appunti/MDAG/L23_spazio_euclideo_2.html` | proprietà del prodotto vettoriale e area del parallelogramma, forma cartesiana e parametrica di rette e piani, sottospazi affini e giacitura, intersezioni | | L24 | Lo spazio euclideo III | pp. 122–128 | §9.2.9, §9.2.10 e §8.1 | `lezioni/L24_spazio_euclideo_3.md` · HTML: `appunti/MDAG/L24_spazio_euclideo_3.html` | angoli fra rette, fra retta e piano e fra piani, distanze fra punti, fra punto e retta, fra rette sghembe e fra punto e piano | | L25 | Teorema spettrale I | pp. 129–133 | §11.1 e §11.2 | `lezioni/L25_teorema_spettrale_1.md` · HTML: `appunti/MDAG/L25_teorema_spettrale_1.html` | prodotti hermitiani sugli spazi complessi, matrici hermitiane, matrice associata, endomorfismi autoaggiunti e sottospazi invarianti | | L26 | Teorema spettrale II | pp. 134–138 | §11.3 | `lezioni/L26_teorema_spettrale_2.md` · HTML: `appunti/MDAG/L26_teorema_spettrale_2.html` | il teorema spettrale per gli endomorfismi autoaggiunti, la sua dimostrazione, la versione con le matrici simmetriche e ortogonali, il collegamento con la PCA | ## Fili conduttori (collegamenti tra le lezioni) - **L'algoritmo di Gauss** (L11) serve quasi ovunque: rango (L08, L13), sistemi e Rouché–Capelli (L12), nucleo e immagine (L14), coordinate e cambiamenti di base (L15–L16), autospazi (L18), complementi ortogonali (L21), intersezioni di rette e piani (L23). - **Numeri complessi e polinomi** (L02–L04) → autovalori complessi e diagonalizzabilità su $\C$ (L17–L18), prodotti e matrici hermitiane (L25–L26). All'esame sono la domanda 1 del quiz in 11 appelli su 15. - **Dimensione** (L07) → teorema della dimensione (L14), molteplicità geometrica $m_g(\lambda) = n - \rk(A - \lambda I)$ (L18), $\dim W + \dim W^\perp = n$ (L21), dimensione dei sottospazi affini $n - \rk A$ (L23). - **Determinante** (L09–L10) → invertibilità e inversa (L10), polinomio caratteristico (L17), prodotto vettoriale e prodotto triplo (L22–L23), volume e distanza tra rette sghembe (L24). - **Due cambiamenti di base**: per gli endomorfismi $M^{-1}AM$ (L16), per i prodotti scalari ${}^tMSM$ (L20). Coincidono quando $M$ è ortogonale (L22), come nel teorema spettrale (L26). - **Proiezioni ortogonali e Gram–Schmidt** (L21) → angolo tra retta e piano e distanze (L24), basi ortonormali di autovettori (L26). - **Esame**: il problema 11 è quasi sempre la diagonalizzabilità di una matrice con un parametro (L17–L18, a volte con il teorema spettrale di L26); il problema 12 riguarda prodotti scalari, Gram–Schmidt, proiezioni e geometria di rette e piani (L19–L24). --- > File: `contesto_ai/MDAG/lezioni/D01_insiemi_induzione.md` ```yaml corso: MDAG modulo: MD lezione: D01 titolo: Insiemi e induzione data: 2026-09-30 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Parte 1 (modA) · Matematica Discreta · Canali A, B e C · Lezione D01 descrizione: >- Appunti della lezione D01 di Matematica Discreta (MDAG, parte 1, canali A, B e C): insiemi ed elementi, «per ogni» ed «esiste», insieme vuoto, cardinalità, sottoinsiemi e insieme delle parti, uguaglianza tra insiemi, numeri naturali, principio di induzione e il conto dei sottoinsiemi, con le domande vere degli appelli ed esercizi svolti. lede: >- Il linguaggio su cui si regge tutto il corso: gli insiemi, cioè raccolte di oggetti, e il modo di parlarne con precisione. Poi i numeri per contare e un modo nuovo di dimostrare le cose, l'induzione. Alla fine scopri quanti sottoinsiemi ha un insieme, un conto che all'esame torna spesso. materiale: libro scheda: Libro: A. Mori, Lezioni di Matematica Discreta, cap. 1, pp. 1–8 Docenti: Andrea Mori (canale B), Ignazio Longhi e Lea Terracini (canali A e C) · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- A. Mori, Lezioni di Matematica Discreta (testo del canale B), cap. 1 «Insiemi», pp. 1–8 ed esercizi pp. 14–16; diario delle lezioni del canale B 2025/26 (Moodle MDAG1 2025/26); quiz e problemi degli appelli di Matematica Discreta 2023–2026 appunti_html: appunti/MDAG/D01_insiemi_induzione.html genera_html: true ``` ## In breve - Un **insieme** è una raccolta di oggetti, che si chiamano i suoi **elementi**. Conta solo chi c'è dentro: l'ordine non importa e ogni elemento si conta una volta sola. - Un insieme si descrive in due modi: con l'**elenco** dei suoi elementi tra parentesi graffe, oppure con una **regola** che dice chi entra e chi no. - «Per ogni» ed «esiste» servono per parlare di tutti gli elementi o di almeno uno. Per far vedere che una frase con «per ogni» è falsa basta un solo caso contrario, il **controesempio**. - L'**insieme vuoto** non contiene niente. La **cardinalità** di un insieme è il numero dei suoi elementi. - Un **sottoinsieme** è una parte di un insieme: tutti i suoi elementi stanno anche nell'insieme di partenza. Tutti i sottoinsiemi, messi insieme, formano l'**insieme delle parti**. - I **numeri naturali** sono 0, 1, 2, 3 e così via. Il **principio di induzione** dimostra una proprietà per tutti i naturali in due mosse, come una fila di tessere del domino che cadono una dopo l'altra. - Un insieme con $n$ elementi ha $2^n$ sottoinsiemi: ogni elemento in più raddoppia il conto. - All'esame la prima domanda del quiz riguarda quasi sempre gli insiemi. Il punto delicato è distinguere «è un elemento di» da «è un sottoinsieme di». > [!CANALI] > Matematica Discreta, la parte 1 di MDAG, ha **lo stesso programma e la stessa prova d'esame** nei canali A, B e C, quindi questi appunti valgono per tutti e tre. Cambiano i docenti e l'ordine degli argomenti. Nel canale B insegna Andrea Mori, che segue il suo libro *Lezioni di Matematica Discreta*: questi appunti seguono il capitolo 1 del libro (pp. 1–8) e il diario del canale B del 2025/26, dove la prima lezione trattava insiemi, insieme vuoto, numeri naturali e induzione, sottoinsiemi e il conto dei sottoinsiemi. Nei canali A e C insegnano Ignazio Longhi e Lea Terracini: nel 2025/26 anche lì si partiva dagli insiemi, poi venivano funzioni e combinatoria, in un ordine un po' diverso da quello del libro. Sulla pagina Moodle del 2025/26 (MDAG1, [id 3501](https://informatica.i-learn.unito.it/course/view.php?id=3501), aperta agli ospiti) ci sono appunti scritti a mano e video delle lezioni di A e C. La prima lezione del canale A copriva le stesse idee di base (insiemi, cardinalità, sottoinsiemi, insieme vuoto, uguaglianza) e scriveva $\subseteq$ dove Mori scrive $\subset$. ## Un insieme è un sacchetto di oggetti (pp. 1–3) Pensa a un sacchetto della spesa con dentro una mela, una pera e una banana. Il sacchetto, con quello che contiene, è un esempio di **insieme**. Le cose che ci sono dentro si chiamano gli **elementi** dell'insieme. Per scrivere un insieme si mettono i suoi elementi tra **parentesi graffe**, separati da virgole: $$\{\text{mela},\ \text{pera},\ \text{banana}\}$$ Si legge «l'insieme che contiene mela, pera e banana». Di solito un insieme si chiama con una lettera maiuscola, come $A$ o $B$. I suoi elementi si chiamano con lettere minuscole, come $a$ o $x$. Per esempio la riga $$A = \{1, 2, 3\}$$ vuol dire: chiamo $A$ l'insieme che contiene i numeri 1, 2 e 3. ### Dentro o fuori Per dire che un oggetto sta in un insieme c'è un simbolo apposta. Assomiglia a una «e», l'iniziale di «elemento». - $x \in A$ si legge «$x$ appartiene ad $A$», oppure «$x$ è un elemento di $A$». - $x \notin A$ si legge «$x$ non appartiene ad $A$». La barra sopra il simbolo vuol dire «non». Riprendiamo l'insieme $A = \{1, 2, 3\}$. - Il numero 2 è nella lista, quindi $2 \in A$. - Il numero 5 nella lista non c'è, quindi $5 \notin A$. Il libro di Mori dà la definizione così. > [!DEF] 1.1 · Insieme > Un **insieme** è una collezione ben definita di oggetti distinti, detti gli **elementi** dell'insieme. **Come si legge.** «Collezione» vuol dire raccolta: il sacchetto. «Ben definita» vuol dire che per ogni oggetto si può decidere, senza dubbi, se sta dentro oppure no. «Distinti» vuol dire diversi tra loro: lo stesso oggetto non si conta due volte. ### Che cosa può stare in un insieme (p. 2) Il libro aggiunge tre osservazioni. 1. **Dentro può esserci qualunque cosa.** Numeri, ma anche città, persone, parole. Gli elementi non devono nemmeno essere dello stesso tipo: esiste l'insieme che contiene il numero 4, la Mole Antonelliana e il tuo zaino. 2. **Deve essere chiaro chi c'è dentro.** «Gli attori bravi» non è un insieme, perché sull'essere bravi ognuno ha la sua opinione. «Gli attori che hanno vinto un Oscar» invece è un insieme: basta controllare l'elenco dei premi. 3. **Un insieme può essere un elemento di un altro insieme.** Un sacchetto chiuso può stare dentro un sacchetto più grande. ### Un sacchetto dentro un sacchetto La terza osservazione è quella che crea più confusione, quindi vediamola con calma. Metti i numeri 1 e $-1$ in un sacchetto piccolo: è l'insieme $B = \{1, -1\}$. Poi metti in un sacchetto grande il numero 0 e il sacchetto piccolo, chiuso. Il sacchetto grande è $$A = \{0, B\} = \{0, \{1, -1\}\}$$ ```grafico titolo: L'insieme $A = \{0, \{1, -1\}\}$ ha due elementi: lo zero e il sacchetto piccolo $B$ x: -3 3 y: -2.1 2.1 assi: no griglia: no cerchio: 0 0 1.9 | blu cerchio: 0.75 0 0.85 | accento punto: -0.95 0 | blu | $0$ | n punto: 0.45 0.15 | accento | $1$ | n punto: 1.05 -0.2 | accento | $-1$ | s testo: -1.25 1.6 | blu | $A$ testo: 1.35 0.95 | accento | $B$ ``` Guarda la figura: dentro il cerchio grande ci sono **due** oggetti, il punto dello zero e il cerchio piccolo. I numeri 1 e $-1$ stanno nel cerchio piccolo, non direttamente in quello grande. Quindi: - $1 \in B$: l'1 è nel sacchetto piccolo; - $B \in A$: il sacchetto piccolo è nel sacchetto grande; - $1 \notin A$: tra i due oggetti del sacchetto grande non c'è l'1. È la Nota 1.2 del libro. Se un insieme è un elemento di un altro insieme, i suoi elementi **non** diventano per questo elementi di quello più grande. > [!TRAPPOLA] Le graffe interne contano > In $\{0, \{1, -1\}\}$ gli elementi sono due, non tre. Un paio di graffe dentro la lista racchiude **un solo** elemento, che è a sua volta un insieme. All'esame questa trappola compare spesso nella prima domanda del quiz (vedi «Verso l'esame»). ### Due modi per scrivere un insieme (pp. 2–3) Il primo modo è **l'elenco**: si scrivono tutti gli elementi, uno per uno. Funziona bene quando gli elementi sono pochi. Il secondo modo è **la regola**: si spiega che cosa deve avere un oggetto per entrare. Per esempio «i numeri pari tra 1 e 10». Con una regola si descrivono anche insiemi enormi o infiniti, che non si potrebbero mai elencare per intero. Ecco qualche insieme scritto nei due modi. | Con una regola, a parole | Con l'elenco | |---|---| | i numeri pari tra 1 e 10 | $\{2, 4, 6, 8, 10\}$ | | le vocali | $\{a, e, i, o, u\}$ | | i numeri naturali più piccoli di 4 | $\{0, 1, 2, 3\}$ | | i numeri pari maggiori di zero | non finisce mai: $\{2, 4, 6, 8, \dots\}$ | I puntini dell'ultima riga si leggono «e così via»: gli elementi continuano con la stessa regola. Per scrivere una regola con i simboli il libro usa questa forma (Nota 1.3): $$X = \{x \in U \mid \mathcal P(x)\}$$ Si legge «$X$ è l'insieme degli $x$ di $U$ tali che $x$ ha la proprietà $\mathcal P$». Vediamola un pezzo alla volta. - $U$ è l'insieme da cui si pescano gli oggetti, per esempio tutti i numeri naturali. Il libro lo chiama **insieme universale**: è l'ambito del discorso. - La sbarra verticale $\mid$ si legge «tali che». - $\mathcal P(x)$ è la **proprietà** da controllare: una frase su $x$ che può essere vera o falsa, come «$x$ è pari». La $\mathcal P$ è una P in corsivo elegante. > [!ESEMPIO] Una regola scritta con i simboli > $$\{n \in \N \mid n \text{ è pari}\} = \{0, 2, 4, 6, \dots\}$$ > Si legge «i numeri naturali $n$ tali che $n$ è pari». Qui l'insieme universale è $\N$, l'insieme dei numeri naturali $0, 1, 2, 3, \dots$ (lo vediamo meglio più avanti). Lo zero è pari, quindi è dentro. ### Ordine e ripetizioni non contano (p. 3) Un insieme dipende soltanto da chi c'è dentro. Quindi: - l'ordine non conta: $\{1, 3, 5\}$ e $\{5, 1, 3\}$ sono lo stesso insieme; - le ripetizioni non contano: scrivere due volte lo stesso elemento non aggiunge niente. Per esempio $\{0, 0, 1, 2\}$ e $\{0, 1, 2\}$ sono lo stesso insieme. ::: prova Vero o falso? (a) $3 \in \{1, 3, 5\}$; (b) $4 \in \{1, 3, 5\}$; (c) $\{1, 2\}$ e $\{2, 1, 1\}$ sono lo stesso insieme. (a) Vero: il 3 è nella lista. (b) Falso: il 4 nella lista non c'è. (c) Vero: ordine e ripetizioni non contano, e in tutti e due gli insiemi ci sono soltanto 1 e 2. ::: ::: prova Quanti elementi ha l'insieme $\{1, \{2, 3\}, 4\}$? Il numero 2 è un suo elemento? Gli elementi sono tre: il numero 1, l'insieme $\{2, 3\}$ e il numero 4. Il 2 non è un elemento: sta dentro il sacchetto piccolo $\{2, 3\}$, non direttamente in quello grande. ::: > [!RICORDA] > - Un insieme è una raccolta di oggetti, i suoi elementi. Si scrive con le graffe: $\{1, 2, 3\}$. > - $x \in A$ vuol dire «$x$ è un elemento di $A$». > - Ordine e ripetizioni non contano. > - Un insieme può essere un elemento di un altro insieme, ma i suoi elementi non diventano elementi di quello grande. ## Tutti o almeno uno: per ogni ed esiste (pp. 3–4) Nelle frasi di tutti i giorni usiamo spesso due parole: «tutti» e «qualcuno». «Tutti gli studenti hanno superato l'esame.» «C'è uno studente che ha risolto tutti gli esercizi.» In matematica queste due idee hanno un nome e un simbolo, perché servono di continuo. - $\forall$ si legge «per ogni». È una A capovolta, da *all*, «tutti» in inglese. Una frase con «per ogni» dice che una proprietà vale per tutti gli elementi di un insieme, nessuno escluso. - $\exists$ si legge «esiste». È una E rovesciata, da *exists*. Una frase con «esiste» dice che c'è almeno un elemento con quella proprietà: può essercene uno solo, o anche tanti. Il libro chiama questi due simboli **quantificatori**. Ecco come si usano. | Scrittura | Si legge | Un esempio vero | |---|---|---| | $\forall x \in A,\ \mathcal P(x)$ | «per ogni $x$ in $A$, $x$ ha la proprietà $\mathcal P$» | $\forall n \in \{2, 4, 6\}$, $n$ è pari | | $\exists x \in A$ tale che $\mathcal P(x)$ | «esiste un $x$ in $A$ che ha la proprietà $\mathcal P$» | $\exists n \in \{1, 2, 3\}$ tale che $n > 2$: è il 3 | ### Come si dice il contrario Prendi la frase «tutti i treni di oggi sono arrivati in orario». Quando è falsa? Non serve che tutti i treni siano in ritardo: basta **un** treno in ritardo. Quindi il contrario della frase è «almeno un treno è arrivato in ritardo». Ora prendi la frase «c'è un negozio aperto». Quando è falsa? Quando non ce n'è nemmeno uno, cioè quando **tutti** i negozi sono chiusi. > [!IDEA] > Quando dici il contrario di una frase, «per ogni» diventa «esiste» ed «esiste» diventa «per ogni». La proprietà, invece, diventa il suo contrario. È la Nota 1.4 del libro. Il libro scrive «non» con il simbolo $\sim$, che si legge «non»; molti altri testi usano $\neg$. Con i simboli: | Frase | Il suo contrario | |---|---| | $\forall x \in A,\ \mathcal P(x)$ | $\exists x \in A$ tale che non vale $\mathcal P(x)$ | | $\exists x \in A$ tale che $\mathcal P(x)$ | $\forall x \in A$, non vale $\mathcal P(x)$ | Un esempio con i numeri. Prendi un insieme di numeri e la frase «ogni numero dell'insieme è maggiore o uguale a zero». Il contrario è «almeno un numero dell'insieme è negativo». - Con l'insieme $\{3, 0, 7\}$ la frase è vera: nessun numero è negativo. - Con l'insieme $\{3, -2, 7\}$ la frase è falsa, perché c'è il numero $-2$. ### Il controesempio Per dimostrare che una frase con «per ogni» è **vera** bisogna controllare tutti gli elementi. Spesso sono infiniti, e servono ragionamenti come l'induzione, che vedi più avanti. Per dimostrare che è **falsa**, invece, basta un solo elemento per cui la proprietà non vale. Quell'elemento si chiama **controesempio**. Nell'esempio di prima il controesempio è il numero $-2$. > [!ESEMPIO] Una domanda dell'appello del 06/06/2025 (domanda 2) > Il testo: «L'affermazione "$\forall x \in \N, \forall y \in \N, x^2 + x \ge y$" è contraddetta da: (1) $(x, y) = (2, 5)$; (2) $(x, y) = (-4, 10)$; (3) $(x, y) = (1, 3)$; (4) $(x, y) = (0, -1)$; (5) $(x, y) = (3, 12)$.» L'inizio si legge «per ogni $x$ naturale e per ogni $y$ naturale». > > In pratica chiede: per quale coppia di numeri **naturali** la disuguaglianza è falsa? Quella coppia è un controesempio. Controlliamo le cinque coppie una per una. > > | Coppia | Due naturali? | Quanto fa $x^2 + x$ | È almeno $y$? | > |---|---|---|---| > | $(2, 5)$ | sì | $4 + 2 = 6$ | $6 \ge 5$: sì | > | $(-4, 10)$ | no: $-4$ non è naturale | | non conta | > | $(1, 3)$ | sì | $1 + 1 = 2$ | $2 \ge 3$: **no** | > | $(0, -1)$ | no: $-1$ non è naturale | | non conta | > | $(3, 12)$ | sì | $9 + 3 = 12$ | $12 \ge 12$: sì | > > La risposta è la (3). Le coppie (2) e (4) contengono un numero negativo: non sono coppie di naturali, quindi non possono contraddire una frase sui naturali. ::: prova Scrivi il contrario delle frasi: (a) «ogni numero della lista 2, 4, 6 è pari»; (b) «esiste un numero naturale minore di zero». Quale delle due frasi di partenza è vera? (a) Il contrario è «almeno un numero della lista 2, 4, 6 è dispari». (b) Il contrario è «ogni numero naturale è maggiore o uguale a zero». È vera la frase (a) di partenza: 2, 4 e 6 sono tutti pari. La frase (b) di partenza è falsa, quindi è vero il suo contrario. ::: > [!TRAPPOLA] Il contrario di «tutti» non è «nessuno» > Il contrario di «tutti gli studenti hanno superato l'esame» **non** è «nessuno studente ha superato l'esame». È «almeno uno studente non l'ha superato». Possono averlo superato in tanti: basta che uno sia stato bocciato. > [!RICORDA] > - $\forall$ si legge «per ogni» e parla di tutti gli elementi; $\exists$ si legge «esiste» e parla di almeno uno. > - Per dire il contrario: «per ogni» diventa «esiste», «esiste» diventa «per ogni», e la proprietà diventa il suo contrario. > - Per dimostrare che una frase con «per ogni» è falsa basta un controesempio. ## Il sacchetto vuoto e quanti elementi ci sono (p. 4) Un sacchetto vuoto è pur sempre un sacchetto. Allo stesso modo c'è un insieme che non contiene niente: si chiama **insieme vuoto** e si scrive $\emptyset$, uno zero tagliato da una barra. L'insieme vuoto si può descrivere con tante regole diverse. Per esempio: - i numeri naturali più piccoli di zero; - i numeri interi che sono pari e dispari allo stesso tempo. Nessun oggetto rispetta queste regole. Quindi descrivono tutte e due lo stesso insieme, quello senza elementi: di insieme vuoto ce n'è uno solo. Il libro lo dice così. > [!DEF] 1.5 · Insieme vuoto > Si chiama **insieme vuoto** e si denota $\emptyset$ l'insieme privo di elementi, $\emptyset = \{\ \}$. Esso è caratterizzato dalla proprietà $\forall x,\ x \notin \emptyset$. **Come si legge.** $\{\ \}$ sono due graffe con niente in mezzo: un sacchetto vuoto. L'ultima formula si legge «per ogni $x$, $x$ non appartiene all'insieme vuoto»: qualunque oggetto tu prenda, nel vuoto non c'è. ### Il vuoto dentro un sacchetto Non confondere $\emptyset$ con $\{\emptyset\}$. - $\emptyset$ è il sacchetto vuoto: non contiene niente. - $\{\emptyset\}$ è un sacchetto che contiene un sacchetto vuoto. Contiene **una** cosa, quindi non è vuoto. È la stessa idea del sacchetto dentro il sacchetto: le graffe esterne racchiudono un elemento, che qui è l'insieme vuoto. ### Quanti elementi: la cardinalità Il numero degli elementi di un insieme si chiama **cardinalità**. Si scrive mettendo l'insieme tra due sbarre verticali: $\lvert A \rvert$ si legge «cardinalità di $A$». > [!DEF] 1.6 · Cardinalità > Si dice **cardinalità** di un insieme $A$, denotata $\lvert A \rvert$, il numero degli elementi di $A$. **Come si legge.** Se l'insieme ha un numero finito di elementi, per esempio 5, si scrive $\lvert A \rvert = 5$. Se gli elementi sono infiniti si scrive $\lvert A \rvert = \infty$, e il simbolo $\infty$ si legge «infinito». Il libro avverte che questa definizione verrà resa precisa nel capitolo 3, con le funzioni. Qualche esempio. Nell'ultima colonna c'è la cardinalità. | Insieme | I suoi elementi | Quanti | |---|---|--:| | $\{a, b, c\}$ | $a$, $b$, $c$ | $3$ | | $\{0, 0, 1\}$ | $0$ e $1$: lo zero ripetuto conta una volta | $2$ | | $\emptyset$ | nessuno | $0$ | | $\{\emptyset\}$ | il sacchetto vuoto | $1$ | | $\{1, \{2, 3\}\}$ | il numero $1$ e l'insieme $\{2, 3\}$ | $2$ | | $\N$ | $0, 1, 2, 3, \dots$ | $\infty$ | ::: prova Calcola la cardinalità di (a) $\{0, 1, \{0, 1\}\}$; (b) $\{\emptyset, \{\emptyset\}\}$; (c) l'insieme delle lettere della parola «mamma». (a) Gli elementi sono tre: 0, 1 e l'insieme $\{0, 1\}$. La cardinalità è 3. (b) Gli elementi sono due: il sacchetto vuoto e il sacchetto che contiene il sacchetto vuoto. La cardinalità è 2. (c) Le lettere sono m e a, perché le ripetizioni non contano. La cardinalità è 2. ::: > [!RICORDA] > - L'insieme vuoto $\emptyset$ non ha elementi. L'insieme $\{\emptyset\}$ invece ha un elemento. > - La cardinalità $\lvert A \rvert$ è il numero degli elementi di $A$, ognuno contato una volta sola. ## Un insieme dentro l'altro: i sottoinsiemi (pp. 4–5) Torna al sacchetto con mela, pera e banana. Togli la pera: ti resta un sacchetto con mela e banana. Ogni frutto del sacchetto nuovo viene dal sacchetto di partenza. Il sacchetto nuovo è un **sottoinsieme** di quello di partenza. > [!IDEA] > Un insieme è un sottoinsieme di un altro quando **ogni** suo elemento sta anche nell'altro. Nessun elemento resta fuori. ```grafico titolo: Il sottoinsieme $B$ sta tutto dentro l'insieme $A$: ogni punto di $B$ è anche un punto di $A$ x: -3 3 y: -2.2 2.2 assi: no griglia: no cerchio: 0 0 2 | blu cerchio: 0.6 -0.2 1 | accento | spesso testo: -1.5 1.65 | blu | $A$ testo: 0.6 1.05 | accento | $B$ punto: 0.3 -0.5 | accento punto: 1 0.15 | accento punto: -1.15 0.6 | blu punto: -0.85 -1.15 | blu ``` Il simbolo è $\subset$. La scrittura $B \subset A$ si legge «$B$ è contenuto in $A$», oppure «$B$ è un sottoinsieme di $A$». Se invece almeno un elemento di $B$ sta fuori da $A$, si scrive $B \not\subset A$, che si legge «$B$ non è contenuto in $A$». > [!DEF] 1.7 · Sottoinsieme > Un insieme $B$ è un **sottoinsieme** di $A$, e scriviamo $B \subset A$, se ogni elemento di $B$ è anche un elemento di $A$: $\forall b \in B,\ b \in A$. **Come si legge.** La formula alla fine si legge «per ogni $b$ in $B$, $b$ appartiene ad $A$». È la stessa frase della definizione, scritta con i simboli. Proviamo con l'insieme $A = \{1, 2, 3\}$. | Domanda | Risposta | Perché | |---|---|---| | $\{1, 3\} \subset A$? | sì | 1 e 3 stanno tutti e due in $A$ | | $\{2\} \subset A$? | sì | il 2 sta in $A$ | | $\{1, 4\} \subset A$? | no | il 4 non sta in $A$ | | $A \subset A$? | sì | ogni elemento di $A$ sta in $A$ | | $\emptyset \subset A$? | sì | il vuoto non ha elementi che possano stare fuori | ### Il vuoto e l'insieme intero Gli ultimi due casi della tabella valgono per qualunque insieme. - **Ogni insieme è un sottoinsieme di sé stesso**, perché tutti i suoi elementi stanno in lui. - **Il vuoto è un sottoinsieme di ogni insieme.** Per dire che il vuoto **non** è contenuto in un insieme servirebbe un controesempio: un elemento del vuoto che sta fuori. Ma il vuoto non ha elementi, quindi un controesempio non c'è. Il libro chiama il vuoto e l'insieme intero «sottoinsiemi banali». I sottoinsiemi diversi dall'insieme intero si chiamano **sottoinsiemi propri**. Per esempio $\{1, 3\}$ è un sottoinsieme proprio di $\{1, 2, 3\}$. > [!NOTA] Due modi di scrivere «contenuto» > Nel libro di Mori, e nei testi d'esame, $B \subset A$ vuol dire «$B$ è contenuto in $A$, e può anche essere uguale». Altri libri, e gli appunti dei canali A e C, scrivono per questo $\subseteq$, e usano $\subsetneq$ per «contenuto ma non uguale». Quando apri un testo nuovo, controlla quale convenzione usa. ### Elemento o sottoinsieme? Questa è la distinzione più importante della lezione. Riprendiamo $A = \{1, 2, 3\}$. | Scrittura | Vera? | Perché | |---|---|---| | $2 \in A$ | sì | il numero 2 è uno degli elementi | | $\{2\} \subset A$ | sì | l'insieme che contiene solo il 2 è una parte di $A$ | | $\{2\} \in A$ | no | tra gli elementi di $A$ c'è il numero 2, non l'insieme $\{2\}$ | | $2 \subset A$ | no | 2 è un numero, non un insieme: non può essere una parte di $A$ | A parole: il simbolo $\in$ collega un **oggetto** a un insieme, il simbolo $\subset$ collega **due insiemi**. Nota anche che le prime due righe dicono la stessa cosa: un oggetto sta in un insieme esattamente quando l'insieme che contiene solo lui è un sottoinsieme. > [!METODO] Elemento o sottoinsieme? > 1. Guarda l'oggetto a sinistra del simbolo: è un insieme, cioè ha le graffe o è il nome di un insieme? > 2. Se il simbolo è $\in$, cerca l'oggetto, così com'è e con le sue graffe, nella lista degli elementi a destra. > 3. Se il simbolo è $\subset$, l'oggetto a sinistra deve essere un insieme. Controlla i suoi elementi uno per uno: devono stare tutti nella lista a destra. > 4. Se tra gli elementi a destra ci sono altri insiemi, conta le graffe con calma: ogni paio di graffe interne è **un** elemento. > [!ESEMPIO] Il metodo su un insieme con un insieme dentro > Prendi $X = \{a, \{b, c\}\}$. Ha due elementi: la lettera $a$ e l'insieme $\{b, c\}$. > > - $\{b, c\} \in X$: vera, è il secondo elemento. > - $\{b, c\} \subset X$: falsa. Servirebbe $b \in X$, ma $b$ sta dentro il sacchetto interno. > - $\{a\} \subset X$: vera, perché $a \in X$. > - $\{\{b, c\}\} \subset X$: vera. È l'insieme che contiene un solo elemento, $\{b, c\}$, e quell'elemento sta in $X$. ### Tutte le parti di un insieme Ora prendi tutti i sottoinsiemi di un insieme e mettili in un sacchetto nuovo. Quel sacchetto si chiama **insieme delle parti**. Per esempio i sottoinsiemi di $\{a, b\}$ sono quattro: il vuoto, $\{a\}$, $\{b\}$ e $\{a, b\}$. L'insieme delle parti di $\{a, b\}$ è quindi $$\{\emptyset, \{a\}, \{b\}, \{a, b\}\}$$ Ha quattro elementi, e ogni suo elemento è a sua volta un insieme. > [!DEF] 1.8 · Insieme delle parti > Se $A$ è un insieme, si dice **insieme delle parti** di $A$, denotato $P(A)$, l'insieme i cui elementi sono i sottoinsiemi di $A$, > $$P(A) = \{B \mid B \subset A\}.$$ **Come si legge.** $P(A)$ si legge «parti di $A$». La formula si legge «l'insieme dei $B$ tali che $B$ è contenuto in $A$»: dentro $P(A)$ ci sono tutti i sottoinsiemi di $A$, e nient'altro. Attenzione: questa $P$ è una lettera normale e indica un insieme; la $\mathcal P$ elegante di prima indica una proprietà. Il libro fa tre esempi (p. 5). | Insieme | I suoi sottoinsiemi | Quanti | |---|---|--:| | $\emptyset$ | solo $\emptyset$ | $1$ | | $\{\ast\}$, con un solo elemento | $\emptyset$ e $\{\ast\}$ | $2$ | | $\{a, b, c\}$ | $\emptyset$, $\{a\}$, $\{b\}$, $\{c\}$, $\{a, b\}$, $\{a, c\}$, $\{b, c\}$, $\{a, b, c\}$ | $8$ | La prima riga merita due parole. Il vuoto ha un sottoinsieme, sé stesso. Quindi $P(\emptyset) = \{\emptyset\}$: l'insieme delle parti del vuoto ha un elemento, e non è vuoto. > [!IDEA] > Essere un sottoinsieme di $A$ ed essere un elemento di $P(A)$ sono la stessa cosa. ::: prova Prendi $A = \{1, 2\}$. (a) Scrivi $P(A)$. (b) È vero che $1 \in P(A)$? (c) È vero che $\{1\} \in P(A)$? (a) $P(A) = \{\emptyset, \{1\}, \{2\}, \{1, 2\}\}$. (b) No. Gli elementi di $P(A)$ sono insiemi, e il numero 1 da solo non è tra loro. (c) Sì. $\{1\}$ è un sottoinsieme di $A$, quindi è un elemento di $P(A)$. ::: ::: prova Con $X = \{a, \{b, c\}\}$: è vero che $b \in X$? E che $\{b, c\} \in X$? $b \in X$ è falso: $b$ sta dentro il sacchetto interno $\{b, c\}$, non direttamente in $X$. $\{b, c\} \in X$ è vero: è il secondo elemento di $X$. ::: > [!RICORDA] > - $B \subset A$ vuol dire che ogni elemento di $B$ sta anche in $A$. Il vuoto e l'insieme stesso sono sempre sottoinsiemi. > - $\in$ collega un oggetto a un insieme, $\subset$ collega due insiemi. > - L'insieme delle parti $P(A)$ ha come elementi tutti i sottoinsiemi di $A$. ## Quando due insiemi sono uguali (p. 5) Due sacchetti sono uguali quando contengono esattamente le stesse cose. Per controllarlo si fanno due verifiche: tutto quello che c'è nel primo sta anche nel secondo, e tutto quello che c'è nel secondo sta anche nel primo. > [!ESEMPIO] Due verifiche > Prendi $A$ = i numeri naturali il cui quadrato è minore di 10, e $B = \{0, 1, 2, 3\}$. > > 1. **Da $A$ a $B$.** I quadrati dei naturali sono $0, 1, 4, 9, 16, 25, \dots$ e crescono sempre. Sono minori di 10 soltanto quelli di 0, 1, 2 e 3. Quindi ogni elemento di $A$ sta in $B$: $A \subset B$. > 2. **Da $B$ ad $A$.** I quadrati di 0, 1, 2 e 3 sono 0, 1, 4 e 9, tutti minori di 10. Quindi ogni elemento di $B$ sta in $A$: $B \subset A$. > > Le due verifiche riescono, quindi $A = B$. Il libro lo scrive come una proposizione. > [!PROP] 1.9 · Uguaglianza tra insiemi > Siano $A$ e $B$ due insiemi. Allora > $$A = B \iff A \subset B \text{ e } B \subset A.$$ **Come si legge.** Il simbolo $\iff$ si legge «se e solo se», cioè «esattamente quando». A parole: due insiemi sono uguali esattamente quando ognuno dei due è contenuto nell'altro. Questo modo di dimostrare che due insiemi sono uguali si chiama **doppia inclusione**, e nella prossima lezione servirà spesso. > [!DIM] perché vale la proposizione 1.9 > 1. Se $A = B$, i due insiemi hanno gli stessi elementi. Quindi ogni elemento di $A$ sta in $B$, cioè $A \subset B$. E ogni elemento di $B$ sta in $A$, cioè $B \subset A$. > 2. Al contrario, supponiamo che valgano $A \subset B$ e $B \subset A$. Se ci fosse un elemento di $A$ fuori da $B$, non varrebbe $A \subset B$. Se ci fosse un elemento di $B$ fuori da $A$, non varrebbe $B \subset A$. Quindi nessun elemento sta in uno solo dei due insiemi: hanno gli stessi elementi, cioè $A = B$. ::: prova (a) $\{1, 2, 3\}$ e $\{3, 1, 2, 2\}$ sono uguali? (b) L'insieme degli interi il cui quadrato è 4 è uguale a $\{2\}$? (a) Sì. Ogni elemento del primo (1, 2 e 3) sta nel secondo, e ogni elemento del secondo sta nel primo. (b) No. Anche $-2$ ha quadrato 4, perché $(-2) \cdot (-2) = 4$. Quindi $-2$ sta nel primo insieme ma non in $\{2\}$: il primo insieme non è contenuto nel secondo. ::: > [!RICORDA] > - Due insiemi sono uguali quando hanno gli stessi elementi. > - Per dimostrarlo si controllano due contenimenti, il primo nel secondo e il secondo nel primo: è la doppia inclusione. ## I numeri per contare e l'induzione (pp. 5–6) I numeri che si usano per contare sono 0, 1, 2, 3, 4 e così via, senza fine. Si chiamano **numeri naturali**, e il loro insieme si scrive $\N$, una N con una doppia barra: $$\N = \{0, 1, 2, 3, \dots\}$$ Nel libro di Mori lo zero è un numero naturale. Alcuni libri lo escludono, ma in questo corso c'è. Ogni naturale ha un **successivo**: il successivo di 0 è 1, quello di 1 è 2, quello di un numero $n$ è $n + 1$. Il libro scrive il successivo di $n$ come $s(n)$, che si legge «esse di $n$». L'idea che conta è questa: partendo da 0 e andando avanti di uno alla volta si arriva a **ogni** numero naturale. A 5 si arriva in cinque passi: 0, 1, 2, 3, 4, 5. A un milione si arriva in un milione di passi. Nessun naturale resta fuori. > [!NOTA] Serve per capire, non per l'esame > Il libro descrive i naturali con cinque regole, gli **assiomi di Peano**. Sono nel riquadro qui sotto, che puoi saltare: all'esame non vengono chiesti. > [!APPROFONDIMENTO] gli assiomi di Peano (p. 5) > Il libro dice che l'insieme $\N$ dei numeri naturali è caratterizzato da questi cinque assiomi (Peano, 1889): > > 1. $0 \in \N$; > 2. ogni $n \in \N$ ha un successore $s(n) \in \N$; > 3. se $m, n \in \N$ e $m \neq n$ allora $s(m) \neq s(n)$; > 4. $\forall n \in \N,\ 0 \neq s(n)$; > 5. se $U \subset \N$ è tale che $0 \in U$ e $s(n) \in U$, $\forall n \in U$, allora $U = \N$. > > **Come si legge.** (1) Lo zero è un naturale. (2) Ogni naturale ha un successivo, che è ancora un naturale. (3) Numeri diversi hanno successivi diversi. (4) Lo zero non è il successivo di nessuno: è il primo. (5) Se un insieme di naturali contiene lo zero e, ogni volta che contiene un numero, contiene anche il suo successivo, allora contiene tutti i naturali. La regola 5 si chiama **principio di induzione**. Le regole 2, 3 e 4 insieme dicono che i naturali sono infiniti: $0$, $s(0)$, $s(s(0))$ e così via sono tutti diversi tra loro. ### Il domino Immagina una fila infinita di tessere del domino, in piedi una dietro l'altra e numerate 0, 1, 2, 3 e così via. Vuoi essere sicuro che cadano tutte. Bastano due cose: 1. **la prima tessera cade**: qualcuno spinge la tessera 0; 2. **ogni tessera che cade fa cadere la successiva**: le tessere sono abbastanza vicine. Allora cade la 0, che fa cadere la 1, che fa cadere la 2, e così via. Nessuna resta in piedi. > [!IDEA] > Per dimostrare che una proprietà vale per **tutti** i numeri naturali bastano due controlli: che valga per 0, e che ogni volta che vale per un numero valga anche per il successivo. Una **proprietà** dei naturali è una frase che parla di un numero $n$ e che, per ogni $n$, è vera o falsa. Il libro la scrive $\mathcal P(n)$. Due esempi: - «$n + n$ è pari». Per $n = 3$ dice «$3 + 3 = 6$ è pari»: è vera. - «$n$ è minore di 10». Per $n = 3$ è vera, per $n = 12$ è falsa. Il libro enuncia il principio come un teorema, che dice quando si può concludere che una proprietà vale per tutti. > [!TEOREMA] 1.10 · Dimostrazione per induzione > Supponiamo assegnata per ogni $n \in \N$ una certa proprietà $\mathcal P(n)$ e supponiamo che > > - la proprietà $\mathcal P(0)$ è vera; > - $\forall n \in \N$ la verità di $\mathcal P(n)$ implica la verità di $\mathcal P(n + 1)$. > > Allora la proprietà $\mathcal P(n)$ è vera per ogni $n$. **Come si legge.** I due punti sono i due controlli del domino. - Il primo, «$\mathcal P(0)$ è vera», si chiama **passo base**: la prima tessera cade. - Il secondo si legge «per ogni $n$ naturale, se $\mathcal P(n)$ è vera allora è vera anche $\mathcal P(n + 1)$». Si chiama **passo induttivo**: ogni tessera fa cadere la successiva. Mentre lo dimostri, la frase «$\mathcal P(n)$ è vera» si chiama **ipotesi induttiva**: la supponi vera e la usi. > [!DIM] perché il teorema 1.10 viene dal principio di induzione > Prendi l'insieme $U$ dei numeri naturali per cui la proprietà è vera. Lo zero sta in $U$, perché $\mathcal P(0)$ è vera. Se un numero $n$ sta in $U$, anche $n + 1$ sta in $U$, per il passo induttivo. Per la regola 5 degli assiomi di Peano, $U$ contiene tutti i naturali: la proprietà è vera per ogni $n$. ### Partire da 1, o da un altro numero Spesso una formula ha senso solo da 1 in poi, come «la somma dei numeri da 1 a $n$». Allora il passo base si fa con $n = 1$ invece che con $n = 0$, e la conclusione vale per ogni $n$ maggiore o uguale a 1. È la Nota 1.11 del libro. Si può partire anche da 3 o da 5: la proprietà vale allora da quel numero in poi. Lo vedi negli esercizi 7 e 8. > [!TRAPPOLA] Il passo base non si salta > Prendi la proprietà «$n = n + 1$». È falsa per ogni numero, eppure il passo induttivo funziona: se fosse $n = n + 1$, aggiungendo 1 a tutti e due i lati verrebbe $n + 1 = n + 2$. Quello che manca è il passo base: $0 = 1$ è falso. Senza la prima tessera non cade niente. ::: prova Sai che $\mathcal P(0)$ è vera e che il passo induttivo funziona. Perché è vera $\mathcal P(3)$? Dal passo base $\mathcal P(0)$ è vera. Il passo induttivo con $n = 0$ dà $\mathcal P(1)$. Con $n = 1$ dà $\mathcal P(2)$. Con $n = 2$ dà $\mathcal P(3)$. Sono tre tessere che cadono una dopo l'altra. ::: > [!RICORDA] > - I naturali sono $0, 1, 2, 3, \dots$ e il loro insieme si scrive $\N$. > - Induzione: passo base (la proprietà vale per il primo numero) e passo induttivo (se vale per $n$, vale per $n + 1$). Allora vale per tutti. > - Il passo base non si può saltare. ## Dimostrare per induzione, passo per passo (pp. 6–7) Vediamo l'induzione al lavoro su una formula famosa: la somma dei numeri da 1 a un numero $n$. Prima proviamo con numeri piccoli. Nella seconda colonna c'è la somma, nella terza un conto che sembra dare sempre lo stesso risultato. | $n$ | Somma da 1 a $n$ | $\frac{n(n + 1)}2$ | |--:|---|---| | 1 | $1$ | $\frac{1 \cdot 2}2 = 1$ | | 2 | $1 + 2 = 3$ | $\frac{2 \cdot 3}2 = 3$ | | 3 | $1 + 2 + 3 = 6$ | $\frac{3 \cdot 4}2 = 6$ | | 4 | $1 + 2 + 3 + 4 = 10$ | $\frac{4 \cdot 5}2 = 10$ | | 10 | $1 + 2 + \dots + 10 = 55$ | $\frac{10 \cdot 11}2 = 55$ | In ogni riga le ultime due colonne coincidono. Sembra che valga sempre questa formula: $$1 + 2 + 3 + \dots + n = \frac{n(n + 1)}2$$ Si legge «la somma dei numeri da 1 a $n$ è uguale a $n$ per $n$ più uno, diviso due». Però cinque righe di tabella non bastano: i numeri sono infiniti, e nessuno può controllarli tutti. L'induzione permette di dimostrarlo per tutti in un colpo solo. > [!ESEMPIO] La somma dei numeri da 1 a $n$ > La proprietà è la formula qui sopra, e parte da $n = 1$. > > **Passo base.** Per $n = 1$ a sinistra c'è solo il numero 1. A destra c'è $\frac{1 \cdot 2}2 = 1$. I due lati sono uguali. > > **Ipotesi induttiva.** Supponiamo che la formula sia vera per un certo numero $n$: > $$1 + 2 + \dots + n = \frac{n(n + 1)}2$$ > > **Obiettivo.** Arrivare alla stessa formula con $n + 1$ al posto di $n$, cioè a > $$1 + 2 + \dots + n + (n + 1) = \frac{(n + 1)(n + 2)}2$$ > > **Passo induttivo.** Partiamo dal lato sinistro dell'obiettivo, un passo per riga. > > 1. I primi addendi, da 1 a $n$, per l'ipotesi induttiva fanno $\frac{n(n + 1)}2$. Quindi il lato sinistro è $\frac{n(n + 1)}2 + (n + 1)$. > 2. Il primo pezzo è $(n + 1)$ per $\frac n2$, il secondo è $(n + 1)$ per 1. Raccogliamo il fattore comune $n + 1$: viene $(n + 1)\left(\frac n2 + 1\right)$. > 3. Dentro la parentesi, $\frac n2 + 1 = \frac n2 + \frac 22 = \frac{n + 2}2$. > 4. Quindi il lato sinistro è $\frac{(n + 1)(n + 2)}2$: proprio il lato destro dell'obiettivo. > > **Conclusione.** Passo base e passo induttivo funzionano. Per il principio di induzione la formula vale per ogni $n \ge 1$. > [!RIPASSO] raccogliere un fattore comune > Se due addendi hanno lo stesso fattore, lo si può «tirare fuori»: $a \cdot b + a \cdot c = a \cdot (b + c)$. Con i numeri: $3 \cdot 4 + 3 \cdot 5 = 12 + 15 = 27$, e anche $3 \cdot (4 + 5) = 3 \cdot 9 = 27$. Nel passo 2 qui sopra il fattore comune è $n + 1$. ### L'esempio del libro: la somma dei quadrati Il libro fa la stessa cosa con i quadrati. Prima una scrittura che usa per le somme lunghe. > [!RIPASSO] il simbolo di sommatoria > Una somma lunga si scrive con la lettera greca $\Sigma$, «sigma» maiuscola. La scrittura $\sum_{k=1}^{n} F(k)$ si legge «somma per $k$ che va da 1 a $n$ di $F(k)$». Vuol dire $F(1) + F(2) + \dots + F(n)$: al posto di $k$ metti 1, poi 2, e così via fino a $n$, e sommi tutto. Per esempio $\sum_{k=1}^{3} k^2 = 1^2 + 2^2 + 3^2 = 1 + 4 + 9 = 14$. La formula del libro è $$\sum_{k=1}^{n} k^2 = 1^2 + 2^2 + \dots + n^2 = \frac{n(n + 1)(2n + 1)}6$$ Prima la controlliamo con i numeri piccoli. | $n$ | Somma dei quadrati | $\frac{n(n + 1)(2n + 1)}6$ | |--:|---|---| | 1 | $1$ | $\frac{1 \cdot 2 \cdot 3}6 = 1$ | | 2 | $1 + 4 = 5$ | $\frac{2 \cdot 3 \cdot 5}6 = 5$ | | 3 | $1 + 4 + 9 = 14$ | $\frac{3 \cdot 4 \cdot 7}6 = 14$ | > [!ESEMPIO] La somma dei quadrati per induzione (pp. 6–7) > **Passo base.** Per $n = 1$: a sinistra $1^2 = 1$, a destra $\frac{1 \cdot 2 \cdot 3}6 = 1$. > > **Ipotesi induttiva.** La formula vale per $n$: $1^2 + \dots + n^2 = \frac{n(n + 1)(2n + 1)}6$. > > **Obiettivo.** Con $n + 1$ al posto di $n$ la formula diventa > $$1^2 + \dots + (n + 1)^2 = \frac{(n + 1)(n + 2)(2n + 3)}6$$ > perché $(n + 1) + 1 = n + 2$ e $2(n + 1) + 1 = 2n + 3$. > > **Passo induttivo.** > > 1. Per l'ipotesi induttiva il lato sinistro è $\frac{n(n + 1)(2n + 1)}6 + (n + 1)^2$. > 2. Raccogliamo $n + 1$, che sta in tutti e due gli addendi: $(n + 1)\left(\frac{n(2n + 1)}6 + (n + 1)\right)$. > 3. Nella parentesi mettiamo tutto su 6: $\frac{2n^2 + n}6 + \frac{6n + 6}6 = \frac{2n^2 + 7n + 6}6$. > 4. Controlliamo che $(n + 2)(2n + 3) = 2n^2 + 3n + 4n + 6 = 2n^2 + 7n + 6$. > 5. Quindi il lato sinistro è $\frac{(n + 1)(n + 2)(2n + 3)}6$, che è l'obiettivo. > > **Conclusione.** Per il principio di induzione la formula vale per ogni $n \ge 1$. > [!METODO] Dimostrare una formula per induzione > 1. Scrivi la formula e da quale numero parte: 0, 1 o un altro. > 2. **Passo base.** Metti il primo numero nei due lati e controlla che vengano uguali. > 3. **Ipotesi induttiva.** Scrivi «supponiamo che la formula valga per $n$», con la formula. > 4. **Obiettivo.** Riscrivi la formula con $n + 1$ al posto di $n$, e semplifica i conti come $(n + 1) + 1 = n + 2$. > 5. **Passo induttivo.** Parti dal lato sinistro dell'obiettivo. Trova il pezzo che compare nell'ipotesi e sostituiscilo. Poi fai i conti fino al lato destro. > 6. **Conclusione.** Scrivi «per il principio di induzione la formula vale per ogni $n$», dal numero di partenza in poi. ::: prova Controlla la formula $1 + 3 + 5 + \dots + (2n - 1) = n^2$ per $n = 1, 2, 3, 4$. La dimostrazione completa è l'esercizio 6. L'ultimo numero della somma è $2n - 1$: per $n = 4$ è 7. Per $n = 1$ a sinistra c'è solo 1, e $1^2 = 1$. Per $n = 2$: $1 + 3 = 4 = 2^2$. Per $n = 3$: $1 + 3 + 5 = 9 = 3^2$. Per $n = 4$: $1 + 3 + 5 + 7 = 16 = 4^2$. ::: > [!RICORDA] > - Prima si controlla la formula con i numeri piccoli, poi la si dimostra per induzione. > - Nel passo induttivo si parte dal lato sinistro con $n + 1$, si usa l'ipotesi induttiva e si arriva al lato destro. ## Quanti sottoinsiemi ha un insieme (p. 7) In pizzeria puoi aggiungere alla margherita tre ingredienti: olive, funghi, basilico. Puoi prenderne quanti vuoi, anche nessuno o tutti e tre. Quante pizze diverse puoi ordinare? Per ogni ingrediente la scelta è doppia: lo metti o non lo metti. Tre scelte da due possibilità l'una danno $2 \cdot 2 \cdot 2 = 8$ pizze. Ogni pizza è un sottoinsieme dell'insieme degli ingredienti: la margherita semplice è il vuoto, la pizza con tutto è l'insieme intero. Contiamo i sottoinsiemi di insiemi sempre più grandi. | Insieme | I suoi sottoinsiemi | Quanti | |---|---|--:| | $\emptyset$ | $\emptyset$ | $1$ | | $\{a\}$ | $\emptyset$, $\{a\}$ | $2$ | | $\{a, b\}$ | $\emptyset$, $\{a\}$, $\{b\}$, $\{a, b\}$ | $4$ | | $\{a, b, c\}$ | i quattro di prima, più gli stessi con dentro anche $c$ | $8$ | Ogni volta che si aggiunge un elemento, il numero dei sottoinsiemi raddoppia: 1, 2, 4, 8, 16 e così via. Sono le **potenze di 2**. > [!RIPASSO] le potenze di 2 > $2^n$ si legge «due alla $n$» e vuol dire 2 moltiplicato per sé stesso $n$ volte. Per convenzione $2^0 = 1$. > > | $n$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 10 | > |---|--:|--:|--:|--:|--:|--:|--:|--:| > | $2^n$ | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 1024 | > > Passando da $n$ a $n + 1$ si moltiplica per 2: $2^{n + 1} = 2 \cdot 2^n$. ### Perché raddoppia Prendi i sottoinsiemi di $\{a, b, c\}$ e dividili in due righe. In alto metti quelli **senza** $c$. In basso, sotto ognuno, lo stesso insieme **con** $c$ in più. | Senza $c$ | $\emptyset$ | $\{a\}$ | $\{b\}$ | $\{a, b\}$ | |---|---|---|---|---| | **Con $c$** | $\{c\}$ | $\{a, c\}$ | $\{b, c\}$ | $\{a, b, c\}$ | La riga in alto contiene esattamente i sottoinsiemi di $\{a, b\}$, che sono 4. La riga in basso ne ha altrettanti, perché ognuno nasce da quello sopra aggiungendo $c$. In tutto $4 + 4 = 8$. > [!IDEA] > Un insieme con $n$ elementi ha $2^n$ sottoinsiemi. Con i simboli: se $\lvert A \rvert = n$, allora $\lvert P(A) \rvert = 2^n$. > [!ESEMPIO] La dimostrazione per induzione del libro (p. 7) > La proprietà è «ogni insieme con $n$ elementi ha $2^n$ sottoinsiemi». Parte da $n = 0$. > > **Passo base.** L'unico insieme con 0 elementi è il vuoto. Il suo unico sottoinsieme è il vuoto stesso: $P(\emptyset) = \{\emptyset\}$ ha 1 elemento, e $2^0 = 1$. > > **Ipotesi induttiva.** Ogni insieme con $n$ elementi ha $2^n$ sottoinsiemi. > > **Passo induttivo.** Prendi un insieme con $n + 1$ elementi e chiamali $a_1, a_2, \dots, a_{n+1}$. Il numerino in basso, l'**indice**, dice solo il posto nella lista: $a_1$ è il primo elemento, $a_{n+1}$ l'ultimo. > > 1. Dividi i sottoinsiemi in due righe: in alto quelli che non contengono l'ultimo elemento, in basso quelli che lo contengono. > 2. La riga in alto contiene i sottoinsiemi di $B = \{a_1, \dots, a_n\}$, che ha $n$ elementi. Per l'ipotesi induttiva sono $2^n$. > 3. Sotto ogni insieme della riga in alto c'è lo stesso insieme con in più $a_{n+1}$. Quindi la riga in basso ha tanti insiemi quanti quella in alto: altri $2^n$. > 4. In tutto sono $2^n + 2^n = 2 \cdot 2^n = 2^{n + 1}$. > > È la formula con $n + 1$ al posto di $n$. Per il principio di induzione vale per ogni $n$. > [!OLTRE] · un altro modo di contare: i bit > Metti in fila gli elementi, per esempio $a$, $b$, $c$. A ogni sottoinsieme associa una parola di tre cifre, ognuna 0 oppure 1. La prima cifra dice se $a$ c'è (1) o no (0), la seconda fa lo stesso per $b$, la terza per $c$. Per esempio $101$ è $\{a, c\}$ e $000$ è il vuoto. Sottoinsiemi diversi danno parole diverse, e ogni parola dà un sottoinsieme. Le parole di $n$ cifre fatte di 0 e 1 sono $2^n$: è lo stesso conto che si fa con i **bit** nella lezione 01 di Fondamenti dell'Informatica. ### Contare con una condizione: un problema d'esame Nei problemi d'esame il conto dei sottoinsiemi arriva spesso con una condizione. > [!ESEMPIO] Un problema dell'appello del 09/06/2023 (problema 1, primo punto) > Il testo: «Sia $S = \{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\}$, $T = \{0, 1, 3, 4\}$. Quanti sono i sottoinsiemi di $S$ non contenenti il sottoinsieme $T$?» (3 punti). > > In pratica chiede: quanti sottoinsiemi di $S$ **non** hanno dentro tutti e quattro i numeri 0, 1, 3 e 4? > > 1. **Tutti i sottoinsiemi.** $S$ ha 10 elementi, quindi ha $2^{10} = 1024$ sottoinsiemi. > 2. **Quelli che contengono $T$.** Devono avere dentro 0, 1, 3 e 4. Gli altri sei elementi, cioè 2, 5, 6, 7, 8 e 9, si possono mettere o no a piacere. Sono 6 scelte libere, quindi questi sottoinsiemi sono $2^6 = 64$. > 3. **Quelli che non contengono $T$** sono tutti gli altri: $1024 - 64 = 960$. > > La soluzione ufficiale scrive il risultato come $2^{10} - 2^6$: in alcuni appelli il testo chiede proprio di lasciare indicate le potenze. ::: prova (a) Quanti sottoinsiemi ha $\{1, 2, 3, 4, 5\}$? (b) Quanti di questi contengono il numero 1? (a) Gli elementi sono 5, quindi i sottoinsiemi sono $2^5 = 32$. (b) L'1 deve esserci. Per gli altri quattro elementi la scelta è libera: $2^4 = 16$. È esattamente la metà: è la riga «con» della tabella divisa in due righe. ::: > [!RICORDA] > - Un insieme con $n$ elementi ha $2^n$ sottoinsiemi: per ogni elemento la scelta è «dentro» o «fuori». > - Per contare i sottoinsiemi che contengono certi elementi, si fissano quelli e si sceglie liberamente il resto. ## Gli altri insiemi di numeri (p. 8) Dai numeri naturali, con le regole degli insiemi, si costruiscono le altre famiglie di numeri che conosci. Il libro le elenca nella Nota 1.12 e le considera note: la loro costruzione non fa parte del corso. | Simbolo | Si legge | Che cosa contiene | Esempi | |---|---|---|---| | $\Z$ | «zeta» | gli interi: i naturali e i loro opposti | $-5$, $0$, $7$ | | $\Q$ | «cu» | i razionali: le frazioni $\frac ab$ con $a$ e $b$ interi, e $b \neq 0$ | $\frac 12$, $-\frac 34$ | | $\R$ | «erre» | i reali: anche i numeri con infinite cifre dopo la virgola | $\sqrt 2$, $\pi$ | Ogni famiglia contiene la precedente: ogni naturale è un intero, ogni intero è una frazione, ogni frazione è un numero reale. Con i simboli: $\N \subset \Z \subset \Q \subset \R$. Ne parla per esteso la [lezione L01 della parte 2](L01_numeri_reali.html), Algebra lineare e Geometria. Il libro ricorda anche due scritture per i numeri reali compresi tra due numeri $a$ e $b$, con $a$ minore o uguale a $b$. - $(a, b)$ è l'**intervallo aperto**: i numeri compresi tra $a$ e $b$, estremi esclusi. - $[a, b]$ è l'**intervallo chiuso**: i numeri compresi tra $a$ e $b$, estremi compresi. ::: prova (a) $-3$ sta in $\N$? E in $\Z$? (b) Il numero 2 sta in $(1, 2)$? E in $[1, 2]$? (a) $-3$ non è un naturale, perché i naturali non sono mai negativi. È un intero, quindi $-3 \in \Z$. (b) $2 \notin (1, 2)$, perché nell'intervallo aperto gli estremi sono esclusi. $2 \in [1, 2]$, perché nell'intervallo chiuso gli estremi sono compresi. ::: > [!RICORDA] > - $\N$ naturali, $\Z$ interi, $\Q$ frazioni, $\R$ reali: ogni famiglia contiene la precedente. > - Tonde: estremi esclusi. Quadre: estremi compresi. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\{\ \}$ | «l'insieme che contiene…» | le graffe racchiudono gli elementi | $\{1, 2, 3\}$ | | $\in$ | «appartiene a» | è un elemento di | $2 \in \{1, 2, 3\}$ | | $\notin$ | «non appartiene a» | non è un elemento di | $5 \notin \{1, 2, 3\}$ | | $\dots$ | «e così via» | gli elementi continuano con la stessa regola | $\{0, 2, 4, \dots\}$ | | $\mid$ | «tali che» | introduce la regola per entrare nell'insieme | $\{n \in \N \mid n < 3\}$ | | $\mathcal P(x)$ | «pi di $x$» | una proprietà di $x$, vera o falsa | «$x$ è pari» | | $\forall$ | «per ogni» | per tutti gli elementi, nessuno escluso | $\forall n \in \N,\ n \ge 0$ | | $\exists$ | «esiste» | ce n'è almeno uno | $\exists n \in \N$ con $n > 5$ | | $\sim$, $\neg$ | «non» | il contrario di una frase | $\sim(x \ge 0)$ vuol dire $x < 0$ | | $\emptyset$ | «insieme vuoto» | l'insieme senza elementi | $\lvert \emptyset \rvert = 0$ | | $\lvert A \rvert$ | «cardinalità di $A$» | il numero degli elementi di $A$ | $\lvert \{a, b\} \rvert = 2$ | | $\infty$ | «infinito» | la cardinalità di un insieme infinito | $\lvert \N \rvert = \infty$ | | $\subset$ | «è contenuto in» | è un sottoinsieme (può anche essere uguale) | $\{1\} \subset \{1, 2\}$ | | $\not\subset$ | «non è contenuto in» | almeno un elemento sta fuori | $\{1, 4\} \not\subset \{1, 2\}$ | | $\subseteq$, $\subsetneq$ | «contenuto o uguale», «contenuto strettamente» | le scritture di altri testi e dei canali A e C | $\{1\} \subsetneq \{1, 2\}$ | | $P(A)$ | «parti di $A$» | l'insieme di tutti i sottoinsiemi di $A$ | $P(\{a\}) = \{\emptyset, \{a\}\}$ | | $\iff$ | «se e solo se» | esattamente quando | $A = B \iff A \subset B$ e $B \subset A$ | | $\N$ | «enne» | i numeri naturali, zero compreso | $0, 1, 2, \dots$ | | $s(n)$ | «esse di $n$» | il successivo di $n$ | $s(4) = 5$ | | $\mathcal P(n)$ | «pi di $n$» | una proprietà che dipende dal numero $n$ | «$n + n$ è pari» | | $\sum_{k=1}^{n}$ | «somma per $k$ da 1 a $n$» | somma dei termini con $k = 1, 2, \dots, n$ | $\sum_{k=1}^{3} k = 6$ | | $a_1, \dots, a_n$ | «a uno, …, a enne» | un elenco di $n$ oggetti numerati | $a_1$ è il primo | | $2^n$ | «due alla $n$» | 2 moltiplicato per sé stesso $n$ volte | $2^3 = 8$ | | $\Z$, $\Q$, $\R$ | «zeta», «cu», «erre» | interi, razionali, reali | $-3 \in \Z$ | | $(a, b)$, $[a, b]$ | «intervallo aperto», «intervallo chiuso» | i reali tra $a$ e $b$, estremi esclusi o compresi | $2 \in [1, 2]$ | ## Verso l'esame La prova di **Matematica Discreta**, la parte 1 di MDAG, è scritta ed è la stessa per i canali A, B e C: la preparano e la correggono insieme i docenti dei tre canali. Al 01/10/2026 le regole del 2026/27 non sono ancora uscite. Quelle del 2025/26 dicono così. **Com'è fatta la prova** - **10 domande a risposta multipla**, ognuna con 5 risposte e una sola giusta. Una risposta giusta vale 1 punto; una sbagliata o vuota vale 0. - **2 problemi** a risposta aperta, divisi in più domande con il punteggio scritto accanto. - **Sbarramento.** Con meno di 6 punti nel quiz la prova non è superata, e i problemi non vengono nemmeno corretti. - **Sufficienza:** almeno 18 punti in tutto. **Durata:** 2 ore. - **Materiale ammesso:** libro di testo e appunti del corso, e una calcolatrice non programmabile. È diverso dalla prova di Algebra lineare, dove si possono portare solo 4 facciate scritte a mano e niente calcolatrice. | Appello 2026/27 | Iscrizioni su MyUniTo (appello «M.D.A.G.1») | Ora | |---|---|---| | mar 19/01/2027 | 30/12/2026 – 12/01/2027 | 14:00 | | mer 03/02/2027 | 14/01 – 27/01/2027 | 14:00 | Le iscrizioni chiudono circa una settimana prima e non si riaprono. Il voto di MDAG è la media delle due prove, Matematica Discreta e Algebra lineare. Dettagli e fonti nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). **Che cosa serve di questa lezione** 1. **La domanda 1 del quiz.** In tutti i nove appelli del 2025 e del 2026 di cui ho trovato il quiz, la prima domanda riguarda gli insiemi. A volte basta questa lezione: elementi e sottoinsiemi, come il 13/01/2026 e il 10/09/2026. A volte servono anche unione, intersezione e prodotto cartesiano, che arrivano nella prossima lezione. Quasi sempre le risposte sbagliate giocano sulla differenza tra elemento e sottoinsieme. 2. **«Per ogni» ed «esiste».** Nell'appello del 06/06/2025 la domanda 2 chiedeva un controesempio. È l'esempio svolto nella sezione sui quantificatori. 3. **Contare i sottoinsiemi.** Nei problemi torna il conto delle potenze di 2, spesso con una condizione: appelli del 09/06/2023 (problema 1, primo punto) e del 06/06/2025 (problema 1, punto b). 4. **L'induzione.** Negli appelli di Matematica Discreta dal 2021 al 2026 non ho trovato domande che chiedano di scrivere una dimostrazione per induzione: serve per capire le dimostrazioni del libro. A Fondamenti dell'Informatica, invece, il principio di induzione è tra gli argomenti dei quiz. **Una domanda vera, letta insieme** > [!ESEMPIO] Appello del 13/01/2026, domanda 1 (una delle versioni) > Il testo: «Sia $A = \{b, e, h, k, m, p, q, s, u, x\}$. Allora: 1. $t \in A$; 2. $h \notin A$; 3. $\{h, s\} \in A$; 4. $\{k, q, u\} \subset A$; 5. $\{e, s, y\} \subset A$.» > > In pratica chiede: quale delle cinque frasi è vera? $A$ ha dieci elementi, e sono tutti **lettere**, nessuno è un insieme. Vediamo le risposte una per una. > > 1. $t \in A$: la lettera $t$ non è nella lista. Falsa. > 2. $h \notin A$: la lettera $h$ è nella lista, quindi appartiene ad $A$. Falsa. > 3. $\{h, s\} \in A$: gli elementi di $A$ sono lettere, e l'insieme $\{h, s\}$ non è tra loro. Falsa. Sarebbe vera la frase $\{h, s\} \subset A$. > 4. $\{k, q, u\} \subset A$: le lettere $k$, $q$ e $u$ sono tutte nella lista. **Vera.** > 5. $\{e, s, y\} \subset A$: la lettera $y$ non è nella lista. Falsa. > > La risposta è la 4. La trappola è la 3: le lettere $h$ e $s$ ci sono, ma le graffe e il simbolo di appartenenza chiedono un'altra cosa. **Errori da evitare** - Confondere «è un elemento di» con «è un sottoinsieme di». Usa il metodo della sezione sui sottoinsiemi. - Contare due volte un elemento ripetuto, oppure contare uno per uno gli elementi chiusi dentro graffe interne. - Dimenticare il vuoto e l'insieme intero quando elenchi i sottoinsiemi. - Dire il contrario di «tutti» con «nessuno». - Nel passo induttivo, usare la formula per $n + 1$ invece di arrivarci. > [!ESAME] Libro e appunti sono ammessi, ma il tempo è poco > Alla prova di Matematica Discreta puoi portare libro e appunti. Le ore però sono solo 2, per 10 domande e 2 problemi: non c'è tempo per cercare le cose. Conviene preparare un foglio di riepilogo. Da questa lezione: il metodo «elemento o sottoinsieme?» e il conto dei sottoinsiemi con una condizione. Un riepilogo già pronto, scritto da uno studente seguendo il libro di Mori, è [Rigurgiti di Unicorno](https://github.com/bocchinovalentino/rigurgiti_di_unicorno): teoria ed esercizi svolti, con licenza CC BY-NC-SA. Non è materiale ufficiale. ## Quiz ```quiz D: (Appello del 10/09/2026, domanda 1) Sia $X = \{c, \{f, m\}, p, q, \{x\}\}$. Allora: - $q \subset X$ - $\{c, p\} \in X$ + $\{f, m\} \in X$ - $\{x\} \subset X$ - $\emptyset \in X$ = Gli elementi di $X$ sono cinque: le lettere $c$, $p$, $q$ e i due insiemi $\{f, m\}$ e $\{x\}$. La frase giusta è $\{f, m\} \in X$, perché l'insieme $\{f, m\}$ è proprio uno dei cinque elementi. $q \subset X$ è sbagliata perché $q$ è una lettera, non un insieme. $\{c, p\} \in X$ è sbagliata perché l'insieme $\{c, p\}$ non è tra gli elementi: sarebbe giusto $\{c, p\} \subset X$. La risposta più tentatrice è $\{x\} \subset X$: per essere vera servirebbe che la lettera $x$ fosse un elemento di $X$, ma in $X$ c'è solo l'insieme $\{x\}$. Infine il vuoto è un sottoinsieme di ogni insieme, ma non è un elemento di $X$. D: (Appello del 10/09/2026, domanda 1, altra versione) Sia $X = \{a, \{d, p\}, m, y, \{z\}\}$. Allora: - $p \in X$ + $z \notin X$ - $\{y, z\} \subset X$ - $\{d, p\} \subset X$ - $\emptyset \in X$ = Gli elementi di $X$ sono cinque: $a$, $m$, $y$ e gli insiemi $\{d, p\}$ e $\{z\}$. La lettera $z$ da sola non è tra loro: sta dentro l'insieme $\{z\}$. Quindi $z \notin X$ è vera. $p \in X$ è falsa per lo stesso motivo: $p$ sta dentro $\{d, p\}$. $\{y, z\} \subset X$ è falsa perché $z$ non è un elemento di $X$. $\{d, p\} \subset X$ è la più tentatrice: è falsa perché richiederebbe $d$ e $p$ tra gli elementi; è vera invece $\{d, p\} \in X$. Il vuoto non è un elemento di $X$. D: (Appello del 18/01/2023, domanda 1) Sia $A = \{a, b, c, d, e, f\}$. Allora: - $a \in P(A)$ - $b \subset A$ - $(c, f) \subset A$ + $\{a, b, c\} \in P(A)$ - $\{c, d, e\} \subset P(A)$ = Gli elementi di $P(A)$ sono i sottoinsiemi di $A$. $\{a, b, c\}$ è un sottoinsieme di $A$, quindi è un elemento di $P(A)$: è la risposta giusta. $a \in P(A)$ è sbagliata, perché $a$ è un elemento di $A$ e non un suo sottoinsieme. $b \subset A$ è sbagliata perché $b$ non è un insieme. $(c, f)$, con le tonde, è una coppia ordinata (prossima lezione) e non un insieme di elementi di $A$. La più tentatrice è $\{c, d, e\} \subset P(A)$: vorrebbe dire che $c$, $d$ ed $e$ sono elementi di $P(A)$, cioè sottoinsiemi di $A$, e non lo sono. Sarebbe giusto $\{c, d, e\} \in P(A)$. D: (Appello del 06/06/2025, domanda 2, altra versione) L'affermazione «$\forall x \in \N, \forall y \in \N, x^2 - x \ge y$» è contraddetta da: - $(x, y) = (5, 10)$ - $(x, y) = (-4, 10)$ - $(x, y) = (2, 2)$ + $(x, y) = (3, 7)$ - $(x, y) = (4, -2)$ = Serve una coppia di numeri naturali per cui la disuguaglianza è falsa. Per $(3, 7)$: $9 - 3 = 6$, e $6 \ge 7$ è falso, quindi è un controesempio. Per $(5, 10)$: $25 - 5 = 20 \ge 10$, vero. Per $(2, 2)$: $4 - 2 = 2 \ge 2$, vero, perché vale anche l'uguale: è la risposta più tentatrice. Le coppie con $-4$ e $-2$ non contano, perché quei numeri non sono naturali. D: Quanti elementi ha l'insieme delle parti di $\{1, 2, 3, 4\}$? - $4$ - $8$ + $16$ - $24$ - $32$ = L'insieme delle parti ha come elementi tutti i sottoinsiemi. Un insieme con 4 elementi ha $2^4 = 16$ sottoinsiemi: per ognuno dei 4 elementi la scelta è «dentro» o «fuori», e $2 \cdot 2 \cdot 2 \cdot 2 = 16$. La risposta $4$ conta solo gli elementi. La risposta $8$ è il conto per un insieme con 3 elementi. Tra i 16 ci sono anche il vuoto e l'insieme intero. D: Qual è il contrario della frase «ogni studente del corso ha superato l'esame»? - «Nessuno studente del corso ha superato l'esame.» + «Almeno uno studente del corso non ha superato l'esame.» - «Almeno uno studente del corso ha superato l'esame.» - «Ogni studente del corso è stato bocciato.» - «Esattamente uno studente del corso non ha superato l'esame.» = Per dire il contrario «per ogni» diventa «esiste», e la proprietà diventa il suo contrario: «esiste uno studente che non ha superato l'esame». La risposta più tentatrice è «nessuno studente ha superato l'esame», ma è troppo forte: per smentire «tutti» basta un bocciato. Anche «esattamente uno» è sbagliata, perché i bocciati possono essere più di uno. D: Quanti elementi ha l'insieme $\{\emptyset, \{\emptyset\}, \{1, 2\}\}$? - $0$ - $2$ + $3$ - $4$ - $5$ = Gli elementi si contano guardando le virgole al primo livello di graffe. Sono tre: il vuoto, l'insieme che contiene il vuoto e l'insieme $\{1, 2\}$. Il vuoto è un elemento come gli altri, anche se non contiene niente. La risposta $4$ viene se si contano 1 e 2 separatamente, ma stanno dentro un sacchetto interno e contano come un elemento solo. D: Sia $A = \{1, 2, 3\}$. Quale di queste frasi è vera? - $\emptyset \in A$ + $\emptyset \subset A$ - $\{1\} \in A$ - $1 \subset A$ - $\{1, 4\} \subset A$ = Il vuoto è un sottoinsieme di ogni insieme, quindi $\emptyset \subset A$ è vera. Non è però un elemento di $A$: gli elementi sono 1, 2 e 3. $\{1\} \in A$ è sbagliata, perché tra gli elementi c'è il numero 1, non l'insieme $\{1\}$. $1 \subset A$ è sbagliata perché 1 non è un insieme. $\{1, 4\} \subset A$ è sbagliata perché il 4 non sta in $A$. D: Vuoi dimostrare per induzione che una formula vale per ogni $n \ge 1$. Che cosa devi fare? - Controllare la formula per $n = 1, 2, 3$ e $4$. - Supporre la formula vera per $n + 1$ e ricavarla per $n$. + Controllarla per $n = 1$ e dimostrare che, se vale per $n$, vale anche per $n + 1$. - Dimostrare che, se vale per $n$, vale anche per $n + 1$: il passo base non serve. - Controllarla per $n = 0$ e per $n = 1$. = Servono il passo base, cioè il controllo per il primo numero, qui 1, e il passo induttivo, cioè da $n$ a $n + 1$. Controllare alcuni numeri non basta, perché i numeri sono infiniti. Senza passo base non si conclude niente: la proprietà «$n = n + 1$» passa il passo induttivo ma è sempre falsa. Andare da $n + 1$ a $n$ è la direzione sbagliata. D: Quanti sottoinsiemi di $\{1, 2, 3, 4, 5, 6\}$ contengono il numero 1? - $6$ - $16$ + $32$ - $63$ - $64$ = Il numero 1 deve esserci. Per gli altri cinque elementi la scelta è libera, quindi i sottoinsiemi sono $2^5 = 32$. La risposta $64 = 2^6$ conta tutti i sottoinsiemi, anche quelli senza l'1. I sottoinsiemi con l'1 sono esattamente la metà di tutti. ``` ## Esercizi ::: esercizio base Dall'elenco alla regola e ritorno Scrivi con l'elenco: (a) $\{n \in \N \mid n < 5\}$; (b) $\{n \in \N \mid n \text{ è dispari e } n < 10\}$. Scrivi con una regola: (c) $\{0, 3, 6, 9, 12\}$. ::: soluzione 1. (a) I naturali minori di 5 sono 0, 1, 2, 3 e 4. L'insieme è $\{0, 1, 2, 3, 4\}$. Lo zero c'è, perché nel libro è un naturale. 2. (b) I numeri dispari minori di 10 sono 1, 3, 5, 7 e 9. L'insieme è $\{1, 3, 5, 7, 9\}$. 3. (c) Sono i multipli di 3 da 0 a 12. Una regola possibile: $\{n \in \N \mid n \text{ è multiplo di } 3 \text{ e } n \le 12\}$. Controllo della (c): i multipli di 3 fino a 12 sono $3 \cdot 0$, $3 \cdot 1$, $3 \cdot 2$, $3 \cdot 3$ e $3 \cdot 4$, cioè proprio 0, 3, 6, 9 e 12. ::: ::: esercizio base Contare gli elementi Calcola la cardinalità: (a) $\{x, y, x, z\}$; (b) $\{\{x, y\}, z\}$; (c) $\{\emptyset, 0\}$; (d) $P(\{1, 2, 3\})$. ::: soluzione 1. (a) Gli elementi sono $x$, $y$ e $z$: la $x$ ripetuta si conta una volta. La cardinalità è 3. 2. (b) Gli elementi sono due: l'insieme $\{x, y\}$ e la lettera $z$. La cardinalità è 2. 3. (c) Gli elementi sono due: il vuoto e il numero zero, che sono oggetti diversi. La cardinalità è 2. 4. (d) L'insieme ha 3 elementi, quindi i suoi sottoinsiemi sono $2^3 = 8$. La cardinalità è 8. ::: ::: esercizio base Esercizio 1.1 del libro: vero o falso Prendi $A = \{a, b, c\}$. Di' quali di queste affermazioni sono vere e quali false: $b \in A$, $\emptyset \subset A$, $\{\emptyset\} \subset A$, $\{c, d\} \not\subset A$, $\{a, \{c\}\} \subset A$. ::: soluzione | Affermazione | Vera o falsa | Perché | |---|---|---| | $b \in A$ | vera | la lettera $b$ è nella lista | | $\emptyset \subset A$ | vera | il vuoto è un sottoinsieme di ogni insieme | | $\{\emptyset\} \subset A$ | falsa | servirebbe che il vuoto fosse un elemento di $A$, ma gli elementi sono le lettere $a$, $b$, $c$ | | $\{c, d\} \not\subset A$ | vera | la lettera $d$ non sta in $A$, quindi $\{c, d\}$ non è contenuto in $A$ | | $\{a, \{c\}\} \subset A$ | falsa | $a$ sta in $A$, ma l'insieme $\{c\}$ no: in $A$ c'è la lettera $c$, non l'insieme $\{c\}$ | La terza e la quinta riga sono la stessa trappola: un insieme dentro le graffe è un elemento diverso dai suoi elementi. ::: ::: esercizio base Esercizio 1.3 del libro: l'insieme delle parti Prendi $A = \{a, e, i, o, u\}$. Di' quali di queste affermazioni sono vere e quali false: $\emptyset \in P(A)$, $a \in P(A)$, $\{i, u\} \subset P(A)$, $\{e, o\} \in P(A)$, $\{\{e\}, \{o\}\} \subset P(A)$. ::: soluzione Ricorda: gli elementi di $P(A)$ sono i sottoinsiemi di $A$. | Affermazione | Vera o falsa | Perché | |---|---|---| | $\emptyset \in P(A)$ | vera | il vuoto è un sottoinsieme di $A$, quindi un elemento di $P(A)$ | | $a \in P(A)$ | falsa | $a$ è una lettera, non un sottoinsieme di $A$ | | $\{i, u\} \subset P(A)$ | falsa | servirebbe che $i$ e $u$ fossero elementi di $P(A)$, ma sono lettere | | $\{e, o\} \in P(A)$ | vera | $\{e, o\}$ è un sottoinsieme di $A$ | | $\{\{e\}, \{o\}\} \subset P(A)$ | vera | i suoi due elementi, $\{e\}$ e $\{o\}$, sono sottoinsiemi di $A$, quindi elementi di $P(A)$ | Nella terza riga sarebbe vera la frase $\{i, u\} \in P(A)$. ::: ::: esercizio base Dire il contrario Scrivi il contrario di queste frasi, e di' se è vera la frase o il suo contrario: (a) «ogni numero naturale è pari»; (b) «esiste un numero naturale maggiore di 100»; (c) «per ogni numero naturale $n$ esiste un naturale più grande di $n$». ::: soluzione 1. (a) Il contrario è «esiste un numero naturale dispari». È vero il contrario: 3 è dispari, ed è il controesempio della frase di partenza. 2. (b) Il contrario è «ogni numero naturale è minore o uguale a 100». È vera la frase di partenza: per esempio 101 è maggiore di 100. 3. (c) Ci sono due quantificatori, e cambiano tutti e due: «per ogni» diventa «esiste» ed «esiste» diventa «per ogni». Il contrario è «esiste un numero naturale $n$ per cui ogni naturale è minore o uguale a $n$». È vera la frase di partenza: qualunque $n$ prendi, il numero $n + 1$ è più grande. ::: ::: esercizio medio Esercizio 1.19 (b) del libro: la somma dei dispari Dimostra per induzione che $1 + 3 + 5 + \dots + (2n - 1) = n^2$ per ogni $n \ge 1$. ::: soluzione 1. **Passo base**, $n = 1$. A sinistra c'è solo 1. A destra $1^2 = 1$. I due lati sono uguali. 2. **Ipotesi induttiva.** Supponiamo $1 + 3 + \dots + (2n - 1) = n^2$. 3. **Obiettivo.** Con $n + 1$ al posto di $n$, l'ultimo numero della somma è $2(n + 1) - 1 = 2n + 1$. Vogliamo arrivare a $1 + 3 + \dots + (2n - 1) + (2n + 1) = (n + 1)^2$. 4. **Passo induttivo.** Per l'ipotesi, la somma fino a $2n - 1$ vale $n^2$. Quindi il lato sinistro è $n^2 + 2n + 1$. 5. Il quadrato di $n + 1$ è $(n + 1)(n + 1) = n^2 + n + n + 1 = n^2 + 2n + 1$. È lo stesso numero del passo 4, quindi il lato sinistro è $(n + 1)^2$. 6. **Conclusione.** Per il principio di induzione la formula vale per ogni $n \ge 1$. Controllo con $n = 5$: $1 + 3 + 5 + 7 + 9 = 25 = 5^2$. ::: ::: esercizio medio Esercizio 1.19 (d) del libro: una disuguaglianza Dimostra per induzione che $n^2 > 2n + 1$ per ogni $n \ge 3$. ::: soluzione 1. **Passo base**, $n = 3$. A sinistra $3^2 = 9$, a destra $2 \cdot 3 + 1 = 7$. Ed è vero che $9 > 7$. Con $n = 2$ invece non funziona: $4 > 5$ è falso. Per questo si parte da 3. 2. **Ipotesi induttiva.** Supponiamo $n^2 > 2n + 1$, per un certo $n \ge 3$. 3. **Obiettivo.** $(n + 1)^2 > 2(n + 1) + 1$, cioè $(n + 1)^2 > 2n + 3$. 4. Il quadrato è $(n + 1)^2 = n^2 + 2n + 1$. 5. Per l'ipotesi $n^2$ è più grande di $2n + 1$. Quindi $n^2 + 2n + 1$ è più grande di $(2n + 1) + 2n + 1 = 4n + 2$. 6. Ora confrontiamo $4n + 2$ con l'obiettivo $2n + 3$. La differenza è $(4n + 2) - (2n + 3) = 2n - 1$, che è positiva per ogni $n \ge 1$. Quindi $4n + 2 > 2n + 3$. 7. Mettendo insieme i passi 5 e 6: $(n + 1)^2 > 4n + 2 > 2n + 3$. 8. **Conclusione.** Per il principio di induzione la disuguaglianza vale per ogni $n \ge 3$. Controllo: con $n = 4$, $16 > 9$; con $n = 5$, $25 > 11$. ::: ::: esercizio difficile Esercizio 1.19 (e) del libro: le potenze di 2 battono i quadrati Dimostra per induzione che $2^n > n^2$ per ogni $n \ge 5$. ::: soluzione 1. **Passo base**, $n = 5$. A sinistra $2^5 = 32$, a destra $5^2 = 25$. Ed è vero che $32 > 25$. Con $n = 4$ non funziona: $2^4 = 16$ e $4^2 = 16$ sono uguali. 2. **Ipotesi induttiva.** Supponiamo $2^n > n^2$, per un certo $n \ge 5$. 3. **Obiettivo.** $2^{n + 1} > (n + 1)^2$. 4. Raddoppiare una potenza di 2 vuol dire aggiungere 1 all'esponente: $2^{n + 1} = 2 \cdot 2^n$. Per l'ipotesi $2^n$ è più grande di $n^2$, quindi $2 \cdot 2^n$ è più grande di $2n^2$. 5. Scriviamo $2n^2 = n^2 + n^2$. Per l'esercizio precedente, siccome $n \ge 3$, vale $n^2 > 2n + 1$. Quindi $n^2 + n^2 > n^2 + 2n + 1$. 6. E $n^2 + 2n + 1 = (n + 1)^2$, come nell'esercizio 6. 7. Mettendo insieme: $2^{n + 1} > 2n^2 > (n + 1)^2$. 8. **Conclusione.** Per il principio di induzione la disuguaglianza vale per ogni $n \ge 5$. Controllo: con $n = 6$, $2^6 = 64 > 36$; con $n = 10$, $2^{10} = 1024 > 100$. ::: ::: esercizio difficile Esercizio 1.19 (c) del libro: la somma dei cubi Dimostra per induzione che $1^3 + 2^3 + \dots + n^3 = \frac{n^2(n + 1)^2}4$ per ogni $n \ge 1$. ::: soluzione 1. **Passo base**, $n = 1$. A sinistra $1^3 = 1$. A destra $\frac{1 \cdot 4}4 = 1$. 2. **Ipotesi induttiva.** Supponiamo $1^3 + \dots + n^3 = \frac{n^2(n + 1)^2}4$. 3. **Obiettivo.** $1^3 + \dots + (n + 1)^3 = \frac{(n + 1)^2(n + 2)^2}4$. 4. Per l'ipotesi il lato sinistro è $\frac{n^2(n + 1)^2}4 + (n + 1)^3$. 5. In tutti e due gli addendi c'è $(n + 1)^2$, perché $(n + 1)^3 = (n + 1)^2 \cdot (n + 1)$. Raccogliendo: $(n + 1)^2\left(\frac{n^2}4 + n + 1\right)$. 6. Nella parentesi mettiamo tutto su 4: $\frac{n^2}4 + \frac{4n}4 + \frac 44 = \frac{n^2 + 4n + 4}4$. 7. E $n^2 + 4n + 4 = (n + 2)^2$, perché $(n + 2)(n + 2) = n^2 + 2n + 2n + 4$. 8. Quindi il lato sinistro è $\frac{(n + 1)^2(n + 2)^2}4$, l'obiettivo. 9. **Conclusione.** Per il principio di induzione la formula vale per ogni $n \ge 1$. Controllo con $n = 3$: $1 + 8 + 27 = 36$, e $\frac{9 \cdot 16}4 = 36$. ::: ::: esercizio esame Sottoinsiemi con una condizione Prendi $S = \{1, 2, 3, 4, 5, 6, 7, 8\}$. (a) Quanti sono i sottoinsiemi di $S$? (b) Quanti contengono sia 1 sia 2? (c) Quanti non contengono il sottoinsieme $\{1, 2\}$? (d) Quanti non contengono né 1 né 2? ::: soluzione 1. (a) $S$ ha 8 elementi, quindi i sottoinsiemi sono $2^8 = 256$. 2. (b) 1 e 2 devono esserci. Gli altri sei elementi, da 3 a 8, si scelgono liberamente: $2^6 = 64$. 3. (c) Sono tutti i sottoinsiemi tranne quelli del punto (b): $256 - 64 = 192$. 4. (d) Né 1 né 2: si sceglie liberamente solo tra i sei elementi da 3 a 8. Sono $2^6 = 64$. Controllo: dividiamo i sottoinsiemi secondo che cosa succede a 1 e a 2. Ci sono quattro casi: tutti e due dentro, solo 1, solo 2, nessuno dei due. In ogni caso gli altri sei elementi sono liberi, quindi ogni caso ha 64 sottoinsiemi. In tutto $4 \cdot 64 = 256$, come al punto (a). I sottoinsiemi del punto (c) sono gli ultimi tre casi: $3 \cdot 64 = 192$. ::: ## Domande di ripasso ::: domanda Che cos'è un insieme? Che cosa vuol dire che deve essere «ben definito»? Un insieme è una raccolta di oggetti diversi tra loro, i suoi elementi. «Ben definito» vuol dire che per ogni oggetto si può decidere senza dubbi se sta dentro o no: «gli attori bravi» non è un insieme, «gli attori che hanno vinto un Oscar» sì. ::: ::: domanda Perché $x \in A$ e $\{x\} \subset A$ dicono la stessa cosa? E perché $\{x\} \in A$ dice un'altra cosa? $\{x\} \subset A$ vuol dire che l'unico elemento di $\{x\}$, cioè $x$, sta in $A$: è proprio $x \in A$. Invece $\{x\} \in A$ vuol dire che l'insieme $\{x\}$, intero, è uno degli elementi di $A$. Con $A = \{1, 2\}$ la prima frase è vera per $x = 1$, la seconda è falsa. ::: ::: domanda Qual è il contrario di una frase con «per ogni»? E di una frase con «esiste»? «Per ogni» diventa «esiste» ed «esiste» diventa «per ogni»; la proprietà diventa il suo contrario. Il contrario di «tutti i numeri della lista sono positivi» è «almeno un numero della lista non è positivo». ::: ::: domanda Che differenza c'è tra $\emptyset$ e $\{\emptyset\}$? $\emptyset$ è l'insieme vuoto e ha 0 elementi. $\{\emptyset\}$ è un insieme con un elemento, che è l'insieme vuoto: un sacchetto che contiene un sacchetto vuoto. ::: ::: domanda Perché il vuoto è un sottoinsieme di ogni insieme? Per dire che non lo è servirebbe un elemento del vuoto che sta fuori dall'altro insieme. Il vuoto non ha elementi, quindi un controesempio così non esiste. ::: ::: domanda Come si dimostra che due insiemi sono uguali? Con la doppia inclusione: si fa vedere che ogni elemento del primo sta nel secondo e che ogni elemento del secondo sta nel primo (proposizione 1.9). ::: ::: domanda Che cosa dice il principio di induzione? Che cosa sono il passo base e il passo induttivo? Servono due controlli. Il passo base: la proprietà vale per il primo numero. Il passo induttivo: ogni volta che vale per un numero $n$, vale anche per $n + 1$. Allora la proprietà vale per tutti i numeri da lì in poi. È come una fila di tessere del domino. ::: ::: domanda Perché un insieme con $n$ elementi ha $2^n$ sottoinsiemi? Per ogni elemento la scelta è doppia: dentro o fuori. Le scelte sono $n$, e ognuna raddoppia il conto. Il libro lo dimostra per induzione: aggiungendo un elemento, i sottoinsiemi si dividono in quelli senza e quelli con il nuovo elemento, che sono tanti quanti i primi. ::: ## Glossario ```glossario Insieme | Una raccolta ben definita di oggetti diversi tra loro, i suoi elementi. Esempio: $\{1, 2, 3\}$. Elemento | Un oggetto che sta in un insieme. Si scrive $x \in A$, «$x$ appartiene ad $A$». Insieme universale | L'insieme da cui si pescano gli oggetti quando si descrive un insieme con una regola, per esempio $\N$. Proprietà | Una frase su un oggetto che può essere vera o falsa, come «$n$ è pari». Quantificatori | Le parole «per ogni» ed «esiste». I loro simboli, $\forall$ e $\exists$, si leggono proprio così. Controesempio | Un elemento per cui una frase con «per ogni» è falsa. Ne basta uno per smentirla. Insieme vuoto | L'insieme senza elementi, $\emptyset$. È un sottoinsieme di ogni insieme. Cardinalità | Il numero degli elementi di un insieme, $\lvert A \rvert$. Esempio: $\lvert \{a, b\} \rvert = 2$. Sottoinsieme | Un insieme i cui elementi stanno tutti in un altro: $B \subset A$. Esempio: $\{1, 3\} \subset \{1, 2, 3\}$. Sottoinsieme proprio | Un sottoinsieme diverso dall'insieme intero. Insieme delle parti | L'insieme $P(A)$ che ha come elementi tutti i sottoinsiemi di $A$. Se $A$ ha $n$ elementi, $P(A)$ ne ha $2^n$. Doppia inclusione | Il modo di dimostrare che due insiemi sono uguali: ognuno è contenuto nell'altro. Numeri naturali | I numeri per contare, $0, 1, 2, 3, \dots$; il loro insieme è $\N$. Successivo | Il numero che viene subito dopo: il successivo di $n$ è $n + 1$, che il libro scrive $s(n)$. Principio di induzione | Se una proprietà vale per 0 e passa da ogni numero al successivo, vale per tutti i naturali. Passo base | Il controllo della proprietà sul primo numero. Passo induttivo | La dimostrazione che, se la proprietà vale per $n$, vale anche per $n + 1$. Ipotesi induttiva | La frase «la proprietà vale per $n$», che nel passo induttivo si suppone vera e si usa. ``` ## Checklist ```checklist - So scrivere un insieme con l'elenco e con una regola. - So distinguere $x \in A$, $\{x\} \subset A$ e $\{x\} \in A$. - So contare gli elementi di un insieme che contiene altri insiemi. - So dire il contrario di una frase con «per ogni» o «esiste», e trovare un controesempio. - So scrivere tutti i sottoinsiemi di un insieme con 3 elementi. - So dimostrare che due insiemi sono uguali con la doppia inclusione. - So fare una dimostrazione per induzione: passo base, ipotesi, passo induttivo, conclusione. - So contare i sottoinsiemi di un insieme, anche con una condizione come «contiene questi elementi». ``` ## Fonti - A. Mori, *Lezioni di Matematica Discreta*, 2ª edizione, testo del canale B: capitolo 1 «Insiemi», pp. 1–8 (definizioni 1.1 e 1.5–1.8, note 1.2–1.4, 1.11 e 1.12, proposizione 1.9, teorema 1.10 e i due esempi che lo seguono) ed esercizi 1.1, 1.3 e 1.19 (pp. 14–16). Le definizioni e gli enunciati nei riquadri sono citati dal libro. - Diario delle lezioni del canale B 2025/26, sulla pagina Moodle MDAG1 2025/26 ([id 3501](https://informatica.i-learn.unito.it/course/view.php?id=3501), aperta agli ospiti): argomenti della lezione 1. Sulla stessa pagina gli appunti a mano della prima lezione del canale A e le regole d'esame 2025/26. - Quiz e problemi degli appelli di Matematica Discreta, con le soluzioni ufficiali, sulla stessa pagina: 18/01/2023 (domanda 1), 09/06/2023 (problema 1), 05/02/2024, 14/01/2025, 04/02/2025, 06/06/2025 (domanda 2 e problema 1), 07/07/2025, 13/01/2026 (domanda 1), 03/02/2026, 06/06/2026, 01/07/2026 e 10/09/2026 (domanda 1). - Calendario degli appelli 2026/27 e regole d'esame: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). - V. Bocchino, *Rigurgiti di Unicorno*, appunti di Matematica Discreta scritti da uno studente sul libro di Mori (febbraio 2026, licenza CC BY-NC-SA 4.0, [GitHub](https://github.com/bocchinovalentino/rigurgiti_di_unicorno)): usati come controllo. Le sue soluzioni degli esercizi 1.1 e 1.3 coincidono con quelle di questi appunti. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu», i quiz senza data e gli esercizi senza il numero del libro sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/D02_complementare_induzione_partizioni.md` ```yaml corso: MDAG modulo: MD lezione: D02 titolo: Complementare, De Morgan, induzione e partizioni data: 2026-10-02 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Parte 1 (modA) · Matematica Discreta · Canali A, B e C · Lezione D02 descrizione: >- Appunti della lezione D02 di Matematica Discreta (MDAG, parte 1, canali A, B e C): intersezione e unione, differenza e complementare, leggi di De Morgan, numeri naturali e assiomi di Peano, induzione come metodo di dimostrazione, insieme delle parti e sua cardinalità, ricoprimenti, partizioni e insieme quoziente, con le domande vere degli appelli ed esercizi svolti. lede: >- Come si combinano due insiemi: quello che hanno in comune, tutto quello che contengono, quello che resta fuori. Come si divide un insieme in gruppi senza perdere niente. Poi i numeri naturali, l'induzione e quanti sottoinsiemi ha un insieme. materiale: libro scheda: Libro: A. Mori, Lezioni di Matematica Discreta, cap. 1, pp. 5–13 Docenti: Andrea Mori (canale B), Ignazio Longhi e Lea Terracini (canali A e C) · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- A. Mori, Lezioni di Matematica Discreta (testo del canale B), cap. 1 «Insiemi», pp. 5–13 ed esercizi pp. 14–15; argomenti della lezione del 02/10/2026 sul Moodle del canale B; quiz e problemi degli appelli di Matematica Discreta 2023–2026 appunti_html: appunti/MDAG/D02_complementare_induzione_partizioni.html genera_html: true ``` ## In breve - L'**intersezione** di due insiemi contiene quello che hanno in comune. L'**unione** mette insieme tutto quello che contengono. - La **differenza** toglie da un insieme gli elementi di un altro. Quello che resta fuori da una parte, dentro un insieme fissato, si chiama **complementare**. - Le **leggi di De Morgan** dicono come si comporta il «fuori»: stare fuori dall'unione vuol dire stare fuori da tutti e due gli insiemi; stare fuori dall'intersezione vuol dire stare fuori da almeno uno. - Una **partizione** divide un insieme in gruppi non vuoti, senza sovrapposizioni: ogni elemento sta in un gruppo e in uno solo. Se i gruppi si sovrappongono ma coprono tutto, è solo un **ricoprimento**. - I **numeri naturali** 0, 1, 2, 3… si descrivono con cinque regole, gli **assiomi di Peano**. L'ultima è il **principio di induzione**: partendo da 0 e andando avanti di uno si arriva a tutti. - Una **dimostrazione per induzione** ha due passi: si controlla il primo caso, poi si fa vedere che ogni caso porta al successivo. - Un insieme con 3 elementi ha 8 sottoinsiemi, uno con 4 ne ha 16: ogni elemento in più raddoppia il conto. - All'esame la domanda 1 del quiz chiede quasi sempre unione e intersezione, e la domanda 2 a volte chiede di riconoscere una partizione. > [!CANALI] > Matematica Discreta ha **lo stesso programma e la stessa prova d'esame** nei canali A, B e C: questi appunti valgono per tutti e tre. Nel canale B è la lezione di venerdì 02/10/2026 con Andrea Mori, sulle pagine 5–13 del libro. Qui gli argomenti sono in un ordine diverso dal libro: prima tutto quello che riguarda gli insiemi, fino alle partizioni, poi i numeri naturali e l'induzione, e per ultimo il conto dei sottoinsiemi, che con l'induzione si dimostra. ## Quello che due insiemi hanno in comune (p. 8) Nella [lezione D01](D01_insiemi_induzione.html) un insieme era un sacchetto di oggetti. Qui gli oggetti sono dieci tessere numerate da 1 a 10. Il sacchetto con tutte le tessere si chiama $X$: $$X = \{1, 2, 3, 4, 5, 6, 7, 8, 9, 10\}$$ Ora riempi due sacchetti più piccoli. Nel primo metti le tessere con un numero pari, nel secondo quelle con un multiplo di 3: $$A = \{2, 4, 6, 8, 10\} \qquad B = \{3, 6, 9\}$$ Quale tessera dovrebbe stare in tutti e due i sacchetti? Solo la 6: è pari ed è un multiplo di 3. Le tessere che stanno in tutti e due gli insiemi formano un insieme nuovo, l'**intersezione** di $A$ e $B$. > [!IDEA] > L'intersezione di due insiemi contiene gli elementi **in comune**: quelli che stanno nel primo **e** nel secondo. L'intersezione si scrive $A \cap B$ e si legge «$A$ intersecato $B$». Il simbolo $\cap$ somiglia a una U capovolta. Nel nostro esempio: $$A \cap B = \{6\}$$ Il risultato è un insieme, con le graffe, anche se dentro c'è un solo numero: è un sacchetto con una tessera. ```grafico titolo: Le tessere da 1 a 10: a sinistra i pari ($A$), a destra i multipli di 3 ($B$); la 6 sta in tutti e due x: -4 4 y: -2.6 2.6 assi: no griglia: no poligono: -3.8 -2.4 3.8 -2.4 3.8 2.4 -3.8 2.4 | grigio cerchio: -0.9 0 1.7 | blu cerchio: 0.9 0 1.7 | ambra testo: -3.45 2.05 | grigio | $X$ testo: -1.9 1.95 | blu | $A$ testo: 1.9 1.95 | ambra | $B$ testo: -1.9 0.7 | blu | $2$ testo: -1.3 0.2 | blu | $4$ testo: -1.9 -0.5 | blu | $8$ testo: -1.2 -1 | blu | $10$ testo: 0 0 | accento | $6$ testo: 1.5 0.6 | ambra | $3$ testo: 1.5 -0.6 | ambra | $9$ testo: -3.2 -1.8 | grigio | $1$ testo: 3.2 -1.8 | grigio | $5$ testo: 3.2 1.6 | grigio | $7$ ``` Guarda la figura: l'intersezione è la zona dove i due cerchi si sovrappongono. Le tessere 1, 5 e 7 stanno fuori da tutti e due i cerchi: non sono pari e non sono multipli di 3. Un altro esempio, con le lettere. Prendi $A = \{a, b, f, h, m\}$ e $C = \{c, p, q, s, z\}$. Nessuna lettera compare in tutti e due, quindi l'intersezione è il sacchetto vuoto: $$A \cap C = \emptyset$$ Il simbolo $\emptyset$ si legge «insieme vuoto». Due insiemi senza elementi in comune si chiamano **disgiunti**. Il libro scrive così la definizione. > [!DEF] 1.13 · Intersezione > Siano $A$ e $B$ insiemi. Si dice insieme **intersezione** di $A$ e $B$ l'insieme > $$A \cap B = \{x \text{ tali che } x \in A \text{ e } x \in B\}.$$ > Diremo che $A$ e $B$ sono **disgiunti** se $A \cap B = \emptyset$. **Come si legge.** La riga con le graffe dice: «l'intersezione è fatta degli oggetti $x$ che stanno in $A$ e stanno anche in $B$». Il simbolo $\in$ si legge «appartiene a», cioè «sta nel sacchetto». La seconda frase dice: due insiemi sono disgiunti quando non hanno niente in comune. > [!ESEMPIO] Il primo esempio del libro (p. 8) > $A = \{a, b, f, h, m\}$, $B = \{b, f, i, m, p, t\}$, $C = \{c, p, q, s, z\}$. > 1. Le lettere comuni ad $A$ e $B$ sono $b$, $f$ e $m$: $A \cap B = \{b, f, m\}$. > 2. Tra $B$ e $C$ c'è solo la $p$: $B \cap C = \{p\}$. > 3. Tra $A$ e $C$ niente: $A \cap C = \emptyset$, sono disgiunti. ### Una tessera o un sacchetto? Le domande del quiz giocano quasi sempre su una differenza della lezione D01: un **elemento** è una tessera, un **sottoinsieme** è un sacchetto di tessere. - $6 \in A \cap B$ vuol dire «la tessera 6 sta nell'intersezione». Vero. - $\{6\} \subset A \cap B$ vuol dire «il sacchetto con la tessera 6 è contenuto nell'intersezione». Vero anche questo. Il simbolo $\subset$ si legge «è contenuto in». > [!TRAPPOLA] Non mescolare tessere e sacchetti > $6 \subset A \cap B$ è sbagliato: 6 è una tessera, non un sacchetto, e non può «essere contenuto». Anche $\{6\} \in A \cap B$ è sbagliato: nell'intersezione ci sono tessere, non sacchetti. Le risposte sbagliate della domanda 1 del quiz sono quasi sempre di questi due tipi. ::: prova Con $A = \{1, 2, 3, 4\}$ e $B = \{3, 4, 5\}$, quanto fa $A \cap B$? È vero che $\{3\} \in A \cap B$? I numeri in tutti e due sono 3 e 4: $A \cap B = \{3, 4\}$. La frase è falsa: 3 è un elemento, quindi si scrive $3 \in A \cap B$, oppure $\{3\} \subset A \cap B$. ::: ::: prova Gli insiemi $\{a, e, i\}$ e $\{b, c, d\}$ sono disgiunti? Sì: nessuna lettera compare in tutti e due, quindi l'intersezione è vuota. ::: > [!APPROFONDIMENTO] Gli altri due esempi del libro (p. 8) > 1. $A$ è l'insieme dei naturali pari, $B$ quello dei naturali il cui quadrato sta tra 10 e 200. I quadrati tra 10 e 200 sono quelli di 4, 5, …, 14, perché $3^2 = 9$ è troppo piccolo e $15^2 = 225$ è troppo grande. Di questi, i pari sono 4, 6, 8, 10, 12 e 14: $A \cap B = \{4, 6, 8, 10, 12, 14\}$. > 2. Con $X = \{a, b, c, d\}$, $A$ è l'insieme dei sottoinsiemi di $X$ con 2 elementi e $B$ quello dei sottoinsiemi che contengono $c$. Qui gli elementi sono sacchetti. In comune ci sono i sacchetti da 2 lettere con dentro la $c$: $A \cap B = \{\{a, c\}, \{b, c\}, \{c, d\}\}$. Le graffe interne non si tolgono. > [!RICORDA] > - L'intersezione $A \cap B$ contiene gli elementi che stanno in $A$ **e** in $B$. > - Due insiemi senza elementi in comune si chiamano disgiunti: la loro intersezione è vuota. > - Tessera o sacchetto: $6 \in A \cap B$, ma $\{6\} \subset A \cap B$. ## Mettere tutto insieme: l'unione (p. 9) Torna alle tessere. Ora versa in un sacchetto nuovo tutte le tessere pari e tutte quelle multiple di 3. Che cosa c'è dentro? Le tessere 2, 4, 6, 8, 10 e poi 3 e 9. La 6 c'era già: è una tessera sola, non la metti due volte. Questo insieme si chiama **unione** di $A$ e $B$. > [!IDEA] > L'unione di due insiemi contiene tutto quello che sta nel primo **oppure** nel secondo, oppure in tutti e due. L'unione si scrive $A \cup B$ e si legge «$A$ unione $B$». Il simbolo $\cup$ è una U, come «unione». Nel nostro esempio: $$A \cup B = \{2, 3, 4, 6, 8, 9, 10\}$$ Conta gli elementi. $A$ ne ha 5 e $B$ ne ha 3, ma l'unione ne ha 7, non 8: la 6 sta in tutti e due e nell'unione si conta una volta sola. > [!DEF] 1.14 · Unione > Siano $A$ e $B$ insiemi. Si dice insieme **unione** di $A$ e $B$ l'insieme > $$A \cup B = \{x \text{ tali che } x \in A \text{ oppure } x \in B\}.$$ **Come si legge.** «L'unione è fatta degli oggetti $x$ che stanno in $A$ oppure in $B$.» In matematica «oppure» non esclude il caso «tutti e due». È l'«o» di «vuoi zucchero o latte?», a cui si può rispondere «tutti e due». > [!ESEMPIO] Gli esempi del libro (p. 9) > 1. $A = \{a, f, g, k, p\}$ e $B = \{b, f, m, p, t\}$. Metti insieme le lettere, senza ripetere $f$ e $p$: $A \cup B = \{a, b, f, g, k, m, p, t\}$. > 2. I naturali pari messi insieme ai naturali dispari danno tutti i naturali, perché ogni naturale è pari oppure dispari: l'unione è $\N$, l'insieme dei naturali. > [!OLTRE] · contare gli elementi dell'unione > Quando sommi gli elementi di $A$ e quelli di $B$, gli elementi comuni li conti due volte. Per correggere li togli una volta. Con le tessere: $5 + 3 - 1 = 7$. In simboli: > $$\lvert A \cup B \rvert = \lvert A \rvert + \lvert B \rvert - \lvert A \cap B \rvert$$ > Le barre $\lvert \cdot \rvert$ vogliono dire «quanti elementi ha» (lezione D01). Questa regola torna con la combinatoria. ::: prova Con $A = \{1, 2, 3, 4\}$ e $B = \{3, 4, 5\}$, quanto fa $A \cup B$? Quanti elementi ha? Metti insieme i numeri dei due insiemi, senza ripetere 3 e 4: $A \cup B = \{1, 2, 3, 4, 5\}$. Ha 5 elementi: $4 + 3 - 2 = 5$, perché i comuni sono due. ::: ### Tre insiemi o più (p. 9) Unione e intersezione funzionano anche con tre insiemi o più. Prendi $A = \{1, 2, 3\}$, $B = \{2, 3, 4\}$ e $C = \{3, 4, 5\}$. - L'intersezione $A \cap B \cap C$ contiene quello che sta in tutti e tre: solo il 3. Quindi $A \cap B \cap C = \{3\}$. - L'unione $A \cup B \cup C$ contiene quello che sta in almeno uno: $\{1, 2, 3, 4, 5\}$. Con tre insiemi conviene fare un pezzo alla volta: prima $A \cap B = \{2, 3\}$, poi di questi tieni quelli che stanno in $C$. > [!APPROFONDIMENTO] Unioni e intersezioni di infiniti insiemi (p. 9) > Negli appelli 2023–2026 non compaiono; servono più avanti nel libro. > > Per unire o intersecare tanti insiemi il libro dà a ognuno un'etichetta, detta **indice**: $A_1$, $A_2$, $A_3$ e così via. $A_i$ si legge «$A$ con $i$» e vuol dire «l'insieme con l'etichetta $i$»; $I$ è l'insieme delle etichette. Il libro scrive > $$\bigcap_{i \in I} A_i = \{x \text{ tali che } x \in A_i,\ \forall i \in I\} \qquad \bigcup_{i \in I} A_i = \{x \text{ tali che } x \in A_i,\ \exists i \in I\}.$$ > **Come si legge.** La prima: gli oggetti che stanno in tutti gli insiemi. La seconda: gli oggetti che stanno in almeno uno. Il simbolo $\forall$ si legge «per ogni», $\exists$ si legge «esiste». > > L'esempio del libro usa gli intervalli: $(a, b)$ sono i numeri reali compresi tra $a$ e $b$, estremi esclusi. Per ogni naturale $n$ da 1 in poi prendi $A_n = \left(-\frac1n, \frac1n\right)$. L'intersezione di tutti gli $A_n$ è $\{0\}$: lo zero sta in ciascuno, mentre un numero diverso da zero, per quanto piccolo, prima o poi resta fuori, perché $\frac1n$ diventa più piccolo di lui. Con $B_n = (-n, n)$, invece, l'unione è tutta la retta dei reali. ### Le proprietà distributive (pp. 9–10) Unione e intersezione si mescolano con una regola che ricorda la moltiplicazione. A scuola $2 \cdot (3 + 4) = 2 \cdot 3 + 2 \cdot 4$: il 2 si «distribuisce» sui due numeri della parentesi. Con gli insiemi succede una cosa simile. Prova con le tessere. Prendi ancora $A$ (i pari) e $B$ (i multipli di 3), e in più $D = \{1, 2, 3, 4\}$, le tessere piccole. Fai il conto in due modi. 1. Prima metti insieme pari e multipli di 3: $A \cup B = \{2, 3, 4, 6, 8, 9, 10\}$. Poi tieni quelli che stanno in $D$: 2, 3 e 4. 2. Prima prendi i pari piccoli, $A \cap D = \{2, 4\}$, e i multipli di 3 piccoli, $B \cap D = \{3\}$. Poi mettili insieme: 2, 3 e 4. Viene lo stesso insieme, $\{2, 3, 4\}$. Non è un caso: vale sempre. > [!PROP] 1.15 · Proprietà distributive > Siano $A$, $B$ e $C$ tre insiemi. Allora valgono le uguaglianze > $$(A \cup B) \cap C = (A \cap C) \cup (B \cap C) \qquad (A \cap B) \cup C = (A \cup C) \cap (B \cup C).$$ **Come si legge.** La prima è il conto delle tessere: «metti insieme e poi tieni quelli in $C$» dà lo stesso di «tieni quelli in $C$ da ognuno e poi metti insieme». La seconda scambia i ruoli di unione e intersezione, e vale anche lei. > [!DIM] perché vale la prima uguaglianza (pp. 9–10) > Il libro usa la **doppia inclusione** della lezione D01: due insiemi sono uguali quando ognuno è contenuto nell'altro. > > 1. Prendi un elemento $x$ di $(A \cup B) \cap C$. Allora $x$ sta in $C$, e sta in $A$ oppure in $B$. Se sta in $A$, sta in $A \cap C$; se sta in $B$, sta in $B \cap C$. In tutti e due i casi sta nell'unione $(A \cap C) \cup (B \cap C)$. > 2. Prendi un elemento $x$ di $(A \cap C) \cup (B \cap C)$. Allora sta in $A \cap C$ oppure in $B \cap C$. Nel primo caso sta in $A$ e in $C$, nel secondo in $B$ e in $C$. In tutti e due i casi sta in $C$ e in $A \cup B$, quindi in $(A \cup B) \cap C$. > > La seconda uguaglianza è l'esercizio 1.7 del libro: si dimostra con gli stessi due passi. ::: prova Con $A = \{1, 2\}$, $B = \{2, 3\}$ e $C = \{2, 3, 4\}$, controlla la prima proprietà distributiva. A sinistra: $A \cup B = \{1, 2, 3\}$, e di questi stanno in $C$ il 2 e il 3. Risultato $\{2, 3\}$. A destra: $A \cap C = \{2\}$ e $B \cap C = \{2, 3\}$. Messi insieme danno $\{2, 3\}$. I due lati sono uguali. ::: > [!RICORDA] > - L'unione $A \cup B$ contiene gli elementi che stanno in $A$ **oppure** in $B$, anche in tutti e due. Gli elementi comuni si contano una volta sola. > - Con tre insiemi si fa un pezzo alla volta. > - Proprietà distributive: $(A \cup B) \cap C = (A \cap C) \cup (B \cap C)$, e la stessa con i simboli scambiati. ## Quello che resta fuori: differenza e complementare (p. 10) Torna alle tessere: dal sacchetto dei pari togli quelle che sono anche multiple di 3, cioè la 6. Resta $\{2, 4, 8, 10\}$: è la **differenza** tra $A$ e $B$. La differenza si scrive $A \setminus B$ e si legge «$A$ meno $B$». Contiene gli elementi di $A$ che non stanno in $B$: $$A \setminus B = \{2, 4, 8, 10\} \qquad B \setminus A = \{3, 9\}$$ L'ordine conta: $A \setminus B$ toglie da $A$, $B \setminus A$ toglie da $B$, e i risultati sono diversi. > [!DEF] 1.16 · Differenza > Siano $A$ e $X$ due insiemi. Si dice **differenza** di $X$ ed $A$ e si denota $X \setminus A$ il sottoinsieme degli elementi di $X$ non in $A$, precisamente > $$X \setminus A = \{x \in X \text{ tali che } x \notin A\}.$$ **Come si legge.** «$X$ meno $A$ è fatto degli elementi di $X$ che non stanno in $A$.» Il simbolo $\notin$ si legge «non appartiene a». Non serve che $A$ stia dentro $X$: gli elementi di $A$ che in $X$ non ci sono semplicemente non contano. ### Il complementare: tutto il resto Il caso più comune è quello in cui togli una parte dal sacchetto grande. Dal sacchetto $X$ di tutte le tessere togli i pari: restano i dispari, $\{1, 3, 5, 7, 9\}$. Quello che resta si chiama **complementare** dei pari in $X$. Il libro scrive il complementare $C_X(A)$ e si legge «complementare di $A$ in $X$». Altri testi scrivono $A^c$ oppure $\overline A$, ma in quel modo non si vede l'informazione più importante: da quale sacchetto $X$ hai tolto $A$. > [!DEF] 1.17 · Complementare > Sia $A$ un sottoinsieme dell'insieme $X$. Si dice **complementare** di $A$ in $X$ e si denota $C_X(A)$ il sottoinsieme degli elementi di $X$ non in $A$, precisamente > $$C_X(A) = \{x \in X \text{ tali che } x \notin A\}.$$ **Come si legge.** È la stessa regola della differenza, con una condizione in più: $A$ deve essere una parte di $X$. Il complementare è «quello che manca ad $A$ per arrivare a $X$». > [!TRAPPOLA] Il complementare dipende da $X$ > Prendi $A = \{2, 4\}$. Dentro $X = \{1, 2, 3, 4, 5\}$ il complementare è $\{1, 3, 5\}$. Dentro le dieci tessere è $\{1, 3, 5, 6, 7, 8, 9, 10\}$. Lo stesso insieme $A$ ha complementari diversi: per questo la $X$ va sempre scritta. Due cose che il libro fa notare (p. 10): - il complementare del complementare è l'insieme di partenza: il complementare dei pari sono i dispari, e il complementare dei dispari sono di nuovo i pari; - i numeri irrazionali, come $\sqrt 2$ e $\pi$, sono i reali che non sono frazioni: sono il complementare delle frazioni dentro i reali. ::: prova Con $X = \{1, 2, 3, 4, 5, 6\}$ e $A = \{1, 2\}$, quanto fa $C_X(A)$? Sono gli elementi di $X$ che non stanno in $A$: $C_X(A) = \{3, 4, 5, 6\}$. ::: ::: prova Con $A = \{1, 2, 3\}$ e $B = \{3, 4\}$, quanto fanno $A \setminus B$ e $B \setminus A$? Da $A$ togli il 3, l'unico elemento in comune: $A \setminus B = \{1, 2\}$. Da $B$ togli il 3: $B \setminus A = \{4\}$. ::: > [!APPROFONDIMENTO] L'ultimo esempio del libro (p. 10) > Con $A = \{a, b, c\}$ e $B = \{a, b, d\}$, gli insiemi delle parti sono $P(A)$ e $P(B)$: i sacchetti di tutti i loro sottoinsiemi (lezione D01). La differenza $P(B) \setminus P(A)$ contiene i sottoinsiemi di $B$ che non sono sottoinsiemi di $A$, cioè quelli con la $d$: $\{a, b, d\}$, $\{a, d\}$, $\{b, d\}$ e $\{d\}$. Qui non si può parlare di complementare, perché $P(A)$ non è contenuto in $P(B)$: $\{c\}$ sta nel primo e non nel secondo. > [!RICORDA] > - $A \setminus B$ contiene gli elementi di $A$ che non stanno in $B$. L'ordine conta. > - Se $A$ è una parte di $X$, la differenza $X \setminus A$ si chiama complementare di $A$ in $X$ e si scrive $C_X(A)$. > - Il complementare dipende da $X$; il complementare del complementare è l'insieme di partenza. ## Fuori da unione e intersezione: De Morgan (p. 11) Comincia dalle frasi di tutti i giorni. Il contrario di «prendo il treno o il pullman» è «non prendo né il treno né il pullman»: devo rinunciare a tutti e due. Il contrario di «oggi piove e fa freddo» è «oggi non piove oppure non fa freddo»: basta che manchi una delle due cose. Con gli insiemi succede lo stesso. Torna alle tessere e alla figura dell'intersezione. Quali tessere stanno **fuori dall'unione**, cioè fuori da tutti e due i cerchi? Quelle che non sono pari e non sono multiple di 3: 1, 5 e 7. Ora fai il conto in un altro modo. Le tessere non pari sono $\{1, 3, 5, 7, 9\}$. Le tessere non multiple di 3 sono $\{1, 2, 4, 5, 7, 8, 10\}$. Quelle che stanno in tutti e due gli elenchi sono 1, 5 e 7. Lo stesso risultato. > [!IDEA] > Stare fuori dall'unione vuol dire stare fuori dal primo insieme **e** fuori dal secondo. Il complementare dell'unione è l'intersezione dei complementari. C'è anche la regola gemella. Quali tessere stanno **fuori dall'intersezione**? L'intersezione è $\{6\}$, quindi tutte tranne la 6. E quali tessere sono non pari **oppure** non multiple di 3? Sono quelle a cui manca almeno una delle due cose: di nuovo tutte tranne la 6, l'unica che le ha tutte e due. > [!IDEA] > Stare fuori dall'intersezione vuol dire stare fuori da almeno uno dei due insiemi. Il complementare dell'intersezione è l'unione dei complementari. Il libro le enuncia così. > [!TEOREMA] 1.18 · Leggi di De Morgan > Sia $X$ un insieme e siano $A$ e $B$ sottoinsiemi di $X$. Allora > $$C_X(A \cap B) = C_X(A) \cup C_X(B), \qquad C_X(A \cup B) = C_X(A) \cap C_X(B).$$ **Come si legge.** - Prima uguaglianza: il complementare dell'intersezione è l'unione dei complementari. Le cose che non stanno in tutti e due sono quelle che mancano ad almeno uno. - Seconda uguaglianza: il complementare dell'unione è l'intersezione dei complementari. Le cose che non stanno in nessuno dei due sono quelle che mancano a tutti e due. - Un modo per ricordarle: il complementare «entra» nella parentesi e, entrando, scambia $\cap$ con $\cup$. Ecco i conti con le tessere, messi in fila. | | Conto | Risultato | |---|---|---| | $C_X(A \cup B)$ | tutto tranne $\{2, 3, 4, 6, 8, 9, 10\}$ | $\{1, 5, 7\}$ | | $C_X(A) \cap C_X(B)$ | $\{1, 3, 5, 7, 9\}$ e $\{1, 2, 4, 5, 7, 8, 10\}$ in comune | $\{1, 5, 7\}$ | | $C_X(A \cap B)$ | tutto tranne $\{6\}$ | $\{1, 2, 3, 4, 5, 7, 8, 9, 10\}$ | | $C_X(A) \cup C_X(B)$ | $\{1, 3, 5, 7, 9\}$ insieme a $\{1, 2, 4, 5, 7, 8, 10\}$ | $\{1, 2, 3, 4, 5, 7, 8, 9, 10\}$ | > [!DIM] perché vale la prima legge (p. 11) > Ancora la doppia inclusione. > > 1. Prendi $x$ nel complementare di $A \cap B$: sta in $X$ ma non è comune ad $A$ e $B$. Allora gli manca almeno uno dei due: se non sta in $A$, sta in $C_X(A)$; se non sta in $B$, sta in $C_X(B)$. In ogni caso sta nell'unione $C_X(A) \cup C_X(B)$. > 2. Prendi $x$ in $C_X(A) \cup C_X(B)$. Se sta in $C_X(A)$, non sta in $A$, quindi non può stare in $A \cap B$. Se sta in $C_X(B)$, non sta in $B$, e di nuovo non sta in $A \cap B$. In ogni caso sta nel complementare di $A \cap B$. > > La seconda legge si dimostra allo stesso modo: è l'esercizio 1.9 del libro, svolto nell'esercizio 6 di questa lezione. > [!TRAPPOLA] Il complementare non si «distribuisce» e basta > Scrivere $C_X(A \cup B) = C_X(A) \cup C_X(B)$, senza scambiare il simbolo, è sbagliato. Con le tessere il lato sinistro è $\{1, 5, 7\}$, mentre il lato destro contiene anche 2, 3, 4, 8, 9 e 10. Le leggi valgono anche con tre o più insiemi (esercizio 1.10 del libro). Esiste anche una versione con la differenza al posto del complementare, che non chiede che $A$ e $B$ stiano dentro $X$: è l'esercizio 1.11, svolto nell'esercizio 7. ::: prova Con $X = \{1, 2, 3, 4, 5, 6, 7, 8\}$, $A = \{1, 2, 3\}$ e $B = \{3, 4, 5\}$, calcola $C_X(A \cup B)$ in due modi. Primo modo: $A \cup B = \{1, 2, 3, 4, 5\}$, e il resto di $X$ è $\{6, 7, 8\}$. Secondo modo: $C_X(A) = \{4, 5, 6, 7, 8\}$ e $C_X(B) = \{1, 2, 6, 7, 8\}$. In comune hanno $\{6, 7, 8\}$. Lo stesso risultato, come dice la seconda legge di De Morgan. ::: > [!RICORDA] > - Fuori dall'unione = fuori da tutti e due: $C_X(A \cup B) = C_X(A) \cap C_X(B)$. > - Fuori dall'intersezione = fuori da almeno uno: $C_X(A \cap B) = C_X(A) \cup C_X(B)$. > - Il complementare entra nella parentesi e scambia unione e intersezione. ## Coprire tutto: i ricoprimenti (pp. 11–12) In una classe di venti studenti si formano dei gruppi di studio. Due condizioni sono ragionevoli: ogni gruppo è fatto di studenti della classe, e nessuno studente resta senza gruppo. Se qualcuno sta in due gruppi, va bene lo stesso. Quando le parti, messe insieme, danno tutto l'insieme, formano un **ricoprimento**. > [!IDEA] > Un ricoprimento di un insieme è un gruppo di sottoinsiemi che, messi insieme, danno l'insieme intero: nessun elemento resta fuori. Le parti possono sovrapporsi. Prendi $X = \{1, 2, 3, 4, 5\}$ e le parti $\{1, 2, 3\}$ e $\{3, 4, 5\}$. La loro unione è $\{1, 2, 3, 4, 5\}$, cioè tutto $X$: è un ricoprimento. Il 3 sta in tutte e due le parti, e va bene. Le parti $\{1, 2\}$ e $\{4, 5\}$, invece, lasciano fuori il 3: non sono un ricoprimento. Il libro chiama **famiglia** un gruppo di sottoinsiemi e la scrive $\mathcal A = \{A_i\}_{i \in I}$. Si legge «la famiglia degli $A_i$» e vuol dire: le parti si chiamano $A_1$, $A_2$ e così via, con un numero ciascuna. Nell'esempio di prima, $A_1 = \{1, 2, 3\}$ e $A_2 = \{3, 4, 5\}$. > [!DEF] 1.19 · Ricoprimento > Sia $X$ un insieme e sia $\mathcal A = \{A_i\}_{i \in I}$ una famiglia di sottoinsiemi di $X$. La famiglia $\mathcal A$ è detta un **ricoprimento** di $X$ se > $$\bigcup_{i \in I} A_i = X.$$ **Come si legge.** «Le parti $A_i$ sono sottoinsiemi di $X$. La loro unione è tutto $X$.» Il simbolo grande $\bigcup$ vuol dire «l'unione di tutte le parti». Gli esempi del libro sono questi. - Gli interi, divisi in pari e dispari: ogni intero è pari o dispari, quindi è un ricoprimento. - I numeri reali, divisi in tre parti: i negativi, i positivi e i numeri tra $-1$ e $1$. Ogni numero reale è negativo, positivo oppure zero, e lo zero sta nella terza parte. - I numeri reali, divisi in pezzi di retta lunghi 1: da 0 a 1, da 1 a 2, da 2 a 3, e così via, anche verso i negativi. Ogni numero sta in almeno un pezzo. > [!NOTA] Due refusi del libro > Nell'esempio con i reali, la seconda parte è stampata $\{x \in \R \mid x < 0\}$, uguale alla prima: deve essere $\{x \in \R \mid x > 0\}$, i positivi. Nell'esempio con pari e dispari, le due parti sono scritte come sottoinsiemi di $\N$, i naturali, ma devono essere sottoinsiemi di $\Z$, gli interi: altrimenti i negativi resterebbero scoperti. ### Una scrittura comoda: 2Z e 2Z + 1 (p. 12) Il libro usa due scritture per gli insiemi di numeri (Nota 1.20). Prendi un insieme di numeri $S$ e un numero $a$: - $aS$ è l'insieme che ottieni **moltiplicando** per $a$ ogni elemento di $S$; - $S + a$ è l'insieme che ottieni **sommando** $a$ a ogni elemento di $S$. Per esempio $2\Z$ sono gli interi moltiplicati per 2, cioè i pari: $\dots, -4, -2, 0, 2, 4, \dots$ E $2\Z + 1$ sono i pari più 1, cioè i dispari. Il ricoprimento con pari e dispari si scrive allora $$\Z = (2\Z) \cup (2\Z + 1).$$ In generale $n\Z$ sono i multipli di $n$: $3\Z$ sono i multipli di 3. Questa scrittura compare nella domanda 1 dell'appello del 06/06/2026. ::: prova Le parti $\{a, b\}$, $\{b, c\}$ e $\{d\}$ sono un ricoprimento di $\{a, b, c, d\}$? Sì: messe insieme danno $\{a, b, c, d\}$. Che la $b$ stia in due parti non importa. ::: ::: prova Il numero 15 sta in $3\Z \cap 5\Z$? Sì: 15 è un multiplo di 3 e un multiplo di 5, quindi sta in tutti e due. ::: > [!RICORDA] > - Un ricoprimento di $X$ è un gruppo di sottoinsiemi di $X$ che, messi insieme, danno tutto $X$. > - Le parti possono sovrapporsi; nessun elemento deve restare fuori, e nessuna parte può avere elementi che in $X$ non ci sono. > - $n\Z$ sono i multipli di $n$: $2\Z$ i pari, $2\Z + 1$ i dispari. ## Dividere senza sovrapporre: le partizioni (pp. 12–13) Hai un mucchio di calzini da mettere in tre cassetti: bianchi, neri e colorati. Ogni calzino finisce in un cassetto, e in uno solo. E non tieni un cassetto vuoto. Questa divisione è una **partizione**. > [!IDEA] > Una partizione divide un insieme in gruppi non vuoti che non si toccano: ogni elemento sta in un gruppo e in uno solo. Una partizione è un ricoprimento con due condizioni in più. Per riconoscerla si controllano tre cose, una per volta. 1. **Nessuno resta fuori**: messe insieme, le parti danno tutto l'insieme. 2. **Nessuna parte è vuota.** 3. **Nessuna sovrapposizione**: due parti diverse non hanno elementi in comune, cioè sono disgiunte. Prendi $X = \{1, 2, 3, 4, 5\}$. | Parti | Copre tutto? | Nessuna vuota? | Nessuna sovrapposizione? | Partizione? | |---|---|---|---|---| | $\{1, 2\}$, $\{3\}$, $\{4, 5\}$ | sì | sì | sì | **sì** | | $\{1, 2, 3\}$, $\{3, 4, 5\}$ | sì | sì | no, il 3 sta in due | no | | $\{1, 2\}$, $\{4, 5\}$ | no, manca il 3 | sì | sì | no | | $\{1, 2, 3, 4, 5\}$, $\emptyset$ | sì | no | sì | no | ```grafico titolo: Una partizione di $X = \{1, 2, 3, 4, 5\}$: tre parti che non si toccano x: -3 3 y: -2 2 assi: no griglia: no poligono: -2.8 -1.8 2.8 -1.8 2.8 1.8 -2.8 1.8 | grigio cerchio: -1.7 0 0.8 | blu cerchio: 0 0 0.6 | ambra cerchio: 1.7 0 0.8 | verde testo: -2.5 1.45 | grigio | $X$ testo: -2 0 | blu | $1$ testo: -1.4 0 | blu | $2$ testo: 0 0 | ambra | $3$ testo: 1.4 0 | verde | $4$ testo: 2 0 | verde | $5$ ``` > [!DEF] 1.21 · Partizione > La famiglia $\mathcal A = \{A_i\}_{i \in I}$ è detta una **partizione** di $X$ se: > > 1. è un ricoprimento di $X$; > 2. $\forall i \in I,\ A_i \neq \emptyset$; > 3. $\forall i, j \in I$ tali che $i \neq j$ i sottoinsiemi $A_i$ e $A_j$ sono disgiunti, $A_i \cap A_j = \emptyset$. **Come si legge.** Sono i tre controlli. Il primo: le parti coprono $X$. Il secondo: ogni parte $A_i$ non è vuota ($\forall$ si legge «per ogni», $\neq$ si legge «diverso da»). Il terzo: due parti con numeri diversi non hanno niente in comune. > [!TRAPPOLA] «Disgiunte a due a due» > Il terzo controllo va fatto su **ogni coppia** di parti. Con le parti $\{1, 2\}$, $\{2, 3\}$ e $\{4\}$ non c'è nessun numero comune a tutte e tre, eppure non è una partizione: le prime due hanno in comune il 2. > [!METODO] È una partizione? > 1. Metti insieme le parti e confrontale con l'insieme: se manca un elemento, o se compare un elemento che nell'insieme non c'è, non è una partizione. > 2. Cerca una parte vuota. Se c'è, non è una partizione. > 3. Scorri gli elementi uno per uno e conta in quante parti compaiono: ognuno deve comparire in una parte sola. Gli esempi del libro (p. 12), con i ricoprimenti di prima: - pari e dispari sono una partizione degli interi: nessun intero è pari e dispari insieme; - negativi, positivi e numeri tra $-1$ e $1$ non lo sono: $-\frac12$, per esempio, è negativo e sta anche tra $-1$ e $1$; - i pezzi di retta lunghi 1 non lo sono: il numero 1 sta sia nel pezzo da 0 a 1 sia in quello da 1 a 2; - una parte $A$ di $X$ e il suo complementare sono una partizione di $X$, purché $A$ non sia vuota e non sia tutto $X$: altrimenti una delle due parti sarebbe vuota. > [!APPROFONDIMENTO] Una partizione delle frazioni (p. 12) > Le frazioni si possono dividere secondo il denominatore che hanno quando sono ridotte ai minimi termini, con il denominatore positivo: nella prima parte gli interi, nella seconda le frazioni come $\frac12$ e $-\frac32$, nella terza quelle come $\frac13$ e $\frac23$, e così via. Ogni frazione ha una sola scrittura ridotta, quindi sta in una parte sola: è una partizione di $\Q$, l'insieme delle frazioni. ### L'insieme quoziente (p. 13) Quando dividi i calzini nei cassetti, a volte ti interessano i cassetti e non i singoli calzini: «quanti tipi di calzini ho?». Il libro chiama **insieme quoziente** l'insieme che ha come elementi le parti di una partizione: l'insieme dei cassetti. Per la partizione degli interi in pari e dispari l'insieme quoziente ha due elementi: il cassetto dei pari e il cassetto dei dispari. Ogni elemento di un cassetto si chiama **rappresentante** di quel cassetto, e il cassetto si indica con un suo rappresentante tra parentesi quadre: $[0]$ è il cassetto dei pari, $[7]$ quello dei dispari. Anche $[2]$ e $[-4]$ indicano i pari: lo stesso cassetto, nominato con rappresentanti diversi. > [!DEF] 1.22 · Insieme quoziente > Dato un insieme $X$ con una partizione $\mathcal A = \{A_i\}_{i \in I}$ l'insieme $Q = \{A_i\}$ i cui elementi sono i sottoinsiemi costituenti la partizione $\mathcal A$ si dice **insieme quoziente** di $X$ (relativamente alla partizione $\mathcal A$). Dato un elemento $A \in Q$ ogni elemento $x \in X$ tale che $x \in A$ si dice **rappresentante** di $A$ e a volte scriveremo $A = [x]$ oppure $A = \overline x$. **Come si legge.** L'insieme quoziente è «l'insieme dei cassetti». Un rappresentante di un cassetto è uno qualunque dei suoi elementi. Le scritture $[x]$ e $\overline x$ (si legge «x segnato») vogliono dire «il cassetto in cui sta $x$». Il quoziente tornerà con le relazioni di equivalenza e con l'aritmetica dell'orologio, dove $[3]$ indicherà tutti i numeri che danno lo stesso resto di 3 in una divisione. ::: prova Le parti $\{a, c\}$, $\{b\}$, $\{c, d\}$ sono una partizione di $\{a, b, c, d\}$? No: coprono tutto e nessuna è vuota, ma la $c$ sta in due parti. ::: ::: prova Quante sono le partizioni di $\{1, 2, 3\}$? Cinque. Tutto in una parte: $\{1, 2, 3\}$. Una coppia e un elemento da solo, in tre modi: $\{1, 2\}$ e $\{3\}$; $\{1, 3\}$ e $\{2\}$; $\{2, 3\}$ e $\{1\}$. Tre parti con un elemento ciascuna: $\{1\}$, $\{2\}$, $\{3\}$. ::: > [!RICORDA] > - Partizione = ricoprimento + nessuna parte vuota + parti disgiunte a due a due. Ogni elemento sta in una parte sola. > - Per controllare: le parti coprono tutto? c'è una parte vuota? qualche elemento sta in due parti? > - L'insieme quoziente è l'insieme delle parti della partizione, i «cassetti»; $[x]$ è il cassetto che contiene $x$. ## I numeri naturali e le regole di Peano (pp. 5–6) Ora un argomento diverso. Nella lezione D01 hai visto i numeri per contare, 0, 1, 2, 3 e così via, che formano l'insieme $\N$ dei naturali. Hai visto anche l'idea che partendo da 0 e andando avanti di uno alla volta si arriva a tutti. Il libro descrive i naturali con cinque regole, gli **assiomi di Peano**. Un **assioma** è una regola che non si dimostra: si accetta come punto di partenza. Il libro chiama $s(n)$ il **successivo** di $n$, cioè il numero che viene subito dopo: $s(n)$ si legge «esse di $n$», e $s(4) = 5$. Le cinque regole, a parole: 1. lo zero è un numero naturale; 2. ogni naturale ha un successivo, che è ancora un naturale; 3. due naturali diversi hanno successivi diversi; 4. lo zero non è il successivo di nessun naturale; 5. se un insieme di naturali contiene lo zero e, ogni volta che contiene un numero, contiene anche il suo successivo, allora contiene tutti i naturali. ### Che cosa va storto senza una regola Il modo migliore per capire a che cosa serve ogni regola è guardare che cosa succede quando manca. **Senza la regola 4: l'orologio.** Prendi le ore di un orologio, da 0 a 11, e come successivo l'ora dopo. Il successivo di 11 è 0: dopo le 11 vengono di nuovo le 0. Le regole 1, 2 e 3 valgono, ma la 4 no, perché lo zero è il successivo di 11. Con questi «numeri» non si conta oltre 11: si gira in tondo. La regola 4 impedisce di tornare all'inizio. **Senza la regola 3: il cappio.** Prendi i numeri da 0 a 5 e dai a ognuno il successivo solito, tranne il 5, che ha come successivo il 3. Si va 0, 1, 2, 3, 4, 5 e poi di nuovo 3, 4, 5, 3… Lo zero non è il successivo di nessuno, quindi la regola 4 vale. Ma 2 e 5 hanno lo stesso successivo, 3: la regola 3 no. La regola 3 impedisce di rientrare a metà strada. **Senza la regola 5: i numeri fantasma.** Prendi i naturali veri e aggiungi una seconda fila di numeri «fantasma» $0'$, $1'$, $2'$ e così via, ognuno con il successivo nella sua fila: dopo $0'$ viene $1'$. Le regole da 1 a 4 valgono tutte. Ma la fila fantasma non si raggiunge mai partendo da 0. La regola 5 dice proprio che non ci sono altri numeri oltre a quelli che si raggiungono da 0 andando avanti. > [!IDEA] > Le regole 2, 3 e 4 dicono che contando non si torna mai indietro e non ci si ferma: i naturali sono infiniti e tutti diversi. La regola 5 dice che non c'è niente altro: tutti i naturali si raggiungono partendo da 0. > [!APPROFONDIMENTO] gli assiomi di Peano come li scrive il libro (p. 5) > Negli appelli di Matematica Discreta non vengono chiesti; servono per capire da dove viene l'induzione. > > L'insieme $\N$ dei numeri naturali è caratterizzato da questi cinque assiomi (Peano, 1889): > > 1. $0 \in \N$; > 2. ogni $n \in \N$ ha un successore $s(n) \in \N$; > 3. se $m, n \in \N$ e $m \neq n$ allora $s(m) \neq s(n)$; > 4. $\forall n \in \N,\ 0 \neq s(n)$; > 5. se $U \subset \N$ è tale che $0 \in U$ e $s(n) \in U$, $\forall n \in U$, allora $U = \N$. > > **Come si legge.** Sono le cinque regole qui sopra. Nella 5, $U$ è un insieme di naturali; «$s(n) \in U$ per ogni $n \in U$» vuol dire «ogni volta che $n$ sta in $U$, ci sta anche il suo successivo». La conclusione $U = \N$ dice che allora $U$ contiene tutti i naturali. ::: prova Prendi l'insieme $\{0, 1, 2\}$ con $s(0) = 1$, $s(1) = 2$ e $s(2) = 2$. Quale regola non vale? La regola 3: i numeri 1 e 2 sono diversi ma hanno lo stesso successivo, 2. ::: ::: prova E con $\{0, 1, 2\}$, $s(0) = 1$, $s(1) = 2$ e $s(2) = 0$? La regola 4: lo zero è il successivo di 2. È un orologio con tre ore. ::: > [!RICORDA] > - Gli assiomi di Peano sono cinque regole che descrivono i naturali: lo zero, il successivo, niente ritorni allo zero, niente cappi, niente numeri fuori dalla fila. > - La regola 5 è il principio di induzione: un insieme che contiene 0 e passa sempre al successivo contiene tutti i naturali. ## L'induzione come metodo di dimostrazione (pp. 6–7) Metti in fila tante tessere del domino, in piedi. Se fai cadere la prima, e ogni tessera, cadendo, fa cadere quella dopo, allora cadono tutte. Non serve guardarle una per una. L'induzione usa la stessa idea per dimostrare che una frase sui numeri vale per tutti i naturali. È la regola 5 di Peano. Prendi l'insieme dei numeri per cui la frase è vera. Se contiene lo zero, cade la prima tessera. Se passa sempre al successivo, ogni tessera fa cadere quella dopo. Allora contiene tutti i naturali. > [!METODO] Dimostrare una proprietà per induzione > 1. **Passo base.** Controlla la proprietà per il primo numero: di solito 0, oppure 1 se la proprietà ha senso solo da 1 in poi. > 2. **Ipotesi induttiva.** Scrivi la proprietà per un numero $n$ qualunque e supponi che sia vera. > 3. **Passo induttivo.** Scrivi la proprietà per $n + 1$, cioè dove vuoi arrivare. Poi parti dal lato sinistro, usa l'ipotesi induttiva e arriva al lato destro. > 4. **Conclusione.** Per il principio di induzione la proprietà vale per tutti i numeri dal primo in poi. Il libro enuncia il principio come teorema 1.10, già visto nella lezione D01. Qui lo usiamo su due esempi nuovi. ### Primo esempio: la somma dei numeri dispari Somma i primi numeri dispari e guarda che cosa viene. | Quanti dispari | Somma | Risultato | |--:|---|--:| | 1 | $1$ | 1 | | 2 | $1 + 3$ | 4 | | 3 | $1 + 3 + 5$ | 9 | | 4 | $1 + 3 + 5 + 7$ | 16 | | 5 | $1 + 3 + 5 + 7 + 9$ | 25 | I risultati sono 1, 4, 9, 16, 25: i quadrati. Sembra che la somma dei primi $n$ dispari sia $n^2$, cioè $n$ per $n$. C'è un'immagine che spiega perché. Un quadrato di 3 per 3 puntini ne ha 9. Per farlo diventare un quadrato di 4 per 4 aggiungi una riga in basso e una colonna a destra, a forma di L: sono $3 + 3 + 1 = 7$ puntini, il dispari successivo. Ogni volta che il quadrato cresce di uno, aggiungi un numero dispari. Per scrivere la frase con le lettere serve il dispari numero $n$. Il primo è 1, il secondo 3, il terzo 5: è sempre il doppio della posizione meno 1, cioè $2n - 1$. Per esempio il quinto è $2 \cdot 5 - 1 = 9$. La frase da dimostrare, per ogni $n$ da 1 in poi, è: $$1 + 3 + 5 + \dots + (2n - 1) = n^2$$ > [!ESEMPIO] La dimostrazione per induzione > **Passo base**, con $n = 1$. A sinistra c'è solo il primo dispari, 1. A destra $1^2 = 1$. Sono uguali. > > **Ipotesi induttiva.** Supponi che per un certo $n$ valga $1 + 3 + \dots + (2n - 1) = n^2$. > > **Passo induttivo.** Devi arrivare alla stessa frase con $n + 1$ al posto di $n$. Il dispari numero $n + 1$ è $2(n + 1) - 1 = 2n + 1$, quindi la frase da raggiungere è > $$1 + 3 + \dots + (2n - 1) + (2n + 1) = (n + 1)^2.$$ > Parti dal lato sinistro. I primi $n$ addendi, per l'ipotesi induttiva, fanno $n^2$: > $$1 + 3 + \dots + (2n - 1) + (2n + 1) = n^2 + (2n + 1)$$ > Ora guarda il lato destro: $(n + 1)^2 = n^2 + 2n + 1$. È proprio quello che hai ottenuto. > > **Conclusione.** La formula vale per $n = 1$ e passa da ogni $n$ al successivo: per il principio di induzione vale per ogni $n$ da 1 in poi. > [!RIPASSO] il quadrato di una somma > $(n + 1)^2$ vuol dire $(n + 1) \cdot (n + 1)$. Moltiplica ogni pezzo della prima parentesi per ogni pezzo della seconda: $n \cdot n + n \cdot 1 + 1 \cdot n + 1 \cdot 1 = n^2 + 2n + 1$. Con un numero: $(3 + 1)^2 = 16$, e $9 + 6 + 1 = 16$. ### Secondo esempio: le potenze di 2 crescono in fretta La frase è: per ogni naturale $n$, $2^n$ è almeno $n + 1$. Si scrive $2^n \ge n + 1$, e il simbolo $\ge$ si legge «maggiore o uguale a». Prima i numeri: per $n = 0$ viene $1 \ge 1$; per $n = 1$, $2 \ge 2$; per $n = 2$, $4 \ge 3$; per $n = 3$, $8 \ge 4$. La potenza di 2 corre sempre più avanti. > [!ESEMPIO] La dimostrazione per induzione > **Passo base**, con $n = 0$: $2^0 = 1$ e $0 + 1 = 1$. Vale $1 \ge 1$. > > **Ipotesi induttiva.** Supponi $2^n \ge n + 1$ per un certo $n$. > > **Passo induttivo.** Devi arrivare a $2^{n+1} \ge n + 2$. Fai un passo alla volta: > 1. $2^{n+1} = 2 \cdot 2^n$, perché una potenza di 2 in più è un 2 in più nella moltiplicazione; > 2. per l'ipotesi induttiva $2^n$ è almeno $n + 1$, quindi $2 \cdot 2^n$ è almeno $2(n + 1) = 2n + 2$; > 3. $2n + 2$ è almeno $n + 2$, perché la differenza è $n$, che non è mai negativo. > > Mettendo in fila: $2^{n+1} \ge 2n + 2 \ge n + 2$. > > **Conclusione.** Per il principio di induzione la frase vale per ogni naturale $n$. > [!TRAPPOLA] Ogni tessera deve far cadere la successiva > Il passo induttivo deve funzionare per **ogni** $n$, compreso il primo. Nel riquadro qui sotto c'è una famosa «dimostrazione» sbagliata, in cui il passaggio si rompe in un punto solo. > [!APPROFONDIMENTO] tutti i cavalli hanno lo stesso colore? > La frase: «in ogni gruppo di $n$ cavalli, tutti hanno lo stesso colore». Passo base, $n = 1$: un cavallo solo ha il colore di sé stesso. Passo «induttivo»: prendi $n + 1$ cavalli. Togli il primo: restano $n$ cavalli, tutti dello stesso colore per l'ipotesi. Togli invece l'ultimo: restano altri $n$ cavalli, tutti dello stesso colore. I due gruppi hanno cavalli in comune, quindi il colore è lo stesso per tutti. > > L'errore: con $n = 1$, cioè passando da 1 a 2 cavalli, i due gruppi sono «il secondo cavallo» e «il primo cavallo», e non hanno nessun cavallo in comune. Il passaggio da 1 a 2 non funziona: la prima tessera cade, ma non fa cadere la seconda. ::: prova Nel primo esempio, che cosa dice l'ipotesi induttiva con $n = 3$, e a che cosa serve? Dice $1 + 3 + 5 = 9$, cioè $3^2$. Serve per il passo verso $n = 4$: $1 + 3 + 5 + 7 = 9 + 7 = 16 = 4^2$. ::: > [!RICORDA] > - Induzione in quattro mosse: passo base, ipotesi induttiva, passo induttivo, conclusione. > - Nel passo induttivo si parte dal caso $n + 1$ e si usa l'ipotesi sul caso $n$ per arrivare al risultato. > - Il passo induttivo deve funzionare per ogni $n$, a partire dal primo. ## Quanti sottoinsiemi: l'insieme delle parti (pp. 4–7) Nella lezione D01 hai visto l'**insieme delle parti**: il sacchetto che contiene tutti i sottoinsiemi di un insieme. L'insieme delle parti di $A$ si scrive $P(A)$ e si legge «parti di $A$». Qui conti quanti elementi ha. Per $A = \{1, 2, 3\}$ conviene elencare i sottoinsiemi in ordine di grandezza. | Quanti elementi | Sottoinsiemi | Quanti sono | |--:|---|--:| | 0 | $\emptyset$ | 1 | | 1 | $\{1\}$, $\{2\}$, $\{3\}$ | 3 | | 2 | $\{1, 2\}$, $\{1, 3\}$, $\{2, 3\}$ | 3 | | 3 | $\{1, 2, 3\}$ | 1 | In tutto $1 + 3 + 3 + 1 = 8$. Il vuoto e l'insieme intero ci sono sempre. ### Perché sono 2 alla n Per costruire un sottoinsieme di $\{1, 2, 3\}$ decidi, elemento per elemento, «dentro» o «fuori». L'1 dentro o fuori, il 2 dentro o fuori, il 3 dentro o fuori: tre scelte da due possibilità ciascuna, $2 \cdot 2 \cdot 2 = 8$. Con $n$ elementi le scelte sono $n$, e i sottoinsiemi $2^n$, cioè 2 moltiplicato per sé stesso $n$ volte. Il libro lo dimostra per induzione (p. 7), con un'idea che conviene ricordare. Aggiungi un elemento nuovo, per esempio 4, all'insieme $\{1, 2, 3\}$. I sottoinsiemi del nuovo insieme sono di due tipi: - quelli **senza** il 4: sono gli 8 sottoinsiemi di prima; - quelli **con** il 4: a ognuno degli 8 di prima aggiungi il 4. Sono due gruppi con lo stesso numero di sottoinsiemi, quindi il totale raddoppia: $2 \cdot 8 = 16$. Un elemento in più, il doppio dei sottoinsiemi. È il passo induttivo: ogni tessera del domino fa cadere la successiva. > [!TEOREMA] · Cardinalità dell'insieme delle parti (p. 7) > Sia $A$ un insieme finito con $\lvert A \rvert = n$. Allora $\lvert P(A) \rvert = 2^n$. **Come si legge.** «Se $A$ ha $n$ elementi, l'insieme delle parti di $A$ ne ha $2^n$.» Le barre vogliono dire «quanti elementi ha». Il passo base è l'insieme vuoto: il suo unico sottoinsieme è il vuoto stesso, quindi $P(\emptyset) = \{\emptyset\}$ ha un elemento, e $2^0 = 1$. Il passo induttivo è il raddoppio con i due gruppi. ### Elementi di elementi Gli elementi di $P(A)$ sono sacchetti. Questo crea due livelli, e le domande del quiz giocano proprio sui livelli. Con $A = \{1, 2, 3\}$: - $\{1, 2\} \in P(A)$ è vero: il sacchetto $\{1, 2\}$ è un sottoinsieme di $A$, quindi sta nel sacchetto dei sottoinsiemi; - $1 \in P(A)$ è falso: 1 è una tessera di $A$, non un sottoinsieme; - $\{\{1\}, \{2\}\} \subset P(A)$ è vero: i suoi due elementi, $\{1\}$ e $\{2\}$, sono sottoinsiemi di $A$. > [!OLTRE] · le parti dell'intersezione > I sottoinsiemi comuni ad $A$ e $B$ sono esattamente i sottoinsiemi di $A \cap B$: in simboli $P(A) \cap P(B) = P(A \cap B)$. Con l'unione non va così: è l'esercizio 4. ::: prova Quanti elementi ha $P(\{a, b, c, d, e\})$? L'insieme ha 5 elementi, quindi $P$ ne ha $2^5 = 32$. ::: ::: prova Con $A = \{a, b\}$, quali frasi sono vere: $\emptyset \in P(A)$, $a \in P(A)$, $\{a\} \in P(A)$? $\emptyset \in P(A)$ è vera, perché il vuoto è un sottoinsieme di ogni insieme. $a \in P(A)$ è falsa: $a$ è una lettera, non un sottoinsieme. $\{a\} \in P(A)$ è vera. ::: > [!RICORDA] > - $P(A)$ ha come elementi tutti i sottoinsiemi di $A$, compresi il vuoto e $A$. > - Se $A$ ha $n$ elementi, $P(A)$ ne ha $2^n$: ogni elemento in più raddoppia il conto. > - Gli elementi di $P(A)$ sono sacchetti: $\{1\} \in P(A)$, ma $1 \notin P(A)$. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\in$, $\notin$ | «appartiene a», «non appartiene a» | è, o non è, un elemento di | $6 \in \{6\}$ | | $\subset$ | «è contenuto in» | è un sottoinsieme (può anche essere uguale) | $\{2\} \subset \{2, 4\}$ | | $\emptyset$ | «insieme vuoto» | l'insieme senza elementi | $\{1\} \cap \{2\} = \emptyset$ | | $A \cap B$ | «$A$ intersecato $B$» | gli elementi che stanno in $A$ e in $B$ | $\{1, 2\} \cap \{2, 3\} = \{2\}$ | | $A \cup B$ | «$A$ unione $B$» | gli elementi che stanno in $A$ oppure in $B$ | $\{1, 2\} \cup \{2, 3\} = \{1, 2, 3\}$ | | $A \setminus B$ | «$A$ meno $B$» | gli elementi di $A$ che non stanno in $B$ | $\{1, 2\} \setminus \{2, 3\} = \{1\}$ | | $C_X(A)$ | «complementare di $A$ in $X$» | gli elementi di $X$ fuori da $A$ | $C_{\{1, 2, 3\}}(\{1\}) = \{2, 3\}$ | | $\lvert A \rvert$ | «cardinalità di $A$» | il numero di elementi di $A$ | $\lvert \{a, b\} \rvert = 2$ | | $\{A_i\}_{i \in I}$ | «la famiglia degli $A_i$» | un gruppo di sottoinsiemi, con un numero ciascuno | $A_1 = \{1\}$, $A_2 = \{2, 3\}$ | | $\bigcup_{i \in I} A_i$, $\bigcap_{i \in I} A_i$ | «unione», «intersezione degli $A_i$» | unione e intersezione di tutte le parti | $A_1 \cup A_2 \cup A_3$ | | $\N$, $\Z$, $\Q$, $\R$ | «enne», «zeta», «cu», «erre» | naturali, interi, frazioni, reali | $-3 \in \Z$ | | $n\Z$ | «enne zeta» | i multipli interi di $n$ | $6 \in 3\Z$ | | $S + a$ | «$S$ più $a$» | ogni elemento di $S$ aumentato di $a$ | $2\Z + 1$ sono i dispari | | $[x]$, $\overline x$ | «classe di $x$», «$x$ segnato» | la parte della partizione che contiene $x$ | $[0]$ sono i pari | | $s(n)$ | «esse di $n$» | il successivo di $n$ | $s(4) = 5$ | | $\ge$ | «maggiore o uguale a» | più grande oppure uguale | $2^3 \ge 4$ | | $2^n$ | «due alla $n$» | 2 moltiplicato per sé stesso $n$ volte | $2^4 = 16$ | | $P(A)$ | «parti di $A$» | l'insieme di tutti i sottoinsiemi di $A$ | $P(\{a\}) = \{\emptyset, \{a\}\}$ | | $(a, b)$, $[a, b]$ | «intervallo aperto», «intervallo chiuso» | i reali tra $a$ e $b$, estremi esclusi o compresi | $1 \in [0, 1]$ | | $\forall$, $\exists$ | «per ogni», «esiste» | per tutti, per almeno uno (nei riquadri del libro) | $\forall n \in \N,\ 2^n \ge n + 1$ | | $\neq$ | «diverso da» | non uguale | $0 \neq s(n)$ | ## Verso l'esame La prova di **Matematica Discreta**, la parte 1 di MDAG, è scritta ed è la stessa per i canali A, B e C. Al 02/10/2026 le regole del 2026/27 non sono ancora uscite; quelle del 2025/26 dicono così. **Com'è fatta la prova** - **10 domande a risposta multipla**, ognuna con 5 risposte e una sola giusta. Una risposta giusta vale 1 punto; una sbagliata o vuota vale 0. - **2 problemi** a risposta aperta, divisi in più domande con il punteggio scritto accanto. - **Sbarramento.** Con meno di 6 punti nel quiz la prova non è superata, e i problemi non vengono corretti. - **Sufficienza:** almeno 18 punti in tutto. **Durata:** 2 ore. - **Materiale ammesso:** libro di testo e appunti del corso, e una calcolatrice non programmabile. | Appello 2026/27 | Iscrizioni su MyUniTo (appello «M.D.A.G.1») | Ora | |---|---|---| | mar 19/01/2027 | 30/12/2026 – 12/01/2027 | 14:00 | | mer 03/02/2027 | 14/01 – 27/01/2027 | 14:00 | Dettagli e fonti nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). **Che cosa serve di questa lezione** 1. **Domanda 1 del quiz: unione e intersezione.** È la domanda sugli insiemi che apre quasi ogni appello. Con due insiemi: 14/01/2025, 04/02/2025 e 03/02/2026. Con tre insiemi: 06/06/2025. Con un insieme in più da intersecare, «quale è un sottoinsieme di $(A \cup B) \cap X$?»: 01/07/2026. Con i multipli, $n\Z$: 06/06/2026. Le risposte sbagliate confondono quasi sempre $\in$ e $\subset$. 2. **Domanda 2 del quiz: partizioni e ricoprimenti.** «Quale di queste è una partizione?» nella prova del 10/07/2023 e nell'appello del 04/02/2025. «Quale è un ricoprimento ma non una partizione?» nell'appello del 07/07/2025. Si risolvono con il metodo dei tre controlli. 3. **Il complementare per contare.** Nei problemi di combinatoria, «almeno uno» si conta spesso come «tutti meno nessuno»: è il complementare. Lo usa la soluzione ufficiale dell'appello dell'08/09/2025, problema 2, punto (b). La combinatoria arriva più avanti nel corso. 4. **Induzione e assiomi di Peano.** Negli appelli di Matematica Discreta dal 2021 al 2026 non ho trovato domande che chiedano una dimostrazione per induzione. Il principio di induzione è invece tra gli argomenti dei quiz di Fondamenti dell'Informatica. **Una domanda vera, letta insieme** > [!ESEMPIO] Appello del 07/07/2025, domanda 2 > Il testo: «Sia $X = \{b, c, f, h, k, m, r, u, v, z\}$. Quale delle seguenti è un ricoprimento di $X$ ma non una partizione? > 1. $\{f, h, k, u, v\} \cup \{b, c, k, r, z\}$; > 2. $\{b, c, k, r, s, z\} \cup \{f, h, m, u, v\}$; > 3. $\{b, f, k, m, r\} \cup \{c, h, r, u, v, z\}$; > 4. $\{b, c, m, v, z\} \cup \{f, h, k, u\}$; > 5. $\{b, f, k, r, u, z\} \cup \{c, m, t, v\}$.» > > In pratica chiede: quale coppia di parti copre tutte e dieci le lettere, ma con almeno una lettera in tutte e due le parti? Il simbolo $\cup$ tra le parti dice solo che le parti vanno messe insieme. > > 1. Le lettere delle due parti sono b, c, f, h, k, r, u, v, z: manca la $m$. Non è un ricoprimento. > 2. Nella prima parte c'è la $s$, che in $X$ non c'è: la parte non è un sottoinsieme di $X$. Scartata. > 3. Le lettere sono b, f, k, m, r e c, h, u, v, z, con la $r$ in tutte e due: ci sono tutte e dieci. È un ricoprimento, e la $r$ ripetuta lo rende non una partizione. **È la risposta.** > 4. Manca la $r$: non è un ricoprimento. > 5. Nella seconda parte c'è la $t$, che in $X$ non c'è. Scartata. > > Il metodo è sempre lo stesso: prima controlla che ogni lettera di $X$ compaia, poi che non ci siano lettere estranee, infine cerca le lettere ripetute. **Errori da evitare** - Contare due volte nell'unione un elemento comune. - Scrivere il complementare senza dire in quale insieme $X$. - Nelle leggi di De Morgan, portare il complementare dentro la parentesi senza scambiare $\cap$ e $\cup$. - Considerare una partizione una famiglia con una parte vuota, o controllare le sovrapposizioni solo su tutte le parti insieme invece che a due a due. - Accettare una parte che contiene un elemento estraneo all'insieme. > [!ESAME] Che cosa scrivere sul foglio di riepilogo > Alla prova puoi portare libro e appunti, ma il tempo è poco. Da questa lezione conviene avere pronti: le due leggi di De Morgan, il metodo dei tre controlli per le partizioni e la tabella «elemento o sottoinsieme» della lezione D01. ## Quiz ```quiz D: (Appello del 04/02/2025, domanda 1) Siano $A = \{2, 3, 5, 7, 9\}$ e $B = \{1, 4, 5, 8, 9\}$. Allora: - $6 \in A \cup B$ - $\{3, 4\} \in A \cup B$ - $\{2, 8\} \subset A \cap B$ + $\{5, 9\} = A \cap B$ - $9 \subset A \cap B$ = I numeri che stanno in tutti e due gli insiemi sono 5 e 9, quindi $A \cap B = \{5, 9\}$: la risposta giusta dice proprio questo. Il 6 non sta in nessuno dei due insiemi, quindi non sta nell'unione. $\{3, 4\} \in A \cup B$ è sbagliata perché gli elementi dell'unione sono numeri, non insiemi: sarebbe vera $\{3, 4\} \subset A \cup B$. $\{2, 8\} \subset A \cap B$ è sbagliata perché 2 e 8 non sono comuni. La più tentatrice è $9 \subset A \cap B$: il 9 sta nell'intersezione, ma è un numero, quindi si scrive $9 \in A \cap B$ oppure $\{9\} \subset A \cap B$. D: (Appello del 03/02/2026, domanda 1) Siano $X = \{a, b, f, h, r, s, t, v, z\}$ e $Y = \{d, g, h, m, p, s, t, x, y\}$. Allora: - $\{b, s, t\} \subset X \cap Y$ + $f \notin X \cap Y$ - $\{h, t\} = X \cap Y$ - $\{h, s\} \in X \cap Y$ - $s \subset X \cap Y$ = Le lettere comuni sono $h$, $s$ e $t$, quindi $X \cap Y = \{h, s, t\}$. La $f$ sta in $X$ ma non in $Y$, quindi non sta nell'intersezione: $f \notin X \cap Y$ è vera. $\{b, s, t\} \subset X \cap Y$ è falsa perché la $b$ non è comune. $\{h, t\} = X \cap Y$ è la più tentatrice: $h$ e $t$ sono comuni, ma manca la $s$, quindi l'uguaglianza è falsa. $\{h, s\} \in X \cap Y$ e $s \subset X \cap Y$ confondono elementi e sottoinsiemi. D: (Appello del 01/07/2026, domanda 1) Siano $A = \{b, f, h, m, n\}$, $B = \{d, g, h, p, q\}$ e $X = \{a, f, g, h, s, x, y\}$. Quale dei seguenti è un sottoinsieme di $(A \cup B) \cap X$? - $\{\emptyset\}$ + $\{f, h\}$ - $\{n\}$ - $\{a, g\}$ - $\{b, q\}$ = Prima la parentesi: $A \cup B = \{b, d, f, g, h, m, n, p, q\}$. Poi le lettere di questa unione che stanno anche in $X$: $f$, $g$ e $h$. Quindi $(A \cup B) \cap X = \{f, g, h\}$, e $\{f, h\}$ ne è un sottoinsieme. $\{n\}$ e $\{b, q\}$ stanno nell'unione ma non in $X$. $\{a, g\}$ è la più tentatrice: la $g$ va bene, ma la $a$ sta in $X$ e non nell'unione. $\{\emptyset\}$ non è un sottoinsieme, perché il suo unico elemento, il vuoto, non è una lettera dell'insieme; sarebbe vero $\emptyset \subset (A \cup B) \cap X$. D: (Appello del 06/06/2025, domanda 1) Siano $A = \{3, 4, 7, 9\}$, $B = \{1, 3, 5, 6, 8, 9\}$ e $C = \{2, 4, 5, 8, 9\}$. Allora: - $4 \in A \cap B \cap C$ - $A \subset B \cup C$ - $B \cap C \subset A$ - $A \cap B \subset C$ + $A \cap B \cap C \neq \emptyset$ = Calcola un pezzo alla volta. $A \cap B = \{3, 9\}$, e di questi sta in $C$ solo il 9, quindi $A \cap B \cap C = \{9\}$, che non è vuoto: la risposta giusta è l'ultima. Il 4 non sta in $B$, quindi non sta nell'intersezione dei tre. $A \subset B \cup C$ è falsa per il 7, che non sta né in $B$ né in $C$. $B \cap C = \{5, 8, 9\}$ non è contenuto in $A$, perché 5 e 8 non stanno in $A$. La più tentatrice è $A \cap B \subset C$: il 9 sta in $C$, ma il 3 no. D: (Appello del 06/06/2026, domanda 1) Ricordando che $n\Z = \{nk \mid k \in \Z\}$, dire quale delle seguenti affermazioni è vera. - $7 \in 3\Z \cup 5\Z$ - $\{12, 20\} \subset 3\Z \cap 4\Z$ - $4\Z \cap 5\Z = \emptyset$ - $8 \in 2\Z \cap 5\Z$ + $\{10, 21\} \subset 2\Z \cup 7\Z$ = $n\Z$ sono i multipli di $n$. Il 10 è multiplo di 2 e il 21 è multiplo di 7, quindi tutti e due stanno nell'unione $2\Z \cup 7\Z$: è la risposta giusta. Il 7 non è multiplo né di 3 né di 5. Il 20 non è multiplo di 3, quindi $\{12, 20\}$ non sta in $3\Z \cap 4\Z$. $4\Z \cap 5\Z$ non è vuoto: contiene 20, 40 e tutti i multipli di 20. L'8 è pari ma non è multiplo di 5. La trappola sta nel leggere $\cup$ come «tutti e due»: per l'unione basta essere multiplo di uno solo. D: (Appello del 04/02/2025, domanda 2) Sia $S = \{a, c, f, h, m, t, v\}$. Quale delle seguenti è una partizione di $S$? + $\{m\} \cup \{a, c, t\} \cup \{f, h, v\}$ - $\{f, m\} \cup \{a, t\} \cup \{c, v\}$ - $\emptyset \cup \{a, f, h, m\} \cup \{c, t, v\}$ - $\{a, c\} \cup \{c, f, h, m\} \cup \{t, v\}$ - $\{a, h, m\} \cup \{h, t\} \cup \{c, f\}$ = Fai i tre controlli. La prima famiglia copre tutte e sette le lettere, non ha parti vuote e nessuna lettera si ripete: è una partizione. La seconda non copre la $h$. La terza è la più tentatrice: copre tutto e non ha ripetizioni, ma ha una parte vuota, che una partizione non può avere. La quarta ripete la $c$. La quinta ripete la $h$ e non copre la $v$. D: (Prova scritta del 10/07/2023, domanda 2) Sia $S = \{0, 1, 2, 3, 4, 5, 6\}$. Quale delle seguenti scelte definisce una partizione di $S$? - $A = \{4, 6\}$, $B = \{0, 1, 2\}$, $C = \{3\}$ - $A = \{0, 6\}$, $B = \{1, 3, 4, 6\}$, $C = \{2\}$ + $A = \{1, 3, 5\}$, $B = \{0, 2, 4\}$, $C = \{6\}$ - $A = \{0, 2\}$, $B = \{1, 3, 4, 5\}$, $C = \{4, 6\}$ - $A = \{2, 4, 6\}$, $B = \emptyset$, $C = \{0, 1, 3, 5\}$ = La scelta giusta divide i sette numeri in dispari, pari fino a 4, e il 6 da solo: ognuno sta in una parte e nessuna parte è vuota. Nella prima manca il 5. Nella seconda il 6 sta in due parti e manca il 5. Nella quarta il 4 sta in due parti. L'ultima è la più tentatrice: copre tutto senza ripetizioni, ma $B$ è vuoto. D: Siano $X = \{1, 2, 3, 4, 5, 6, 7, 8\}$, $A = \{1, 2, 3\}$ e $B = \{3, 4, 5\}$. Quanto fa $C_X(A \cup B)$? - $\{3\}$ + $\{6, 7, 8\}$ - $\{1, 2, 4, 5, 6, 7, 8\}$ - $\{1, 2, 3, 4, 5\}$ - $\emptyset$ = Il complementare dell'unione contiene gli elementi di $X$ che non stanno né in $A$ né in $B$. L'unione è $\{1, 2, 3, 4, 5\}$, quindi resta $\{6, 7, 8\}$. Per De Morgan è anche $C_X(A) \cap C_X(B)$: $\{4, 5, 6, 7, 8\}$ e $\{1, 2, 6, 7, 8\}$ hanno in comune proprio $\{6, 7, 8\}$. La risposta $\{1, 2, 4, 5, 6, 7, 8\}$ è il complementare dell'intersezione, cioè l'altra legge: è la più tentatrice. $\{1, 2, 3, 4, 5\}$ è l'unione stessa, e $\{3\}$ l'intersezione. D: Le ore di un orologio, da 0 a 11, con «successivo» uguale a «l'ora dopo» (dopo le 11 vengono le 0). Quale assioma di Peano non è rispettato? - Lo zero è un numero. - Ogni numero ha un successivo. - Due numeri diversi hanno successivi diversi. + Lo zero non è il successivo di nessun numero. - Nessuno: l'orologio rispetta tutti gli assiomi. = Dopo le 11 vengono le 0, quindi lo zero è il successivo di 11: è proprio quello che la quarta regola vieta. Le altre valgono: c'è lo zero, ogni ora ha l'ora dopo, e ore diverse hanno ore dopo diverse. La risposta «nessuno» è sbagliata: se l'orologio rispettasse tutti gli assiomi sarebbe come i naturali, e invece ha solo 12 elementi e conta in tondo. D: Vuoi dimostrare per induzione che $1 + 3 + \dots + (2n - 1) = n^2$. Nel passo induttivo, quale uguaglianza devi ottenere? - $1 + 3 + \dots + (2n - 1) = n^2$ + $1 + 3 + \dots + (2n + 1) = (n + 1)^2$ - $1 + 3 + \dots + (2n + 1) = n^2 + 1$ - $1 = 1^2$ - $(2n - 1) + (2n + 1) = 4n$ = Nel passo induttivo si scrive la formula con $n + 1$ al posto di $n$. L'ultimo dispari diventa $2(n + 1) - 1 = 2n + 1$ e il lato destro diventa $(n + 1)^2$. La prima risposta è l'ipotesi induttiva: si usa, ma non è il punto d'arrivo, ed è la più tentatrice. $1 = 1^2$ è il passo base. D: Quante sono le partizioni dell'insieme $\{1, 2, 3\}$? - $3$ - $4$ + $5$ - $6$ - $8$ = Si contano in base al numero di parti. Una parte: $\{1, 2, 3\}$. Due parti: una coppia e un elemento da solo, e l'elemento da solo può essere 1, 2 o 3, quindi tre modi. Tre parti: $\{1\}$, $\{2\}$, $\{3\}$. In tutto $1 + 3 + 1 = 5$. La risposta 8 è il numero dei sottoinsiemi, che è un'altra cosa: le partizioni non sono sottoinsiemi ma modi di dividere l'insieme. ``` ## Esercizi ::: esercizio base Unione, intersezione, differenza, complementare Prendi $X = \{1, 2, \dots, 12\}$, $A$ i multipli di 2 in $X$ e $B$ i multipli di 3 in $X$. Calcola $A \cap B$, $A \cup B$, $A \setminus B$, $B \setminus A$ e $C_X(A)$. ::: soluzione 1. Scrivi gli insiemi: $A = \{2, 4, 6, 8, 10, 12\}$ e $B = \{3, 6, 9, 12\}$. 2. In comune ci sono 6 e 12: $A \cap B = \{6, 12\}$. Sono i multipli di 6. 3. Tutti insieme, senza ripetere 6 e 12: $A \cup B = \{2, 3, 4, 6, 8, 9, 10, 12\}$. Sono $6 + 4 - 2 = 8$ elementi. 4. Da $A$ togli 6 e 12: $A \setminus B = \{2, 4, 8, 10\}$. 5. Da $B$ togli 6 e 12: $B \setminus A = \{3, 9\}$. 6. Gli elementi di $X$ fuori da $A$ sono i dispari: $C_X(A) = \{1, 3, 5, 7, 9, 11\}$. Controllo con De Morgan: $C_X(A \cup B) = \{1, 5, 7, 11\}$. I numeri che stanno sia in $C_X(A)$ sia in $C_X(B) = \{1, 2, 4, 5, 7, 8, 10, 11\}$ sono proprio 1, 5, 7 e 11. ::: ::: esercizio base Lo stesso insieme, due complementari Calcola il complementare di $A = \{2, 4\}$ in $X = \{1, 2, 3, 4, 5\}$ e in $Y = \{1, 2, \dots, 10\}$. ::: soluzione 1. In $X$ restano gli elementi diversi da 2 e 4: $C_X(A) = \{1, 3, 5\}$. 2. In $Y$ restano $C_Y(A) = \{1, 3, 5, 6, 7, 8, 9, 10\}$. I due complementari sono diversi: dipendono dall'insieme in cui si guarda. ::: ::: esercizio base Esercizio 1.4 del libro: equazioni e insiemi $A$ è l'insieme delle soluzioni di un'equazione $P(x) = 0$ e $B$ quello delle soluzioni di $Q(x) = 0$. (a) L'equazione $P(x) \cdot Q(x) = 0$ ha come soluzioni $A \cap B$ o $A \cup B$? (b) E il sistema formato dalle due equazioni? ::: soluzione 1. (a) Un prodotto vale zero quando almeno uno dei due fattori vale zero. Quindi $x$ è una soluzione quando $P(x) = 0$ **oppure** $Q(x) = 0$: le soluzioni sono $A \cup B$. 2. (b) Un sistema chiede che le due equazioni valgano **insieme**. Le soluzioni sono quelle comuni: $A \cap B$. Controllo con un esempio: $P(x) = x - 1$ e $Q(x) = x - 2$, quindi $A = \{1\}$ e $B = \{2\}$. L'equazione $(x - 1)(x - 2) = 0$ ha soluzioni 1 e 2, cioè $A \cup B$. Il sistema chiede $x = 1$ e $x = 2$ insieme: nessuna soluzione, e infatti $A \cap B = \emptyset$. ::: ::: esercizio medio Esercizio 1.6 del libro: le parti di intersezione e unione Di' se sono vere o false: $P(A \cap B) = P(A) \cap P(B)$ e $P(A \cup B) = P(A) \cup P(B)$. ::: soluzione 1. **La prima è vera.** Un insieme $S$ sta in $P(A \cap B)$ quando è contenuto in $A \cap B$, cioè quando tutti i suoi elementi stanno in $A$ e in $B$. È lo stesso che dire: $S$ è contenuto in $A$ e $S$ è contenuto in $B$, cioè $S$ sta in $P(A)$ e in $P(B)$. 2. **La seconda è falsa.** Basta un controesempio. Prendi $A = \{1\}$ e $B = \{2\}$. Allora $A \cup B = \{1, 2\}$ e $\{1, 2\}$ sta in $P(A \cup B)$. 3. Ma $\{1, 2\}$ non è contenuto né in $A$ né in $B$, quindi non sta in $P(A) \cup P(B)$. Infatti $P(A) \cup P(B) = \{\emptyset, \{1\}, \{2\}\}$ ha 3 elementi, mentre $P(A \cup B)$ ne ha 4. Vale sempre solo il contenimento $P(A) \cup P(B) \subset P(A \cup B)$. ::: ::: esercizio medio Esercizio 1.7 del libro: la seconda proprietà distributiva Dimostra che $(A \cap B) \cup C = (A \cup C) \cap (B \cup C)$, e controllala con $A = \{1, 2\}$, $B = \{2, 3\}$, $C = \{4\}$. ::: soluzione 1. Controllo con i numeri. A sinistra: $A \cap B = \{2\}$, e con $C$ viene $\{2, 4\}$. A destra: $A \cup C = \{1, 2, 4\}$ e $B \cup C = \{2, 3, 4\}$, in comune $\{2, 4\}$. Uguali. 2. Primo contenimento. Prendi $x$ a sinistra: sta in $A \cap B$ oppure in $C$. Se sta in $A \cap B$, sta in $A$ e in $B$, quindi in $A \cup C$ e in $B \cup C$. Se sta in $C$, sta in tutti e due gli insiemi con $C$. In ogni caso sta a destra. 3. Secondo contenimento. Prendi $x$ a destra: sta in $A \cup C$ e in $B \cup C$. Se sta in $C$, sta a sinistra. Se non sta in $C$, allora per stare in $A \cup C$ deve stare in $A$, e per stare in $B \cup C$ deve stare in $B$: quindi sta in $A \cap B$, e di nuovo a sinistra. 4. Con i due contenimenti i due insiemi sono uguali. ::: ::: esercizio medio Esercizio 1.9 del libro: la seconda legge di De Morgan Dimostra che $C_X(A \cup B) = C_X(A) \cap C_X(B)$. ::: soluzione 1. Prendi $x$ in $C_X(A \cup B)$. Allora $x$ sta in $X$ e non sta in $A \cup B$, cioè non sta né in $A$ né in $B$. 2. Siccome non sta in $A$, sta in $C_X(A)$. Siccome non sta in $B$, sta in $C_X(B)$. Quindi sta nell'intersezione $C_X(A) \cap C_X(B)$. 3. Viceversa, prendi $x$ in $C_X(A) \cap C_X(B)$. Sta in $X$, non sta in $A$ e non sta in $B$. 4. Allora non sta in nessuno dei due insiemi, quindi non sta nella loro unione: sta in $C_X(A \cup B)$. 5. Con i due contenimenti, i due insiemi sono uguali. ::: ::: esercizio medio Esercizio 1.11 del libro: De Morgan con la differenza Dimostra che $X \setminus (A \cap B) = (X \setminus A) \cup (X \setminus B)$, anche quando $A$ e $B$ non stanno dentro $X$. Controlla con $X = \{1, \dots, 10\}$, $A = \{1, 2, 3, 4\}$, $B = \{3, 4, 5, 6\}$. ::: soluzione 1. Controllo con i numeri. $A \cap B = \{3, 4\}$, quindi a sinistra restano $\{1, 2, 5, 6, 7, 8, 9, 10\}$. A destra: $X \setminus A = \{5, 6, 7, 8, 9, 10\}$ e $X \setminus B = \{1, 2, 7, 8, 9, 10\}$, e insieme danno $\{1, 2, 5, 6, 7, 8, 9, 10\}$. Uguali. 2. Prendi $x$ a sinistra: sta in $X$ e non è comune ad $A$ e $B$. Quindi non sta in $A$ oppure non sta in $B$: nel primo caso sta in $X \setminus A$, nel secondo in $X \setminus B$. 3. Prendi $x$ a destra: sta in $X$, e non sta in $A$ oppure non sta in $B$. In tutti e due i casi non può stare in $A \cap B$, quindi sta a sinistra. 4. La dimostrazione non ha mai usato che $A$ e $B$ siano dentro $X$: la legge vale per la differenza in generale. Allo stesso modo $X \setminus (A \cup B) = (X \setminus A) \cap (X \setminus B)$. ::: ::: esercizio medio Esercizio 1.12 del libro Dimostra che $(A \cup B) \setminus A = C_B(A \cap B)$. Il libro scrive il lato sinistro $A \cup B \setminus A$. ::: soluzione 1. A sinistra ci sono gli elementi che stanno in $A$ oppure in $B$, ma non in $A$. Non stando in $A$, devono stare in $B$: sono gli elementi di $B$ che non stanno in $A$. 2. A destra, $A \cap B$ è contenuto in $B$, quindi il complementare in $B$ ha senso. Contiene gli elementi di $B$ che non stanno in $A \cap B$. Un elemento di $B$ sta in $A \cap B$ esattamente quando sta in $A$: quindi sono gli elementi di $B$ che non stanno in $A$. 3. I due lati descrivono lo stesso insieme, $B \setminus A$. Controllo: con $A = \{1, 2, 3, 4\}$ e $B = \{3, 4, 5, 6\}$, a sinistra $\{1, 2, 3, 4, 5, 6\} \setminus A = \{5, 6\}$, a destra $B \setminus \{3, 4\} = \{5, 6\}$. ::: ::: esercizio medio Una somma di potenze di 2, per induzione Dimostra che per ogni naturale $n$ vale $1 + 2 + 4 + \dots + 2^n = 2^{n+1} - 1$. ::: soluzione 1. Prima i numeri: $1 = 2 - 1$; $1 + 2 = 3 = 4 - 1$; $1 + 2 + 4 = 7 = 8 - 1$. Funziona. 2. **Passo base**, $n = 0$: a sinistra c'è solo $2^0 = 1$, a destra $2^1 - 1 = 1$. Uguali. 3. **Ipotesi induttiva:** per un certo $n$ vale $1 + 2 + \dots + 2^n = 2^{n+1} - 1$. 4. **Passo induttivo.** Devi arrivare a $1 + 2 + \dots + 2^n + 2^{n+1} = 2^{n+2} - 1$. Per l'ipotesi, i primi addendi fanno $2^{n+1} - 1$, quindi il lato sinistro è $2^{n+1} - 1 + 2^{n+1}$. 5. Due volte $2^{n+1}$ fa $2 \cdot 2^{n+1} = 2^{n+2}$. Il lato sinistro è quindi $2^{n+2} - 1$, come volevi. 6. **Conclusione:** per induzione la formula vale per ogni naturale $n$. A Fondamenti dell'Informatica la stessa formula dice che il numero binario 11111, cinque 1, vale $2^5 - 1 = 31$. ::: ::: esercizio medio Esercizio 1.14 del libro: tutte le partizioni di quattro lettere Trova tutte le partizioni dell'insieme $A = \{a, b, c, d\}$. ::: soluzione Le conto in base al numero di parti. 1. **Una parte:** $\{a, b, c, d\}$. Una partizione. 2. **Due parti, una lettera da sola e tre insieme:** la lettera sola può essere $a$, $b$, $c$ o $d$. Quattro partizioni, per esempio $\{a\}$ e $\{b, c, d\}$. 3. **Due parti di due lettere:** la compagna della $a$ può essere $b$, $c$ o $d$, e le altre due lettere formano l'altra parte. Tre partizioni: $\{a, b\}$ e $\{c, d\}$; $\{a, c\}$ e $\{b, d\}$; $\{a, d\}$ e $\{b, c\}$. 4. **Tre parti, una coppia e due lettere da sole:** basta scegliere la coppia, e le coppie di quattro lettere sono sei ($ab$, $ac$, $ad$, $bc$, $bd$, $cd$). Sei partizioni, per esempio $\{a, b\}$, $\{c\}$, $\{d\}$. 5. **Quattro parti:** $\{a\}$, $\{b\}$, $\{c\}$, $\{d\}$. Una partizione. In tutto $1 + 4 + 3 + 6 + 1 = 15$ partizioni. ::: ::: esercizio medio Esercizio 1.15 del libro: le rette per l'origine Le rette del piano che passano per l'origine $O$ sono un ricoprimento del piano? Una partizione? ::: soluzione 1. **Ricoprimento: sì.** Prendi un punto $P$ del piano. Se è diverso da $O$, la retta che passa per $O$ e per $P$ è una delle rette della famiglia, e contiene $P$. Se $P$ è proprio $O$, sta su tutte. Quindi l'unione delle rette è tutto il piano. 2. **Partizione: no.** Due rette diverse per l'origine hanno in comune il punto $O$: non sono disgiunte. Il terzo controllo fallisce. Se si toglie l'origine da ogni retta e dal piano, le rette senza $O$ diventano una partizione del piano senza $O$. ::: ::: esercizio difficile Esercizio 1.16 del libro: dividere i sottoinsiemi per grandezza Sia $X$ un insieme con $n$ elementi e, per ogni $k$ da 0 a $n$, sia $P_k$ l'insieme dei sottoinsiemi di $X$ con $k$ elementi. Dimostra che le $P_k$ sono una partizione di $P(X)$. Quanti elementi ha l'insieme quoziente? ::: soluzione 1. Prima un esempio, con $X = \{1, 2, 3\}$: $P_0 = \{\emptyset\}$, $P_1$ ha i tre sottoinsiemi con un elemento, $P_2$ i tre con due, $P_3 = \{X\}$. È la tabella della sezione sull'insieme delle parti. 2. **Coprono tutto.** Ogni sottoinsieme di $X$ ha un certo numero $k$ di elementi, tra 0 e $n$, e quindi sta in $P_k$. 3. **Nessuna parte vuota.** Per ogni $k$ da 0 a $n$ esiste un sottoinsieme con $k$ elementi: prendi $k$ elementi qualunque di $X$. Quindi $P_k$ non è vuoto. 4. **Nessuna sovrapposizione.** Un sottoinsieme ha un solo numero di elementi, quindi non può stare in due parti $P_j$ e $P_k$ con $j$ diverso da $k$. 5. **Il quoziente** ha come elementi le parti $P_0, P_1, \dots, P_n$: sono $n + 1$. Con $X = \{1, 2, 3\}$ il quoziente ha 4 elementi, e le grandezze delle parti sono 1, 3, 3, 1: in tutto 8 sottoinsiemi, come deve essere. ::: ::: esercizio difficile Esercizio 1.5 del libro Dimostra che $A \cap B = \emptyset$ esattamente quando $P(A) \cap P(B) = \{\emptyset\}$. ::: soluzione 1. Dall'esercizio 4 sai che $P(A) \cap P(B) = P(A \cap B)$. Quindi devi dimostrare: $A \cap B$ è vuoto esattamente quando $P(A \cap B) = \{\emptyset\}$. 2. Se $A \cap B$ è vuoto, il suo unico sottoinsieme è il vuoto: $P(\emptyset) = \{\emptyset\}$. 3. Se invece $A \cap B$ contiene un elemento $x$, allora $\{x\}$ è un suo sottoinsieme, e $P(A \cap B)$ contiene almeno $\emptyset$ e $\{x\}$: non è $\{\emptyset\}$. 4. Le due frasi sono vere esattamente negli stessi casi. Attenzione: $\{\emptyset\}$ non è l'insieme vuoto. Ha un elemento, il vuoto, e infatti il vuoto è un sottoinsieme comune a qualunque coppia di insiemi. ::: ## Domande di ripasso ::: domanda Che differenza c'è tra intersezione e unione? Fai un esempio. L'intersezione contiene gli elementi che stanno in tutti e due gli insiemi, l'unione quelli che stanno in almeno uno. Con $\{1, 2\}$ e $\{2, 3\}$: intersezione $\{2\}$, unione $\{1, 2, 3\}$. ::: ::: domanda Che cosa vuol dire che due insiemi sono disgiunti? Che non hanno elementi in comune: la loro intersezione è vuota. Per esempio i pari e i dispari. ::: ::: domanda Che differenza c'è tra $A \setminus B$ e $C_X(A)$? $A \setminus B$ toglie da $A$ gli elementi di $B$, e si può fare con due insiemi qualunque. $C_X(A)$ è la differenza $X \setminus A$ quando $A$ è contenuto in $X$: è tutto quello che di $X$ sta fuori da $A$. Dipende da $X$. ::: ::: domanda Come si ricordano le leggi di De Morgan? Il complementare entra nella parentesi e scambia unione e intersezione. Fuori dall'unione vuol dire fuori da tutti e due; fuori dall'intersezione vuol dire fuori da almeno uno. ::: ::: domanda Che cosa dice il quinto assioma di Peano, e che cosa c'entra con l'induzione? Dice che un insieme di naturali che contiene lo zero e, con ogni numero, anche il suo successivo, contiene tutti i naturali. Il passo base mette lo zero nell'insieme dei numeri per cui la proprietà è vera, e il passo induttivo dice che quell'insieme passa al successivo: quindi contiene tutti i naturali. ::: ::: domanda Perché un insieme con $n$ elementi ha $2^n$ sottoinsiemi? Perché per ogni elemento si sceglie «dentro» o «fuori», e le scelte si moltiplicano: $2 \cdot 2 \cdots 2$, $n$ volte. Detto con l'induzione: aggiungendo un elemento, i sottoinsiemi si dividono in quelli senza e quelli con il nuovo elemento, e il conto raddoppia. ::: ::: domanda Che differenza c'è tra un ricoprimento e una partizione? In un ricoprimento le parti coprono tutto l'insieme, ma possono sovrapporsi. In una partizione, in più, nessuna parte è vuota e due parti diverse non hanno elementi in comune: ogni elemento sta in una parte sola. ::: ::: domanda Che cos'è l'insieme quoziente di una partizione? È l'insieme che ha come elementi le parti della partizione. Per la partizione degli interi in pari e dispari ha due elementi: i pari, che si possono scrivere $[0]$, e i dispari, $[1]$. ::: ## Glossario ```glossario Intersezione | L'insieme degli elementi che stanno in tutti e due gli insiemi: $A \cap B$. Esempio: $\{1, 2\} \cap \{2, 3\} = \{2\}$. Unione | L'insieme degli elementi che stanno in almeno uno dei due insiemi: $A \cup B$. Gli elementi comuni si contano una volta. Disgiunti | Due insiemi senza elementi in comune: la loro intersezione è vuota. Differenza | $A \setminus B$: gli elementi di $A$ che non stanno in $B$. L'ordine conta. Complementare | Se $A$ è contenuto in $X$, il complementare $C_X(A)$ sono gli elementi di $X$ fuori da $A$. Dipende da $X$. Leggi di De Morgan | Il complementare dell'unione è l'intersezione dei complementari, e il complementare dell'intersezione è l'unione dei complementari. Proprietà distributive | $(A \cup B) \cap C = (A \cap C) \cup (B \cap C)$, e la stessa regola con unione e intersezione scambiate. Assioma | Una regola che non si dimostra e si accetta come punto di partenza. Assiomi di Peano | Le cinque regole che descrivono i naturali: lo zero, il successivo, niente ritorni allo zero, niente cappi, e il principio di induzione. Successivo | Il numero che viene subito dopo: $s(n) = n + 1$. Principio di induzione | Se un insieme di naturali contiene lo zero e passa sempre al successivo, contiene tutti i naturali. Ipotesi induttiva | Nel passo induttivo, la proprietà per $n$, che si suppone vera e si usa per arrivare a $n + 1$. Insieme delle parti | $P(A)$, l'insieme di tutti i sottoinsiemi di $A$. Se $A$ ha $n$ elementi, $P(A)$ ne ha $2^n$. Famiglia di insiemi | Un gruppo di insiemi con un'etichetta ciascuno, scritto $\{A_i\}_{i \in I}$. Ricoprimento | Una famiglia di sottoinsiemi di $X$ la cui unione è tutto $X$. Le parti possono sovrapporsi. Partizione | Un ricoprimento con parti non vuote e disgiunte a due a due: ogni elemento sta in una parte sola. Insieme quoziente | L'insieme che ha come elementi le parti di una partizione. Rappresentante | Un elemento qualunque di una parte; la parte si scrive $[x]$, «la parte che contiene $x$». ``` ## Checklist ```checklist - So calcolare intersezione, unione e differenza di due o tre insiemi scritti con l'elenco. - So distinguere $x \in A \cap B$ da $\{x\} \subset A \cap B$. - So calcolare il complementare di un sottoinsieme e so che dipende dall'insieme di partenza. - So enunciare le due leggi di De Morgan e controllarle su un esempio. - So dimostrare un'uguaglianza tra insiemi con la doppia inclusione. - So spiegare a parole i cinque assiomi di Peano e trovare quello che manca in un esempio. - So fare una dimostrazione per induzione: passo base, ipotesi, passo induttivo, conclusione. - So contare i sottoinsiemi di un insieme e distinguere gli elementi di $P(A)$ dai suoi sottoinsiemi. - So riconoscere un ricoprimento e una partizione con i tre controlli. - So dire che cos'è l'insieme quoziente di una partizione. ``` ## Fonti - A. Mori, *Lezioni di Matematica Discreta*, 2ª edizione, testo del canale B: capitolo 1 «Insiemi», pp. 5–13 (assiomi di Peano, teorema 1.10 ed esempi di p. 7, definizioni 1.13, 1.14, 1.16, 1.17, 1.19, 1.21 e 1.22, proposizione 1.15, teorema 1.18, nota 1.20) ed esercizi 1.4–1.7, 1.9, 1.11, 1.12, 1.14–1.16 (pp. 14–15). Le definizioni e gli enunciati nei riquadri sono citati dal libro. I due refusi degli esempi di ricoprimento (p. 11 e p. 12) sono segnalati nel riquadro sui ricoprimenti. - Argomenti della lezione del 02/10/2026 sul Moodle del canale B: complementare di un sottoinsieme, leggi di De Morgan, i naturali e gli assiomi di Peano, il principio di induzione come metodo dimostrativo, l'insieme delle parti e la sua cardinalità, ricoprimenti e partizioni. - Quiz e problemi degli appelli di Matematica Discreta, con le soluzioni ufficiali, sulla pagina Moodle MDAG1 2025/26 ([id 3501](https://informatica.i-learn.unito.it/course/view.php?id=3501), aperta agli ospiti) e nella raccolta dei quiz 2021–2025: prova del 10/07/2023 (domanda 2); appelli del 14/01/2025, 04/02/2025 (domande 1 e 2), 06/06/2025 (domanda 1), 07/07/2025 (domanda 2), 08/09/2025 (problema 2), 03/02/2026, 06/06/2026 e 01/07/2026 (domanda 1). - Calendario degli appelli 2026/27 e regole d'esame: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). - V. Bocchino, *Rigurgiti di Unicorno*, appunti di Matematica Discreta scritti da uno studente sul libro di Mori (licenza CC BY-NC-SA 4.0, [GitHub](https://github.com/bocchinovalentino/rigurgiti_di_unicorno)): un riepilogo già pronto, non ufficiale. - Le spiegazioni a parole, gli esempi con le tessere, i riquadri «Ripasso» e «Prova tu», i quiz senza data e gli esercizi senza il numero del libro sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/D03_prodotto_cartesiano_relazioni.md` ```yaml corso: MDAG modulo: MD lezione: D03 titolo: Prodotto cartesiano e relazioni di equivalenza data: 2026-10-05 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Parte 1 (modA) · Matematica Discreta · Canali A, B e C · Lezione D03 descrizione: >- Appunti della lezione D03 di Matematica Discreta (MDAG, parte 1, canali A, B e C): coppie ordinate, prodotto cartesiano e numero dei suoi elementi, terne, relazioni in un insieme, proprietà riflessiva, simmetrica, antisimmetrica e transitiva, relazioni d'ordine, relazioni di equivalenza, congruenza modulo N, classi di equivalenza, partizioni e insieme quoziente, con le domande vere degli appelli ed esercizi svolti. lede: >- Come si mettono in fila due oggetti, quando l'ordine conta, e come si costruiscono tutte le coppie possibili. Poi come si descrive un legame tra gli elementi di un insieme, e perché i legami del tipo «essere dello stesso tipo» dividono sempre l'insieme in gruppi. materiale: libro scheda: Libro: A. Mori, Lezioni di Matematica Discreta, cap. 1, pp. 13–15, e appendice A, pp. 153–155 Docenti: Andrea Mori (canale B), Ignazio Longhi e Lea Terracini (canali A e C) · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- A. Mori, Lezioni di Matematica Discreta (testo del canale B), cap. 1 «Insiemi», pp. 13–15, e appendice A «Gli insiemi numerici», pp. 153–155; diario delle lezioni del canale B 2025/26; quiz degli appelli di Matematica Discreta 2025–2026 appunti_html: appunti/MDAG/D03_prodotto_cartesiano_relazioni.html genera_html: true ``` ## In breve - Una **coppia ordinata** è fatta di due oggetti messi in fila, il primo e il secondo. A differenza di un insieme, qui l'ordine conta: la casella B3 della battaglia navale non è la casella 3B. - Il **prodotto cartesiano** di due insiemi è l'insieme di tutte le coppie che si possono formare prendendo il primo oggetto dal primo insieme e il secondo dal secondo. Se gli insiemi hanno 3 e 4 elementi, le coppie sono $3 \cdot 4 = 12$. - Una **relazione** in un insieme è una scelta di alcune coppie: dice quali elementi sono «legati» tra loro. «Divide», «è minore di», «è nato nello stesso mese di» sono relazioni. - Una relazione può avere quattro **proprietà**: ognuno è legato a sé stesso (riflessiva); i legami valgono nei due sensi (simmetrica); due elementi diversi non sono mai legati nei due sensi (antisimmetrica); i legami si passano lungo una catena (transitiva). - Una **relazione di equivalenza** è riflessiva, simmetrica e transitiva: vuol dire «essere dello stesso tipo». Un esempio da ricordare: due interi sono equivalenti quando la loro differenza è un multiplo di 3. - Ogni equivalenza divide l'insieme in gruppi, le **classi di equivalenza**, e questi gruppi formano una partizione: sono i cassetti della lezione D02. - All'esame la domanda 2 del quiz chiede quasi sempre di riconoscere un elemento del prodotto cartesiano. Le classi di equivalenza tornano più avanti nel corso, con le classi di resto. > [!CANALI] > Matematica Discreta ha **lo stesso programma e la stessa prova d'esame** nei canali A, B e C: questi appunti valgono per tutti e tre. Nel canale B è la lezione di lunedì 05/10/2026 con Andrea Mori. Al momento in cui scrivo gli argomenti di questa lezione non sono ancora sul Moodle del canale B: li ho ricostruiti dall'ordine del libro, che riprende da dove si era fermata la lezione D02, e dal diario dell'anno scorso, in cui la terza lezione era dedicata alle relazioni di equivalenza e alle partizioni. Il libro mette le relazioni nell'appendice A, pp. 153–155. Quando il docente pubblica gli argomenti, controllo e aggiorno. ## Coppie in cui l'ordine conta (p. 13) Nella battaglia navale ogni casella ha un nome fatto di due pezzi: una lettera per la colonna e un numero per la riga. «B3» vuol dire colonna B, riga 3. Se un giocatore dice «3B» non si capisce, oppure si capisce una casella diversa: i due pezzi hanno un posto fisso, prima la colonna e poi la riga. Al cinema succede lo stesso con «fila 5, posto 12»: se scambi i due numeri, ti siedi nel posto sbagliato. > [!IDEA] > Una coppia ordinata è fatta di due oggetti messi in fila: c'è un primo e c'è un secondo, e scambiarli cambia la coppia. Una coppia ordinata si scrive con le parentesi tonde e la virgola: $(B, 3)$ si legge «la coppia B, 3». L'oggetto a sinistra si chiama **prima componente**, quello a destra **seconda componente**. Le tonde servono proprio a distinguere la coppia da un insieme. Con le graffe l'ordine non conta, come hai visto nella lezione D01: $\{2, 5\}$ e $\{5, 2\}$ sono lo stesso sacchetto. Con le tonde l'ordine conta: $$(2, 5) \neq (5, 2)$$ Il simbolo $\neq$ si legge «diverso da». Due coppie sono uguali solo se coincidono pezzo per pezzo: stessa prima componente e stessa seconda componente. 1. $(3, 7) = (3, 7)$: tutti e due i pezzi coincidono. 2. $(3, 7) \neq (7, 3)$: i pezzi sono gli stessi, ma in posti diversi. 3. $(3, 7) \neq (3, 8)$: la prima componente coincide, la seconda no. Un'altra differenza con gli insiemi: in una coppia lo stesso oggetto può comparire due volte. $(4, 4)$ è una coppia vera, con il 4 al primo e al secondo posto, come la casella «riga 4, colonna 4» di una scacchiera. Invece $\{4, 4\}$ è solo un modo lungo di scrivere $\{4\}$, un sacchetto con una tessera. > [!TRAPPOLA] Tonde e graffe non sono la stessa cosa > $(1, 2)$ è una coppia, $\{1, 2\}$ è un insieme con due elementi. Nelle domande del quiz compaiono tutte e due le scritture, e le risposte sbagliate scambiano spesso una con l'altra. ::: prova Quali di queste uguaglianze sono vere? (a) $(1, 2) = (2, 1)$; (b) $\{1, 2\} = \{2, 1\}$; (c) $(5, 5) = (5, 5)$; (d) $\{5, 5\} = \{5\}$. (a) Falsa: nella coppia l'ordine conta. (b) Vera: nell'insieme l'ordine non conta. (c) Vera: stessi pezzi negli stessi posti. (d) Vera: in un insieme un elemento ripetuto conta una volta sola. ::: > [!RICORDA] > - Una coppia ordinata $(a, b)$ ha un primo e un secondo: $(a, b)$ e $(b, a)$ sono diverse se $a$ e $b$ sono diversi. > - Due coppie sono uguali quando coincidono pezzo per pezzo. > - Tonde per le coppie, graffe per gli insiemi. ## Tutte le coppie possibili: il prodotto cartesiano (p. 13) Prendi una battaglia navale piccolissima, con tre colonne A, B, C e due righe 1, 2. Quante caselle ci sono? Per ogni colonna ci sono due righe, quindi le caselle sono sei: | | colonna A | colonna B | colonna C | |---|---|---|---| | **riga 1** | $(A, 1)$ | $(B, 1)$ | $(C, 1)$ | | **riga 2** | $(A, 2)$ | $(B, 2)$ | $(C, 2)$ | L'insieme di tutte le caselle si costruisce così: prendi l'insieme delle colonne $\{A, B, C\}$, l'insieme delle righe $\{1, 2\}$, e forma tutte le coppie possibili «colonna, riga». > [!IDEA] > Il prodotto cartesiano di due insiemi è l'insieme di tutte le coppie che hanno il primo pezzo nel primo insieme e il secondo pezzo nel secondo. Il prodotto cartesiano si scrive con una croce tra i due insiemi: $A \times B$. Si legge «A per B», oppure «A cartesiano B». Il nome viene da Cartesio, il matematico delle coordinate. ### Un esempio, un passo alla volta Prendi $A = \{1, 2, 3\}$ e $B = \{6, 7\}$. Per scrivere $A \times B$ senza dimenticare niente conviene un metodo fisso. 1. Prendi il primo elemento di $A$, cioè 1, e mettilo in coppia con ogni elemento di $B$: $(1, 6)$ e $(1, 7)$. 2. Passa al secondo elemento di $A$, il 2: $(2, 6)$ e $(2, 7)$. 3. Poi il 3: $(3, 6)$ e $(3, 7)$. 4. Gli elementi di $A$ sono finiti: hai finito. $$A \times B = \{(1, 6), (1, 7), (2, 6), (2, 7), (3, 6), (3, 7)\}$$ Il risultato è un insieme, con le graffe, e i suoi elementi sono coppie, con le tonde. Le coppie si possono elencare in qualunque ordine, perché sono elementi di un insieme; ma dentro ogni coppia l'ordine è fisso: prima il pezzo di $A$, poi quello di $B$. Ora scambia i due insiemi. In $B \times A$ il primo pezzo viene da $B$ e il secondo da $A$: $$B \times A = \{(6, 1), (6, 2), (6, 3), (7, 1), (7, 2), (7, 3)\}$$ Nessuna coppia di $B \times A$ sta in $A \times B$: per esempio $(6, 1)$ ha il 6 al primo posto, e il 6 non sta in $A$. Quindi in generale $A \times B$ e $B \times A$ sono insiemi diversi. ```grafico titolo: $A \times B$ con $A = \{1, 2, 3\}$ e $B = \{6, 7\}$: ogni punto è una coppia, prima componente in orizzontale, seconda in verticale x: 0 4 y: 5 8 nomi: $A$ $B$ griglia: no punto: 1 6 | blu | $(1, 6)$ | se punto: 2 6 | blu | $(2, 6)$ | se punto: 3 6 | blu | $(3, 6)$ | se punto: 1 7 | accento | $(1, 7)$ | ne punto: 2 7 | accento | $(2, 7)$ | ne punto: 3 7 | accento | $(3, 7)$ | ne testo: 0.25 6 | grigio | $6$ testo: 0.25 7 | grigio | $7$ testo: 3.8 5.25 | grigio | $A$ ``` Guarda la figura: le coppie si dispongono su una griglia, come le caselle della battaglia navale. Ogni colonna corrisponde a un elemento di $A$, ogni riga a un elemento di $B$. Il libro scrive così la definizione. > [!DEF] 1.23 · Prodotto cartesiano > Siano $A$ e $B$ insiemi. Si definisce **prodotto cartesiano** di $A$ e $B$ e si denota $A \times B$ l'insieme i cui elementi sono coppie di elementi con il primo elemento in $A$ ed il secondo in $B$, ovvero > $$A \times B = \{(a, b) \text{ tali che } a \in A \text{ e } b \in B\}.$$ **Come si legge.** La riga con le graffe dice: «il prodotto è fatto delle coppie $(a, b)$ con il primo pezzo in $A$ e il secondo in $B$». Il simbolo $\in$ si legge «appartiene a», cioè «sta nell'insieme». Per controllare se una coppia sta in $A \times B$ bastano quindi due domande: il primo pezzo sta in $A$? il secondo pezzo sta in $B$? Servono due sì. ### Il prodotto di un insieme per sé stesso Niente vieta di prendere due volte lo stesso insieme. $A \times A$, che si scrive anche $A^2$ e si legge «$A$ al quadrato», è l'insieme delle coppie con tutti e due i pezzi in $A$. Con $A = \{1, 2\}$: $$A \times A = \{(1, 1), (1, 2), (2, 1), (2, 2)\}$$ Qui compaiono sia $(1, 2)$ sia $(2, 1)$, che sono coppie diverse. Compaiono anche le due coppie con i pezzi uguali. Questo prodotto servirà tra poco per le relazioni. ### Quando un insieme è vuoto (p. 13) Se $A$ è vuoto, non c'è niente da mettere al primo posto, quindi non si forma nessuna coppia. Lo stesso se è vuoto $B$: $$\emptyset \times B = \emptyset \qquad A \times \emptyset = \emptyset$$ Il simbolo $\emptyset$ si legge «insieme vuoto». Al contrario, se tutti e due gli insiemi hanno almeno un elemento, con quei due elementi si forma una coppia. Quindi il prodotto non è vuoto. ::: prova Scrivi $\{a, b\} \times \{0, 1, 2\}$. Quanti elementi ha? La coppia $(0, a)$ ci sta? $\{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)\}$: sei elementi. $(0, a)$ non ci sta, perché il primo pezzo deve stare in $\{a, b\}$ e 0 non ci sta. ::: ::: prova Con $A = \{1, 2\}$ e $B = \{2, 3\}$, la coppia $(2, 2)$ sta in $A \times B$? E in $B \times A$? Sì, in tutti e due: 2 sta sia in $A$ sia in $B$, quindi va bene sia al primo sia al secondo posto. ::: > [!RICORDA] > - $A \times B$ è l'insieme di tutte le coppie con il primo pezzo in $A$ e il secondo in $B$. > - Per scriverlo: fissa un elemento di $A$, accoppialo con tutti quelli di $B$, poi passa al successivo. > - In generale $A \times B$ e $B \times A$ sono diversi; se uno dei due insiemi è vuoto, il prodotto è vuoto. ## Quante sono le coppie (pp. 13–14) Torna alla battaglia navale piccola: 3 colonne e 2 righe danno 6 caselle. Una battaglia navale vera ha 10 colonne e 10 righe, quindi 100 caselle. Le caselle sono il numero delle colonne moltiplicato per il numero delle righe, perché formano un rettangolo. > [!IDEA] > Il numero delle coppie è il numero degli elementi del primo insieme moltiplicato per il numero degli elementi del secondo. Per ogni primo pezzo ci sono tutti i secondi pezzi possibili. Ricorda dalla lezione D02 che $|A|$ si legge «cardinalità di $A$» e vuol dire «quanti elementi ha $A$». Con questa scrittura la regola è $|A \times B| = |A| \cdot |B|$. 1. $A = \{1, 2, 3\}$ e $B = \{6, 7\}$: $|A| = 3$, $|B| = 2$, quindi $|A \times B| = 3 \cdot 2 = 6$. Sono le sei coppie elencate prima. 2. $A = \{a, b, c, d\}$ e $B = \{x, y, z\}$: $4 \cdot 3 = 12$ coppie. 3. $A = \{1, 2\}$: $|A \times A| = 2 \cdot 2 = 4$. Il libro la scrive così. > [!PROP] 1.24 · Elementi del prodotto cartesiano > Siano $A$ e $B$ insiemi. Se $A$ e $B$ sono finiti con $|A| = m$ e $|B| = n$ allora $|A \times B| = mn$. Se invece almeno uno tra $A$ e $B$ è infinito allora anche $A \times B$ è infinito. **Come si legge.** La prima frase è la regola del rettangolo. La seconda dice: se uno dei due insiemi ha infiniti elementi, anche le coppie sono infinite. Il libro dà per scontato che nessuno dei due insiemi sia vuoto: se uno è vuoto, il prodotto è vuoto, come hai visto prima. > [!DIM] perché le coppie sono $mn$ > Il libro numera gli elementi: $A = \{a_1, \dots, a_m\}$ e $B = \{b_1, \dots, b_n\}$. La scrittura $a_1, \dots, a_m$ vuol dire «un elenco di $m$ elementi: il primo si chiama $a_1$, l'ultimo $a_m$». Poi dispone le coppie in una tabella: nella riga 1 tutte le coppie che cominciano con $a_1$, nella riga 2 quelle che cominciano con $a_2$, e così via. > > | | $b_1$ | $b_2$ | $\cdots$ | $b_n$ | > |---|---|---|---|---| > | $a_1$ | $(a_1, b_1)$ | $(a_1, b_2)$ | $\cdots$ | $(a_1, b_n)$ | > | $a_2$ | $(a_2, b_1)$ | $(a_2, b_2)$ | $\cdots$ | $(a_2, b_n)$ | > | $\vdots$ | $\vdots$ | $\vdots$ | | $\vdots$ | > | $a_m$ | $(a_m, b_1)$ | $(a_m, b_2)$ | $\cdots$ | $(a_m, b_n)$ | > > Ogni coppia di $A \times B$ compare nella tabella una volta sola: nella riga del suo primo pezzo e nella colonna del suo secondo pezzo. La tabella ha $m$ righe e $n$ colonne, quindi $mn$ caselle. > [!NOTA] Dove torna questa regola > «Per ogni scelta del primo pezzo ci sono $n$ scelte del secondo, quindi in tutto si moltiplica» è l'idea di partenza della combinatoria, il capitolo 3 del libro. Lì si chiamerà metodo delle scelte successive. ::: prova Un menu ha 4 primi e 5 secondi. Quanti pranzi diversi «un primo e un secondo» si possono fare? Ogni pranzo è una coppia (primo, secondo), quindi i pranzi sono gli elementi del prodotto cartesiano: $4 \cdot 5 = 20$. ::: ::: prova $A$ ha 6 elementi e $A \times B$ ne ha 24. Quanti elementi ha $B$? $6 \cdot |B| = 24$, quindi $|B| = 4$. ::: > [!RICORDA] > - $|A \times B| = |A| \cdot |B|$: le coppie formano un rettangolo con $|A|$ righe e $|B|$ colonne. > - Se uno dei due insiemi è infinito (e l'altro non è vuoto), anche il prodotto è infinito. ## Tre insiemi o più: terne e n-uple (pp. 13–14) Una data è fatta di tre pezzi in un ordine fisso: giorno, mese, anno. Il 5 ottobre 2026 si scrive $(5, 10, 2026)$. Se scambi i pezzi ottieni un'altra data, oppure niente: $(10, 5, 2026)$ è il 10 maggio. Tre oggetti messi in fila formano una **terna** ordinata, e si scrivono tra tonde con due virgole. Il prodotto cartesiano di tre insiemi è l'insieme delle terne con il primo pezzo nel primo insieme, il secondo nel secondo e il terzo nel terzo: $$A \times B \times C = \{(a, b, c) \text{ con } a \in A,\ b \in B,\ c \in C\}$$ Lo stesso con quattro, cinque, $n$ insiemi: gli elementi si chiamano **n-uple** (si legge «ennuple») e il conto degli elementi si fa sempre moltiplicando. Per esempio $|A \times B \times C| = |A| \cdot |B| \cdot |C|$. Il libro lo scrive così, per $n$ insiemi: > [!DEF] Prodotto di $n$ insiemi (p. 13) > Nel caso di un numero finito di insiemi $A_1, A_2, \dots, A_n$ il prodotto cartesiano $A_1 \times A_2 \times \cdots \times A_n$ è definito come l'insieme delle $n$-ple $(a_1, a_2, \cdots, a_n)$ con $a_i \in A_i$, cioè > $$A_1 \times A_2 \times \cdots \times A_n = \{(a_1, a_2, \cdots, a_n) \text{ tale che } a_i \in A_i,\ \forall i = 1, 2, \dots, n\}$$ **Come si legge.** $A_1, A_2, \dots, A_n$ sono $n$ insiemi, numerati. Gli elementi del prodotto sono elenchi di $n$ pezzi, e il pezzo numero $i$ deve stare nell'insieme numero $i$. Il simbolo $\forall$ si legge «per ogni»: la regola vale per ogni posto, dal primo all'ultimo. > [!ESEMPIO] Il piano cartesiano (p. 14) > Ogni punto del piano ha due coordinate, due numeri reali: la prima dice quanto andare a destra, la seconda quanto salire. Quindi il piano si può pensare come l'insieme di tutte le coppie di numeri reali, $\R \times \R$. Qui $\R$ si legge «erre» ed è l'insieme dei numeri reali. Il punto $(2, 3)$ e il punto $(3, 2)$ sono diversi, come B3 e 3B. Lo spazio a tre dimensioni è $\R \times \R \times \R$, e nella parte di Algebra lineare si lavora con $\R^n$, le n-uple di numeri reali. > [!APPROFONDIMENTO] Infiniti insiemi e l'assioma della scelta (p. 14) > Il libro accenna al prodotto di infiniti insiemi, che si scrive $\prod_{i \in I} A_i$. Il fatto che questo prodotto non sia vuoto quando nessun $A_i$ è vuoto non si riesce a dimostrare con le altre regole della teoria degli insiemi: va accettato come regola a sé, l'**assioma della scelta**. Al corso non serve; il libro stesso dice che si ferma lì. ### Come riconoscere una terna giusta È il tipo di domanda dell'appello del 14/01/2025. Prendi $A = \{1, 2, 5, 8\}$, $B = \{2, 3, 8, 9\}$ e la terna $(1, 2, 5)$. In quale prodotto sta? 1. Il primo pezzo è 1: sta in $A$ ma non in $B$. Quindi il primo insieme del prodotto deve essere $A$. 2. Il secondo pezzo è 2: sta sia in $A$ sia in $B$. Va bene tutti e due. 3. Il terzo pezzo è 5: sta in $A$ ma non in $B$. Il terzo insieme deve essere $A$. Quindi la terna sta in $A \times A \times A$ e in $A \times B \times A$, e in nessun altro prodotto di tre fattori presi tra $A$ e $B$. ::: prova Con $U = \{f, g\}$, $V = \{1, 3, 5\}$, $W = \{2, 4, 6\}$, in quale di questi prodotti sta la terna $(f, g, 4)$: $U \times U \times V$, $U \times U \times W$, $W \times U \times V$? In $U \times U \times W$. Le lettere f e g stanno in $U$, e il 4 sta in $W$ ma non in $V$. Nel prodotto che comincia con $W$ il primo pezzo dovrebbe essere un numero. ::: > [!RICORDA] > - Una terna $(a, b, c)$ ha tre pezzi in ordine fisso; $A \times B \times C$ è l'insieme delle terne con un pezzo per insieme, nell'ordine. > - Il numero di elementi si ottiene moltiplicando: $|A| \cdot |B| \cdot |C|$. > - Il piano è $\R \times \R$: ogni punto è una coppia di coordinate. ## Elemento, coppia o sacchetto di coppie La domanda 2 del quiz d'esame gioca quasi sempre su una cosa: che cosa può essere un elemento di $A \times B$ e che cosa può esserne un sottoinsieme. È la stessa differenza tra tessera e sacchetto della lezione D01, solo che ora le tessere sono coppie. | Scrittura | Che cosa è | Quando è vera | |---|---|---| | $(a, b) \in A \times B$ | una coppia è un elemento del prodotto | se $a \in A$ e $b \in B$ | | $(a, b) \notin A \times B$ | una coppia non è un elemento | se $a \notin A$ oppure $b \notin B$ | | $\{(a, b), (c, d)\} \subset A \times B$ | un sacchetto di coppie è contenuto nel prodotto | se ogni coppia del sacchetto sta nel prodotto | | $\emptyset \subset A \times B$ | il sacchetto vuoto è contenuto | sempre | | $\{a, b\} \in A \times B$ | un insieme di due oggetti non è una coppia | **mai** | | $a \in A \times B$ | un oggetto da solo non è una coppia | **mai**, se $a$ è un elemento di $A$ | | $(a, b, c) \in A \times B$ | una terna non è una coppia | **mai** | | $\emptyset \in A \times B$ | il vuoto non è una coppia | **mai** | | $(a, b) \subset A \times B$ | una coppia non è un sacchetto | **mai**: si scrive $\in$, oppure $\{(a, b)\} \subset A \times B$ | Il simbolo $\notin$ si legge «non appartiene a», e $\subset$ si legge «è contenuto in». > [!METODO] La domanda 2 del quiz sul prodotto cartesiano > Per ogni risposta: > 1. Guarda che cosa c'è a sinistra di $\in$ o di $\subset$. Una coppia con le tonde e due pezzi? Un insieme con le graffe? Una terna? Un oggetto solo? Il vuoto? > 2. Se c'è $\in$, a sinistra deve esserci una coppia con due pezzi. Altrimenti la frase è falsa. > 3. Se c'è $\subset$, a sinistra deve esserci un insieme di coppie, oppure il vuoto. Altrimenti la frase è falsa. > 4. Controlla ogni coppia: il primo pezzo nel primo insieme, il secondo nel secondo. Attento all'ordine dei due insiemi scritto nella risposta: $B \times A$ non è $A \times B$. > 5. Se la risposta dice $\notin$, la frase è vera quando la coppia **non** sta nel prodotto. > [!TRAPPOLA] L'ordine dei fattori nella risposta > Spesso la domanda definisce $S \times T$ e una risposta parla di $T \times S$. Con $S = \{x, y, z\}$ e $T = \{1, 2, 3, 4\}$, la coppia $(z, 4)$ sta in $S \times T$, ma non in $T \times S$: lì il primo pezzo dovrebbe essere un numero. ::: prova Con $R = \{1, 4, 6, 8\}$ e $S = \{2, 5, 7, 8\}$, quali sono vere? (a) $(8, 8) \in R \times S$; (b) $\{6, 7\} \in R \times S$; (c) $(7, 6) \in R \times S$; (d) $\{(1, 2), (4, 5)\} \subset R \times S$. (a) Vera: 8 sta in $R$ e in $S$. (b) Falsa: $\{6, 7\}$ è un insieme, non una coppia. (c) Falsa: 7 non sta in $R$; sarebbe vera $(6, 7) \in R \times S$. (d) Vera: tutte e due le coppie stanno nel prodotto. ::: > [!RICORDA] > - Elementi di $A \times B$: solo coppie, con il primo pezzo in $A$ e il secondo in $B$. > - Sottoinsiemi di $A \times B$: sacchetti di coppie, e il vuoto. > - Graffe a sinistra di $\in$, terne, oggetti soli: sempre falso. ## Scegliere alcune coppie: le relazioni (p. 153) Prendi i numeri da 1 a 4 e chiediti, per ogni coppia di numeri, se il primo divide il secondo. Chiama $X = \{1, 2, 3, 4\}$ questo insieme. Ricorda che «3 divide 12» vuol dire che 12 è un multiplo di 3: $12 = 3 \cdot 4$. Le coppie per cui la risposta è sì sono queste: $$(1, 1),\ (1, 2),\ (1, 3),\ (1, 4),\ (2, 2),\ (2, 4),\ (3, 3),\ (4, 4)$$ Sono 8 coppie, scelte tra le $4 \cdot 4 = 16$ di $X \times X$. La regola «il primo divide il secondo» è servita a scegliere alcune coppie e a scartare le altre. > [!IDEA] > Una relazione in un insieme $X$ è una scelta di alcune coppie di elementi di $X$: le coppie scelte sono quelle «legate». Una relazione è quindi un sottoinsieme di $X \times X$. Un modo comodo per vedere una relazione è una tabella con una riga e una colonna per ogni elemento: nella riga del primo pezzo e nella colonna del secondo metti un pallino se la coppia è scelta. Per «il primo divide il secondo» in $\{1, 2, 3, 4\}$: | divide | 1 | 2 | 3 | 4 | |---|:-:|:-:|:-:|:-:| | **1** | ● | ● | ● | ● | | **2** | | ● | | ● | | **3** | | | ● | | | **4** | | | | ● | Si legge per righe: il pallino nella riga 2 e colonna 4 dice «2 divide 4». Le caselle vuote sono le coppie scartate: nella riga 4 e colonna 2 non c'è niente, perché 4 non divide 2. Il libro, a p. 18, disegna tabelle dello stesso tipo. Quando la coppia $(a, b)$ è scelta, $a$ è **in relazione** con $b$. Se la relazione si chiama $R$, questo si scrive $a R b$. Per le relazioni più comuni c'è un simbolo apposta: $3 \mid 12$ si legge «3 divide 12», e $2 \le 5$ si legge «2 è minore o uguale a 5». Il libro lo scrive così. > [!DEF] A.1 · Relazione > Sia $X$ un insieme non vuoto. Una **relazione** in $X$ è un sottoinsieme > $$R \subset X \times X.$$ > Data una relazione $R$ in $X$ diremo che due elementi $a$ e $b$ sono in relazione, e scriveremo $aRb$, se $(a, b) \in R$. **Come si legge.** Una relazione è un insieme di coppie di elementi di $X$, cioè un sacchetto di caselle della tabella. Dire «$a$ è in relazione con $b$» e dire «la coppia $(a, b)$ è stata scelta» è la stessa cosa. ### Gli esempi del libro (p. 153) 1. **L'uguaglianza.** Scegli solo le coppie con due pezzi uguali: $(1, 1)$, $(2, 2)$, $(3, 3)$, $(4, 4)$. Ogni elemento è in relazione solo con sé stesso. Nella tabella i pallini stanno solo sulla **diagonale**, la linea di caselle che va dall'angolo in alto a sinistra a quello in basso a destra. Il libro chiama questo insieme di coppie $\Delta$, la lettera greca «delta» maiuscola, e lo chiama proprio diagonale. 2. **La divisibilità nei naturali.** $m$ è in relazione con $n$ quando $m$ divide $n$. È la relazione della tabella qui sopra, ma su tutti i naturali $\N$ e non solo su 1, 2, 3, 4. 3. **Il libro dà anche un terzo esempio**, che usa le funzioni del capitolo 2: lo riprendo quando arrivano le funzioni. Altre relazioni che usiamo ogni giorno, anche se non le chiamiamo così: «è minore di» tra numeri, «è nato nello stesso mese di» tra persone, «è più alto di», «ha la stessa iniziale di». > [!NOTA] Una relazione non deve avere una regola > Qualunque sacchetto di coppie è una relazione, anche se non c'è una frase che lo descrive. In $\{1, 2, 3\}$ le coppie $(1, 3)$ e $(2, 2)$ formano una relazione, anche senza una regola dietro. Anche il sacchetto vuoto è una relazione (nessuno è legato a nessuno), e anche tutto $X \times X$ (tutti sono legati a tutti). ::: prova In $X = \{1, 2, 3\}$ scrivi la relazione «il primo è minore del secondo» come insieme di coppie. Quante coppie ha? $\{(1, 2), (1, 3), (2, 3)\}$: tre coppie. Le coppie con pezzi uguali non ci sono, perché nessun numero è minore di sé stesso. ::: ::: prova Quante relazioni diverse ci sono in un insieme con 2 elementi? $X \times X$ ha $2 \cdot 2 = 4$ coppie, e una relazione è un qualunque sottoinsieme di queste coppie. Un insieme con 4 elementi ha $2^4 = 16$ sottoinsiemi (lezione D02), quindi le relazioni sono 16. ::: > [!RICORDA] > - Una relazione in $X$ è un insieme di coppie di elementi di $X$, cioè un sottoinsieme di $X \times X$. > - $a R b$ vuol dire «la coppia $(a, b)$ sta in $R$». > - Si disegna con una tabella: un pallino nella riga di $a$ e nella colonna di $b$ quando $a R b$. ## Quattro proprietà da controllare (pp. 153–154) Pensa a tre relazioni tra le persone di una classe: «è nato nello stesso mese di», «è più alto di», «è seduto accanto a». Si comportano in modo diverso: - ognuno è nato nello stesso mese di sé stesso, ma nessuno è più alto di sé stesso; - se Anna è nata nello stesso mese di Bruno, anche Bruno è nato nello stesso mese di Anna; ma se Anna è più alta di Bruno, Bruno non è più alto di Anna; - se Anna è più alta di Bruno e Bruno è più alto di Carla, Anna è più alta di Carla; ma se Anna è seduta accanto a Bruno e Bruno accanto a Carla, Anna e Carla non sono sedute accanto. Queste differenze hanno un nome: sono le quattro proprietà che il libro definisce per una relazione $R$ in un insieme $X$. ### Riflessiva: ognuno è legato a sé stesso Una relazione è **riflessiva** quando ogni elemento è in relazione con sé stesso. «È nato nello stesso mese di» è riflessiva. «È più alto di» no. Nella tabella vuol dire: **tutta la diagonale ha il pallino**. La tabella di «divide» in $\{1, 2, 3, 4\}$ ha i quattro pallini sulla diagonale, quindi «divide» è riflessiva: ogni numero divide sé stesso, perché $n = n \cdot 1$. ### Simmetrica: i legami valgono nei due sensi Una relazione è **simmetrica** quando ogni legame vale anche al contrario: se il primo elemento è in relazione con il secondo, anche il secondo è in relazione con il primo. «È nato nello stesso mese di» è simmetrica. «Divide» no: 2 divide 4, ma 4 non divide 2. Nella tabella vuol dire: la tabella è **uguale alla sua immagine allo specchio** rispetto alla diagonale. Se c'è un pallino nella riga 2 e colonna 4, deve esserci anche nella riga 4 e colonna 2. ### Antisimmetrica: mai nei due sensi tra elementi diversi Una relazione è **antisimmetrica** quando due elementi **diversi** non sono mai in relazione nei due sensi. In altre parole: se $a R b$ e anche $b R a$, allora $a$ e $b$ sono lo stesso elemento. «È minore o uguale a» tra numeri è antisimmetrica: se $a \le b$ e $b \le a$, allora $a = b$. Anche «divide» in $\{1, 2, 3, 4\}$ lo è. Nella tabella vuol dire: fuori dalla diagonale, **un pallino non ha mai il suo specchio**. Sulla diagonale invece i pallini possono esserci. > [!TRAPPOLA] Antisimmetrica non vuol dire «non simmetrica» > Sono due proprietà diverse, e una non è il contrario dell'altra. > - L'uguaglianza è sia simmetrica sia antisimmetrica: ha pallini solo sulla diagonale, quindi ogni pallino è lo specchio di sé stesso, e fuori dalla diagonale non c'è niente. > - La relazione in $\{1, 2, 3\}$ fatta dalle coppie $(1, 2)$, $(2, 1)$ e $(1, 3)$ non è né simmetrica né antisimmetrica: $(1, 3)$ non ha lo specchio $(3, 1)$, quindi non è simmetrica; $(1, 2)$ e $(2, 1)$ ci sono tutte e due con 1 diverso da 2, quindi non è antisimmetrica. ### Transitiva: i legami si passano lungo una catena Una relazione è **transitiva** quando ogni volta che $a R b$ e $b R c$, anche $a R c$. È la proprietà delle catene: se dal primo si arriva al secondo, e dal secondo al terzo, allora c'è anche il legame diretto dal primo al terzo. «È più alto di» è transitiva. «Divide» è transitiva: se 2 divide 4 e 4 divide 12, anche 2 divide 12. Il motivo, con i numeri: $4 = 2 \cdot 2$ e $12 = 4 \cdot 3$, quindi $12 = 2 \cdot 2 \cdot 3 = 2 \cdot 6$. «È seduto accanto a» non è transitiva, e nemmeno «la distanza tra i due numeri è al massimo 1»: 1 e 2 hanno distanza 1, 2 e 3 hanno distanza 1, ma 1 e 3 hanno distanza 2. Nella tabella la transitività è la proprietà più lunga da controllare. Un modo ordinato: > [!METODO] Controllare la transitività su una tabella > Per ogni pallino nella riga $a$ e colonna $b$, con $a$ diverso da $b$: > 1. guarda la riga di $b$; > 2. ogni pallino della riga di $b$ deve comparire, nella stessa colonna, anche nella riga di $a$. > > In parole: se $a$ è legato a $b$, allora $a$ deve essere legato a tutto ciò a cui è legato $b$. Basta un pallino che manca per dire che la relazione non è transitiva. Prova il metodo su «divide» in $\{1, 2, 3, 4\}$. Il pallino in riga 2, colonna 4: la riga 4 ha un solo pallino, nella colonna 4, e la riga 2 ce l'ha. I pallini della riga 1 coprono già tutte le colonne, quindi per la riga 1 non c'è niente da controllare. Gli altri pallini fuori dalla diagonale sono nella riga 1. Nessun pallino manca: la relazione è transitiva. ### Le definizioni del libro Il libro raccoglie le quattro proprietà in un elenco. Le parole sono diverse, ma i controlli sono quelli che hai appena visto. > [!DEF] Proprietà di una relazione (pp. 153–154) > Diremo che una relazione $R \subset X \times X$ è: > 1. **riflessiva** se $xRx$ per ogni $x \in X$ o equivalentemente se $(x, x) \in R$ per ogni $x \in X$ o anche se $\Delta \subset R$; > 2. **simmetrica** se ogniqualvolta $xRy$ si ha anche $yRx$ o equivalentemente se le coppie $(x, y)$ e $(y, x)$ appartengono o non appartengono entrambe a $R$; > 3. **antisimmetrica** se dal fatto che $xRy$ e $yRx$ segue forzatamente che $x = y$ o equivalentemente che se $x \neq y$ solo una delle coppie $(x, y)$ e $(y, x)$ può appartenere ad $R$; > 4. **transitiva** se dal fatto che $xRy$ e $yRz$ segue forzatamente che $xRz$. **Come si legge.** Sono le quattro proprietà di prima. Nella prima, «$\Delta \subset R$» vuol dire «tutte le coppie della diagonale sono state scelte». Nella seconda, «appartengono o non appartengono entrambe» vuol dire: una coppia e il suo specchio sono tutte e due dentro o tutte e due fuori. Nella terza, «solo una delle coppie può appartenere» vuol dire: al massimo una delle due, forse nessuna. ### Che cosa fanno le relazioni che conosci | Relazione | Riflessiva | Simmetrica | Antisimmetrica | Transitiva | |---|:-:|:-:|:-:|:-:| | uguaglianza | sì | sì | sì | sì | | $\le$ tra numeri | sì | no | sì | sì | | $<$ tra numeri | no | no | sì | sì | | «divide» nei naturali $\N$ | sì | no | sì | sì | | «divide» negli interi $\Z$ | sì | no | **no** | sì | | «stesso mese di nascita» | sì | sì | no | sì | | «distanza al massimo 1» tra interi | sì | sì | no | no | Due righe vanno spiegate. - **$<$ è antisimmetrica** perché non succede mai che $a < b$ e $b < a$ insieme: la condizione «se $a R b$ e $b R a$» non si verifica mai, quindi non c'è niente che possa andare storto. - **«Divide» negli interi non è antisimmetrica.** Nei naturali sì; negli interi, che contengono anche i negativi, 1 divide $-1$ e $-1$ divide 1, perché $-1 = 1 \cdot (-1)$ e $1 = (-1) \cdot (-1)$. Due numeri diversi legati nei due sensi: la proprietà cade. È la nota 1 di p. 154 del libro. Il libro osserva anche che la relazione «divide» nei naturali ha tutte le proprietà tranne la simmetria: per esempio 2 divide 4, ma 4 non divide 2. ::: prova In $X = \{1, 2, 3\}$ prendi la relazione $R = \{(1, 1), (2, 2), (3, 3), (1, 2), (2, 1)\}$. Quali proprietà ha? Riflessiva: sì, ci sono tutte e tre le coppie della diagonale. Simmetrica: sì, $(1, 2)$ e $(2, 1)$ ci sono tutte e due. Antisimmetrica: no, per la stessa coppia, con 1 diverso da 2. Transitiva: sì. Le catene da controllare passano per 1 e 2. Da 1 a 2 e da 2 a 1 serve il legame da 1 a 1, che c'è. Da 2 a 1 e da 1 a 2 serve quello da 2 a 2, che c'è. ::: ::: prova La relazione «ha la stessa iniziale di», tra parole, è riflessiva? Simmetrica? Transitiva? Sì a tutte e tre: ogni parola ha la stessa iniziale di sé stessa; se A ha la stessa iniziale di B, vale anche il contrario; se A ha la stessa iniziale di B e B di C, l'iniziale è la stessa per tutte e tre. ::: ### Le relazioni d'ordine Le relazioni come $\le$, «divide» nei naturali e «è contenuto in» tra insiemi hanno le stesse tre proprietà: sono riflessive, antisimmetriche e transitive. Servono a mettere in ordine, anche quando non tutto si può confrontare: 2 e 3, per esempio, non si dividono l'un l'altro. Una relazione con queste tre proprietà si chiama **relazione d'ordine**. Il libro non la definisce nell'appendice, ma il nome compare nel programma del corso, nella voce sulle relazioni. > [!RICORDA] > - Riflessiva: tutta la diagonale. Simmetrica: tabella uguale allo specchio. Antisimmetrica: fuori dalla diagonale nessun pallino ha lo specchio. Transitiva: le catene si chiudono. > - Antisimmetrica e simmetrica non sono una il contrario dell'altra. > - Relazione d'ordine: riflessiva, antisimmetrica, transitiva, come $\le$. ## Essere «dello stesso tipo»: le equivalenze (p. 154) Torna alla relazione «è nato nello stesso mese di». Ha tre proprietà: 1. **riflessiva**: ognuno è nato nello stesso mese di sé stesso; 2. **simmetrica**: se Anna è nata nello stesso mese di Bruno, Bruno è nato nello stesso mese di Anna; 3. **transitiva**: se Anna è nata nello stesso mese di Bruno, e Bruno nello stesso mese di Carla, allora Anna e Carla sono nate nello stesso mese. Non dice che una persona viene prima di un'altra: dice che due persone sono «dello stesso tipo», cioè hanno in comune qualcosa, il mese di nascita. > [!IDEA] > Una relazione di equivalenza è un modo di dire «questi due elementi sono dello stesso tipo». È riflessiva, simmetrica e transitiva. Una relazione con queste tre proprietà si chiama **relazione di equivalenza**, o più brevemente **equivalenza**. Due elementi in relazione si chiamano **equivalenti**. Se sono $x$ e $y$, si scrive $x \sim y$. Il simbolo $\sim$ si chiama «tilde» e si legge «è equivalente a». Il libro la definisce così. > [!DEF] A.2 · Relazione di equivalenza > Sia $X$ un insieme non vuoto. Una relazione in $X$ che sia riflessiva, simmetrica e transitiva si dice una **relazione di equivalenza** (o più brevemente un'**equivalenza**). > Se una relazione $R$ in $X$ è un'equivalenza e $xRy$ diremo che $x$ ed $y$ sono **equivalenti** (rispetto ad $R$) e scriveremo $x \sim y$. **Come si legge.** Per dire che una relazione è un'equivalenza bisogna controllare tre proprietà, non una di meno. Se ne manca anche una sola, non è un'equivalenza. ### Esempi con i numeri - **Stessa parità** negli interi: due interi sono equivalenti quando sono tutti e due pari o tutti e due dispari. $3 \sim 7$, $4 \sim -10$, ma 3 e 4 non sono equivalenti. - **Stessa ultima cifra** nei naturali: $23 \sim 1003$, perché finiscono tutti e due con 3. - **L'uguaglianza** è un'equivalenza: ogni elemento è dello stesso tipo solo di sé stesso. Non sono equivalenze: - $\le$, perché non è simmetrica: $2 \le 5$ ma non $5 \le 2$; - «distanza al massimo 1», perché non è transitiva; - «il primo è il doppio del secondo», perché non è nemmeno riflessiva: 3 non è il doppio di 3. ### La congruenza modulo un numero (pp. 154–155) Questo è l'esempio più importante, perché torna in tutta la seconda metà del corso. Prendi gli interi e il numero 3. Chiama equivalenti due interi quando la loro differenza è un multiplo di 3: 1. $7 \sim 1$, perché $7 - 1 = 6 = 3 \cdot 2$; 2. $10 \sim 4$, perché $10 - 4 = 6$; 3. $2 \sim -1$, perché $2 - (-1) = 3$; 4. 5 e 1 non sono equivalenti, perché $5 - 1 = 4$ non è un multiplo di 3. Un modo più comodo di vederlo: due naturali sono equivalenti esattamente quando danno lo stesso resto nella divisione per 3. 7 e 1 danno resto 1; 10 e 4 danno resto 1; 5 dà resto 2. È come un orologio con 3 ore, numerate 0, 1, 2: contando 0, 1, 2, 3, 4, 5, 6, 7 sulle tre ore si torna sempre al punto di partenza ogni 3 passi, e 7 finisce sulla stessa ora di 1. Al posto di 3 si può usare qualunque intero $N$ maggiore di 1. Il libro chiama questa relazione $M_N$: $$M_N = \{(m, n) \in \Z \times \Z \text{ tali che } N \text{ divide } m - n\}$$ **Come si legge.** $M_N$ è l'insieme delle coppie di interi $(m, n)$ la cui differenza $m - n$ è un multiplo di $N$. La $\Z$ si legge «zeta» ed è l'insieme degli interi, positivi, negativi e zero. Perché è un'equivalenza? Il libro controlla le tre proprietà. Ecco i suoi tre passi, prima con $N = 3$ e i numeri, poi in generale. 1. **Riflessiva.** Ogni numero è equivalente a sé stesso: $7 - 7 = 0$, e 0 è un multiplo di 3, perché $0 = 3 \cdot 0$. In generale $m - m = 0$, che è un multiplo di qualunque $N$. 2. **Simmetrica.** $7 \sim 1$ perché $7 - 1 = 6$. Al contrario $1 - 7 = -6 = 3 \cdot (-2)$, ancora un multiplo di 3. In generale, se $m - n$ è un multiplo di $N$, anche $n - m$, che è lo stesso numero con il segno cambiato, è un multiplo di $N$. 3. **Transitiva.** $10 \sim 4$ e $4 \sim 1$, perché $10 - 4 = 6$ e $4 - 1 = 3$. Allora $10 - 1 = (10 - 4) + (4 - 1) = 6 + 3 = 9$, ancora un multiplo di 3. In generale $m - p = (m - n) + (n - p)$, e la somma di due multipli di $N$ è un multiplo di $N$. > [!NOTA] Dove torna > Questa relazione si chiama **congruenza modulo $N$**. Nel capitolo 7 del libro si scrive $m \equiv n \pmod N$ e diventa il cuore dell'aritmetica modulare: classi di resto, inversi, congruenze lineari. Sono esercizi presenti in ogni appello. ::: prova Con la congruenza modulo 5, quali sono vere? (a) $12 \sim 2$; (b) $13 \sim 3$; (c) $-1 \sim 4$; (d) $6 \sim 16$. (a) Vera: $12 - 2 = 10 = 5 \cdot 2$. (b) Vera: $13 - 3 = 10$. (c) Vera: $-1 - 4 = -5 = 5 \cdot (-1)$. (d) Vera: $6 - 16 = -10$. ::: ::: prova Nei naturali, «$m \sim n$ quando $m + n$ è pari» è un'equivalenza? Sì. $m + n$ è pari esattamente quando $m$ e $n$ sono tutti e due pari o tutti e due dispari: è la relazione «stessa parità». Per controllo: riflessiva, perché $m + m = 2m$ è pari; simmetrica, perché $m + n = n + m$; transitiva, perché «stessa parità» si passa lungo le catene. ::: > [!RICORDA] > - Equivalenza = riflessiva + simmetrica + transitiva. Si scrive $x \sim y$. > - Vuol dire «dello stesso tipo»: stesso mese, stessa parità, stessa ultima cifra. > - Congruenza modulo $N$: $m \sim n$ quando $N$ divide $m - n$, cioè (nei naturali) quando danno lo stesso resto nella divisione per $N$. ## Dalle equivalenze ai cassetti: le classi (p. 155) Prendi la tua classe e raggruppa le persone secondo il mese di nascita: tutti quelli nati a marzo in un gruppo, tutti quelli nati a luglio in un altro, e così via. Ogni persona finisce in un gruppo e in uno solo; nessun gruppo è vuoto, perché un gruppo nasce solo quando c'è qualcuno nato in quel mese. È una **partizione**, come i calzini nei cassetti della lezione D02. Ricorda i tre controlli della lezione D02 per una partizione: le parti coprono tutto, nessuna parte è vuota, due parti diverse non hanno elementi in comune. > [!IDEA] > Ogni equivalenza divide l'insieme in gruppi di elementi equivalenti tra loro. Questi gruppi formano sempre una partizione. ### La classe di un elemento Il gruppo degli elementi equivalenti a un elemento $x$ si chiama **classe di equivalenza** di $x$ e si scrive $[x]$, che si legge «classe di $x$». È la stessa scrittura dei cassetti della lezione D02, e non per caso. Prendi cinque persone. Anna e Carla sono nate a marzo, Bruno ed Elena a luglio, Dario a novembre. Le classi sono queste. - $[\text{Anna}] = \{\text{Anna}, \text{Carla}\}$: le persone nate a marzo; - $[\text{Bruno}] = \{\text{Bruno}, \text{Elena}\}$: le persone nate a luglio; - $[\text{Dario}] = \{\text{Dario}\}$: è l'unico nato a novembre; - $[\text{Carla}] = \{\text{Anna}, \text{Carla}\}$: la stessa classe di Anna, nominata con un'altra persona. La tabella della relazione «stesso mese» ha i pallini a blocchi: | stesso mese | Anna | Carla | Bruno | Elena | Dario | |---|:-:|:-:|:-:|:-:|:-:| | **Anna** | ● | ● | | | | | **Carla** | ● | ● | | | | | **Bruno** | | | ● | ● | | | **Elena** | | | ● | ● | | | **Dario** | | | | | ● | Ho messo vicine le persone della stessa classe: ogni blocco di pallini è una classe. Succede con ogni equivalenza, se si ordinano gli elementi per classe. Con la congruenza modulo 3 negli interi le classi sono tre: - $[0] = \{\dots, -6, -3, 0, 3, 6, 9, \dots\}$: i multipli di 3; - $[1] = \{\dots, -5, -2, 1, 4, 7, 10, \dots\}$: i numeri che superano un multiplo di 3 di 1; - $[2] = \{\dots, -4, -1, 2, 5, 8, 11, \dots\}$: quelli che lo superano di 2. Ogni intero sta in una di queste tre classi. E $[4]$ non è una classe nuova: $4 \sim 1$, quindi $[4] = [1]$. Il libro scrive la classe così: $$[x] = \{y \in X \text{ tali che } x \sim y\} \subset X$$ **Come si legge.** $[x]$ è l'insieme degli elementi $y$ di $X$ equivalenti a $x$. È un sottoinsieme di $X$. ### Due elementi equivalenti hanno la stessa classe Anna e Carla sono nate nello stesso mese, e le loro classi sono uguali. Non è un caso: se $x \sim y$, allora $[x] = [y]$. Il motivo, a parole: se Anna e Carla sono nate nello stesso mese, chiunque sia nato nello stesso mese di Carla è nato nello stesso mese di Anna, e viceversa. La transitività sposta i legami da Carla ad Anna, la simmetria permette di girarli. > [!DIM] perché $x \sim y$ dà $[x] = [y]$ (p. 155) > 1. Prendi un elemento $z$ di $[y]$: vuol dire $y \sim z$. Siccome $x \sim y$, per la transitività $x \sim z$, cioè $z$ sta in $[x]$. Quindi $[y] \subset [x]$. > 2. Per la simmetria, da $x \sim y$ viene anche $y \sim x$. Rifai il passo 1 con i ruoli di $x$ e $y$ scambiati: ogni elemento di $[x]$ sta in $[y]$. Quindi $[x] \subset [y]$. > 3. Con i due contenimenti, le classi sono uguali: è la doppia inclusione della lezione D01. ### Le classi formano una partizione Il libro lo chiama «importante risultato». > [!TEOREMA] A.3 · Classi di equivalenza e partizioni > Sia $X$ un insieme non vuoto e sia $R$ un'equivalenza in $X$. Allora le classi di equivalenza degli elementi di $X$ definiscono una partizione di $X$. **Come si legge.** Se raggruppi gli elementi «dello stesso tipo», ottieni sempre una divisione dell'insieme in cassetti: ognuno sta in un cassetto, nessun cassetto è vuoto, due cassetti diversi non hanno niente in comune. > [!DIM] i tre controlli della partizione > 1. **Nessun cassetto è vuoto.** Ogni classe $[x]$ contiene almeno $x$, perché $x \sim x$ per la proprietà riflessiva. > 2. **I cassetti coprono tutto.** Ogni elemento $x$ di $X$ sta in una classe, la sua: $[x]$. > 3. **Due cassetti diversi non si toccano.** Supponi che due classi $[x]$ e $[y]$ abbiano un elemento $z$ in comune. Allora $x \sim z$ e $y \sim z$. Per la simmetria $z \sim y$, e per la transitività $x \sim y$. Ma allora, per quello che hai visto sopra, $[x] = [y]$: è la stessa classe. Quindi due classi o sono uguali o non hanno niente in comune. L'insieme delle classi è l'**insieme quoziente** della lezione D02, l'insieme dei cassetti. Quando la partizione viene da un'equivalenza $\sim$ si scrive $X/\!\sim$, che si legge «$X$ quoziente tilde». - Per «stesso mese», tra le cinque persone, il quoziente ha tre elementi: il cassetto di marzo, quello di luglio e quello di novembre. - Per la congruenza modulo 3, il quoziente di $\Z$ ha tre elementi: $[0]$, $[1]$ e $[2]$. Il libro, nel capitolo 7, lo chiama $\Z_3$, l'insieme delle classi di resto modulo 3. Allo stesso modo, modulo $N$ le classi sono $N$: $[0], [1], \dots, [N - 1]$. ### E al contrario: dai cassetti all'equivalenza Vale anche il contrario. Se hai già una partizione, chiama equivalenti due elementi quando stanno **nello stesso cassetto**. Questa relazione è un'equivalenza: - ognuno sta nel suo stesso cassetto: riflessiva; - se un elemento sta nel cassetto di un altro, anche l'altro sta nel cassetto del primo: simmetrica; - se il primo sta con il secondo e il secondo con il terzo, sono tutti e tre nello stesso cassetto, perché il secondo sta in un cassetto solo: transitiva. Le sue classi sono proprio i cassetti di partenza. Quindi equivalenze e partizioni sono due modi di dire la stessa cosa: dare un'equivalenza vuol dire dividere l'insieme in cassetti, e viceversa. > [!ESEMPIO] Tutte le equivalenze di $\{1, 2, 3\}$ > Nella lezione D02 hai contato le partizioni di $\{1, 2, 3\}$: sono cinque. Quindi le equivalenze in $\{1, 2, 3\}$ sono cinque, una per partizione. > 1. Un cassetto solo, $\{1, 2, 3\}$: tutti equivalenti a tutti, la relazione è tutto $X \times X$, 9 coppie. > 2. $\{1, 2\}$ e $\{3\}$: le coppie della diagonale più $(1, 2)$ e $(2, 1)$. > 3. $\{1, 3\}$ e $\{2\}$: la diagonale più $(1, 3)$ e $(3, 1)$. > 4. $\{2, 3\}$ e $\{1\}$: la diagonale più $(2, 3)$ e $(3, 2)$. > 5. Tre cassetti con un elemento: solo la diagonale, cioè l'uguaglianza. ::: prova In $X = \{1, 2, 3, 4, 5, 6\}$ prendi la congruenza modulo 2. Quali sono le classi? Quanti elementi ha il quoziente? $[1] = \{1, 3, 5\}$, i dispari, e $[2] = \{2, 4, 6\}$, i pari. Il quoziente ha due elementi. ::: ::: prova La partizione di $\{a, b, c, d\}$ in $\{a, d\}$ e $\{b, c\}$ da quale equivalenza viene? Scrivi le sue coppie. Da «stare nello stesso cassetto». Le coppie sono otto. Ci sono le quattro della diagonale, una per lettera. Poi $(a, d)$ e $(d, a)$. Poi $(b, c)$ e $(c, b)$. ::: > [!RICORDA] > - La classe $[x]$ è l'insieme degli elementi equivalenti a $x$. Se $x \sim y$, allora $[x] = [y]$. > - Le classi di un'equivalenza formano una partizione; l'insieme delle classi è il quoziente $X/\!\sim$. > - Ogni partizione dà un'equivalenza, «stare nello stesso cassetto»: equivalenze e partizioni si corrispondono una a una. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $(a, b)$ | «la coppia $a$, $b$» | due oggetti in fila, l'ordine conta | $(1, 2) \neq (2, 1)$ | | $(a, b, c)$ | «la terna $a$, $b$, $c$» | tre oggetti in fila | $(5, 10, 2026)$ | | $\{a, b\}$ | «l'insieme di $a$ e $b$» | un insieme, l'ordine non conta | $\{1, 2\} = \{2, 1\}$ | | $A \times B$ | «$A$ per $B$», «$A$ cartesiano $B$» | tutte le coppie con il primo pezzo in $A$ e il secondo in $B$ | $\{1\} \times \{2, 3\} = \{(1, 2), (1, 3)\}$ | | $A^2$ | «$A$ al quadrato» | $A \times A$ | $\R^2$ è il piano | | $\lvert A \rvert$ | «cardinalità di $A$» | il numero di elementi di $A$ | $\lvert A \times B \rvert = \lvert A \rvert \cdot \lvert B \rvert$ | | $\in$, $\notin$ | «appartiene a», «non appartiene a» | è, o non è, un elemento di | $(1, 2) \in \{1\} \times \{2\}$ | | $\subset$ | «è contenuto in» | è un sottoinsieme | $\{(1, 2)\} \subset \{1\} \times \{2\}$ | | $\emptyset$ | «insieme vuoto» | l'insieme senza elementi | $\emptyset \times B = \emptyset$ | | $\neq$ | «diverso da» | non uguale | $(1, 2) \neq (2, 1)$ | | $\N$, $\Z$, $\R$ | «enne», «zeta», «erre» | naturali, interi, reali | $-3 \in \Z$ | | $a R b$ | «$a$ è in relazione con $b$» | la coppia $(a, b)$ sta nella relazione $R$ | $2 \mid 6$ | | $\Delta$ | «delta», «diagonale» | le coppie $(x, x)$ | $(3, 3) \in \Delta$ | | $m \mid n$ | «$m$ divide $n$» | $n$ è un multiplo di $m$ | $3 \mid 12$ | | $\le$, $<$ | «minore o uguale a», «minore di» | l'ordine tra numeri | $2 \le 2$, $2 < 3$ | | $x \sim y$ | «$x$ è equivalente a $y$» | $x$ e $y$ sono in relazione per un'equivalenza | $7 \sim 1$ modulo 3 | | $M_N$ | «emme enne» | la congruenza modulo $N$: $N$ divide $m - n$ | $(7, 1) \in M_3$ | | $[x]$ | «classe di $x$» | gli elementi equivalenti a $x$ | $[1] = \{\dots, -2, 1, 4, 7, \dots\}$ modulo 3 | | $X/\!\sim$ | «$X$ quoziente tilde» | l'insieme delle classi | $\Z/M_3 = \{[0], [1], [2]\}$ | | $\forall$ | «per ogni» | per tutti (nei riquadri del libro) | $\forall i = 1, \dots, n$ | ## Verso l'esame La prova di **Matematica Discreta**, la parte 1 di MDAG, è scritta ed è la stessa per i canali A, B e C. Al 05/10/2026 le regole del 2026/27 non sono ancora uscite; quelle del 2025/26 dicono così. **Com'è fatta la prova** - **10 domande a risposta multipla**, ognuna con 5 risposte e una sola giusta. Una risposta giusta vale 1 punto; una sbagliata o vuota vale 0. - **2 problemi** a risposta aperta, divisi in più domande con il punteggio scritto accanto. - **Sbarramento.** Con meno di 6 punti nel quiz la prova non è superata, e i problemi non vengono corretti. - **Sufficienza:** almeno 18 punti in tutto. **Durata:** 2 ore. - **Materiale ammesso:** libro di testo e appunti del corso, e una calcolatrice non programmabile. | Appello 2026/27 | Iscrizioni su MyUniTo (appello «M.D.A.G.1») | Ora | |---|---|---| | mar 19/01/2027 | 30/12/2026 – 12/01/2027 | 14:00 | | mer 03/02/2027 | 14/01 – 27/01/2027 | 14:00 | Dettagli e fonti nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). **Che cosa serve di questa lezione** 1. **Domanda 2 del quiz: il prodotto cartesiano.** È una delle domande più regolari: nei quiz degli appelli del 14/01/2025 (in quale prodotto sta una terna), 07/07/2025 (domanda 1), 13/01/2026, 03/02/2026 (quale insieme non è un sottoinsieme di $P \times Q$), 06/06/2026 e 01/07/2026. Si risolve con il metodo della sezione «Elemento, coppia o sacchetto di coppie». Sono punti sicuri, se non ti fai ingannare dalle graffe e dall'ordine dei fattori. 2. **Relazioni di equivalenza.** Negli appelli dal 2021 al 2026 non ho trovato domande che chiedano direttamente le proprietà di una relazione. Ma le classi di equivalenza della congruenza modulo $N$ sono le **classi di resto**, che sono in ogni appello: inversi in $\Z_n$, congruenze lineari, gruppi $\Z_n$. Capire adesso che $[4] = [1]$ modulo 3 rende molto più facile la seconda metà del corso. 3. **Il conto $|A \times B| = |A| \cdot |B|$** è la base della combinatoria, che occupa una domanda o due del quiz in ogni appello. **Una domanda vera, letta insieme** > [!ESEMPIO] Appello del 03/02/2026, domanda 2 > Il testo: «Siano $P = \{1, 3, 4, 7, 8\}$ e $Q = \{2, 3, 5, 6, 9\}$. Quale dei seguenti insiemi NON è un sottoinsieme di $P \times Q$? > 1. $\{(3, 3)\}$; > 2. $\{(8, 3), (3, 9)\}$; > 3. $\emptyset$; > 4. $\{(1, 3), (6, 7), (8, 2)\}$; > 5. $\{(4, 6), (1, 9), (7, 5)\}$.» > > In pratica chiede: in quale sacchetto c'è almeno una coppia che non sta in $P \times Q$? Per ogni coppia controlla che il primo pezzo stia in $P$ e il secondo in $Q$. > > 1. $(3, 3)$: 3 sta in $P$ e in $Q$. Va bene. > 2. $(8, 3)$ e $(3, 9)$: 8 e 3 stanno in $P$; 3 e 9 stanno in $Q$. Va bene. > 3. Il vuoto è sottoinsieme di qualunque insieme. Va bene. > 4. $(1, 3)$ va bene, ma $(6, 7)$ no: 6 non sta in $P$ (e 7 non sta in $Q$). **È la risposta.** > 5. $(4, 6)$, $(1, 9)$, $(7, 5)$: tutti i primi pezzi in $P$, tutti i secondi in $Q$. Va bene. > > La trappola è la risposta 3: il vuoto sembra «niente», ma è un sottoinsieme di tutto. **Errori da evitare** - Scambiare l'ordine dei pezzi: $(7, 6)$ non è $(6, 7)$. - Non guardare in che ordine sono scritti i fattori nella risposta, $S \times T$ o $T \times S$. - Scrivere $\{a, b\} \in A \times B$: un insieme di due oggetti non è una coppia. - Dimenticare che il vuoto è contenuto in ogni prodotto, ma non è un suo elemento. - Dire che una relazione è un'equivalenza dopo aver controllato solo una o due proprietà. - Confondere antisimmetrica con «non simmetrica». > [!ESAME] Che cosa scrivere sul foglio di riepilogo > Alla prova puoi portare libro e appunti, ma il tempo è poco. Da questa lezione conviene avere pronti: la tabella «elemento, coppia o sacchetto di coppie», le quattro proprietà con il modo di leggerle sulla tabella, e le classi della congruenza modulo 3 come esempio. ## Quiz ```quiz D: (Appello del 01/07/2026, domanda 2) Siano $R = \{1, 4, 6, 8\}$ e $S = \{2, 5, 7, 8\}$. Allora - $(8, 8) \notin R \times S$ - $(1, 2) \notin R \times S$ - $\{6, 7\} \in R \times S$ - $(7, 6) \in R \times S$ + $(4, 5) \in R \times S$ = 4 sta in $R$ e 5 sta in $S$, quindi $(4, 5) \in R \times S$. $(8, 8)$ invece sta nel prodotto, perché 8 sta in tutti e due gli insiemi: la frase con $\notin$ è falsa. Lo stesso per $(1, 2)$, che sta nel prodotto. $\{6, 7\}$ è un insieme, non una coppia, quindi non può essere un elemento di $R \times S$. La più tentatrice è $(7, 6)$: i numeri sono quelli giusti, ma in ordine scambiato, e 7 non sta in $R$. D: (Appello del 13/01/2026, domanda 2) Siano $R = \{2, 5, 6, 9\}$ e $S = \{d, g, n, z\}$. Allora + $(g, 6) \notin R \times S$ - $(d, z) \in R \times S$ - $(5, 6, g) \in R \times S$ - $(3, n) \in R \times S$ - $(2, d) \notin R \times S$ = In $R \times S$ il primo pezzo è un numero di $R$ e il secondo una lettera di $S$. $(g, 6)$ ha una lettera al primo posto, quindi non ci sta: la frase con $\notin$ è vera. $(d, z)$ ha due lettere: $d$ non sta in $R$. $(5, 6, g)$ è una terna, non una coppia. $(3, n)$: 3 non sta in $R$. La più tentatrice è $(2, d) \notin R \times S$: la coppia è scritta bene e sta nel prodotto, quindi la frase con $\notin$ è falsa. D: (Appello del 03/02/2026, domanda 2) Siano $P = \{1, 3, 4, 7, 8\}$ e $Q = \{2, 3, 5, 6, 9\}$. Quale dei seguenti insiemi NON è un sottoinsieme di $P \times Q$? - $\{(3, 3)\}$ - $\{(8, 3), (3, 9)\}$ - $\emptyset$ + $\{(1, 3), (6, 7), (8, 2)\}$ - $\{(4, 6), (1, 9), (7, 5)\}$ = La coppia $(6, 7)$ non sta in $P \times Q$: 6 non sta in $P$. Basta una coppia fuori perché il sacchetto non sia un sottoinsieme. In tutte le altre risposte ogni coppia ha il primo pezzo in $P$ e il secondo in $Q$. La più tentatrice è $\emptyset$: sembra un intruso, ma il vuoto è un sottoinsieme di qualunque insieme. D: (Appello del 06/06/2026, domanda 2) Siano $X = \{\beta, \delta, \rho, \omega\}$ e $Y = \{2, 3, 6, 8, 9\}$. Allora - $(6, \rho) \in X \times Y$ + $(\omega, 4) \notin X \times Y$ - $\emptyset \in X \times Y$ - $(\delta, 2) \notin X \times Y$ - $\beta \in X \times Y$ = Le lettere greche stanno in $X$ e vanno al primo posto. $(\omega, 4)$ non sta nel prodotto perché 4 non sta in $Y$: la frase con $\notin$ è vera. $(6, \rho)$ ha i pezzi in ordine scambiato. Il vuoto non è una coppia, quindi non è un elemento del prodotto (è un sottoinsieme, che è un'altra cosa). $(\delta, 2)$ sta nel prodotto, quindi la frase con $\notin$ è falsa: è la più tentatrice. $\beta$ è un oggetto solo, non una coppia. D: (Appello del 07/07/2025, domanda 1) Siano $A = \{a, d, h, m\}$ e $B = \{c, g, p, t\}$. Allora: - $(d, m) \in A \times B$ - $g \in A \times B$ - $(p, m) \in A \times B$ - $\{a, t\} \subset A \times B$ + $(h, t) \in A \times B$ = $h$ sta in $A$ e $t$ sta in $B$: la coppia $(h, t)$ sta nel prodotto. $(d, m)$ ha due lettere di $A$: $m$ non sta in $B$. $g$ è una lettera sola. $(p, m)$ è al contrario: $p$ sta in $B$ e $m$ in $A$. La più tentatrice è $\{a, t\} \subset A \times B$: le lettere sono giuste, ma il sacchetto contiene lettere, non coppie; sarebbe vera $\{(a, t)\} \subset A \times B$. D: (Appello del 14/01/2025, domanda 2) Siano $A = \{1, 2, 5, 8\}$ e $B = \{2, 3, 8, 9\}$. Allora la terna $(1, 2, 5)$ è un elemento in - $B \times A \times A$ + $A \times B \times A$ - $B \times B \times B$ - $B \times B \times A$ - $A \times A \times B$ = Controlla un pezzo alla volta. Il primo pezzo, 1, sta solo in $A$: il primo fattore deve essere $A$. Il secondo, 2, sta in tutti e due. Il terzo, 5, sta solo in $A$: anche il terzo fattore deve essere $A$. Tra le risposte, solo $A \times B \times A$ ha $A$ al primo e al terzo posto. $A \times A \times B$ è la più tentatrice: comincia bene, ma 5 non sta in $B$. D: Se $|A| = 4$ e $|B| = 6$, quanti elementi ha $A \times B$? - $10$ + $24$ - $4^6$ - $6^4$ - $2$ = Le coppie formano un rettangolo di 4 righe e 6 colonne: $4 \cdot 6 = 24$. Il 10 è la somma, che conterebbe gli elementi di $A$ e di $B$ messi insieme, non le coppie. Le potenze contano altre cose, che vedrai in combinatoria. Il 2 è la differenza. D: In $X = \{1, 2, 3\}$ prendi $R = \{(1, 1), (2, 2), (3, 3), (1, 2), (2, 3)\}$. Quale proprietà ha $R$? - È simmetrica. - È transitiva. + È riflessiva e antisimmetrica. - È un'equivalenza. - Non è riflessiva. = La diagonale c'è tutta: riflessiva. Fuori dalla diagonale ci sono $(1, 2)$ e $(2, 3)$, e nessuno dei due ha lo specchio: antisimmetrica, e non simmetrica. Non è transitiva: da $(1, 2)$ e $(2, 3)$ servirebbe $(1, 3)$, che manca. Quindi non è nemmeno un'equivalenza. La risposta «è transitiva» è la più tentatrice: la catena da 1 a 3 si vede solo se la cerchi. D: Quale di queste relazioni negli interi è un'equivalenza? - $m \le n$ - $m$ divide $n$ + $m - n$ è un multiplo di 4 - la distanza tra $m$ e $n$ è al massimo 1 - $m = 2n$ = La congruenza modulo 4 è riflessiva, simmetrica e transitiva. $\le$ non è simmetrica. «Divide» non è simmetrica. «Distanza al massimo 1» è riflessiva e simmetrica, ma non transitiva: 0 e 1, 1 e 2, ma non 0 e 2. È la più tentatrice. $m = 2n$ non è nemmeno riflessiva, perché per esempio 3 non è il doppio di 3. D: Con la congruenza modulo 3 negli interi, quale di queste uguaglianze tra classi è vera? - $[2] = [5] = [7]$ + $[1] = [4] = [-2]$ - $[0] = [1]$ - $[3] = [6] = [10]$ - $[-1] = [1]$ = Due interi hanno la stessa classe quando la loro differenza è un multiplo di 3. $4 - 1 = 3$ e $1 - (-2) = 3$: quindi $[1] = [4] = [-2]$. Nella prima, $7 - 5 = 2$ non è un multiplo di 3. Nella quarta, $10 - 6 = 4$ non lo è. $[0] = [1]$ è falsa perché la differenza è 1. La più tentatrice è $[-1] = [1]$: sembra simmetrica, ma $1 - (-1) = 2$ non è un multiplo di 3; infatti $[-1] = [2]$. D: Quante relazioni di equivalenza ci sono nell'insieme $\{1, 2, 3\}$? - $3$ + $5$ - $8$ - $9$ - $512$ = Ogni equivalenza corrisponde a una partizione, e le partizioni di un insieme con 3 elementi sono 5 (lezione D02). 512 è il numero di tutte le relazioni, $2^9$, perché $X \times X$ ha 9 coppie: è la più tentatrice per chi confonde relazioni ed equivalenze. 8 è il numero dei sottoinsiemi di $\{1, 2, 3\}$ e 9 il numero delle coppie. D: Una relazione $R$ in $X$ è riflessiva e transitiva. Che cosa serve ancora perché sia un'equivalenza? - Che sia antisimmetrica. + Che sia simmetrica. - Niente: è già un'equivalenza. - Che non sia antisimmetrica. - Che $X$ sia finito. = Un'equivalenza è riflessiva, simmetrica e transitiva: manca la simmetria. Se fosse antisimmetrica sarebbe invece una relazione d'ordine, come $\le$: è la risposta più tentatrice. «Non antisimmetrica» non basta: la relazione delle coppie $(1, 2)$, $(2, 1)$, $(1, 3)$ con la diagonale non è antisimmetrica, e nemmeno simmetrica. ``` ## Esercizi ::: esercizio base Scrivere un prodotto cartesiano Con $A = \{x, y\}$ e $B = \{1, 2, 3\}$, scrivi $A \times B$ e $B \times A$. Quanti elementi hanno? Hanno elementi in comune? ::: soluzione 1. Fisso $x$ e lo accoppio con 1, 2, 3; poi faccio lo stesso con $y$: $A \times B = \{(x, 1), (x, 2), (x, 3), (y, 1), (y, 2), (y, 3)\}$. 2. Ora il primo pezzo viene da $B$: $B \times A = \{(1, x), (1, y), (2, x), (2, y), (3, x), (3, y)\}$. 3. Tutti e due hanno $2 \cdot 3 = 6$ elementi. 4. Nessun elemento in comune: in $A \times B$ ogni coppia comincia con una lettera, in $B \times A$ con un numero. ::: ::: esercizio base Vero o falso sul prodotto cartesiano Con $S = \{a, e, i, o, u\}$ e $T = \{0, 1, 8, 9\}$, di' se sono vere: (a) $(o, 7) \in S \times T$; (b) $(8, u) \in S \times T$; (c) $\{(e, 8)\} \subset S \times T$; (d) $\{i, 1\} \subset S \times T$; (e) $\emptyset \subset T \times S$. ::: soluzione 1. (a) Falsa: 7 non sta in $T$. 2. (b) Falsa: il primo pezzo deve stare in $S$, e 8 è un numero. Starebbe in $T \times S$. 3. (c) Vera: $\{(e, 8)\}$ è un sacchetto con una coppia, e la coppia ha $e$ in $S$ e 8 in $T$. 4. (d) Falsa: il sacchetto contiene la lettera $i$ e il numero 1, non coppie. 5. (e) Vera: il vuoto è contenuto in ogni insieme. ::: ::: esercizio base Contare le coppie Un codice è fatto di una lettera tra A, B, C, D seguita da una cifra da 0 a 9. Quanti codici ci sono? E se dopo la cifra c'è un'altra lettera tra A, B, C, D? ::: soluzione 1. Un codice lettera-cifra è una coppia di $\{A, B, C, D\} \times \{0, 1, \dots, 9\}$. Sono $4 \cdot 10 = 40$. 2. Con la seconda lettera il codice diventa una terna di $\{A, B, C, D\} \times \{0, \dots, 9\} \times \{A, B, C, D\}$. Sono $4 \cdot 10 \cdot 4 = 160$. ::: ::: esercizio base Leggere le proprietà su una tabella In $X = \{1, 2, 3, 4\}$ prendi la relazione «il primo è minore o uguale al secondo». Disegna la tabella e di' quali proprietà ha. ::: soluzione La tabella, con le righe per il primo numero: | $\le$ | 1 | 2 | 3 | 4 | |---|:-:|:-:|:-:|:-:| | **1** | ● | ● | ● | ● | | **2** | | ● | ● | ● | | **3** | | | ● | ● | | **4** | | | | ● | 1. Riflessiva: tutta la diagonale ha il pallino. 2. Simmetrica: no. Per esempio c'è $(1, 2)$ ma non $(2, 1)$. 3. Antisimmetrica: sì. Tutti i pallini fuori dalla diagonale stanno sopra la diagonale, quindi nessuno ha lo specchio. 4. Transitiva: sì. Con il metodo: se c'è un pallino nella riga $a$ e colonna $b$, cioè $a \le b$, la riga di $b$ comincia dalla colonna $b$, e la riga di $a$ comincia prima, dalla colonna $a$: quindi contiene tutti i pallini della riga di $b$. 5. È una relazione d'ordine. ::: ::: esercizio base Classi della congruenza modulo 4 Scrivi le classi della congruenza modulo 4 negli interi, con almeno cinque elementi ciascuna. In quale classe stanno 17, 100 e $-3$? ::: soluzione Due interi sono equivalenti quando la differenza è un multiplo di 4. Le classi sono quattro: - $[0] = \{\dots, -8, -4, 0, 4, 8, 12, \dots\}$; - $[1] = \{\dots, -7, -3, 1, 5, 9, 13, \dots\}$; - $[2] = \{\dots, -6, -2, 2, 6, 10, 14, \dots\}$; - $[3] = \{\dots, -5, -1, 3, 7, 11, 15, \dots\}$. Ora i tre numeri. 1. $17 = 4 \cdot 4 + 1$, quindi $17 - 1 = 16$ è un multiplo di 4: 17 sta in $[1]$. 2. $100 = 4 \cdot 25$: sta in $[0]$. 3. $-3 - 1 = -4$, un multiplo di 4: $-3$ sta in $[1]$. ::: ::: esercizio medio Esercizio 1.13 del libro Prendi $A = \{a, g, h, i, p, u, v\}$, $B = \{b, g, l, m, n, q, v, z\}$, $C = \{d, e, f, m, n, o, q, r, s, v\}$, $D = \{c, d, e, h, i, p, r, t, u, z\}$. Di' quali sono vere: (a) $A \cap B \subset C$; (b) $\{d, e\} \in P(C \cap D)$; (c) $(A \times B) \cap (C \times D) = \emptyset$; (d) $(v, v) \in (A \times B) \setminus (B \times C)$; (e) $(e, p) \in A \times D$; (f) $\{b, l, u\} \subset P(B \cup D)$. ::: soluzione 1. (a) $A \cap B = \{g, v\}$. La $g$ non sta in $C$. **Falsa.** 2. (b) $C \cap D = \{d, e, r\}$. Ricorda che $P(\cdot)$ è l'insieme delle parti, cioè di tutti i sottoinsiemi (lezione D01). $\{d, e\}$ è un sottoinsieme di $\{d, e, r\}$, quindi è un elemento di $P(C \cap D)$. **Vera.** 3. (c) Una coppia sta in tutti e due i prodotti quando il primo pezzo sta in $A$ e in $C$, e il secondo in $B$ e in $D$. $A \cap C = \{v\}$ e $B \cap D = \{z\}$: la coppia $(v, z)$ sta in tutti e due i prodotti. L'intersezione non è vuota. **Falsa.** 4. (d) Leggo il lato destro come $(A \times B) \setminus (B \times C)$. $(v, v)$ sta in $A \times B$, perché $v$ sta in $A$ e in $B$. Ma sta anche in $B \times C$, perché $v$ sta in $B$ e in $C$. Quindi la differenza la toglie. **Falsa.** 5. (e) La $e$ non sta in $A$. **Falsa.** 6. (f) Gli elementi di $P(B \cup D)$ sono sottoinsiemi, non lettere. $\{b, l, u\}$ contiene lettere, quindi non è contenuto in $P(B \cup D)$. **Falsa.** Sarebbe vera $\{b, l, u\} \in P(B \cup D)$: $b$ e $l$ stanno in $B$, $u$ sta in $D$. Solo la (b) è vera. ::: ::: esercizio medio Una relazione senza nome In $X = \{1, 2, 3, 4\}$ prendi $R = \{(1, 1), (2, 2), (3, 3), (4, 4), (1, 3), (3, 1), (2, 4)\}$. Quali proprietà ha? Quante coppie bisogna aggiungere, al minimo, per farla diventare un'equivalenza? Quali sono allora le classi? ::: soluzione 1. Riflessiva: sì, ci sono le quattro coppie della diagonale. 2. Simmetrica: no. C'è $(2, 4)$ ma non $(4, 2)$. 3. Antisimmetrica: no. Ci sono $(1, 3)$ e $(3, 1)$, con 1 diverso da 3. 4. Transitiva: sì. Da $(1, 3)$ e $(3, 1)$ segue $(1, 1)$, che c'è; da $(3, 1)$ e $(1, 3)$ segue $(3, 3)$, che c'è. Le catene con $(2, 4)$ si chiudono subito, perché la riga 4 ha solo $(4, 4)$. 5. Per la simmetria basta aggiungere $(4, 2)$. Ora controllo di nuovo la transitività: da $(4, 2)$ e $(2, 4)$ segue $(4, 4)$, e da $(2, 4)$ e $(4, 2)$ segue $(2, 2)$. Ci sono già. Quindi basta **una** coppia. 6. Le classi sono $\{1, 3\}$ e $\{2, 4\}$. ::: ::: esercizio medio La distanza al massimo 1 Negli interi, chiama $m$ e $n$ in relazione quando la distanza tra loro è al massimo 1, cioè quando $m - n$ è uguale a $-1$, $0$ o $1$. Controlla le quattro proprietà. ::: soluzione 1. Riflessiva: sì, $m - m = 0$. 2. Simmetrica: sì. Se $m - n$ è $-1$, $0$ o $1$, allora $n - m$ è $1$, $0$ o $-1$. 3. Antisimmetrica: no. 1 e 2 sono in relazione in tutti e due i sensi, e sono diversi. 4. Transitiva: no. 1 è in relazione con 2 e 2 con 3, ma $3 - 1 = 2$: 1 e 3 non sono in relazione. Non è un'equivalenza. Se provi a fare i «cassetti», il 2 dovrebbe stare con l'1 e con il 3, che però non possono stare insieme. ::: ::: esercizio medio Dalla partizione all'equivalenza Prendi la partizione di $X = \{1, 2, 3, 4, 5\}$ in $\{1, 4\}$, $\{2, 3, 5\}$. Scrivi l'equivalenza «stare nello stesso cassetto» come insieme di coppie e conta le coppie. ::: soluzione 1. Dal cassetto $\{1, 4\}$: tutte le coppie con due pezzi presi da lì, cioè $(1, 1)$, $(1, 4)$, $(4, 1)$, $(4, 4)$. Sono $2 \cdot 2 = 4$. 2. Dal cassetto $\{2, 3, 5\}$: tutte le coppie con due pezzi presi da lì. Sono $3 \cdot 3 = 9$: $(2, 2)$, $(2, 3)$, $(2, 5)$, $(3, 2)$, $(3, 3)$, $(3, 5)$, $(5, 2)$, $(5, 3)$, $(5, 5)$. 3. In tutto $4 + 9 = 13$ coppie. L'equivalenza è $\{1, 4\} \times \{1, 4\}$ unito a $\{2, 3, 5\} \times \{2, 3, 5\}$. ::: ::: esercizio medio Contare le relazioni Quante relazioni ci sono in un insieme con 3 elementi? Quante di queste sono riflessive? ::: soluzione 1. $X \times X$ ha $3 \cdot 3 = 9$ coppie. Una relazione è un qualunque sottoinsieme di queste coppie, e un insieme con 9 elementi ha $2^9 = 512$ sottoinsiemi (lezione D02). Quindi le relazioni sono 512. 2. Una relazione riflessiva deve contenere le 3 coppie della diagonale. Per le altre $9 - 3 = 6$ coppie si sceglie liberamente «dentro» o «fuori»: $2^6 = 64$ relazioni riflessive. ::: ::: esercizio difficile Esercizio 1.17 del libro: partizioni di un prodotto $A$ è diviso in due parti $A_1$ e $A_2$, e $B$ in due parti $B_1$ e $B_2$ (due partizioni). Dimostra che $A_1 \times B_1$, $A_1 \times B_2$, $A_2 \times B_1$, $A_2 \times B_2$ sono una partizione di $A \times B$. ::: soluzione 1. Prima un esempio: $A = \{1, 2, 3\}$ con $A_1 = \{1\}$ e $A_2 = \{2, 3\}$; $B = \{x, y\}$ con $B_1 = \{x\}$ e $B_2 = \{y\}$. I quattro pezzi sono $\{(1, x)\}$, $\{(1, y)\}$, $\{(2, x), (3, x)\}$, $\{(2, y), (3, y)\}$: sei coppie in tutto, ognuna in un pezzo solo. Funziona. 2. **Coprono tutto.** Prendi una coppia $(a, b)$ di $A \times B$. Il pezzo $a$ sta in $A_1$ oppure in $A_2$, perché sono una partizione di $A$; chiamo $A_i$ quello giusto. Allo stesso modo $b$ sta in un $B_j$. Allora $(a, b)$ sta in $A_i \times B_j$. 3. **Nessuna parte vuota.** $A_i$ e $B_j$ non sono vuoti, perché sono parti di partizioni. Prendi $a$ in $A_i$ e $b$ in $B_j$: la coppia $(a, b)$ sta in $A_i \times B_j$, che quindi non è vuoto. 4. **Nessuna sovrapposizione.** Se $(a, b)$ stesse in $A_i \times B_j$ e in $A_k \times B_l$, allora $a$ starebbe in $A_i$ e in $A_k$: siccome le $A$ sono una partizione, $A_i$ e $A_k$ sono la stessa parte. Allo stesso modo $B_j$ e $B_l$ sono la stessa parte. Quindi i due pezzi sono lo stesso pezzo. ::: ::: esercizio difficile La congruenza modulo N è un'equivalenza Senza guardare il testo, dimostra che la relazione $M_N$ negli interi ($m \sim n$ quando $N$ divide $m - n$) è riflessiva, simmetrica e transitiva. Poi spiega perché le classi sono esattamente $N$. ::: soluzione 1. **Riflessiva:** $m - m = 0 = N \cdot 0$, un multiplo di $N$. 2. **Simmetrica:** se $m - n = N \cdot k$ per un intero $k$, allora $n - m = N \cdot (-k)$, ancora un multiplo di $N$. 3. **Transitiva:** se $m - n = N \cdot k$ e $n - p = N \cdot h$, allora $m - p = (m - n) + (n - p) = N \cdot k + N \cdot h = N \cdot (k + h)$. 4. **Le classi.** Ogni intero $m$ si scrive come un multiplo di $N$ più un resto $r$ tra 0 e $N - 1$: $m = N \cdot q + r$. Allora $m - r = N \cdot q$, quindi $m$ sta in $[r]$. I resti possibili sono $0, 1, \dots, N - 1$, quindi ci sono al massimo $N$ classi. 5. Sono proprio $N$, tutte diverse: due resti diversi tra 0 e $N - 1$ hanno una differenza compresa tra $-(N - 1)$ e $N - 1$, diversa da 0, e un numero così non è un multiplo di $N$. ::: ## Domande di ripasso ::: domanda Che differenza c'è tra $(1, 2)$ e $\{1, 2\}$? $(1, 2)$ è una coppia ordinata: c'è un primo e un secondo, e $(1, 2)$ è diversa da $(2, 1)$. $\{1, 2\}$ è un insieme: l'ordine non conta, e $\{1, 2\} = \{2, 1\}$. ::: ::: domanda Che cos'è $A \times B$ e quanti elementi ha? È l'insieme di tutte le coppie con il primo pezzo in $A$ e il secondo in $B$. Se $A$ ha $m$ elementi e $B$ ne ha $n$, le coppie sono $m \cdot n$. ::: ::: domanda Perché $\{a, b\} \in A \times B$ è sempre falsa? Perché gli elementi di $A \times B$ sono coppie, con le tonde, e $\{a, b\}$ è un insieme, con le graffe. Si scrive $(a, b) \in A \times B$, oppure $\{(a, b)\} \subset A \times B$. ::: ::: domanda Che cos'è una relazione in un insieme $X$? Un insieme di coppie di elementi di $X$, cioè un sottoinsieme di $X \times X$. Le coppie scelte dicono quali elementi sono legati. ::: ::: domanda Come si riconoscono sulla tabella le proprietà riflessiva, simmetrica e antisimmetrica? Riflessiva: tutta la diagonale ha il pallino. Simmetrica: la tabella è uguale alla sua immagine allo specchio rispetto alla diagonale. Antisimmetrica: fuori dalla diagonale nessun pallino ha il suo specchio. ::: ::: domanda Che cos'è una relazione di equivalenza? Fai due esempi. Una relazione riflessiva, simmetrica e transitiva: dice che due elementi sono «dello stesso tipo». Esempi: «nato nello stesso mese» tra persone; la congruenza modulo 3 tra interi, in cui due numeri sono equivalenti quando la differenza è un multiplo di 3. ::: ::: domanda Che cosa c'entrano le equivalenze con le partizioni? Le classi di un'equivalenza formano una partizione dell'insieme. Al contrario, ogni partizione dà un'equivalenza, «stare nello stesso cassetto». Sono due modi di descrivere la stessa cosa. ::: ::: domanda Perché due classi di equivalenza diverse non hanno elementi in comune? Se $[x]$ e $[y]$ avessero un elemento $z$ in comune, avresti $x \sim z$ e $y \sim z$; per simmetria e transitività $x \sim y$, e allora $[x] = [y]$. Quindi due classi o sono la stessa o non si toccano. ::: ## Glossario ```glossario Coppia ordinata | Due oggetti in fila, $(a, b)$: c'è un primo e un secondo. $(a, b)$ e $(b, a)$ sono diverse se $a$ e $b$ sono diversi. Componente | Uno dei pezzi di una coppia o di una terna: prima componente, seconda componente. Prodotto cartesiano | $A \times B$, l'insieme di tutte le coppie con il primo pezzo in $A$ e il secondo in $B$. Ha $\lvert A \rvert \cdot \lvert B \rvert$ elementi. Terna, n-upla | Tre, o $n$, oggetti in fila; sono gli elementi di $A \times B \times C$, o di $A_1 \times \dots \times A_n$. Relazione | Un sottoinsieme di $X \times X$: le coppie scelte dicono quali elementi sono legati. Si scrive $a R b$. Diagonale | Le coppie con due pezzi uguali, $(x, x)$; il libro la chiama $\Delta$. È la relazione di uguaglianza. Riflessiva | Ogni elemento è in relazione con sé stesso. Simmetrica | Se $a$ è in relazione con $b$, anche $b$ è in relazione con $a$. Antisimmetrica | Due elementi diversi non sono mai in relazione nei due sensi. Transitiva | Se $a$ è in relazione con $b$ e $b$ con $c$, anche $a$ è in relazione con $c$. Relazione d'ordine | Una relazione riflessiva, antisimmetrica e transitiva, come $\le$. Relazione di equivalenza | Una relazione riflessiva, simmetrica e transitiva; si scrive $x \sim y$. Vuol dire «dello stesso tipo». Congruenza modulo N | Negli interi, $m \sim n$ quando $N$ divide $m - n$. Il libro la chiama $M_N$. Classe di equivalenza | $[x]$, l'insieme degli elementi equivalenti a $x$. Insieme quoziente | L'insieme delle classi di un'equivalenza, $X/\!\sim$. Modulo $N$ negli interi è $\Z_N$. ``` ## Checklist ```checklist - So distinguere una coppia $(a, b)$ da un insieme $\{a, b\}$. - So scrivere per esteso $A \times B$ e $B \times A$ e so che di solito sono diversi. - So contare gli elementi di un prodotto cartesiano, anche con tre insiemi. - So rispondere alla domanda 2 del quiz: elemento, coppia o sacchetto di coppie, e ordine dei fattori. - So scrivere una relazione come insieme di coppie e disegnarla con una tabella. - So controllare le proprietà riflessiva, simmetrica, antisimmetrica e transitiva, anche sulla tabella. - So che antisimmetrica non vuol dire «non simmetrica». - So dire quando una relazione è d'ordine e quando è di equivalenza. - So scrivere le classi della congruenza modulo un numero piccolo e dire in quale classe sta un intero. - So spiegare perché le classi di un'equivalenza formano una partizione, e passare da una partizione all'equivalenza. ``` ## Fonti - A. Mori, *Lezioni di Matematica Discreta*, 2ª edizione, testo del canale B: capitolo 1 «Insiemi», pp. 13–14 (definizione 1.23, proposizione 1.24 con la dimostrazione, prodotto di $n$ insiemi, piano cartesiano), esercizi 1.13 e 1.17 (pp. 15); appendice A «Gli insiemi numerici», pp. 153–155 (definizione A.1 ed esempi, le quattro proprietà, nota 1 sulla divisibilità negli interi, definizione A.2, la relazione $M_N$, classi di equivalenza, teorema A.3 con la dimostrazione). Le definizioni e gli enunciati nei riquadri sono citati dal libro. Le tabelle con i pallini riprendono quelle di p. 18. - Diario delle lezioni di Matematica Discreta del canale B 2025/26 (Mori): lezione 2 (prodotto cartesiano) e lezione 3 (relazioni, relazioni di equivalenza e partizioni). Gli argomenti della lezione del 05/10/2026 non erano ancora pubblicati sul Moodle del canale B quando ho scritto questi appunti. - Quiz degli appelli di Matematica Discreta, con le soluzioni ufficiali, sulla pagina Moodle MDAG1 2025/26 ([id 3501](https://informatica.i-learn.unito.it/course/view.php?id=3501), aperta agli ospiti): appelli del 14/01/2025 (domanda 2), 07/07/2025 (domanda 1), 13/01/2026, 03/02/2026, 06/06/2026 e 01/07/2026 (domanda 2), prima versione di ogni quiz. - Programma del corso: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md), voce «Relazioni e funzioni». - V. Bocchino, *Rigurgiti di Unicorno*, appunti di Matematica Discreta scritti da uno studente sul libro di Mori (licenza CC BY-NC-SA 4.0, [GitHub](https://github.com/bocchinovalentino/rigurgiti_di_unicorno)): sezioni 2.6 e 2.7 su prodotto cartesiano e relazioni, un riepilogo già pronto, non ufficiale. - Le spiegazioni a parole, gli esempi della battaglia navale e dei mesi di nascita, i riquadri «Prova tu», i quiz senza data e gli esercizi senza il numero del libro sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/D04_funzioni_immagini_controimmagini.md` ```yaml corso: MDAG modulo: MD lezione: D04 titolo: Funzioni, immagini e controimmagini data: 2026-10-09 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Parte 1 (modA) · Matematica Discreta · Canali A, B e C · Lezione D04 descrizione: >- Appunti della lezione D04 di Matematica Discreta (MDAG, parte 1, canali A, B e C): funzioni come insiemi di coppie, dominio, codominio e grafico, esempi notevoli (identità, costanti, proiezioni, successioni, funzione quoziente), restrizione, buona definizione, immagine e controimmagine, funzioni suriettive, iniettive e biettive, con le domande vere degli appelli ed esercizi svolti. lede: >- Una funzione è una regola che a ogni elemento di un insieme fa corrispondere un elemento di un altro, uno e uno solo. Qui la costruisci con le coppie della lezione D03, impari a leggerla su una tabella di pallini e a riconoscere le funzioni iniettive, suriettive e biettive, che tornano in tutto il resto del corso. materiale: libro scheda: Libro: A. Mori, Lezioni di Matematica Discreta, cap. 2, pp. 17–23, esercizi pp. 34–35 Docenti: Andrea Mori (canale B), Ignazio Longhi e Lea Terracini (canali A e C) · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- A. Mori, Lezioni di Matematica Discreta (testo del canale B), cap. 2 «Funzioni», pp. 17–23, ed esercizi 2.1–2.8; diario delle lezioni del canale B 2025/26; quiz degli appelli di Matematica Discreta 2025–2026 appunti_html: appunti/MDAG/D04_funzioni_immagini_controimmagini.html genera_html: true ``` ## In breve - Una **funzione** fa corrispondere a **ogni** elemento di un insieme di partenza, il **dominio**, **uno e un solo** elemento di un insieme d'arrivo, il **codominio**. Si scrive $f \colon A \to B$. - Con le coppie della lezione D03 una funzione è un insieme di coppie, il **grafico**: sulla tabella dei pallini c'è **un pallino in ogni colonna**, né zero né due. - L'**immagine** di $f$ è l'insieme dei valori che la funzione prende davvero. Può essere più piccola del codominio. - La **controimmagine** di un elemento $b$ è l'insieme degli elementi che finiscono in $b$. Può essere vuota. - **Suriettiva**: ogni elemento del codominio viene raggiunto. Sulla tabella, ogni riga ha almeno un pallino. - **Iniettiva**: due elementi diversi finiscono sempre in posti diversi. Sulla tabella, ogni riga ha al massimo un pallino. - **Biettiva**: iniettiva e suriettiva insieme. Ogni riga ha esattamente un pallino: è un abbinamento perfetto tra i due insiemi. - All'esame la **domanda 3 del quiz** è sempre sulle funzioni. > [!CANALI] > Matematica Discreta ha **lo stesso programma e la stessa prova d'esame** nei canali A, B e C: questi appunti valgono per tutti e tre. Nel canale B è la lezione di venerdì 09/10/2026 con Andrea Mori. Quando scrivo gli argomenti di questa lezione non sono ancora sul Moodle del canale B: li ho ricostruiti dall'ordine del libro, che dopo le relazioni passa al capitolo 2, e dal diario dell'anno scorso, in cui la quarta lezione era proprio «funzioni, immagine e controimmagine, funzioni iniettive, suriettive e biettive». La composizione di funzioni e le funzioni invertibili (pp. 23–29) erano la lezione dopo. Quando il docente pubblica gli argomenti, controllo e aggiorno. ## Che cos'è una funzione (pp. 17–18) Pensa alla mensa. Quattro studenti, Anna, Bruno, Carla e Dario, scelgono il primo tra pasta, riso, zuppa e gnocchi. Le regole sono due: - **tutti** mangiano: ogni studente sceglie un piatto; - ognuno sceglie **un solo** piatto: niente doppie porzioni. Più studenti possono scegliere lo stesso piatto, e qualche piatto può restare intatto. Una scelta così è una **funzione** dall'insieme degli studenti all'insieme dei piatti. > [!IDEA] > Una funzione è una regola che a ogni elemento del primo insieme fa corrispondere un elemento del secondo, uno e uno solo. Ecco una scelta possibile: | Studente | Piatto | |---|---| | Anna | pasta | | Bruno | pasta | | Carla | zuppa | | Dario | riso | Se la funzione si chiama $f$, la scelta di Anna si scrive $f(\text{Anna}) = \text{pasta}$. Si legge «effe di Anna è pasta». Il piatto si chiama il **valore** di $f$ in Anna, o l'**immagine** di Anna. ### La funzione come insieme di coppie La regola «a ogni studente il suo piatto» si può scrivere senza parole, con le coppie della lezione D03. Ogni riga della tabella è una coppia (studente, piatto): $$\Gamma = \{(\text{Anna}, \text{pasta}), (\text{Bruno}, \text{pasta}), (\text{Carla}, \text{zuppa}), (\text{Dario}, \text{riso})\}$$ $\Gamma$ si legge «gamma maiuscola». È un sottoinsieme del prodotto cartesiano studenti × piatti: un sacchetto di coppie, come le relazioni della lezione D03. Il libro parte proprio da qui. > [!DEF] 2.1 · Funzione > Siano $A$ e $B$ insiemi non vuoti. Una funzione $f$ con **dominio** $A$ e **codominio** $B$ è il dato di un sottoinsieme $\Gamma \subset A \times B$ tale che > $$\text{per ogni } a \in A \text{ esiste un unico elemento } b \in B \text{ tale che } (a, b) \in \Gamma.$$ > Il sottoinsieme $\Gamma \subset A \times B$ è detto **grafico** della funzione. **Come si legge.** - Il **dominio** $A$ è l'insieme di partenza: gli studenti. Il **codominio** $B$ è l'insieme d'arrivo: i piatti. - Il **grafico** $\Gamma$ è il sacchetto delle coppie (elemento, suo valore). - «Per ogni $a$ esiste un unico $b$» sono le due regole della mensa: ogni elemento ha un valore (esiste), e uno solo (unico). - La scrittura $f \colon A \to B$ si legge «effe da A a B». - La scrittura $f(a) = b$ vuol dire che la coppia $(a, b)$ sta nel grafico. - Il libro avverte che una funzione si chiama anche **mappa**, **applicazione** o **freccia**. ### Leggere una funzione sulla tabella dei pallini (p. 18) Il libro disegna i grafici come le relazioni della lezione D03: una griglia con il dominio in orizzontale e il codominio in verticale, e un pallino in ogni casella che sta nel grafico. La mensa diventa così: | | Anna | Bruno | Carla | Dario | |---|:-:|:-:|:-:|:-:| | **gnocchi** | | | | | | **zuppa** | | | ● | | | **riso** | | | | ● | | **pasta** | ● | ● | | | Le due regole si controllano a colpo d'occhio, colonna per colonna: - **ogni colonna ha un pallino**: ogni studente ha il suo piatto; - **nessuna colonna ne ha due**: nessuno ha due piatti. Le righe invece possono avere zero pallini (gli gnocchi, che nessuno ha scelto) o più pallini (la pasta). L'esempio del libro, con $A = \{a, b, c\}$ e $B = \{w, x, y, z\}$, ha tre sacchetti di coppie: - $\Gamma_1 = \{(a, x), (b, x), (c, z)\}$ è una funzione: $f(a) = x$, $f(b) = x$, $f(c) = z$; - $\Gamma_2 = \{(b, y), (c, w)\}$ **non** è una funzione: la colonna di $a$ è vuota, $f(a)$ non è definito; - $\Gamma_3 = \{(a, y), (b, w), (b, z), (c, x)\}$ **non** è una funzione: la colonna di $b$ ha due pallini, $f(b)$ non è unico. > [!TRAPPOLA] Le righe non contano > Per decidere se è una funzione si guardano **solo le colonne**, cioè gli elementi del dominio. Una riga piena di pallini o una riga vuota vanno benissimo: vuol dire che un piatto l'hanno scelto in tanti, o nessuno. ### Due funzioni uguali (p. 18) Due funzioni sono la **stessa funzione** quando hanno lo stesso dominio, lo stesso codominio e lo stesso grafico. Conta che cosa fanno, non come sono scritte. L'esempio del libro: sul dominio $\{0, 1, 2\}$ le due regole $$f(x) = 3x^2 - 1 \qquad g(x) = x^3 + 2x - 1$$ sembrano diverse, ma danno gli stessi valori: $f(0) = g(0) = -1$, $f(1) = g(1) = 2$, $f(2) = g(2) = 11$. Hanno lo stesso grafico, quindi sono la stessa funzione. > [!NOTA] Non è la funzione delle superiori > Alle superiori una funzione era una formula, come $f(x) = \frac{1}{x}$, e il primo passo era trovare il «dominio di definizione». Qui il dominio fa parte della funzione e va dichiarato all'inizio. Il libro fa proprio questo esempio: «uno diviso x» non è una funzione dai reali ai reali, perché in 0 non dà niente. È una funzione da $\R \setminus \{0\}$ a $\R$. ::: prova Con $A = \{1, 2, 3\}$ e $B = \{a, b\}$, quali di questi sacchetti sono funzioni da $A$ a $B$? (a) $\{(1, a), (2, a), (3, a)\}$; (b) $\{(1, a), (2, b)\}$; (c) $\{(1, a), (1, b), (2, b), (3, a)\}$. (a) sì: ogni numero ha un solo valore, anche se è sempre $a$. (b) no: manca 3. (c) no: 1 ha due valori. ::: > [!RICORDA] > - Funzione: a **ogni** elemento del dominio, **uno e un solo** elemento del codominio. > - Sulla tabella: un pallino in ogni colonna. Le righe possono avere quanti pallini vogliono. ## Funzioni che tornano sempre (pp. 19–20) Alcune funzioni sono così comuni che hanno un nome. Il libro ne elenca sei; eccole con un esempio ciascuna. 1. **L'identità** su $A$, che si scrive $\operatorname{id}_A$: lascia ogni elemento dov'è, $\operatorname{id}_A(a) = a$. Il grafico è la diagonale della lezione D03. 2. **La funzione costante** di valore $\beta$: manda tutto nello stesso elemento $\beta$ del codominio. È la mensa in cui tutti scelgono la pasta. Il grafico è $A \times \{\beta\}$: una riga piena. 3. **Le proiezioni** di un prodotto cartesiano: da una coppia tengono solo un pezzo. $p_1(a, b) = a$ tiene il primo, $p_2(a, b) = b$ tiene il secondo. Per esempio, dalla casella B3 della battaglia navale $p_1$ tiene la colonna B. 4. **Le successioni**: una lista infinita di elementi di $B$ è una funzione dai naturali a $B$. Il primo elemento della lista è il valore in 0, il secondo il valore in 1, e così via. Per esempio i quadrati $0, 1, 4, 9, \dots$ sono la funzione $s(n) = n^2$. 5. **La funzione quoziente**: prendi un insieme diviso in cassetti; questa funzione manda ogni elemento nel suo cassetto, cioè nella sua classe (lezione D03). Con la congruenza modulo 3 manda 7 in $[1]$. 6. **Il prodotto di due funzioni**: con due funzioni $f$ e $g$ si costruisce $f \times g$, che lavora sulle coppie. Manda la coppia $(a, b)$ nella coppia $(f(a), g(b))$. ### Restringere il dominio (p. 19) Una funzione si può usare anche solo su una parte del dominio. Se alla mensa guardi solo Anna e Carla, hai una funzione più piccola, con le stesse scelte. Il libro le dà un nome. > [!DEF] 2.2 · Restrizione > Sia $f \colon A \to B$ una funzione e sia $S \subset A$ un sottoinsieme di $A$. Si dice **restrizione** di $f$ a $S$ la funzione > $$f_{|S} \colon S \to B, \qquad f_{|S}(s) = f(s) \text{ per ogni } s \in S.$$ **Come si legge.** $f_{|S}$ si legge «effe ristretta a esse». Fa le stesse cose di $f$, ma accetta solo gli elementi di $S$. Sulla tabella, si tengono solo le colonne di $S$. ### Quando una regola è «ben definita» (p. 20) Il libro dice che il contenuto di questa nota è molto importante: serve con le classi della lezione D03. A volte una funzione parte da un insieme di cassetti, e il valore di un cassetto si calcola usando un suo elemento, il **rappresentante**. Funziona solo se il risultato non dipende da quale elemento del cassetto scegli. In quel caso la funzione si chiama **ben definita**. > [!ESEMPIO] Due regole sulle classi (Nota 2.3) > **Una regola che funziona.** Gli interi divisi in pari e dispari hanno due cassetti, $[0]$ e $[1]$. La regola «$f([x]) = (-1)^x$» dà 1 per qualunque pari e $-1$ per qualunque dispari. Il risultato dipende solo dal cassetto: $f$ è ben definita. > > **Una regola che non funziona.** Dividi i naturali in cassetti secondo il numero di cifre: $E_1$ sono i numeri con una cifra, $E_2$ quelli con due, e così via. La regola «$f([x]) = [2x]$» chiede il cassetto del doppio. Ma $E_1 = [4] = [7]$, e $[2 \cdot 4] = [8] = E_1$, mentre $[2 \cdot 7] = [14] = E_2$. Lo stesso cassetto darebbe due risultati: $f$ **non** è ben definita. Il controllo della buona definizione torna nei **problemi d'esame** sulle classi di resto: «dire se la funzione è ben definita» è una richiesta frequente nella seconda parte del corso. ::: prova Che cosa fa la proiezione $p_2$ sulla coppia $(\text{Carla}, \text{zuppa})$? E la funzione costante di valore 5 sul numero 12? $p_2(\text{Carla}, \text{zuppa}) = \text{zuppa}$: tiene il secondo pezzo. La costante dà 5, qualunque sia l'elemento. ::: > [!RICORDA] > - Identità, costanti, proiezioni, successioni, funzione quoziente: sono esempi da riconoscere al volo. > - Una regola sulle classi è ben definita quando il risultato non dipende dal rappresentante scelto. ## Dove si arriva: l'immagine (pp. 20–21) Torna alla mensa. Sono stati scelti pasta, zuppa e riso. Gli gnocchi, che erano nel menu, non li ha presi nessuno. L'insieme dei piatti scelti davvero, $\{\text{pasta}, \text{zuppa}, \text{riso}\}$, si chiama **immagine** della funzione. Il menu intero è il codominio. > [!IDEA] > Il codominio è quello che una funzione **potrebbe** dare; l'immagine è quello che **dà davvero**. Il libro definisce anche l'immagine di una parte del dominio: per esempio, che cosa hanno scelto le sole ragazze, Anna e Carla? La pasta e la zuppa. > [!DEF] 2.4 · Immagine > Sia $f \colon A \to B$ una funzione e sia $S \subset A$ un sottoinsieme del dominio. Si dice **immagine di $S$ tramite $f$** il sottoinsieme $f(S)$ del codominio $B$ costituito dalle immagini degli elementi di $S$, cioè > $$f(S) = \{f(s) \text{ tali che } s \in S\} \subset B.$$ > Quando $S = A$, l'immagine $f(S)$ si chiama semplicemente **immagine di $f$** e si denota $\operatorname{Im}(f)$, cioè $\operatorname{Im}(f) = f(A)$. **Come si legge.** $f(S)$ è l'insieme dei valori che la funzione dà sugli elementi di $S$. $\operatorname{Im}(f)$, «immagine di effe», è l'insieme di tutti i valori che dà. Sulla tabella sono le **righe con almeno un pallino**. Nel libro, nella prima riga della definizione, è stampato $f(B)$ al posto di $f(S)$: è un refuso, la formula subito sotto è quella giusta. Un modo pratico di pensarla, che il libro suggerisce a p. 21: $b$ sta nell'immagine quando l'**equazione** $f(a) = b$, con $a$ incognita, ha almeno una soluzione. > [!ESEMPIO] Le immagini degli esempi del libro (p. 21) > - $f \colon \Z \to \Z$, $f(n) = 2n + 1$. I valori sono $\dots, -3, -1, 1, 3, 5, \dots$: tutti i dispari, e ogni dispari $m = 2k + 1$ si ottiene con $n = k$. Quindi $\operatorname{Im}(f)$ sono i dispari, che il libro scrive $2\Z + 1$. > - $f \colon \R \to \R$, $f(x) = x^2$. I quadrati non sono mai negativi, e ogni $y \ge 0$ è il quadrato di $\sqrt y$. Quindi l'immagine sono i reali maggiori o uguali a 0. > - La prima proiezione $p_1 \colon A \times B \to A$, con $B$ non vuoto: ogni $a$ è il primo pezzo di qualche coppia $(a, b)$. L'immagine è tutto $A$. ::: prova Alla mensa, qual è l'immagine dell'insieme $\{\text{Bruno}, \text{Dario}\}$? E l'immagine di $f(n) = 2n$ da $\Z$ a $\Z$? $f(\{\text{Bruno}, \text{Dario}\}) = \{\text{pasta}, \text{riso}\}$. L'immagine di $2n$ sono i numeri pari. ::: > [!RICORDA] > - L'immagine è l'insieme dei valori raggiunti: sulla tabella, le righe con almeno un pallino. > - $b$ sta nell'immagine quando l'equazione $f(a) = b$ ha almeno una soluzione. ## Chi arriva lì: la controimmagine (pp. 21–22) Adesso la domanda al contrario. Il cuoco vuole sapere **chi** ha scelto la pasta: Anna e Bruno. E gli gnocchi? Nessuno. L'insieme degli studenti che hanno scelto un certo piatto si chiama **controimmagine** di quel piatto. > [!IDEA] > L'immagine va avanti: dagli studenti ai piatti. La controimmagine torna indietro: da un piatto agli studenti che l'hanno scelto. Il libro la scrive così. > [!DEF] 2.7 · Controimmagine > Sia $f \colon A \to B$ una funzione e sia $b \in B$. Si dice **controimmagine** di $b$ tramite $f$ il sottoinsieme $f^{-1}(b)$ degli elementi del dominio $A$ che hanno $b$ come immagine, cioè > $$f^{-1}(b) = \{a \in A \text{ tali che } f(a) = b\}.$$ > Più in generale, dato un sottoinsieme $T \subset B$, si dice controimmagine di $T$ tramite $f$ il sottoinsieme $f^{-1}(T)$ del dominio costituito dalle controimmagini degli elementi di $T$, cioè > $$f^{-1}(T) = \{a \in A \text{ tali che } f(a) \in T\}.$$ **Come si legge.** - $f^{-1}(b)$ si legge «effe alla meno uno di bi», o «controimmagine di bi». È un **insieme** di elementi del dominio: le soluzioni dell'equazione $f(a) = b$. - Sulla tabella: la controimmagine di $b$ sono le **colonne dei pallini nella riga di $b$**. - $f^{-1}(T)$ raccoglie tutti quelli che finiscono da qualche parte dentro $T$. Alla mensa: $f^{-1}(\text{pasta}) = \{\text{Anna}, \text{Bruno}\}$, $f^{-1}(\text{zuppa}) = \{\text{Carla}\}$, $f^{-1}(\text{gnocchi}) = \emptyset$. E $f^{-1}(\{\text{riso}, \text{zuppa}\}) = \{\text{Carla}, \text{Dario}\}$. > [!TRAPPOLA] $f^{-1}$ non è «uno diviso $f$» > Il simbolo $f^{-1}(b)$ non vuol dire $\frac{1}{f(b)}$, e non vuol dire che esista una funzione che torna indietro. È solo il nome di un insieme, che esiste per ogni funzione. Con $f(x) = x^2$ da $\R$ a $\R$, $f^{-1}(4) = \{2, -2\}$, mentre $\frac{1}{f(4)} = \frac{1}{16}$. ### Vuota sì, vuota no (Nota 2.8) C'è una differenza tra le due operazioni. L'immagine di un insieme non vuoto non è mai vuota: ogni elemento porta con sé almeno il suo valore. La controimmagine invece può essere vuota anche di un insieme pieno: con $f(x) = x^2$, $f^{-1}(-1) = \emptyset$, perché nessun quadrato è negativo. > [!ESEMPIO] Controimmagini degli esempi del libro (p. 22) > - **Funzione costante** di valore $\beta$: la controimmagine di $T$ è tutto $A$ se $\beta$ sta in $T$, ed è vuota se non ci sta. > - **Seconda proiezione** $p_2 \colon A \times B \to B$: $p_2^{-1}(b) = A \times \{b\}$, tutte le coppie con secondo pezzo $b$. > - **Valore assoluto** $f(x) = \lvert x \rvert$ da $\R$ a $\R$: $f^{-1}(x) = \{x, -x\}$ se $x \ge 0$, e $f^{-1}(x) = \emptyset$ se $x < 0$. ::: prova Con $f \colon \Z \to \Z$, $f(n) = n^2$, calcola $f^{-1}(9)$, $f^{-1}(0)$, $f^{-1}(5)$ e $f^{-1}(\{1, 4\})$. $f^{-1}(9) = \{3, -3\}$; $f^{-1}(0) = \{0\}$; $f^{-1}(5) = \emptyset$, perché 5 non è un quadrato; $f^{-1}(\{1, 4\}) = \{1, -1, 2, -2\}$. ::: > [!RICORDA] > - Controimmagine di $b$: gli elementi del dominio che finiscono in $b$, cioè le soluzioni di $f(a) = b$. > - Può essere vuota; $f^{-1}$ è solo un nome, non una divisione. ## Suriettive, iniettive, biettive (pp. 20–23) Alla mensa possono succedere due cose spiacevoli: un piatto resta intatto, oppure due studenti si contendono lo stesso piatto. Le due proprietà che le escludono hanno un nome. - **Suriettiva**: nessun piatto resta intatto. Ogni elemento del codominio viene scelto da qualcuno. - **Iniettiva**: nessun piatto è conteso. Studenti diversi scelgono piatti diversi. Sulla tabella dei pallini, dove le colonne hanno sempre un pallino ciascuna, le due proprietà si leggono sulle **righe**: | Proprietà | Sulle righe della tabella | Alla mensa | |---|---|---| | suriettiva | ogni riga ha **almeno** un pallino | nessun piatto intatto | | iniettiva | ogni riga ha **al massimo** un pallino | nessun piatto conteso | | biettiva | ogni riga ha **esattamente** un pallino | ognuno ha il suo piatto, e nessun piatto avanza | La mensa di prima non è né suriettiva (gli gnocchi) né iniettiva (la pasta di Anna e Bruno). ### Suriettiva Il libro la definisce con l'immagine. > [!DEF] 2.5 · Funzione suriettiva > Una funzione $f \colon A \to B$ si dice **suriettiva** se $\operatorname{Im}(f) = B$. **Come si legge.** L'immagine è tutto il codominio: ogni $b$ è il valore di qualcuno. Per dimostrarlo si prende un elemento qualsiasi del codominio e si trova chi ci arriva. Per smentirlo basta un $b$ che non viene mai raggiunto. > [!ESEMPIO] Suriettive e no, dal libro (p. 21) > - $f(n) = 2n + 1$ da $\Z$ a $\Z$: **non** suriettiva. Il 2 non è mai raggiunto, perché i valori sono tutti dispari. > - $f(x) = x^2$ da $\R$ a $\R$: **non** suriettiva. $-1$ non è il quadrato di nessun numero reale. > - La prima proiezione $p_1 \colon A \times B \to A$, con $B$ non vuoto: suriettiva. Ogni $a$ è $p_1(a, b)$ per qualunque $b$. > - La funzione quoziente: suriettiva. Ogni cassetto contiene almeno un elemento, che ci finisce dentro. > [!NOTA] Restringere il codominio (Nota 2.6) > Una funzione non suriettiva diventa suriettiva se come codominio prendi la sua immagine. Il quadrato non è suriettivo dai reali ai reali, ma lo è dai reali ai reali maggiori o uguali a 0. Il grafico è lo stesso: cambia solo il menu, da cui togli i piatti che nessuno sceglie. ### Iniettiva Il libro la definisce così. > [!DEF] 2.9 · Funzione iniettiva > Una funzione $f \colon A \to B$ si dice **iniettiva** se per ogni scelta di $a_1, a_2 \in A$ con $a_1 \neq a_2$ si ha $f(a_1) \neq f(a_2)$. **Come si legge.** Elementi diversi hanno valori diversi: nessun valore viene preso due volte. Per smentirlo basta trovare **due elementi diversi con lo stesso valore**. Per dimostrarlo si usa quasi sempre il ragionamento al contrario: se $f(a_1) = f(a_2)$, si fanno i conti e si arriva a $a_1 = a_2$. > [!ESEMPIO] Iniettive e no, dal libro (p. 22) > - $f(n) = 2n + 1$ da $\Z$ a $\Z$: iniettiva. Se $2m + 1 = 2n + 1$, togliendo 1 e dividendo per 2 viene $m = n$. > - $f(x) = x^2$ da $\R$ a $\R$: **non** iniettiva. $f(1) = f(-1) = 1$. > - La prima proiezione $p_1 \colon A \times B \to A$: iniettiva solo se $B$ ha un solo elemento. Se $B$ contiene $b_1$ e $b_2$ diversi, le coppie $(a, b_1)$ e $(a, b_2)$ hanno lo stesso primo pezzo. > [!NOTA] Restringere il dominio (Nota 2.10) > Una funzione non iniettiva può diventarlo se togli una parte del dominio. $x^2$ non è iniettiva sui reali, ma lo è sui reali positivi: due numeri positivi diversi hanno quadrati diversi. ### Tutto con le controimmagini Le due proprietà si possono dire con le controimmagini, cioè guardando una riga alla volta. È la Proposizione 2.11 del libro. > [!PROP] 2.11 > Sia $f \colon A \to B$ una funzione. Allora: > 1. $f$ è suriettiva se e soltanto se $f^{-1}(b) \neq \emptyset$ per ogni $b \in B$; > 2. $f$ è iniettiva se e soltanto se $\lvert f^{-1}(b) \rvert \le 1$ per ogni $b$. **Come si legge.** Suriettiva: ogni controimmagine ha almeno un elemento. Iniettiva: ogni controimmagine ha al massimo un elemento. Sono le righe della tabella, scritte con i simboli. > [!DIM] della Proposizione 2.11 (p. 23) > 1. Dire che $f^{-1}(b)$ non è vuota vuol dire che c'è un $a$ con $f(a) = b$, cioè che $b$ sta nell'immagine. Se succede per ogni $b$, l'immagine è tutto $B$. > 2. Il libro dimostra la frase al contrario: $f$ non è iniettiva esattamente quando qualche controimmagine ha almeno 2 elementi. Non essere iniettiva vuol dire che ci sono $a_1 \neq a_2$ con $f(a_1) = f(a_2)$. Chiamato $b$ quel valore comune, $a_1$ e $a_2$ stanno tutti e due in $f^{-1}(b)$, che quindi ha almeno 2 elementi. E viceversa. ### Biettiva Quando le due cose succedono insieme, la funzione è un abbinamento perfetto: ogni studente il suo piatto, ogni piatto il suo studente. > [!DEF] 2.12 · Funzione biettiva > Una funzione $f \colon A \to B$ si dice **biettiva** se è contemporaneamente iniettiva e suriettiva, ovvero se per ogni $b \in B$ esiste ed è unico un elemento $a \in A$ tale che $f(a) = b$. Una **biezione** è una funzione biettiva. **Come si legge.** Ogni elemento del codominio ha **una e una sola** controimmagine. Sulla tabella: un pallino in ogni colonna e un pallino in ogni riga. Si chiama anche «biiettiva» o «corrispondenza biunivoca». > [!ESEMPIO] Biezioni, dal libro (p. 23) > - L'identità $\operatorname{id}_A$ è sempre biettiva. > - $f(x) = x^2$ non è né iniettiva né suriettiva da $\R$ a $\R$. Diventa biettiva restringendo il dominio ai positivi e prendendo come codominio i positivi: ogni $y > 0$ è il quadrato di un solo positivo, $\sqrt y$. > - Lo scambio $f(a, b) = (b, a)$ da $A \times B$ a $B \times A$ è una biezione: ogni coppia $(b, a)$ arriva da una sola coppia, $(a, b)$. > [!OLTRE] Contare aiuta > Con insiemi finiti c'è un controllo veloce. Se il dominio ha **più** elementi del codominio, la funzione non può essere iniettiva: qualche piatto finisce per forza a due studenti. Se ne ha **meno**, non può essere suriettiva. Una biezione tra insiemi finiti c'è solo se hanno lo stesso numero di elementi. È il principio dei cassetti, che il corso tratta con la combinatoria: negli esami lo usano spesso per dire che un omomorfismo «non può essere iniettivo perché il dominio ha più elementi del codominio». ::: prova Da $\{1, 2, 3\}$ a $\{a, b, c\}$ prendi $f(1) = b$, $f(2) = c$, $f(3) = a$. È biettiva? E $g(1) = a$, $g(2) = a$, $g(3) = b$? $f$ è biettiva: ogni lettera è presa una volta. $g$ non è iniettiva ($a$ due volte) e non è suriettiva ($c$ mai). ::: > [!RICORDA] > - Suriettiva: ogni riga almeno un pallino; ogni controimmagine non vuota. > - Iniettiva: ogni riga al massimo un pallino; per smentirla bastano due elementi diversi con lo stesso valore. > - Biettiva: tutte e due; ogni controimmagine ha esattamente un elemento. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $f \colon A \to B$ | «$f$ da $A$ a $B$» | una funzione con dominio $A$ e codominio $B$ | $f \colon \Z \to \Z$ | | $f(a) = b$ | «$f$ di $a$ è $b$» | la coppia $(a, b)$ sta nel grafico | $f(2) = 5$ | | $\Gamma$ | «gamma maiuscola» | il grafico, l'insieme delle coppie $(a, f(a))$ | $\{(1, 3), (2, 5)\}$ | | $\operatorname{id}_A$ | «identità su $A$» | la funzione che lascia tutto com'è | $\operatorname{id}_A(a) = a$ | | $p_1$, $p_2$ | «prima e seconda proiezione» | tengono un pezzo della coppia | $p_1(3, 7) = 3$ | | $f_{\vert S}$ | «$f$ ristretta a $S$» | la stessa $f$, usata solo su $S$ | | | $f(S)$ | «immagine di $S$» | i valori di $f$ sugli elementi di $S$ | $f(\{1, 2\}) = \{3, 5\}$ | | $\operatorname{Im}(f)$ | «immagine di $f$» | tutti i valori raggiunti | $\operatorname{Im}(x^2)$: i reali $\ge 0$ | | $f^{-1}(b)$ | «controimmagine di $b$» | gli elementi che finiscono in $b$ | $f^{-1}(4) = \{2, -2\}$ per $x^2$ | | $f^{-1}(T)$ | «controimmagine di $T$» | gli elementi che finiscono dentro $T$ | | | $2\Z + 1$ | «due zeta più uno» | i numeri dispari | $7 \in 2\Z + 1$ | | $\R \setminus \{0\}$ | «erre meno zero» | i reali tranne lo 0 | dominio di $\frac{1}{x}$ | | $\lvert X \rvert$ | «cardinalità di $X$» | il numero di elementi | $\lvert f^{-1}(4) \rvert = 2$ | ## Verso l'esame La prova di **Matematica Discreta**, la parte 1 di MDAG, è scritta ed è la stessa per i canali A, B e C. Al 09/10/2026 le regole del 2026/27 non sono ancora uscite; quelle del 2025/26 dicono così. - **10 domande a risposta multipla**, ognuna con 5 risposte e una sola giusta. Una risposta giusta vale 1 punto; una sbagliata o vuota vale 0. - **2 problemi** a risposta aperta, divisi in più domande con il punteggio scritto accanto. - **Sbarramento.** Con meno di 6 punti nel quiz la prova non è superata, e i problemi non vengono corretti. - **Sufficienza:** almeno 18 punti in tutto. **Durata:** 2 ore. - **Materiale ammesso:** libro di testo e appunti del corso, e una calcolatrice non programmabile. Gli appelli 2026/27 sono martedì 19/01/2027 e mercoledì 03/02/2027 alle 14:00. Dettagli nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). **Che cosa serve di questa lezione** 1. **Domanda 3 del quiz.** In tutti gli appelli del 2025 e del 2026 la domanda 3 è sulle funzioni. Nell'appello del 14/01/2025 chiedeva proprio immagine, controimmagine, iniettività e suriettività di una funzione definita «a pezzi». Dal febbraio 2025 in poi chiede quasi sempre di **comporre** due o tre funzioni, cioè di applicarle una dopo l'altra: è l'argomento della prossima lezione, ma si basa su tutto quello che c'è qui. 2. **Problemi sui gruppi e sulle classi di resto.** Nella seconda parte del corso ogni appello chiede se una funzione tra gruppi è «ben definita», «iniettiva», «suriettiva». Le definizioni sono queste. 3. **Combinatoria.** Contare le funzioni da un insieme a un altro, e quelle iniettive, è una domanda dei problemi (per esempio l'appello del 06/06/2025, problema 1, punto c). ### Una domanda vera, letta insieme **Appello del 14/01/2025, domanda 3.** Il testo: «Sia $f \colon \Z \to \N$ la funzione $f(n) = n^2 + 1$ se $n$ è pari, $f(n) = n^2 - 1$ se $n$ è dispari. Allora: 1. se $m \in \operatorname{im}(f)$, allora $m + 1 \notin \operatorname{im}(f)$; 2. $f^{-1}(p) = \emptyset$ se $p$ è primo; 3. $f(m) = f(n)$ se e solo se $m = \pm n$; 4. $f$ è iniettiva; 5. $f$ è suriettiva». Nel testo d'esame le parole «allora» e «se e solo se» sono scritte con le frecce. **In pratica chiede:** quale di queste cinque frasi su questa funzione è vera? Il modo più sicuro è scrivere qualche valore e provare a smentire ogni frase con un esempio. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: un po' di valori.** Pari: $f(0) = 1$, $f(2) = f(-2) = 5$, $f(4) = 17$. Dispari: $f(1) = f(-1) = 0$, $f(3) = f(-3) = 8$, $f(5) = 24$. L'immagine comincia con $0, 1, 5, 8, 17, 24, \dots$ > > **Passo 2: le frasi smentite da un esempio.** > - Frase 1: 0 e 1 stanno tutti e due nell'immagine. Falsa. > - Frase 2: 5 è primo e $f(2) = 5$, quindi $f^{-1}(5)$ non è vuota. Falsa. > - Frase 4: $f(1) = f(-1)$, con $1 \neq -1$. Non iniettiva: falsa. > - Frase 5: 2 non è mai raggiunto, perché tra i valori c'è 1 e poi 5. Non suriettiva: falsa. > > **Passo 3: la frase che resta.** La 3 dice che due numeri hanno lo stesso valore esattamente quando sono uguali o opposti. Se $m$ e $n$ sono tutti e due pari, $m^2 + 1 = n^2 + 1$ dà $m^2 = n^2$, cioè $m = \pm n$; lo stesso se sono tutti e due dispari. Se uno è pari e l'altro dispari, servirebbe $n^2 - m^2 = 2$: due quadrati di interi non differiscono mai di 2. Al contrario, $n$ e $-n$ sono sempre tutti e due pari o tutti e due dispari, e hanno lo stesso quadrato. **La risposta è la 3.** ### Altre versioni della stessa domanda Lo stesso appello aveva quattro versioni del quiz, con funzioni diverse. > [!ESAME] Appello del 14/01/2025, domanda 3, altre versioni > - $f(n) = n^2 + 2$ per $n$ pari, $n^2$ per $n$ dispari: la risposta giusta era «$f$ **non** è iniettiva», perché $f(1) = f(-1)$. La trappola era «$f(2n) = 4n^2 + 4$»: in realtà $f(2n) = 4n^2 + 2$. > - $f(n) = n^2 + n$ per $n$ pari, $n^2 + 1$ per $n$ dispari: la risposta giusta era «$f^{-1}(k) = \emptyset$ per ogni $k$ dispari». Infatti $n^2 + n = n(n + 1)$ è sempre pari, e per $n$ dispari $n^2 + 1$ è pari: nessun valore è dispari. > - $f(n) = n^2 + 1$ per $n \ge 0$, $n^2 - 1$ per $n < 0$: la risposta giusta era «$f$ è iniettiva». I non negativi danno $1, 2, 5, 10, \dots$, i negativi danno $0, 3, 8, 15, \dots$: due elenchi senza ripetizioni e senza numeri in comune. La trappola era «$f^{-1}(\{4, 8, 9\}) = \emptyset$»: $f(-3) = 8$. > [!METODO] Le domande «quale frase è vera» su una funzione > 1. Scrivi i valori su qualche elemento: $0$, $\pm 1$, $\pm 2$, $\pm 3$. Spesso basta questo per smentire quattro frasi su cinque. > 2. **Iniettiva?** Cerca due elementi diversi con lo stesso valore, per esempio $n$ e $-n$ quando c'è un quadrato. > 3. **Suriettiva?** Cerca un elemento del codominio che non arriva mai: un numero piccolo, un dispari, un negativo. > 4. **Controimmagine?** Risolvi l'equazione $f(a) = b$; se non ha soluzioni, è vuota. > 5. Prima di scegliere, rileggi il **dominio** e il **codominio**: la stessa formula può essere iniettiva su $\N$ e non su $\Z$. **Errori da evitare** - Credere che una funzione debba essere data da una formula: anche una tabella è una funzione. - Confondere codominio e immagine. - Leggere $f^{-1}(b)$ come $\frac{1}{f(b)}$, oppure come un elemento invece che come un insieme. - Dimostrare che una funzione non è iniettiva con un ragionamento generale, quando basta un esempio con due elementi. - Dimenticare che dominio e codominio fanno parte della funzione: $x^2$ è suriettiva o no a seconda del codominio. > [!ESAME] Che cosa scrivere sul foglio di riepilogo > Alla prova puoi portare libro e appunti. Da questa lezione conviene avere pronti la tabella «colonne e righe» (funzione, iniettiva, suriettiva, biettiva), il metodo per le domande «quale frase è vera», e i due esempi da ricordare: $2n + 1$ iniettiva e non suriettiva su $\Z$, $x^2$ né l'una né l'altra su $\R$. ## Quiz ```quiz D: Con $A = \{1, 2, 3\}$ e $B = \{x, y\}$, quale di questi sottoinsiemi di $A \times B$ è il grafico di una funzione da $A$ a $B$? + $\{(1, y), (2, y), (3, x)\}$ - $\{(1, x), (2, y)\}$ - $\{(1, x), (1, y), (2, x), (3, y)\}$ - $\{(x, 1), (y, 2), (x, 3)\}$ - $\{(1, x), (2, x), (3, x), (3, y)\}$ = Ogni elemento di $A$ deve comparire una volta sola come primo pezzo: succede solo nella prima. La risposta più insidiosa è $\{(x, 1), (y, 2), (x, 3)\}$: le coppie sono scritte al contrario, quindi stanno in $B \times A$. La seconda dimentica 3; la terza e l'ultima danno due valori a 1 o a 3. D: Sia $f \colon \Z \to \Z$, $f(n) = 2n + 1$. Quale affermazione è vera? + $f$ è iniettiva ma non suriettiva - $f$ è suriettiva ma non iniettiva - $f$ è biettiva - $f$ non è né iniettiva né suriettiva - $\operatorname{Im}(f) = \Z$ = Se $2m + 1 = 2n + 1$ allora $m = n$: iniettiva. I valori sono tutti dispari, quindi 0 non viene mai raggiunto: non suriettiva. La risposta più insidiosa è «biettiva», per chi pensa ai numeri reali: su $\R$ la stessa formula sarebbe biettiva, su $\Z$ no. D: Sia $f \colon \Z \to \Z$, $f(n) = n^2 - 1$ (esercizio 2.1 del libro). Quanto vale $f^{-1}(8)$? + $\{3, -3\}$ - $\{3\}$ - $63$ - $\emptyset$ - $\{\frac 18\}$ = Bisogna risolvere $n^2 - 1 = 8$, cioè $n^2 = 9$: le soluzioni intere sono 3 e $-3$. La risposta più insidiosa è $\{3\}$, che dimentica il negativo. 63 è $f(8)$, l'immagine invece della controimmagine; $\frac 18$ è la lettura sbagliata di $f^{-1}$ come «uno diviso». D: Sia $f \colon \Z \to \Z$, $f(n) = n^2 - 1$. Quale controimmagine è vuota? + $f^{-1}(12)$ - $f^{-1}(-1)$ - $f^{-1}(0)$ - $f^{-1}(3)$ - $f^{-1}(24)$ = $n^2 = 13$ non ha soluzioni intere: $f^{-1}(12) = \emptyset$. Le altre: $f^{-1}(-1) = \{0\}$, $f^{-1}(0) = \{1, -1\}$, $f^{-1}(3) = \{2, -2\}$, $f^{-1}(24) = \{5, -5\}$. La risposta più insidiosa è $f^{-1}(-1)$: sembra impossibile un valore negativo, ma $f(0) = -1$. D: Sia $f \colon \R \to \R$, $f(x) = x^2$. Quale affermazione è vera? + $f$ diventa biettiva come funzione dai reali positivi ai reali positivi - $f$ è iniettiva - $\operatorname{Im}(f) = \R$ - $f^{-1}(-4) = \{-2\}$ - $f^{-1}(4) = \{2\}$ = Sui positivi, con codominio i positivi, ogni $y$ ha un solo positivo $\sqrt y$ con quadrato $y$: biettiva (p. 23 del libro). La risposta più insidiosa è $f^{-1}(4) = \{2\}$: dimentica $-2$. $f(1) = f(-1)$, quindi non è iniettiva; i quadrati non sono negativi, quindi l'immagine non è $\R$ e $f^{-1}(-4)$ è vuota. D: Una funzione $f \colon A \to B$ è suriettiva quando: + ogni elemento di $B$ ha controimmagine non vuota - ogni elemento di $A$ ha un valore - due elementi diversi di $A$ hanno valori diversi - ogni elemento di $B$ ha esattamente una controimmagine - $A$ e $B$ hanno lo stesso numero di elementi = Suriettiva vuol dire immagine uguale al codominio: ogni $b$ è raggiunto, cioè $f^{-1}(b)$ non è vuota (Proposizione 2.11). La risposta più insidiosa è «esattamente una»: quella è la biettività. «Ogni elemento di $A$ ha un valore» vale per ogni funzione; «valori diversi» è l'iniettività. D: Da $\{1, 2, 3, 4\}$ a $\{a, b, c\}$, una funzione può essere iniettiva? + No, mai - Sì, sempre - Sì, se è suriettiva - Solo se manda 4 in $c$ - Solo se è costante = Quattro elementi devono andare in tre posti tutti diversi: non c'è spazio, almeno due finiscono nello stesso. La risposta più insidiosa è «sì, se è suriettiva»: una funzione da 4 a 3 elementi può essere suriettiva, ma mai iniettiva. Una costante è il caso meno iniettivo di tutti. D: (Appello del 14/01/2025, domanda 3, versione C) Sia $f \colon \Z \to \N$ la funzione $f(n) = n^2 + n$ se $n$ è pari, $f(n) = n^2 + 1$ se $n$ è dispari. Allora + $f^{-1}(k) = \emptyset$ per ogni $k$ dispari - $f(2n) = 4n^2 + n$ per ogni $n$ - $f(n) \neq n$ per ogni $n$ - $f$ è suriettiva - $f$ è iniettiva = $n^2 + n = n(n + 1)$ è sempre pari; per $n$ dispari, $n^2$ è dispari e $n^2 + 1$ è pari. Nessun valore è dispari, quindi ogni dispari ha controimmagine vuota. La risposta più insidiosa è $f(2n) = 4n^2 + n$: il conto giusto è $(2n)^2 + 2n = 4n^2 + 2n$. $f(0) = 0$ smentisce la terza; non è suriettiva (mai dispari); $f(1) = f(-1) = 2$, quindi non è iniettiva. D: (Appello del 14/01/2025, domanda 3, versione D) Sia $f \colon \Z \to \N$ la funzione $f(n) = n^2 + 1$ se $n \ge 0$, $f(n) = n^2 - 1$ se $n < 0$. Allora + $f$ è iniettiva - $f$ è suriettiva - $f^{-1}(\{4, 8, 9\}) = \emptyset$ - $f(n) > f(m)$ per ogni $n > m$ - $f(f(n)) = n^2 + 1$ per ogni $n$ = I non negativi danno $1, 2, 5, 10, \dots$, i negativi $0, 3, 8, 15, \dots$: nessun valore si ripete. La risposta più insidiosa è $f^{-1}(\{4, 8, 9\}) = \emptyset$: 4 e 9 non vengono raggiunti, ma $f(-3) = 8$. 4 non è mai raggiunto, quindi non è suriettiva; $f(-3) = 8 > f(0) = 1$ smentisce la quarta; $f(f(1)) = f(2) = 5$, non 2. D: Alla mensa del testo ($f(\text{Anna}) = f(\text{Bruno}) = \text{pasta}$, $f(\text{Carla}) = \text{zuppa}$, $f(\text{Dario}) = \text{riso}$, menu con anche gli gnocchi), quanti elementi ha la controimmagine $f^{-1}(\{\text{pasta}, \text{gnocchi}\})$? N: 2 = Sono gli studenti che hanno scelto pasta o gnocchi: Anna e Bruno. Gli gnocchi non aggiungono nessuno, perché $f^{-1}(\text{gnocchi}) = \emptyset$. ``` ## Esercizi ::: esercizio base Riscaldamento: è una funzione? Con $A = \{a, b, c\}$ e $B = \{1, 2\}$, dì quali tabelle descrivono una funzione da $A$ a $B$. (1) $a \mapsto 1$, $b \mapsto 1$, $c \mapsto 1$. (2) $a \mapsto 1$, $b \mapsto 2$. (3) $a \mapsto 1$, $a \mapsto 2$, $b \mapsto 2$, $c \mapsto 1$. ::: soluzione 1. Sì: ogni elemento ha un solo valore, anche se è sempre 1. 2. No: manca $c$. 3. No: $a$ ha due valori. ::: ::: esercizio base Riscaldamento: immagine e controimmagine su una tabella La funzione $f \colon \{1, 2, 3, 4, 5\} \to \{a, b, c, d\}$ è $f(1) = b$, $f(2) = d$, $f(3) = b$, $f(4) = a$, $f(5) = d$. Scrivi $\operatorname{Im}(f)$, $f(\{1, 3\})$, $f^{-1}(b)$, $f^{-1}(c)$ e $f^{-1}(\{a, d\})$. ::: soluzione 1. $\operatorname{Im}(f) = \{a, b, d\}$: la $c$ non viene mai presa. 2. $f(\{1, 3\}) = \{b\}$. 3. $f^{-1}(b) = \{1, 3\}$. 4. $f^{-1}(c) = \emptyset$. 5. $f^{-1}(\{a, d\}) = \{2, 4, 5\}$. ::: ::: esercizio base Riscaldamento: iniettiva o suriettiva Per la funzione dell'esercizio precedente, dì se è iniettiva e se è suriettiva, e perché. ::: soluzione 1. Non iniettiva: $f(1) = f(3) = b$. 2. Non suriettiva: $c$ non è mai raggiunta. Del resto da 5 elementi a 4 non può mai essere iniettiva: due finiscono per forza nello stesso posto. ::: ::: esercizio base Riscaldamento: una biezione piccola Scrivi una funzione biettiva da $\{1, 2, 3\}$ a $\{x, y, z\}$ diversa da $1 \mapsto x$, $2 \mapsto y$, $3 \mapsto z$. Quante ce ne sono in tutto? ::: soluzione Per esempio $1 \mapsto z$, $2 \mapsto x$, $3 \mapsto y$. In tutto sono 6: per 1 ci sono 3 scelte, per 2 ne restano 2, per 3 ne resta 1, e $3 \cdot 2 \cdot 1 = 6$. Questo conto tornerà con la combinatoria. ::: ::: esercizio base Esercizio 2.1 del libro Sia $f \colon \Z \to \Z$ la funzione definita da $f(n) = n^2 - 1$. Calcolare $f^{-1}(-5)$, $f^{-1}(-1)$, $f^{-1}(8)$, $f^{-1}(12)$. ::: soluzione Ogni volta si risolve $n^2 - 1 = b$, cioè $n^2 = b + 1$, cercando soluzioni intere. 1. $f^{-1}(-5)$: $n^2 = -4$, impossibile. Vuota. 2. $f^{-1}(-1)$: $n^2 = 0$, quindi $\{0\}$. 3. $f^{-1}(8)$: $n^2 = 9$, quindi $\{3, -3\}$. 4. $f^{-1}(12)$: $n^2 = 13$, che non è un quadrato. Vuota. ::: ::: esercizio base Due formule, una funzione Le funzioni $f, g \colon \{0, 1, 2\} \to \R$, con $f(x) = 3x^2 - 1$ e $g(x) = x^3 + 2x - 1$, sono uguali? E come funzioni da $\{0, 1, 2, 3\}$ a $\R$? ::: soluzione 1. Su $\{0, 1, 2\}$: $f(0) = g(0) = -1$, $f(1) = g(1) = 2$, $f(2) = g(2) = 11$. Stesso dominio, codominio e grafico: sono la stessa funzione (p. 18 del libro). 2. Su $\{0, 1, 2, 3\}$: $f(3) = 26$ e $g(3) = 32$. Sono funzioni diverse. Conta il dominio: due formule diverse possono dare la stessa funzione su un dominio piccolo. ::: ::: esercizio medio Esercizio 2.2 del libro Sia $f \colon \Z \times \Z \to \Z$ la funzione definita come $f((m, n)) = m^2 - n$. (1) Dire se $f$ è iniettiva. (2) Dire se $f$ è suriettiva. (3) Calcolare l'insieme $f^{-1}(0) \cap \{(m, n) \in \Z \times \Z \mid n = 4m\}$. (4) Calcolare l'immagine $f(S)$ del sottoinsieme $S = \{(m, n) \in \Z \times \Z \mid n = 2m - 1\}$. ::: soluzione 1. Non iniettiva: $f((0, 0)) = 0$ e $f((1, 1)) = 1 - 1 = 0$. 2. Suriettiva: un intero $k$ qualsiasi si ottiene con $m = 0$ e $n = -k$, perché $0 - (-k) = k$. 3. Servono le coppie con $m^2 - n = 0$ e $n = 4m$. Sostituendo: $m^2 = 4m$, cioè $m(m - 4) = 0$, quindi $m = 0$ oppure $m = 4$. Le coppie sono $(0, 0)$ e $(4, 16)$. 4. Su $S$ vale $n = 2m - 1$, quindi $f((m, 2m - 1)) = m^2 - 2m + 1 = (m - 1)^2$. Al variare di $m$ negli interi, $m - 1$ prende tutti gli interi, e i valori sono tutti i quadrati: $f(S) = \{0, 1, 4, 9, 16, \dots\}$. ::: ::: esercizio medio Esercizio 2.3 del libro Sia $f \colon \N \to \N$ definita da $f(n) = \frac n2$ se $n$ è pari e $f(n) = 3n + 1$ se $n$ è dispari. Dimostrare o confutare: (a) $f$ è iniettiva; (b) $f$ è suriettiva; (c) l'immagine dei numeri pari è contenuta nei dispari; (d) la controimmagine dei multipli di 3 è contenuta nei pari. Poi calcolare $f(\{1, 2, \dots, 10\})$ e $f^{-1}(\{1, 2, 7, 9, 10, 13\})$. ::: soluzione (a) **Falsa**: $f(8) = 4$ e $f(1) = 3 \cdot 1 + 1 = 4$. (b) **Vera**: un naturale $m$ qualsiasi è $f(2m)$, perché $2m$ è pari e $\frac{2m}{2} = m$. (c) **Falsa**: $f(4) = 2$, che è pari. (d) **Vera**: se $n$ è dispari, $3n + 1$ supera di 1 un multiplo di 3, quindi non è un multiplo di 3. Allora un elemento che finisce in un multiplo di 3 deve essere pari. **I due insiemi.** $f(1) = 4$, $f(2) = 1$, $f(3) = 10$, $f(4) = 2$, $f(5) = 16$, $f(6) = 3$, $f(7) = 22$, $f(8) = 4$, $f(9) = 28$, $f(10) = 5$. Quindi $$f(\{1, \dots, 10\}) = \{1, 2, 3, 4, 5, 10, 16, 22, 28\}.$$ Per la controimmagine: i pari $n$ con $\frac n2$ nell'insieme sono 2, 4, 14, 18, 20, 26; i dispari $n$ con $3n + 1$ nell'insieme danno solo $n = 3$, perché $3 \cdot 3 + 1 = 10$. Quindi $$f^{-1}(\{1, 2, 7, 9, 10, 13\}) = \{2, 3, 4, 14, 18, 20, 26\}.$$ Conti controllati con un programma. ::: ::: esercizio medio Una funzione a pezzi Sia $f \colon \Z \to \N$ la funzione $f(n) = n^2 + 2$ se $n$ è pari, $f(n) = n^2$ se $n$ è dispari (appello del 14/01/2025, domanda 3, versione B). Quali di queste frasi sono vere? (1) Se $s$ sta nell'immagine, $s + 1$ non ci sta. (2) $f^{-1}(p) = \emptyset$ per ogni primo $p$. (3) $f(2n) = 4n^2 + 4$ per ogni $n$. (4) $f$ non è iniettiva. (5) $f$ è suriettiva. ::: soluzione Valori: $f(0) = 2$, $f(\pm 1) = 1$, $f(\pm 2) = 6$, $f(\pm 3) = 9$, $f(\pm 4) = 18$. 1. Falsa: 1 e 2 stanno tutti e due nell'immagine. 2. Falsa: 2 è primo e $f(0) = 2$. 3. Falsa: $f(2n) = (2n)^2 + 2 = 4n^2 + 2$. Con $n = 1$: $f(2) = 6$, non 8. 4. **Vera**: $f(1) = f(-1) = 1$. 5. Falsa: 3 non è mai raggiunto. ::: ::: esercizio esame Funzioni tra insiemi finiti Nello stile del problema 1 dell'appello del 06/06/2025. Siano $S = \{1, 2, 3\}$ e $T = \{1, 2, 3, 4\}$. (a) Quante sono le funzioni da $S$ a $T$? (b) Quante sono iniettive? (c) Ce n'è qualcuna suriettiva? (d) Quante sono le funzioni da $S$ a $T$ con $f(1) = 1$? ::: soluzione (a) Ogni elemento di $S$ sceglie uno dei 4 elementi di $T$, in modo indipendente: $4 \cdot 4 \cdot 4 = 4^3 = 64$. (b) Il primo elemento ha 4 scelte, il secondo 3 (deve essere diverso), il terzo 2: $4 \cdot 3 \cdot 2 = 24$. (c) No: 3 elementi non possono raggiungere 4 posti. Almeno un elemento di $T$ resta fuori dall'immagine. (d) Il valore di 1 è fissato; 2 e 3 scelgono liberamente: $4 \cdot 4 = 16$. Il modo di contare «scelta dopo scelta» lo studierai nella combinatoria (libro, cap. 3). ::: ::: esercizio difficile Esercizio 2.8 del libro (prima parte) Ciascuna delle seguenti funzioni non è biettiva: spiega perché, e cambia dominio o codominio in modo da ottenere una funzione biettiva. (1) $f \colon \Z \to \Z$, $f(n) = 3n$. (2) $f \colon \R \to \R$, $f(x) = x^2 + 2x$. ::: soluzione **(1)** È iniettiva: $3m = 3n$ dà $m = n$. Non è suriettiva: 1 non è un multiplo di 3. Diventa biettiva prendendo come codominio i multipli di 3, che il libro scrive $3\Z$: ogni multiplo $3k$ ha una sola controimmagine, $k$. **(2)** Riscrivo $x^2 + 2x = (x + 1)^2 - 1$. Non è iniettiva: $f(0) = f(-2) = 0$. Non è suriettiva: $(x + 1)^2$ non è mai negativo, quindi $f(x)$ non scende sotto $-1$, e $-2$ non è raggiunto. Per renderla biettiva: come dominio i reali $x \ge -1$, dove $x + 1 \ge 0$ e due numeri diversi danno valori diversi; come codominio i reali $y \ge -1$. Ogni $y \ge -1$ ha allora una sola controimmagine, $x = -1 + \sqrt{y + 1}$. Il libro chiede anche la **funzione inversa**: la vedrai nella prossima lezione. Le formule $k$ e $-1 + \sqrt{y + 1}$ trovate qui sono proprio le inverse. ::: ::: esercizio difficile Iniettiva sul grafico (esercizio 2.7 del libro) Sia $\Gamma$ il grafico di $f \colon A \to B$. Dimostra che $f$ è iniettiva se e soltanto se per ogni $b \in B$ l'intersezione $\Gamma \cap (A \times \{b\})$ contiene al più un elemento. ::: soluzione $A \times \{b\}$ sono tutte le coppie con secondo pezzo $b$: sulla tabella dei pallini, la **riga** di $b$. Allora $\Gamma \cap (A \times \{b\})$ sono le coppie del grafico in quella riga, cioè le coppie $(a, b)$ con $f(a) = b$. Ce ne sono tante quanti gli elementi di $f^{-1}(b)$. Quindi la condizione dice che ogni controimmagine ha al più un elemento, e per la Proposizione 2.11 questo vuol dire esattamente che $f$ è iniettiva. È la regola «ogni riga ha al massimo un pallino», scritta con gli insiemi. ::: ## Domande di ripasso ::: domanda Che cos'è una funzione da $A$ a $B$? Una regola che a ogni elemento di $A$ fa corrispondere uno e un solo elemento di $B$. In modo preciso, un sottoinsieme $\Gamma$ di $A \times B$, il grafico, in cui ogni elemento di $A$ compare come primo pezzo di una e una sola coppia. ::: ::: domanda Come si riconosce una funzione sulla tabella dei pallini? Con il dominio in orizzontale e il codominio in verticale: ogni colonna ha esattamente un pallino. Le righe possono averne quanti vogliono, anche zero. ::: ::: domanda Quando due funzioni sono uguali? Quando hanno lo stesso dominio, lo stesso codominio e lo stesso grafico, anche se sono scritte con formule diverse. ::: ::: domanda Che differenza c'è tra codominio e immagine? Il codominio è l'insieme d'arrivo dichiarato; l'immagine è l'insieme dei valori raggiunti davvero, ed è contenuta nel codominio. ::: ::: domanda Che cos'è la controimmagine di $b$? Può essere vuota? L'insieme degli elementi del dominio che hanno $b$ come valore, cioè le soluzioni di $f(a) = b$. Sì, può essere vuota: con $f(x) = x^2$ su $\R$, $f^{-1}(-1) = \emptyset$. ::: ::: domanda Quando una funzione è suriettiva? E iniettiva? Suriettiva quando l'immagine è tutto il codominio: ogni controimmagine è non vuota. Iniettiva quando elementi diversi hanno valori diversi: ogni controimmagine ha al massimo un elemento. ::: ::: domanda Come si dimostra che una funzione non è iniettiva? E che non è suriettiva? Non iniettiva: basta trovare due elementi diversi con lo stesso valore. Non suriettiva: basta trovare un elemento del codominio che non viene mai raggiunto. ::: ::: domanda Che cos'è una funzione biettiva? Una funzione iniettiva e suriettiva: ogni elemento del codominio ha esattamente una controimmagine. Sulla tabella, un pallino in ogni colonna e in ogni riga. ::: ::: domanda Che cosa vuol dire che una funzione sulle classi è ben definita? Che il valore su una classe non dipende dal rappresentante scelto per calcolarlo. ::: ## Glossario ```glossario Funzione | Una regola che a ogni elemento del dominio fa corrispondere uno e un solo elemento del codominio; in modo preciso, il suo grafico. Dominio | L'insieme di partenza di una funzione. Codominio | L'insieme d'arrivo di una funzione. Grafico | L'insieme delle coppie $(a, f(a))$, un sottoinsieme di $A \times B$ (Definizione 2.1). Identità | La funzione $\operatorname{id}_A$ che manda ogni elemento in sé stesso. Funzione costante | Una funzione che manda tutti gli elementi nello stesso valore. Proiezione | Le funzioni $p_1(a, b) = a$ e $p_2(a, b) = b$ su un prodotto cartesiano. Successione | Una funzione con dominio $\N$: una lista infinita $b_0, b_1, b_2, \dots$ Funzione quoziente | La funzione che manda ogni elemento nella sua classe. Restrizione | La stessa funzione usata solo su un sottoinsieme del dominio (Definizione 2.2). Ben definita | Così si chiama una regola sulle classi il cui risultato non dipende dal rappresentante scelto (Nota 2.3). Immagine | L'insieme dei valori raggiunti da una funzione, $\operatorname{Im}(f) = f(A)$; più in generale $f(S)$ (Definizione 2.4). Controimmagine | L'insieme $f^{-1}(b)$ degli elementi che hanno valore $b$, o $f^{-1}(T)$ di quelli con valore in $T$ (Definizione 2.7). Funzione suriettiva | Una funzione la cui immagine è tutto il codominio (Definizione 2.5). Funzione iniettiva | Una funzione che dà valori diversi a elementi diversi (Definizione 2.9). Funzione biettiva | Una funzione iniettiva e suriettiva, detta anche biezione (Definizione 2.12). ``` ## Checklist ```checklist - So dire se un insieme di coppie è il grafico di una funzione, guardando le colonne della tabella. - So riconoscere identità, costanti, proiezioni, successioni e funzione quoziente. - So che dominio e codominio fanno parte della funzione, e quando due funzioni sono uguali. - So calcolare l'immagine di una funzione e di un sottoinsieme. - So calcolare una controimmagine risolvendo l'equazione $f(a) = b$, e so che può essere vuota. - So decidere se una funzione è suriettiva, iniettiva o biettiva, e smentirlo con un esempio. - So leggere le tre proprietà sulle righe della tabella e con le controimmagini (Proposizione 2.11). - So rendere biettiva una funzione cambiando dominio o codominio. - So spiegare che cosa vuol dire «ben definita» per una regola sulle classi. - So affrontare la domanda 3 del quiz provando i valori su pochi numeri. ``` ## Fonti - A. Mori, *Lezioni di Matematica Discreta*, 2ª edizione, testo del canale B: capitolo 2 «Funzioni», pp. 17–23 (definizione 2.1 e le osservazioni con i grafici $\Gamma_1$, $\Gamma_2$, $\Gamma_3$, gli esempi notevoli, definizione 2.2, nota 2.3 sulla buona definizione, definizioni 2.4, 2.5, 2.7, 2.9, 2.12, note 2.6, 2.8, 2.10, proposizione 2.11 con la dimostrazione); esercizi 2.1, 2.2, 2.3, 2.7 e 2.8 (pp. 34–35). Le definizioni e gli enunciati nei riquadri sono citati dal libro. - Diario delle lezioni di Matematica Discreta del canale B 2025/26 (Mori): lezione 4 (funzioni, immagine e controimmagine, iniettive, suriettive e biettive) e lezione 5 (composizione e funzioni invertibili). Gli argomenti della lezione del 09/10/2026 non erano ancora pubblicati sul Moodle del canale B quando ho scritto questi appunti. - Quiz e problemi degli appelli di Matematica Discreta, con le soluzioni ufficiali, sulla pagina Moodle MDAG1 2025/26 ([id 3501](https://informatica.i-learn.unito.it/course/view.php?id=3501), aperta agli ospiti): domanda 3 dell'appello del 14/01/2025 (quattro versioni, testo riportato e risposte controllate con un programma), domanda 3 degli appelli dal 04/02/2025 al 10/09/2026 (composizione), problema 1 dell'appello del 06/06/2025. - Programma del corso: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md), voce «Relazioni e funzioni». - V. Bocchino, *Rigurgiti di Unicorno*, appunti di Matematica Discreta scritti da uno studente sul libro di Mori (licenza CC BY-NC-SA 4.0, [GitHub](https://github.com/bocchinovalentino/rigurgiti_di_unicorno)): un riepilogo già pronto, non ufficiale. - Le spiegazioni a parole, l'esempio della mensa, i riquadri «Prova tu», i quiz senza data, gli esercizi di riscaldamento e l'esercizio sulle funzioni tra insiemi finiti sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/D05_composizione_funzioni_inverse.md` ```yaml corso: MDAG modulo: MD lezione: D05 titolo: Composizione di funzioni e funzioni inverse data: 2026-10-12 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Parte 1 (modA) · Matematica Discreta · Canali A, B e C · Lezione D05 descrizione: >- Appunti della lezione D05 di Matematica Discreta (MDAG, parte 1, canali A, B e C): composizione di funzioni, proprietà associativa, identità e funzioni costanti, composizione non commutativa, composizione e iniettività o suriettività, funzioni inverse, esistenza e unicità dell'inversa di una biezione, inversa di una composizione, cancellazione, con tutte le domande d'esame sulla composizione degli appelli 2025–2026. lede: >- Comporre due funzioni vuol dire applicarle una dopo l'altra. Qui impari a farlo senza sbagliare l'ordine, a capire quando si può tornare indietro con la funzione inversa, e a risolvere la domanda 3 del quiz, che dal 2025 chiede quasi sempre proprio una composizione. materiale: libro scheda: Libro: A. Mori, Lezioni di Matematica Discreta, cap. 2, pp. 23–29, esercizi p. 36 Docenti: Andrea Mori (canale B), Ignazio Longhi e Lea Terracini (canali A e C) · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- A. Mori, Lezioni di Matematica Discreta (testo del canale B), cap. 2 «Funzioni», pp. 23–29, ed esercizi 2.10–2.15; diario delle lezioni del canale B 2025/26; quiz degli appelli di Matematica Discreta 2025–2026 appunti_html: appunti/MDAG/D05_composizione_funzioni_inverse.html genera_html: true ``` ## In breve - **Comporre** due funzioni vuol dire applicarle una dopo l'altra. Si scrive $g \circ f$, e la funzione usata per prima sta **a destra**: prima effe, poi gi. - Si può comporre solo se il codominio della prima è il dominio della seconda. Per calcolare si parte **da dentro**. - La composizione è **associativa**: con tre funzioni le parentesi non contano. **Non** è commutativa: scambiando l'ordine, in generale il risultato cambia. - Composte di funzioni iniettive restano iniettive, composte di suriettive restano suriettive. - Due funzioni sono **inverse** l'una dell'altra quando, composte nei due ordini, danno l'identità: una disfa quello che fa l'altra. - Una funzione ha l'inversa **se e solo se è biettiva**, e l'inversa è una sola. Si trova risolvendo $y = f(x)$ rispetto a $x$. - L'inversa di una composizione si fa al contrario: prima si disfa l'ultima funzione applicata. - All'esame la **domanda 3 del quiz** è quasi sempre una composizione da calcolare. > [!CANALI] > Matematica Discreta ha **lo stesso programma e la stessa prova d'esame** nei canali A, B e C: questi appunti valgono per tutti e tre. Nel canale B è la lezione di lunedì 12/10/2026 con Andrea Mori. Quando scrivo gli argomenti di questa lezione non sono ancora sul Moodle del canale B: li ho ricostruiti dall'ordine del libro e dal diario dell'anno scorso, in cui la quinta lezione era «composizione di funzioni e sue proprietà, relazioni tra composizione, iniettività e suriettività, funzioni invertibili». Le operazioni (pp. 29–34 del libro) nel diario dell'anno scorso arrivano molto più avanti, con i gruppi: qui non ci sono. Quando il docente pubblica gli argomenti, controllo e aggiorno. ## Una funzione dopo l'altra (pp. 23–24) Torna alla mensa della lezione D04. Anna, Bruno, Carla e Dario scelgono il primo; poi alla cassa ogni piatto ha il suo prezzo. Sono due funzioni in fila: - la prima, $f$, va dagli **studenti** ai **piatti**: è la scelta di ognuno; - la seconda, $g$, va dai **piatti** ai **prezzi**: è il listino della cassa. | Studente | Piatto scelto | | Piatto | Prezzo | |---|---|---|---|---| | Anna | pasta | | pasta | 4 euro | | Bruno | pasta | | riso | 5 euro | | Carla | zuppa | | zuppa | 3 euro | | Dario | riso | | gnocchi | 6 euro | Quanto paga Anna? Prima guardi che cosa ha scelto, la pasta; poi guardi quanto costa la pasta, 4 euro. Hai usato $f$ e subito dopo $g$. La regola «da ogni studente a quanto paga» è una funzione nuova, dagli studenti ai prezzi: è la **composizione** di $f$ e $g$. > [!IDEA] > Comporre due funzioni vuol dire usarle in fila: il risultato della prima diventa l'elemento di partenza della seconda. La composizione si scrive $g \circ f$ e si legge «gi composto effe» o «gi tondino effe». Per Anna: $$(g \circ f)(\text{Anna}) = g(f(\text{Anna})) = g(\text{pasta}) = 4$$ Il conto si fa da dentro verso fuori: prima la scelta di Anna, che è la pasta, poi il prezzo della pasta, 4 euro. ::: prova Con le tabelle della mensa, quanto valgono $(g \circ f)(\text{Carla})$ e $(g \circ f)(\text{Dario})$? Carla ha scelto la zuppa, che costa 3 euro. Dario ha scelto il riso, che costa 5 euro. ::: ### Perché si scrive al contrario In $g \circ f$ la funzione usata **per prima** è $f$, ma si scrive **per seconda**. Sembra strano, ma viene dal modo in cui si scrive il valore, $g(f(a))$. La funzione che lavora per prima è attaccata alla variabile; quella che lavora dopo la avvolge da fuori. Il libro lo fa notare a p. 24. > [!TRAPPOLA] $g \circ f$ si legge da destra a sinistra > La scrittura $g \circ f$ vuol dire: **prima** la funzione di destra, **poi** quella di sinistra. Sbagliare l'ordine è l'errore più comune all'esame: calcolare $f(g(a))$ quando il testo chiede $(g \circ f)(a)$. Un trucco: la funzione più vicina alla variabile è quella che la tocca per prima. ### Quando si può comporre Alla cassa si può pagare solo un piatto che è nel listino. In generale, $g$ deve accettare tutti i valori di $f$: il **codominio di $f$** deve essere il **dominio di $g$**. Il libro lo chiede esattamente così: i due insiemi devono coincidere. > [!DEF] 2.13 · Composizione > Siano $f \colon A \to B$ e $g \colon B \to C$ due funzioni. La **composizione** di $f$ e $g$, denotata $g \circ f$, è la funzione > $$g \circ f \colon A \to C, \qquad (g \circ f)(a) = g(f(a)) \text{ per ogni } a \in A.$$ **Come si legge.** Si parte dal primo insieme, si arriva nel secondo con la prima funzione, e dal secondo si va nel terzo con l'altra. La composta parte da dove parte $f$ e arriva dove arriva $g$. L'insieme in mezzo, la tappa, sparisce dal risultato. Il libro la disegna come un viaggio con una tappa: due frecce corte in fila, e sotto una freccia lunga che salta la tappa. La freccia lunga è la composta, e i due percorsi portano nello stesso posto. $$A \xrightarrow{\;f\;} B \xrightarrow{\;g\;} C$$ > [!ESEMPIO] Composizioni che si possono fare e no > Prendi tre funzioni $f \colon A \to B$, $g \colon B \to C$ e $h \colon C \to A$. > - $g \circ f$ si può fare: $f$ arriva in $B$ e $g$ parte da $B$. Va da $A$ a $C$. > - $f \circ g$ **non** si può fare: $g$ arriva in $C$, ma $f$ parte da $A$. > - $h \circ g \circ f$ si può fare: da $A$ a $B$, poi a $C$, poi di nuovo ad $A$. È una funzione da $A$ ad $A$. > > Il metodo: leggi le funzioni **da destra a sinistra**, come vengono usate, e controlla a ogni passo che l'arrivo di una sia la partenza della successiva. È come controllare le coincidenze dei treni: il treno dopo deve partire dalla stazione dove arriva quello prima. ::: prova Con $f \colon A \to B$ e $k \colon B \to A$, si possono fare $k \circ f$ e $f \circ k$? Da dove a dove vanno? Sì, tutte e due. $k \circ f$ va da $A$ ad $A$: prima $f$ da $A$ a $B$, poi $k$ da $B$ ad $A$. $f \circ k$ va da $B$ a $B$. ::: > [!RICORDA] > - $(g \circ f)(a) = g(f(a))$: **prima** $f$, **poi** $g$. Si calcola da dentro verso fuori. > - Si compone solo se il codominio della prima funzione è il dominio della seconda. La composta va dal dominio della prima al codominio della seconda. ## Calcolare una composizione con le formule Con le funzioni sui numeri il conto è lo stesso della mensa, solo che i valori si calcolano con una formula. Prendi due funzioni dagli interi agli interi. La prima raddoppia, $f(n) = 2n$. La seconda aggiunge 1, $g(n) = n + 1$. ### Su un numero Per calcolare $(g \circ f)(5)$ si parte da dentro: 1. prima $f(5) = 10$; 2. poi $g(10) = 11$. Quindi $(g \circ f)(5) = 11$. Nell'altro ordine, $(f \circ g)(5)$: prima $g(5) = 6$, poi $f(6) = 12$. Viene un altro numero. ### Con la lettera Per avere la formula della composta, si fa lo stesso conto con $n$ al posto del numero. Il trucco è **sostituire**: al posto della variabile di $g$ si mette tutta la formula di $f$. 1. $(g \circ f)(n) = g(f(n)) = g(2n)$. 2. $g$ aggiunge 1 a quello che riceve, quindi $g(2n) = 2n + 1$. Nell'altro ordine: $(f \circ g)(n) = f(n + 1) = 2(n + 1) = 2n + 2$. > [!METODO] Calcolare $g \circ f$ con le formule > 1. Scrivi $(g \circ f)(n) = g(f(n))$ e metti al posto di $f(n)$ la sua formula. > 2. Nella formula di $g$, sostituisci **ogni** $n$ con quella formula, tra parentesi. > 3. Svolgi i conti. > 4. Controlla su un numero: calcola la composta a mano su 0 o su 1 e confronta con la formula trovata. Il passo 4 costa pochi secondi e scova quasi tutti gli errori di segno. > [!ESEMPIO] Una composizione con i segni > $f(n) = 2n + 1$ e $g(n) = 3 - n$, dagli interi agli interi (appello del 04/02/2025, versione 1). > - $(f \circ g)(n) = f(3 - n) = 2(3 - n) + 1 = 6 - 2n + 1 = 7 - 2n$. > - $(g \circ f)(n) = g(2n + 1) = 3 - (2n + 1) = 3 - 2n - 1 = 2 - 2n$. > > Controllo con $n = 0$: $g(0) = 3$ e $f(3) = 7$, come $7 - 2 \cdot 0$. Poi $f(0) = 1$ e $g(1) = 2$, come $2 - 2 \cdot 0$. La parentesi del secondo conto è il punto delicato: $3 - (2n + 1)$ cambia il segno di **tutti e due** i pezzi. ### Su un valore scritto con la lettera A volte il testo chiede la composta calcolata non su un numero ma su un'espressione con la lettera, come $-x$ oppure $2x$. Si fa allo stesso modo: si parte da dentro e si sostituisce. Prendi le due funzioni dell'appello del 03/02/2026, $f(n) = 3n - 1$ e $g(n) = -n + 4$. Il valore $(g \circ f)(-x)$ si calcola così: 1. $f(-x) = 3 \cdot (-x) - 1 = -3x - 1$; 2. $g(-3x - 1) = -(-3x - 1) + 4 = 3x + 1 + 4 = 3x + 5$. ### Con tre funzioni Con tre funzioni si va avanti allo stesso modo, sempre da destra a sinistra: la funzione scritta più a destra si usa per prima. Anche la stessa funzione può comparire due volte. Prendi $f(n) = 3n - 1$ e $g(n) = 2 - n$. Il valore $(g \circ f \circ f)(0)$ si calcola in tre passi: 1. $f(0) = -1$; 2. $f(-1) = -4$; 3. $g(-4) = 2 - (-4) = 6$. ::: prova Con $f(n) = 2n$ e $g(n) = n + 1$, calcola $(f \circ f)(n)$, $(g \circ g)(n)$ e $(g \circ f \circ g)(0)$. $(f \circ f)(n) = f(2n) = 4n$. $(g \circ g)(n) = g(n + 1) = n + 2$. Per l'ultima: $g(0) = 1$, $f(1) = 2$, $g(2) = 3$. ::: > [!RICORDA] > - Per la formula della composta si sostituisce: al posto della variabile della funzione esterna va **tutta** la formula di quella interna, tra parentesi. > - Si controlla sempre il risultato su un numero, calcolando a mano. ## Le regole della composizione (pp. 24–25) Le funzioni si possono comporre come i numeri si possono moltiplicare. Alcune regole delle moltiplicazioni valgono anche qui, altre no. ### Le parentesi non contano Con tre funzioni in fila si può comporre in due modi. Puoi unire prima le prime due e poi aggiungere la terza; oppure unire prima le ultime due e poi metterci davanti la prima. Il risultato è lo stesso, perché in tutti e due i casi ogni elemento passa per le tre funzioni nello stesso ordine. È come fare tre tappe di un viaggio: non conta come le raggruppi, conta l'ordine. > [!PROP] 2.14 · Proprietà associativa > Siano $f \colon A \to B$, $g \colon B \to C$ e $h \colon C \to D$ tre funzioni. Allora $h \circ (g \circ f) = (h \circ g) \circ f$. **Come si legge.** Le parentesi si possono spostare. Per questo si scrive semplicemente $h \circ g \circ f$, senza parentesi. > [!DIM] della Proposizione 2.14 (p. 24) > Si calcolano le due funzioni sullo stesso elemento $a$ di $A$, seguendo la definizione. > - A sinistra: $(h \circ (g \circ f))(a) = h((g \circ f)(a)) = h(g(f(a)))$. > - A destra: $((h \circ g) \circ f)(a) = (h \circ g)(f(a)) = h(g(f(a)))$. > > I due valori sono uguali per ogni $a$; le funzioni hanno anche lo stesso dominio $A$ e lo stesso codominio $D$, quindi sono la stessa funzione. ### L'identità non cambia niente L'identità lascia ogni elemento dov'è. Se la usi prima o dopo un'altra funzione, è come non averla usata: è come il numero 1 nelle moltiplicazioni. Il libro dice che l'identità è **neutra** per la composizione: per ogni $f \colon A \to B$, $$f \circ \operatorname{id}_A = f \qquad \text{e} \qquad \operatorname{id}_B \circ f = f.$$ Attenzione agli indici: a destra di $f$ va l'identità del **dominio**, a sinistra quella del **codominio**, altrimenti la composizione non si può fare. ### Le costanti vincono Una funzione costante manda tutto nello stesso elemento. Se la usi **per ultima**, il risultato è costante, qualunque cosa sia successa prima. Se la usi **per prima**, tutti gli elementi arrivano nello stesso punto, e la funzione dopo dà sempre lo stesso valore. In tutti e due i casi la composta è costante. Alla mensa: se tutti scelgono la pasta, alla cassa tutti pagano 4 €. La scelta è costante, e lo è anche il prezzo. ### L'ordine conta Con i numeri $2 \cdot 3 = 3 \cdot 2$. Con le funzioni no: $g \circ f$ e $f \circ g$ sono quasi sempre diverse. L'hai già visto con $f(n) = 2n$ e $g(n) = n + 1$: - $(g \circ f)(n) = 2n + 1$: prima raddoppi, poi aggiungi 1; - $(f \circ g)(n) = 2n + 2$: prima aggiungi 1, poi raddoppi. Succede anche nella vita: mettere le calze e poi le scarpe non è come mettere le scarpe e poi le calze. Il libro lo dice così: la composizione di funzioni **non è commutativa** (Nota 2.15). Il suo esempio usa il coseno: $\cos(x) + 1$ e $\cos(x + 1)$ sono funzioni diverse. > [!TRAPPOLA] A volte $f \circ g$ non esiste nemmeno > Se la prima funzione va da $A$ a $B$ e la seconda da $B$ a $C$, la composizione nell'ordine giusto si fa sempre. Quella nell'ordine contrario si fa solo se il terzo insieme è proprio il primo. Anche quando si possono fare tutte e due, possono andare tra insiemi diversi. Con la mensa e la cassa, per esempio, l'ordine contrario non ha senso: il listino non sceglie studenti. ::: prova Con $f(n) = n^2$ e $g(n) = n + 3$ dagli interi agli interi, calcola $(g \circ f)(n)$ e $(f \circ g)(n)$. Sono uguali? $(g \circ f)(n) = n^2 + 3$; $(f \circ g)(n) = (n + 3)^2 = n^2 + 6n + 9$. Sono diverse: in 1 la prima vale 4, la seconda 16. ::: > [!RICORDA] > - Associativa: con tre o più funzioni le parentesi non contano, conta solo l'ordine. > - L'identità è neutra; una costante, prima o dopo, rende costante la composta. > - **Non** commutativa: $g \circ f$ e $f \circ g$ sono in generale diverse. ## Composizione e funzioni iniettive o suriettive (pp. 25–26) Che cosa succede alle proprietà della lezione D04 quando componi? Pensa a due uffici in fila che smistano pacchi: il primo li mette in certi scaffali, il secondo prende ogni scaffale e lo manda in un magazzino. - Se nessuno dei due uffici **mescola** pacchi diversi nello stesso scaffale, alla fine pacchi diversi restano separati. È l'**iniettività**. - Se tutti e due gli uffici **riempiono** tutti i loro scaffali, alla fine ogni scaffale dell'ultimo ufficio riceve qualcosa. È la **suriettività**. > [!PROP] 2.16 > Siano $f \colon A \to B$ e $g \colon B \to C$ due funzioni. Allora: > 1. se $f$ e $g$ sono iniettive, anche $g \circ f$ è iniettiva; > 2. se $f$ e $g$ sono suriettive, anche $g \circ f$ è suriettiva. > > In particolare, se $f$ e $g$ sono biettive anche $g \circ f$ è biettiva. **Come si legge.** Le due proprietà passano dalle funzioni alla composta. La biettività, che è tutte e due insieme, passa anche lei. > [!DIM] della Proposizione 2.16 (p. 25) > 1. Prendi due elementi diversi $a_1$ e $a_2$ di $A$. $f$ è iniettiva, quindi $f(a_1)$ e $f(a_2)$ sono diversi. Anche $g$ è iniettiva, quindi $g(f(a_1))$ e $g(f(a_2))$ sono diversi. Ma questi sono i valori di $g \circ f$ in $a_1$ e $a_2$: la composta è iniettiva. > 2. Prendi un elemento $c$ di $C$. $g$ è suriettiva, quindi c'è un $b$ in $B$ con $g(b) = c$. Anche $f$ è suriettiva, quindi c'è un $a$ in $A$ con $f(a) = b$. Allora $(g \circ f)(a) = g(f(a)) = g(b) = c$: ogni $c$ è raggiunto, la composta è suriettiva. ### Al contrario: che cosa dice la composta sulle funzioni Il libro guarda anche la strada inversa (Proposizione 2.17). Se la composta ha una proprietà, che cosa si può dire delle due funzioni da cui viene? - Se $g \circ f$ è **iniettiva**, allora la **prima**, $f$, è iniettiva. Se $f$ mescolasse due elementi, la composta li mescolerebbe anche lei: dopo, $g$ non li può più separare. - Se $g \circ f$ è **suriettiva**, allora la **seconda**, $g$, è suriettiva. Tutto quello che la composta raggiunge, lo raggiunge con l'ultimo passo, che è $g$. > [!PROP] 2.17 e Corollario 2.18 > Siano $f \colon A \to B$ e $g \colon B \to C$ due funzioni. Allora: > 1. se $g \circ f$ è iniettiva, allora $f$ è iniettiva; > 2. se $g \circ f$ è suriettiva, allora $g$ è suriettiva. > > In particolare, se $g \circ f$ è biettiva, allora $f$ è iniettiva e $g$ è suriettiva. **Come si legge.** L'iniettività della composta si scarica sulla funzione **di destra**, quella usata per prima. La suriettività si scarica su quella **di sinistra**, usata per ultima. > [!DIM] della Proposizione 2.17 (p. 26) > 1. Se $f$ non fosse iniettiva, ci sarebbero $a_1 \neq a_2$ con $f(a_1) = f(a_2)$. Applicando $g$ a tutti e due: $g(f(a_1)) = g(f(a_2))$, cioè la composta prende lo stesso valore in due elementi diversi. Non sarebbe iniettiva. > 2. Se $g \circ f$ è suriettiva, ogni $c$ di $C$ è $(g \circ f)(a)$ per qualche $a$. Chiamato $b = f(a)$, si ha $g(b) = c$: ogni $c$ è raggiunto anche da $g$. > > Il corollario mette insieme le due frasi: biettiva vuol dire iniettiva e suriettiva. > [!TRAPPOLA] Non vale per l'altra funzione > Una composta biettiva **non** garantisce che la prima funzione sia suriettiva, né che la seconda sia iniettiva. Un esempio piccolo, con un solo studente e due piatti. Lo studente sceglie la pasta; alla cassa pasta e riso costano tutti e due 4 euro. La composta va dall'unico studente all'unico prezzo, ed è biettiva. Ma il riso non lo sceglie nessuno, quindi la scelta non è suriettiva; e i due piatti hanno lo stesso prezzo, quindi il listino non è iniettivo. ::: prova Vero o falso: se $g \circ f$ è iniettiva, allora anche $g$ è iniettiva. Falso. Nell'esempio della trappola la composta è iniettiva, perché parte da un solo studente, ma il listino dà lo stesso prezzo a due piatti. È la prima funzione che deve essere iniettiva, non la seconda. ::: > [!RICORDA] > - Iniettive composte danno un'iniettiva; suriettive composte danno una suriettiva; biettive composte danno una biettiva. > - Composta iniettiva: la prima funzione usata è iniettiva. Composta suriettiva: l'ultima usata è suriettiva. ## Tornare indietro: le funzioni inverse (pp. 26–28) Alla mensa ognuno ha una tessera con un numero: Anna ha il 17, Bruno il 23, Carla il 31, Dario il 42. La funzione «da ogni studente al numero della sua tessera» è biettiva: ogni studente ha il suo numero, e ogni numero è di uno studente solo. Al cassiere arriva una tessera, la 31: di chi è? È di Carla. Esiste una regola che **torna indietro**, dal numero allo studente. Le due funzioni si disfano a vicenda: - da Carla vai al 31, e dal 31 torni a Carla; - dal 31 vai a Carla, e da Carla torni al 31. > [!IDEA] > L'inversa di una funzione è la funzione che disfa quello che fa l'altra: se le usi una dopo l'altra, in un ordine o nell'altro, torni al punto di partenza. «Tornare al punto di partenza» vuol dire che la composta è l'**identità**. Il libro usa proprio questo come definizione. > [!DEF] 2.19 · Funzioni inverse l'una dell'altra > Siano $f \colon A \to B$ e $g \colon B \to A$ due funzioni. Diciamo che $f$ e $g$ sono **funzioni inverse l'una dell'altra** se > $$g \circ f = \operatorname{id}_A \qquad \text{e} \qquad f \circ g = \operatorname{id}_B.$$ **Come si legge.** - La prima uguaglianza: parti da uno studente, vai alla tessera, torni indietro, e ti ritrovi con lo stesso studente. - La seconda: parti da una tessera, vai allo studente, torni alla tessera, e ti ritrovi con lo stesso numero. - Servono **tutte e due** le uguaglianze. ### Perché servono tutte e due Può succedere che una sola delle due uguaglianze sia vera. Il libro dà due esempi (p. 27). > [!ESEMPIO] Metà inversa: una sola uguaglianza vera (p. 27) > **Con le coppie.** Fissa un elemento $\beta$ in $B$ e prendi la funzione $s$ da $A$ ad $A \times B$ che mette $a$ nella coppia $(a, \beta)$. Poi usa la prima proiezione $p_1$, che dalla coppia tiene il primo pezzo. > - $p_1 \circ s = \operatorname{id}_A$: da $a$ vai a $(a, \beta)$ e torni ad $a$. > - $s \circ p_1$ **non** è l'identità di $A \times B$: la coppia $(a, b)$ va in $a$ e poi in $(a, \beta)$, che è diversa se $b \neq \beta$. > > Il libro qui scrive $s \circ p_1 \neq \operatorname{id}_B$: l'identità giusta è quella di $A \times B$, il dominio di $p_1$. > > **Con i cassetti.** $X = \{a, b, c, d\}$ è diviso nei cassetti $\{a, b\}$ e $\{c, d\}$. La funzione quoziente $q$ manda ogni elemento nel suo cassetto. La funzione $s$ prende da ogni cassetto un elemento: $s(\{a, b\}) = a$ e $s(\{c, d\}) = c$. > - $q \circ s$ è l'identità dei cassetti: dal cassetto prendi un elemento, e quello sta nel suo cassetto. > - $s \circ q$ **non** è l'identità di $X$: $b$ va nel cassetto $\{a, b\}$ e poi in $a$. C'è un motivo preciso per cui una sola uguaglianza non basta. Se due funzioni sono inverse, le due composte sono identità, che sono biettive. Allora per il Corollario 2.18 ciascuna delle due funzioni è iniettiva, guardando una composta, e suriettiva, guardando l'altra: deve essere **biettiva**. Negli esempi qui sopra $s$ non è suriettiva, quindi non può avere un'inversa vera. ### Chi ha un'inversa: esattamente le biezioni Il conto appena fatto dice: se una funzione ha un'inversa, è biettiva. Il libro dimostra anche il contrario: ogni funzione biettiva ha un'inversa, e una sola. Come si costruisce? Con la tessera: prendi un numero e cerchi lo studente che ce l'ha. In generale, se $f$ è biettiva, ogni $b$ del codominio ha **esattamente un** elemento nella controimmagine (Proposizione 2.11 della lezione D04). L'inversa manda $b$ proprio in quell'elemento: $$g(b) = a \qquad \text{quando} \qquad f^{-1}(b) = \{a\}.$$ > [!TEOREMA] 2.20 > Sia $f \colon A \to B$ una funzione biettiva. Allora esiste ed è unica una funzione $g \colon B \to A$ tale che $f$ e $g$ sono inverse l'una dell'altra. **Come si legge.** Una biezione ha un'inversa, e non ce ne sono due diverse. Messo insieme a quello di prima: una funzione ha l'inversa **se e solo se** è biettiva. > [!DIM] del Teorema 2.20 (pp. 27–28) > **Esiste.** È la $g$ costruita sopra. Per ogni $a$ in $A$, chiamato $b = f(a)$, la controimmagine di $b$ è $\{a\}$, quindi $g(f(a)) = g(b) = a$. Per ogni $b$ in $B$, chiamato $a$ l'unico elemento della sua controimmagine, $f(g(b)) = f(a) = b$. Le due composte sono le identità. > > **È unica.** Supponi che anche $h \colon B \to A$ sia un'inversa di $f$. Calcola $g \circ f \circ h$ in due modi, spostando le parentesi. > 1. $(g \circ f) \circ h = \operatorname{id}_A \circ h = h$. > 2. $g \circ (f \circ h) = g \circ \operatorname{id}_B = g$. > > Per la proprietà associativa i due risultati sono uguali, quindi $h = g$. > [!DEF] 2.21 · Funzione inversa > Sia $f$ una funzione biettiva. L'unica funzione $g \colon B \to A$ tale che $g \circ f = \operatorname{id}_A$ e $f \circ g = \operatorname{id}_B$ è detta **la funzione inversa** di $f$, e si denota $f^{-1}$. **Come si legge.** $f^{-1}$ si legge «effe alla meno uno», o «inversa di effe». È la funzione che fa il viaggio al contrario: $f^{-1}(b) = a$ esattamente quando $f(a) = b$. > [!TRAPPOLA] Lo stesso simbolo per due cose (Nota 2.22) > Nella lezione D04 $f^{-1}(b)$ era la **controimmagine**: un **insieme**, che esiste per ogni funzione. Qui $f^{-1}(b)$ è il valore della **funzione inversa**: un **elemento**, che esiste solo se $f$ è biettiva. Quando $f$ è biettiva le due cose si somigliano: la controimmagine è $\{a\}$ e l'inversa dà $a$. Quale delle due si intende si capisce dal contesto. L'inversa dell'inversa è la funzione di partenza: $(f^{-1})^{-1} = f$ (Nota 2.23). Nella definizione le due funzioni hanno lo stesso ruolo: se la seconda disfa la prima, anche la prima disfa la seconda. ::: prova Da $\{1, 2, 3\}$ a $\{a, b, c\}$ la funzione $f$ è $f(1) = c$, $f(2) = a$, $f(3) = b$. Scrivi $f^{-1}$. E la funzione $h(1) = a$, $h(2) = a$, $h(3) = b$ ha un'inversa? $f^{-1}(a) = 2$, $f^{-1}(b) = 3$, $f^{-1}(c) = 1$: si leggono le frecce al contrario. $h$ non ha inversa: non è biettiva, perché $a$ arriva da due elementi e $c$ da nessuno. ::: > [!RICORDA] > - Due funzioni sono inverse quando le due composte, nei due ordini, sono **tutte e due** identità. > - Una funzione ha l'inversa se e solo se è biettiva, e l'inversa è unica (Teorema 2.20). > - $f^{-1}(b)$ è un insieme se parli di controimmagine, un elemento se parli di funzione inversa. ## Trovare l'inversa in pratica Con una formula, l'inversa si trova **risolvendo un'equazione**. L'inversa deve dire da quale $x$ arriva un valore $y$. Quindi si scrive $y = f(x)$ e si ricava $x$. > [!METODO] Trovare l'inversa di una formula > 1. Controlla che $f$ sia biettiva, con il dominio e il codominio dati. Se non lo è, l'inversa non esiste. > 2. Scrivi $y = f(x)$. > 3. Ricava $x$: viene una formula in $y$. Quella è $f^{-1}(y)$. > 4. **Controlla** componendo: $f^{-1}(f(x))$ deve dare $x$. > [!ESEMPIO] L'inversa di $f(x) = 3x - 2$ dai reali ai reali > **Passo 1.** È biettiva: ogni retta non orizzontale prende ogni valore una volta sola. > > **Passo 2 e 3.** Da $y = 3x - 2$ porti il 2 a sinistra: $y + 2 = 3x$. Dividi per 3: $x = \frac{y + 2}{3}$. Quindi > $$f^{-1}(y) = \frac{y + 2}{3} = \frac{1}{3}y + \frac{2}{3}.$$ > > **Passo 4.** $f^{-1}(f(x)) = \frac{(3x - 2) + 2}{3} = \frac{3x}{3} = x$. > > Era una domanda vera di un appello degli anni 2021–2025, con la risposta scritta con la lettera $x$: $g(x) = (1/3)x + (2/3)$. Il nome della lettera non conta: $f^{-1}(y) = \frac{y + 2}{3}$ e $f^{-1}(x) = \frac{x + 2}{3}$ sono la stessa funzione. > [!TRAPPOLA] Gli interi non sono i reali > La stessa formula può essere biettiva sui reali e non sugli interi. $f(n) = 3n - 2$ dagli interi agli interi **non** è suriettiva: 0 dovrebbe venire da $n = \frac 23$, che non è intero. Quindi non ha inversa. Prima del conto, guarda sempre dominio e codominio. Nella lezione D04, nell'esercizio 2.8 del libro, hai reso biettive due funzioni cambiando dominio e codominio, e hai trovato chi arriva in ogni valore. Quelle formule sono proprio le inverse. Per esempio, la funzione che triplica, presa con i multipli di 3 come codominio, ha come inversa la divisione per 3. ::: prova Trova l'inversa di $f(x) = 2x + 5$ dai reali ai reali, e controllala su $x = 1$. $y = 2x + 5$ dà $x = \frac{y - 5}{2}$, cioè $f^{-1}(y) = \frac 12 y - \frac 52$. Controllo: $f(1) = 7$ e $f^{-1}(7) = \frac{7 - 5}{2} = 1$. ::: > [!RICORDA] > - L'inversa di una formula si trova scrivendo $y = f(x)$ e ricavando $x$. > - Prima si controlla che la funzione sia biettiva sul dominio e codominio dati; dopo si controlla componendo. ## L'inversa di una composizione e la cancellazione (pp. 28–29) Al mattino metti prima le calze e poi le scarpe. La sera, per disfare, togli prima le **scarpe** e poi le **calze**: l'ordine si capovolge. Lo stesso vale per le funzioni: per disfare una composta si disfa per prima l'ultima funzione usata. > [!PROP] 2.24 > Siano $f \colon A \to B$ e $g \colon B \to C$ due funzioni biettive. Allora > $$(g \circ f)^{-1} = f^{-1} \circ g^{-1}.$$ **Come si legge.** L'inversa della composta è la composta delle inverse, **in ordine contrario**: si usa prima $g^{-1}$, poi $f^{-1}$. Per la Proposizione 2.16 la composta $g \circ f$ è biettiva, quindi l'inversa c'è. > [!DIM] della Proposizione 2.24 (p. 28) > Basta controllare che $f^{-1} \circ g^{-1}$ disfi $g \circ f$ nei due ordini, spostando le parentesi con la proprietà associativa. > 1. $(g \circ f) \circ (f^{-1} \circ g^{-1}) = g \circ (f \circ f^{-1}) \circ g^{-1} = g \circ \operatorname{id}_B \circ g^{-1} = g \circ g^{-1} = \operatorname{id}_C$. > 2. $(f^{-1} \circ g^{-1}) \circ (g \circ f) = f^{-1} \circ (g^{-1} \circ g) \circ f = f^{-1} \circ \operatorname{id}_B \circ f = f^{-1} \circ f = \operatorname{id}_A$. > [!ESEMPIO] Le calze e le scarpe con i numeri > $f(x) = 2x + 1$ e $g(x) = 3x$, dai reali ai reali. La composta è $(g \circ f)(x) = 3(2x + 1) = 6x + 3$. > - Le inverse: $f^{-1}(y) = \frac{y - 1}{2}$, che toglie 1 e divide per 2; $g^{-1}(y) = \frac y3$, che divide per 3. > - Ordine contrario: $(f^{-1} \circ g^{-1})(y) = f^{-1}\!\left(\frac y3\right) = \frac{\frac y3 - 1}{2} = \frac y6 - \frac 12$. > - Controllo diretto: da $y = 6x + 3$ viene $x = \frac{y - 3}{6} = \frac y6 - \frac 12$. È la stessa formula. > > Nell'ordine sbagliato, $g^{-1} \circ f^{-1}$ darebbe $\frac{y - 1}{6}$: non è l'inversa. ### Semplificare una funzione biettiva Con i numeri, da $2 \cdot a = 2 \cdot b$ si ricava $a = b$: si semplifica il 2, perché si può dividere per 2. Con le funzioni succede lo stesso, ma solo con una funzione **biettiva**, perché si «divide» usando la sua inversa. > [!PROP] 2.25 · Cancellazione > Sia $f \colon A \to B$ una funzione biettiva, e siano $g_1, g_2 \colon B \to Y$ e $h_1, h_2 \colon X \to A$ funzioni. > 1. Se $g_1 \circ f = g_2 \circ f$, allora $g_1 = g_2$. > 2. Se $f \circ h_1 = f \circ h_2$, allora $h_1 = h_2$. **Come si legge.** Una $f$ biettiva si può togliere da tutte e due le parti, sia quando sta a destra sia quando sta a sinistra. > [!DIM] della Proposizione 2.25 (p. 29) > 1. Componi a destra con $f^{-1}$ tutte e due le parti: $g_1 = g_1 \circ f \circ f^{-1} = g_2 \circ f \circ f^{-1} = g_2$, perché $f \circ f^{-1} = \operatorname{id}_B$. > 2. Componi a sinistra con $f^{-1}$: $h_1 = f^{-1} \circ f \circ h_1 = f^{-1} \circ f \circ h_2 = h_2$, perché $f^{-1} \circ f = \operatorname{id}_A$. > > Nella seconda riga della dimostrazione il libro scrive $\operatorname{id}_B \circ h_1$: l'identità giusta è quella di $A$, dove arrivano $h_1$ e $h_2$. Senza la biettività la cancellazione può fallire. Se la funzione è costante, ogni composta fatta dopo di lei è costante, e funzioni diverse possono dare la stessa composta. L'esercizio 2.12 del libro chiede di costruire un esempio. ::: prova Con $f(x) = x - 4$ e $g(x) = 5x$ dai reali ai reali, quanto vale $(g \circ f)^{-1}(10)$? L'inversa si fa al contrario: prima $g^{-1}(10) = 2$, poi $f^{-1}(2) = 2 + 4 = 6$. Controllo: $f(6) = 2$ e $g(2) = 10$. ::: > [!RICORDA] > - $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$: come calze e scarpe, si disfa nell'ordine contrario. > - Una funzione biettiva si può cancellare da tutte e due le parti di un'uguaglianza tra composte. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $g \circ f$ | «gi composto effe» | prima $f$, poi $g$ | $f(n) = 2n$, $g(n) = n + 1$: $(g \circ f)(n) = 2n + 1$ | | $(g \circ f)(a)$ | «gi composto effe di a» | il valore $g(f(a))$ | $(g \circ f)(5) = 11$ | | $h \circ g \circ f$ | «acca composto gi composto effe» | prima $f$, poi $g$, poi $h$ | | | $\operatorname{id}_A$ | «identità su $A$» | la funzione che lascia tutto com'è; neutra per la composizione | $f \circ \operatorname{id}_A = f$ | | $f^{-1}$ | «inversa di effe» | la funzione che disfa $f$, solo se $f$ è biettiva | $f(x) = 3x - 2$, $f^{-1}(y) = \frac{y + 2}{3}$ | | $f^{-1}(b)$ | «effe alla meno uno di bi» | un elemento (inversa) o un insieme (controimmagine) | | | $(g \circ f)^{-1}$ | «inversa di gi composto effe» | è $f^{-1} \circ g^{-1}$ | | | $A \xrightarrow{f} B$ | «effe da A a B» | la freccia della funzione $f$ | | ## Verso l'esame La prova di **Matematica Discreta**, la parte 1 di MDAG, è scritta ed è la stessa per i canali A, B e C. Al 12/10/2026 le regole del 2026/27 non sono ancora uscite; quelle del 2025/26 dicono così. - **10 domande a risposta multipla**, ognuna con 5 risposte e una sola giusta. Una risposta giusta vale 1 punto; una sbagliata o vuota vale 0. - **2 problemi** a risposta aperta, divisi in più domande con il punteggio scritto accanto. - **Sbarramento.** Con meno di 6 punti nel quiz la prova non è superata, e i problemi non vengono corretti. - **Sufficienza:** almeno 18 punti in tutto. **Durata:** 2 ore. - **Materiale ammesso:** libro di testo e appunti del corso, e una calcolatrice non programmabile. Gli appelli 2026/27 sono martedì 19/01/2027 e mercoledì 03/02/2027 alle 14:00. Dettagli nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). **Che cosa serve di questa lezione** 1. **Domanda 3 del quiz.** Dal febbraio 2025 al settembre 2026 la domanda 3 di quasi tutti gli appelli è una composizione: calcolare una formula, un valore, oppure dire quale composizione si può fare. Ho trovato sette modelli diversi, tutti qui sotto. È un punto quasi regalato, se non sbagli l'ordine. 2. **Funzione inversa.** In alcuni quiz degli anni 2021–2025 si chiedeva l'inversa di una retta, come $3x - 2$. 3. **Permutazioni.** Fra qualche settimana le permutazioni saranno funzioni biettive da un insieme in sé, e si comporranno e invertiranno di continuo: in ogni appello c'è un problema su di loro. Le regole di questa lezione servono tutte là. ### Una domanda vera, letta insieme **Appello del 10/09/2026, domanda 3, versione 1.** Il testo: «Siano $f, g \colon \Z \to \Z$ le funzioni definite da $f(n) = 3n - 1$ e $g(n) = 2 - n$. Allora: 1. $g \circ f \circ f(0) = 6$; 2. $g \circ f \circ g(0) = -5$; 3. $g \circ g \circ f(0) = 1$; 4. $f \circ f \circ g(0) = 7$; 5. $f \circ g \circ f(0) = 4$». **In pratica chiede:** quale di questi cinque valori è calcolato giusto? Ognuno è una catena di tre funzioni applicate a 0, da leggere da destra a sinistra. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: i valori che servono.** Conviene preparare una tabellina: $f(0) = -1$, $g(0) = 2$, poi i valori sui numeri che escono man mano. > > **Passo 2: una catena alla volta, da destra.** > - Frase 1: $f(0) = -1$, $f(-1) = -4$, $g(-4) = 2 + 4 = 6$. Viene 6: **vera**. > - Frase 2: $g(0) = 2$, $f(2) = 5$, $g(5) = -3$. Viene $-3$, non $-5$. > - Frase 3: $f(0) = -1$, $g(-1) = 3$, $g(3) = -1$. Viene $-1$, non 1. > - Frase 4: $g(0) = 2$, $f(2) = 5$, $f(5) = 14$. Viene 14, non 7. > - Frase 5: $f(0) = -1$, $g(-1) = 3$, $f(3) = 8$. Viene 8, non 4. > > **Passo 3: la risposta.** Solo la frase 1 torna. **La risposta è la 1.** Chi legge le catene da sinistra a destra trova altri numeri: è proprio la trappola della domanda. ### Gli altri modelli della domanda 3 Tutte le risposte giuste qui sotto le ho ricontrollate con un programma. > [!ESAME] Composizione con le formule: appelli del 04/02/2025 e del 06/06/2025 > - 04/02/2025, versione 1: $f(n) = 2n + 1$, $g(n) = 3 - n$. Giusta: $(f \circ g)(n) = 7 - 2n$. Le trappole: $5 - 2n$ (segno sbagliato nella parentesi) e $(g \circ f)(n) = 4 - n$. > - 04/02/2025, versione 2: $f(n) = n + 3$, $g(n) = 1 - 3n$. Giusta: $(g \circ f)(n) = -8 - 3n$, perché $1 - 3(n + 3) = 1 - 3n - 9$. > - 06/06/2025, versione 1: $f(n) = 2n + 3$, $g(n) = 3n - 2$. Giusta: $(g \circ f)(n) = 3(2n + 3) - 2 = 6n + 7$. La trappola: $6n + 3$, che si ottiene sbagliando l'ordine dei conti. > - 06/06/2025, versione 4: $f(n) = -2n + 1$, $g(n) = n + 3$. Giusta: $(f \circ g)(n) = -2(n + 3) + 1 = -2n - 5$. > [!ESAME] Composizione su $-x$, $2x$, $x \pm 1$: appello del 03/02/2026 > Versione 1: $f(n) = 3n - 1$ e $g(n) = -n + 4$. Giusta: $(g \circ f)(-x) = 3x + 5$, il conto svolto sopra. Le altre quattro risposte avevano i valori sbagliati: > > | Risposta | Valore scritto | Valore vero | > |---|---|---| > | $f \circ g(-x)$ | $3x - 5$ | $3x + 11$ | > | $f \circ g(x + 1)$ | $-3x + 2$ | $8 - 3x$ | > | $f \circ g(x - 1)$ | $-x + 14$ | $14 - 3x$ | > | $g \circ f(2x)$ | $6x + 5$ | $5 - 6x$ | > > Nella versione 2, con $f(n) = -2n + 1$ e $g(n) = n + 4$, la giusta era $f \circ g(x + 1) = -2x - 9$. > [!ESAME] Tre funzioni: appello del 06/06/2026 > $f(x) = 3x$, $g(x) = -x - 1$, $h(x) = x + 2$. Giusta: $(g \circ f \circ h)(x) = -3x - 7$. Si parte da $h$: $x + 2$; poi $f$: $3x + 6$; poi $g$: $-(3x + 6) - 1 = -3x - 7$. Le trappole erano tutte della forma $-3x + \text{qualcosa}$: cambiare l'ordine cambia solo il numero finale, quindi bisogna fare i conti per bene. > [!ESAME] Trovare una funzione dalla composta: appello del 07/07/2025 > Il testo: «Sia $f(x) = 3x - 2$ e $g(x)$ tale che $(g \circ f)(x) = 6x - 7$. Allora $g(x)$ è…». Giusta: $g(x) = 2x - 3$. > > Il modo più veloce è **provare le risposte**: con $g(x) = 2x - 3$ viene $g(3x - 2) = 6x - 4 - 3 = 6x - 7$. Si può anche ragionare così: $6x - 7 = 2 \cdot (3x - 2) - 3$, quindi $g$ raddoppia e toglie 3. > [!ESAME] Quale composizione non si può fare: appello del 13/01/2026 > Il testo: «Supponiamo di avere funzioni $f \colon A \to B$, $g \colon B \to C$, $h \colon C \to A$, $k \colon B \to A$. Quale delle seguenti composizioni NON è definita? 1. $h \circ g \circ f \circ h$; 2. $k \circ f \circ k \circ f$; 3. $h \circ g \circ f \circ k$; 4. $k \circ f \circ h \circ g$; 5. $f \circ h \circ f \circ h$». > > Giusta: la 5. Si legge da destra. La $h$ più a destra arriva in $A$; poi $f$ va da $A$ a $B$; poi la seconda $h$ dovrebbe partire da $B$, ma parte da $C$. Le altre quattro si possono fare. Nella 3, per esempio, il viaggio è: $B$, $A$, $B$, $C$, $A$. > [!ESAME] La funzione inversa: un appello degli anni 2021–2025 > Il testo: «Sia $f \colon \R \to \R$ la funzione $f(x) = 2x + 5$. La funzione inversa è…». Giusta: $g(x) = \frac 12 x - \frac 52$. La trappola: $\frac 12 x + \frac 52$, con il segno sbagliato. Nelle altre versioni c'erano le funzioni $3x + 1$ e $2x - 4$; le inverse sono $\frac 13 x - \frac 13$ e $\frac 12 x + 2$. > [!METODO] La domanda 3 sulla composizione > 1. Leggi ogni catena **da destra a sinistra**: la funzione più vicina alla variabile si usa per prima. > 2. Se c'è un valore, come $f \circ g(0)$, calcola un passo alla volta e scrivi ogni numero. Tieni una tabellina dei valori già calcolati. > 3. Se c'è una formula, sostituisci con le parentesi e poi controlla su $x = 0$. > 4. Se chiede quale composizione «non è definita», controlla da destra a sinistra che l'arrivo di ogni funzione sia la partenza della successiva. > 5. Se chiede una funzione $g$ conoscendo $g \circ f$, prova le cinque risposte: è più veloce che ricavarla. **Errori da evitare** - Calcolare $f(g(a))$ quando il testo chiede $(g \circ f)(a)$. - Dimenticare la parentesi quando si sostituisce: $3 - (2n + 1)$ non è $3 - 2n + 1$. - Pensare che $g \circ f$ e $f \circ g$ siano uguali. - Cercare l'inversa di una funzione che non è biettiva, o dimenticare che dipende da dominio e codominio. - Invertire una composizione senza capovolgere l'ordine. > [!ESAME] Che cosa scrivere sul foglio di riepilogo > Alla prova puoi portare libro e appunti. Da questa lezione conviene avere pronti: la regola «la funzione di destra si usa per prima»; il metodo della domanda 3; il metodo per l'inversa ($y = f(x)$, ricavare $x$, controllare); la regola delle calze e delle scarpe per l'inversa di una composizione. ## Quiz ```quiz D: Con $f(n) = n + 2$ e $g(n) = 3n$ dagli interi agli interi, quanto vale $(g \circ f)(1)$? + 9 - 5 - 3 - 6 - 11 = Prima $f(1) = 3$, poi $g(3) = 9$. La risposta più insidiosa è 5: è $(f \circ g)(1) = f(3) = 5$, cioè l'ordine sbagliato. 3 è solo $f(1)$; 6 e 11 non escono da nessun ordine. D: Siano $f \colon A \to B$, $g \colon B \to C$ e $h \colon C \to B$. Quale composizione **non** si può fare? + $f \circ g$ - $g \circ f$ - $h \circ g$ - $g \circ h$ - $h \circ g \circ f$ = $f \circ g$ chiede di usare prima $g$, che arriva in $C$, e poi $f$, che parte da $A$: non si attaccano. La risposta più insidiosa è $h \circ g \circ f$, che sembra lunga ma funziona: da $A$ a $B$, a $C$, di nuovo a $B$. $h \circ g$ va da $B$ a $B$, $g \circ h$ da $C$ a $C$. D: (Appello del 04/02/2025, versione 3) Siano $f, g \colon \Z \to \Z$ le funzioni $f(n) = 2n - 1$ e $g(n) = 5 - n$. Allora + $(g \circ f)(n) = 6 - 2n$ - $(f \circ g)(n) = 9 + 2n$ - $(f \circ g)(n) = 4 - 2n$ - $(g \circ f)(n) = 9 - 2n$ - $(f \circ g)(n) = 9 - n$ = $g(2n - 1) = 5 - (2n - 1) = 6 - 2n$. La risposta più insidiosa è $(g \circ f)(n) = 9 - 2n$: è la formula di $f \circ g$, cioè $2(5 - n) - 1 = 9 - 2n$, attribuita all'ordine sbagliato. Le altre sbagliano un segno o dimenticano il 2. D: (Appello del 10/09/2026, versione 2) Siano $f, g \colon \Z \to \Z$ le funzioni $f(n) = 2n - 1$ e $g(n) = 1 - n$. Allora + $g \circ f \circ g(0) = 0$ - $g \circ f \circ f(0) = -2$ - $g \circ g \circ f(0) = 1$ - $f \circ f \circ g(0) = 2$ - $f \circ g \circ f(0) = 4$ = $g(0) = 1$, $f(1) = 1$, $g(1) = 0$. La risposta più insidiosa è $f \circ f \circ g(0) = 2$: il valore giusto è $g(0) = 1$, $f(1) = 1$, $f(1) = 1$. Le altre: $g \circ f \circ f(0) = 4$, $g \circ g \circ f(0) = -1$, $f \circ g \circ f(0) = 3$. D: (Appello del 06/06/2026, versione 2) Siano $f(x) = x + 3$, $g(x) = -x + 1$ e $h(x) = 2x$. Allora + $(h \circ f \circ g)(x) = -2x + 8$ - $(g \circ f \circ h)(x) = -2x + 2$ - $(f \circ h \circ g)(x) = -2x + 3$ - $(f \circ g \circ h)(x) = -2x - 4$ - $(g \circ h \circ f)(x) = -2x + 5$ = Da destra: $g$ dà $-x + 1$, $f$ dà $-x + 4$, $h$ dà $-2x + 8$. La risposta più insidiosa è $(g \circ h \circ f)(x) = -2x + 5$: il conto vero dà $-2x - 5$, con il segno opposto. Le altre valgono $-2x - 2$, $-2x + 5$ e $-2x + 4$. D: Quale affermazione è vera per tutte le funzioni $f \colon A \to B$, $g \colon B \to C$, $h \colon C \to D$? + $h \circ (g \circ f) = (h \circ g) \circ f$ - $g \circ f = f \circ g$ - $g \circ f$ è iniettiva - $(g \circ f)^{-1} = g^{-1} \circ f^{-1}$ - $f \circ \operatorname{id}_B = f$ = È la proprietà associativa (Proposizione 2.14). La risposta più insidiosa è $f \circ \operatorname{id}_B = f$: a destra di $f$ va l'identità del dominio, $\operatorname{id}_A$, altrimenti la composizione non si può fare. $f \circ g$ in generale non esiste; l'iniettività non è garantita; l'inversa, quando c'è, si scrive nell'ordine contrario, $f^{-1} \circ g^{-1}$. D: Siano $f \colon A \to B$ e $g \colon B \to C$ con $g \circ f$ biettiva. Che cosa si può dire con certezza? + $f$ è iniettiva e $g$ è suriettiva - $f$ e $g$ sono biettive - $f$ è suriettiva e $g$ è iniettiva - $f$ è biettiva - $A$, $B$ e $C$ hanno lo stesso numero di elementi = È il Corollario 2.18. La risposta più insidiosa è «$f$ e $g$ sono biettive»: nell'esempio della trappola, con un solo studente e due piatti dallo stesso prezzo, la composta è biettiva ma né la scelta né il listino lo sono. Nello stesso esempio l'insieme in mezzo, i piatti, ha più elementi degli altri due. D: (Un appello degli anni 2021–2025) Sia $f \colon \R \to \R$ la funzione $f(x) = 3x - 2$. La funzione inversa è + $g(x) = \frac 13 x + \frac 23$ - $g(x) = \frac 13 x - \frac 23$ - $g(x) = x + \frac 23$ - $g(x) = \frac 12 x + \frac 32$ - $g(x) = \frac 12 x - \frac 32$ = Da $y = 3x - 2$ viene $x = \frac{y + 2}{3}$. La risposta più insidiosa è $\frac 13 x - \frac 23$, con il segno sbagliato: controllando, $g(f(0)) = g(-2) = -\frac 43$, non 0. Le altre non disfano $f$ nemmeno su un numero. D: Siano $f$ e $g$ funzioni biettive dai reali ai reali, con $f(x) = x + 1$ e $g(x) = 2x$. Quale funzione è $(g \circ f)^{-1}$? + $y \mapsto \frac y2 - 1$ - $y \mapsto \frac{y - 1}{2}$ - $y \mapsto 2y + 2$ - $y \mapsto \frac{y + 1}{2}$ - $(g \circ f)^{-1}$ non esiste = $(g \circ f)(x) = 2x + 2$; per tornare indietro si disfa prima $g$ (si divide per 2) e poi $f$ (si toglie 1): $\frac y2 - 1$. La risposta più insidiosa è $\frac{y - 1}{2}$: è $g^{-1} \circ f^{-1}$, l'ordine sbagliato. La composta di biezioni è biettiva, quindi l'inversa esiste. D: (Appello del 07/07/2025, versione 2) Sia $f(x) = 2x - 3$ e $g(x)$ tale che $(g \circ f)(x) = 6x - 8$. Quanto vale $g(1)$? N: 4 = Si prova a scrivere $6x - 8$ con dentro $2x - 3$: $6x - 8 = 3(2x - 3) + 1$, quindi $g(x) = 3x + 1$, la risposta giusta dell'appello. Allora $g(1) = 4$. Controllo: $f(2) = 1$ e $(g \circ f)(2) = 12 - 8 = 4$. ``` ## Esercizi ::: esercizio base Riscaldamento: la mensa e la cassa Con le tabelle all'inizio della lezione, scrivi la tabella completa di $g \circ f$, da ogni studente a quanto paga. È iniettiva? È suriettiva come funzione dagli studenti ai prezzi $\{3, 4, 5, 6\}$? ::: soluzione 1. Anna 4 €, Bruno 4 €, Carla 3 €, Dario 5 €. 2. Non è iniettiva: Anna e Bruno pagano tutti e due 4 €. 3. Non è suriettiva: nessuno paga 6 €, perché nessuno ha scelto gli gnocchi. ::: ::: esercizio base Riscaldamento: da dentro verso fuori Con $f(n) = n - 3$ e $g(n) = n^2$ dagli interi agli interi, calcola $(g \circ f)(5)$, $(f \circ g)(5)$, $(g \circ f)(n)$ e $(f \circ g)(n)$. ::: soluzione 1. $(g \circ f)(5)$: $f(5) = 2$, $g(2) = 4$. 2. $(f \circ g)(5)$: $g(5) = 25$, $f(25) = 22$. 3. $(g \circ f)(n) = (n - 3)^2 = n^2 - 6n + 9$. 4. $(f \circ g)(n) = n^2 - 3$. ::: ::: esercizio base Riscaldamento: si può comporre? Siano $f \colon A \to B$, $g \colon B \to B$, $h \colon B \to A$. Per ciascuna composizione dì se si può fare e, se sì, da dove a dove va: $g \circ f$, $f \circ g$, $h \circ g \circ f$, $f \circ h$, $g \circ h$. ::: soluzione 1. $g \circ f$: sì, da $A$ a $B$. 2. $f \circ g$: no, $g$ arriva in $B$ e $f$ parte da $A$. 3. $h \circ g \circ f$: sì, da $A$ ad $A$. 4. $f \circ h$: sì, da $B$ a $B$. 5. $g \circ h$: no, $h$ arriva in $A$ e $g$ parte da $B$. ::: ::: esercizio base Riscaldamento: un'inversa piccola La funzione $f$ da $\{1, 2, 3, 4\}$ a $\{a, b, c, d\}$ è $f(1) = d$, $f(2) = b$, $f(3) = a$, $f(4) = c$. Scrivi $f^{-1}$ e controlla che $f^{-1} \circ f$ sia l'identità. ::: soluzione $f^{-1}(a) = 3$, $f^{-1}(b) = 2$, $f^{-1}(c) = 4$, $f^{-1}(d) = 1$. Controllo: $f^{-1}(f(1)) = f^{-1}(d) = 1$, $f^{-1}(f(2)) = f^{-1}(b) = 2$, e così via per 3 e 4. ::: ::: esercizio medio Esercizio 2.10 del libro Siano $f \colon \N \to \Z$, $g \colon \Z \to \Z$ e $h \colon \Z \to \N$. Dire quali delle seguenti composizioni sono legittime e quali no, specificando in caso affermativo dominio e codominio: $g \circ h$, $h \circ f$, $g \circ f$, $f \circ g$, $g \circ f \circ h$, $g \circ g \circ f$, $f \circ h \circ h$. ::: soluzione Uso la regola del libro: il codominio di una deve **coincidere** con il dominio della successiva. 1. $g \circ h$: no. $h$ arriva in $\N$, $g$ parte da $\Z$. 2. $h \circ f$: sì, da $\N$ a $\N$. 3. $g \circ f$: sì, da $\N$ a $\Z$. 4. $f \circ g$: no. $g$ arriva in $\Z$, $f$ parte da $\N$. 5. $g \circ f \circ h$: sì. $h$ da $\Z$ a $\N$, $f$ da $\N$ a $\Z$, $g$ da $\Z$ a $\Z$: in tutto da $\Z$ a $\Z$. 6. $g \circ g \circ f$: sì, da $\N$ a $\Z$. 7. $f \circ h \circ h$: no. Il primo $h$ arriva in $\N$, il secondo parte da $\Z$. I naturali sono dentro gli interi, quindi qualcuno direbbe che $g \circ h$ e $f \circ h \circ h$ hanno senso lo stesso. Con la definizione 2.13, però, i due insiemi devono essere uguali: all'esame segui il libro. ::: ::: esercizio medio Esercizio 2.11 del libro Siano $f, g \colon \Z \to \Z$ le funzioni: $f(n) = 2n + 1$ se $n$ è pari, $f(n) = 5 - n$ se $n$ è dispari; $g(n) = 0$ se $n \ge 0$, $g(n) = 2 - n^2$ se $n < 0$. Calcolare $f \circ g(1)$, $g \circ f(-1)$, $f \circ g \circ f(0)$, $g \circ g \circ f(3)$, $f \circ g \circ g(-2)$, $g \circ f \circ g(2)$. ::: soluzione Ogni volta si parte da destra e si guarda quale pezzo della formula usare. 1. $f \circ g(1)$: $g(1) = 0$; 0 è pari, $f(0) = 1$. Risultato **1**. 2. $g \circ f(-1)$: $-1$ è dispari, $f(-1) = 5 + 1 = 6$; $g(6) = 0$. Risultato **0**. 3. $f \circ g \circ f(0)$: $f(0) = 1$, $g(1) = 0$, $f(0) = 1$. Risultato **1**. 4. $g \circ g \circ f(3)$: 3 è dispari, $f(3) = 2$; $g(2) = 0$; $g(0) = 0$. Risultato **0**. 5. $f \circ g \circ g(-2)$: $g(-2) = 2 - 4 = -2$; di nuovo $g(-2) = -2$; $-2$ è pari, $f(-2) = -4 + 1 = -3$. Risultato **$-3$**. 6. $g \circ f \circ g(2)$: $g(2) = 0$, $f(0) = 1$, $g(1) = 0$. Risultato **0**. Conti controllati con un programma. ::: ::: esercizio medio Le versioni dell'appello del 06/06/2026 Con $f(x) = x - 1$, $g(x) = -3x$ e $h(x) = x + 2$ (versione 3), calcola $(g \circ f \circ h)(x)$, $(h \circ f \circ g)(x)$, $(f \circ h \circ g)(x)$, $(f \circ g \circ h)(x)$ e $(g \circ h \circ f)(x)$. Quale vale $-3x - 7$? ::: soluzione 1. $g \circ f \circ h$: $x + 2$, poi $x + 1$, poi $-3x - 3$. 2. $h \circ f \circ g$: $-3x$, poi $-3x - 1$, poi $-3x + 1$. 3. $f \circ h \circ g$: $-3x$, poi $-3x + 2$, poi $-3x + 1$. 4. $f \circ g \circ h$: $x + 2$, poi $-3x - 6$, poi $-3x - 7$. 5. $g \circ h \circ f$: $x - 1$, poi $x + 1$, poi $-3x - 3$. Vale $-3x - 7$ la quarta, che era la risposta giusta dell'appello. Nota che due ordini diversi danno lo stesso risultato, $-3x - 3$: può succedere, ma non è la regola. ::: ::: esercizio medio Trovare l'inversa Per ciascuna funzione dai reali ai reali, trova l'inversa e controllala su un numero: (a) $f(x) = 4x - 1$; (b) $f(x) = 7 - x$; (c) $f(x) = \frac{x}{2} + 3$. ::: soluzione (a) $y = 4x - 1$ dà $x = \frac{y + 1}{4}$. Controllo: $f(1) = 3$ e $\frac{3 + 1}{4} = 1$. (b) $y = 7 - x$ dà $x = 7 - y$: la funzione è inversa di sé stessa. Controllo: $f(2) = 5$ e $7 - 5 = 2$. (c) $y = \frac x2 + 3$ dà $x = 2(y - 3) = 2y - 6$. Controllo: $f(4) = 5$ e $2 \cdot 5 - 6 = 4$. ::: ::: esercizio esame Esercizio 2.14 del libro: le funzioni lineari Una funzione $f \colon \R \to \R$ della forma $f(x) = ax + b$, con $a$ e $b$ costanti reali e $a \neq 0$, si chiama **lineare**. Dimostrare che: (a) ogni funzione lineare è invertibile, con inversa lineare; (b) la composizione di funzioni lineari è lineare. ::: soluzione **(a)** Da $y = ax + b$ viene $ax = y - b$, e si può dividere per $a$ perché non è 0: $x = \frac{y - b}{a} = \frac 1a y - \frac ba$. La funzione $g(y) = \frac 1a y - \frac ba$ ha la forma giusta, con coefficiente $\frac 1a$ diverso da 0: è lineare. Controllo che sia l'inversa: - $g(f(x)) = \frac{(ax + b) - b}{a} = x$; - $f(g(y)) = a \cdot \frac{y - b}{a} + b = y$. Le due composte sono identità, quindi $g = f^{-1}$. **(b)** Siano $f(x) = ax + b$ e $g(x) = cx + d$, con $a$ e $c$ diversi da 0. Allora $$(g \circ f)(x) = c(ax + b) + d = (ca)x + (cb + d).$$ Ha la forma giusta, e $ca$ non è 0 perché nessuno dei due fattori lo è. Quindi $g \circ f$ è lineare. ::: ::: esercizio esame Esercizio 2.15 del libro: l'inversa di tre funzioni Prendendo spunto dalla Proposizione 2.24, enunciare e dimostrare una formula per l'inversa di una composizione di più di due funzioni biettive. ::: soluzione **Enunciato** per tre funzioni biettive $f \colon A \to B$, $g \colon B \to C$, $h \colon C \to D$: $$(h \circ g \circ f)^{-1} = f^{-1} \circ g^{-1} \circ h^{-1}.$$ **Dimostrazione.** Scrivo $h \circ g \circ f$ come $h \circ (g \circ f)$: è la composizione di due biezioni, $g \circ f$ e $h$. Per la Proposizione 2.24, $$(h \circ (g \circ f))^{-1} = (g \circ f)^{-1} \circ h^{-1}.$$ Uso di nuovo la 2.24 su $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$, e ottengo $f^{-1} \circ g^{-1} \circ h^{-1}$. **In generale**, con $k$ funzioni biettive, l'inversa della composta è la composta delle inverse in ordine contrario. Si dimostra allo stesso modo, aggiungendo una funzione alla volta: è un'induzione sul numero delle funzioni. ::: ::: esercizio difficile Esercizio 2.12 del libro: quando la cancellazione non funziona Costruire un esempio esplicito di funzione $f \colon A \to B$ e funzioni $g_1, g_2 \colon B \to Y$ e $h_1, h_2 \colon X \to A$, con $g_1 \neq g_2$ e $h_1 \neq h_2$, tali che $g_1 \circ f = g_2 \circ f$ e $f \circ h_1 = f \circ h_2$. ::: soluzione Per la Proposizione 2.25 $f$ non può essere biettiva. Prendo una $f$ né iniettiva né suriettiva. - $A = \{1, 2\}$, $B = \{a, b\}$, $f(1) = f(2) = a$. - $Y = \{0, 1\}$; $g_1(a) = 0$, $g_1(b) = 0$; $g_2(a) = 0$, $g_2(b) = 1$. Sono diverse in $b$. - $X = \{x\}$; $h_1(x) = 1$, $h_2(x) = 2$. Sono diverse. **Prima uguaglianza.** $g_1 \circ f$ e $g_2 \circ f$ valgono 0 in 1 e in 2, perché $f$ porta tutto in $a$ e le due $g$ sono uguali in $a$. Il punto dove differiscono, $b$, non viene mai raggiunto: $f$ non è suriettiva. **Seconda uguaglianza.** $f(h_1(x)) = f(1) = a$ e $f(h_2(x)) = f(2) = a$. Le due $h$ portano in punti diversi, che $f$ poi mescola: $f$ non è iniettiva. ::: ## Domande di ripasso ::: domanda Che cosa vuol dire $g \circ f$, e in che ordine si usano le funzioni? È la funzione che manda $a$ in $g(f(a))$: si usa **prima** $f$ e **poi** $g$, anche se $f$ si scrive a destra. ::: ::: domanda Quando si può fare la composizione $g \circ f$? Quando il codominio di $f$ coincide con il dominio di $g$. La composta va dal dominio di $f$ al codominio di $g$. ::: ::: domanda Che cosa dice la proprietà associativa? E la composizione è commutativa? Che $h \circ (g \circ f) = (h \circ g) \circ f$: con tre funzioni le parentesi non contano. Non è commutativa: con $f(n) = 2n$ e $g(n) = n + 1$, $g \circ f$ dà $2n + 1$ e $f \circ g$ dà $2n + 2$. ::: ::: domanda Se $f$ e $g$ sono iniettive, che cosa si può dire di $g \circ f$? E se $g \circ f$ è iniettiva? Se $f$ e $g$ sono iniettive, lo è anche $g \circ f$. Se $g \circ f$ è iniettiva, allora $f$ è iniettiva, mentre $g$ può non esserlo. ::: ::: domanda Quando due funzioni sono inverse l'una dell'altra? Quando, composte nei due ordini, danno le identità: $g \circ f = \operatorname{id}_A$ e $f \circ g = \operatorname{id}_B$. Una sola delle due uguaglianze non basta. ::: ::: domanda Quali funzioni hanno un'inversa? Esattamente quelle biettive, e l'inversa è unica (Teorema 2.20). ::: ::: domanda Come si trova l'inversa di $f(x) = 5x + 2$ dai reali ai reali? Si scrive $y = 5x + 2$ e si ricava $x = \frac{y - 2}{5}$. Si controlla: $f^{-1}(f(x)) = \frac{5x + 2 - 2}{5} = x$. ::: ::: domanda Qual è l'inversa di $g \circ f$? $f^{-1} \circ g^{-1}$, con l'ordine capovolto: come le calze e le scarpe, si disfa prima l'ultima cosa fatta. ::: ::: domanda Che differenza c'è tra $f^{-1}(b)$ controimmagine e $f^{-1}(b)$ funzione inversa? La controimmagine è un insieme ed esiste per ogni funzione. La funzione inversa dà un elemento ed esiste solo se $f$ è biettiva. ::: ## Glossario ```glossario Composizione | La funzione $g \circ f$ che manda $a$ in $g(f(a))$: prima $f$, poi $g$ (Definizione 2.13). Proprietà associativa | Con tre funzioni, $h \circ (g \circ f) = (h \circ g) \circ f$: le parentesi non contano (Proposizione 2.14). Elemento neutro | L'identità per la composizione: comporre con $\operatorname{id}$ non cambia la funzione. Non commutativa | In generale $g \circ f$ e $f \circ g$ sono diverse, o una delle due non esiste (Nota 2.15). Funzioni inverse l'una dell'altra | Due funzioni $f \colon A \to B$ e $g \colon B \to A$ con $g \circ f = \operatorname{id}_A$ e $f \circ g = \operatorname{id}_B$ (Definizione 2.19). Funzione invertibile | Una funzione che ha un'inversa: sono esattamente le funzioni biettive (Teorema 2.20). Funzione inversa | L'unica funzione $f^{-1}$ che disfa una biezione $f$ (Definizione 2.21). Inversa di una composizione | $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$, con l'ordine capovolto (Proposizione 2.24). Cancellazione | Una funzione biettiva si può togliere da tutte e due le parti di un'uguaglianza tra composte (Proposizione 2.25). ``` ## Checklist ```checklist - So che $g \circ f$ vuol dire prima $f$ e poi $g$, e calcolo una composizione da dentro verso fuori. - So dire se una composizione si può fare, controllando codominio e dominio da destra a sinistra. - So trovare la formula di una composta sostituendo con le parentesi, e la controllo su un numero. - So usare la proprietà associativa e so che la composizione non è commutativa. - So che cosa succede a iniettività e suriettività quando compongo (Proposizioni 2.16 e 2.17). - So quando due funzioni sono inverse e perché servono tutte e due le uguaglianze. - So che hanno un'inversa esattamente le funzioni biettive, e che l'inversa è unica. - So trovare l'inversa di una formula e controllarla componendo. - So scrivere l'inversa di una composizione nell'ordine giusto. - So risolvere la domanda 3 del quiz in tutti i suoi modelli. ``` ## Fonti - A. Mori, *Lezioni di Matematica Discreta*, 2ª edizione, testo del canale B: capitolo 2 «Funzioni», pp. 23–29 (definizioni 2.13, 2.19, 2.21, proposizioni 2.14, 2.16, 2.17, 2.24, 2.25, corollario 2.18, teorema 2.20 con le dimostrazioni, note 2.15, 2.22, 2.23 e gli esempi delle pp. 24–27); esercizi 2.10, 2.11, 2.12, 2.14 e 2.15 (p. 36). Le definizioni e gli enunciati nei riquadri sono citati dal libro. Due refusi del libro sono segnalati nel testo: $\operatorname{id}_B$ al posto di $\operatorname{id}_{A \times B}$ a p. 27 e di $\operatorname{id}_A$ a p. 29. - Diario delle lezioni di Matematica Discreta del canale B 2025/26 (Mori): lezione 5 (composizione di funzioni e sue proprietà, composizione e iniettività o suriettività, funzioni invertibili). Gli argomenti della lezione del 12/10/2026 non erano ancora pubblicati sul Moodle del canale B quando ho scritto questi appunti. - Quiz degli appelli di Matematica Discreta, con le soluzioni ufficiali, sulla pagina Moodle MDAG1 2025/26 ([id 3501](https://informatica.i-learn.unito.it/course/view.php?id=3501), aperta agli ospiti): domanda 3 degli appelli del 04/02/2025, 06/06/2025, 07/07/2025, 13/01/2026, 03/02/2026, 06/06/2026 e 10/09/2026 (tutte le versioni, risposte ricontrollate con un programma), e la domanda sulla funzione inversa di un quiz degli anni 2021–2025. - Programma del corso: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md), voce «Relazioni e funzioni». - V. Bocchino, *Rigurgiti di Unicorno*, appunti di Matematica Discreta scritti da uno studente sul libro di Mori (licenza CC BY-NC-SA 4.0, [GitHub](https://github.com/bocchinovalentino/rigurgiti_di_unicorno)): un riepilogo già pronto, non ufficiale. - Le spiegazioni a parole, la mensa con la cassa e le tessere, gli uffici dei pacchi, le calze e le scarpe, i riquadri «Prova tu», i quiz senza data, gli esercizi di riscaldamento e gli esercizi sulle versioni d'esame sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/D06_insiemi_finiti_inclusione_esclusione.md` ```yaml corso: MDAG modulo: MD lezione: D06 titolo: Insiemi finiti, principio dei piccioni e inclusione-esclusione data: 2026-10-14 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Parte 1 (modA) · Matematica Discreta · Canali A, B e C · Lezione D06 descrizione: >- Appunti della lezione D06 di Matematica Discreta (MDAG, parte 1, canali A, B e C): insiemi equipollenti e cardinalità, insiemi finiti e infiniti, funzioni tra insiemi finiti con lo stesso numero di elementi, il principio dei piccioni, insiemi numerabili, il principio di inclusione-esclusione per due e per tre insiemi, come contare i multipli di un numero con la parte intera e il minimo comune multiplo, con il problema d'esame del 01/07/2026. lede: >- Il capitolo 3 di Mori comincia a contare. Prima una domanda che sembra facile: che cosa vuol dire che due insiemi hanno lo stesso numero di elementi? Poi due strumenti che si usano di continuo: il principio dei piccioni e la formula per contare gli elementi di un'unione senza contare due volte quelli in comune. materiale: libro scheda: Libro: A. Mori, Lezioni di Matematica Discreta, cap. 3, pp. 39–48, esercizi pp. 64–65 Docenti: Andrea Mori (canale B), Ignazio Longhi e Lea Terracini (canali A e C) · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- A. Mori, Lezioni di Matematica Discreta (testo del canale B), cap. 3 «Combinatorica», pp. 39–48, ed esercizi 3.1–3.6 e 3.10; diario delle lezioni del canale B 2025/26; problema 1 dell'appello di Matematica Discreta del 01/07/2026 appunti_html: appunti/MDAG/D06_insiemi_finiti_inclusione_esclusione.html genera_html: true ``` ## In breve - Due insiemi hanno lo **stesso numero di elementi** quando si possono accoppiare uno a uno, cioè quando c'è una funzione biettiva tra loro. È la definizione di **cardinalità**, e funziona anche per gli insiemi infiniti. - Un insieme è **finito** quando ogni funzione iniettiva da sé in sé è anche suriettiva. Tra due insiemi finiti con lo stesso numero di elementi, per una funzione iniettiva, suriettiva e biettiva vogliono dire la stessa cosa. - **Principio dei piccioni**: se ci sono più piccioni che gabbie, almeno una gabbia ha due piccioni o più. Detto con le funzioni: da un insieme più grande a uno più piccolo non ci sono funzioni iniettive. - Alcuni insiemi infiniti si possono mettere in fila come una lista: interi e frazioni sì, i numeri reali no. - **Inclusione-esclusione con due insiemi**: gli elementi dell'unione sono quelli del primo più quelli del secondo, meno quelli in comune, che altrimenti si contano due volte. - **Con tre insiemi**: si sommano i tre, si tolgono le tre intersezioni a due, si aggiunge l'intersezione di tutti e tre. - I multipli di 3 tra 1 e 20 sono 6: la **parte intera** di 20 diviso 3. I numeri divisibili per 4 e per 6 sono i multipli del **minimo comune multiplo**, 12, non di 24. - All'esame il primo problema dell'appello del 01/07/2026 chiedeva proprio questi conti, in quattro versioni. > [!CANALI] > Matematica Discreta ha **lo stesso programma e la stessa prova d'esame** nei canali A, B e C: questi appunti valgono per tutti e tre. Nel canale B è la lezione di mercoledì 14/10/2026, dalle 11 alle 13, con Andrea Mori. Gli argomenti di questa lezione non li ho trovati sul Moodle del canale B: li ho ricostruiti dall'ordine del libro e dal diario dell'anno scorso, in cui la sesta lezione era «principio della gabbia dei piccioni, mappe iniettive, suriettive e biettive tra insiemi finiti, il principio di inclusione/esclusione per due o tre insiemi, ordinamenti». Gli «ordinamenti», cioè i modi di mettere in fila gli elementi, sono nella sezione dopo del libro, «il metodo delle scelte successive» (p. 48): li tratto nella prossima lezione. Quando il docente pubblica gli argomenti, controllo e aggiorno. > > Nel libro ho trovato due sviste, segnalate nel testo: a p. 47 il risultato dell'esempio sui film, e a p. 48 un'intersezione scritta al posto di un'unione. ## Contare senza numeri (pp. 39–40) Immagina una sala da ballo. Vuoi sapere se ci sono tanti uomini quante donne, ma non hai voglia di contarli. Fai una cosa più furba: chiedi a tutti di formare delle coppie, un uomo e una donna. Se alla fine nessuno resta da solo, sono lo stesso numero. Non hai usato nessun numero, solo un accoppiamento. Contare gli elementi di un insieme vuol dire proprio questo: mettere un'etichetta «1» su un elemento, «2» su un altro, e così via, senza saltarne e senza ripeterne. È un accoppiamento tra gli elementi e i numeri $1, 2, 3, \dots$. Nella lezione D04 un accoppiamento così, senza nessuno da solo e senza nessuno con due compagni, aveva un nome: una **funzione biettiva**. > [!DEF] 3.1 · Insiemi equipollenti, cardinalità > Due insiemi $A$ e $B$ sono **equipollenti** se esiste una funzione biettiva $f \colon A \to B$. In questo caso hanno la stessa **cardinalità**, e si scrive $\lvert A \rvert = \lvert B \rvert$. **Come si legge.** «Equipollenti» è una parola vecchia per «ugualmente potenti»: due insiemi lo sono quando si possono accoppiare uno a uno. La cardinalità $\lvert A \rvert$, che hai visto nella lezione D01 come «numero degli elementi», ora ha una definizione precisa che non ha bisogno di contare. Le biezioni si compongono, come nella lezione D05. Quindi se un primo insieme si accoppia con un secondo, e il secondo con un terzo, anche il primo si accoppia con il terzo. ### Le sorprese degli insiemi infiniti Con questa definizione gli insiemi infiniti si comportano in modo strano. - **I naturali e i pari.** La funzione che manda $n$ in $2n$ accoppia ogni naturale con un numero pari: 0 con 0, 1 con 2, 2 con 4, e così via. Ogni pari ha il suo compagno, $m$ con $m/2$. Quindi i naturali e i numeri pari sono **lo stesso numero**, anche se i pari sono solo una parte dei naturali. Il libro ricorda che l'osservazione risale a Galileo Galilei. - **Le coppie di naturali.** Anche $\N \times \N$, l'insieme delle coppie della lezione D03, ha tanti elementi quanti $\N$. Basta mettere le coppie in fila: prima quella con somma 0, poi quelle con somma 1, poi quelle con somma 2, e così via. Ogni coppia prima o poi arriva, e riceve il suo numero. | Posto nella fila | 0 | 1 | 2 | 3 | 4 | 5 | 6 | … | |---|---|---|---|---|---|---|---|---| | Coppia | $(0,0)$ | $(0,1)$ | $(1,0)$ | $(0,2)$ | $(1,1)$ | $(2,0)$ | $(0,3)$ | … | ::: prova Trova una funzione biettiva tra $\{a, b, c\}$ e $\{1, 2, 3\}$. Ce n'è una tra $\{a, b, c\}$ e $\{1, 2\}$? Per esempio $a \mapsto 1$, $b \mapsto 2$, $c \mapsto 3$. Tra $\{a, b, c\}$ e $\{1, 2\}$ no: due lettere dovrebbero andare nello stesso numero, e la funzione non sarebbe iniettiva. ::: > [!RICORDA] > - Stessa cardinalità vuol dire: c'è una funzione biettiva tra i due insiemi. > - Con gli insiemi infiniti, una parte può avere tanti elementi quanto il tutto. ## Più piccolo o uguale (pp. 40–41) Torna alla sala da ballo. Se ogni uomo trova una compagna ma restano donne sole, le donne sono di più, o almeno non sono meno. Un accoppiamento in cui ognuno del primo gruppo ha un compagno diverso è una **funzione iniettiva**. > [!DEF] 3.2 · Cardinalità più piccola o uguale > Se esiste una funzione iniettiva $A \to B$, si scrive $\lvert A \rvert \le \lvert B \rvert$. **Come si legge.** «$A$ entra in $B$ senza sovrapposizioni». La Nota 3.3 del libro aggiunge che, per insiemi non vuoti, è lo stesso che chiedere una funzione suriettiva da $B$ ad $A$: è l'esercizio 3.1, svolto in fondo. Due esempi del libro: - se $A \subset B$, la funzione che manda ogni elemento in sé stesso è iniettiva, quindi $\lvert A \rvert \le \lvert B \rvert$; - ogni insieme non vuoto ha al massimo tanti elementi quanti il suo insieme delle parti, della lezione D01. Basta mandare ogni elemento $x$ nel sottoinsieme $\{x\}$: elementi diversi danno sottoinsiemi diversi. Il Teorema 3.4 raccoglie due fatti che il libro accetta senza dimostrazione, perché la dimostrazione va oltre il corso: due insiemi si possono sempre confrontare, e se $\lvert A \rvert \le \lvert B \rvert$ e $\lvert B \rvert \le \lvert A \rvert$ allora $\lvert A \rvert = \lvert B \rvert$. Il secondo è il **teorema di Schröder-Bernstein**. ::: prova Perché $\lvert \{1, 2\} \rvert \le \lvert \{1, 2, 3, 4\} \rvert$? Perché $\{1, 2\}$ è contenuto in $\{1, 2, 3, 4\}$: la funzione che manda 1 in 1 e 2 in 2 è iniettiva. ::: > [!RICORDA] > - Funzione iniettiva da $A$ a $B$: $A$ ha al massimo tanti elementi quanti $B$. > - Un sottoinsieme ha al massimo tanti elementi quanti l'insieme che lo contiene. ## Insiemi finiti e infiniti (pp. 41–44) Prendi un insieme e una funzione iniettiva da lui in sé stesso: ogni elemento va in un elemento diverso. Con un insieme di 5 persone che si scambiano i posti a sedere, nessuno resta in piedi e nessuna sedia resta vuota: se nessuna sedia ha due persone, allora tutte le sedie sono occupate. Con i naturali invece la funzione $n \mapsto n + 1$ è iniettiva ma lascia fuori lo 0. È questa la differenza tra finito e infinito. > [!DEF] 3.5 · Insieme finito e infinito > Un insieme $A$ è **infinito** se esiste una funzione $f \colon A \to A$ iniettiva ma non suriettiva. È **finito** se non è infinito, cioè se ogni funzione iniettiva $f \colon A \to A$ è una biezione. **Come si legge.** Infinito vuol dire «c'è posto per tutti e ne avanza»: come nell'albergo con infinite stanze, dove si sposta ogni ospite di una stanza e la prima si libera. Finito vuol dire che questo trucco non riesce mai. ### Tra insiemi finiti, le tre proprietà coincidono Torna alle 5 persone e alle 5 sedie. Ogni modo di farle sedere è una funzione dalle persone alle sedie. Se nessuna sedia ha due persone, la funzione è iniettiva, e allora nessuna sedia resta vuota: è anche suriettiva. Il libro lo dice per una funzione da un insieme finito in sé stesso. > [!PROP] 3.6 > Sia $A$ un insieme finito e $f \colon A \to A$ una funzione. Sono equivalenti: $f$ è iniettiva; $f$ è suriettiva; $f$ è biettiva. **Come si legge.** Con le persone e le sedie: se nessuna sedia ha due persone, tutte sono occupate; se tutte le sedie sono occupate, nessuna ne ha due. Basta controllare una delle due proprietà, e l'altra viene gratis. > [!DIM] della Proposizione 3.6 (p. 41) > Se $f$ è iniettiva, è suriettiva per la definizione di insieme finito. Se $f$ è suriettiva, ogni controimmagine $f^{-1}(a)$ è non vuota: si sceglie un elemento $g(a)$ in ognuna. Controimmagini di elementi diversi sono disgiunte, quindi $g$ è iniettiva, e allora anche suriettiva. Ma allora ogni elemento di $A$ è il $g(a)$ di qualche $a$, quindi ogni controimmagine contiene esattamente un elemento: $f$ è iniettiva. Infine, biettiva vuol dire iniettiva e suriettiva. ### I numeri da 1 a n Il libro chiama $I_n$ l'insieme dei numeri da 1 a $n$: $I_n = \{1, 2, \dots, n\}$. Sono i modelli di tutti gli insiemi finiti. Il Teorema 3.7 dice che: 1. ogni $I_n$ è finito; 2. se $m \neq n$, $I_m$ e $I_n$ non sono equipollenti; 3. se $m \le n$, allora $\lvert I_m \rvert \le \lvert I_n \rvert$; 4. ogni insieme finito non vuoto è equipollente a uno e un solo $I_n$; 5. ogni insieme infinito contiene una copia dei naturali: $\lvert \N \rvert \le \lvert X \rvert$. Quindi si può scrivere $\lvert I_n \rvert = n$, e per ogni insieme finito $A$ c'è un solo numero $n$ con $\lvert A \rvert = n$: il suo numero di elementi, quello che conti sulle dita. > [!DIM] del Teorema 3.7, in breve (pp. 41–43) > 1. Per induzione su $n$, come nella lezione D02. Data $f \colon I_{n+1} \to I_{n+1}$ iniettiva, se $f(n+1) = n+1$ la restrizione a $I_n$ è iniettiva in $I_n$ e quindi suriettiva. Altrimenti si compone $f$ con lo scambio $s$ di $f(n+1)$ e $n+1$, e ci si riporta al primo caso. > 2. Per assurdo, con lo stesso scambio, si scende al più piccolo $m$ per cui succederebbe e si trova una contraddizione. > 3. La funzione $k \mapsto k$ da $I_m$ a $I_n$ è iniettiva. > 4. Si tolgono gli elementi uno alla volta: $x_1$, poi $x_2$, e così via. Se non si finisse mai, la funzione $x_1 \mapsto x_2$, $x_2 \mapsto x_3$, … sarebbe iniettiva ma non suriettiva. Quindi si finisce dopo $n$ passi, e $i \mapsto x_i$ è una biezione da $I_n$ ad $A$. > 5. Si prende un elemento fuori dall'immagine di una $f$ iniettiva non suriettiva, e si applica $f$ di continuo: si ottengono infiniti elementi tutti diversi. La Nota 3.8 estende la Proposizione 3.6: tra due insiemi finiti **diversi** con lo **stesso numero** di elementi, una funzione è iniettiva se e solo se è suriettiva, se e solo se è biettiva. ::: prova Una funzione da $\{1, 2, 3, 4\}$ a $\{a, b, c, d\}$ manda 1 in $b$, 2 in $d$, 3 in $a$, 4 in $c$. È biettiva? Sì. I due insiemi hanno 4 elementi, e la funzione è iniettiva: le quattro immagini sono diverse. Per la Nota 3.8 è anche suriettiva, quindi biettiva. ::: > [!RICORDA] > - Finito: ogni funzione iniettiva da sé in sé è biettiva. > - Tra insiemi finiti con lo stesso numero di elementi: iniettiva, suriettiva e biettiva vogliono dire la stessa cosa. ## Il principio dei piccioni (p. 44) Hai 10 piccioni e 9 gabbie, e ogni piccione deve entrare in una gabbia. Comunque li sistemi, almeno una gabbia ne avrà due. Sembra una banalità da niente, ma permette di dimostrare cose che altrimenti nessuno saprebbe controllare. > [!TEOREMA] Nota 3.9 · Principio dei piccioni > Se $A$ e $B$ sono insiemi finiti con $\lvert A \rvert > \lvert B \rvert$, non esiste nessuna funzione iniettiva $A \to B$. Detto con i piccioni: se ci sono più piccioni che gabbie, almeno una gabbia contiene più di un piccione. **Come si legge.** $P$ è l'insieme dei piccioni, $G$ quello delle gabbie. Mettere ogni piccione in una gabbia è una funzione $f \colon P \to G$. I piccioni nella gabbia $g$ sono la controimmagine $f^{-1}(g)$. Con più piccioni che gabbie la funzione non può essere iniettiva, quindi qualche controimmagine ha più di un elemento. In altri testi i piccioni sono calzini e le gabbie sono cassetti: è lo stesso principio. > [!ESEMPIO] · Tre usi del principio > - **Il compleanno.** In un gruppo di 13 persone, due sono nate nello stesso mese. I piccioni sono le 13 persone, le gabbie i 12 mesi. > - **I capelli.** L'esempio del libro: un corpo umano ha circa 5 milioni di peli. In una città con molti più di 5 milioni di abitanti, anche senza contare chi non ne ha, due persone hanno esattamente lo stesso numero di peli. I piccioni sono gli abitanti, le gabbie i numeri possibili di peli. > - **I calzini.** In un cassetto ci sono calzini neri e bianchi, mescolati al buio. Per essere sicuro di avere due calzini dello stesso colore ne bastano 3: i colori sono 2 gabbie, e 3 calzini sono più di 2. > [!TRAPPOLA] Il principio dice che c'è, non dice dove > Il principio garantisce che **esiste** una gabbia con due piccioni, ma non dice **quale**. Nel gruppo di 13 persone non sai in che mese sono nate le due, solo che ci sono. ::: prova Quanti numeri devi scegliere tra 1 e 100 per essere sicuro che due abbiano la stessa ultima cifra? 11. Le ultime cifre possibili sono 10, da 0 a 9: sono le gabbie. Con 11 numeri, cioè 11 piccioni, due finiscono nella stessa gabbia. Con 10 non basta: 1, 2, …, 10 hanno ultime cifre tutte diverse. ::: > [!RICORDA] > - Più piccioni che gabbie: almeno una gabbia con due piccioni o più. > - Il trucco negli esercizi è decidere chi sono i piccioni e chi le gabbie. ## Insiemi che si mettono in fila (pp. 44–45) Gli insiemi infiniti non sono tutti uguali. Alcuni si possono scrivere come una lista, un elemento dopo l'altro, in modo che ogni elemento prima o poi compaia. > [!DEF] 3.10 · Insieme numerabile > Un insieme $X$ è **numerabile** se è equipollente a $\N$. **Come si legge.** Numerabile vuol dire «si può mettere in fila»: $X = \{a_1, a_2, a_3, \dots\}$, dove $a_1$ è il primo della fila, $a_2$ il secondo, e così via. - **Gli interi** sono numerabili: la fila $0, 1, -1, 2, -2, 3, -3, \dots$ li contiene tutti. Non importa che non siano in ordine di grandezza. - **Le frazioni** sono numerabili: si mettono in fila le frazioni positive secondo la somma di numeratore e denominatore, saltando quelle non ridotte, e poi si alternano i positivi con i negativi. - **I numeri reali no.** Verso il 1880 Georg Cantor ha dimostrato che $\R$ non si può mettere in fila. Ha dimostrato anche che l'insieme delle parti ha sempre **più** elementi dell'insieme di partenza. Il libro si limita a citarlo. All'esame questa parte non è mai stata chiesta: serve per capire che «infinito» non è una sola cosa. ::: prova Scrivi i primi 7 elementi della fila degli interi. In che posto compare $-3$? $0, 1, -1, 2, -2, 3, -3$: il $-3$ è il settimo. ::: > [!RICORDA] > - Numerabile vuol dire che si può mettere in fila come i naturali. > - Interi e frazioni sono numerabili, i reali no. ## Contare un'unione: due insiemi (pp. 45–46) In una classe 18 studenti giocano a calcio e 12 a pallavolo. Quanti fanno almeno uno dei due sport? Non 30: chi gioca a tutti e due è contato una volta tra i calciatori e una volta tra i pallavolisti. Se quelli che fanno tutti e due gli sport sono 5, la risposta è $18 + 12 - 5 = 25$. Si **includono** tutti, poi si **escludono** quelli contati due volte. > [!PROP] 3.11 · Principio di inclusione-esclusione per 2 insiemi > Se $A$ e $B$ sono insiemi finiti, allora $\lvert A \cup B \rvert = \lvert A \rvert + \lvert B \rvert - \lvert A \cap B \rvert$. **Come si legge.** Gli elementi dell'unione sono quelli di $A$, più quelli di $B$, meno quelli comuni, che la somma aveva contato due volte. Se $A$ e $B$ sono disgiunti, l'intersezione è vuota e si sommano soltanto. È la formula della lezione D02, ora con il suo nome. > [!ESEMPIO] · Gli esami delle matricole (p. 46) > **Situazione:** 152 matricole hanno superato matematica, 144 fisica, 89 tutti e due. Quante ne hanno superato almeno uno? > > **Passo 1: gli insiemi.** $M$ = chi ha superato matematica, $F$ = chi ha superato fisica. «Almeno uno» è l'unione. > > **Passo 2: la formula.** $\lvert M \cup F \rvert = 152 + 144 - 89 = 207$. ### Usare la formula al contrario La Nota 3.12 riscrive la formula così: $\lvert A \cup B \rvert + \lvert A \cap B \rvert = \lvert A \rvert + \lvert B \rvert$. Ci sono quattro numeri, e conoscendone tre si trova il quarto. > [!ESEMPIO] · Il ristorante (p. 46) > **Situazione:** a un tavolo di 14 persone sono stati ordinati 8 primi e 11 secondi, e ognuno ha ordinato qualcosa. Quanti hanno preso sia il primo sia il secondo? > > **Passo 1: gli insiemi.** $P$ = chi ha preso un primo, $S$ = chi ha preso un secondo. Ognuno ha ordinato qualcosa, quindi l'unione sono tutte le 14 persone. > > **Passo 2: la formula.** $14 + \lvert P \cap S \rvert = 8 + 11$, quindi $\lvert P \cap S \rvert = 5$. ### Contare i «né… né…» Spesso si chiede quanti elementi **non** stanno né in $A$ né in $B$. Per De Morgan, della lezione D02, sono il complementare dell'unione: si toglie l'unione dal totale. > [!ESEMPIO] · Né per 3 né per 5 (p. 46) > **Situazione:** quanti numeri tra 1 e 180 non sono divisibili né per 3 né per 5? > > **Passo 1: gli insiemi.** $D_3$ = i multipli di 3 tra 1 e 180, $D_5$ = i multipli di 5. Ne cerchiamo il complementare dell'unione. > > **Passo 2: i multipli.** In ogni gruppo di 3 numeri di fila ce n'è uno divisibile per 3, quindi $\lvert D_3 \rvert = 180 / 3 = 60$; allo stesso modo $\lvert D_5 \rvert = 36$. Un numero è divisibile per 3 e per 5 se e solo se è divisibile per 15: $\lvert D_3 \cap D_5 \rvert = 12$. > > **Passo 3: la formula.** L'unione ha $60 + 36 - 12 = 84$ elementi. Quelli che restano fuori sono $180 - 84 = 96$. L'ho ricontrollato con un programma. ::: prova In un gruppo di 30 amici, 20 hanno un gatto, 14 un cane e 3 non hanno animali. Quanti hanno sia un gatto sia un cane? Chi ha almeno un animale sono $30 - 3 = 27$. Allora $27 + \lvert G \cap C \rvert = 20 + 14$, quindi $\lvert G \cap C \rvert = 7$. ::: > [!RICORDA] > - Unione di due insiemi: somma meno intersezione. > - Quattro numeri nella formula: da tre si ricava il quarto. > - «Né… né…»: totale meno unione. ## Contare i multipli (pp. 46–48) Quasi tutti gli esercizi d'esame su questa formula contano numeri divisibili per qualcosa. Servono due strumenti, che il libro usa senza dar loro un nome. **Quanti multipli di k ci sono tra 1 e n.** Tra 1 e 20 i multipli di 3 sono 3, 6, 9, 12, 15, 18: sono 6. Il conto: 20 diviso 3 fa 6 con il resto di 2, e si tiene il 6. È la **parte intera** di $20/3$, cioè il numero senza la parte dopo la virgola, e si scrive $\lfloor 20/3 \rfloor = 6$. In generale: $$\text{multipli di } k \text{ tra 1 e } n = \left\lfloor \frac nk \right\rfloor.$$ **Divisibili per a e per b.** Un numero divisibile per 4 e per 6 non è per forza divisibile per 24: 12 lo è per 4 e per 6, ma non per 24. Il numero giusto è il **minimo comune multiplo**, il più piccolo numero che è multiplo di tutti e due: $\operatorname{mcm}(4, 6) = 12$. Quindi i numeri divisibili per 4 e per 6 sono i multipli di 12. Quando $a$ e $b$ non hanno divisori in comune, come 3 e 5, il minimo comune multiplo è il prodotto: 15. > [!METODO] Contare i numeri divisibili per qualcosa > 1. Scrivi gli insiemi: $D_a$ = multipli di $a$ tra 1 e $n$. > 2. Traduci la domanda: «per $a$ o per $b$» è un'unione; «per $a$ e per $b$» è un'intersezione, cioè i multipli di $\operatorname{mcm}(a, b)$; «per $a$ ma non per $b$» è $\lvert D_a \rvert - \lvert D_a \cap D_b \rvert$; «né per $a$ né per $b$» è il totale meno l'unione. > 3. Conta ogni insieme con la parte intera di $n$ diviso il numero. > 4. Metti tutto nella formula di inclusione-esclusione. > [!TRAPPOLA] Il prodotto non è sempre il minimo comune multiplo > Tra 1 e 100 i numeri divisibili per 4 e per 6 sono i multipli di 12, cioè 8. Con i multipli di 24 ne troveresti 4, e sbaglieresti. Il prodotto va bene solo se i due numeri non hanno divisori comuni, come 3 e 5 o 5 e 11. ::: prova Quanti numeri tra 1 e 1000 sono divisibili per 3 ma non per 5? Multipli di 3: $\lfloor 1000/3 \rfloor = 333$. Multipli di 15: $\lfloor 1000/15 \rfloor = 66$. Restano $333 - 66 = 267$. ::: > [!RICORDA] > - Multipli di $k$ tra 1 e $n$: la parte intera di $n/k$. > - «Divisibile per $a$ e per $b$»: multiplo del minimo comune multiplo. ## Contare un'unione: tre insiemi (pp. 46–48) Con tre insiemi il ragionamento è lo stesso, ma bisogna fare attenzione due volte. Pensa a tre cerchi che si sovrappongono, come nei disegni della lezione D02. 1. Sommi gli elementi dei tre insiemi. Chi sta in due insiemi è contato due volte. 2. Togli le tre intersezioni a due. Ora chi sta in due insiemi è contato una volta. Ma chi sta in **tutti e tre** era contato 3 volte, ed è stato tolto 3 volte: ora non è contato più. 3. Aggiungi l'intersezione dei tre, e ogni elemento è contato esattamente una volta. > [!PROP] 3.13 · Principio di inclusione-esclusione per 3 insiemi > Se $A$, $B$, $C$ sono insiemi finiti, allora > $$\lvert A \cup B \cup C \rvert = \lvert A \rvert + \lvert B \rvert + \lvert C \rvert - \lvert A \cap B \rvert - \lvert A \cap C \rvert - \lvert B \cap C \rvert + \lvert A \cap B \cap C \rvert.$$ **Come si legge.** Più i singoli, meno le coppie, più il terzetto. I segni si alternano. La dimostrazione del libro è proprio il conto in tre passi qui sopra. La Nota 3.14 ne dà un'altra: si vede $A \cup B$ come un solo insieme e si usa due volte la formula per due insiemi (esercizio 3.2). > [!ESEMPIO] · Divisibili per 5, 6 o 11 (p. 48) > **Situazione:** quanti numeri tra 1 e 660 sono divisibili per almeno uno tra 5, 6 e 11? > > **Passo 1: i singoli.** $\lvert D_5 \rvert = 132$, $\lvert D_6 \rvert = 110$, $\lvert D_{11} \rvert = 60$. > > **Passo 2: le coppie.** 5, 6 e 11 non hanno divisori comuni a due a due, quindi il minimo comune multiplo è il prodotto: $\lvert D_{30} \rvert = 22$, $\lvert D_{55} \rvert = 12$, $\lvert D_{66} \rvert = 10$. > > **Passo 3: il terzetto.** $\lvert D_{330} \rvert = 2$. > > **Passo 4: la formula.** $132 + 110 + 60 - 22 - 12 - 10 + 2 = 260$. > > Nel libro il risultato è scritto come $\lvert D_5 \cap D_6 \cap D_{11} \rvert$: è una svista, perché quello che si calcola è l'unione $\lvert D_5 \cup D_6 \cup D_{11} \rvert$. L'intersezione ha solo 2 elementi. > [!NOTA] L'esempio dei film a p. 47 > Il libro conta gli spettatori di tre film con 129 biglietti, 109, 76 e 55 spettatori per film, e 52, 28 e 44 spettatori per le coppie di film. Con la formula viene $129 = 240 - 124 + x$, quindi gli spettatori dei tre film sono $x = 13$, non 23 come nel libro. In più, con questi dati chi ha visto solo il secondo film sarebbe $76 - 39 - 31 - 13 = -7$: i numeri dell'esempio non possono essere tutti veri. Il metodo resta giusto. ### Insiemi che non si toccano Con più di tre insiemi la formula diventa lunga: con 4 insiemi ha 15 addendi dopo l'uguale. C'è un caso in cui è cortissima. > [!PROP] 3.15 · Unione di insiemi disgiunti > Se $A_1, \dots, A_n$ sono insiemi finiti a due a due disgiunti, cioè nessuno ha elementi in comune con un altro, allora $\lvert A_1 \cup \dots \cup A_n \rvert = \lvert A_1 \rvert + \dots + \lvert A_n \rvert$. **Come si legge.** Se nessuno è contato due volte, basta sommare. È il caso delle partizioni della lezione D02: le parti di una partizione sommate danno tutto l'insieme. ::: prova Quanti numeri tra 1 e 30 non sono divisibili né per 2, né per 3, né per 5? Singoli: 15, 10, 6. Coppie: multipli di 6, 10, 15, cioè 5, 3, 2. Terzetto: multipli di 30, cioè 1. Unione: $15 + 10 + 6 - 5 - 3 - 2 + 1 = 22$. Restano $30 - 22 = 8$: sono 1, 7, 11, 13, 17, 19, 23, 29. ::: > [!RICORDA] > - Tre insiemi: più i singoli, meno le coppie, più il terzetto. > - Insiemi disgiunti: basta sommare. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\lvert A \rvert$ | «cardinalità di A» | il numero degli elementi di $A$ | $\lvert \{a, b\} \rvert = 2$ | | $\lvert A \rvert \le \lvert B \rvert$ | «A ha cardinalità minore o uguale» | c'è una funzione iniettiva da $A$ a $B$ | | | $I_n$ | «i con n» | l'insieme $\{1, 2, \dots, n\}$ | $I_3 = \{1, 2, 3\}$ | | $D_k$ | «di con k» | i multipli di $k$ in un insieme fissato | | | $\lfloor x \rfloor$ | «parte intera di x» | $x$ senza la parte dopo la virgola, per $x$ positivo | $\lfloor 20/3 \rfloor = 6$ | | $\operatorname{mcm}(a, b)$ | «minimo comune multiplo» | il più piccolo multiplo comune di $a$ e $b$ | $\operatorname{mcm}(4, 6) = 12$ | ## Verso l'esame La prova di **Matematica Discreta**, la parte 1 di MDAG, è scritta ed è la stessa per i canali A, B e C. Al 14/10/2026 le regole del 2026/27 non sono ancora uscite; quelle del 2025/26 dicono così. - **10 domande a risposta multipla**, ognuna con 5 risposte e una sola giusta. Una risposta giusta vale 1 punto; una sbagliata o vuota vale 0. - **2 problemi** a risposta aperta, divisi in più domande con il punteggio scritto accanto. - **Sbarramento.** Con meno di 6 punti nel quiz la prova non è superata, e i problemi non vengono corretti. - **Sufficienza:** almeno 18 punti in tutto. **Durata:** 2 ore. - **Materiale ammesso:** libro di testo e appunti del corso, e una calcolatrice non programmabile. Gli appelli 2026/27 sono martedì 19/01/2027 e mercoledì 03/02/2027 alle 14:00. Dettagli nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). **Che cosa serve di questa lezione** 1. **Contare i divisibili.** Il problema 1 dell'appello del 01/07/2026 era tutto qui: multipli, «ma non per», coprimi. Vale 7 punti su 11. 2. **Inclusione-esclusione con tre insiemi.** Serve per i numeri coprimi con un numero che ha tre fattori primi diversi, come 900 o 750. 3. **Il principio dei piccioni e le funzioni tra insiemi finiti** tornano nelle permutazioni e nei gruppi: una funzione iniettiva da un insieme finito in sé stesso è già biettiva. ### Una domanda vera, letta insieme **Appello del 01/07/2026, problema 1, versione A.** Il testo: «a) (4 punti) Quanti sono i numeri tra 1 e 1000 divisibili per 3? Quanti quelli divisibili per 6 ma non per 45? b) (3 punti) Quanti sono i numeri tra 1 e 500 che sono coprimi con 1000?». **In pratica chiede:** tre conteggi di multipli. «Coprimo con 1000» vuol dire che il numero non ha divisori in comune con 1000, a parte 1. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: i divisibili per 3.** Sono $\lfloor 1000/3 \rfloor = 333$. > > **Passo 2: per 6 ma non per 45.** I multipli di 6 sono $\lfloor 1000/6 \rfloor = 166$. Quelli divisibili anche per 45 sono i multipli di $\operatorname{mcm}(6, 45) = 90$, non di $6 \cdot 45 = 270$: sono $\lfloor 1000/90 \rfloor = 11$. Restano $166 - 11 = 155$. > > **Passo 3: coprimi con 1000.** $1000 = 2^3 \cdot 5^3$: un numero è coprimo con 1000 esattamente quando non è divisibile né per 2 né per 5. Tra 1 e 500 ci sono 250 multipli di 2, 100 multipli di 5 e 50 multipli di 10. L'unione ha $250 + 100 - 50 = 300$ elementi, quindi i coprimi sono $500 - 300 = 200$. > > Sono i risultati delle soluzioni ufficiali. La parte c) del problema contava i sottoinsiemi di un insieme di 25 primi: $2^{25} - 1$, con il conto della lezione D01, e una seconda domanda che userà le combinazioni della prossima lezione. > [!ESAME] Le altre versioni dello stesso appello > Tutte ricontrollate con un programma. > - **Versione B.** Tra 1 e 1200: divisibili per 4, 300; per 8 ma non per 60, $150 - 10 = 140$, con $\operatorname{mcm}(8, 60) = 120$. Coprimi con $900 = 2^2 \cdot 3^2 \cdot 5^2$ tra 1 e 600: con tre insiemi, $600 - (300 + 200 + 120) + (100 + 60 + 40) - 20 = 160$. > - **Versione C.** Tra 1 e 900: divisibili per 5, 180; per 10 ma non per 35, $90 - 12 = 78$, con $\operatorname{mcm}(10, 35) = 70$. Coprimi con $750 = 2 \cdot 3 \cdot 5^3$ tra 1 e 450: $450 - (225 + 150 + 90) + (75 + 45 + 30) - 15 = 120$. > - **Versione D.** Tra 1 e 1500: divisibili per 6, 250; per 12 ma non per 50, $125 - 5 = 120$, con $\operatorname{mcm}(12, 50) = 300$. Coprimi con $1500 = 2^2 \cdot 3 \cdot 5^3$ tra 1 e 750: $750 - (375 + 250 + 150) + (125 + 75 + 50) - 25 = 200$. > [!ESAME] Che cosa scrivere sul foglio di riepilogo > All'esame si possono portare libro e appunti. Conviene avere in una pagina le due formule di inclusione-esclusione e la parte intera per contare i multipli. Poi la regola del minimo comune multiplo, con l'esempio di 6 e 45, e la traduzione di «o», «e», «ma non», «né… né…». ## Quiz ```quiz D: Quanti numeri tra 1 e 100 sono divisibili per 4 e per 6? + 8 - 4 - 16 - 41 - 12 = Divisibili per 4 e per 6 vuol dire multipli di $\operatorname{mcm}(4, 6) = 12$: $\lfloor 100/12 \rfloor = 8$. La risposta più insidiosa è 4, che si ottiene con i multipli di 24, il prodotto. 41 sarebbe chi è divisibile per 4 **o** per 6. D: In una classe 18 studenti studiano inglese, 12 spagnolo e 7 tutte e due le lingue. Quanti studiano almeno una delle due? N: 23 = $18 + 12 - 7 = 23$: chi studia tutte e due le lingue va tolto una volta, perché la somma lo conta due volte. D: Quanti numeri tra 1 e 60 non sono divisibili né per 2 né per 3? + 20 - 10 - 40 - 30 - 50 = Multipli di 2: 30; di 3: 20; di 6: 10. L'unione ha $30 + 20 - 10 = 40$ elementi, e fuori restano $60 - 40 = 20$. La risposta più insidiosa è 40: è l'unione, cioè chi è divisibile per almeno uno, non chi non lo è. D: Un gruppo ha 25 persone. Quale affermazione è sicuramente vera? + Almeno 3 persone sono nate nello stesso mese - Almeno 2 persone sono nate lo stesso giorno dell'anno - Almeno 4 persone sono nate nello stesso mese - Ogni mese ha almeno 2 compleanni - Almeno 3 persone sono nate in gennaio = Con 12 mesi e 25 persone: se ogni mese ne avesse al massimo 2, le persone sarebbero al massimo 24. Quindi un mese ne ha almeno 3. La risposta più insidiosa è «almeno 4»: 25 persone si possono distribuire 3, 2, 2, …, 2. I giorni dell'anno sono 365, più delle persone. D: Siano $A$ e $B$ insiemi finiti con $\lvert A \rvert = \lvert B \rvert = 7$, e $f \colon A \to B$ iniettiva. Allora: + $f$ è biettiva - $f$ può non essere suriettiva - $f$ è suriettiva solo se $A = B$ - non esiste nessuna funzione iniettiva tra $A$ e $B$ - $f$ è costante = Tra insiemi finiti con lo stesso numero di elementi, iniettiva vuol dire anche suriettiva, e quindi biettiva (Nota 3.8). La risposta più insidiosa è «può non essere suriettiva»: succede solo con gli insiemi infiniti, come $n \mapsto n + 1$ sui naturali. D: Se $\lvert A \rvert = 10$, $\lvert B \rvert = 8$, $\lvert C \rvert = 6$, le tre intersezioni a due hanno 3, 2 e 2 elementi e l'intersezione dei tre ne ha 1, quanti elementi ha $A \cup B \cup C$? N: 18 = $10 + 8 + 6 - 3 - 2 - 2 + 1 = 18$. Chi dimentica di aggiungere l'intersezione dei tre trova 17. D: Quanti numeri tra 1 e 1000 sono divisibili per 6 ma non per 45? + 155 - 162 - 166 - 144 - 11 = Multipli di 6: 166. Quelli divisibili anche per 45 sono i multipli di $\operatorname{mcm}(6, 45) = 90$, cioè 11. Restano $166 - 11 = 155$. La risposta più insidiosa è 162, che si ottiene togliendo i multipli di 270, il prodotto. È la versione A dell'appello del 01/07/2026. D: Quale di questi insiemi **non** è numerabile? + $\R$ - $\Z$ - $\Q$ - $\N \times \N$ - i numeri pari = Cantor ha dimostrato che i reali non si possono mettere in fila. La risposta più insidiosa è $\Q$: le frazioni sembrano «di più» degli interi, ma si possono elencare tutte. ``` ## Esercizi ::: esercizio base Riscaldamento: parte intera Quanti sono i multipli di 7 tra 1 e 100? E quelli di 7 tra 1 e 700? E quelli di 13 tra 1 e 50? ::: soluzione $\lfloor 100/7 \rfloor = 14$, perché $7 \cdot 14 = 98$. $\lfloor 700/7 \rfloor = 100$. $\lfloor 50/13 \rfloor = 3$: sono 13, 26, 39. ::: ::: esercizio base Riscaldamento: minimo comune multiplo Per quale numero è divisibile un numero divisibile per: (a) 2 e 3; (b) 4 e 10; (c) 6 e 9; (d) 5 e 25? ::: soluzione (a) 6. (b) 20, non 40. (c) 18, non 54. (d) 25: se è divisibile per 25, lo è già per 5. ::: ::: esercizio base Riscaldamento: piccioni e gabbie In ognuna di queste frasi, chi sono i piccioni e chi le gabbie? (a) In un condominio di 400 persone, due festeggiano il compleanno lo stesso giorno. (b) Scelti 5 numeri da 1 a 8, due hanno somma 9. ::: soluzione (a) Piccioni: le 400 persone; gabbie: i 366 giorni possibili. (b) Gabbie: le 4 coppie $\{1, 8\}$, $\{2, 7\}$, $\{3, 6\}$, $\{4, 5\}$, che hanno tutte somma 9; piccioni: i 5 numeri scelti. Due finiscono nella stessa coppia, e quella coppia ha somma 9. ::: ::: esercizio base Riscaldamento: la formula al contrario $\lvert A \rvert = 12$, $\lvert B \rvert = 9$, $\lvert A \cup B \rvert = 16$. Quanto vale $\lvert A \cap B \rvert$? E $\lvert A \setminus B \rvert$? ::: soluzione $16 + \lvert A \cap B \rvert = 12 + 9$, quindi $\lvert A \cap B \rvert = 5$. Gli elementi di $A$ fuori da $B$ sono $12 - 5 = 7$. ::: ::: esercizio medio Esercizio 3.10 c) del libro A un corso di ballo sono iscritti 11 uomini e 9 donne, con due lezioni a settimana. La scorsa settimana ogni studente era presente ad almeno una lezione: il lunedì c'erano 8 donne e 7 uomini, il giovedì 7 donne e 9 uomini. Quanti dei 20 studenti erano presenti a tutte e due le lezioni? ::: soluzione Il lunedì c'erano 15 persone, il giovedì 16. Ognuno era presente almeno una volta, quindi l'unione ha 20 elementi: $20 + \lvert L \cap G \rvert = 15 + 16$, e $\lvert L \cap G \rvert = 11$. ::: ::: esercizio medio Esercizio 3.4 del libro Quanti sono i numeri interi (a) da 1 a 1680 divisibili per almeno uno tra 2, 6 e 7? (b) da 1 a 2160 non divisibili né per 5, né per 9, né per 12? ::: soluzione (a) Chi è divisibile per 6 lo è già per 2, quindi basta contare i divisibili per 2 o per 7: $840 + 240 - 120 = 960$, dove 120 sono i multipli di 14. Con la formula a tre insiemi viene lo stesso: $840 + 280 + 240 - 280 - 120 - 40 + 40 = 960$. (b) Singoli: $\lvert D_5 \rvert = 432$, $\lvert D_9 \rvert = 240$, $\lvert D_{12} \rvert = 180$. Coppie: $\operatorname{mcm}(5, 9) = 45$, 48 multipli; $\operatorname{mcm}(5, 12) = 60$, 36 multipli; $\operatorname{mcm}(9, 12) = 36$, non 108, quindi 60 multipli. Terzetto: $\operatorname{mcm}(5, 9, 12) = 180$, 12 multipli. Unione: $432 + 240 + 180 - 48 - 36 - 60 + 12 = 720$. Fuori: $2160 - 720 = 1440$. Ricontrollati tutti e due con un programma. ::: ::: esercizio esame Esercizio 3.5 del libro: le monete Un collezionista ha 25 monete d'argento, 170 monete europee e 415 monete rotonde, e ogni moneta ha almeno una di queste caratteristiche. Le monete d'argento rotonde sono 22, le europee rotonde 152, e le monete europee d'argento sono tutte rotonde. Quante monete ci sono nella collezione? ::: soluzione Con $A$ = argento, $E$ = europee, $R$ = rotonde: tutte le monete stanno in $A \cup E \cup R$. Non conosci $\lvert A \cap E \rvert$, ma le europee d'argento sono tutte rotonde, quindi $A \cap E = A \cap E \cap R$. Nella formula i due pezzi si cancellano: $\lvert A \cup E \cup R \rvert = 25 + 170 + 415 - \lvert A \cap E \rvert - 22 - 152 + \lvert A \cap E \cap R \rvert = 436$. Le monete sono 436. Il trucco è accorgersi che due termini sconosciuti sono uguali. ::: ::: esercizio esame Esercizio 3.6 del libro: la festa A una festa c'erano 20 persone bionde, 18 con i capelli neri, 15 con gli occhi azzurri e 12 con gli occhi verdi, e ognuno aveva almeno una di queste caratteristiche. Tra i biondi, 12 avevano gli occhi azzurri e 4 verdi; tra chi aveva i capelli neri, 1 aveva gli occhi azzurri e 7 verdi. Quante persone c'erano? ::: soluzione Ci sono 4 insiemi, ma molte intersezioni sono vuote: nessuno è biondo e con i capelli neri, nessuno ha gli occhi azzurri e verdi. Le intersezioni non vuote sono le 4 coppie «capelli e occhi», e tutte quelle di tre o quattro insiemi sono vuote. Quindi: $20 + 18 + 15 + 12 - 12 - 4 - 1 - 7 = 41$. C'erano 41 persone. ::: ::: esercizio difficile Esercizio 3.1 del libro Siano $A$ e $B$ insiemi non vuoti. Dimostra che (a) se esiste una funzione iniettiva $A \to B$, esiste una funzione suriettiva $B \to A$; (b) se esiste una funzione suriettiva $A \to B$, esiste una funzione iniettiva $B \to A$. ::: soluzione (a) Sia $f \colon A \to B$ iniettiva, e scegli un elemento qualsiasi $a_0$ di $A$, che esiste perché $A$ non è vuoto. Definisci $g \colon B \to A$ così: se $b$ è nell'immagine di $f$, $b = f(a)$ per un solo $a$, perché $f$ è iniettiva, e poni $g(b) = a$; se $b$ non è nell'immagine, poni $g(b) = a_0$. Ogni $a$ di $A$ è $g(f(a))$, quindi $g$ è suriettiva. (b) Sia $f \colon A \to B$ suriettiva. Per ogni $b$ la controimmagine $f^{-1}(b)$ non è vuota: scegli un suo elemento e chiamalo $g(b)$. Se $b \neq b'$, le controimmagini sono disgiunte, quindi $g(b) \neq g(b')$: $g$ è iniettiva. È lo stesso ragionamento della dimostrazione della Proposizione 3.6. ::: ## Domande di ripasso ::: domanda Che cosa vuol dire che due insiemi hanno la stessa cardinalità? Che esiste una funzione biettiva tra loro: si possono accoppiare uno a uno. ::: ::: domanda Quando un insieme è finito, secondo il libro? Quando ogni funzione iniettiva da lui in sé stesso è anche suriettiva. ::: ::: domanda Che cosa dice il principio dei piccioni? Che se ci sono più piccioni che gabbie, almeno una gabbia contiene più di un piccione. Con le funzioni: da un insieme finito più grande a uno più piccolo non ci sono funzioni iniettive. ::: ::: domanda Perché i naturali e i numeri pari hanno la stessa cardinalità? Perché la funzione che manda $n$ in $2n$ è una biezione tra loro. ::: ::: domanda Qual è la formula di inclusione-esclusione per due insiemi? E per tre? Due: somma meno intersezione. Tre: più i singoli, meno le tre intersezioni a due, più l'intersezione dei tre. ::: ::: domanda Come si contano i multipli di $k$ tra 1 e $n$? Con la parte intera di $n/k$. ::: ::: domanda I numeri divisibili per 6 e per 45 sono i multipli di quale numero? Di 90, il minimo comune multiplo, non di 270. ::: ## Glossario ```glossario Equipollenti | Due insiemi tra cui esiste una funzione biettiva. Cardinalità | Il «numero di elementi» di un insieme, definito con le biezioni; si scrive |A|. Insieme finito | Un insieme in cui ogni funzione iniettiva da sé in sé è biettiva. Insieme infinito | Un insieme con una funzione iniettiva ma non suriettiva da sé in sé. I_n | L'insieme {1, 2, …, n}, modello degli insiemi con n elementi. Principio dei piccioni | Più piccioni che gabbie: almeno una gabbia ha più di un piccione. Numerabile | Equipollente a N: si può mettere in fila come una lista. Inclusione-esclusione | La formula che conta gli elementi di un'unione togliendo quelli contati più volte. Parte intera | Un numero senza la parte dopo la virgola: la parte intera di 20/3 è 6. Minimo comune multiplo | Il più piccolo numero multiplo di due numeri dati. Coprimi | Due numeri senza divisori comuni a parte 1. ``` ## Checklist ```checklist - So spiegare che cosa vuol dire che due insiemi hanno la stessa cardinalità. - So dare un esempio di insieme infinito equipollente a una sua parte. - So che tra insiemi finiti con lo stesso numero di elementi iniettiva, suriettiva e biettiva coincidono. - So usare il principio dei piccioni, scegliendo chi sono i piccioni e chi le gabbie. - So quali insiemi sono numerabili tra N, Z, Q e R. - So la formula di inclusione-esclusione per due e per tre insiemi. - So usarla al contrario, per trovare un'intersezione. - So contare i multipli di un numero con la parte intera. - So che «divisibile per a e per b» vuol dire multiplo del minimo comune multiplo. - So risolvere il problema 1 dell'appello del 01/07/2026 in tutte le versioni. ``` ## Fonti - A. Mori, *Lezioni di Matematica Discreta*, 2ª edizione, testo del canale B: capitolo 3 «Combinatorica», pp. 39–48 (definizioni 3.1, 3.2, 3.5, 3.10, note 3.3, 3.8, 3.9, 3.12, 3.14, proposizioni 3.6, 3.11, 3.13, 3.15, teoremi 3.4 e 3.7, esempi delle pp. 40, 44, 46–48); esercizi 3.1, 3.4, 3.5, 3.6 e 3.10 (pp. 64–65). Le definizioni e gli enunciati nei riquadri riprendono il libro. Segnalati nel testo il risultato dell'esempio a p. 47 e l'intersezione al posto dell'unione a p. 48. - Diario delle lezioni di Matematica Discreta del canale B 2025/26 (Mori): lezione 6 (principio della gabbia dei piccioni, funzioni tra insiemi finiti, inclusione-esclusione per due o tre insiemi, ordinamenti). Gli argomenti della lezione del 14/10/2026 non erano pubblicati quando ho scritto questi appunti. - Appello di Matematica Discreta del 01/07/2026, problema 1, versioni A–D, con le soluzioni ufficiali della versione A. - V. Bocchino, *Rigurgiti di Unicorno*, appunti di Matematica Discreta scritti da uno studente sul libro di Mori (licenza CC BY-NC-SA 4.0, [GitHub](https://github.com/bocchinovalentino/rigurgiti_di_unicorno)): un riepilogo già pronto, non ufficiale. - Tutti i conteggi, degli esempi, degli esercizi e delle quattro versioni d'esame, li ho ricontrollati con un programma. --- > File: `contesto_ai/MDAG/lezioni/D07_parole_anagrammi_disposizioni.md` ```yaml corso: MDAG modulo: MD lezione: D07 titolo: Parole, ordinamenti, anagrammi e disposizioni data: 2026-10-16 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Parte 1 (modA) · Matematica Discreta · Canali A, B e C · Lezione D07 descrizione: >- Appunti della lezione D07 di Matematica Discreta (MDAG, parte 1, canali A, B e C): il metodo delle scelte successive, alfabeti e parole, disposizioni con ripetizione, ordinamenti e fattoriale, disposizioni semplici, anagrammi di una parola con lettere ripetute, il problema delle combinazioni semplici, con la domanda 4 del quiz di tutti gli appelli 2025–2026 e i problemi d'esame su anagrammi e ordinamenti. lede: >- Si comincia a contare sul serio: quante parole, quante password, quanti ordini di arrivo, quanti anagrammi. Tutto si regge su un'idea sola, il metodo delle scelte successive, e su due domande da farsi ogni volta: l'ordine conta? si può ripetere? materiale: libro scheda: Libro: A. Mori, Lezioni di Matematica Discreta, cap. 3, pp. 48–55, esercizi pp. 64–65 Docenti: Andrea Mori (canale B), Ignazio Longhi e Lea Terracini (canali A e C) · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- A. Mori, Lezioni di Matematica Discreta (testo del canale B), cap. 3 «Combinatorica», pp. 48–55, ed esercizi 3.8, 3.9, 3.11; diario delle lezioni del canale B 2026/27; quiz e problemi degli appelli di Matematica Discreta appunti_html: appunti/MDAG/D07_parole_anagrammi_disposizioni.html genera_html: true ``` ## In breve - **Metodo delle scelte successive**: se una cosa si costruisce con più scelte una dopo l'altra, il numero totale è il **prodotto** dei numeri di possibilità di ogni scelta. - Una **parola** su un alfabeto, con ripetizioni ammesse, è una **disposizione con ripetizione**: con 26 lettere, le parole di 3 lettere sono $26^3$. - Mettere in fila 5 oggetti diversi si può fare in $5! = 120$ modi: è il **fattoriale**, il prodotto dei numeri da 1 a 5. - Scegliere oggetti diversi **in ordine** è una **disposizione semplice**: il podio con 12 atleti si forma in $12 \cdot 11 \cdot 10$ modi. - Gli **anagrammi** di una parola di $n$ lettere sono $n!$ diviso il fattoriale di quante volte si ripete ogni lettera. - Se l'ordine **non** conta si parla di **combinazioni**: è il problema della prossima lezione. - All'esame la **domanda 4** del quiz è sempre di calcolo combinatorio, e le risposte sono scritte con potenze e fattoriali senza fare i conti. > [!CANALI] > Matematica Discreta ha **lo stesso programma e la stessa prova d'esame** nei canali A, B e C: questi appunti valgono per tutti e tre. Nel canale B è la lezione di venerdì 16/10/2026, dalle 9 alle 11, con Andrea Mori. Gli argomenti sono quelli del diario del docente: «Alfabeti, parole ed anagrammi. Disposizioni semplici e con ripetizione: formule ed esempi. Combinazioni semplici: enunciato del problema». Nel libro sono le pp. 48–55. Qui ci sono anche gli ordinamenti delle pp. 50–51, che servono per le disposizioni e gli anagrammi. La formula delle combinazioni (Proposizione 3.28) è nella prossima lezione. > > Nel libro ho trovato una svista, a p. 50: le targhe possibili sono 175 760 000, non 17 576 000. ## Il metodo delle scelte successive (pp. 48–50) Un ristorante ha un menù con 2 primi e 3 secondi. Un pasto è «un primo e un secondo»: per ognuno dei 2 primi ci sono 3 secondi possibili, quindi i pasti sono $2 \cdot 3 = 6$. Il disegno lo fa vedere: ogni strada dalla radice a una foglia è un pasto. ```grafico titolo: Le scelte una dopo l'altra formano un albero. 2 primi, e dopo ciascuno 3 secondi: le foglie, cioè i pasti, sono $2 \cdot 3 = 6$. x: 0 10 y: 0 6 assi: no griglia: no punto: 1 3 | grigio | "inizio" | o segmento: 1 3 4.5 4.5 | blu segmento: 1 3 4.5 1.5 | blu punto: 4.5 4.5 | blu | "pasta" | n punto: 4.5 1.5 | blu | "risotto" | s segmento: 4.5 4.5 8 5.5 | ambra segmento: 4.5 4.5 8 4.5 | ambra segmento: 4.5 4.5 8 3.5 | ambra segmento: 4.5 1.5 8 2.5 | ambra segmento: 4.5 1.5 8 1.5 | ambra segmento: 4.5 1.5 8 0.5 | ambra punto: 8 5.5 | ambra | "pollo" | e punto: 8 4.5 | ambra | "pesce" | e punto: 8 3.5 | ambra | "verdure" | e punto: 8 2.5 | ambra | "pollo" | e punto: 8 1.5 | ambra | "pesce" | e punto: 8 0.5 | ambra | "verdure" | e ``` In generale, una situazione si ottiene con $k$ scelte una dopo l'altra: la prima ha $n_1$ possibilità, la seconda $n_2$, e così via. Allora il numero totale è il prodotto $n_1 \cdot n_2 \cdots n_k$. È il **metodo delle scelte successive**. Quando le scelte sono indipendenti, è la Proposizione 3.16 del libro: il prodotto cartesiano $A_1 \times \dots \times A_k$ ha $n_1 \cdot n_2 \cdots n_k$ elementi, come nella lezione D03. La Nota 3.17 aggiunge la cosa importante: il metodo funziona **anche quando le possibilità di una scelta dipendono da quelle prima**, purché il loro **numero** non cambi. È quello che serve per le disposizioni semplici più sotto. > [!ESEMPIO] · Gli esempi del libro (pp. 49–50) > - **Il menù completo.** 8 antipasti, 10 primi, 12 secondi, 6 dolci: $8 \cdot 10 \cdot 12 \cdot 6 = 5760$ pasti. > - **Le targhe.** 3 lettere dell'alfabeto inglese, che ne ha 26, poi 4 cifre, con ripetizioni ammesse: $26^3 \cdot 10^4 = 175\,760\,000$. Nel libro il risultato è stampato con uno zero in meno. > - **Il PIN.** 4 cifre, ripetibili: $10^4 = 10\,000$ codici. Con il principio dei piccioni della lezione D06: tra 10 001 telefoni, due hanno lo stesso PIN. > - **Le funzioni.** Se $\lvert A \rvert = m$ e $\lvert B \rvert = n$, le funzioni $A \to B$ sono $n^m$: per ognuno degli $m$ elementi di $A$ si sceglie liberamente dove mandarlo, tra $n$ possibilità. ::: prova Un codice è fatto da una lettera tra A, B, C, D e poi da una cifra dispari. Quanti codici ci sono? $4 \cdot 5 = 20$: 4 lettere, e per ognuna 5 cifre dispari (1, 3, 5, 7, 9). ::: > [!RICORDA] > - Scelte una dopo l'altra: si **moltiplicano** i numeri di possibilità. > - Funziona anche se le scelte dipendono da quelle prima, purché il loro numero resti lo stesso. ## Parole su un alfabeto (pp. 52–54) Un **alfabeto** è un insieme finito di simboli: le 26 lettere, le 10 cifre, i due bit 0 e 1. Una **parola** di lunghezza $k$ è una fila di $k$ simboli dell'alfabeto, anche ripetuti, senza bisogno che abbia senso: AAB, RDB, 0110 sono parole. Per contarle si usa il metodo delle scelte successive: ogni posto della fila ha le stesse $n$ possibilità. > [!DEF] 3.23 e Proposizione 3.24 · Disposizioni con ripetizione > Sia $A$ un insieme finito con $\lvert A \rvert = n$ e sia $k \ge 1$. Una **disposizione con ripetizione** di ordine $k$ in $A$ è una sequenza di $k$ elementi di $A$, non necessariamente diversi tra loro. Sono $n^k$. **Come si legge.** Disposizione con ripetizione, parola di lunghezza $k$, elemento di $A \times \dots \times A$ ($k$ volte), funzione da $\{1, \dots, k\}$ ad $A$: sono quattro modi di dire la stessa cosa. In tutti i casi si sceglie liberamente cosa mettere in ognuno dei $k$ posti. > [!ESEMPIO] · Due esempi del libro (p. 54) > - **I colori.** 7 oggetti di legno diversi, 4 smalti: ogni oggetto riceve uno dei 4 colori, e i colori si ripetono. Le colorazioni sono $4^7$. > - **I voti.** 15 candidati, voto da 0 a 10, cioè 11 voti possibili: gli esiti possibili sono $11^{15}$. > [!TRAPPOLA] Chi è la base e chi l'esponente > La **base** è il numero di simboli tra cui si sceglie ogni volta; l'**esponente** è quante volte si sceglie. Con 15 candidati e 11 voti si sceglie 15 volte un voto tra 11: $11^{15}$, non $15^{11}$. Nei quiz le due risposte ci sono sempre tutte e due. ::: prova Quante sono le parole di 3 lettere scritte con le lettere A, B, C, D, E? E quante le parole di 10 bit? $5^3 = 125$ e $2^{10} = 1024$. ::: > [!RICORDA] > - Parole di lunghezza $k$ su $n$ simboli, ripetizioni ammesse: $n^k$. > - Base = quanti simboli; esponente = quanti posti. ## Mettere in fila: il fattoriale (pp. 50–51) In quanti modi si mettono in fila 3 persone, Anna, Bruno e Carla? Per il primo posto ci sono 3 scelte, per il secondo ne restano 2, per il terzo 1: $3 \cdot 2 \cdot 1 = 6$. Le file sono ABC, ACB, BAC, BCA, CAB, CBA. > [!DEF] 3.18 e 3.19 · Ordinamento e fattoriale > Un **ordinamento** di un insieme $A$ con $n$ elementi è una funzione biettiva $\{1, \dots, n\} \to A$: dice chi va al primo posto, chi al secondo, e così via. Il **fattoriale** di $n$ è $n! = 1 \cdot 2 \cdot 3 \cdots n$ per $n \ge 1$, e $0! = 1$. **Come si legge.** Una funzione biettiva dai posti agli elementi è proprio una fila: a ogni posto un elemento, e ogni elemento in un posto solo. > [!PROP] 3.20 > Un insieme con $n$ elementi ha $n!$ ordinamenti. **Come si legge.** Si sceglie il primo tra $n$, il secondo tra i restanti $n - 1$, e così via fino all'ultimo, che è obbligato. Il punto esclamativo si legge «fattoriale»: $5!$ è «cinque fattoriale». | $n$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |---|---|---|---|---|---|---|---|---|---| | $n!$ | 1 | 1 | 2 | 6 | 24 | 120 | 720 | 5040 | 40 320 | Il fattoriale cresce in fretta: $14! = 87\,178\,291\,200$, i modi di ordinare 14 canzoni in una compilation, uno degli esempi del libro. Due regole: - $n! = (n - 1)! \cdot n$, per esempio $6! = 120 \cdot 6 = 720$; - $0! = 1$ è una convenzione, che fa tornare le formule nei casi limite. All'esame non serve calcolare i fattoriali grandi: le risposte sono scritte come $11!/3!$ o $\binom{12}5$, e si sceglie la formula giusta. ::: prova Alla finale olimpica dei 100 metri ci sono 8 atleti. Quanti sono i possibili ordini di arrivo? Quanto vale $\frac{8!}{6!}$? $8! = 40\,320$. E $\frac{8!}{6!} = 8 \cdot 7 = 56$: i fattori da 1 a 6 si semplificano. ::: > [!RICORDA] > - $n$ oggetti diversi si mettono in fila in $n!$ modi. > - $0! = 1$; $\frac{n!}{m!}$ con $m < n$ è il prodotto dei numeri da $m + 1$ a $n$. ## Disposizioni semplici (pp. 53–55) Alla finale olimpica ci sono 12 atleti, e conta solo il podio: oro, argento, bronzo. Per l'oro ci sono 12 possibilità, per l'argento ne restano 11, per il bronzo 10. I podi sono $12 \cdot 11 \cdot 10 = 1320$. Come una fila, ma che si ferma dopo 3 posti. ```grafico titolo: Il podio con 12 atleti: tre posti in ordine, e chi è già sul podio non può tornarci. Il conto si ferma dopo 3 fattori. x: 0 10 y: 0 3.4 assi: no griglia: no poligono: 0.8 1.4 3.2 1.4 3.2 2.6 0.8 2.6 | ambra poligono: 3.8 1.4 6.2 1.4 6.2 2.6 3.8 2.6 | grigio poligono: 6.8 1.4 9.2 1.4 9.2 2.6 6.8 2.6 | rosa testo: 2 2 | ambra | "12 scelte" testo: 5 2 | grigio | "11 scelte" testo: 8 2 | rosa | "10 scelte" testo: 2 3 | ambra | "oro" testo: 5 3 | grigio | "argento" testo: 8 3 | rosa | "bronzo" testo: 3.5 2 | "·" testo: 6.5 2 | "·" testo: 5 0.6 | blu | "12 · 11 · 10 = 1320" ``` > [!DEF] 3.25 e Proposizione 3.26 · Disposizioni semplici > Sia $A$ un insieme con $\lvert A \rvert = n$ e sia $1 \le k \le n$. Una **disposizione semplice** di ordine $k$ in $A$ è una sequenza di $k$ elementi di $A$ **tutti diversi**. Sono > $$D_{n,k} = n(n-1)\cdots(n-k+1) = \frac{n!}{(n-k)!}.$$ **Come si legge.** Il prodotto ha $k$ fattori, che scendono di uno alla volta a partire da $n$. La forma con i fattoriali è la stessa cosa: $\frac{12!}{9!} = 12 \cdot 11 \cdot 10$, perché i fattori da 1 a 9 si semplificano. All'esame le risposte sono scritte proprio così, come $\frac{11!}{3!}$. Due casi speciali: - se $k > n$ non ci sono disposizioni semplici: è il principio dei piccioni della lezione D06, non si mettono 5 persone su 4 sedie una per sedia; - se $k = n$ una disposizione semplice è un ordinamento, e $D_{n,n} = n!$. > [!ESEMPIO] · La password (p. 55) > **Situazione:** una password è di 8 simboli alfanumerici, lettere (26) o cifre (10), **senza ripetizioni**. > > **Passo 1: l'insieme.** I simboli possibili sono $26 + 10 = 36$. > > **Passo 2: il tipo.** L'ordine conta (AB1 e B1A sono password diverse) e non si ripete: disposizione semplice di ordine 8. > > **Passo 3: il conto.** $D_{36,8} = 36 \cdot 35 \cdot 34 \cdot 33 \cdot 32 \cdot 31 \cdot 30 \cdot 29 = 1\,220\,096\,908\,800$. | Domande da farsi | Sì | No | |---|---|---| | L'ordine conta? | disposizioni o ordinamenti | combinazioni, la prossima lezione | | Si può ripetere? | $n^k$ | $\frac{n!}{(n-k)!}$ | | Si usano tutti gli $n$ oggetti, una volta ciascuno? | ordinamenti, $n!$ | disposizioni, se se ne usano solo $k$ | ::: prova In quanti modi 8 persone si siedono in una fila di 11 sedie, una per sedia? Ogni persona sceglie una sedia, e le sedie non si ripetono: la prima persona ha 11 scelte, la seconda 10, … l'ottava 4. Sono $D_{11,8} = \frac{11!}{3!}$. È la domanda 4 dell'appello del 14/01/2025. ::: > [!RICORDA] > - In ordine e senza ripetizioni: $D_{n,k} = n(n-1)\cdots(n-k+1) = \frac{n!}{(n-k)!}$. > - Con $k = n$ è un ordinamento, $n!$; con $k > n$ non ce ne sono. ## Anagrammi (pp. 52–53) Gli anagrammi di NUMERO sono tutti i modi di rimescolarne le lettere, anche senza senso: le 6 lettere sono tutte diverse, quindi sono $6! = 720$. Con ORO invece no: le file di 3 lettere sono 6, ma scambiare le due O non cambia la parola, e gli anagrammi sono solo 3: ORO, OOR, ROO. ```grafico titolo: Le 6 file di $O_1$, $R$, $O_2$ danno solo 3 parole: ogni parola si ottiene in $2! = 2$ modi, scambiando le due O. Quindi gli anagrammi sono $3!/2! = 3$. x: 0 10 y: 0 6.6 assi: no griglia: no testo: 2 6.1 | blu | "le 6 file" testo: 8 6.1 | ambra | "le parole" punto: 2.8 5.2 | blu | $O_1 R O_2$ | o punto: 2.8 4.4 | blu | $O_2 R O_1$ | o punto: 2.8 3.4 | blu | $O_1 O_2 R$ | o punto: 2.8 2.6 | blu | $O_2 O_1 R$ | o punto: 2.8 1.6 | blu | $R O_1 O_2$ | o punto: 2.8 0.8 | blu | $R O_2 O_1$ | o punto: 7.2 4.8 | ambra | "ORO" | e punto: 7.2 3 | ambra | "OOR" | e punto: 7.2 1.2 | ambra | "ROO" | e freccia: 2.9 5.2 7.05 4.85 freccia: 2.9 4.4 7.05 4.75 freccia: 2.9 3.4 7.05 3.05 freccia: 2.9 2.6 7.05 2.95 freccia: 2.9 1.6 7.05 1.25 freccia: 2.9 0.8 7.05 1.15 ``` L'idea vale sempre: si contano le file come se le lettere fossero tutte diverse, $n!$, e poi si divide per i rimescolamenti che non cambiano la parola. Una lettera che compare $r$ volte si rimescola in $r!$ modi. > [!PROP] 3.22 · Numero degli anagrammi > Se una parola ha $n$ lettere, e le lettere diverse compaiono $r_1, r_2, \dots, r_k$ volte, i suoi anagrammi sono > $$\frac{n!}{r_1! \cdot r_2! \cdots r_k!}.$$ **Come si legge.** Sopra il fattoriale della lunghezza, sotto un fattoriale per ogni lettera, con quante volte compare. Le lettere che compaiono una volta danno $1! = 1$ e si possono non scrivere. Nel libro un anagramma è definito come una composizione $f \circ g$ con $g$ biettiva, della lezione D05: è il rimescolamento dei posti. > [!ESEMPIO] · MATEMATICA (p. 53) > **Passo 1: le lettere.** 10 lettere: A tre volte, M due volte, T due volte, E, I, C una volta. > > **Passo 2: la formula.** $\frac{10!}{3! \cdot 2! \cdot 2!} = \frac{3\,628\,800}{24} = 151\,200$. > [!TRAPPOLA] Si divide, non si sottrae > Le risposte sbagliate dei quiz tolgono invece di dividere, come $6! - (2! + 3!)$, oppure dividono per il numero delle ripetizioni invece che per il suo fattoriale, come $\frac{6!}{2 \cdot 3}$. La formula ha un fattoriale per ogni lettera ripetuta, e sta sotto la frazione. ::: prova Quanti sono gli anagrammi di CASA? E di POLLO? CASA: 4 lettere, A due volte: $\frac{4!}{2!} = 12$. POLLO: 5 lettere, O e L due volte ciascuna: $\frac{5!}{2! \cdot 2!} = 30$. ::: > [!RICORDA] > - Anagrammi: $n!$ diviso il fattoriale delle ripetizioni di ogni lettera. > - Lettere tutte diverse: $n!$. ## Quando l'ordine non conta (p. 55) In un negozio ci sono piante di 4 specie, e una cliente ne compra 2 di specie diverse. Chiamiamo le specie $a$, $b$, $c$, $d$. Comprare $a$ e $b$ o comprare $b$ e $a$ è la stessa cosa: conta **quali** piante, non in che ordine. Qui la risposta non è una disposizione: è un **sottoinsieme**. > [!DEF] 3.27 · Combinazioni semplici > Sia $A$ un insieme con $\lvert A \rvert = n$ e sia $0 \le k \le n$. Una **combinazione semplice** di ordine $k$ in $A$ è un sottoinsieme $C \subset A$ con $\lvert C \rvert = k$. **Come si legge.** È la versione «senza ordine» delle disposizioni semplici: gli elementi sono diversi, ma non sono in fila. Con le 4 piante e $k = 2$ le combinazioni si possono elencare, e sono 6: $$\{a, b\}, \quad \{a, c\}, \quad \{a, d\}, \quad \{b, c\}, \quad \{b, d\}, \quad \{c, d\}.$$ Le disposizioni semplici di ordine 2 sono invece $D_{4,2} = 4 \cdot 3 = 12$: ogni sottoinsieme $\{a, b\}$ compare due volte, come $(a, b)$ e come $(b, a)$. La formula generale per contare le combinazioni nasce proprio da questa osservazione, ed è l'argomento della prossima lezione. ::: prova Con 5 libri diversi, quante disposizioni semplici di ordine 2 ci sono? Quante combinazioni di ordine 2, elencandole? $D_{5,2} = 5 \cdot 4 = 20$. Le combinazioni sono la metà, 10: ogni coppia di libri compare in due ordini. Con i libri 1–5: {1,2}, {1,3}, {1,4}, {1,5}, {2,3}, {2,4}, {2,5}, {3,4}, {3,5}, {4,5}. ::: > [!RICORDA] > - Combinazione semplice = sottoinsieme: conta quali elementi, non l'ordine. > - Ogni combinazione di $k$ elementi corrisponde a più disposizioni, una per ogni ordine. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $n!$ | «enne fattoriale» | $1 \cdot 2 \cdots n$; e $0! = 1$ | $4! = 24$ | | $n^k$ | «enne alla kappa» | parole di lunghezza $k$ su $n$ simboli | $2^{10} = 1024$ | | $D_{n,k}$ | «di enne kappa» | disposizioni semplici: $\frac{n!}{(n-k)!}$ | $D_{12,3} = 1320$ | | $\frac{n!}{r_1! \cdots r_k!}$ | «enne fattoriale fratto…» | anagrammi con lettere ripetute | ORO: $\frac{3!}{2!} = 3$ | | $C_{n,k}$ | «ci enne kappa» | combinazioni: sottoinsiemi di $k$ elementi | $C_{4,2} = 6$ | ## Verso l'esame La prova di **Matematica Discreta**, la parte 1 di MDAG, è scritta ed è la stessa per i canali A, B e C. Al 16/10/2026 le regole del 2026/27 non sono ancora uscite; quelle del 2025/26: 10 domande a risposta multipla da 1 punto, con sbarramento a 6, e 2 problemi; 2 ore; libro, appunti e calcolatrice non programmabile ammessi. Gli appelli 2026/27 sono il 19/01/2027 e il 03/02/2027 alle 14:00 ([scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md)). **Che cosa serve di questa lezione** 1. **La domanda 4 del quiz.** In tutti gli appelli 2025–2026 è di calcolo combinatorio. Quasi sempre basta capire se l'ordine conta e se si può ripetere: le cinque risposte sono formule già pronte, e tre o quattro si scartano subito. 2. **Il primo problema.** Spesso chiede anagrammi e ordinamenti con un vincolo: appello del 03/02/2026, anni precedenti. 3. **Le combinazioni**, con la formula, arrivano nella prossima lezione: servono per le domande 4 del 04/02/2025, 06/06/2025, 13/01/2026 e 10/09/2026. ### Una domanda vera, letta insieme **Appello del 01/07/2026, domanda 4.** Il testo: «Il numero di anagrammi della parola TROTTO è: 1. $6!$; 2. $\frac{6!}{2! \cdot 3!}$; 3. $6! - (2! + 3!)$; 4. $\frac{6!}{2 \cdot 3}$; 5. $6! - 2! \cdot 3!$». **In pratica chiede:** in quanti modi si rimescolano le 6 lettere T, R, O, T, T, O, contando una volta sola le parole uguali? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: le lettere.** TROTTO ha 6 lettere: T tre volte, O due volte, R una volta. > > **Passo 2: la formula.** $\frac{6!}{3! \cdot 2! \cdot 1!} = \frac{720}{12} = 60$. È la risposta 2. > > **Passo 3: le altre.** $6!$ conta le T e le O come se fossero diverse. La 3 e la 5 sottraggono invece di dividere. La 4 divide per 2 e per 3, non per $2!$ e $3!$: qui darebbe 120, il doppio di 60. > > **Controllo.** Ho elencato con un programma tutte le file diverse delle 6 lettere: sono 60. ### Le altre domande 4 su questa lezione Tutte le risposte giuste le ho ricontrollate con un programma. > [!ESAME] Persone sulle sedie: appello del 14/01/2025 > «Quanti modi ci sono per far sedere 8 persone in una fila di 11 sedie?» Risposte: $11!$; $11^3$; $8!$; $\frac{11!}{3!}$; $3^{11}$. Giusta: $\frac{11!}{3!} = D_{11,8}$. La trappola è $11!$: ci sono solo 8 persone, non 11. Nell'altra versione, 4 persone e 12 sedie: $\frac{12!}{8!}$. > [!ESAME] Le colorazioni: appello del 07/07/2025 > «Si vogliono colorare le caselle di una griglia con 6 righe e 4 colonne avendo 5 colori a disposizione. Ogni colore può essere ripetuto quante volte si vuole.» Risposte: $5^{24}$; $24! \cdot 5$; $\frac{24!}{5!}$; $24^5$; $5^{10}$. Giusta: $5^{24}$, una scelta tra 5 colori per ognuna delle 24 caselle. La trappola è $24^5$, con base ed esponente scambiati; $5^{10}$ somma righe e colonne invece di moltiplicarle. > [!ESAME] Le palline: appello del 03/02/2026 > «Da una scatola che contiene palline bianche e nere ne vengono estratte, in successione, 12. Quante sono le estrazioni che iniziano con 3 palline bianche?» Risposte: $\frac{12!}{3!}$; $9^2$; $9!$; $\frac{12!}{9!}$; $2^9$. Giusta: $2^9$. Le prime 3 sono fissate, e per le altre 9 ci sono 2 colori ciascuna. La trappola è $9^2$, con base ed esponente scambiati. > [!ESAME] Le parole: appello del 06/06/2026 > «Quante parole di lunghezza 6 si possono formare con un alfabeto di 15 simboli?» Risposte: $6! \cdot 15!$; $6 \cdot 15$; $\frac{15!}{6!}$; $15^6$; $6^{15}$. Giusta: $15^6$. Nell'altra versione, lunghezza 4 e 16 simboli: $16^4$. > [!ESAME] La griglia di palline: quiz 2021–2025 > «Quante possibilità ci sono di riempire una griglia di 24 caselle con 40 palline numerate (non più di una pallina per casella)?» Giusta: $\frac{40!}{16!} = D_{40,24}$: ogni casella riceve una pallina diversa, in ordine. La trappola è $\frac{40!}{24!}$, che sarebbe il conto per 16 caselle. ### I problemi > [!ESAME] Appello del 03/02/2026, problema 1, punti a) e b) > a) Gli anagrammi di RAPPRESENTAZIONE: 16 lettere, E tre volte, A, N, P, R due volte. Sono $\frac{16!}{3! \cdot (2!)^4}$, la soluzione ufficiale. Non serve fare il conto. > > b) Gli ordinamenti di $A = \{A, B, C, D, E, F, 1, 2, 3, 4\}$ con una cifra al primo e all'ultimo posto: 4 scelte per il primo posto, 3 per l'ultimo, poi gli altri 8 elementi in fila, $8!$. In tutto $4 \cdot 3 \cdot 8! = 483\,840$. > > c) chiede i sottoinsiemi con almeno 3 lettere: servono le combinazioni della prossima lezione. > [!ESAME] Problemi 2023/24, problema 1, punto a) > Con l'alfabeto $Z$ di 16 simboli (le 10 cifre e le lettere da A a F), le sequenze di 6 simboli sono $16^6$; quelle con i simboli tutti diversi sono $D_{16,6} = \frac{16!}{10!}$; quelle con almeno un simbolo ripetuto sono la differenza, $16^6 - \frac{16!}{10!}$. «Almeno un ripetuto» si conta come «tutte meno quelle senza ripetizioni»: è il complementare della lezione D02. > [!METODO] Le domande di calcolo combinatorio > 1. Che cosa si sceglie, e da quale insieme? Scrivi $n$ e $k$. > 2. L'ordine conta? Se scambiando due elementi ottieni un risultato diverso, sì. > 3. Si può ripetere? > 4. Scegli la formula: $n^k$, $\frac{n!}{(n-k)!}$, $n!$, gli anagrammi, o le combinazioni. > 5. Con un vincolo («inizia con», «al primo posto»), metti prima i posti vincolati, poi gli altri. Con «almeno uno», conta il contrario e sottrai. ## Quiz ```quiz D: Appello del 06/06/2026, domanda 4. Quante parole di lunghezza 4 si possono formare con un alfabeto di 16 simboli? - $4! \cdot 16!$ - $4 \cdot 16$ - $\frac{16!}{4!}$ - $4^{16}$ + $16^4$ = Quattro posti, e in ognuno uno dei 16 simboli, anche ripetuto: $16^4$. La risposta più insidiosa è $4^{16}$, con base ed esponente scambiati. D: Appello del 01/07/2026, domanda 4, altra versione. Il numero di anagrammi della parola STRETTE è: + $\frac{7!}{2! \cdot 3!}$ - $7! - (2! \cdot 3!)$ - $7! - (2! + 3!)$ - $7!$ - $\frac{7!}{2 \cdot 3}$ = STRETTE ha 7 lettere, T tre volte ed E due volte: $\frac{7!}{3! \cdot 2!} = 420$. La risposta più insidiosa è $\frac{7!}{2 \cdot 3}$: divide per le ripetizioni invece che per i loro fattoriali. D: Appello del 14/01/2025, domanda 4, altra versione. Quanti modi ci sono per far sedere 4 persone in una fila di 12 sedie? + $\frac{12!}{8!}$ - $12^4$ - $\frac{12!}{4!}$ - $12!$ - $4^{12}$ = Le persone scelgono sedie diverse, in ordine: $D_{12,4} = 12 \cdot 11 \cdot 10 \cdot 9 = \frac{12!}{8!}$. La risposta più insidiosa è $\frac{12!}{4!}$: sotto va $(12 - 4)!$, non $4!$. $12^4$ permetterebbe a due persone la stessa sedia. D: Appello del 07/07/2025, domanda 4, altra versione. Si colorano le caselle di una griglia con 7 righe e 3 colonne, con 4 colori ripetibili. Quante colorazioni ci sono? - $\frac{21!}{4!}$ - $21 \cdot 4$ - $21! \cdot 4$ - $21^4$ + $4^{21}$ = Le caselle sono $7 \cdot 3 = 21$, e ognuna sceglie uno dei 4 colori: $4^{21}$. La risposta più insidiosa è $21^4$, con base ed esponente scambiati. D: Appello del 03/02/2026, domanda 4, altra versione. Da una scatola di palline bianche e nere se ne estraggono in successione 9. Quante estrazioni iniziano con 2 palline bianche? - $\frac{9!}{7!}$ - $9!$ + $2^7$ - $7^2$ - $\frac{9!}{2!}$ = Le prime 2 sono fissate, bianche. Restano 7 estrazioni, ognuna bianca o nera: $2^7$. La risposta più insidiosa è $7^2$, con base ed esponente scambiati. D: Quanti sono gli ordini di arrivo dei primi 3 classificati in una gara con 10 corridori? N: 720 = Disposizioni semplici: $D_{10,3} = 10 \cdot 9 \cdot 8 = 720$. Chi pensa $10^3 = 1000$ permette allo stesso corridore di arrivare due volte. D: Quanti sono gli anagrammi della parola ALMENO? (appello pre-2021, «18 riepilogo») + $720$ - $360$ - $120$ - $6$ - $46\,656$ = Le 6 lettere sono tutte diverse: $6! = 720$. La risposta più insidiosa è 360, che si avrebbe se una lettera fosse ripetuta. $46\,656 = 6^6$ conta le parole con ripetizione. D: Quiz 2021–2025. Quante possibilità ci sono di riempire una griglia di 28 caselle con 42 palline numerate, non più di una pallina per casella? - $\binom{42}{28}$ - $42! - 14!$ + $\frac{42!}{14!}$ - $42! - 28!$ - $\frac{42!}{28!}$ = Ogni casella riceve una pallina diversa, e conta quale casella: disposizione semplice $D_{42,28} = \frac{42!}{(42-28)!} = \frac{42!}{14!}$. La risposta più insidiosa è $\frac{42!}{28!}$: sotto va il numero delle palline che restano fuori, 14. ``` ## Esercizi ::: esercizio base Riscaldamento: fattoriali Calcola: (a) $5!$; (b) $\frac{7!}{5!}$; (c) $\frac{10!}{8! \cdot 2!}$; (d) $0! + 1!$. ::: soluzione (a) 120. (b) $7 \cdot 6 = 42$. (c) $\frac{10 \cdot 9}{2} = 45$. (d) $1 + 1 = 2$. ::: ::: esercizio base Riscaldamento: quale formula? Per ognuno, scrivi la formula senza calcolare: (a) i numeri di 5 cifre scritti solo con 1, 2, 3; (b) i modi di mettere in fila 9 libri diversi; (c) i codici di 3 lettere diverse su 26; (d) i modi di rispondere a un quiz di 10 domande con 5 risposte ciascuna. ::: soluzione (a) $3^5$. (b) $9!$. (c) $D_{26,3} = 26 \cdot 25 \cdot 24$. (d) $5^{10}$: per ognuna delle 10 domande si sceglie una delle 5 risposte. ::: ::: esercizio base Riscaldamento: anagrammi Quanti sono gli anagrammi di: (a) ROMA; (b) ANNA; (c) MAMMA; (d) BANANA? ::: soluzione (a) $4! = 24$. (b) $\frac{4!}{2! \cdot 2!} = 6$. (c) M tre volte, A due volte: $\frac{5!}{3! \cdot 2!} = 10$. (d) A tre volte, N due volte: $\frac{6!}{3! \cdot 2!} = 60$. ::: ::: esercizio base Riscaldamento: sigle con e senza ripetizione Quante sigle di 2 lettere su un alfabeto di 5 lettere, con ripetizione e senza? ::: soluzione Con ripetizione $5^2 = 25$; senza $D_{5,2} = 20$. La differenza, 5, sono le sigle con due lettere uguali: AA, BB, CC, DD, EE. ::: ::: esercizio medio Esercizio 3.9 del libro: le sei sedie Sei amici, Alessandro, Bruno, Carlo, Daniele, Enrico e Franco, si siedono su una fila di sei sedie. In quanti modi (a) senza restrizioni; (b) con Carlo e Franco sulle due sedie centrali; (c) con Bruno e Daniele vicini? ::: soluzione (a) $6! = 720$. (b) Carlo e Franco nelle sedie 3 e 4: 2 modi; gli altri quattro nelle sedie restanti: $4!$. In tutto $2 \cdot 24 = 48$. (c) Le coppie di sedie vicine sono 5 (1–2, 2–3, 3–4, 4–5, 5–6); per ognuna Bruno e Daniele si scambiano in 2 modi; gli altri quattro in $4!$. In tutto $5 \cdot 2 \cdot 24 = 240$. ::: ::: esercizio medio Esercizio 3.8 a) e b) del libro: il guardaroba di Anna Anna ha 11 magliette, 5 paia di pantaloni, 6 paia di scarpe e 2 borsette. (a) In quanti modi sceglie maglietta, pantaloni, scarpe e borsetta? (b) Ha una scarpiera con 14 scomparti: in quanti modi mette le sue 6 paia di scarpe, un paio per scomparto? ::: soluzione (a) Scelte successive indipendenti: $11 \cdot 5 \cdot 6 \cdot 2 = 660$. (b) Ogni paio sceglie uno scomparto diverso, e conta quale: $D_{14,6} = \frac{14!}{8!} = 2\,162\,160$. ::: ::: esercizio esame La password con vincolo (appello pre-2021, «19 riepilogo») Una password è un anagramma di AACEHHHPRRZ che non inizia per E. Quante sono le password possibili? ::: soluzione Tutti gli anagrammi: 11 lettere, H tre volte, A e R due volte: $\frac{11!}{3! \cdot 2! \cdot 2!} = 1\,663\,200$. Quelli che iniziano con E: si fissa la E e si rimescolano le altre 10, $\frac{10!}{3! \cdot 2! \cdot 2!} = 151\,200$. Quelli che non iniziano con E sono la differenza: $1\,512\,000$. È la soluzione ufficiale. ::: ::: esercizio esame Sigla e anagrammi (appello pre-2021, «17 riepilogo») (a) Una sigla è formata da tre lettere, di un alfabeto di 21, seguite da tre cifre. Le cifre si possono ripetere, le lettere no. Quante sigle ci sono? (b) Quanti sono gli anagrammi di SILLOGISMO? ::: soluzione (a) Lettere: $D_{21,3} = 21 \cdot 20 \cdot 19 = 7980$; cifre: $10^3$. In tutto $7\,980\,000$. (b) 10 lettere: S, I, L, O due volte ciascuna, G e M una: $\frac{10!}{(2!)^4} = \frac{3\,628\,800}{16} = 226\,800$. Nella soluzione ufficiale il risultato è stampato come 216 800: è un errore di battitura, la formula è giusta. ::: ::: esercizio difficile Almeno un simbolo ripetuto (Problemi 2023/24, problema 1 b) Con l'alfabeto di 16 simboli, le 10 cifre $X$ e le 6 lettere da A a F, quante sequenze di 6 simboli contengono almeno una cifra? Quante di queste hanno i simboli tutti diversi? ::: soluzione Si conta il contrario. Le sequenze senza cifre usano solo le 6 lettere: $6^6$. Quindi quelle con almeno una cifra sono $16^6 - 6^6$. Con i simboli tutti diversi: in tutto $D_{16,6} = \frac{16!}{10!}$, e quelle senza cifre sono gli ordinamenti delle 6 lettere, $6!$. Risposta: $\frac{16!}{10!} - 6!$. È la soluzione ufficiale. ::: ## Domande di ripasso ::: domanda Che cosa dice il metodo delle scelte successive? Se una cosa si costruisce con più scelte una dopo l'altra, il numero totale è il prodotto dei numeri di possibilità. Vale anche quando le possibilità dipendono dalle scelte precedenti. ::: ::: domanda Quante sono le parole di lunghezza $k$ su un alfabeto di $n$ simboli? $n^k$. ::: ::: domanda Quanto vale $0!$ e perché? 1, per convenzione: così le formule funzionano anche nei casi limite. ::: ::: domanda Che differenza c'è tra disposizioni semplici e con ripetizione? Nelle semplici gli elementi sono tutti diversi, e sono $\frac{n!}{(n-k)!}$; in quelle con ripetizione possono ripetersi, e sono $n^k$. ::: ::: domanda Quanti sono gli anagrammi di una parola con lettere ripetute? La lunghezza fattoriale, diviso il fattoriale di quante volte compare ogni lettera. ::: ::: domanda Che cos'è una combinazione semplice di ordine $k$? Un sottoinsieme di $k$ elementi: conta quali elementi, non l'ordine. ::: ::: domanda Perché $D_{4,2} = 12$ ma le combinazioni di ordine 2 di 4 elementi sono 6? Perché ogni sottoinsieme di 2 elementi corrisponde a due disposizioni, una per ogni ordine. ::: ## Glossario ```glossario Metodo delle scelte successive | Il numero di risultati di più scelte in fila è il prodotto dei numeri di possibilità. Alfabeto | Un insieme finito di simboli. Parola | Una sequenza di simboli di un alfabeto, anche senza senso. Disposizione con ripetizione | Sequenza di k elementi di un insieme di n, anche ripetuti: sono n^k. Ordinamento | Un modo di mettere in fila tutti gli elementi di un insieme: sono n!. Fattoriale | n! = 1 · 2 · … · n, con 0! = 1. Disposizione semplice | Sequenza di k elementi diversi di un insieme di n: sono n!/(n−k)!. Anagramma | Un rimescolamento delle lettere di una parola. Combinazione semplice | Un sottoinsieme di k elementi: l'ordine non conta. ``` ## Checklist ```checklist - So usare il metodo delle scelte successive, anche con scelte che dipendono dalle precedenti. - So contare le parole su un alfabeto, con la base e l'esponente al posto giusto. - So calcolare fattoriali e semplificare frazioni come 11!/3!. - So riconoscere una disposizione semplice e scriverla come n!/(n−k)!. - So contare gli anagrammi di una parola con lettere ripetute. - So distinguere quando l'ordine conta e quando no. - So gestire un vincolo («inizia con», «al primo posto») mettendo prima i posti vincolati. - So contare «almeno uno» come totale meno nessuno. - So rispondere alle domande 4 degli appelli 2025–2026 su questi argomenti. ``` ## Fonti - A. Mori, *Lezioni di Matematica Discreta*, 2ª edizione, testo del canale B: capitolo 3 «Combinatorica», pp. 48–55 (Proposizione 3.16, Nota 3.17, definizioni 3.18, 3.19, 3.21, 3.23, 3.25, 3.27, proposizioni 3.20, 3.22, 3.24, 3.26, esempi delle pp. 49–55); esercizi 3.8 e 3.9 (pp. 64–65). Le definizioni e gli enunciati nei riquadri riprendono il libro. Segnalato nel testo il risultato dell'esempio delle targhe a p. 50. - Diario delle lezioni del canale B 2026/27 (Mori), lezione del 16/10/2026: «Alfabeti, parole ed anagrammi. Disposizioni semplici e con ripetizione: formule ed esempi. Combinazioni semplici: enunciato del problema». - Quiz di Matematica Discreta, domanda 4: appelli del 14/01/2025, 07/07/2025, 03/02/2026, 06/06/2026, 01/07/2026, e quiz 2021–2025; problemi: appello del 03/02/2026 (problema 1), Problemi 2023/24 (problema 1), «17 riepilogo» e «19 riepilogo» degli anni precedenti al 2021, con le soluzioni ufficiali. - V. Bocchino, *Rigurgiti di Unicorno*, appunti di Matematica Discreta scritti da uno studente sul libro di Mori (licenza CC BY-NC-SA 4.0, [GitHub](https://github.com/bocchinovalentino/rigurgiti_di_unicorno)): un riepilogo già pronto, non ufficiale. - Tutti i conteggi, degli esempi, degli esercizi e delle domande d'esame, li ho ricontrollati con un programma. --- > File: `contesto_ai/MDAG/lezioni/L01_numeri_reali.md` ```yaml corso: MDAG modulo: AG lezione: L01 titolo: Numeri reali data: 2026-09-30 docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L01 descrizione: >- Appunti della lezione L01 di Algebra lineare e Geometria (MDAG, parte 2): insiemi numerici, costruzione dei numeri reali, irrazionalità di √2, campi, ordine, notazioni e conti con le radici, con quiz nello stile dell'esame ed esercizi svolti. lede: >- I numeri che userai in tutto il corso: quali sono, come si chiamano e quali regole seguono. Si parte dai numeri per contare e si arriva a quelli con infinite cifre dopo la virgola. In più: come si leggono i simboli della matematica e come si fanno i conti con le radici senza calcolatrice. materiale: dispense scheda: Dispense: lezione 1 · pp. 2–5 Libro: Martelli, §1.1 e complemento 1.II Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 1 «Numeri reali»; B. Martelli, Geometria e algebra lineare, §1.1, §1.5 e complemento 1.II appunti_html: appunti/MDAG/L01_numeri_reali.html genera_html: true ``` ## In breve - Questa lezione parla dei **numeri**: quali esistono, come si chiamano e con quale lettera si indicano. - I numeri sono divisi in quattro famiglie, una dentro l'altra: i numeri per contare, gli interi (con il segno meno), le frazioni e i numeri reali (quelli che possono avere infinite cifre dopo la virgola). - Alcuni numeri, come la radice quadrata di 2, non si possono scrivere come frazione. Si chiamano **irrazionali**. - I conti seguono nove regole che usi da sempre, come «2 + 5 fa lo stesso di 5 + 2». Un insieme di numeri in cui valgono tutte e nove si chiama **campo**. - Le parentesi cambiano il significato: con le graffe, con le tonde o con le quadre la stessa coppia di numeri indica tre cose diverse. - Per l'esame servono tre cose: riconoscere un campo, usare le parentesi giuste e fare i conti con le radici senza calcolatrice. > [!CANALI] > Algebra lineare e Geometria usa le **stesse dispense** nei tre canali: Buzano insegna nei canali A e B, Radeschi nei canali B e C. Questi appunti seguono le dispense 2026, quindi valgono allo stesso modo per A, B e C. Cambiano solo i giorni delle lezioni: la pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)) avverte che i cambi d'orario vengono annunciati lì e a lezione. Esame e quiz sono comuni ai tre canali. ## Gli insiemi: sacchetti con dentro delle cose (p. 2) Prima di parlare di numeri serve una parola sola: **insieme**. Immagina un sacchetto. Dentro ci metti delle cose: per esempio una mela, una pera e una banana. Il sacchetto con quello che contiene è un insieme. Le cose dentro si chiamano **elementi** dell'insieme. In matematica dentro il sacchetto di solito ci sono dei numeri. Al posto del sacchetto si disegnano due **parentesi graffe**, una che apre e una che chiude. Gli elementi si scrivono in mezzo, separati da virgole: $$\{1, 3, 5\}$$ Questo è l'insieme che contiene tre numeri: l'1, il 3 e il 5. Nient'altro. Per non riscriverlo ogni volta, a un insieme si dà un **nome**: una lettera maiuscola. Per esempio lo chiamiamo $A$: $$A = \{1, 3, 5\}$$ Si legge: «$A$ è l'insieme che contiene 1, 3 e 5». ### Due regole sui sacchetti In un insieme conta solo **che cosa c'è dentro**. Da qui vengono due regole. - **L'ordine non conta.** $\{1, 3, 5\}$ e $\{5, 1, 3\}$ sono lo stesso insieme. Un sacchetto resta lo stesso anche se lo scuoti. - **Le ripetizioni non contano.** $\{1, 1, 3\}$ è uguale a $\{1, 3\}$. Un numero o c'è o non c'è: scriverlo due volte non aggiunge niente. ### «Sta dentro» e «non sta dentro» Per dire che un numero sta dentro un insieme c'è un simbolo apposta: $\in$. Assomiglia a una piccola E. $$3 \in A$$ Si legge «3 appartiene ad $A$». Vuol dire: il 3 è uno degli elementi di $A$. Ed è vero, perché $A = \{1, 3, 5\}$ e il 3 c'è. Lo stesso simbolo con una barra sopra, $\notin$, vuol dire il contrario. $$2 \notin A$$ Si legge «2 non appartiene ad $A$». È vero anche questo: tra 1, 3 e 5 il 2 non c'è. ### Un sacchetto dentro un altro Prendi due insiemi: $$A = \{1, 3, 5\} \qquad B = \{1, 5\}$$ Gli elementi di $B$ sono l'1 e il 5. Tutti e due stanno anche in $A$. Allora $B$ è **contenuto** in $A$. Un insieme contenuto in un altro si chiama **sottoinsieme**. Il simbolo è $\subset$: $$B \subset A$$ Si legge «$B$ è contenuto in $A$». In $A$ c'è anche il 3, che in $B$ manca. Quindi $A$ ha qualcosa **in più** di $B$. Per dirlo si usa un simbolo un po' diverso, $\subsetneq$, con una lineetta sbarrata sotto: $$B \subsetneq A$$ Si legge «$B$ è contenuto **strettamente** in $A$». Dice due cose insieme: $B$ sta dentro $A$, e $A$ ha almeno un elemento in più. ### I puntini e l'insieme vuoto Quando gli elementi sono tanti, o infiniti, non si possono scrivere tutti. Allora si scrivono i primi e poi tre **puntini**. I puntini vogliono dire «e avanti così, con la stessa regola». $$\{2, 4, 6, 8, \dots\}$$ Questo è l'insieme dei numeri pari da 2 in su. Dopo l'8 viene il 10, poi il 12, e non finiscono mai. Esiste anche il sacchetto vuoto: l'insieme senza nessun elemento. Si chiama **insieme vuoto** e si scrive $\emptyset$. ::: prova Vero o falso? (a) $5 \in \{1, 3, 5\}$; (b) $4 \in \{1, 3, 5\}$; (c) $\{3\} \subset \{1, 3, 5\}$; (d) $\{1, 2\} \subset \{1, 3, 5\}$. (a) Vero: il 5 è uno dei tre elementi. (b) Falso: il 4 non c'è. Si scrive $4 \notin \{1, 3, 5\}$. (c) Vero. L'unico elemento di $\{3\}$ è il 3, e il 3 sta anche in $\{1, 3, 5\}$. (d) Falso. L'1 c'è, ma il 2 no. Basta un solo elemento fuori posto perché un insieme non sia contenuto nell'altro. ::: ::: prova $\{1, 2, 3\}$ e $\{3, 2, 1\}$ sono lo stesso insieme? Sì. Dentro ci sono le stesse cose (1, 2 e 3), e l'ordine non conta. ::: > [!NOTA] Dove si studiano meglio gli insiemi > Le dispense ricordano che la teoria degli insiemi si fa in dettaglio nell'altra metà del corso, **Matematica Discreta**. Qui servono solo gli insiemi di numeri. > [!RICORDA] > - Un **insieme** è un sacchetto di elementi. Si scrive con le graffe: $\{1, 3, 5\}$. > - $\in$ vuol dire «sta dentro», $\notin$ vuol dire «non sta dentro». > - $\subset$ vuol dire «è contenuto in»: tutti gli elementi del primo insieme stanno anche nel secondo. > - L'ordine e le ripetizioni non contano. ## Le famiglie dei numeri: naturali, interi e razionali (p. 2) Adesso riempiamo i sacchetti con i numeri. Ci sono tre famiglie da conoscere subito, e ognuna ha la sua lettera. ### I numeri per contare: i naturali Sono i numeri che usi per contare le cose: zero mele, una mela, due mele, tre mele. Si chiamano **numeri naturali**. Tutti insieme formano un insieme. Si indica con una N dal tratto doppio: $\N$. $$\N = \{0, 1, 2, 3, \dots\}$$ I puntini dicono che non finiscono mai: dopo ogni numero ce n'è sempre uno più grande. > [!TRAPPOLA] Lo zero è un numero naturale > In questo corso, e nel libro di Martelli, $\N$ **comincia da 0**. In alcuni libri di scuola comincia da 1. All'esame vale la regola del corso: $0 \in \N$. ### I numeri con il segno meno: gli interi Con i numeri naturali certe sottrazioni non si possono fare. Hai 3 euro e ne devi pagare 5: quanto ti resta? Meno di niente, perché sei sotto di 2. Per scriverlo servono i **numeri negativi**: $3 - 5 = -2$. I naturali insieme ai negativi si chiamano **numeri interi**. L'insieme degli interi si indica con $\Z$: $$\Z = \{\dots, -2, -1, 0, 1, 2, \dots\}$$ Qui i puntini sono da tutte e due le parti, perché gli interi continuano senza fine sia a destra sia a sinistra. La lettera Z viene dal tedesco *Zahlen*, che vuol dire «numeri». Ogni numero naturale è anche un intero. Quindi il sacchetto $\N$ sta dentro il sacchetto $\Z$. E $\Z$ ha qualcosa in più, per esempio $-1$. Con il simbolo di prima: $\N \subsetneq \Z$. ### Le frazioni: i razionali Con gli interi certe divisioni non si possono fare. Dividi 1 pizza tra 2 persone: ognuno ne ha mezza. «Mezza» non è un numero intero. Per scriverlo serve una **frazione**: $\frac 12$. > [!RIPASSO] che cos'è una frazione > Una frazione si scrive con due numeri interi, uno sopra e uno sotto una lineetta: $\frac 34$. > > - Il numero **sotto** (il *denominatore*) dice in quante parti uguali è tagliata la torta: qui 4. > - Il numero **sopra** (il *numeratore*) dice quante parti prendi: qui 3. > > Quindi $\frac 34$ vuol dire «tre fette di una torta tagliata in quattro». È anche il risultato della divisione 3 diviso 4, cioè $0{,}75$. > > Il numero sotto **non può essere 0**: non ha senso tagliare una torta in zero parti. Per questo non si divide mai per zero. > > Anche un intero è una frazione: basta mettere 1 sotto. Per esempio $5 = \frac 51$. I numeri che si possono scrivere come frazione si chiamano **numeri razionali**. L'insieme dei razionali si indica con $\Q$. La Q viene da *quoziente*, che è il risultato di una divisione. Ogni intero è anche un razionale, perché $5 = \frac 51$. Quindi $\Z$ sta dentro $\Q$. E $\Q$ ha qualcosa in più, per esempio $\frac 12$. Quindi $\Z \subsetneq \Q$. ### Come lo scrivono le dispense Ora che le tre famiglie sono chiare, ecco la definizione con le parole delle dispense. > [!DEF] 1.1 · Numeri naturali, interi e razionali > L'insieme dei **numeri naturali** è $\N = \{0, 1, 2, 3, \dots\}$. > > Se aggiungiamo i numeri negativi otteniamo l'insieme dei **numeri interi** $\Z = \{\dots, -2, -1, 0, 1, 2, \dots\}$. > > Se oltre agli interi consideriamo tutti i numeri esprimibili come frazioni $\frac ab$, otteniamo l'insieme dei **numeri razionali** > $$\Q = \left\{ \frac ab \ ;\ a, b \in \Z,\ b \neq 0 \right\}.$$ **Come si legge.** L'ultima riga, quella di $\Q$, è la più difficile. Un pezzo alla volta: - le graffe dicono che è un insieme; - $\frac ab$ dice che cosa c'è dentro: frazioni. Le lettere $a$ e $b$ stanno al posto di due numeri qualsiasi; - il punto e virgola si legge «dove». Dopo ci sono le condizioni sulle due lettere; - $a, b \in \Z$ vuol dire «$a$ e $b$ sono numeri interi»; - $b \neq 0$ vuol dire «$b$ è diverso da zero». Il simbolo $\neq$ è un uguale sbarrato. Tutta insieme: «$\Q$ è l'insieme delle frazioni $\frac ab$, dove $a$ e $b$ sono interi e $b$ non è zero». ### Perché servono famiglie sempre più grandi C'è un'idea che lega tutto. Ogni famiglia nuova nasce perché in quella vecchia **manca la risposta** a una domanda semplice. | Domanda | Risposta | C'è nella famiglia vecchia? | Famiglia nuova | |---|---|---|---| | Quale numero, sommato a 5, dà 3? | $-2$ | no: $-2$ non è un naturale | gli interi $\Z$ | | Quale numero, moltiplicato per 2, dà 1? | $\frac 12$ | no: $\frac 12$ non è un intero | i razionali $\Q$ | | Quale numero, moltiplicato per sé stesso, dà 2? | $\sqrt 2$ | no: non è una frazione (lo vediamo più avanti) | i reali $\R$ | | Quale numero, moltiplicato per sé stesso, dà $-1$? | nessun numero reale | no | i complessi $\C$, dalla lezione L02 | ### Una frazione, tante scritture Mezza pizza è mezza pizza anche se la tagli in 4 fette e ne prendi 2. Quindi $\frac 12$ e $\frac 24$ sono lo stesso numero, scritto in due modi. Le dispense fanno questo esempio: $$\frac 17 = \frac 3{21} = \frac{-8}{-56}$$ Sono tre scritture di «un settimo». Dalla prima alla seconda si passa moltiplicando sopra e sotto per 3. Dalla prima alla terza si passa moltiplicando sopra e sotto per $-8$. Come si controlla se due frazioni sono lo stesso numero? Con i **prodotti in croce**: 1. moltiplica il sopra della prima per il sotto della seconda; 2. moltiplica il sotto della prima per il sopra della seconda; 3. se i due risultati sono uguali, le due frazioni sono lo stesso numero. Proviamo con $\frac 17$ e $\frac 3{21}$. Nei conti il puntino $\cdot$ è il segno «per». 1. Sopra della prima per sotto della seconda: $1 \cdot 21 = 21$. 2. Sotto della prima per sopra della seconda: $7 \cdot 3 = 21$. 3. Viene 21 tutte e due le volte. Quindi $\frac 17 = \frac 3{21}$. > [!NOTA] Chi viene prima > Le dispense precisano che $\N$ è un **concetto primitivo**: non si costruisce a partire da altro, si parte da lì. Poi $\Z$ si costruisce a partire da $\N$, e $\Q$ a partire da $\Z$. Lo strumento che permette di dire «queste due frazioni sono lo stesso numero» si chiama *relazione di equivalenza*, e si studia in Matematica Discreta. ::: prova Per ogni numero di' la famiglia più piccola che lo contiene, tra $\N$, $\Z$ e $\Q$: (a) $7$; (b) $-7$; (c) $\frac 73$; (d) $\frac 62$. (a) $\N$: è un numero per contare. (b) $\Z$: ha il segno meno, quindi non è un naturale. (c) $\Q$: 7 diviso 3 non dà un numero intero. (d) $\N$: prima si semplifica. 6 diviso 2 fa 3, che è un numero per contare. ::: ::: prova $\frac 23$ e $\frac{10}{15}$ sono lo stesso numero? Usa i prodotti in croce. $2 \cdot 15 = 30$ e $3 \cdot 10 = 30$. I due risultati sono uguali, quindi sì: sono lo stesso numero. ::: > [!RICORDA] > - $\N$: i numeri per contare, **zero compreso**. > - $\Z$: i naturali più i numeri negativi. > - $\Q$: tutte le frazioni, con il numero sotto diverso da zero. > - Ogni famiglia sta dentro la successiva: $\N \subsetneq \Z \subsetneq \Q$. ## I numeri reali: infinite cifre dopo la virgola (pp. 2–3) Le frazioni non bastano ancora. Per capire che cosa manca conviene guardarle scritte con la virgola. ### Da frazione a numero con la virgola Una frazione è una divisione. Se fai la divisione ottieni un numero con la virgola: $$\frac 14 = 0{,}25 \qquad\qquad \frac 13 = 0{,}333\ldots$$ Possono succedere solo due cose. - Le cifre **finiscono**, come in $0{,}25$. - Le cifre non finiscono, ma **si ripetono** sempre uguali, come in $0{,}333\ldots$ Il gruppo di cifre che si ripete si chiama **periodo**. Per scriverlo in breve si mette una lineetta sopra: $0{,}\overline{3}$. Un periodo può essere più lungo di una cifra. Per esempio $\frac 17 = 0{,}142857142857\ldots$, che si scrive $0{,}\overline{142857}$. Vale anche il contrario: ogni numero con la virgola che finisce, oppure che si ripete, è una frazione. L'esercizio 5 mostra come si trova. ### I numeri che le frazioni non raggiungono Esistono anche numeri con infinite cifre dopo la virgola **che non si ripetono mai**. Il più famoso è pi greco: $$\pi = 3{,}14159265\ldots$$ Le sue cifre vanno avanti per sempre, e nessun gruppo si ripete. Quindi $\pi$ non è una frazione. Un numero che **può** avere infinite cifre dopo la virgola si chiama **numero reale**. L'insieme dei numeri reali si indica con $\R$. I reali contengono tutto quello che abbiamo visto finora: i naturali, gli interi, le frazioni. E in più i numeri come $\pi$. ### Una stranezza: due scritture per lo stesso numero Le dispense avvertono di una piccola ambiguità. Un numero che finisce con infiniti 9 è uguale al numero «arrotondato»: $$5{,}973999\ldots = 5{,}974$$ Il caso più semplice è $0{,}999\ldots = 1$. Non è «quasi 1»: è proprio 1, scritto in un altro modo. Ecco perché, in tre passi. 1. Sappiamo che $\frac 13 = 0{,}333\ldots$ 2. Moltiplichiamo per 3 tutti e due i lati. A sinistra viene $3 \cdot \frac 13 = 1$. A destra ogni cifra 3 diventa 9, quindi viene $0{,}999\ldots$ 3. I due lati erano uguali prima, quindi sono uguali anche dopo: $1 = 0{,}999\ldots$ ### Come si costruiscono i numeri reali: l'idea > [!NOTA] Questa parte serve per capire, non per l'esame > Da qui alla fine della sezione si vede come si definiscono i numeri reali in modo preciso. Nei due appelli del 2026 (15/01 e 07/09) non c'è nessuna domanda su questo argomento. Se hai poco tempo, leggi solo il riquadro «Da ricordare» in fondo alla sezione. Dire «un numero con infinite cifre» va bene per farsi un'idea. Ma resta un problema: **come si sommano due numeri così?** Per fare una somma in colonna si parte dalla cifra più a destra. Con infinite cifre, una cifra più a destra non esiste. Le dispense risolvono il problema con un'idea diversa. Prova a «raggiungere» $\pi$ usando solo numeri che finiscono: - con una cifra dopo la virgola: $3{,}1$ - con due cifre: $3{,}14$ - con tre cifre: $3{,}141$ - con quattro cifre: $3{,}1415$ - e avanti così, senza fermarsi mai. Ognuno di questi numeri finisce, quindi è una frazione. Per esempio $3{,}14 = \frac{314}{100}$. Nessuno di loro è $\pi$. Ma più vai avanti nella lista, più ti avvicini a $\pi$. L'idea è questa: **un numero reale è una lista infinita di frazioni che si avvicinano sempre di più a qualcosa.** Anche se quel «qualcosa» non è una frazione, la lista lo individua lo stesso. Servono due parole nuove. - Una lista infinita di numeri, uno dopo l'altro, si chiama **successione**. I numeri della lista si chiamano **termini**. Si scrivono con un numerino in basso che dice il posto: $a_1$ è il primo, $a_2$ il secondo, $a_3$ il terzo. Nella lista di $\pi$: $a_1 = 3{,}1$, poi $a_2 = 3{,}14$, poi $a_3 = 3{,}141$. - Una successione in cui i termini, da un certo punto in poi, sono **vicinissimi tra loro** si chiama **successione di Cauchy**. Si pronuncia «coscì»: è il nome di un matematico francese. La lista di $\pi$ è una successione di Cauchy. Dal terzo termine in poi tutti cominciano con $3{,}141$, quindi tra l'uno e l'altro c'è meno di un millesimo. Dal sesto in poi c'è meno di un milionesimo. E avanti così, sempre più vicini. > [!ESEMPIO] 1.2 · Il numero $\pi$ > Il numero reale $\pi$ ha infinite cifre dopo la virgola: $3{,}1415926\ldots$ Corrisponde alla successione di Cauchy di numeri razionali > $$a_1 = 3{,}1 \qquad a_2 = 3{,}14 \qquad a_3 = 3{,}141 \qquad a_4 = 3{,}1415 \qquad \dots$$ > Le dispense aggiungono che la successione che definisce un numero reale **non è unica**. Per esempio anche la lista $3{,}2;\ 3{,}15;\ 3{,}142;\ 3{,}1416;\ \dots$ (ogni volta arrotondando per eccesso) si avvicina a $\pi$. Due liste diverse possono indicare lo stesso numero. > [!APPROFONDIMENTO] la definizione precisa di successione di Cauchy (p. 2) > Le dispense scrivono «vicinissimi tra loro» in modo preciso. > > Una successione $(a_n)$ di numeri razionali $a_n \in \Q$ è **di Cauchy** se per ogni numero razionale $\varepsilon > 0$ esiste un $N > 0$ per cui > $$|a_m - a_n| < \varepsilon \quad \text{per ogni } m, n > N.$$ > > **Come si legge.** > > - $(a_n)$ è la successione, cioè tutta la lista $a_1, a_2, a_3, \dots$ > - $\varepsilon$ è la lettera greca *epsilon*. Qui indica una **tolleranza**: un numero positivo piccolo che scegli tu, per esempio un millesimo. > - $|a_m - a_n|$ è la **distanza** tra due termini della lista. Le due barre verticali sono il *valore assoluto*: tolgono il segno meno, perché una distanza non è mai negativa. Per esempio $|3 - 5| = |-2| = 2$. > - «Esiste un $N$ … per ogni $m, n > N$» vuol dire: **da un certo posto in poi**, cioè dopo il posto numero $N$, due termini qualsiasi distano meno della tolleranza. > > Tutta insieme: per quanto piccola tu scelga la tolleranza, da un certo punto in poi i termini distano tra loro meno di quella tolleranza. Più la tolleranza è piccola, più avanti nella lista bisogna andare. ### Le liste che puntano a un buco Una successione di Cauchy fatta di frazioni può comportarsi in due modi. - Si avvicina a una **frazione**. Per esempio la lista $0{,}3;\ 0{,}33;\ 0{,}333;\ \dots$ si avvicina a $\frac 13$. Allora rappresenta quella frazione, e non c'è niente di nuovo. - Si avvicina a qualcosa che **non è una frazione**, come la lista di $\pi$. Allora rappresenta un numero nuovo, che tra le frazioni non c'era: un **numero irrazionale**. Un'immagine utile. Metti tutte le frazioni su un righello. Sono fittissime, ma tra l'una e l'altra restano dei buchi piccolissimi: per esempio nel punto dove dovrebbe stare $\pi$. Una successione di Cauchy che punta a un buco serve a **riempirlo**. > [!DEF] Numeri reali (p. 3) > I **numeri reali** sono definiti come *classi di equivalenza* di successioni di Cauchy di numeri razionali. Due successioni di Cauchy sono **equivalenti** se la loro differenza è una successione che tende a zero. **Come si legge.** Due liste sono «equivalenti» quando si avvicinano alla stessa cosa, come le due liste di $\pi$ dell'Esempio 1.2. «Classe di equivalenza» vuol dire che tutte le liste equivalenti tra loro contano come **un solo** numero. È lo stesso trucco delle frazioni: $\frac 12$ e $\frac 24$ sono scritture diverse dello stesso numero. > [!ESEMPIO] 1.3 · Il numero $e$ > Le dispense danno un secondo esempio di lista che punta a un buco. Il termine di posto $n$ si calcola con questa formula: > $$a_n = \left(1 + \frac 1n\right)^n$$ > Al posto di $n$ metti 1 per avere il primo termine, 2 per il secondo, 3 per il terzo. Il piccolo $n$ in alto è una potenza: il numero tra parentesi va moltiplicato per sé stesso $n$ volte. > > - Con $n = 1$: dentro la parentesi $1 + \frac 11 = 2$. Poi $2^1 = 2$. Quindi $a_1 = 2$. > - Con $n = 2$: dentro la parentesi $1 + \frac 12 = \frac 32$. Poi $\frac 32 \cdot \frac 32 = \frac 94$. Quindi $a_2 = \frac 94 = 2{,}25$. > - Con $n = 3$: dentro la parentesi $1 + \frac 13 = \frac 43$. Poi $\frac 43 \cdot \frac 43 \cdot \frac 43 = \frac{64}{27}$. Quindi $a_3 = \frac{64}{27}$, che è circa $2{,}370$. > > Ogni termine è una frazione. La successione è di Cauchy, ma non si avvicina a nessuna frazione. Quindi definisce un numero reale nuovo: il **numero di Eulero** $e = 2{,}71828\ldots$ ```grafico titolo: I termini $a_n = \left(1 + \frac 1n\right)^n$ salgono verso $e \approx 2{,}718$ ma nessuno lo raggiunge proporzioni: libere x: 0 13 y: 1.8 2.9 nomi: $n$ $a_n$ retta: 0 2.71828 13 2.71828 | ambra | tratteggio | $e$ | no punto: 1 2 | accento punto: 2 2.25 | accento punto: 3 2.37037 | accento punto: 4 2.44141 | accento punto: 5 2.48832 | accento punto: 6 2.52163 | accento punto: 7 2.5465 | accento punto: 8 2.56578 | accento punto: 9 2.58117 | accento punto: 10 2.59374 | accento punto: 11 2.6042 | accento punto: 12 2.61304 | accento ``` ### Nei numeri reali non ci sono più buchi (p. 3) Con questa costruzione tutti i buchi del righello sono stati riempiti. Le dispense lo riassumono con due idee da tenere in testa. 1. Ogni numero reale si può **approssimare** con le frazioni, con la precisione che vuoi. Per esempio $3{,}14159$ è una frazione molto vicina a $\pi$. 2. Se rifacessi tutto il lavoro partendo da liste di numeri **reali**, invece che di frazioni, non troveresti nessun numero nuovo. La seconda idea ha un nome preciso: $\R$ è **completo**. > [!PROP] · $\R$ è completo > A differenza di $\Q$, l'insieme $\R$ dei numeri reali è **completo**: ogni successione di Cauchy in $\R$ converge. **Come si legge.** «Converge» vuol dire «si avvicina sempre di più a un numero preciso». Quindi: ogni lista di numeri reali che si stringe si avvicina a un numero reale. Non punta mai a un buco, perché di buchi non ce ne sono più. In $\Q$ invece i buchi ci sono: la lista di $\pi$ è fatta di frazioni ma non si avvicina a nessuna frazione. > [!OLTRE] · dove trovarlo nel libro > Il libro di Martelli presenta questa costruzione nel complemento **1.II «Costruzione dei numeri reali»** (pp. 40–42 del libro). ::: prova $0{,}25$, $0{,}\overline{6}$ e $\pi$: quali sono frazioni? $0{,}25$ finisce: è la frazione $\frac 14$. $0{,}\overline 6 = 0{,}666\ldots$ si ripete: è la frazione $\frac 23$. $\pi$ ha infinite cifre che non si ripetono mai: non è una frazione. ::: ::: prova Scrivi i primi quattro termini di una lista di numeri che finiscono e che si avvicina a $\frac 23 = 0{,}666\ldots$ $0{,}6;\ 0{,}66;\ 0{,}666;\ 0{,}6666$. Ogni termine ha una cifra in più del precedente, come nella lista di $\pi$. ::: > [!RICORDA] > - Un **numero reale** è un numero che può avere infinite cifre dopo la virgola. L'insieme dei reali è $\R$. > - Le frazioni sono i numeri con la virgola che finiscono o che si ripetono. Quelli che non si ripetono mai, come $\pi$, sono **irrazionali**. > - In modo preciso, un numero reale è una lista di frazioni che si avvicinano sempre di più tra loro: una successione di Cauchy. > - $\R$ è **completo**: non ha buchi. $\Q$ invece ne ha. ## Perché la radice di 2 non è una frazione (p. 4) Finora abbiamo solo detto che esistono numeri che non sono frazioni. In questa sezione ne guardiamo uno da vicino e dimostriamo che davvero non lo è. > [!RIPASSO] quadrato e radice quadrata > Il **quadrato** di un numero è il numero moltiplicato per sé stesso. Si scrive con un piccolo 2 in alto: $3^2 = 3 \cdot 3 = 9$. > > La **radice quadrata** fa la strada al contrario. $\sqrt 9$ è il numero positivo che, moltiplicato per sé stesso, dà 9. Quindi $\sqrt 9 = 3$. > > Altri due esempi: $\sqrt{16} = 4$ perché $4 \cdot 4 = 16$, e $\sqrt{25} = 5$ perché $5 \cdot 5 = 25$. > > I numeri come 9, 16 e 25, che sono il quadrato di un intero, si chiamano **quadrati perfetti**. ### Da dove viene la radice di 2 $\sqrt 2$ è il numero positivo che, moltiplicato per sé stesso, dà 2. Nessun intero funziona: $1 \cdot 1 = 1$ è troppo poco, $2 \cdot 2 = 4$ è troppo. Quindi $\sqrt 2$ sta tra 1 e 2. Le prime cifre sono $1{,}41421\ldots$ Non è un numero inventato: è una lunghezza che si può disegnare. Prendi un quadrato con il lato lungo 1. La sua diagonale è lunga proprio $\sqrt 2$. ```grafico titolo: La diagonale di un quadrato di lato 1 è lunga $\sqrt 2$ assi: no griglia: no x: -0.4 1.6 y: -0.4 1.4 poligono: 0 0 1 0 1 1 0 1 | blu segmento: 0 0 1 1 | ambra | spesso | $\sqrt 2$ | no testo: 0.5 -0.12 | $1$ testo: 1.12 0.5 | $1$ ``` > [!RIPASSO] il teorema di Pitagora > In un triangolo con un angolo retto, i due lati corti si chiamano *cateti* e il lato lungo si chiama *ipotenusa*. Il teorema dice: il quadrato di un cateto, più il quadrato dell'altro cateto, è uguale al quadrato dell'ipotenusa. > > La diagonale taglia il quadrato in due triangoli con un angolo retto. I cateti sono i lati del quadrato, lunghi 1. L'ipotenusa è la diagonale. Quindi il quadrato della diagonale è $1^2 + 1^2 = 2$, e la diagonale è $\sqrt 2$. ### Tutte le famiglie, una dentro l'altra Le dispense riassumono le quattro famiglie in una riga sola: $$\N \subsetneq \Z \subsetneq \Q \subsetneq \R$$ Si legge da sinistra a destra: i naturali stanno dentro gli interi, gli interi dentro i razionali, i razionali dentro i reali. Ogni volta c'è il simbolo «strettamente», perché ogni famiglia ha qualcosa in più di quella prima: - $-1$ è un intero ma non un naturale; - $\frac 12$ è un razionale ma non un intero; - $\sqrt 2$ è un reale ma non un razionale. ```grafico titolo: Ogni insieme contiene il precedente e ha qualcosa in più assi: no griglia: no x: -1.8 5.4 y: -3.6 3.6 cerchio: 0 0 1 | accento cerchio: 0.6 0 1.8 | blu cerchio: 1.2 0 2.6 | viola cerchio: 1.8 0 3.4 | ambra testo: 0 0.4 | accento | $\N$ testo: 0 -0.3 | $0,\ 1,\ 2,\ \dots$ testo: 1.75 0.4 | blu | $\Z$ testo: 1.75 -0.3 | $-3$ testo: 3.1 0.4 | viola | $\Q$ testo: 3.1 -0.3 | $\frac 12$ testo: 4.5 0.4 | ambra | $\R$ testo: 4.5 -0.3 | $\sqrt 2,\ \pi$ ``` I primi due punti dell'elenco si vedono a occhio. Il terzo no. Come si fa a essere sicuri che **nessuna** frazione, tra le infinite che esistono, sia uguale a $\sqrt 2$? Non si possono provare tutte. Serve un ragionamento. ### Ragionare per assurdo Il ragionamento che serve si chiama **dimostrazione per assurdo**. Funziona come il ragionamento di un detective. Un detective vuole dimostrare che Mario **non** era in casa alle otto. Ragiona così: «Facciamo finta che Mario fosse in casa. Allora la telecamera sul portone lo avrebbe ripreso mentre entrava. Ma nel filmato Mario non c'è. È impossibile. Quindi Mario non era in casa.» I passi sono sempre questi quattro. 1. Fai finta che sia vero **il contrario** di quello che vuoi dimostrare. 2. Ragioni in modo corretto, un passo alla volta. 3. Arrivi a una cosa **impossibile**. In matematica si chiama *assurdo*, oppure *contraddizione*. 4. Concludi che il punto 1 era sbagliato. Quindi è vero quello che volevi dimostrare. Per la dimostrazione servono due attrezzi, che trovi nel riquadro qui sotto. > [!RIPASSO] pari, dispari e frazioni ridotte > Un numero intero è **pari** se è il doppio di un altro intero: $6 = 2 \cdot 3$. È **dispari** se è un numero pari più 1: $7 = 6 + 1$. > > **Primo attrezzo: se il quadrato di un numero è pari, anche il numero è pari.** Il motivo è che un numero dispari ha sempre il quadrato dispari: $3^2 = 9$, $5^2 = 25$, $7^2 = 49$. Vale per tutti i dispari. Un dispari si scrive $2k + 1$, dove $k$ è un intero. Il suo quadrato è $(2k + 1) \cdot (2k + 1) = 4k^2 + 4k + 1$. I primi due pezzi sono pari, e un numero pari più 1 è dispari. > > **Secondo attrezzo: le frazioni ridotte.** Una frazione è *ridotta ai minimi termini* quando sopra e sotto non si possono più dividere per lo stesso numero. $\frac 68$ non è ridotta: sopra e sotto si dividono per 2, e diventa $\frac 34$. Invece $\frac 34$ è ridotta. Ogni frazione si può ridurre. > [!PROP] 1.4 > Il numero $\sqrt 2$ non è razionale. **Come si legge.** «Non è razionale» vuol dire «non si può scrivere come frazione». Un numero reale che non è razionale si chiama **irrazionale**. Ecco la dimostrazione delle dispense, un passo alla volta. 1. **Facciamo finta del contrario.** Supponiamo che $\sqrt 2$ sia una frazione: $\sqrt 2 = \frac ab$, con $a$ e $b$ interi. 2. **Scegliamo la frazione ridotta.** Se $a$ e $b$ si potessero dividere per lo stesso numero, li dividiamo subito. Quindi possiamo supporre che $\frac ab$ sia ridotta ai minimi termini. Tieni a mente questo punto: tra poco lo contraddiremo. 3. **Eleviamo al quadrato** tutti e due i lati. A sinistra $(\sqrt 2)^2 = 2$. A destra $\left(\frac ab\right)^2 = \frac{a^2}{b^2}$. Quindi $$2 = \frac{a^2}{b^2}.$$ 4. **Togliamo la frazione.** Moltiplichiamo tutti e due i lati per $b^2$: $$2b^2 = a^2.$$ 5. **$a$ è pari.** Il numero $a^2$ è il doppio di $b^2$, quindi è pari. Per il primo attrezzo, anche $a$ è pari. Allora $a$ è il doppio di un intero, che chiamiamo $k$: $a = 2k$. 6. **Sostituiamo.** Al posto di $a$ scriviamo $2k$. Il suo quadrato è $2k \cdot 2k = 4k^2$. La riga del passo 4 diventa $2b^2 = 4k^2$. Dividiamo tutti e due i lati per 2: $$b^2 = 2k^2.$$ 7. **Anche $b$ è pari.** Il numero $b^2$ è il doppio di $k^2$, quindi è pari. Di nuovo per il primo attrezzo, anche $b$ è pari. 8. **L'assurdo.** $a$ e $b$ sono tutti e due pari, quindi si possono dividere tutti e due per 2. Ma al passo 2 avevamo scelto una frazione ridotta, che non si può più semplificare. Le due cose non possono essere vere insieme. 9. **Conclusione.** L'ipotesi del passo 1 porta a una cosa impossibile, quindi è sbagliata. $\sqrt 2$ **non** è una frazione. > [!IDEA] · la ricetta, in tre mosse > 1. Scrivi il numero come frazione **ridotta**. > 2. Eleva al quadrato e togli la frazione. > 3. Mostra che sopra e sotto hanno un divisore in comune: è l'assurdo. > > Con la stessa ricetta si dimostra che $\sqrt 3$ e $\sqrt 6$ non sono frazioni (esercizi 11 e 13). > [!DIM] · un'altra strada, dal libro di Martelli > Anche Martelli arriva alla riga $a^2 = 2b^2$. Poi usa la **scomposizione in fattori primi**, cioè la scrittura di un numero come prodotto di numeri primi: per esempio $36 = 2 \cdot 2 \cdot 3 \cdot 3$. > > In un quadrato ogni fattore primo compare un numero **pari** di volte. In $36 = 6^2$ il 2 compare due volte e il 3 due volte. > > Guarda allora quante volte compare il 2 nei due lati di $a^2 = 2b^2$. A sinistra c'è un quadrato, quindi il 2 compare un numero pari di volte. A destra c'è un quadrato moltiplicato per 2, quindi il 2 compare un numero pari di volte più una: un numero **dispari**. Ma un numero ha una sola scomposizione in fattori primi. I due lati non possono essere uguali: assurdo. > [!OLTRE] · altri numeri irrazionali > La radice di un numero naturale è un intero oppure è irrazionale. È un intero quando il numero è un quadrato perfetto: $\sqrt 4 = 2$, $\sqrt 9 = 3$. Altrimenti è irrazionale: $\sqrt 2$, $\sqrt 3$, $\sqrt 5$, $\sqrt 8$. Anche $\pi$ ed $e$ sono irrazionali, ma le dimostrazioni sono molto più difficili e nel corso non servono. > [!TRAPPOLA] Irrazionale per irrazionale non fa sempre irrazionale > $\sqrt 2 \cdot \sqrt 2 = 2$, che è razionale. Anche $\sqrt 2 + (-\sqrt 2) = 0$ è razionale. Invece un razionale più un irrazionale è **sempre** irrazionale (esercizio 12): per esempio $1 + \sqrt 2$ non è una frazione. ::: prova Quali di questi numeri sono irrazionali? $\sqrt 4$, $\sqrt 5$, $\sqrt{49}$, $\sqrt 8$. $\sqrt 5$ e $\sqrt 8$. Infatti 5 e 8 non sono quadrati perfetti. Invece $\sqrt 4 = 2$ e $\sqrt{49} = 7$ sono interi. ::: ::: prova Nella dimostrazione, qual è la cosa impossibile a cui si arriva? $a$ e $b$ risultano tutti e due pari, quindi la frazione $\frac ab$ si può ancora semplificare per 2. Ma l'avevamo scelta ridotta ai minimi termini. ::: > [!RICORDA] > - $\sqrt 2$ è la lunghezza della diagonale di un quadrato di lato 1. Non è una frazione: è **irrazionale**. > - Si dimostra **per assurdo**: si fa finta che sia una frazione ridotta e si scopre che si può ancora semplificare. > - Le quattro famiglie stanno una dentro l'altra: $\N \subsetneq \Z \subsetneq \Q \subsetneq \R$. ## Le nove regole dei conti: che cos'è un campo (p. 4) Quando fai un conto usi delle regole senza accorgertene. Per esempio sai che $2 + 5$ e $5 + 2$ danno lo stesso risultato. In questa sezione mettiamo queste regole in fila e diamo loro un nome. Può sembrare un lavoro inutile, ma non lo è. Dalla lezione L05 le stesse regole varranno anche per i vettori, che non sono numeri. Conoscerle per nome servirà lì. Sui numeri reali ci sono due **operazioni**: la somma, con il segno $+$, e il prodotto, con il puntino $\cdot$. Le dispense le chiamano operazioni **binarie**. «Binaria» vuol dire che l'operazione prende **due** numeri e ne restituisce **uno**. Da 3 e 4 la somma restituisce 7, il prodotto restituisce 12. ### Le nove regole, con i numeri | N. | La regola a parole | Un esempio | |---|---|---| | 1 | sommare 0 non cambia niente | $0 + 7 = 7$ | | 2 | in una somma l'ordine non conta | $2 + 5 = 5 + 2$ | | 3 | in una somma di tre numeri puoi cominciare da dove vuoi | $1 + (2 + 3) = (1 + 2) + 3$ | | 4 | ogni numero ha un **opposto**: sommati fanno 0 | $7 + (-7) = 0$ | | 5 | moltiplicare per 1 non cambia niente | $1 \cdot 7 = 7$ | | 6 | in un prodotto l'ordine non conta | $2 \cdot 5 = 5 \cdot 2$ | | 7 | in un prodotto di tre numeri puoi cominciare da dove vuoi | $2 \cdot (3 \cdot 4) = (2 \cdot 3) \cdot 4$ | | 8 | ogni numero **diverso da 0** ha un **inverso**: moltiplicati fanno 1 | $4 \cdot \frac 14 = 1$ | | 9 | moltiplicare una somma è come moltiplicare i due pezzi e poi sommare | $3 \cdot (2 + 5) = 3 \cdot 2 + 3 \cdot 5$ | Controlliamo per intero la regola 3 e la regola 9. Le parentesi dicono quale conto va fatto per primo. - **Regola 3.** A sinistra: prima $2 + 3 = 5$, poi $1 + 5 = 6$. A destra: prima $1 + 2 = 3$, poi $3 + 3 = 6$. Stesso risultato. - **Regola 9.** A sinistra: prima $2 + 5 = 7$, poi $3 \cdot 7 = 21$. A destra: $3 \cdot 2 = 6$ e $3 \cdot 5 = 15$, poi $6 + 15 = 21$. Stesso risultato. Ogni regola ha un nome, che ritroverai per tutto il corso. - Il numero che «non cambia niente» si chiama **elemento neutro**. È lo 0 per la somma (regola 1) e l'1 per il prodotto (regola 5). - «L'ordine non conta» è la proprietà **commutativa** (regole 2 e 6). - «Puoi cominciare da dove vuoi» è la proprietà **associativa** (regole 3 e 7). - La regola 9 è la proprietà **distributiva**. ### Lo zero non ha inverso Guarda bene la regola 8: vale per ogni numero **tranne lo zero**. L'inverso di un numero è quello che, moltiplicato per lui, dà 1. L'inverso di 4 è $\frac 14$. L'inverso di $\frac 23$ è $\frac 32$: basta scambiare sopra e sotto. E l'inverso di 0? Dovrebbe essere un numero che, moltiplicato per 0, dà 1. Ma qualunque numero moltiplicato per 0 dà 0, mai 1. Quindi quel numero non esiste. È lo stesso divieto di prima: non si divide per zero. ### Come lo scrivono le dispense Ecco le stesse nove regole con le parole e i simboli delle dispense. > [!PROP] 1.5 · Le nove proprietà di $\R$ > Su $\R$ ci sono due operazioni binarie $+$ e $\cdot$ con le seguenti proprietà: > 1. esiste l'**elemento neutro** $0$ per l'addizione $+$, per cui $0 + a = a + 0 = a$, $\forall a \in \R$; > 2. vale la proprietà **commutativa** $a + b = b + a$, $\forall a, b \in \R$; > 3. vale la proprietà **associativa** $a + (b + c) = (a + b) + c$, $\forall a, b, c \in \R$; > 4. ogni elemento $a \in \R$ ha un **inverso** (o **opposto**) $-a$, per cui $a + (-a) = (-a) + a = 0$; > 5. esiste l'**elemento neutro** $1$ per la moltiplicazione $\cdot$, per cui $1 \cdot a = a \cdot 1 = a$, $\forall a \in \R$; > 6. vale la proprietà **commutativa** $a \cdot b = b \cdot a$, $\forall a, b \in \R$; > 7. vale la proprietà **associativa** $a \cdot (b \cdot c) = (a \cdot b) \cdot c$, $\forall a, b, c \in \R$; > 8. ogni elemento $a \in \R$ con $a \neq 0$ ha un **inverso** $a^{-1}$, per cui $a \cdot a^{-1} = a^{-1} \cdot a = 1$; > 9. vale la proprietà **distributiva** $a \cdot (b + c) = a \cdot b + a \cdot c$, $\forall a, b, c \in \R$. **Come si legge.** C'è un solo simbolo nuovo: $\forall$, una A rovesciata. Si legge «per ogni». - «$\forall a \in \R$» si legge «per ogni $a$ che appartiene a $\R$». Vuol dire: qualunque numero reale tu metta al posto della lettera $a$. - La riga 1 dice che $0 + a$ e $a + 0$ fanno $a$, per ogni numero reale $a$. Se al posto di $a$ metti 7 diventa $0 + 7 = 7 + 0 = 7$: è la regola 1 della tabella. - Le righe 4 e 8 parlano di «inverso». Per la somma l'inverso si chiama di solito **opposto** e si scrive $-a$. Per il prodotto si scrive $a^{-1}$, con un piccolo $-1$ in alto, ed è lo stesso di $\frac 1a$. Per esempio $4^{-1} = \frac 14$. - Ogni riga è una delle regole della tabella, scritta con le lettere al posto dei numeri. Le lettere servono a dire che la regola vale **per tutti** i numeri, non solo per quelli dell'esempio. ### Che cos'è un campo Le nove regole non valgono solo per i numeri reali. Ogni insieme in cui si può sommare e moltiplicare, e in cui valgono tutte e nove, riceve lo stesso nome. > [!DEF] Campo > Un insieme con due operazioni $+$ e $\cdot$ che hanno queste nove proprietà si chiama **campo**. **Come si legge.** «Campo» è solo un nome. Dice: qui dentro si possono fare le quattro operazioni con le solite regole, senza mai uscire dall'insieme. La somma e la sottrazione funzionano grazie agli opposti. Il prodotto e la divisione funzionano grazie agli inversi. Le dispense aggiungono due avvisi. Il concetto di campo torna più in dettaglio nella lezione L05. E al posto di $a \cdot b$ si scrive spesso solo $ab$, senza il puntino. ### Quali insiemi sono campi? Per decidere se una famiglia di numeri è un campo bastano quasi sempre due domande. Ogni numero ha il suo opposto **dentro la famiglia**? Ogni numero diverso da zero ha il suo inverso **dentro la famiglia**? | Famiglia | L'opposto c'è sempre? | L'inverso c'è sempre? | È un campo? | |---|---|---|---| | $\N$ | no: l'opposto di 3 è $-3$, che non è un naturale | no: l'inverso di 3 è $\frac 13$, che non è un naturale | **no** | | $\Z$ | sì | no: l'inverso di 2 è $\frac 12$, che non è un intero | **no** | | $\Q$ | sì | sì: l'inverso di $\frac ab$ è $\frac ba$ | **sì** | | $\R$ | sì | sì | **sì** | | $\C$ | sì | sì (lezione L02) | **sì** | Per dire che un insieme **non** è un campo basta **una** regola che non funziona, con **un** esempio. «$\Z$ non è un campo perché 2 non ha inverso in $\Z$» è una risposta completa. > [!APPROFONDIMENTO] perché un numero per zero fa sempre zero > Dalle nove regole si può ricavare anche quello che sembra scontato. Per esempio che $a \cdot 0 = 0$ per ogni numero $a$. > > 1. Per la regola 1, $0 + 0 = 0$. Quindi $a \cdot 0$ è uguale ad $a \cdot (0 + 0)$. > 2. Per la regola 9, $a \cdot (0 + 0) = a \cdot 0 + a \cdot 0$. > 3. Mettendo insieme i due passi: $a \cdot 0 = a \cdot 0 + a \cdot 0$. > 4. Ora togliamo $a \cdot 0$ da tutti e due i lati, cioè sommiamo il suo opposto (regola 4). A sinistra resta $0$. A destra resta $a \cdot 0$. > > Quindi $0 = a \cdot 0$. Nella lezione L05 la stessa idea servirà per i vettori (Proposizione 5.5). ::: prova (a) Qual è l'opposto di $-5$? (b) Qual è l'inverso di $\frac 25$? (c) Qual è l'inverso di $1$? (a) $5$, perché $-5 + 5 = 0$. (b) $\frac 52$, perché $\frac 25 \cdot \frac 52 = \frac{10}{10} = 1$. (c) $1$, perché $1 \cdot 1 = 1$. ::: ::: prova I numeri pari, cioè $\{\dots, -4, -2, 0, 2, 4, \dots\}$, formano un campo? No. Manca l'1, che serve per la regola 5: l'1 è dispari. Manca anche l'inverso di 2, che sarebbe $\frac 12$. ::: > [!RICORDA] > - Un **campo** è un insieme di numeri in cui valgono le nove regole. In pratica: puoi fare le quattro operazioni senza uscire dall'insieme. > - $\Q$, $\R$ e $\C$ sono campi. $\N$ e $\Z$ no. > - Lo zero non ha inverso: non si divide per zero. ## Maggiore e minore: l'ordine (p. 5) Tra due numeri diversi ce n'è sempre uno più grande. Disegna una riga e mettici sopra i numeri: lo zero al centro, i positivi a destra, i negativi a sinistra. È la **retta dei numeri**. Un numero è **maggiore** di un altro se sta più a destra. ```grafico titolo: La retta dei numeri: più un numero sta a destra, più è grande assi: no griglia: no x: -4.6 4.6 y: -1.5 1.5 freccia: -4.4 0 4.4 0 | grigio punto: -3 0 | $-3$ | s punto: -2 0 | $-2$ | s punto: -1 0 | $-1$ | s punto: 0 0 | accento | $0$ | s punto: 1 0 | $1$ | s punto: 2 0 | $2$ | s punto: 3 0 | $3$ | s punto: 0.5 0 | ambra | $\frac 12$ | n punto: 1.41421 0 | ambra | $\sqrt 2$ | n punto: 3.14159 0 | ambra | $\pi$ | n ``` I simboli sono due. - $a > b$ si legge «$a$ è maggiore di $b$». L'apertura del simbolo guarda verso il numero più grande: $7 > 4$. - $a < b$ si legge «$a$ è minore di $b$»: $4 < 7$. Con i numeri negativi serve attenzione: $-2 > -5$, perché $-2$ sta più a destra di $-5$. Un debito di 2 euro è meglio di un debito di 5. Un insieme di numeri in cui due numeri diversi si possono sempre confrontare così si chiama **ordinato**. $\N$, $\Z$, $\Q$ e $\R$ sono tutti ordinati. ### La regola precisa Le dispense danno una regola che non ha bisogno del disegno. > [!DEF] Ordine (p. 5) > Diciamo che $a > b$ se $a - b > 0$. **Come si legge.** Per sapere se $a$ è maggiore di $b$ fai la sottrazione $a - b$. Se il risultato è positivo, cioè maggiore di zero, allora $a > b$. Due esempi. - Con 7 e 4: $7 - 4 = 3$, che è positivo. Quindi $7 > 4$. - Con $-2$ e $-5$: $-2 - (-5) = -2 + 5 = 3$, che è positivo. Quindi $-2 > -5$. Con questa regola basta sapere **quali numeri sono positivi**. Le dispense lo dicono famiglia per famiglia. - In $\Z$ i positivi sono $1, 2, 3, \dots$ - In $\Q$ una frazione è positiva quando sopra e sotto hanno **lo stesso segno**. $\frac 34$ è positiva. Anche $\frac{-3}{-4}$ è positiva, perché meno diviso meno fa più. Invece $\frac{-3}4$ è negativa. - In $\R$ la regola usa le successioni di Cauchy: è nel riquadro qui sotto. > [!APPROFONDIMENTO] quando un numero reale è positivo (p. 5) > Le dispense scrivono: un numero reale è positivo se è rappresentabile da una successione di Cauchy $(a_n)$ di numeri razionali per la quale esiste un numero razionale $\varepsilon > 0$ tale che $a_n > \varepsilon$ *definitivamente*. > > **Come si legge.** «Definitivamente» vuol dire «da un certo posto in poi, per sempre». Quindi: da un certo punto in poi, i termini della lista stanno tutti sopra una soglia positiva fissa, che qui si chiama $\varepsilon$. > > Perché serve la soglia? Guarda la lista $1;\ \frac 12;\ \frac 13;\ \frac 14;\ \dots$ I suoi termini sono tutti positivi, ma si avvicinano a 0, e lo zero non è positivo. Nessuna soglia funziona: prima o poi i termini scendono sotto. Invece la lista di $\pi$, cioè $3{,}1;\ 3{,}14;\ 3{,}141;\ \dots$, sta sempre sopra la soglia 3. Infatti $\pi$ è positivo. > [!NOTA] Anticipo della lezione L02 > I numeri complessi $\C$ sono un campo, ma **non sono ordinati**: tra due numeri complessi non ha senso chiedersi quale sia il maggiore. ::: prova Metti il segno giusto, $>$ oppure $<$: (a) tra $3$ e $-8$; (b) tra $-7$ e $-1$; (c) tra $\frac 12$ e $\frac 13$. (a) $3 > -8$. Controllo: $3 - (-8) = 3 + 8 = 11$, positivo. (b) $-7 < -1$. Controllo: $-1 - (-7) = -1 + 7 = 6$, positivo. Quindi il maggiore è $-1$. (c) $\frac 12 > \frac 13$: mezza pizza è più di un terzo di pizza. Controllo: $\frac 12 - \frac 13 = \frac 36 - \frac 26 = \frac 16$, positivo. ::: > [!RICORDA] > - $a > b$ vuol dire che $a$ sta più a destra di $b$ sulla retta dei numeri. La regola precisa: $a - b$ è positivo. > - $\N$, $\Z$, $\Q$ e $\R$ sono ordinati. $\C$ no. ## Parentesi da non confondere (p. 5) Tre scritture si assomigliano molto e vogliono dire cose diversissime. | Scrittura | Parentesi | Che cos'è | Che cosa contiene | |---|---|---|---| | $\{1, 2\}$ | graffe | un insieme con due soli elementi | solo l'1 e il 2 | | $(1, 2)$ | tonde | un **intervallo aperto** | tutti i numeri reali tra 1 e 2, **senza** l'1 e il 2 | | $[1, 2]$ | quadre | un **intervallo chiuso** | tutti i numeri reali tra 1 e 2, **compresi** l'1 e il 2 | Un **intervallo** è un pezzo della retta dei numeri: tutti i numeri reali tra un punto di partenza e un punto di arrivo. Tra 1 e 2 ci sono $1{,}5$, $1{,}01$, $1{,}999$ e infiniti altri. I due numeri scritti tra le parentesi si chiamano **estremi**. La differenza tra tonde e quadre sta tutta lì: - parentesi **tonda**: l'estremo è **escluso**; - parentesi **quadra**: l'estremo è **incluso**. ```grafico titolo: Tonda, estremo escluso (pallino vuoto). Quadra, estremo incluso (pallino pieno) assi: no griglia: no x: 0.4 2.6 y: 0 1.1 segmento: 1 0.8 2 0.8 | accento | spesso punto: 1 0.8 | accento | vuoto | $1$ | s punto: 2 0.8 | accento | vuoto | $2$ | s testo: 1.5 0.95 | $(1, 2)$ segmento: 1 0.3 2 0.3 | blu | spesso punto: 1 0.3 | blu | $1$ | s punto: 2 0.3 | blu | $2$ | s testo: 1.5 0.45 | $[1, 2]$ ``` Anche $(1, 2)$ e $[1, 2]$ sono insiemi. Ma hanno **infiniti** elementi, mentre $\{1, 2\}$ ne ha due. ### Scrivere un insieme con una condizione C'è un modo molto usato per descrivere un insieme senza elencare gli elementi. Si scrive **quale condizione** devono rispettare. $$\{x \in \R \mid 1 < x < 2\}$$ Si legge: «l'insieme degli $x$ che appartengono a $\R$ **tali che** $x$ è maggiore di 1 e minore di 2». Un pezzo alla volta: - la lettera $x$ sta per un numero qualsiasi; - $x \in \R$ dice dove si cercano gli elementi: tra i numeri reali; - la barretta verticale si legge «tale che». Nelle dispense al suo posto trovi a volte i due punti o il punto e virgola; - $1 < x < 2$ è la condizione. È un modo breve per scrivere due cose insieme: $1 < x$ e $x < 2$. Questo insieme è proprio l'intervallo aperto. Le dispense scrivono: $$(1, 2) = \{x \in \R \mid 1 < x < 2\}, \qquad [1, 2] = \{x \in \R \mid 1 \le x \le 2\}.$$ Il simbolo $\le$ si legge «minore o uguale». A differenza di $<$, permette anche l'uguale. Per questo nell'intervallo chiuso l'1 e il 2 sono compresi. > [!OLTRE] · gli altri intervalli > Le due parentesi si possono mescolare. $[1, 2)$ include l'1 ed esclude il 2. $(1, 2]$ esclude l'1 e include il 2. > > Per una semiretta, cioè un pezzo di retta che da una parte non finisce, si usa il simbolo $\infty$ («infinito»). Per esempio $[0, +\infty)$ contiene tutti i numeri reali da 0 in su. Accanto a $\infty$ la parentesi è sempre tonda, perché l'infinito non è un numero e non può essere «incluso». ### La stessa scrittura per un punto C'è un'ultima complicazione. In questo corso $(1, 2)$ si usa anche per una cosa del tutto diversa: un **punto del piano**, oppure un **vettore** (lezione L05). In quel caso i due numeri sono le coordinate: 1 passo a destra e 2 passi in su. Come si capisce quale dei due significati vale? Dal **contesto**, cioè dalla frase intorno. - «Il numero $x$ sta in $(1, 2)$»: è l'intervallo. - «Il punto $P = (1, 2)$» oppure «il vettore $v = (1, 2)$»: è la coppia di coordinate. Qui l'ordine conta: $(1, 2)$ e $(2, 1)$ sono due punti diversi. > [!ESAME] La notazione giusta > Le dispense insistono: è **essenziale usare sempre la notazione giusta**. Le graffe **non si usano mai** per i punti o per i vettori. Scrivere $\{1, 2\}$ al posto del vettore $(1, 2)$ è un errore: in un insieme l'ordine non conta, in un vettore sì. Negli appelli i vettori sono scritti anche come ${}^t(1, 2)$, con una piccola $t$ in alto a sinistra. Vuol dire «messo in verticale», e si vede nella lezione L08. ::: prova Il numero 2 sta in $(1, 2)$? E in $[1, 2]$? E in $\{1, 2\}$? In $(1, 2)$ no: la tonda esclude l'estremo. In $[1, 2]$ sì: la quadra lo include. In $\{1, 2\}$ sì: è uno dei suoi due elementi. ::: ::: prova Quanti elementi hanno $\{0, 5\}$ e $[0, 5]$? $\{0, 5\}$ ne ha 2: lo 0 e il 5. $[0, 5]$ ne ha infiniti: tutti i numeri reali da 0 a 5. ::: ::: prova Scrivi con le parentesi l'insieme $\{x \in \R \mid 3 \le x < 7\}$. $[3, 7)$. A sinistra la quadra, perché il 3 è compreso ($\le$). A destra la tonda, perché il 7 è escluso ($<$). ::: > [!RICORDA] > - Graffe: un insieme con gli elementi elencati. $\{1, 2\}$ ha due elementi. > - Tonde: intervallo con gli estremi **esclusi**. Quadre: intervallo con gli estremi **inclusi**. > - $(1, 2)$ può essere anche un punto o un vettore: lo dice il contesto. > - Mai le graffe per un vettore. ## Le lettere greche del corso (p. 5) Nelle formule del corso compaiono spesso lettere dell'alfabeto greco. Non hanno niente di speciale: sono altri nomi per i numeri, come $x$ e $y$. Le dispense chiedono di imparare queste nove. | Lettera | Nome | Dove la incontrerai | |---|---|---| | $\alpha$ | alfa (*alpha*) | angoli, coefficienti | | $\varepsilon$ | epsilon | un numero piccolo a piacere (successioni di Cauchy) | | $\sigma$ | sigma | coefficienti, permutazioni in Matematica Discreta | | $\vartheta$ | theta | angoli, per esempio nei numeri complessi | | $\phi$ | fi (*phi*) | angoli, applicazioni | | $\pi$ | pi greco | il numero $3{,}14159\ldots$ | | $\lambda$ | lambda | i numeri che moltiplicano i vettori, e poi gli autovalori | | $\mu$ | mi (*mu*) | come lambda, quando serve una seconda lettera | | $\varrho$ | ro (*rho*) | raggi e distanze | Alcune lettere si scrivono in due modi: $\vartheta$ e $\theta$ sono entrambe theta, $\phi$ e $\varphi$ entrambe fi, $\varrho$ e $\rho$ entrambe ro, $\varepsilon$ ed $\epsilon$ entrambe epsilon. ::: prova Come si chiamano $\lambda$, $\vartheta$ e $\varepsilon$? Lambda, theta ed epsilon. ::: > [!RICORDA] > Le lettere greche sono solo nomi. Le più usate nel corso sono $\lambda$ (lambda) e $\mu$ (mi), che di solito indicano numeri, e $\vartheta$ (theta), che indica un angolo. ## Leggere i simboli della matematica (oltre le dispense) Le formule del corso sono frasi scritte in breve. Ogni simbolo sta al posto di qualche parola. Se rimetti le parole al posto dei simboli, una formula si legge come una frase normale. Le dispense usano questi simboli già dalla prima lezione; il libro di Martelli li spiega nel §1.1 (pp. 4–7). | Simbolo | Si legge | Un esempio, letto a parole | |---|---|---| | $\forall$ | «per ogni» | $\forall a \in \R:\ a + 0 = a$ si legge «per ogni numero reale $a$, $a$ più zero fa $a$» | | $\exists$ | «esiste» | $\exists x \in \Z:\ x + 5 = 3$ si legge «esiste un intero $x$ per cui $x$ più 5 fa 3». È vero: $x = -2$ | | $:$ oppure $\mid$ | «tale che», «per cui» | $\{x \in \R \mid x > 0\}$ si legge «i numeri reali $x$ tali che $x$ è maggiore di zero» | | $\Longrightarrow$ | «se … allora …» | $a = 2 \Longrightarrow a^2 = 4$ si legge «se $a$ è 2, allora $a$ al quadrato è 4» | | $\Longleftrightarrow$ | «se e solo se» | $a - b > 0 \Longleftrightarrow a > b$ si legge «$a$ meno $b$ è positivo se e solo se $a$ è maggiore di $b$» | | $\cup$ | «unito» | $\{1, 2\} \cup \{2, 3\} = \{1, 2, 3\}$: gli elementi che stanno nell'uno **o** nell'altro | | $\cap$ | «intersecato» | $\{1, 2\} \cap \{2, 3\} = \{2\}$: gli elementi che stanno nell'uno **e** nell'altro | | $\setminus$ | «meno» | $\{1, 2, 3\} \setminus \{3\} = \{1, 2\}$: il primo insieme senza gli elementi del secondo | «Se e solo se» vuol dire che le due frasi sono vere insieme oppure false insieme: dalla prima si ricava la seconda, e dalla seconda la prima. ### Una parola cambia tutto Le parole «per ogni» ed «esiste» si chiamano **quantificatori**. Vanno lette con attenzione, perché basta cambiare un pezzo della frase per passare da vero a falso. - «Per ogni numero **reale** $x$ esiste un numero **reale** $y$ per cui $2y = x$.» È **vera**: basta prendere come $y$ la metà di $x$. - «Per ogni numero **intero** $x$ esiste un numero **intero** $y$ per cui $2y = x$.» È **falsa**: con $x = 1$ servirebbe $y = \frac 12$, che non è un intero. > [!TRAPPOLA] «Se … allora» non vale al contrario > La frase «se $a$ è 2, allora $a^2$ è 4» è vera. La frase al contrario, «se $a^2$ è 4, allora $a$ è 2», è falsa: anche $a = -2$ dà $a^2 = 4$. Quando una frase vale in tutti e due i versi si usa «se e solo se». ::: prova Leggi a parole: $\forall x \in \N:\ x + 1 \in \N$. È vera? «Per ogni numero naturale $x$, anche $x + 1$ è un numero naturale.» È vera: il numero che viene dopo un naturale è ancora un naturale. ::: ::: prova Quanto fanno $\{1, 2, 3\} \cap \{2, 3, 4\}$ e $\{1, 2, 3\} \cup \{2, 3, 4\}$? Intersezione: gli elementi che stanno in tutti e due gli insiemi, cioè $\{2, 3\}$. Unione: gli elementi che stanno in almeno uno dei due, cioè $\{1, 2, 3, 4\}$. ::: > [!RICORDA] > Una formula si legge come una frase. Il simbolo $\forall$ si legge «per ogni», $\exists$ si legge «esiste», la freccia doppia $\Longrightarrow$ si legge «se … allora». ## Conti con le radici senza calcolatrice (oltre le dispense) All'esame la calcolatrice è vietata, e nelle risposte del quiz compaiono spesso le radici. > [!ESAME] Perché impararlo adesso > Nell'appello del 07/09/2026 le cinque risposte possibili per una distanza erano $3$, $\frac{\sqrt 3}3$, $3\sqrt 3$, $\sqrt 3$ e $3 + \sqrt 3$. Per un angolo comparivano $\arccos\frac 3{\sqrt{43}}$, $\arccos\frac 6{\sqrt{42}}$ e simili. Bisogna saper riconoscere che, per esempio, $\frac 1{\sqrt 3}$ e $\frac{\sqrt 3}3$ sono lo stesso numero. Le regole sono sei. Valgono per numeri positivi o nulli sotto la radice. ### Regola 1: radice per radice Il prodotto di due radici è la radice del prodotto. $$\sqrt 2 \cdot \sqrt 8 = \sqrt{2 \cdot 8} = \sqrt{16} = 4$$ ### Regola 2: portare fuori un quadrato Se il numero sotto la radice è un quadrato perfetto moltiplicato per qualcos'altro, il quadrato perfetto «esce» dalla radice. Esempio con $\sqrt{12}$. 1. Cerca un quadrato perfetto che divide 12. Il 4 va bene: $12 = 4 \cdot 3$. 2. Spezza la radice con la regola 1 letta al contrario: $\sqrt{4 \cdot 3} = \sqrt 4 \cdot \sqrt 3$. 3. Calcola la radice del quadrato perfetto: $\sqrt 4 = 2$. Risultato: $\sqrt{12} = 2\sqrt 3$. La scrittura $2\sqrt 3$ vuol dire «2 per radice di 3»: tra un numero e una radice il puntino non si scrive. ### Regola 3: radice e quadrato si annullano Il quadrato di una radice restituisce il numero di partenza: $(\sqrt 5)^2 = 5$. Viene dalla definizione: $\sqrt 5$ è il numero che, moltiplicato per sé stesso, dà 5. Al contrario serve attenzione. La radice di un quadrato è sempre positiva: $\sqrt{(-3)^2} = \sqrt 9 = 3$, non $-3$. ### Regola 4: si sommano solo radici uguali Due radici uguali si sommano come le mele: 2 mele più 5 mele fanno 7 mele. $$2\sqrt 3 + 5\sqrt 3 = 7\sqrt 3$$ Due radici diverse non si possono unire: $\sqrt 2 + \sqrt 3$ resta scritto così. ### Regola 5: togliere la radice dal numero sotto Una frazione con una radice sotto si riscrive moltiplicando sopra e sotto per quella radice. Il valore non cambia, perché moltiplicare sopra e sotto per lo stesso numero è come moltiplicare per 1. Esempio con $\frac 6{\sqrt 3}$. 1. Moltiplica sopra e sotto per $\sqrt 3$. Sopra viene $6\sqrt 3$. Sotto viene $\sqrt 3 \cdot \sqrt 3 = 3$. 2. La frazione è diventata $\frac{6\sqrt 3}3$. 3. Semplifica: 6 diviso 3 fa 2. Risultato: $2\sqrt 3$. ### Regola 6: quando sotto c'è una somma o una differenza Se sotto c'è una differenza come $\sqrt 2 - 1$, si moltiplica sopra e sotto per la stessa espressione con il segno cambiato, cioè $\sqrt 2 + 1$. > [!RIPASSO] somma per differenza > Moltiplicare una somma per la differenza degli stessi due numeri dà la differenza dei quadrati: $(x - y) \cdot (x + y) = x^2 - y^2$. > > Controllo con $x = 5$ e $y = 2$. A sinistra: $3 \cdot 7 = 21$. A destra: $25 - 4 = 21$. Esempio con $\frac 1{\sqrt 2 - 1}$. 1. Moltiplica sopra e sotto per $\sqrt 2 + 1$. Sopra viene $\sqrt 2 + 1$. 2. Sotto viene $(\sqrt 2 - 1) \cdot (\sqrt 2 + 1)$. Per il ripasso fa $(\sqrt 2)^2 - 1^2 = 2 - 1 = 1$. 3. Risultato: $\frac{\sqrt 2 + 1}1 = \sqrt 2 + 1$. La radice sotto è sparita. > [!TRAPPOLA] La radice di una somma > La radice di una somma **non** è la somma delle radici. Controllo con i numeri: $\sqrt{9 + 16} = \sqrt{25} = 5$, mentre $\sqrt 9 + \sqrt{16} = 3 + 4 = 7$. Tutte le regole in una tabella, da copiare sul foglio dell'esame. | Regola | Esempio | |---|---| | $\sqrt a \cdot \sqrt b = \sqrt{ab}$ | $\sqrt 2 \cdot \sqrt 8 = \sqrt{16} = 4$ | | $\sqrt{a^2 b} = a\sqrt b$ | $\sqrt{12} = \sqrt{4 \cdot 3} = 2\sqrt 3$ | | $(\sqrt a)^2 = a$ | $(\sqrt 5)^2 = 5$ | | $\sqrt{x^2}$ è $x$ senza il segno meno | $\sqrt{(-3)^2} = 3$ | | si somma solo la stessa radice | $2\sqrt 3 + 5\sqrt 3 = 7\sqrt 3$ | | radice sotto: moltiplica sopra e sotto per la radice | $\frac 6{\sqrt 3} = \frac{6\sqrt 3}3 = 2\sqrt 3$ | | differenza sotto: moltiplica sopra e sotto per la somma | $\frac 1{\sqrt 2 - 1} = \sqrt 2 + 1$ | ::: prova Semplifica $\sqrt{18}$. Un quadrato perfetto che divide 18 è 9: $18 = 9 \cdot 2$. Quindi $\sqrt{18} = \sqrt 9 \cdot \sqrt 2 = 3\sqrt 2$. ::: ::: prova Togli la radice dal numero sotto: $\frac 4{\sqrt 2}$. Moltiplica sopra e sotto per $\sqrt 2$. Sopra viene $4\sqrt 2$, sotto viene $\sqrt 2 \cdot \sqrt 2 = 2$. Quindi $\frac{4\sqrt 2}2 = 2\sqrt 2$. ::: > [!RICORDA] > - Un quadrato perfetto esce dalla radice: $\sqrt{12} = 2\sqrt 3$. > - Si sommano solo radici uguali. > - Per togliere una radice dal numero sotto, moltiplica sopra e sotto per quella radice. > - La radice di una somma **non** è la somma delle radici. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\{\ \}$ | «l'insieme di…» | le graffe racchiudono gli elementi di un insieme | $\{1, 3, 5\}$ | | $\in$ | «appartiene a» | sta dentro l'insieme | $3 \in \{1, 3, 5\}$ | | $\notin$ | «non appartiene a» | non sta dentro l'insieme | $2 \notin \{1, 3, 5\}$ | | $\subset$ | «è contenuto in» | tutti gli elementi del primo stanno nel secondo | $\{1, 5\} \subset \{1, 3, 5\}$ | | $\subsetneq$ | «è contenuto strettamente in» | è contenuto, e il secondo ha qualcosa in più | $\N \subsetneq \Z$ | | $\emptyset$ | «insieme vuoto» | l'insieme senza elementi | | | $\dots$ | «e avanti così» | gli elementi continuano con la stessa regola | $\{0, 1, 2, \dots\}$ | | $\N$ | «enne» | i numeri naturali | $0, 1, 2$ | | $\Z$ | «zeta» | i numeri interi | $-2, 0, 7$ | | $\Q$ | «cu» | i numeri razionali, cioè le frazioni | $\frac 12, -\frac 34$ | | $\R$ | «erre» | i numeri reali | $\sqrt 2, \pi$ | | $\C$ | «ci» | i numeri complessi (lezione L02) | | | $\cdot$ | «per» | il segno della moltiplicazione | $3 \cdot 4 = 12$ | | $\neq$ | «diverso da» | non uguale | $b \neq 0$ | | $<$, $>$ | «minore di», «maggiore di» | più a sinistra, più a destra sulla retta dei numeri | $-5 < -2$ | | $\le$, $\ge$ | «minore o uguale», «maggiore o uguale» | come sopra, ma è permesso anche l'uguale | $2 \le 2$ | | $\mid$ | «tale che» | introduce la condizione da rispettare | $\{x \in \R \mid x > 0\}$ | | $(a, b)$ | «intervallo aperto da $a$ a $b$» | i numeri reali tra $a$ e $b$, estremi esclusi | $(1, 2)$ | | $[a, b]$ | «intervallo chiuso da $a$ a $b$» | i numeri reali tra $a$ e $b$, estremi inclusi | $[1, 2]$ | | $a_n$ | «a con enne» | il termine di posto $n$ di una successione | $a_2 = 3{,}14$ | | $\lvert x \rvert$ | «valore assoluto di $x$» | il numero senza il segno meno | $\lvert -2 \rvert = 2$ | | $a^2$ | «$a$ al quadrato» | $a$ per $a$ | $3^2 = 9$ | | $\sqrt a$ | «radice di $a$» | il numero positivo che al quadrato dà $a$ | $\sqrt 9 = 3$ | | $-a$ | «meno $a$», «l'opposto di $a$» | il numero che sommato ad $a$ dà 0 | $-7$ | | $a^{-1}$ | «$a$ alla meno uno», «l'inverso di $a$» | il numero che moltiplicato per $a$ dà 1 | $4^{-1} = \frac 14$ | | $\forall$ | «per ogni» | vale qualunque elemento tu scelga | $\forall a \in \R$ | | $\exists$ | «esiste» | ce n'è almeno uno | $\exists x \in \Z$ | ## Verso l'esame La prova di **Algebra lineare e Geometria** (parte 2 di MDAG) è scritta ed è la stessa per i canali A, B e C. Al 30/09/2026 le regole del 2026/27 non sono ancora pubblicate: su Moodle c'è scritto «informazioni seguono». Il riferimento sono quindi le regole del 2025/26, confermate dai testi degli appelli. **Com'è fatta la prova** - **10 domande a risposta multipla.** Ognuna ha 5 risposte, da (a) a (e), e **una sola è giusta**. Ogni domanda vale 1 punto. - **2 problemi a risposta aperta**, divisi in più domande. Ognuno vale 11 punti. Per avere punti parziali bisogna scrivere i passaggi. - **Sbarramento.** I problemi vengono corretti solo a chi fa **almeno 6 punti su 10** nel quiz. - **Durata:** 2 ore. Il massimo è 32 punti, la sufficienza è 18. - **Materiale ammesso:** solo un foglio protocollo, oppure due fogli A4 (4 facciate), **scritti a mano**, con formule, appunti ed esercizi. **Niente calcolatrice** e niente libri. - Nel quiz le risposte si segnano con una **X**, non con un cerchio. | Appello 2026/27 | Iscrizioni su MyUniTo | Ora e aule | |---|---|---| | ven 22/01/2027 | 02/01 – 15/01/2027 | 14:00, aule A, B, C, D, F | | ven 05/02/2027 | 16/01 – 29/01/2027 | 14:00, aule A, B, C, D, F | Il voto finale di MDAG è la media delle due prove, Matematica Discreta e Algebra lineare. Si possono sostenere anche in appelli diversi. Attenzione: ripresentarsi a una prova già superata **annulla** il voto precedente, anche se va peggio. Dettagli e fonti nella [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). **Che cosa serve di questa lezione** 1. **Campi.** Dalla lezione L05 ogni spazio vettoriale è costruito «su un campo». Saper dire perché $\Z$ non è un campo è una tipica domanda di teoria del quiz. 2. **Notazioni.** Insiemi, intervalli, punti e vettori con le parentesi giuste. Nei problemi le risposte si scrivono con questa notazione. 3. **Conti a mano.** Frazioni e radici compaiono in quasi tutte le domande su lunghezze, angoli e distanze. Allenati adesso con gli esercizi 5 e 10. 4. **Ragionare per assurdo.** Il quiz non chiede dimostrazioni, ma questo modo di ragionare torna spesso nelle dispense. > [!ESAME] Il foglio da 4 facciate > È l'unico materiale ammesso, quindi conviene costruirlo lezione per lezione. Da questa lezione bastano due cose: la tabella delle regole sulle radici e la riga «campo = 9 regole; $\N$ e $\Z$ non sono campi». ## Quiz ```quiz D: Quale di questi insiemi, con la somma e il prodotto usuali, **non** è un campo? - $\Q$ - $\R$ + $\Z$ - $\C$ - Sono tutti campi. = In un campo ogni numero diverso da zero deve avere l'inverso dentro l'insieme (regola 8). In $\Z$ l'inverso di $2$ sarebbe $\frac 12$, che non è un intero. Quindi $\Z$ non è un campo. $\Q$, $\R$ e $\C$ invece lo sono. D: Quale di questi numeri è irrazionale? - $0{,}125$ - $\frac{22}{7}$ - $\sqrt 9$ + $\sqrt{12}$ - $0{,}\overline{3}$ = $\sqrt{12} = 2\sqrt 3$, e $\sqrt 3$ è irrazionale perché 3 non è un quadrato perfetto. Gli altri sono tutti frazioni: $0{,}125 = \frac 18$, $\sqrt 9 = 3$, $0{,}\overline 3 = \frac 13$. Anche $\frac{22}7$ è una frazione: è solo un numero vicino a $\pi$, non è $\pi$. D: Quale affermazione è vera? + $\N \subsetneq \Z \subsetneq \Q \subsetneq \R$ - $\Q \subsetneq \Z$ - $\R \subsetneq \Q$ - $\sqrt 2 \in \Q$ - $\Z = \N$ = Ogni famiglia sta dentro la successiva e la successiva ha qualcosa in più: $-1$ è un intero ma non un naturale, $\frac 12$ è un razionale ma non un intero, $\sqrt 2$ è un reale ma non un razionale. D: L'insieme $\{x \in \R \mid 1 \le x < 2\}$ è: - $(1, 2)$ - $[1, 2]$ + $[1, 2)$ - $\{1, 2\}$ - $(1, 2]$ = Il simbolo $\le$ include l'1: parentesi quadra a sinistra. Il simbolo $<$ esclude il 2: parentesi tonda a destra. Invece $\{1, 2\}$ è l'insieme con i soli due numeri 1 e 2. D: Il numero $0{,}999\ldots$ (con infinite cifre 9) è uguale a: + $1$ - un numero appena più piccolo di $1$ - $0{,}9$ - $\frac 9{10}$ - non è un numero reale = Si parte da $\frac 13 = 0{,}333\ldots$ e si moltiplicano per 3 tutti e due i lati: a sinistra viene $1$, a destra $0{,}999\ldots$ Sono due scritture dello stesso numero, come $5{,}973\overline 9$ e $5{,}974$ nelle dispense. D: Nella dimostrazione che $\sqrt 2 \notin \Q$, a quale assurdo si arriva? + $a$ e $b$ sono entrambi pari, mentre la frazione $\frac ab$ era ridotta ai minimi termini. - $\sqrt 2 = 2$. - $b = 0$. - $a^2$ è dispari. - $2$ non è un numero primo. = Da $a^2 = 2b^2$ si ricava che $a$ è pari. Sostituendo $a = 2k$ si ricava che anche $b$ è pari. Allora sopra e sotto si dividono per 2, ma la frazione era stata scelta ridotta: le due cose non possono essere vere insieme. D: Quale proprietà manca a $\Z$ per essere un campo? + L'esistenza dell'inverso moltiplicativo di ogni elemento non nullo. - L'esistenza dell'opposto. - La proprietà commutativa del prodotto. - La proprietà distributiva. - L'esistenza dell'elemento neutro della somma. = «Inverso moltiplicativo» è l'inverso per il prodotto, quello della regola 8. In $\Z$ ogni numero ha l'opposto, e le altre regole valgono tutte. Ma solo $1$ e $-1$ hanno un inverso intero: per esempio l'inverso di $3$ sarebbe $\frac 13$. D: Quanto vale $\sqrt 8 + \sqrt{18}$? + $5\sqrt 2$ - $\sqrt{26}$ - $2\sqrt 2$ - $13$ - $6\sqrt 3$ = Si porta fuori un quadrato da ogni radice: $\sqrt 8 = \sqrt{4 \cdot 2} = 2\sqrt 2$ e $\sqrt{18} = \sqrt{9 \cdot 2} = 3\sqrt 2$. Ora le radici sono uguali e si sommano: $2\sqrt 2 + 3\sqrt 2 = 5\sqrt 2$. La risposta $\sqrt{26}$ è la trappola: la radice di una somma non è la somma delle radici. D: Quanto vale $a_2$ nella successione $a_n = \left(1 + \frac 1n\right)^n$? Scrivi una frazione o un decimale. N: 9/4 = Al posto di $n$ si mette 2. Dentro la parentesi: $1 + \frac 12 = \frac 32$. Poi il quadrato: $\frac 32 \cdot \frac 32 = \frac 94 = 2{,}25$. ``` ## Esercizi ::: esercizio base Vero o falso con i simboli Di' se ogni scrittura è vera o falsa: (a) $-3 \in \N$; (b) $\frac 12 \in \Q$; (c) $\N \subset \Z$; (d) $\sqrt 9 \in \N$; (e) $\{2, 4\} \subset \{1, 2, 3\}$. ::: soluzione (a) **Falsa.** $-3$ ha il segno meno, e i naturali sono $0, 1, 2, \dots$ Quindi $-3 \notin \N$. (b) **Vera.** $\frac 12$ è una frazione con il numero sotto diverso da zero. (c) **Vera.** Ogni numero naturale è anche un intero. (d) **Vera.** Prima si calcola: $\sqrt 9 = 3$. E 3 è un numero naturale. (e) **Falsa.** Il 2 sta in $\{1, 2, 3\}$, ma il 4 no. Basta un elemento fuori. ::: ::: esercizio base Opposti e inversi Per ogni numero scrivi l'opposto e l'inverso: (a) $3$; (b) $-\frac 12$; (c) $\frac 54$. ::: soluzione L'**opposto** è il numero che sommato dà 0: si cambia il segno. L'**inverso** è il numero che moltiplicato dà 1: in una frazione si scambiano sopra e sotto. (a) Opposto di $3$: $-3$, perché $3 + (-3) = 0$. Inverso: $\frac 13$, perché $3 \cdot \frac 13 = 1$. (b) Opposto di $-\frac 12$: $\frac 12$, perché $-\frac 12 + \frac 12 = 0$. Inverso: $-2$, perché $-\frac 12 \cdot (-2) = \frac 22 = 1$. (c) Opposto di $\frac 54$: $-\frac 54$. Inverso: $\frac 45$, perché $\frac 54 \cdot \frac 45 = \frac{20}{20} = 1$. ::: ::: esercizio base Dal più piccolo al più grande Metti in ordine dal più piccolo al più grande: $2$, $-3$, $\frac 12$, $0$, $-\frac 13$. ::: soluzione Pensa alla retta dei numeri: più a sinistra vuol dire più piccolo. 1. I negativi stanno a sinistra dello zero. Sono $-3$ e $-\frac 13$. Tra i due, $-3$ è più a sinistra: $-3 < -\frac 13$. 2. Poi viene lo $0$. 3. I positivi stanno a destra dello zero. Sono $\frac 12$ e $2$, e $\frac 12 < 2$. Risultato: $-3 < -\frac 13 < 0 < \frac 12 < 2$. Controllo di un passaggio con la regola precisa: $-\frac 13 - (-3) = -\frac 13 + 3 = \frac 83$, che è positivo. Quindi $-\frac 13 > -3$. ::: ::: esercizio base Dove abita ogni numero Per ciascun numero trova l'insieme **più piccolo** tra $\N$, $\Z$, $\Q$, $\R$ che lo contiene: $$-4, \qquad 0, \qquad \frac 72, \qquad \sqrt{16}, \qquad \sqrt 7, \qquad 0{,}\overline{12}, \qquad \pi, \qquad -\frac{\sqrt{25}}{5}.$$ ::: soluzione La regola d'oro: **prima semplifica, poi decidi**. | Numero | Semplificato | Insieme più piccolo | Perché | |---|---|---|---| | $-4$ | $-4$ | $\Z$ | è negativo, quindi non sta in $\N$ | | $0$ | $0$ | $\N$ | nel corso lo zero è un naturale | | $\frac 72$ | $3{,}5$ | $\Q$ | è una frazione che non è un intero | | $\sqrt{16}$ | $4$ | $\N$ | $4 \cdot 4 = 16$ | | $\sqrt 7$ | non si semplifica | $\R$ | 7 non è un quadrato perfetto: irrazionale | | $0{,}\overline{12}$ | $\frac 4{33}$ | $\Q$ | le cifre si ripetono, quindi è una frazione (esercizio 5) | | $\pi$ | non si semplifica | $\R$ | irrazionale | | $-\frac{\sqrt{25}}5$ | $-\frac 55 = -1$ | $\Z$ | $\sqrt{25} = 5$, poi 5 diviso 5 fa 1 | $\sqrt{16}$ sembra un numero «difficile», ma è 4. ::: ::: esercizio base Da numero periodico a frazione Scrivi come frazione: (a) $0{,}\overline 7$; (b) $2{,}\overline 3$; (c) $0{,}\overline{12}$. ::: soluzione Il trucco è sempre lo stesso. Chiama $x$ il numero. Moltiplicalo per 10, così la virgola si sposta di un posto. Poi sottrai $x$: le cifre dopo la virgola sono identiche e si cancellano. (a) $x = 0{,}777\ldots$ 1. Moltiplico per 10: $10x = 7{,}777\ldots$ 2. Sottraggo: $10x - x = 7{,}777\ldots - 0{,}777\ldots = 7$. 3. A sinistra $10x - x$ fa $9x$. Quindi $9x = 7$. 4. Divido per 9: $x = \frac 79$. (b) $x = 2{,}333\ldots$ 1. Moltiplico per 10: $10x = 23{,}333\ldots$ 2. Sottraggo: $9x = 23{,}333\ldots - 2{,}333\ldots = 21$. 3. Divido per 9: $x = \frac{21}9$. Semplifico per 3: $x = \frac 73$. 4. Controllo: 7 diviso 3 fa $2{,}333\ldots$ ✓ (c) $x = 0{,}1212\ldots$ Qui il periodo ha **due** cifre, quindi moltiplico per 100: la virgola si sposta di due posti. 1. $100x = 12{,}1212\ldots$ 2. Sottraggo: $100x - x = 99x = 12$. 3. Divido per 99: $x = \frac{12}{99}$. Semplifico per 3: $x = \frac 4{33}$. ::: ::: esercizio base $0{,}\overline 9 = 1$ con il metodo dell'esercizio 5 Usa lo stesso metodo per mostrare che $0{,}999\ldots = 1$. Poi mostra che $5{,}973\overline 9 = 5{,}974$. ::: soluzione **Prima parte.** Chiamo $x = 0{,}999\ldots$ 1. Moltiplico per 10: $10x = 9{,}999\ldots$ 2. Sottraggo: $10x - x = 9{,}999\ldots - 0{,}999\ldots = 9$. Quindi $9x = 9$. 3. Divido per 9: $x = 1$. **Seconda parte.** Spezzo il numero in due pezzi: $5{,}973\overline 9 = 5{,}973 + 0{,}000\overline 9$. Il secondo pezzo è $0{,}\overline 9$ con la virgola spostata di tre posti, cioè $0{,}\overline 9$ diviso 1000. Siccome $0{,}\overline 9 = 1$, il secondo pezzo vale $\frac 1{1000} = 0{,}001$. Quindi $5{,}973\overline 9 = 5{,}973 + 0{,}001 = 5{,}974$. ::: ::: esercizio base Intervalli (a) Scrivi con le parentesi l'insieme $\{x \in \R \mid -1 < x \le 3\}$. (b) Scrivi con la condizione l'intervallo $[0, 5)$. (c) Quale intervallo è $\{x \in \R \mid x^2 < 4\}$? (d) Quanti elementi hanno $\{0, 5\}$ e $(0, 5)$? ::: soluzione (a) $(-1, 3]$. Tonda a sinistra perché $-1$ è escluso ($<$). Quadra a destra perché $3$ è incluso ($\le$). (b) $\{x \in \R \mid 0 \le x < 5\}$. La quadra diventa $\le$, la tonda diventa $<$. (c) Cerco i numeri che al quadrato danno meno di 4. Provo qualche numero. - $x = 1$: $1^2 = 1$, meno di 4. Va bene. - $x = 1{,}9$: $1{,}9^2 = 3{,}61$, meno di 4. Va bene. - $x = 2$: $2^2 = 4$, che non è meno di 4. Non va bene. - $x = -1{,}9$: $(-1{,}9)^2 = 3{,}61$. Va bene: il quadrato di un negativo è positivo. - $x = -2$: $(-2)^2 = 4$. Non va bene. Vanno bene i numeri tra $-2$ e $2$, senza gli estremi: l'intervallo è $(-2, 2)$. (d) $\{0, 5\}$ ha **2** elementi. $(0, 5)$ ne ha **infiniti**. ::: ::: esercizio base I primi termini della successione di $e$ Calcola come frazioni $a_1$, $a_2$, $a_3$, $a_4$ di $a_n = \left(1 + \frac 1n\right)^n$ e controlla che crescono. ::: soluzione Ogni volta metto un numero al posto di $n$: prima calcolo la parentesi, poi la potenza. - $n = 1$: la parentesi è $1 + 1 = 2$. Poi $2^1 = 2$. Quindi $a_1 = 2$. - $n = 2$: la parentesi è $1 + \frac 12 = \frac 32$. Poi $\left(\frac 32\right)^2 = \frac 94$. Quindi $a_2 = 2{,}25$. - $n = 3$: la parentesi è $1 + \frac 13 = \frac 43$. Poi $\left(\frac 43\right)^3 = \frac{64}{27}$. Quindi $a_3$ è circa $2{,}370$. - $n = 4$: la parentesi è $1 + \frac 14 = \frac 54$. Poi $\left(\frac 54\right)^4 = \frac{625}{256}$. Quindi $a_4$ è circa $2{,}441$. Crescono: $2 < 2{,}25 < 2{,}370 < 2{,}441$. E restano sotto $e$, che vale circa $2{,}718$ (guarda il grafico nella sezione sui numeri reali). Ogni termine è una frazione, ma il numero a cui si avvicinano non lo è. ::: ::: esercizio medio Campo o no? Per ciascun insieme, con la somma e il prodotto usuali, di' se è un campo. Se non lo è, indica **una** proprietà che fallisce, con un esempio: (a) $\N$; (b) $\Z$; (c) i numeri reali positivi $\{x \in \R \mid x > 0\}$; (d) $\Q$. ::: soluzione (a) $\N$: **no**. Fallisce la regola 4: il numero $3$ non ha opposto in $\N$, perché $-3 \notin \N$. (b) $\Z$: **no**. Fallisce la regola 8: il numero $2$ non ha inverso in $\Z$, perché $\frac 12 \notin \Z$. (c) Reali positivi: **no**. Fallisce la regola 1: lo $0$ non è positivo, quindi nell'insieme manca l'elemento neutro della somma. (d) $\Q$: **sì**. Valgono tutte e nove le regole. L'opposto di $\frac ab$ è $\frac{-a}b$. Se $a \neq 0$, l'inverso di $\frac ab$ è $\frac ba$, che è ancora una frazione. ::: ::: esercizio medio Conti senza calcolatrice Semplifica: (a) $\sqrt{50}$; (b) $\sqrt{12} \cdot \sqrt 3$; (c) $\frac 6{\sqrt 3}$; (d) $(1 + \sqrt 2)^2$; (e) $\frac 1{\sqrt 2 - 1}$; (f) $\frac{\sqrt 3}3$ e $\frac 1{\sqrt 3}$: sono uguali? ::: soluzione (a) Cerco un quadrato perfetto che divide 50: $50 = 25 \cdot 2$. Quindi $\sqrt{50} = \sqrt{25} \cdot \sqrt 2 = 5\sqrt 2$. (b) Radice per radice: $\sqrt{12} \cdot \sqrt 3 = \sqrt{12 \cdot 3} = \sqrt{36} = 6$. (c) Moltiplico sopra e sotto per $\sqrt 3$. Sopra: $6\sqrt 3$. Sotto: $\sqrt 3 \cdot \sqrt 3 = 3$. Quindi $\frac{6\sqrt 3}3 = 2\sqrt 3$. (d) Il quadrato è il numero per sé stesso: $(1 + \sqrt 2) \cdot (1 + \sqrt 2)$. Moltiplico ogni pezzo del primo per ogni pezzo del secondo. - $1 \cdot 1 = 1$ - $1 \cdot \sqrt 2 = \sqrt 2$ - $\sqrt 2 \cdot 1 = \sqrt 2$ - $\sqrt 2 \cdot \sqrt 2 = 2$ Sommo i quattro pezzi: $1 + \sqrt 2 + \sqrt 2 + 2 = 3 + 2\sqrt 2$. (e) Moltiplico sopra e sotto per $\sqrt 2 + 1$: $$\frac 1{\sqrt 2 - 1} \cdot \frac{\sqrt 2 + 1}{\sqrt 2 + 1} = \frac{\sqrt 2 + 1}{(\sqrt 2)^2 - 1^2} = \frac{\sqrt 2 + 1}{2 - 1} = \sqrt 2 + 1.$$ (f) Sì. Parto da $\frac 1{\sqrt 3}$ e moltiplico sopra e sotto per $\sqrt 3$: sopra viene $\sqrt 3$, sotto viene $3$. Quindi $\frac 1{\sqrt 3} = \frac{\sqrt 3}3$. Nel quiz d'esame lo stesso numero può comparire in una delle due forme. ::: ::: esercizio medio $\sqrt 3$ non è razionale Dimostra per assurdo che $\sqrt 3 \notin \Q$. Suggerimento: serve il fatto «se $a^2$ è un multiplo di 3, anche $a$ lo è». Dimostra anche questo. ::: soluzione **Il fatto sui multipli di 3.** Dividendo un intero per 3 il resto può essere 0, 1 oppure 2. Quindi ogni intero $a$ si scrive in uno di questi tre modi, dove $k$ è un intero: $a = 3k$, oppure $a = 3k + 1$, oppure $a = 3k + 2$. Guardo il quadrato negli ultimi due casi, quelli in cui $a$ non è un multiplo di 3. - $(3k + 1)^2 = 9k^2 + 6k + 1 = 3 \cdot (3k^2 + 2k) + 1$. È un multiplo di 3, più 1. - $(3k + 2)^2 = 9k^2 + 12k + 4 = 3 \cdot (3k^2 + 4k + 1) + 1$. Anche questo è un multiplo di 3, più 1. In tutti e due i casi $a^2$ non è un multiplo di 3. Quindi, se $a^2$ è un multiplo di 3, resta solo il primo caso: $a$ è un multiplo di 3. **La dimostrazione**, con la stessa ricetta usata per $\sqrt 2$. 1. Faccio finta che $\sqrt 3 = \frac ab$, con la frazione ridotta ai minimi termini. 2. Elevo al quadrato e tolgo la frazione: $a^2 = 3b^2$. Quindi $a^2$ è un multiplo di 3. 3. Per il fatto di prima, anche $a$ è un multiplo di 3: $a = 3k$. 4. Sostituisco: $(3k)^2 = 9k^2$, quindi $9k^2 = 3b^2$. Divido per 3: $b^2 = 3k^2$. 5. Allora $b^2$ è un multiplo di 3, e per il fatto di prima anche $b$ lo è. 6. $a$ e $b$ si dividono tutti e due per 3. Ma la frazione era ridotta: assurdo. Quindi $\sqrt 3 \notin \Q$. ::: ::: esercizio medio Razionale più irrazionale (a) Dimostra che se $q \in \Q$ e $x \notin \Q$, allora $q + x \notin \Q$. (b) Trova due numeri irrazionali la cui somma è razionale, e due il cui prodotto è razionale. ::: soluzione (a) In parole: una frazione più un numero che non è una frazione non dà mai una frazione. Si dimostra per assurdo. 1. Faccio finta che $q + x$ sia una frazione, e la chiamo $r$: $q + x = r$. 2. Tolgo $q$ da tutti e due i lati: $x = r - q$. 3. La differenza di due frazioni è una frazione. Infatti $\frac ab - \frac cd = \frac{ad - bc}{bd}$: sopra e sotto ci sono numeri interi. 4. Quindi $x$ è una frazione. Ma avevamo detto che $x$ non lo è: assurdo. Quindi $q + x$ non è una frazione. (b) Somma: $\sqrt 2 + (-\sqrt 2) = 0$. Prodotto: $\sqrt 2 \cdot \sqrt 2 = 2$, oppure $\sqrt 2 \cdot \sqrt 8 = \sqrt{16} = 4$. Quindi irrazionale più irrazionale, e irrazionale per irrazionale, **possono** dare un razionale. Non c'è una regola fissa. ::: ::: esercizio difficile $\sqrt 2 + \sqrt 3$ è irrazionale (a) Dimostra che $\sqrt 6 \notin \Q$. (b) Usalo per dimostrare che $\sqrt 2 + \sqrt 3 \notin \Q$. ::: soluzione (a) Stessa ricetta. 1. Faccio finta che $\sqrt 6 = \frac ab$, frazione ridotta. 2. Elevo al quadrato e tolgo la frazione: $a^2 = 6b^2$. Siccome $6b^2 = 2 \cdot 3b^2$, il numero $a^2$ è pari. Quindi $a$ è pari: $a = 2k$. 3. Sostituisco: $4k^2 = 6b^2$. Divido per 2: $2k^2 = 3b^2$. 4. A sinistra c'è un numero pari, quindi anche $3b^2$ è pari. Il 3 è dispari, e dispari per dispari fa dispari: allora $b^2$ deve essere pari. Quindi $b$ è pari. 5. $a$ e $b$ sono tutti e due pari, ma la frazione era ridotta: assurdo. (b) Di nuovo per assurdo. 1. Faccio finta che $\sqrt 2 + \sqrt 3$ sia una frazione, e la chiamo $q$. 2. Elevo al quadrato. Come nell'esercizio 10 (d), moltiplico ogni pezzo per ogni pezzo: $$q^2 = (\sqrt 2)^2 + 2 \cdot \sqrt 2 \cdot \sqrt 3 + (\sqrt 3)^2 = 2 + 2\sqrt 6 + 3 = 5 + 2\sqrt 6.$$ 3. Isolo $\sqrt 6$. Tolgo 5: $q^2 - 5 = 2\sqrt 6$. Divido per 2: $\sqrt 6 = \frac{q^2 - 5}2$. 4. Se $q$ è una frazione, anche $\frac{q^2 - 5}2$ lo è. Quindi $\sqrt 6$ sarebbe una frazione. 5. Ma per il punto (a) non lo è: assurdo. Quindi $\sqrt 2 + \sqrt 3 \notin \Q$. ::: ## Domande di ripasso ::: domanda Che cosa contengono $\N$, $\Z$ e $\Q$? Lo zero sta in $\N$? $\N$ contiene i numeri per contare: $0, 1, 2, \dots$ Lo **zero c'è**, nella convenzione del corso. $\Z$ aggiunge i numeri negativi. $\Q$ contiene tutte le frazioni $\frac ab$ con $a$ e $b$ interi e $b$ diverso da zero. ::: ::: domanda Perché si passa da $\Q$ a $\R$? Perché tra le frazioni mancano dei numeri. Per esempio nessuna frazione al quadrato dà 2. E ci sono liste di frazioni che si avvicinano sempre di più a qualcosa che non è una frazione, come la lista di $\pi$. I numeri reali riempiono questi «buchi». ::: ::: domanda Che cos'è una successione di Cauchy, a parole? Una lista infinita di numeri in cui, da un certo punto in poi, i termini sono vicini tra loro quanto si vuole. Scegli una tolleranza, anche piccolissima: c'è sempre un posto della lista da cui in poi due termini qualsiasi distano meno di quella tolleranza. ::: ::: domanda Come si definiscono i numeri reali con le successioni di Cauchy? Un numero reale è una lista di frazioni che si stringe (una successione di Cauchy). Due liste che si avvicinano alla stessa cosa contano come lo stesso numero. Se la lista si avvicina a una frazione, rappresenta quella frazione. Altrimenti definisce un numero nuovo, irrazionale. ::: ::: domanda Che cosa vuol dire che $\R$ è completo? Che non ha buchi. Ogni lista di numeri reali che si stringe si avvicina a un numero reale. Rifacendo la costruzione a partire da $\R$ non si trova nessun numero nuovo. ::: ::: domanda Ripeti la dimostrazione che $\sqrt 2$ non è razionale. Per assurdo $\sqrt 2 = \frac ab$, frazione ridotta. Al quadrato: $a^2 = 2b^2$. Quindi $a^2$ è pari e anche $a$ è pari: $a = 2k$. Sostituendo, $4k^2 = 2b^2$, cioè $b^2 = 2k^2$. Quindi anche $b$ è pari. Allora $a$ e $b$ si dividono tutti e due per 2, ma la frazione era ridotta: assurdo. ::: ::: domanda Che cos'è un campo? Fai un esempio e un controesempio. Un insieme con una somma e un prodotto che rispettano le nove regole: gli elementi neutri 0 e 1, gli opposti, gli inversi dei numeri diversi da zero, le proprietà commutativa, associativa e distributiva. Esempi: $\Q$, $\R$, $\C$. Controesempio: $\Z$, perché 2 non ha inverso tra gli interi. ::: ::: domanda Perché lo zero non ha inverso? L'inverso di 0 dovrebbe essere un numero che, moltiplicato per 0, dà 1. Ma ogni numero moltiplicato per 0 dà 0. Per questo la regola 8 chiede l'inverso solo per i numeri diversi da zero. ::: ::: domanda Come si definisce $a > b$? $a > b$ quando $a - b$ è positivo. Quindi basta sapere quali numeri sono positivi. In $\Z$ sono $1, 2, 3, \dots$ In $\Q$ sono le frazioni in cui sopra e sotto hanno lo stesso segno. ::: ::: domanda Che differenza c'è tra $\{1, 2\}$, $(1, 2)$ e $[1, 2]$? $\{1, 2\}$ è l'insieme con i due elementi 1 e 2. $(1, 2)$ è l'intervallo aperto: tutti i numeri reali tra 1 e 2, estremi esclusi. Può anche essere un punto o un vettore, a seconda del contesto. $[1, 2]$ è l'intervallo chiuso: estremi inclusi. ::: ::: domanda Quali sono le nove lettere greche da sapere? $\alpha$ (alfa), $\varepsilon$ (epsilon), $\sigma$ (sigma), $\vartheta$ (theta), $\phi$ (fi), $\pi$ (pi greco), $\lambda$ (lambda), $\mu$ (mi), $\varrho$ (ro). ::: ::: domanda Come si toglie una radice dal numero sotto di una frazione? Si moltiplicano sopra e sotto per la stessa radice: $\frac 6{\sqrt 3} = \frac{6\sqrt 3}3 = 2\sqrt 3$. Se sotto c'è una differenza come $\sqrt 2 - 1$, si moltiplica sopra e sotto per $\sqrt 2 + 1$: sotto viene $(\sqrt 2)^2 - 1^2 = 1$. ::: ## Glossario ```glossario Insieme | Un sacchetto di oggetti, che si chiamano elementi. Si scrive con le graffe: $\{1, 3, 5\}$. Ordine e ripetizioni non contano. Appartenenza ($\in$) | $3 \in A$ vuol dire che 3 è un elemento di $A$. Il contrario si scrive $\notin$. Sottoinsieme ($\subset$) | $B \subset A$ vuol dire che ogni elemento di $B$ sta anche in $A$. Con $\subsetneq$ si aggiunge che $A$ ha qualcosa in più. Numeri naturali $\N$ | I numeri per contare: $0, 1, 2, 3, \dots$ Lo zero è compreso. Numeri interi $\Z$ | I naturali più i numeri negativi: $\dots, -2, -1, 0, 1, 2, \dots$ Numeri razionali $\Q$ | I numeri che si scrivono come frazione di due interi, con il numero sotto diverso da zero. Con la virgola finiscono o si ripetono. Numeri reali $\R$ | I numeri che possono avere infinite cifre dopo la virgola. In modo preciso: liste di frazioni che si avvicinano sempre di più tra loro. Numero irrazionale | Un numero reale che non è una frazione, come $\sqrt 2$, $\pi$, $e$. Successione | Una lista infinita di numeri, uno dopo l'altro: $a_1, a_2, a_3, \dots$ Successione di Cauchy | Una successione in cui, da un certo posto in poi, i termini distano tra loro meno di qualsiasi tolleranza scelta. Completezza | La proprietà di $\R$ di non avere buchi: ogni successione di Cauchy si avvicina a un numero reale. $\Q$ non è completo. Dimostrazione per assurdo | Si fa finta che sia vero il contrario di quello che si vuole dimostrare e si arriva a una cosa impossibile. Operazione binaria | Una regola che prende due numeri e ne restituisce uno, come la somma e il prodotto. Elemento neutro | Il numero che non cambia niente: lo 0 per la somma, l'1 per il prodotto. Opposto | L'opposto di $a$ è $-a$: sommati fanno 0. Per esempio l'opposto di 7 è $-7$. Inverso | L'inverso di $a$ è $a^{-1}$, cioè $\frac 1a$: moltiplicati fanno 1. Lo zero non ha inverso. Campo | Un insieme con somma e prodotto che rispettano le nove regole della Proposizione 1.5. $\Q$, $\R$ e $\C$ sì; $\N$ e $\Z$ no. Ordine | $a > b$ quando $a - b$ è positivo. $\R$ è ordinato, $\C$ no. Intervallo | Un pezzo della retta dei numeri. $(a, b)$ esclude gli estremi, $[a, b]$ li include. Quantificatori | I simboli $\forall$ ed $\exists$: si leggono «per ogni» ed «esiste». ``` ## Checklist ```checklist - So scrivere $\N$, $\Z$, $\Q$ con le parentesi giuste e so che in questo corso $0 \in \N$. - So spiegare con una domanda perché serve ogni famiglia nuova di numeri. - So trasformare un numero periodico in frazione e spiegare perché $0{,}\overline 9 = 1$. - So spiegare a parole che cos'è una successione di Cauchy e come definisce un numero reale. - So dire che cosa vuol dire che $\R$ è completo e $\Q$ no. - So rifare da solo la dimostrazione che $\sqrt 2$ non è razionale, spiegando ogni passo. - So elencare le nove regole di un campo e spiegare perché $\N$ e $\Z$ non sono campi. - So quando $a > b$ e quali sono i numeri positivi in $\Z$ e in $\Q$. - Non confondo $\{1, 2\}$, $(1, 2)$ e $[1, 2]$, e so leggere $\forall$, $\exists$, $\Longrightarrow$, $\Longleftrightarrow$. - So semplificare le radici e toglierle dal numero sotto di una frazione, senza calcolatrice. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 1 «Numeri reali», pp. 2–5: le sezioni 1.A–1.E sono seguite in ordine, con la pagina indicata accanto a ogni titolo; definizioni, proposizioni ed esempi mantengono la loro numerazione (Definizione 1.1, Esempi 1.2 e 1.3, Proposizioni 1.4 e 1.5). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §1.1 (insiemi numerici, dimostrazione per assurdo, sottoinsiemi, notazione insiemistica, quantificatori), §1.5 (strutture algebriche) e complemento 1.II (costruzione dei numeri reali). - **Pagina Moodle MDAG2 2026/27** ([id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)): calendario, dispense complete L01–L26, capitoli del libro trattati (1–5, 7–9, 11). - **Esame**: regole 2025/26 e testi degli appelli del 15/01/2026 e del 07/09/2026 (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); date degli appelli 2026/27 dalla bacheca Esse3. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (numeri periodici, lettura dei simboli, conti con le radici) collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L02_numeri_complessi_1.md` ```yaml corso: MDAG modulo: AG lezione: L02 titolo: Numeri complessi I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L02 descrizione: >- Appunti della lezione L02 di Algebra lineare e Geometria (MDAG, parte 2): i numeri complessi, somma e prodotto, parte reale e parte immaginaria, coniugato, modulo, inverso e divisione, il piano complesso e la regola del parallelogramma, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Nessun numero reale, moltiplicato per sé stesso, dà meno uno: qui si aggiunge un numero nuovo che lo fa. Poi si impara a fare i conti con i numeri che ne nascono e a disegnarli come punti di un foglio a quadretti. Sono i conti della prima domanda del quiz in molti appelli. materiale: dispense scheda: Dispense: lezione 2 · pp. 6–9 Libro: Martelli, §1.4.1–1.4.3 (pp. 25–27) Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 2 «Numeri complessi I»; B. Martelli, Geometria e algebra lineare, §1.4.1–1.4.3 ed Esercizio 1.4.3 appunti_html: appunti/MDAG/L02_numeri_complessi_1.html genera_html: true ``` ## In breve - Nessun numero reale, moltiplicato per sé stesso, dà meno uno. Si aggiunge allora un numero nuovo che lo fa: si chiama **unità immaginaria** e si scrive $i$. - Un **numero complesso** è fatto di due numeri reali, come $3 + 2i$. Si disegna come un punto su un foglio a quadretti: qui 3 passi a destra (la **parte reale**) e 2 passi in su (la **parte immaginaria**). - I conti si fanno come con una lettera qualsiasi. In più, ogni volta che compare $i \cdot i$, al suo posto si scrive $-1$. - Il **coniugato** è il punto visto allo specchio rispetto alla riga orizzontale: cambia solo il segno davanti alla $i$. Il **modulo** è la distanza del punto dal centro del foglio. - Per dividere si scrive la divisione come frazione. Poi si moltiplicano il numero sopra e il numero sotto per il coniugato di quello sotto: così sotto resta un numero reale. - I numeri complessi formano un **campo**, cioè valgono le nove regole dei conti della lezione L01. Però non si possono mettere in ordine dal più piccolo al più grande. - All'esame: in tre appelli la prima domanda del quiz chiedeva di trovare un numero complesso sconosciuto da un'uguaglianza come $(1 + i)z = 3 + 2i$. Si risolve con una divisione. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Una domanda senza risposta tra i numeri reali (p. 6) Alla fine della lezione L01 era rimasta una domanda senza risposta. La domanda è: quale numero, moltiplicato per sé stesso, dà $-1$? Con i simboli si scrive così: $$x^2 = -1$$ Si legge «$x$ al quadrato è uguale a meno uno». La lettera $x$ sta al posto del numero che cerchiamo. Il piccolo 2 in alto è il **quadrato**: vuol dire «moltiplicato per sé stesso». Per esempio $3^2 = 3 \cdot 3 = 9$, dove il puntino è il segno «per». Una scrittura così, con un uguale e una lettera da trovare, si chiama **equazione**. Un numero che, messo al posto della lettera, rende vera l'uguaglianza si chiama **soluzione** dell'equazione. ### Proviamo con i numeri reali I **numeri reali** sono tutti i numeri della lezione L01. Il loro insieme si indica con $\R$, che si legge «erre». Prendiamo qualche numero reale e calcoliamo il suo quadrato. | Numero | Il conto | Quadrato | |--:|---|--:| | $3$ | $3 \cdot 3$ | $9$ | | $-3$ | $(-3) \cdot (-3)$ | $9$ | | $\frac 12$ | $\frac 12 \cdot \frac 12$ | $\frac 14$ | | $-\frac 12$ | $\left(-\frac 12\right) \cdot \left(-\frac 12\right)$ | $\frac 14$ | | $0$ | $0 \cdot 0$ | $0$ | Guarda l'ultima colonna: non c'è nessun numero negativo. Non è un caso. Dipende dalla regola dei segni. > [!RIPASSO] la regola dei segni > Quando moltiplichi due numeri, il segno del risultato si decide così. > > - Più per più fa più: $3 \cdot 3 = 9$. > - Meno per meno fa più: $(-3) \cdot (-3) = 9$. > - Più per meno fa meno: $3 \cdot (-3) = -9$. > > Per avere un risultato negativo servono due numeri con segni **diversi**. Nel quadrato il numero è moltiplicato per sé stesso. I due numeri sono uguali, quindi hanno lo stesso segno. Restano tre casi. - Il numero è positivo: più per più fa più. Il quadrato è positivo. - Il numero è negativo: meno per meno fa più. Il quadrato è positivo. - Il numero è zero: il quadrato è zero. In nessuno dei tre casi il quadrato è negativo. Quindi nessun numero reale, al quadrato, dà $-1$. L'equazione di partenza non ha soluzioni tra i numeri reali. ### L'idea: aggiungere un numero Nella lezione L01 è già successo tre volte. Mancava la risposta a una domanda, e la famiglia dei numeri è stata allargata: dai naturali agli interi, dagli interi alle frazioni, dalle frazioni ai reali. Qui si fa lo stesso, per la quarta volta. > [!IDEA] > Ai numeri reali si aggiunge **un solo** numero nuovo, e si decide che il suo quadrato è $-1$. Poi si continua a fare i conti con le regole di sempre. I numeri che nascono così si chiamano **numeri complessi**. Le dispense li presentano come un **ampliamento** dei numeri reali, «costruito con lo scopo di ottenere migliori proprietà algebriche». A parole: una famiglia più grande, che contiene tutti i numeri reali, e in cui più equazioni hanno una soluzione. ### A che cosa servono Il guadagno è grande. Tra i numeri complessi ha una soluzione **ogni** equazione come quella di partenza, anche quando la $x$ è moltiplicata per sé stessa più di due volte. Questo risultato si chiama teorema fondamentale dell'algebra, e lo trovi nella lezione L04. È il motivo per cui il corso usa i numeri complessi. Torneranno quando cercherai gli **autovalori** di una matrice, nelle lezioni L17 e L18. Un autovalore è la soluzione di un'equazione, e a volte tra i numeri reali quella soluzione non c'è. All'esame i numeri complessi contano da subito. In tutti i 15 appelli dal 2024 al 2026 c'è almeno una domanda del quiz sui numeri complessi o sulle radici di un polinomio. In 11 appelli è la prima domanda. I dettagli sono nella sezione «Verso l'esame». ::: prova Quanto fa $(-4) \cdot (-4)$? E quanto fa $(-4)^2$? Meno per meno fa più: $(-4) \cdot (-4) = 16$. Il quadrato è lo stesso conto scritto in breve, quindi anche $(-4)^2 = 16$. ::: ::: prova Esiste un numero reale che al quadrato dà $-9$? No. Il quadrato di un numero reale è positivo oppure zero, mai negativo. Per esempio $3^2 = 9$ e $(-3)^2 = 9$: tutti e due positivi. ::: > [!RICORDA] > - Il quadrato di un numero reale non è mai negativo, perché meno per meno fa più. > - Quindi nessun numero reale, al quadrato, dà $-1$. > - I **numeri complessi** nascono aggiungendo ai numeri reali un numero nuovo, che al quadrato dà $-1$. > - Nel corso servono per le radici dei polinomi (lezione L04) e per gli autovalori (lezioni L17 e L18). ## Com'è fatto un numero complesso (p. 6) Il numero nuovo ha bisogno di un nome e di un simbolo. Si chiama **unità immaginaria** e si scrive con la lettera $i$. Ha una sola proprietà speciale: moltiplicata per sé stessa dà $-1$. $$i^2 = -1$$ Si legge «$i$ al quadrato è uguale a meno uno». Il nome «immaginaria» è rimasto dalla storia: quando fu inventata sembrava un numero finto. Oggi è un numero come gli altri, con cui si fanno conti precisi. Una cosa però è sicura: la $i$ **non è un numero reale**, perché nessun numero reale ha il quadrato negativo. ### Dalla i ai numeri complessi Con la $i$ si possono fare due cose. **Moltiplicarla per un numero reale.** Due volte $i$ si scrive $2i$. Meno cinque volte $i$ si scrive $-5i$. Tra il numero e la lettera il puntino del «per» non si scrive, come in $2\sqrt 3$ nella lezione L01. **Sommarle un numero reale.** Per esempio 3 più $2i$: $$3 + 2i$$ Si legge «tre più due $i$». Questo è un numero complesso. Il segno più tra i due pezzi **non si può eseguire**. Non c'è modo di fondere il 3 e il $2i$ in un numero solo, come non puoi fondere 3 mele e 2 pere. Il numero resta scritto così, con i suoi due pezzi: - il pezzo che sta da solo, qui 3; - il pezzo che moltiplica la $i$, qui 2. Tutti e due i pezzi sono numeri reali. Quindi un numero complesso è fatto di **due numeri reali**, più la lettera $i$ che li tiene separati. ### Un punto sul foglio a quadretti Due numeri fanno pensare a un punto su un foglio. > [!RIPASSO] il piano cartesiano > Su un foglio a quadretti disegna due righe che si incrociano: una orizzontale e una verticale. Si chiamano **assi**. Il punto in cui si incrociano si chiama **origine**. > > Ogni punto del foglio si raggiunge dall'origine con due indicazioni: quanti passi a destra e quanti passi in su. Un passo è un quadretto. I due numeri si scrivono tra parentesi tonde, in quest'ordine: $(3, 2)$ vuol dire «3 passi a destra e 2 passi in su». > > Un numero negativo vuol dire «dalla parte opposta». Il punto $(-1, 2)$ sta 1 passo a **sinistra** e 2 in su. Il punto $(3, -2)$ sta 3 passi a destra e 2 **in giù**. > > I due numeri si chiamano **coordinate** del punto. Il foglio con i due assi si chiama **piano cartesiano**. I numeri reali stanno tutti su una riga: la retta dei numeri della lezione L01. Per i numeri complessi una riga non basta, perché ognuno è fatto di due numeri. Serve tutto il foglio. La regola è questa. Il pezzo che sta da solo dice quanti passi fare a destra. Il pezzo che moltiplica la $i$ dice quanti passi fare in su. Per esempio, il numero $3 + 2i$ si raggiunge così: parti dall'origine, fai 3 passi a destra e poi 2 passi in su. ```grafico titolo: Il numero $3 + 2i$ è il punto che sta 3 passi a destra e 2 passi in su x: -1 5 y: -1 3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ segmento: 0 0 3 0 | ambra | spesso segmento: 3 0 3 2 | blu | spesso segmento: 0 2 3 2 | grigio | tratteggio punto: 3 2 | accento | $3 + 2i$ | ne testo: 1.5 -0.45 | ambra | "3 passi a destra" testo: 4 1 | blu | "2 passi in su" ``` Guarda la figura: il punto colorato è $3 + 2i$. Il tratto orizzontale segna i 3 passi a destra, quello verticale i 2 passi in su. Sull'asse orizzontale c'è scritto «Re» e su quello verticale «Im». Sono le prime lettere di «reale» e di «immaginaria»: tra poco vedrai perché. Questa immagine ti accompagna per tutta la lezione. ### Come lo scrivono le dispense Per parlare di un numero complesso qualsiasi servono due lettere al posto dei due pezzi. Le dispense usano $a$ per il pezzo che sta da solo e $b$ per quello che moltiplica la $i$. > [!DEF] 2.1 · Numeri complessi > Un **numero complesso** è un oggetto algebrico che si scrive nel modo seguente: > $$a + bi$$ > dove $a$ e $b$ sono numeri reali arbitrari e $i$ è un nuovo simbolo chiamato **unità immaginaria**. **Come si legge.** - $a + bi$ si legge «$a$ più $b$ $i$». La scrittura $bi$ vuol dire «$b$ per $i$». - Le lettere $a$ e $b$ stanno al posto di due numeri reali. «Arbitrari» vuol dire «qualsiasi»: positivi, negativi, zero, frazioni, radici. - «Oggetto algebrico» vuol dire: una scrittura con cui si fanno i conti. - Nel numero $3 + 2i$ di prima, $a$ vale 3 e $b$ vale 2. - Sul foglio: $a$ passi a destra e $b$ passi in su. È il punto di coordinate $(a, b)$. Le dispense danno cinque esempi. Per ognuno cerchiamo i due pezzi. | Numero complesso | $a$ | $b$ | Che cosa notare | |---|--:|--:|---| | $\sqrt 7$ | $\sqrt 7$ | $0$ | la $i$ non c'è: è come scrivere $\sqrt 7 + 0i$ | | $2 + i$ | $2$ | $1$ | la $i$ da sola vuol dire «1 per $i$» | | $23i$ | $0$ | $23$ | manca il pezzo da solo: è come scrivere $0 + 23i$ | | $4 - i$ | $4$ | $-1$ | $-i$ vuol dire «$-1$ per $i$» | | $-1 + \pi i$ | $-1$ | $\pi$ | $b$ può essere un numero reale qualsiasi, anche pi greco, cioè $\pi = 3{,}14\ldots$ | Il segno meno fa parte del numero $b$. In $4 - i$ il pezzo che moltiplica la $i$ è $-1$, non 1. Quando $b$ è una radice, di solito la $i$ si scrive davanti: $i\sqrt 3$ al posto di $\sqrt 3\,i$. Così non sembra che la $i$ stia sotto la radice. ### I nomi dei due pezzi I due pezzi hanno un nome, che userai per tutta la lezione. - Il numero $a$, quello che sta da solo, si chiama **parte reale**. - Il numero $b$, quello che moltiplica la $i$, si chiama **parte immaginaria**. Ecco perché nella figura gli assi sono segnati con «Re» e «Im». Sull'asse orizzontale leggi la parte reale. Su quello verticale leggi la parte immaginaria. > [!TRAPPOLA] La parte immaginaria non contiene la $i$ > La parte immaginaria è il numero reale $b$, **senza** la $i$. La parte immaginaria di $4 - i$ è $-1$. Non è $-i$. Due casi particolari tornano spesso. - **La parte immaginaria è zero.** Il numero è $a + 0i$, cioè soltanto $a$: è un numero reale. Quindi ogni numero reale è anche un numero complesso. Sul foglio sta sull'asse orizzontale, perché fa zero passi in su. - **La parte reale è zero.** Il numero è $0 + bi$, cioè soltanto $bi$. Si chiama **immaginario puro**. Tre esempi: $23i$, $-i$ e $i\sqrt 2$. Sul foglio sta sull'asse verticale, perché fa zero passi a destra. ### Quando due numeri complessi sono uguali Due punti del foglio coincidono quando hanno le stesse coordinate: stessi passi a destra, stessi passi in su. Per i numeri complessi vale la stessa cosa. Due numeri complessi sono uguali quando hanno **la stessa parte reale e la stessa parte immaginaria**. Servono tutte e due le cose insieme. Un esempio. Ti dicono che $x + yi$ è uguale a $3 - 2i$, dove $x$ e $y$ sono due numeri reali che non conosci. Allora li trovi subito. - Le parti reali devono essere uguali: $x = 3$. - Le parti immaginarie devono essere uguali: $y = -2$. Quindi un'uguaglianza tra numeri complessi vale **due** uguaglianze tra numeri reali. È il trucco che risolve molte equazioni: lo userai negli esercizi 7 e 13. Nelle dispense questa regola non è scritta a parte: è contenuta nel modo in cui si scrive un numero complesso. ::: prova Per ogni numero di' la parte reale e la parte immaginaria: (a) $5 + 3i$; (b) $2 - 7i$; (c) $-4i$; (d) $6$. (a) Parte reale $5$, parte immaginaria $3$. (b) Parte reale $2$, parte immaginaria $-7$. Il segno meno fa parte del numero. (c) Parte reale $0$, parte immaginaria $-4$. È un immaginario puro. (d) Parte reale $6$, parte immaginaria $0$. È un numero reale. ::: ::: prova In quale punto del foglio sta il numero $-2 + 3i$? La parte reale è $-2$: fai 2 passi a **sinistra**. La parte immaginaria è $3$: fai 3 passi in su. È il punto di coordinate $(-2, 3)$. ::: > [!RICORDA] > - L'**unità immaginaria** $i$ è un numero nuovo. La sua regola: $i^2 = -1$. > - Un **numero complesso** si scrive $a + bi$, con $a$ e $b$ numeri reali. Sul foglio è il punto che sta $a$ passi a destra e $b$ passi in su. > - $a$ è la **parte reale**, $b$ è la **parte immaginaria**. La parte immaginaria è un numero reale, senza la $i$. > - Due numeri complessi sono uguali quando hanno uguali tutte e due le parti. ## Sommare e moltiplicare (p. 6) I conti con i numeri complessi si fanno come i conti con una lettera. Le dispense lo dicono in una riga: i numeri complessi si sommano e si moltiplicano «nel modo usuale, tenendo a mente un'unica nuova relazione», cioè $i^2 = -1$. «Nel modo usuale» vuol dire: tratta la $i$ come una lettera qualsiasi e usa le regole di sempre. L'unica novità arriva nel prodotto. Ogni volta che compare $i^2$, cioè $i$ per $i$, al suo posto scrivi $-1$. ### La somma Pensa ai passi sul foglio. Fai 3 passi a destra e 2 in su. Poi fai ancora 1 passo a destra e 5 **in giù**. In tutto ti sei spostato di 4 passi a destra e di 3 in giù. Con i numeri complessi è lo stesso conto. I passi a destra si sommano tra loro: sono le parti reali. I passi in su si sommano tra loro: sono le parti immaginarie. È come sommare mele e pere: le mele con le mele, le pere con le pere. > [!ESEMPIO] · Somma e differenza > **La somma.** Calcoliamo $(3 + 2i) + (1 - 5i)$. > > 1. Somma le parti reali: $3 + 1 = 4$. > 2. Somma le parti immaginarie: $2 + (-5) = -3$. > 3. Rimetti insieme i due pezzi: il risultato è $4 - 3i$. > > Sul foglio: 4 passi a destra e 3 in giù, come nel racconto di prima. > > **La differenza.** Calcoliamo $(3 + 2i) - (1 - 5i)$. Il segno meno davanti a una parentesi cambia il segno di **tutti e due** i pezzi che ci sono dentro. > > 1. Togli la seconda parentesi cambiando i segni: $-(1 - 5i)$ diventa $-1 + 5i$. > 2. Somma le parti reali: $3 - 1 = 2$. > 3. Somma le parti immaginarie: $2 + 5 = 7$. > 4. Il risultato è $2 + 7i$. Le dispense scrivono la regola della somma con le lettere. Il primo numero è $a + bi$. Per il secondo servono altre due lettere: $c$ per la parte reale e $d$ per la parte immaginaria. $$(a + bi) + (c + di) = (a + c) + (b + d)i$$ A parole: la parte reale della somma è la somma delle parti reali. La parte immaginaria della somma è la somma delle parti immaginarie. ### Il prodotto Per il prodotto serve una regola di scuola: come si moltiplicano due parentesi. > [!RIPASSO] il prodotto di due parentesi > Per moltiplicare due somme, ogni pezzo della prima parentesi va moltiplicato per ogni pezzo della seconda. Poi si somma tutto. Con due pezzi per parentesi i prodotti sono **quattro**. > > Esempio con $(2 + 3) \cdot (4 + 1)$: > > | Quale prodotto | Conto | Risultato | > |---|---|--:| > | primo per primo | $2 \cdot 4$ | $8$ | > | primo per secondo | $2 \cdot 1$ | $2$ | > | secondo per primo | $3 \cdot 4$ | $12$ | > | secondo per secondo | $3 \cdot 1$ | $3$ | > > La somma dei quattro risultati è $8 + 2 + 12 + 3 = 25$. Controllo per l'altra strada: le due parentesi valgono 5 e 5, e $5 \cdot 5 = 25$. > > È la proprietà distributiva della lezione L01 (la regola 9), usata due volte. Ora lo stesso conto con due numeri complessi. Le dispense scelgono questo prodotto. > [!ESEMPIO] · Il prodotto delle dispense: $(7 + i)(4 - i) = 29 - 3i$ > **Primo passo: i quattro prodotti.** I pezzi della prima parentesi sono $7$ e $i$. I pezzi della seconda sono $4$ e $-i$. > > | Quale prodotto | Conto | Risultato | > |---|---|--:| > | primo per primo | $7 \cdot 4$ | $28$ | > | primo per secondo | $7 \cdot (-i)$ | $-7i$ | > | secondo per primo | $i \cdot 4$ | $4i$ | > | secondo per secondo | $i \cdot (-i)$ | $-i^2$ | > > **Secondo passo: la regola nuova.** Nell'ultima riga è comparso $i^2$. Al suo posto scrivi $-1$: > $$-i^2 = -(-1) = +1.$$ > > **Terzo passo: mettere insieme.** I pezzi senza la $i$ sono $28$ e $+1$: insieme fanno $29$. I pezzi con la $i$ sono $-7i$ e $4i$: insieme fanno $-3i$. > > Risultato: $(7 + i) \cdot (4 - i) = 29 - 3i$. I passi sono sempre questi tre. > [!METODO] Moltiplicare due numeri complessi > 1. Fai i quattro prodotti: ogni pezzo della prima parentesi per ogni pezzo della seconda. > 2. Dove compare $i^2$, scrivi $-1$. Quel pezzo **cambia segno** e perde la $i$. > 3. Somma tra loro i pezzi senza la $i$. Poi somma tra loro i pezzi con la $i$. > > Non serve una formula a memoria: bastano questi tre passi. Altri sei prodotti, tutti con lo stesso metodo. Due avvisi sulla scrittura. Un numero o una parentesi attaccati a un'altra parentesi vogliono dire «per»: il puntino si può non scrivere. E una scrittura come $(1 + i)^2$ vuol dire $(1 + i) \cdot (1 + i)$: il numero per sé stesso. | Prodotto | I prodotti pezzo per pezzo | Con $-1$ al posto di $i^2$ | Risultato | |---|---|---|--:| | $3(2 - i)$ | $6 - 3i$ | non c'è $i^2$ | $6 - 3i$ | | $i(2 + 3i)$ | $2i + 3i^2$ | $2i - 3$ | $-3 + 2i$ | | $(1 + 2i)(3 - i)$ | $3 - i + 6i - 2i^2$ | $3 - i + 6i + 2$ | $5 + 5i$ | | $(1 + i)^2$ | $1 + i + i + i^2$ | $1 + i + i - 1$ | $2i$ | | $(2 + 3i)^2$ | $4 + 6i + 6i + 9i^2$ | $4 + 6i + 6i - 9$ | $-5 + 12i$ | | $(1 + i)(1 - i)$ | $1 - i + i - i^2$ | $1 - i + i + 1$ | $2$ | Nella prima riga un numero reale moltiplica un numero complesso: basta moltiplicare per 3 tutti e due i pezzi. L'ultimo prodotto dà un numero **reale**: la $i$ è sparita. Non è un caso, e lo capirai nella sezione sul modulo. ### La formula con le lettere Le dispense scrivono i tre passi una volta per tutte, con le lettere: $$(a + bi) \cdot (c + di) = ac + bci + adi + bd\,i^2 = (ac - bd) + (ad + bc)i$$ Si legge da sinistra a destra. Prima ci sono i quattro prodotti. Poi, al posto di $i^2$, si scrive $-1$: l'ultimo pezzo cambia segno. Alla fine i pezzi senza la $i$ stanno nella prima parentesi, quelli con la $i$ nella seconda. Una scrittura come $ac$ vuol dire «$a$ per $c$»: tra due lettere il puntino non si scrive. Nel prodotto c'è un segno meno che nella somma non c'era. Viene tutto dalla regola della $i$. > [!TRAPPOLA] Non si moltiplica «pezzo per pezzo» > La somma si fa pezzo per pezzo. Il prodotto **no**. > > Prendi $(1 + 2i)(3 - i)$. Se moltiplichi solo le parti reali tra loro e le parti immaginarie tra loro, ottieni $3 - 2i$. È sbagliato: mancano i due prodotti «incrociati», primo per secondo e secondo per primo. Il risultato giusto è $5 + 5i$. > > Secondo errore tipico: trattare $i^2$ come $+1$. Nello stesso conto verrebbe $1 + 5i$, sbagliato anche questo. ### Tutti i numeri complessi insieme L'insieme di tutti i numeri complessi si indica con $\C$, che si legge «ci». È una C con un tratto doppio, come la $\R$ dei numeri reali. Nella lezione L01 le famiglie dei numeri stavano una dentro l'altra: i naturali $\N$, gli interi $\Z$, i razionali $\Q$ e i reali $\R$. Ora la catena ha un anello in più: $$\N \subsetneq \Z \subsetneq \Q \subsetneq \R \subsetneq \C$$ Si legge da sinistra a destra: i naturali stanno dentro gli interi, gli interi dentro i razionali, i razionali dentro i reali, i reali dentro i complessi. Il simbolo $\subsetneq$ vuol dire «è contenuto strettamente in»: la famiglia a destra contiene quella a sinistra, e ha qualcosa in più. Che cosa ha in più $\C$ rispetto a $\R$? Per esempio la $i$: è un numero complesso, ma non è un numero reale. I conti tra numeri reali, invece, restano quelli di sempre. Con il metodo nuovo, 2 per 3 fa ancora 6: i pezzi con la $i$ valgono zero e spariscono. In una parola: $\C$ **estende** $\R$. Aggiunge numeri nuovi senza toccare quelli vecchi. > [!APPROFONDIMENTO] da dove vengono davvero i numeri complessi > Nella storia i numeri complessi sono nati dalle equazioni in cui compare $x^3$, cioè $x \cdot x \cdot x$. Nel Cinquecento Gerolamo Cardano pubblicò una formula per risolvere equazioni come $x^3 = 15x + 4$. Questa equazione ha la soluzione reale $x = 4$: infatti $4 \cdot 4 \cdot 4 = 64$, e anche $15 \cdot 4 + 4 = 64$. > > La formula di Cardano, però, per arrivare a quel 4 chiede di calcolare la radice quadrata di $-121$, che tra i numeri reali non esiste. Rafael Bombelli ebbe l'idea di andare avanti lo stesso, trattandola come un numero qualsiasi: quello che oggi scriviamo $11i$. In fondo ai conti trovò che la soluzione è la somma di $2 + i$ e di $2 - i$, cioè proprio 4. Nell'esercizio 4 rifai il passaggio centrale del suo conto. > > I numeri «immaginari» servivano a trovare un numero reale. ::: prova Quanto fa $i \cdot (3 + i)$? I prodotti sono due: $i \cdot 3 = 3i$ e $i \cdot i = i^2 = -1$. Risultato: $-1 + 3i$. ::: ::: prova Quanto fa $(1 + i)(2 + i)$? I quattro prodotti: $1 \cdot 2 = 2$, poi $1 \cdot i = i$, poi $i \cdot 2 = 2i$, poi $i \cdot i = i^2 = -1$. Pezzi senza la $i$: $2 - 1 = 1$. Pezzi con la $i$: $i + 2i = 3i$. Risultato: $1 + 3i$. ::: > [!RICORDA] > - **Somma:** parte reale con parte reale, parte immaginaria con parte immaginaria. > - **Prodotto:** quattro prodotti, poi $-1$ al posto di $i^2$, poi si raccolgono i pezzi. > - Il prodotto **non** si fa pezzo per pezzo. > - L'insieme dei numeri complessi è $\C$, e contiene $\R$. ## Le potenze di i: un giro ogni quattro (oltre le dispense) Che cosa succede se moltiplichi l'unità immaginaria per sé stessa tante volte? > [!RIPASSO] le potenze > Una **potenza** è una moltiplicazione ripetuta. La scrittura $2^3$ si legge «2 alla terza» e vuol dire $2 \cdot 2 \cdot 2 = 8$: il 2 compare tre volte. > > Il numero piccolo in alto si chiama **esponente**. Dice quante volte compare il numero scritto sotto. Con l'esponente 2 si legge «al quadrato». > > Due casi particolari. Un numero «alla prima» è il numero stesso: $2^1 = 2$. Un numero diverso da zero «alla zero» vale 1, per convenzione: $2^0 = 1$. Calcoliamo le potenze di $i$ una alla volta. Ogni potenza è quella di prima, moltiplicata ancora una volta per $i$. | Potenza | Il conto | Risultato | |---|---|--:| | $i^1$ | è la $i$ stessa | $i$ | | $i^2$ | è la regola della $i$ | $-1$ | | $i^3$ | $i^2 \cdot i = (-1) \cdot i$ | $-i$ | | $i^4$ | $i^3 \cdot i = (-i) \cdot i = -i^2 = -(-1)$ | $1$ | | $i^5$ | $i^4 \cdot i = 1 \cdot i$ | $i$ | | $i^6$ | $i^5 \cdot i = i \cdot i$ | $-1$ | Alla quarta potenza si arriva a 1. Moltiplicare per 1 non cambia niente, quindi dalla quinta potenza in poi tutto ricomincia da capo. I risultati sono sempre gli stessi quattro, nello stesso ordine: $i$, $-1$, $-i$, $1$. Sul foglio i quattro risultati sono quattro punti intorno all'origine, tutti a un passo di distanza: in alto, a sinistra, in basso, a destra. ```grafico titolo: Le potenze di $i$ girano su quattro punti: $1$, $i$, $-1$, $-i$. Poi ricominciano x: -2.4 2.4 y: -1.8 1.8 nomi: $\operatorname{Re}$ $\operatorname{Im}$ cerchio: 0 0 1 | grigio | tratteggio arco: 0 0 1.25 0.2 1.37 | ambra arco: 0 0 1.25 1.77 2.94 | ambra arco: 0 0 1.25 3.34 4.51 | ambra arco: 0 0 1.25 4.91 6.08 | ambra punto: 1 0 | accento | $i^0 = i^4 = 1$ | ne punto: 0 1 | blu | $i^1 = i^5 = i$ | ne punto: -1 0 | viola | $i^2 = i^6 = -1$ | no punto: 0 -1 | verde | $i^3 = i^7 = -i$ | se ``` Guarda la figura: a ogni moltiplicazione per $i$ si passa al punto successivo, girando in senso antiorario, cioè al contrario delle lancette dell'orologio. Dopo quattro passi il giro è completo e si torna al punto di partenza. ### Il metodo: guardare il resto Per un esponente grande non serve fare tutti i giri. Basta sapere quanti passi avanzano dopo l'ultimo giro completo. > [!RIPASSO] la divisione con il resto > Dividere 15 per 4 «con il resto» vuol dire chiedersi: quante volte il 4 sta nel 15, e quanto avanza? > > Il 4 ci sta 3 volte, perché $4 \cdot 3 = 12$. Avanza $15 - 12 = 3$. Si scrive $15 = 4 \cdot 3 + 3$. Il 3 che avanza si chiama **resto**. > > Quando dividi per 4, il resto può essere solo 0, 1, 2 oppure 3. Proviamo con $i^{15}$. Sono quindici $i$ moltiplicate tra loro. Raggruppale a quattro a quattro. - Vengono 3 gruppi da quattro, e avanzano 3 lettere: è la divisione $15 = 4 \cdot 3 + 3$. - Ogni gruppo da quattro è $i^4$, che vale 1. Moltiplicare per 1 non cambia niente. - Restano le 3 lettere avanzate: $i^3$, che vale $-i$. Quindi $i^{15} = -i$. Conta solo il resto. > [!METODO] Calcolare una potenza di $i$ > 1. Dividi l'esponente per 4 e guarda il **resto**. > 2. Leggi il risultato in questa tabella. > > | Resto | $0$ | $1$ | $2$ | $3$ | > |---|---|---|---|---| > | Risultato | $1$ | $i$ | $-1$ | $-i$ | Tre esempi. | Potenza | Divisione dell'esponente per 4 | Resto | Risultato | |---|---|--:|--:| | $i^{15}$ | $15 = 4 \cdot 3 + 3$ | $3$ | $-i$ | | $i^{100}$ | $100 = 4 \cdot 25 + 0$ | $0$ | $1$ | | $i^{2026}$ | $2026 = 4 \cdot 506 + 2$ | $2$ | $-1$ | La prima potenza serve nell'esercizio 6. Un aiuto per i numeri grandi: per trovare il resto della divisione per 4 bastano **le ultime due cifre**. Il motivo è che 100 è un multiplo di 4, quindi le centinaia non lasciano resto. Per 2026 guardi solo 26: siccome $26 = 4 \cdot 6 + 2$, il resto è 2. ### C'è un secondo numero con il quadrato uguale a meno uno Anche $-i$, al quadrato, dà $-1$. Il conto è questo: $$(-i)^2 = (-i) \cdot (-i) = i \cdot i = -1$$ Nel secondo passaggio i due segni meno spariscono, perché meno per meno fa più. Quindi l'equazione da cui siamo partiti, $x^2 = -1$, tra i numeri complessi ha **due** soluzioni: $i$ e $-i$. > [!ESAME] Le potenze della $i$ in un appello > Nell'appello del 05/02/2026 la domanda 1 chiedeva quale numero **non** è soluzione di $z^{2026} = -1$. Tra le risposte c'erano $i$ e $-i$: per scartarle bisognava controllare che $i^{2026}$ e $(-i)^{2026}$ valgono $-1$. Le altre risposte richiedono la lezione L03. ::: prova Quanto valgono $i^6$, $i^{23}$ e $i^{40}$? $i^6$: la divisione è $6 = 4 \cdot 1 + 2$, resto 2. Quindi $i^6 = -1$. $i^{23}$: la divisione è $23 = 4 \cdot 5 + 3$, resto 3. Quindi $i^{23} = -i$. $i^{40}$: la divisione è $40 = 4 \cdot 10 + 0$, resto 0. Quindi $i^{40} = 1$. ::: ::: prova Quanto vale $i^{1001}$? Usa le ultime due cifre dell'esponente. Le ultime due cifre sono 01, cioè 1. Il resto della divisione per 4 è 1. Quindi $i^{1001} = i$. ::: > [!RICORDA] > - Le potenze di $i$ si ripetono ogni quattro: $i$, $-1$, $-i$, $1$, e poi da capo. > - Per calcolare una potenza di $i$ si divide l'esponente per 4 e si guarda il resto. > - Anche $-i$ al quadrato dà $-1$: l'equazione $x^2 = -1$ ha due soluzioni complesse. ## Le regole dei conti: un campo senza ordine (pp. 6–7) Nei conti delle sezioni precedenti hai usato le regole di sempre senza pensarci. Hai raccolto i pezzi nell'ordine più comodo. Hai moltiplicato le parentesi un pezzo alla volta. Chi garantisce che con i numeri complessi queste regole valgano ancora? Le dispense lo mettono nero su bianco in una proposizione. **Ricorda (lezione L01).** Le regole dei conti sono nove. - Lo 0 nella somma e l'1 nel prodotto non cambiano niente: sono le regole 1 e 5. - L'ordine non conta, né nella somma né nel prodotto: regole 2 e 6. Per esempio $2 \cdot 5 = 5 \cdot 2$. - Con tre numeri puoi cominciare da dove vuoi: regole 3 e 7. - Ogni numero ha un **opposto**, e sommati fanno 0: regola 4. Per esempio $7 + (-7) = 0$. - Ogni numero diverso da 0 ha un **inverso**, e moltiplicati fanno 1: regola 8. Per esempio $4 \cdot \frac 14 = 1$. - Moltiplicare una somma è come moltiplicare i due pezzi e poi sommare: regola 9. Un insieme di numeri in cui valgono tutte e nove si chiama **campo**. ### Le stesse regole, con i numeri complessi Proviamo alcune di queste regole con i numeri complessi. **Regola 6: nel prodotto l'ordine non conta.** Moltiplica $1 + i$ per $2 + 3i$, e poi $2 + 3i$ per $1 + i$. I quattro prodotti sono gli stessi, in un ordine diverso: $2$, $3i$, $2i$ e $3i^2$, che vale $-3$. Il risultato è $-1 + 5i$ tutte e due le volte. **Regole 1 e 5: lo zero e l'uno.** Lo zero dei numeri complessi è $0 + 0i$, cioè il solito 0. Sul foglio è l'origine. L'uno è $1 + 0i$, cioè il solito 1. **Regola 4: l'opposto.** L'opposto di un numero complesso si trova cambiando il segno a tutti e due i pezzi. L'opposto di $3 + 2i$ è $-3 - 2i$. Controllo: sommandoli, le parti reali danno $3 - 3 = 0$ e le parti immaginarie danno $2 - 2 = 0$. **Regola 8: l'inverso.** È l'unica regola che richiede un conto vero. Quale numero, moltiplicato per $2 + i$, dà 1? A occhio non si capisce. Lo troviamo nella sezione sull'inverso e sulla divisione. ### Come lo scrivono le dispense Nella proposizione qui sotto c'è un cambio di lettere a cui fare attenzione. Finora $a$ e $b$ erano i due pezzi di un numero complesso. Qui invece $a$, $b$ e $c$ sono tre numeri complessi **interi**, ognuno con i suoi due pezzi. > [!PROP] 2.2 > Con l'addizione e la moltiplicazione definite sopra, l'insieme $\C$ ha le seguenti proprietà: > 1. esiste l'**elemento neutro** $0$ per l'addizione $+$, per cui $0 + a = a + 0 = a$, $\forall a \in \C$; > 2. vale la proprietà **commutativa** $a + b = b + a$, $\forall a, b \in \C$; > 3. vale la proprietà **associativa** $a + (b + c) = (a + b) + c$, $\forall a, b, c \in \C$; > 4. ogni elemento $a \in \C$ ha un **inverso** (o **opposto**) $-a$, per cui $a + (-a) = (-a) + a = 0$; > 5. esiste l'**elemento neutro** $1$ per la moltiplicazione, per cui $1 \cdot a = a \cdot 1 = a$, $\forall a \in \C$; > 6. vale la proprietà **commutativa** $a \cdot b = b \cdot a$, $\forall a, b \in \C$; > 7. vale la proprietà **associativa** $a \cdot (b \cdot c) = (a \cdot b) \cdot c$, $\forall a, b, c \in \C$; > 8. ogni elemento $a \in \C$ con $a \neq 0$ ha un **inverso** $a^{-1}$, per cui $a \cdot a^{-1} = a^{-1} \cdot a = 1$; > 9. vale la proprietà **distributiva** $a \cdot (b + c) = a \cdot b + a \cdot c$, $\forall a, b, c \in \C$. **Come si legge.** - Il simbolo $\forall$, una A rovesciata, si legge «per ogni». Il simbolo $\in$ si legge «appartiene a». - La scrittura $\forall a \in \C$ si legge «per ogni $a$ che appartiene a $\C$». Vuol dire: qualunque numero complesso tu metta al posto della lettera. - Ogni riga è una delle nove regole dell'elenco di prima, con le lettere al posto dei numeri. «Elemento neutro» è il numero che non cambia niente. «Commutativa» vuol dire che l'ordine non conta. «Associativa» vuol dire che puoi cominciare da dove vuoi. «Distributiva» è la regola 9. - $-a$ è l'opposto di $a$. La scrittura $a^{-1}$, con un piccolo $-1$ in alto, è l'inverso di $a$: si legge «$a$ alla meno uno». - $a \neq 0$ si legge «$a$ diverso da zero». Anche tra i numeri complessi lo zero non ha inverso. Sono le stesse nove righe della Proposizione 1.5 della lezione L01, con $\C$ al posto di $\R$. Le dispense concludono: «Allora, come $\R$, anche $\C$ è un **campo**.» Da qui in poi, quando il corso scrive «un campo $\K$», pensa quasi sempre a uno di questi due: $\R$ oppure $\C$. La lettera $\K$ si legge «kappa», e torna nella lezione L05. ### Una lettera sola per un numero complesso Un'abitudine di scrittura, che da qui in poi useremo sempre. Per non riscrivere ogni volta i due pezzi, a un numero complesso si dà un nome di una sola lettera. Di solito è $z$, che si legge «zeta». Se ne serve un secondo si usa $w$, che si legge «vu doppia». Per esempio: «prendiamo $z = 3 + 2i$» vuol dire che da lì in poi la lettera $z$ sta al posto di quel numero. > [!OLTRE] · che cosa ci guadagni > Siccome valgono le nove regole, con i numeri complessi funzionano tutti i modi di fare i conti che conosci per i numeri reali. Uno servirà nella lezione L04: se un prodotto fa zero, almeno uno dei due numeri è zero. Si chiama **legge di annullamento del prodotto**. ### I numeri complessi non si possono mettere in fila C'è però una cosa che i numeri reali hanno e i numeri complessi no: l'ordine. Sulla retta dei numeri, tra due numeri diversi ce n'è sempre uno più a destra: è il maggiore (lezione L01). Per esempio $7 > 4$. Il simbolo $>$ si legge «è maggiore di», e il simbolo rovesciato $<$ si legge «è minore di». Su un foglio questo non funziona più. Prendi un punto più a destra ma più in basso, e un punto più a sinistra ma più in alto. Quale dei due sarebbe «il maggiore»? Non c'è una risposta sensata. Le dispense lo scrivono con un punto esclamativo: $\C$ **non è ordinato**, cioè «non esiste una nozione di maggiore e minore fra numeri complessi». È una differenza rispetto a tutte le famiglie viste prima, perché $\N$, $\Z$, $\Q$ e $\R$ sono tutte ordinate. Il motivo, in una riga delle dispense: in un campo ordinato un quadrato è sempre positivo, ma qui il quadrato di $i$ è $-1$, che è negativo. > [!NOTA] La dimostrazione serve per capire, non per l'esame > Il fatto «$\C$ è un campo, ma non è ordinato» va ricordato. La dimostrazione completa invece serve solo per capire: è nel riquadro qui sotto, e puoi saltarla. > [!DIM] · perché $\C$ non si può ordinare > In un campo ordinato come $\R$ i numeri positivi rispettano due regole. > > - **Regola A.** Il prodotto di due numeri positivi è positivo. > - **Regola B.** Preso un numero diverso da zero, **uno solo** tra lui e il suo opposto è positivo. Per esempio tra $3$ e $-3$ è positivo solo $3$. > > **Primo fatto: in un campo ordinato il quadrato di un numero diverso da zero è positivo.** Se il numero è positivo, lo dice la regola A. Se è negativo, il suo opposto è positivo per la regola B. E un numero e il suo opposto hanno lo stesso quadrato, perché meno per meno fa più: per esempio $(-3)^2 = 3^2$. > > **Secondo fatto: in $\C$ questo porta a una cosa impossibile.** Si ragiona per assurdo, come nella lezione L01: facciamo finta che $\C$ abbia un ordine con queste due regole. > > 1. Il numero $1$ è il quadrato di $1$. Per il primo fatto, $1$ è positivo. > 2. Il numero $-1$ è il quadrato di $i$. Per il primo fatto, anche $-1$ è positivo. > 3. Ma $1$ e $-1$ sono uno l'opposto dell'altro. Per la regola B non possono essere positivi tutti e due. > > Siamo arrivati a una cosa impossibile. Quindi un ordine così, in $\C$, non esiste. > > Una precisazione. I numeri complessi si possono mettere in fila in qualche modo, per esempio guardando prima la parte reale e poi la parte immaginaria. Ma nessuna fila rispetta le regole dei conti: «non ordinato» vuol dire questo. > [!TRAPPOLA] Niente «maggiore» e «minore» tra numeri complessi > Scritture come $3i > 2i$ oppure $1 + i < 2$ **non hanno senso**: non sono né vere né false. Si possono confrontare solo i numeri **reali** legati a un numero complesso: la parte reale, la parte immaginaria, e il modulo che vedrai tra due sezioni. ::: prova Vero o falso: $2i > i$? Né vero né falso: la scrittura non ha senso. Tra numeri complessi non esistono «maggiore» e «minore». ::: ::: prova Tra $\Z$, $\R$ e $\C$: quali sono campi? Quali sono ordinati? $\R$ e $\C$ sono campi. $\Z$ no: per esempio il 2 non ha un inverso tra gli interi (lezione L01). $\Z$ e $\R$ sono ordinati. $\C$ no. ::: > [!RICORDA] > - In $\C$ valgono le stesse nove regole dei conti di $\R$: anche $\C$ è un **campo**. > - L'opposto di un numero complesso si trova cambiando il segno a tutti e due i pezzi. > - $\C$ **non è ordinato**: tra due numeri complessi non ha senso chiedere quale sia il maggiore. ## Parte reale, parte immaginaria e coniugato (p. 7) I due pezzi di un numero complesso hanno un nome dall'inizio della lezione. Adesso ricevono anche un simbolo. Prendiamo $z = 3 + 4i$. - La sua parte reale è 3. Si scrive $\operatorname{Re}(z) = 3$ e si legge «la parte reale di zeta è 3». - La sua parte immaginaria è 4. Si scrive $\operatorname{Im}(z) = 4$ e si legge «la parte immaginaria di zeta è 4». Sono le sigle «Re» e «Im» che hai già visto sugli assi delle figure. Tutti e due i simboli funzionano come una piccola macchina: entra un numero complesso, esce un numero **reale**. Le dispense lo scrivono così. > [!DEF] Parte reale e parte immaginaria (p. 7) > Sia $z = a + bi$ un numero complesso. I numeri $a$ e $b$ sono detti rispettivamente la **parte reale** e la **parte immaginaria** di $z$. Scriviamo $a = \operatorname{Re}(z)$ e $b = \operatorname{Im}(z)$. Il numero $z$ è reale, cioè appartiene al sottoinsieme $\R \subset \C$, se e solo se la sua parte immaginaria è nulla. **Come si legge.** - «Sia $z = a + bi$» vuol dire: prendiamo un numero complesso e chiamiamolo $z$. - «Sono detti rispettivamente» vuol dire: il primo numero, $a$, si chiama parte reale. Il secondo, $b$, si chiama parte immaginaria. - $\R \subset \C$ si legge «erre è contenuto in ci». Vuol dire che ogni numero reale è anche un numero complesso. Il simbolo $\subset$ è quello della lezione L01. - «Nulla» vuol dire «uguale a zero». - «Se e solo se» vuol dire che le due cose sono vere insieme oppure false insieme. Qui: un numero complesso è reale esattamente quando la sua parte immaginaria è zero. ### Il coniugato: il punto allo specchio Torna al foglio. Il numero $3 + 2i$ sta 3 passi a destra e 2 passi in su. Ora appoggia uno specchio lungo l'asse orizzontale. Nello specchio il punto si vede dall'altra parte: sempre 3 passi a destra, ma 2 passi **in giù**. È il numero $3 - 2i$. ```grafico titolo: Il coniugato è il riflesso del punto, con lo specchio messo lungo l'asse orizzontale x: -1 5 y: -3 3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ segmento: 3 2 3 -2 | grigio | tratteggio punto: 3 2 | accento | $z = 3 + 2i$ | ne punto: 3 -2 | viola | $\bar z = 3 - 2i$ | se testo: 1.2 0.3 | "lo specchio" ``` Guarda la figura: i due punti stanno uno sopra e uno sotto l'asse orizzontale, alla stessa distanza. Il punto riflesso si chiama **coniugato**. Per trovarlo non serve il disegno: basta cambiare il segno davanti alla $i$. La parte reale resta com'è. Il coniugato di un numero $z$ si scrive con una lineetta sopra: $\bar z$. Si legge «zeta coniugato», oppure «zeta segnato». Quando l'espressione è lunga la lineetta copre tutto: $\overline{z + w}$ è il coniugato della somma. > [!DEF] Coniugato (p. 7) > Il **coniugio** (o **coniugato**) di $z = a + bi$ è il numero complesso > $$\bar z = a - bi$$ > ottenuto da $z$ cambiando il segno della sua parte immaginaria. **Come si legge.** «Coniugio» e «coniugato» sono due nomi della stessa cosa. La formula dice: se un numero ha parte reale $a$ e parte immaginaria $b$, il suo coniugato ha parte reale $a$ e parte immaginaria $-b$. Cambia **solo** il segno della parte immaginaria. Qualche esempio, con le due parti e il coniugato. | $z$ | $\operatorname{Re}(z)$ | $\operatorname{Im}(z)$ | $\bar z$ | |---|--:|--:|---| | $3 + 4i$ | $3$ | $4$ | $3 - 4i$ | | $-2 + i$ | $-2$ | $1$ | $-2 - i$ | | $1 - 3i$ | $1$ | $-3$ | $1 + 3i$ | | $5i$ | $0$ | $5$ | $-5i$ | | $7$ | $7$ | $0$ | $7$ | Guarda l'ultima riga: il numero 7 è uguale al suo coniugato. Sul foglio si capisce perché. Il 7 sta sull'asse orizzontale, cioè proprio sullo specchio, e un punto sullo specchio coincide con il suo riflesso. Succede per tutti i numeri reali, e solo per loro. Le dispense lo scrivono con i simboli: $z \in \R \iff z = \bar z$. La freccia a due punte si legge «se e solo se». Tutta la riga si legge: «zeta appartiene a erre se e solo se zeta è uguale a zeta coniugato». Il perché, con i conti. Se un numero è uguale al suo coniugato, le due parti immaginarie devono essere uguali: $b = -b$. L'unico numero uguale al suo opposto è lo zero. Quindi la parte immaginaria è zero, e il numero è reale. > [!OLTRE] · quattro regole utili sul coniugato > Prendiamo $z = 3 + 4i$, che ha coniugato $\bar z = 3 - 4i$. > > | Che cosa calcoli | Con $z = 3 + 4i$ | In generale, con $z = a + bi$ | > |---|---|---| > | il numero più il coniugato | $(3 + 4i) + (3 - 4i) = 6$ | $z + \bar z = 2a$: sempre un numero reale | > | il numero meno il coniugato | $(3 + 4i) - (3 - 4i) = 8i$ | $z - \bar z = 2bi$: sempre un immaginario puro | > | il coniugato del coniugato | da $3 - 4i$ si torna a $3 + 4i$ | $\bar{\bar z} = z$ | > | il coniugato di una somma o di un prodotto | il controllo è qui sotto | $\overline{z + w} = \bar z + \bar w$ e $\overline{zw} = \bar z\,\bar w$ | > > L'ultima riga dice che puoi coniugare prima o dopo aver fatto il conto: il risultato non cambia. Un controllo con i numeri: il prodotto di $1 + 2i$ e $3 - i$ è $5 + 5i$. Il prodotto dei loro coniugati è $5 - 5i$. La dimostrazione con le lettere è nell'esercizio 8. ::: prova Scrivi parte reale, parte immaginaria e coniugato di $z = -2 + 5i$. $\operatorname{Re}(z) = -2$ e $\operatorname{Im}(z) = 5$. Il coniugato cambia il segno davanti alla $i$: $\bar z = -2 - 5i$. ::: ::: prova Quanto fa $z + \bar z$ quando $z = 4 - 9i$? Il coniugato è $4 + 9i$. La somma è $(4 - 9i) + (4 + 9i) = 8$. Le parti immaginarie si cancellano, e resta il doppio della parte reale. ::: > [!RICORDA] > - $\operatorname{Re}(z)$ è la parte reale di $z$, e $\operatorname{Im}(z)$ è la parte immaginaria. Sono due numeri reali. > - Il **coniugato** $\bar z$ si ottiene cambiando il segno davanti alla $i$. Sul foglio è il riflesso rispetto all'asse orizzontale. > - Un numero è uguale al suo coniugato esattamente quando è reale. ## Il modulo: la distanza dall'origine (p. 7) Di un punto sul foglio ci si può chiedere quanto è lontano dall'origine. Prendiamo $3 + 4i$: 3 passi a destra e 4 passi in su. Camminando lungo i quadretti, i passi sono 7. Ma la distanza si misura in linea retta, lungo la diagonale. Quanto è lunga? Il tratto a destra, il tratto in su e la diagonale formano un triangolo con un angolo retto. Per un triangolo così c'è il teorema di Pitagora. > [!RIPASSO] il teorema di Pitagora > In un triangolo con un angolo retto, i due lati corti si chiamano *cateti* e il lato lungo si chiama *ipotenusa*. > > Il teorema dice: il quadrato di un cateto, più il quadrato dell'altro cateto, è uguale al quadrato dell'ipotenusa. > > Con i cateti lunghi 3 e 4: $3^2 + 4^2 = 9 + 16 = 25$. Questo è il quadrato dell'ipotenusa. L'ipotenusa è il numero positivo che al quadrato dà 25, cioè la **radice quadrata** di 25: $\sqrt{25} = 5$. ```grafico titolo: $\lvert 3 + 4i \rvert = 5$: il modulo è l'ipotenusa di un triangolo con cateti $3$ e $4$ x: -1 5 y: -1 5 nomi: $\operatorname{Re}$ $\operatorname{Im}$ poligono: 0 0 3 0 3 4 | blu | tenue vettore: 3 4 | accento | spesso | $3 + 4i$ | ne testo: 1.5 -0.35 | $3$ testo: 3.35 2 | $4$ testo: 1.1 2.3 | accento | $\lvert z \rvert = 5$ ``` Guarda la figura: i due cateti sono lunghi 3 e 4, la diagonale è lunga 5. Quindi il punto $3 + 4i$ dista 5 dall'origine. Questa distanza si chiama **modulo** del numero complesso. Si scrive con due barre verticali: $|z|$, che si legge «modulo di zeta». Per il nostro numero, $|3 + 4i| = 5$. Il conto si fa sempre con gli stessi quattro passi. 1. Fai il quadrato della parte reale. 2. Fai il quadrato della parte immaginaria. 3. Somma i due quadrati. 4. Fai la radice quadrata della somma. Ecco i quattro passi su sei numeri. | $z$ | Somma dei due quadrati | $\lvert z \rvert$ | |---|---|--:| | $3 + 4i$ | $9 + 16 = 25$ | $5$ | | $1 - i$ | $1 + 1 = 2$ | $\sqrt 2$ | | $1 + 2i$ | $1 + 4 = 5$ | $\sqrt 5$ | | $-5$ | $25 + 0 = 25$ | $5$ | | $2i$ | $0 + 4 = 4$ | $2$ | | $5 - 12i$ | $25 + 144 = 169$ | $13$ | Nella seconda riga la parte immaginaria è $-1$, e il suo quadrato è 1. Il segno meno sparisce sempre, perché meno per meno fa più. Quando la somma non è un quadrato perfetto, come 2 oppure 5, la radice resta scritta così: $\sqrt 2$, $\sqrt 5$ (lezione L01). Le dispense scrivono i quattro passi in una formula. > [!DEF] Modulo (p. 7) > Il **modulo** di $z = a + bi$ è il numero reale > $$|z| = \sqrt{a^2 + b^2}.$$ **Come si legge.** «Il modulo di zeta è la radice quadrata di $a$ al quadrato più $b$ al quadrato.» Sono i quattro passi di prima, scritti con le lettere: $a$ è la parte reale, $b$ è la parte immaginaria. Il risultato è un numero **reale** e non è mai negativo, perché è una distanza. Due osservazioni. **Le barre sono quelle del valore assoluto.** Nella lezione L01 le due barre indicavano il valore assoluto, cioè il numero senza il segno meno. Non è un caso. Per un numero reale il modulo è proprio il valore assoluto: nella quarta riga della tabella, il modulo di $-5$ è 5. Sulla retta dei numeri è la distanza dallo zero. **Quando il modulo è zero.** Le dispense osservano che il modulo è nullo quando $z = 0$, ed è «strettamente positivo» in tutti gli altri casi. A parole: l'unico punto a distanza zero dall'origine è l'origine stessa. Con i conti: i due quadrati non sono mai negativi, e la loro somma fa zero solo se sono zero tutti e due. ### Un numero per il suo coniugato Ora mettiamo insieme il coniugato e il modulo. Moltiplichiamo $3 + 4i$ per il suo coniugato. > [!ESEMPIO] · Il prodotto $(3 + 4i)(3 - 4i)$ > I quattro prodotti: > > | Quale prodotto | Conto | Risultato | > |---|---|--:| > | primo per primo | $3 \cdot 3$ | $9$ | > | primo per secondo | $3 \cdot (-4i)$ | $-12i$ | > | secondo per primo | $4i \cdot 3$ | $12i$ | > | secondo per secondo | $4i \cdot (-4i)$ | $-16i^2$ | > > I due pezzi con la $i$ sono $-12i$ e $12i$. Sommati fanno zero, e spariscono. > > L'ultimo pezzo: al posto di $i^2$ scrivi $-1$, e viene $-16 \cdot (-1) = 16$. > > Risultato: $9 + 16 = 25$. È un numero reale. Ed è $5^2$, cioè il quadrato del modulo. Non è una coincidenza. Con qualunque numero complesso succedono le stesse due cose: i pezzi con la $i$ si cancellano, e restano i due quadrati sommati. Le dispense lo scrivono così: $$z \cdot \bar z = (a + bi) \cdot (a - bi) = a^2 + b^2 = |z|^2$$ Si legge: «zeta per zeta coniugato è uguale al modulo di zeta, al quadrato». È la formula più usata della lezione. Ora si capisce anche l'ultima riga della tabella dei sei prodotti. Lì $(1 + i)(1 - i)$ dava 2. Sono un numero e il suo coniugato, e i due quadrati sommati fanno $1 + 1 = 2$. > [!IDEA] · il coniugato fa sparire la $i$ > Un numero complesso moltiplicato per il suo coniugato dà sempre un numero **reale**, mai negativo: il quadrato del modulo. È il modo per liberarsi della $i$. Su questo si basano l'inverso e la divisione. > [!TRAPPOLA] Il quadrato del modulo non è il quadrato del numero > Le scritture $|z|^2$ e $z^2$ indicano due cose diverse. La prima è sempre un numero reale. La seconda di solito no. > > | $z$ | $\lvert z \rvert^2$ | $z^2$ | > |---|--:|--:| > | $i$ | $1$ | $-1$ | > | $1 + i$ | $2$ | $2i$ | > > Secondo errore: il modulo **non** è la somma delle due parti. Il modulo di $3 + 4i$ è 5, non $3 + 4 = 7$. ::: prova Calcola il modulo di $4 + 3i$, di $1 + i$ e di $-2i$. $|4 + 3i|$: i due quadrati sono 16 e 9. La somma è 25, e $\sqrt{25} = 5$. $|1 + i|$: i due quadrati sono 1 e 1. La somma è 2. Il modulo è $\sqrt 2$. $|-2i|$: la parte reale è 0, la parte immaginaria è $-2$. I due quadrati sono 0 e 4. La somma è 4, e $\sqrt 4 = 2$. ::: ::: prova Quanto fa $(2 + i)(2 - i)$? Rispondi senza fare i quattro prodotti. Sono un numero e il suo coniugato. Il prodotto è il quadrato del modulo: $2^2 + 1^2 = 4 + 1 = 5$. ::: > [!RICORDA] > - Il **modulo** $|z|$ è la distanza del punto dall'origine. Si calcola con Pitagora: $|a + bi| = \sqrt{a^2 + b^2}$. > - Il modulo è un numero reale, mai negativo. Vale zero solo per il numero zero. > - Un numero per il suo coniugato dà il quadrato del modulo: $z \cdot \bar z = |z|^2$. È un numero reale. ## L'inverso e la divisione (pp. 7–8) Manca ancora un'operazione: la divisione. La regola 8 del campo promette che ogni numero complesso diverso da zero ha un inverso. Ma come si trova? Prendiamo $2 + i$. Il suo inverso è «1 diviso $2 + i$», cioè la frazione $$\frac 1{2 + i}$$ Così com'è, questa scrittura non dice dove sta il punto sul foglio. Vogliamo riscriverla nella forma solita, con una parte reale e una parte immaginaria. Il problema è la $i$ che sta **sotto** la linea di frazione. Nella lezione L01 c'era un problema simile: una radice sotto la linea di frazione. Si risolveva moltiplicando sopra e sotto per un numero scelto bene, che faceva sparire la radice. Qui si fa lo stesso, e il numero giusto lo conosci già: è il **coniugato** del numero sotto. Un numero per il suo coniugato dà un numero reale, quindi la $i$ sotto sparisce. > [!RIPASSO] moltiplicare sopra e sotto per lo stesso numero > In una frazione il numero sopra la linea si chiama *numeratore*, quello sotto si chiama *denominatore*. > > Se moltiplichi sopra e sotto per lo stesso numero, diverso da zero, la frazione non cambia valore. Per esempio $\frac 12 = \frac{1 \cdot 3}{2 \cdot 3} = \frac 36$: mezza torta è uguale a tre sesti di torta. > > Il motivo: moltiplicare sopra e sotto per 3 è come moltiplicare per $\frac 33$, che vale 1. > [!ESEMPIO] 2.3 · Gli inversi di $i$ e di $2 + i$ > **L'inverso di $2 + i$.** Partiamo dalla frazione $\frac 1{2 + i}$. > > 1. Il numero sotto è $2 + i$. Il suo coniugato è $2 - i$. > 2. Moltiplica sopra e sotto per $2 - i$. Sopra viene $1 \cdot (2 - i) = 2 - i$. > 3. Sotto viene $(2 + i)(2 - i)$: un numero per il suo coniugato. È il quadrato del modulo, cioè $2^2 + 1^2 = 5$. > 4. La frazione è diventata $\frac{2 - i}5$. Sotto c'è un numero reale, quindi si divide un pezzo alla volta: $\frac 25 - \frac 15 i$. > > Con i simboli delle dispense: > $$(2 + i)^{-1} = \frac{2 - i}{|2 + i|^2} = \frac{2 - i}5.$$ > > **Controllo.** L'inverso, moltiplicato per il numero, deve dare 1: > $$(2 + i) \cdot \frac{2 - i}5 = \frac{(2 + i)(2 - i)}5 = \frac 55 = 1.$$ > > **L'inverso di $i$.** Le dispense dicono: l'inverso di $i$ è $-i$. Infatti $i \cdot (-i) = -i^2 = -(-1) = 1$. Con il metodo di prima viene lo stesso: il coniugato di $i$ è $-i$, e il quadrato del modulo di $i$ è $0^2 + 1^2 = 1$. Quindi l'inverso è $\frac{-i}1 = -i$. Il metodo funziona con qualunque numero complesso diverso da zero. Le dispense lo scrivono in una formula. > [!PROP] · Inverso di un numero complesso (p. 7) > Come nei numeri razionali e reali, ogni numero complesso $z \neq 0$ ha un **inverso** $z^{-1}$ rispetto all'operazione di moltiplicazione, dato da > $$z^{-1} = \frac{\bar z}{|z|^2}.$$ **Come si legge.** - $z \neq 0$ si legge «zeta diverso da zero». Lo zero non ha inverso, come tra i numeri reali. - $z^{-1}$ si legge «zeta alla meno uno». È l'inverso di $z$, cioè il numero che moltiplicato per $z$ dà 1. Si scrive anche $\frac 1z$. - La formula dice: l'inverso è il coniugato, diviso per il quadrato del modulo. - Sotto la linea c'è il quadrato del modulo, che è un numero reale e non è zero. Per questo la divisione si fa un pezzo alla volta. Con le due parti in vista, la stessa formula diventa: $$(a + bi)^{-1} = \frac{a - bi}{a^2 + b^2} = \frac{a}{a^2 + b^2} - \frac{b}{a^2 + b^2}\,i$$ **Perché funziona.** Le dispense lo controllano moltiplicando il numero per il suo inverso. Deve venire 1: $$z \cdot z^{-1} = \frac{z \cdot \bar z}{|z|^2} = \frac{|z|^2}{|z|^2} = 1$$ Nel secondo passaggio si usa la formula della sezione precedente: un numero per il suo coniugato dà il quadrato del modulo. Così sopra e sotto c'è lo stesso numero, e la frazione vale 1. Un altro inverso, con lo stesso metodo. Il numero $3 + 4i$ ha coniugato $3 - 4i$, e il quadrato del suo modulo è $9 + 16 = 25$. Quindi il suo inverso è $\frac{3 - 4i}{25}$, cioè $\frac 3{25} - \frac 4{25}i$. ### Dividere due numeri complessi Dividere per un numero vuol dire moltiplicare per il suo inverso. In pratica si usa lo stesso trucco: si moltiplica sopra e sotto per il coniugato del numero sotto. > [!METODO] Dividere due numeri complessi > 1. Scrivi la divisione come frazione. > 2. Trova il coniugato del numero **sotto**. > 3. Moltiplica sopra e sotto per quel coniugato. > 4. Sotto ottieni il quadrato del modulo, che è un numero reale. Sopra fai i quattro prodotti. > 5. Dividi per il numero sotto sia la parte reale sia la parte immaginaria del numero sopra. > 6. **Controllo:** moltiplica il risultato per il numero che stava sotto. Devi ritrovare il numero che stava sopra. > [!ESEMPIO] · La divisione $\frac{4 + 3i}{1 + 2i}$ > 1. Il numero sotto è $1 + 2i$. Il suo coniugato è $1 - 2i$. > 2. Sotto: $(1 + 2i)(1 - 2i)$ è il quadrato del modulo, cioè $1^2 + 2^2 = 5$. > 3. Sopra: $(4 + 3i)(1 - 2i)$. I quattro prodotti sono $4$, $-8i$, $3i$ e $-6i^2$. L'ultimo vale $+6$. > 4. Raccogli sopra. Pezzi senza la $i$: $4 + 6 = 10$. Pezzi con la $i$: $-8i + 3i = -5i$. Sopra c'è $10 - 5i$. > 5. Dividi per 5 tutti e due i pezzi: $\frac{10 - 5i}5 = 2 - i$. > > **Controllo.** Moltiplica $2 - i$ per $1 + 2i$. I quattro prodotti sono $2$, $4i$, $-i$ e $-2i^2 = +2$. In tutto $4 + 3i$: è il numero che stava sopra. > [!TRAPPOLA] Non si divide «pezzo per pezzo» > La frazione $\frac{4 + 3i}{1 + 2i}$ **non** è $\frac 41 + \frac 32 i$. Il risultato giusto, calcolato qui sopra, è $2 - i$. Se moltiplichi il risultato sbagliato per $1 + 2i$ ottieni $1 + \frac{19}2 i$, non $4 + 3i$. > > Si può dividere un pezzo alla volta solo quando sotto c'è un numero **reale**. Per questo il primo passo è sempre far diventare reale il numero sotto. ### Equazioni con un numero complesso da trovare Con la divisione si risolvono le equazioni in cui il numero da trovare è moltiplicato per un numero noto. > [!RIPASSO] un'equazione di primo grado > Un'equazione come $2x = 6$ chiede: quale numero, moltiplicato per 2, dà 6? Si risolve dividendo per 2 tutti e due i lati: $x = \frac 62 = 3$. Controllo: $2 \cdot 3 = 6$. > > «Di primo grado» vuol dire che la lettera compare da sola, senza quadrati o altre potenze. Con i numeri complessi si fa nello stesso modo. Prendi questa equazione: $$(1 + 2i) \cdot z = 4 + 3i$$ Chiede: quale numero complesso, moltiplicato per $1 + 2i$, dà $4 + 3i$? Si divide per $1 + 2i$ tutti e due i lati: $$z = \frac{4 + 3i}{1 + 2i}$$ Questa divisione l'abbiamo appena fatta: viene $z = 2 - i$. > [!ESAME] Il tipo di domanda più diretto > Trovare un numero complesso da un'equazione così è stata la domanda 1 del quiz negli appelli del 08/02/2024, del 03/06/2025 e del 03/06/2026. Il metodo è sempre lo stesso: svolgi i prodotti, dividi con il coniugato, **controlla moltiplicando**. Le tre domande sono svolte nella sezione «Verso l'esame». ::: prova Qual è l'inverso di $1 + i$? Il coniugato è $1 - i$. Il quadrato del modulo è $1 + 1 = 2$. L'inverso è $\frac{1 - i}2$, cioè $\frac 12 - \frac 12 i$. ::: ::: prova Calcola $\frac{1 + i}{1 - i}$. Il coniugato del numero sotto è $1 + i$. Sotto viene $1 + 1 = 2$. Sopra viene $(1 + i)(1 + i)$: i quattro prodotti sono $1$, $i$, $i$ e $i^2 = -1$, in tutto $2i$. Dividi per 2: il risultato è $i$. Controllo: $i \cdot (1 - i) = i - i^2 = 1 + i$, che è il numero che stava sopra. ::: ::: prova Risolvi l'equazione $i \cdot z = 3$. Dividi per $i$: $z = \frac 3i$. Il coniugato di $i$ è $-i$. Sopra: $3 \cdot (-i) = -3i$. Sotto: $i \cdot (-i) = 1$. Quindi $z = -3i$. Controllo: $i \cdot (-3i) = -3i^2 = 3$. ::: > [!RICORDA] > - L'inverso di $z$ è il coniugato diviso per il quadrato del modulo: $z^{-1} = \frac{\bar z}{|z|^2}$. > - Per dividere, moltiplica sopra e sotto per il **coniugato del numero sotto**: sotto resta un numero reale. > - Alla fine controlla sempre moltiplicando. > - Un'equazione come $(1 + 2i)z = 4 + 3i$ si risolve dividendo. ## Il piano complesso (pp. 8–9) Fin dall'inizio abbiamo disegnato i numeri complessi come punti di un foglio a quadretti. Adesso quel foglio riceve il suo nome. Le dispense lo dicono così: mentre i numeri reali formano una **retta**, i numeri complessi formano un **piano**, che si chiama **piano complesso**. Ogni numero complesso $a + bi$ corrisponde al punto di coordinate $(a, b)$ del piano cartesiano. Anche i due assi hanno un nome. - L'asse orizzontale si chiama **asse reale**. È la vecchia retta dei numeri: contiene tutti i numeri reali, cioè i numeri con la parte immaginaria uguale a zero. - L'asse verticale si chiama **asse immaginario**. Contiene tutti gli immaginari puri, cioè i numeri del tipo $bi$. Le dispense usano anche due parole di scuola: l'asse orizzontale è l'asse delle *ascisse*, quello verticale è l'asse delle *ordinate*. ```grafico titolo: Nel piano complesso il numero $a + bi$ è il punto $(a, b)$: la parte reale si legge in orizzontale, la parte immaginaria in verticale x: -4 4 y: -3 3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ segmento: 2 0 2 1 | grigio | tratteggio segmento: 0 1 2 1 | grigio | tratteggio vettore: 2 1 | accento | $2 + i$ | ne punto: -1 2 | blu | $-1 + 2i$ | no punto: -3 0 | ambra | $-3$ | n punto: 0 2 | viola | $2i$ | ne punto: -2 -2 | rosa | $-2 - 2i$ | so punto: 3 -2 | verde | $3 - 2i$ | se ``` Guarda la figura. Il numero $-3$ sta sull'asse reale. Il numero $2i$ sta sull'asse immaginario. Il numero $-2 - 2i$ sta in basso a sinistra: 2 passi a sinistra e 2 in giù. ### Punto oppure freccia Nella figura il numero $2 + i$ è disegnato come una freccia, non come un punto. Per le dispense è la stessa cosa. Un numero complesso si può vedere come un punto, oppure come un **vettore** «applicato nell'origine» e diretto verso quel punto. Un vettore è una freccia: parte dall'origine e arriva nel punto. Puoi pensarla come un'istruzione di spostamento: «2 passi a destra e 1 in su». I vettori sono i protagonisti del corso dalla lezione L05 in poi. Con la freccia il modulo ha un significato ancora più diretto: è la **lunghezza della freccia**. Le dispense lo fanno notare nella lezione L03. ### Coniugato e opposto nel piano Il coniugato lo conosci già: è il riflesso rispetto all'asse reale. Anche questo le dispense lo dicono nella lezione L03. L'**opposto** di un numero si ottiene cambiando il segno a tutti e due i pezzi. L'opposto di $3 + 2i$ è $-3 - 2i$: 3 passi a sinistra e 2 in giù. Sul piano sta dall'altra parte dell'origine, alla stessa distanza. È come far fare alla freccia mezzo giro intorno all'origine. ```grafico titolo: Coniugato: simmetria rispetto all'asse reale. Opposto: simmetria rispetto all'origine x: -6 6 y: -3 3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ segmento: 3 2 3 -2 | grigio | tratteggio segmento: 3 2 -3 -2 | grigio | tratteggio vettore: 3 2 | accento | $z = 3 + 2i$ | ne vettore: 3 -2 | viola | $\bar z = 3 - 2i$ | se vettore: -3 -2 | ambra | $-z = -3 - 2i$ | so ``` Guarda la figura: la freccia in basso a destra è il coniugato, quella in basso a sinistra è l'opposto. Non confonderli. Il coniugato cambia **un** segno, l'opposto ne cambia **due**. ### La somma: la regola del parallelogramma Nella sezione sulla somma abbiamo sommato i passi: quelli a destra tra loro, quelli in su tra loro. Sul piano questo conto diventa un disegno. Le dispense usano due numeri che chiamano $z_1$ e $z_2$. Si legge «zeta uno» e «zeta due». I numerini in basso servono solo a distinguere il primo numero dal secondo. Prendiamo $z_1 = 1 + 3i$ e $z_2 = 4 + i$. Prima la somma con i conti. - Parti reali: $1 + 4 = 5$. - Parti immaginarie: $3 + 1 = 4$. Quindi la somma è $5 + 4i$. Ora con il disegno. Parti dall'origine e segui la freccia di $z_1$: 1 passo a destra e 3 in su. Da lì fai lo spostamento di $z_2$: 4 passi a destra e 1 in su. Arrivi nel punto $5 + 4i$. Se fai prima lo spostamento di $z_2$ e poi quello di $z_1$, arrivi nello stesso punto. È la regola 2: in una somma l'ordine non conta. I due percorsi disegnano una figura con quattro lati, paralleli a due a due: un **parallelogramma**. Le sue quattro punte si chiamano **vertici**. Tre vertici stanno nell'origine, in $z_1$ e in $z_2$. Il quarto vertice è la somma. ```grafico titolo: La Figura 2 delle dispense: $z_1 = 1 + 3i$, $z_2 = 4 + i$, $z_1 + z_2 = 5 + 4i$ x: -1 7 y: -1 5 nomi: $\operatorname{Re}$ $\operatorname{Im}$ poligono: 0 0 1 3 5 4 4 1 | ambra | tenue segmento: 1 3 5 4 | grigio | tratteggio segmento: 4 1 5 4 | grigio | tratteggio vettore: 1 3 | accento | $z_1$ | no vettore: 4 1 | blu | $z_2$ | se vettore: 5 4 | ambra | spesso | $z_1 + z_2$ | ne ``` Questa costruzione si chiama **regola del parallelogramma**. È lo stesso modo in cui si sommano i vettori del piano, che ritroverai nella lezione L05. > [!OLTRE] · la differenza e la distanza tra due punti > La differenza $z - w$ è la freccia che va **dal punto $w$ al punto $z$**. La sua lunghezza, cioè il suo modulo, è la **distanza** tra i due punti. > > Esempio: la distanza tra $1 + i$ e $4 + 5i$. > > 1. Fai la differenza: $(4 + 5i) - (1 + i) = 3 + 4i$. > 2. Calcola il modulo: i due quadrati sono 9 e 16, la somma è 25, la radice è 5. > > I due punti distano 5. > > Con le lettere, se $z = a + bi$ e $w = p + qi$: > $$|z - w| = \sqrt{(a - p)^2 + (b - q)^2}.$$ > È la formula della distanza tra due punti del piano cartesiano. > > Da qui viene un fatto che serve nell'esercizio 9. Fissa un punto $c$ e un numero positivo $r$. I punti $z$ che distano $r$ da $c$ formano una **circonferenza**: quella di centro $c$ e raggio $r$. Con i simboli, sono i punti con $|z - c| = r$. ### E il prodotto? Per le dispense il prodotto di due numeri complessi è «apparentemente più complicato» da disegnare. Si capisce bene solo con le coordinate polari, nella lezione L03. Un assaggio però si può già dare: **moltiplicare per $i$ fa girare il punto di un quarto di giro** intorno all'origine, in senso antiorario. Proviamo due volte di seguito, partendo da $2 + i$. | Conto | Pezzo per pezzo | Risultato | Dove sta il punto | |---|---|---|---| | $i \cdot (2 + i)$ | $2i + i^2$ | $-1 + 2i$ | 1 passo a sinistra, 2 in su | | $i \cdot (-1 + 2i)$ | $-i + 2i^2$ | $-2 - i$ | 2 passi a sinistra, 1 in giù | ```grafico titolo: Moltiplicare per $i$ fa ruotare di $90°$ attorno all'origine (anticipo della lezione L03) x: -3 3 y: -3 3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ arco: 0 0 0.8 0.4636 2.0344 | grigio arco: 0 0 0.8 2.0344 3.6052 | grigio vettore: 2 1 | accento | $z = 2 + i$ | ne vettore: -1 2 | blu | $iz = -1 + 2i$ | no vettore: -2 -1 | ambra | $i^2 z = -2 - i$ | so ``` Guarda la figura: le tre frecce sono lunghe uguali, e tra una freccia e la successiva c'è un angolo retto, cioè un angolo di 90 gradi. È lo stesso giro che hai visto con le potenze di $i$. Lì il punto di partenza era 1. ### Prova con lo strumento Lo strumento qui sotto mostra queste operazioni sul piano. Ecco che cosa provare. - Nel modo **z + w** trascina i due punti $z$ e $w$. Il parallelogramma si aggiorna, e sotto il disegno leggi la somma con le sue due parti. - Scegli poi il modo **coniugato e inverso di z**. Vedi il coniugato, specchiato rispetto all'asse reale, e l'inverso, scritto $1/z$. La barra obliqua vuol dire «diviso». - Trascina $z$ lontano dall'origine e poi vicino. Quando il modulo di $z$ è più grande di 1, l'inverso sta **dentro** il cerchio di raggio 1. Quando è più piccolo di 1, l'inverso sta **fuori**. Il motivo è nell'esercizio 8: il modulo dell'inverso è 1 diviso il modulo del numero. ```widget complessi titolo: Somma, coniugato e inverso nel piano complesso z: 1+3i w: 4+i modo: somma modi: somma coniugato raggio: 6 ``` ::: prova I punti $0$, $2 + i$ e $1 + 3i$ sono tre vertici di un parallelogramma. Qual è il quarto vertice, quello opposto all'origine? È la somma. Parti reali: $2 + 1 = 3$. Parti immaginarie: $1 + 3 = 4$. Il quarto vertice è $3 + 4i$. ::: ::: prova Moltiplica $1 + i$ per $i$. Dove finisce il punto? $i \cdot (1 + i) = i + i^2 = -1 + i$. Il punto stava 1 passo a destra e 1 in su. Ora sta 1 passo a sinistra e 1 in su: ha fatto un quarto di giro in senso antiorario. ::: > [!RICORDA] > - I numeri complessi sono i punti del **piano complesso**: $a + bi$ è il punto $(a, b)$. > - L'**asse reale** è quello orizzontale, l'**asse immaginario** è quello verticale. > - La somma segue la **regola del parallelogramma**: è il quarto vertice. > - Il modulo è la lunghezza della freccia. Il modulo di una differenza è la distanza tra i due punti. ## Disegnare insiemi di numeri complessi (oltre le dispense) Un tipo di esercizio chiede di disegnare tutti i numeri complessi che rispettano una condizione. Le dispense non spiegano il metodo, ma lo chiedono nel loro esercizio 2.6, che qui è l'esercizio 9. L'idea è sempre la stessa: tradurre la condizione in una frase sul punto, e poi riconoscere la figura. L'insieme da disegnare è scritto con le parentesi graffe, come nella lezione L01. Per esempio: $$\{z \in \C \mid \operatorname{Re}(z) = 2\}$$ Si legge: «l'insieme dei numeri complessi $z$ per cui la parte reale di $z$ è uguale a 2». Le graffe dicono che è un insieme. La barretta verticale si legge «per cui». Dopo la barretta c'è la condizione. ### Cinque condizioni, una alla volta **La parte reale è uguale a 2.** La parte reale dice quanti passi a destra. I punti che vanno bene stanno tutti 2 passi a destra dell'origine, a qualunque altezza. Formano una **retta verticale**. **La parte immaginaria è maggiore di 1.** Vanno bene i punti che stanno più in alto dell'altezza 1. Formano un **semipiano**, cioè una metà del piano: quella sopra la retta orizzontale di altezza 1. La retta è esclusa, perché lì la parte immaginaria è uguale a 1, non maggiore. **Il modulo è uguale a 3.** Il modulo è la distanza dall'origine. I punti a distanza 3 dall'origine formano una **circonferenza**: il centro è l'origine, il raggio è 3. **La distanza dal punto $i$ è al massimo 1.** Con i simboli si scrive $|z - i| \le 1$. Il simbolo $\le$ si legge «minore o uguale». Il modulo di una differenza è la distanza tra i due punti. Vanno bene i punti sulla circonferenza di centro $i$ e raggio 1, e anche tutti quelli dentro. La figura piena si chiama **disco**. **La distanza da 1 è uguale alla distanza da meno 1.** Con i simboli si scrive $|z - 1| = |z + 1|$. Attenzione al secondo modulo: sommare 1 è come sottrarre $-1$, quindi è la distanza dal punto $-1$. I punti che distano ugualmente dai due numeri stanno a metà strada: formano l'**asse immaginario**. ### Il metodo con le coordinate Quando la figura non si riconosce a occhio, si passa alle coordinate del punto. > [!METODO] Da una condizione a un disegno > 1. Scrivi $z = x + yi$, dove $x$ e $y$ sono due numeri reali: le coordinate del punto. > 2. Riscrivi i pezzi della condizione con $x$ e $y$, usando la tabella qui sotto. > 3. Se la condizione è un'uguaglianza tra numeri complessi, spezzala in due: parti reali uguali, parti immaginarie uguali. > 4. Riconosci la figura: retta, semipiano, circonferenza, disco. > > | Scrittura | Con $x$ e $y$ | > |---|---| > | $\operatorname{Re}(z)$ | $x$ | > | $\operatorname{Im}(z)$ | $y$ | > | $\bar z$ | $x - yi$ | > | $\lvert z \rvert$ | $\sqrt{x^2 + y^2}$ | > | $\lvert z - c \rvert$ | la distanza del punto $z$ dal punto $c$ | Le cinque condizioni di prima, riscritte con il metodo. | Condizione | Con $x$ e $y$ | Figura | |---|---|---| | $\operatorname{Re}(z) = 2$ | $x = 2$ | retta verticale | | $\operatorname{Im}(z) > 1$ | $y > 1$ | semipiano sopra la retta $y = 1$, retta esclusa | | $\lvert z \rvert = 3$ | $x^2 + y^2 = 9$ | circonferenza di centro $0$ e raggio $3$ | | $\lvert z - i \rvert \le 1$ | $x^2 + (y - 1)^2 \le 1$ | disco di centro $i$ e raggio $1$, bordo compreso | | $\lvert z - 1 \rvert = \lvert z + 1 \rvert$ | $x = 0$ | l'asse immaginario | L'ultima riga non si indovina a occhio. Controlliamola con i conti. 1. La prima differenza è $z - 1 = (x - 1) + yi$. Il quadrato del suo modulo è $(x - 1)^2 + y^2$. 2. La seconda è $z + 1 = (x + 1) + yi$. Il quadrato del suo modulo è $(x + 1)^2 + y^2$. 3. Due moduli sono uguali quando sono uguali i loro quadrati: $$(x - 1)^2 + y^2 = (x + 1)^2 + y^2.$$ 4. Svolgi i due quadrati. Il primo è $(x - 1)(x - 1)$, cioè $x^2 - 2x + 1$. Il secondo è $(x + 1)(x + 1)$, cioè $x^2 + 2x + 1$. 5. Togli da tutti e due i lati i pezzi uguali: $x^2$, $1$ e $y^2$. Resta $-2x = 2x$. 6. Togli $2x$ da tutti e due i lati: resta $-4x = 0$. Quindi $x = 0$. I punti con $x = 0$ fanno zero passi a destra: sono quelli dell'asse immaginario. Un ultimo esempio in figura: il disco di centro $1 + i$ e raggio 2. ```grafico titolo: Il disco $\lvert z - (1 + i) \rvert \le 2$: tutti i punti a distanza al più $2$ dal centro $1 + i$ x: -2 4 y: -2 4 nomi: $\operatorname{Re}$ $\operatorname{Im}$ poligono: 3 1 2.932 1.518 2.732 2 2.414 2.414 2 2.732 1.518 2.932 1 3 0.482 2.932 0 2.732 -0.414 2.414 -0.732 2 -0.932 1.518 -1 1 -0.932 0.482 -0.732 0 -0.414 -0.414 0 -0.732 0.482 -0.932 1 -1 1.518 -0.932 2 -0.732 2.414 -0.414 2.732 0 2.932 0.482 | blu punto: 1 1 | blu | $1 + i$ | so segmento: 1 1 3 1 | accento | $2$ | n ``` > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli questa lezione corrisponde al §1.4, parti 1.4.1 «Definizione», 1.4.2 «Coniugio, norma e inverso» (con l'Esempio 1.4.1, che è il 2.3 delle dispense) e 1.4.3 «Il piano complesso», alle pp. 25–27 del libro. L'Esercizio 1.4.3 (p. 30) elenca le proprietà del modulo e del coniugato, tra cui quelle dell'esercizio 2.5 delle dispense. Il §1.5.3 (p. 36) spiega i campi in generale. ::: prova Che figura formano i numeri complessi con $|z| = 2$? Sono i punti a distanza 2 dall'origine: la circonferenza di centro $0$ e raggio 2. ::: ::: prova Che figura formano i numeri complessi con $|z - 3| < 1$? $|z - 3|$ è la distanza dal punto 3. Vanno bene i punti a distanza **minore** di 1: il disco di centro 3 e raggio 1, senza il bordo. ::: > [!RICORDA] > - Parte reale uguale a un numero: una retta verticale. Parte immaginaria uguale a un numero: una retta orizzontale. > - $|z - c| = r$ è la circonferenza di centro $c$ e raggio $r$. Con $\le$ al posto dell'uguale è il disco pieno. > - Nei casi meno chiari scrivi $z = x + yi$ e traduci la condizione con $x$ e $y$. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $i$ | «i» | l'unità immaginaria: il numero nuovo, con il quadrato uguale a $-1$ | $i \cdot i = -1$ | | $a + bi$ | «a più b i» | un numero complesso: $a$ passi a destra e $b$ passi in su | $3 + 2i$ | | $\R$ | «erre» | l'insieme dei numeri reali | $-3,\ \sqrt 2$ | | $\C$ | «ci» | l'insieme dei numeri complessi | $3 + 2i$ | | $\K$ | «kappa» | un campo: nel corso, $\R$ oppure $\C$ | | | $z$, $w$ | «zeta», «vu doppia» | nomi di una lettera per un numero complesso | $z = 3 + 2i$ | | $z_1$, $z_2$ | «zeta uno», «zeta due» | due numeri complessi: il numerino in basso li distingue | $z_1 = 1 + 3i$ | | $\in$ | «appartiene a» | sta dentro l'insieme | $i \in \C$ | | $\subset$ | «è contenuto in» | tutti gli elementi del primo insieme stanno nel secondo | $\R \subset \C$ | | $\subsetneq$ | «è contenuto strettamente in» | è contenuto, e il secondo ha qualcosa in più | $\R \subsetneq \C$ | | $\forall$ | «per ogni» | vale qualunque elemento tu scelga | $\forall a \in \C$ | | $\iff$ | «se e solo se» | le due frasi sono vere insieme o false insieme | $z \in \R \iff z = \bar z$ | | $\neq$ | «diverso da» | non uguale | $z \neq 0$ | | $x^2$ | «x al quadrato» | $x$ per $x$ | $3^2 = 9$ | | $i^n$ | «i alla enne» | la $i$ moltiplicata per sé stessa $n$ volte | $i^3 = -i$ | | $\sqrt a$ | «radice di a» | il numero non negativo che al quadrato dà $a$ | $\sqrt{25} = 5$ | | $\operatorname{Re}(z)$ | «parte reale di zeta» | il pezzo che sta da solo | $\operatorname{Re}(3 + 4i) = 3$ | | $\operatorname{Im}(z)$ | «parte immaginaria di zeta» | il numero che moltiplica la $i$ | $\operatorname{Im}(3 + 4i) = 4$ | | $\bar z$ | «zeta coniugato» | $z$ con il segno cambiato davanti alla $i$ | $\overline{3 + 4i} = 3 - 4i$ | | $\lvert z \rvert$ | «modulo di zeta» | la distanza del punto dall'origine | $\lvert 3 + 4i \rvert = 5$ | | $\lvert z - w \rvert$ | «modulo di zeta meno vu doppia» | la distanza tra il punto $z$ e il punto $w$ | $\lvert (4 + 5i) - (1 + i) \rvert = 5$ | | $-z$ | «meno zeta», «l'opposto di zeta» | $z$ con tutti e due i segni cambiati | $-(3 + 2i) = -3 - 2i$ | | $z^{-1}$, $\frac 1z$ | «zeta alla meno uno», «uno su zeta» | l'inverso: moltiplicato per $z$ dà 1 | $(2 + i)^{-1} = \frac{2 - i}5$ | | $(a, b)$ | «il punto a, b» | il punto del piano con quelle due coordinate | $(3, 2)$ | | $\le$, $\ge$ | «minore o uguale», «maggiore o uguale» | come $<$ e $>$, ma è permesso anche l'uguale | $\lvert z - i \rvert \le 1$ | | $\{z \in \C \mid \dots\}$ | «l'insieme dei numeri complessi zeta per cui…» | tutti i numeri complessi che rispettano la condizione scritta dopo la barretta | $\{z \in \C \mid \lvert z \rvert = 3\}$ | ## Verso l'esame **La prova in due righe.** Il quiz ha 10 domande a risposta multipla: 5 risposte, una sola giusta. Poi ci sono 2 problemi da 11 punti, corretti solo a chi fa almeno 6 punti nel quiz. Si hanno 2 ore, senza calcolatrice, con 4 facciate di appunti scritti a mano. Gli appelli 2026/27 di Algebra lineare sono il 22/01/2027 e il 05/02/2027, alle 14:00. Le regole complete e le fonti sono nella lezione L01. **I numeri complessi negli appelli.** In **ognuno** dei 15 appelli dal 24/01/2024 al 07/09/2026 c'è almeno una domanda del quiz sui numeri complessi o sulle radici di un polinomio. In 11 appelli su 15 è la domanda 1. Le domande si dividono così tra le lezioni L02, L03 e L04. | Tipo di domanda | Appelli (numero della domanda) | Lezione | |---|---|---| | trovare $z$ da un'equazione di primo grado, poi calcolare un'espressione | 08/02/2024 (1), 03/06/2025 (1), 03/06/2026 (1) | L02 | | potenze alte, prodotto in forma polare, radici $n$-esime | 24/01/2024 (2), 10/06/2024 (1), 10/07/2024 (1), 06/09/2024 (1), 16/01/2025 (1), 07/02/2025 (1), 02/09/2025 (2), 15/01/2026 (5), 05/02/2026 (1) | L03 | | quale numero è radice di un polinomio | 10/07/2025 (1), 03/07/2026 (7), 07/09/2026 (1) | L04 | Anche le domande delle lezioni L03 e L04 finiscono quasi sempre con i conti di questa lezione: un prodotto, un inverso, una divisione. > [!METODO] Le domande «trova $z$» in cinque passi > 1. Svolgi i prodotti tra numeri noti. L'equazione deve diventare «un numero per $z$, uguale a un altro numero». > 2. Dividi il numero a destra per il numero che moltiplica $z$. Per farlo, moltiplica sopra e sotto per il coniugato del numero sotto. > 3. Controlla: il numero che moltiplicava $z$, per il valore trovato, deve dare il numero a destra. > 4. Calcola quello che la domanda chiede: una somma, un prodotto, un inverso. > 5. Prima di scegliere, riscrivi le cinque risposte con la parte reale e la parte immaginaria in vista. > > Nel quiz c'è anche una scorciatoia: **sostituire** le risposte nell'equazione. Con un prodotto per risposta scopri quella giusta. ### Una domanda vera, letta insieme **Appello del 03/06/2025, domanda 1.** Il testo: «Dato $z \in \C$ che soddisfa $(1 + i)z = 3 + 2i$, allora $2z(5 + i)$ è uguale a:». Le cinque risposte sono $13 + 13i$, $26i$, $1 + i$, $13 - 13i$ e $26$. **In pratica chiede:** c'è un numero complesso che non conosci, e si chiama $z$. La scrittura $z \in \C$ vuol dire proprio «$z$ è un numero complesso». Sai una cosa sola: se lo moltiplichi per $1 + i$, viene $3 + 2i$. «Soddisfa» vuol dire «rende vera l'uguaglianza». Devi prima trovare $z$. Poi devi calcolare 2 per $z$ per $5 + i$. **Primo tempo: trovare $z$.** È un'equazione, e si risolve con una divisione: $$z = \frac{3 + 2i}{1 + i}$$ 1. Il numero sotto è $1 + i$. Il suo coniugato è $1 - i$. 2. Sotto: $(1 + i)(1 - i)$ è il quadrato del modulo, cioè $1^2 + 1^2 = 2$. 3. Sopra: $(3 + 2i)(1 - i)$. I quattro prodotti sono $3$, $-3i$, $2i$ e $-2i^2$. L'ultimo vale $+2$. 4. Raccogli sopra. Pezzi senza la $i$: $3 + 2 = 5$. Pezzi con la $i$: $-3i + 2i = -i$. Sopra c'è $5 - i$. 5. Quindi $z = \frac{5 - i}2$. **Secondo tempo: l'espressione richiesta.** 1. Calcola 2 per $z$. Il 2 davanti e il 2 sotto si semplificano, e resta $5 - i$. 2. Moltiplica per $5 + i$. I due numeri $5 - i$ e $5 + i$ sono uno il coniugato dell'altro. Il loro prodotto è il quadrato del modulo: $5^2 + 1^2 = 26$. **La risposta è $26$.** **Controllo del primo tempo.** Moltiplica $1 + i$ per $5 - i$: i quattro prodotti sono $5$, $-i$, $5i$ e $-i^2 = 1$, in tutto $6 + 4i$. Diviso 2 fa $3 + 2i$: è il numero a destra dell'equazione. **La risposta sbagliata più tentatrice è $26i$.** Viene fuori se nel primo tempo moltiplichi il numero sopra per $1 + i$, invece che per il coniugato $1 - i$. Sopra verrebbe $1 + 5i$, e alla fine $(1 + 5i)(5 + i) = 26i$. ### Le altre due domande dello stesso tipo > [!ESEMPIO] · Appello del 08/02/2024, domanda 1 > **Il testo:** «Trovare il numero $z \in \C$ tale che $(i - 1)(i - 2)z = (i + 1)(i + 2)(i + 3)$». Le risposte: $10 + 3i$; $i - 3$; $30 + 10i$; $3i - 1$; $1 - 30i$. > > **In pratica chiede:** trova il numero complesso $z$ che rende vera l'uguaglianza. Prima però bisogna svolgere i prodotti a sinistra e a destra. > > **A sinistra.** $(i - 1)(i - 2)$: i quattro prodotti sono $i^2$, $-2i$, $-i$ e $2$. Con $-1$ al posto di $i^2$ viene $-1 - 3i + 2$, cioè $1 - 3i$. > > **A destra, in due tempi.** > > 1. $(i + 1)(i + 2)$: i quattro prodotti sono $i^2$, $2i$, $i$ e $2$. In tutto $-1 + 3i + 2$, cioè $1 + 3i$. > 2. $(1 + 3i)(i + 3)$: i quattro prodotti sono $i$, $3$, $3i^2 = -3$ e $9i$. I pezzi senza la $i$ fanno $3 - 3 = 0$. I pezzi con la $i$ fanno $i + 9i = 10i$. > > **L'equazione è diventata** $(1 - 3i)z = 10i$. Si divide: > $$z = \frac{10i}{1 - 3i}.$$ > > 1. Il coniugato del numero sotto è $1 + 3i$. > 2. Sotto viene il quadrato del modulo: $1^2 + 3^2 = 10$. > 3. Sopra: $10i \cdot (1 + 3i) = 10i + 30i^2$, cioè $-30 + 10i$. > 4. Dividi per 10 tutti e due i pezzi: $z = -3 + i$. > > È la risposta $i - 3$: gli stessi due pezzi, scritti nell'altro ordine. > > **Controllo.** $(1 - 3i)(-3 + i)$: i quattro prodotti sono $-3$, $i$, $9i$ e $-3i^2 = 3$. In tutto $10i$. Giusto. > [!ESEMPIO] · Appello del 03/06/2026, domanda 1 > **Il testo:** «Se $(1 + i)z = 2i$ allora $\frac 1{z + i}$ è uguale a». Le risposte: $0$; $\frac 1{1 + i}$; $\frac{1 - 2i}5$; $\frac i{1 + i}$; $\frac{2 + i}5$. > > **In pratica chiede:** trova $z$ dall'equazione, sommagli $i$, e poi calcola l'inverso del risultato. > > **Trovare $z$.** Si divide: $z = \frac{2i}{1 + i}$. > > 1. Il coniugato del numero sotto è $1 - i$. Sotto viene $1^2 + 1^2 = 2$. > 2. Sopra: $2i \cdot (1 - i) = 2i - 2i^2$, cioè $2 + 2i$. > 3. Dividi per 2 tutti e due i pezzi: $z = 1 + i$. > > **Sommare $i$.** $z + i = 1 + i + i = 1 + 2i$. > > **L'inverso.** Il coniugato di $1 + 2i$ è $1 - 2i$. Il quadrato del modulo è $1^2 + 2^2 = 5$. Quindi > $$\frac 1{1 + 2i} = \frac{1 - 2i}5.$$ > > **La risposta è $\frac{1 - 2i}5$.** > > **Attenzione alle risposte scritte come frazioni.** Due risposte hanno ancora la $i$ sotto. Per confrontarle, portale alla forma solita: $\frac 1{1 + i} = \frac{1 - i}2$ e $\frac i{1 + i} = \frac{1 + i}2$. Sono numeri diversi da quello giusto. ### Gli errori da evitare - Dimenticare che $i^2$ vale $-1$: quel pezzo cambia segno. - Moltiplicare per il coniugato del numero **sopra**, invece che di quello sotto. - Confondere il quadrato del modulo con il quadrato del numero. - Dividere «pezzo per pezzo» quando sotto c'è un numero che non è reale. - Scrivere «maggiore» o «minore» tra due numeri complessi. > [!ESAME] Il foglio da 4 facciate > Da questa lezione bastano poche righe. > > | Che cosa | La riga da scrivere | > |---|---| > | la regola della $i$ | $i^2 = -1$; le potenze si ripetono ogni 4: $i$, $-1$, $-i$, $1$ | > | il prodotto | $(a + bi)(c + di) = (ac - bd) + (ad + bc)i$ | > | coniugato e modulo | $\bar z = a - bi$; $\lvert z \rvert = \sqrt{a^2 + b^2}$; $z \bar z = \lvert z \rvert^2$ | > | l'inverso | $z^{-1} = \frac{\bar z}{\lvert z \rvert^2}$ | > | la divisione | sopra e sotto per il coniugato del numero sotto | > | la distanza | $\lvert z - c \rvert$ è la distanza tra $z$ e $c$ | ## Quiz ```quiz D: Il numero $z \in \C$ tale che $(1 - i)z = 2 + 4i$ è: + $-1 + 3i$ - $3 + i$ - $-1 - 3i$ - $1 + 3i$ - $-2 + 4i$ = La domanda chiede quale numero complesso, moltiplicato per $1 - i$, dà $2 + 4i$. Si trova con una divisione: $z = \frac{2 + 4i}{1 - i}$. Moltiplica sopra e sotto per il coniugato del numero sotto, cioè $1 + i$. Sotto viene il quadrato del modulo: $1 + 1 = 2$. Sopra i quattro prodotti sono $2$, $2i$, $4i$ e $4i^2 = -4$: in tutto $-2 + 6i$. Dividi per 2 i due pezzi e ottieni $z = -1 + 3i$. Controllo: $(1 - i)(-1 + 3i) = -1 + 3i + i - 3i^2 = 2 + 4i$. La risposta più tentatrice è $3 + i$: viene se sopra moltiplichi per $1 - i$ invece che per il coniugato. Moltiplicata per $1 - i$ dà $4 - 2i$, non $2 + 4i$. È simile alla domanda 1 degli appelli del 08/02/2024 e del 03/06/2025. D: Se $(1 + 2i)z = 5$, allora $\frac 1{z + i}$ è uguale a: + $\frac{1 + i}2$ - $\frac{1 - i}2$ - $1 + i$ - $\frac 12$ - $\frac{1 - 3i}{10}$ = La domanda ha due tempi: prima trovare $z$, poi calcolare l'inverso di $z + i$. Primo tempo: $z = \frac 5{1 + 2i}$. Moltiplica sopra e sotto per il coniugato $1 - 2i$: sotto viene $1 + 4 = 5$, sopra viene $5 \cdot (1 - 2i)$. Il 5 si semplifica e resta $z = 1 - 2i$. Secondo tempo: $z + i = 1 - 2i + i = 1 - i$. Il suo inverso è il coniugato diviso per il quadrato del modulo: $\frac{1 + i}{1 + 1} = \frac{1 + i}2$. La risposta più tentatrice è $\frac{1 - 3i}{10}$: è l'inverso di $1 + 3i$, e viene se sbagli il segno e scrivi $z = 1 + 2i$. È simile alla domanda 1 dell'appello del 03/06/2026. D: Quanto vale $(2 + 3i)(1 - 2i)$? + $8 - i$ - $-4 - i$ - $2 - 6i$ - $8 + i$ - $8 - 7i$ = Si chiede un prodotto: quattro prodotti, poi $-1$ al posto di $i^2$. I quattro prodotti sono $2$, $-4i$, $3i$ e $-6i^2$. L'ultimo vale $+6$. Pezzi senza la $i$: $2 + 6 = 8$. Pezzi con la $i$: $-4i + 3i = -i$. Il risultato è $8 - i$. La risposta $-4 - i$ viene se tratti $i^2$ come $+1$: allora l'ultimo pezzo vale $-6$. La risposta $2 - 6i$ viene se moltiplichi «pezzo per pezzo», senza i due prodotti incrociati. Sono i conti con cui comincia la domanda 1 dell'appello del 08/02/2024, dove si dovevano svolgere prodotti come $(i - 1)(i - 2)$. D: Quanto vale $i^{2026}$? + $-1$ - $1$ - $i$ - $-i$ - $2026\,i$ = Le potenze di $i$ si ripetono ogni quattro, quindi conta solo il resto della divisione dell'esponente per 4. La divisione è $2026 = 4 \cdot 506 + 2$: il resto è 2. Quindi $i^{2026} = i^2 = -1$. La risposta $1$ sarebbe giusta con il resto 0, per esempio per $i^{2024}$. La risposta $2026\,i$ confonde la potenza con una moltiplicazione. Lo stesso conto serviva nella domanda 1 dell'appello del 05/02/2026, per controllare che $i^{2026}$ e $(-i)^{2026}$ valgono $-1$. D: Quale affermazione è vera per **ogni** $z \in \C$? + $z + \bar z$ è un numero reale. - $z - \bar z$ è un numero reale. - $z^2 = |z|^2$. - $|z| = \operatorname{Re}(z) + \operatorname{Im}(z)$. - $\bar z = -z$. = «Per ogni $z \in \C$» vuol dire che la frase deve valere qualunque numero complesso tu scelga. Scrivi $z = a + bi$, quindi $\bar z = a - bi$. La somma $z + \bar z$ fa $2a$: le parti immaginarie si cancellano e resta un numero reale. Per scartare le altre basta un esempio in cui falliscono. Con $z = i$ la differenza $z - \bar z$ vale $2i$, che non è reale. Sempre con $z = i$, il quadrato è $-1$ mentre il quadrato del modulo è $1$. Con $z = 1 + i$ il modulo è $\sqrt 2$, non $1 + 1 = 2$. Con $z = 1$ il coniugato è $1$, non $-1$. La più tentatrice è la seconda: nella differenza si cancellano le parti reali, e resta un immaginario puro. D: L'inverso di $3 - 4i$ è: + $\frac{3 + 4i}{25}$ - $\frac{3 + 4i}5$ - $\frac 13 - \frac 14 i$ - $-3 + 4i$ - $\frac{-3 + 4i}{25}$ = L'inverso è il coniugato diviso per il quadrato del modulo. Il coniugato di $3 - 4i$ è $3 + 4i$. Il quadrato del modulo è $3^2 + 4^2 = 25$. Quindi l'inverso è $\frac{3 + 4i}{25}$. Controllo: $(3 - 4i)(3 + 4i) = 25$, e 25 diviso 25 fa 1. La risposta più tentatrice è $\frac{3 + 4i}5$: lì si è diviso per il modulo, che è 5, invece che per il suo quadrato. Il prodotto con $3 - 4i$ darebbe 5 e non 1. La risposta $\frac 13 - \frac 14 i$ inverte i due pezzi separatamente: moltiplicata per $3 - 4i$ dà $-\frac{25}{12} i$. Un inverso da calcolare così c'era anche nella domanda 1 dell'appello del 10/06/2024. D: Quale affermazione su $\C$ è vera? + $\C$ è un campo, ma non è ordinato. - $\C$ non è un campo, perché $i$ non ha inverso. - $\C$ è ordinato: per esempio $2i > i$. - $\R$ non è contenuto in $\C$. - Anche $0$ ha un inverso in $\C$. = Si chiedono le due proprietà di $\C$ della sezione sulle regole dei conti. $\C$ è un campo, perché valgono le nove regole della Proposizione 2.2. Però non è ordinato. Se lo fosse, sarebbero positivi sia $1$, che è il quadrato di $1$, sia $-1$, che è il quadrato di $i$: impossibile. Le altre risposte sono false una per una. La $i$ ha un inverso, ed è $-i$. La scrittura $2i > i$ non ha senso. I numeri reali stanno dentro $\C$: sono i numeri con la parte immaginaria uguale a zero. Lo zero non ha inverso in nessun campo. D: Qual è la parte immaginaria di $\frac{3 - i}{1 + i}$? Scrivi un numero. N: -2 = Prima si fa la divisione, poi si legge la parte immaginaria. Moltiplica sopra e sotto per il coniugato del numero sotto, cioè $1 - i$. Sotto viene $1 + 1 = 2$. Sopra i quattro prodotti sono $3$, $-3i$, $-i$ e $i^2 = -1$: in tutto $2 - 4i$. Dividi per 2: il risultato è $1 - 2i$. La parte immaginaria è il numero reale $-2$, senza la $i$. La stessa divisione per $1 + i$ serviva nella domanda 1 dell'appello del 03/06/2025. D: Nel piano complesso, l'insieme $\{z \in \C \mid |z - i| = 2\}$ è: + la circonferenza di centro $i$ e raggio $2$ - la circonferenza di centro $-i$ e raggio $2$ - la circonferenza di centro $i$ e raggio $4$ - il disco pieno di centro $i$ e raggio $2$ - la retta orizzontale $\operatorname{Im}(z) = 2$ = La scrittura $|z - i|$ è la distanza tra il punto $z$ e il punto $i$. La condizione chiede i punti a distanza esattamente 2 da $i$: formano la circonferenza di centro $i$ e raggio 2. Con le coordinate, cioè con $z = x + yi$, la condizione diventa $x^2 + (y - 1)^2 = 4$. Il centro è $i$ e non $-i$, perché dentro il modulo c'è una sottrazione. Il raggio è 2 e non 4: il 4 compare solo dopo aver elevato al quadrato. Il disco pieno sarebbe $|z - i| \le 2$. D: Nel piano complesso, $0$, $z = 1 + 3i$ e $w = 4 + i$ sono tre vertici di un parallelogramma. Il quarto vertice, opposto a $0$, è: + $5 + 4i$ - $3 - 2i$ - $-3 + 2i$ - $1 + 13i$ - $5 + 3i$ = Per la regola del parallelogramma il quarto vertice, quello opposto all'origine, è la somma degli altri due. Parti reali: $1 + 4 = 5$. Parti immaginarie: $3 + 1 = 4$. Il vertice è $5 + 4i$: è la Figura 2 delle dispense. Le risposte $3 - 2i$ e $-3 + 2i$ sono le due differenze, $w - z$ e $z - w$. La risposta $1 + 13i$ è il prodotto $zw$, che con il parallelogramma non c'entra. ``` ## Esercizi ::: esercizio base Riconoscere i pezzi di un numero complesso Per ogni numero scrivi la parte reale, la parte immaginaria e il coniugato: (a) $2 + 5i$; (b) $4 - i$; (c) $-3i$; (d) $6$. ::: soluzione La parte reale è il pezzo che sta da solo. La parte immaginaria è il numero che moltiplica la $i$, con il suo segno. Il coniugato si ottiene cambiando il segno davanti alla $i$. | Numero | Parte reale | Parte immaginaria | Coniugato | |---|--:|--:|---| | $2 + 5i$ | $2$ | $5$ | $2 - 5i$ | | $4 - i$ | $4$ | $-1$ | $4 + i$ | | $-3i$ | $0$ | $-3$ | $3i$ | | $6$ | $6$ | $0$ | $6$ | Nella seconda riga la parte immaginaria è $-1$: la $i$ da sola vuol dire «1 per $i$», e davanti c'è il segno meno. Nell'ultima riga il numero è reale, quindi coincide con il suo coniugato. ::: ::: esercizio base Potenze di $i$ Calcola: (a) $i^7$; (b) $i^{10}$; (c) $i^{33}$; (d) $i^{400}$. ::: soluzione Si divide l'esponente per 4 e si guarda il resto. Resto 0 dà $1$, resto 1 dà $i$, resto 2 dà $-1$, resto 3 dà $-i$. | Potenza | Divisione dell'esponente per 4 | Resto | Risultato | |---|---|--:|--:| | $i^7$ | $7 = 4 \cdot 1 + 3$ | $3$ | $-i$ | | $i^{10}$ | $10 = 4 \cdot 2 + 2$ | $2$ | $-1$ | | $i^{33}$ | $33 = 4 \cdot 8 + 1$ | $1$ | $i$ | | $i^{400}$ | $400 = 4 \cdot 100 + 0$ | $0$ | $1$ | Controllo della prima riga per l'altra strada: $i^7 = i^4 \cdot i^3 = 1 \cdot (-i) = -i$. ::: ::: esercizio base Moduli, e un prodotto con il coniugato (a) Calcola $|6 + 8i|$. (b) Calcola $|2 - i|$. (c) Calcola $(6 + 8i)(6 - 8i)$ senza fare i quattro prodotti. ::: soluzione Il modulo si calcola in quattro passi: quadrato della parte reale, quadrato della parte immaginaria, somma, radice. (a) I due quadrati sono $6^2 = 36$ e $8^2 = 64$. La somma è $100$. La radice è $\sqrt{100} = 10$. Quindi $|6 + 8i| = 10$. (b) I due quadrati sono $2^2 = 4$ e $(-1)^2 = 1$. La somma è $5$, che non è un quadrato perfetto. Quindi $|2 - i| = \sqrt 5$. (c) I due numeri sono uno il coniugato dell'altro. Il loro prodotto è il quadrato del modulo, e dal punto (a) il modulo è 10. Quindi il prodotto è $10^2 = 100$. Controllo del punto (c) con i quattro prodotti: $36 - 48i + 48i - 64i^2 = 36 + 64 = 100$. ::: ::: esercizio base Conti con la forma $a + bi$ Calcola e scrivi nella forma $a + bi$: (a) $(3 - 2i) + (-1 + 5i)$; (b) $(3 - 2i) - (-1 + 5i)$; (c) $(3 - 2i)(-1 + 5i)$; (d) $(1 - 2i)^2$; (e) $(2 + i)^3$ e $(2 - i)^3$ (sono i cubi della storia di Bombelli). ::: soluzione (a) Parti reali: $3 + (-1) = 2$. Parti immaginarie: $-2 + 5 = 3$. Risultato: $2 + 3i$. (b) Il segno meno cambia tutti e due i pezzi di $-1 + 5i$, che diventa $+1 - 5i$. Parti reali: $3 + 1 = 4$. Parti immaginarie: $-2 - 5 = -7$. Risultato: $4 - 7i$. (c) I quattro prodotti: | Quale prodotto | Conto | Risultato | |---|---|--:| | primo per primo | $3 \cdot (-1)$ | $-3$ | | primo per secondo | $3 \cdot 5i$ | $15i$ | | secondo per primo | $-2i \cdot (-1)$ | $2i$ | | secondo per secondo | $-2i \cdot 5i$ | $-10i^2 = 10$ | Pezzi senza la $i$: $-3 + 10 = 7$. Pezzi con la $i$: $15i + 2i = 17i$. Risultato: $7 + 17i$. (d) Il quadrato è il numero per sé stesso: $(1 - 2i)(1 - 2i)$. I quattro prodotti sono $1$, $-2i$, $-2i$ e $4i^2 = -4$. Pezzi senza la $i$: $1 - 4 = -3$. Pezzi con la $i$: $-2i - 2i = -4i$. Risultato: $-3 - 4i$. (e) Il cubo è il quadrato moltiplicato ancora una volta per il numero. 1. Prima il quadrato: $(2 + i)(2 + i)$. I quattro prodotti sono $4$, $2i$, $2i$ e $i^2 = -1$. In tutto $3 + 4i$. 2. Poi il cubo: $(3 + 4i)(2 + i)$. I quattro prodotti sono $6$, $3i$, $8i$ e $4i^2 = -4$. In tutto $2 + 11i$. Quindi $(2 + i)^3 = 2 + 11i$. Rifaccio il conto per l'altro numero. 1. Il quadrato: $(2 - i)(2 - i)$. I quattro prodotti sono $4$, $-2i$, $-2i$ e $i^2 = -1$. In tutto $3 - 4i$. 2. Il cubo: $(3 - 4i)(2 - i)$. I quattro prodotti sono $6$, $-3i$, $-8i$ e $4i^2 = -4$. In tutto $2 - 11i$. Quindi $(2 - i)^3 = 2 - 11i$. I due numeri di partenza, sommati, danno $(2 + i) + (2 - i) = 4$. È la soluzione reale di $x^3 = 15x + 4$ trovata da Bombelli. ::: ::: esercizio base Inversi e quozienti Scrivi nella forma $a + bi$: (a) $(1 + i)^{-1}$; (b) $(2 - 3i)^{-1}$; (c) $\frac{5 + 5i}{1 - 2i}$; (d) $\frac{i}{1 + i}$. ::: soluzione L'inverso è il coniugato diviso per il quadrato del modulo. Per dividere si moltiplicano sopra e sotto per il coniugato del numero sotto. (a) Il coniugato di $1 + i$ è $1 - i$. Il quadrato del modulo è $1 + 1 = 2$. L'inverso è $\frac{1 - i}2 = \frac 12 - \frac 12 i$. Controllo: $(1 + i)(1 - i) = 2$, e 2 diviso 2 fa 1. (b) Il coniugato di $2 - 3i$ è $2 + 3i$. Il quadrato del modulo è $4 + 9 = 13$. L'inverso è $\frac{2 + 3i}{13} = \frac 2{13} + \frac 3{13} i$. Controllo: $(2 - 3i)(2 + 3i) = 13$, e 13 diviso 13 fa 1. (c) Il numero sotto è $1 - 2i$, e il suo coniugato è $1 + 2i$. 1. Sotto: il quadrato del modulo, $1 + 4 = 5$. 2. Sopra: $(5 + 5i)(1 + 2i)$. I quattro prodotti sono $5$, $10i$, $5i$ e $10i^2 = -10$. In tutto $-5 + 15i$. 3. Divido per 5 tutti e due i pezzi: $-1 + 3i$. Controllo: $(-1 + 3i)(1 - 2i) = -1 + 2i + 3i - 6i^2 = 5 + 5i$. È il numero che stava sopra. (d) Il numero sotto è $1 + i$, e il suo coniugato è $1 - i$. 1. Sotto: $1 + 1 = 2$. 2. Sopra: $i \cdot (1 - i) = i - i^2 = 1 + i$. 3. Risultato: $\frac{1 + i}2 = \frac 12 + \frac 12 i$. Controllo: $\frac{1 + i}2 \cdot (1 + i) = \frac{2i}2 = i$. È il numero che stava sopra. ::: ::: esercizio medio Esercizio 2.4 delle dispense: parte reale e parte immaginaria Calcola la parte reale e la parte immaginaria dei seguenti numeri complessi: $$\frac{6 + 5i}{3 - i}, \qquad \frac{(2 + i)^3}{5i^{15}}, \qquad \frac{3 - 2i}{1 + 5i} + \frac{2 - 3i}{2 - i}.$$ ::: soluzione In tutti e tre i casi bisogna arrivare alla forma con le due parti in vista. Poi le due parti si leggono. **Primo numero.** 1. Il numero sotto è $3 - i$. Il suo coniugato è $3 + i$. 2. Sotto viene il quadrato del modulo: $9 + 1 = 10$. 3. Sopra: $(6 + 5i)(3 + i)$. I quattro prodotti sono $18$, $6i$, $15i$ e $5i^2 = -5$. In tutto $13 + 21i$. 4. Il numero è $\frac{13 + 21i}{10}$. La parte reale è $\frac{13}{10}$. La parte immaginaria è $\frac{21}{10}$. **Secondo numero.** 1. Sopra c'è $(2 + i)^3$, che vale $2 + 11i$: è il conto dell'esercizio 4. 2. Sotto c'è una potenza di $i$. La divisione è $15 = 4 \cdot 3 + 3$, resto 3. Quindi $i^{15} = i^3 = -i$, e sotto c'è $-5i$. 3. La frazione è $\frac{2 + 11i}{-5i}$. Sotto c'è un immaginario puro: per farlo diventare reale basta moltiplicare sopra e sotto per $i$. 4. Sotto: $-5i \cdot i = -5i^2 = 5$. 5. Sopra: $(2 + 11i) \cdot i = 2i + 11i^2 = -11 + 2i$. 6. Il numero è $\frac{-11 + 2i}5$. La parte reale è $-\frac{11}5$. La parte immaginaria è $\frac 25$. **Terzo numero.** Sono due divisioni, e poi una somma. La prima frazione: 1. Il coniugato del numero sotto è $1 - 5i$. Sotto viene $1 + 25 = 26$. 2. Sopra: $(3 - 2i)(1 - 5i)$. I quattro prodotti sono $3$, $-15i$, $-2i$ e $10i^2 = -10$. In tutto $-7 - 17i$. 3. La prima frazione vale $\frac{-7 - 17i}{26}$. La seconda frazione: 1. Il coniugato del numero sotto è $2 + i$. Sotto viene $4 + 1 = 5$. 2. Sopra: $(2 - 3i)(2 + i)$. I quattro prodotti sono $4$, $2i$, $-6i$ e $-3i^2 = 3$. In tutto $7 - 4i$. 3. La seconda frazione vale $\frac{7 - 4i}5$. La somma. Per sommare due frazioni servono due numeri sotto uguali. Uso $26 \cdot 5 = 130$. 1. Nella prima frazione moltiplico sopra e sotto per 5: viene $\frac{-35 - 85i}{130}$. 2. Nella seconda moltiplico sopra e sotto per 26: viene $\frac{182 - 104i}{130}$. 3. Sommo i numeri sopra. Parti reali: $-35 + 182 = 147$. Parti immaginarie: $-85 - 104 = -189$. 4. La somma è $\frac{147 - 189i}{130}$. La parte reale è $\frac{147}{130}$. La parte immaginaria è $-\frac{189}{130}$. Le due frazioni non si semplificano. Infatti $147 = 3 \cdot 7 \cdot 7$, $189 = 3 \cdot 3 \cdot 3 \cdot 7$ e $130 = 2 \cdot 5 \cdot 13$: sopra e sotto non hanno fattori in comune. ::: ::: esercizio medio Un'equazione con il coniugato Trova tutti i $z \in \C$ tali che $z + 2\bar z = 3 - i$. ::: soluzione Qui non si può dividere per il numero che moltiplica $z$, perché nell'equazione compaiono sia $z$ sia il suo coniugato. Si usano le coordinate. 1. Scrivo $z = x + yi$, con $x$ e $y$ reali. Allora $\bar z = x - yi$. 2. Calcolo il lato sinistro. Il doppio del coniugato è $2x - 2yi$. Sommo: parti reali $x + 2x = 3x$, parti immaginarie $y - 2y = -y$. Il lato sinistro è $3x - yi$. 3. L'equazione è diventata $3x - yi = 3 - i$. Due numeri complessi sono uguali quando hanno uguali tutte e due le parti. 4. Parti reali: $3x = 3$, quindi $x = 1$. 5. Parti immaginarie: $-y = -1$, quindi $y = 1$. La soluzione è $z = 1 + i$, ed è l'unica. Controllo: $(1 + i) + 2(1 - i) = 1 + i + 2 - 2i = 3 - i$. ::: ::: esercizio medio Esercizio 2.5 delle dispense: proprietà di modulo e coniugato Dimostra che per ogni $z, w \in \C$ valgono: $$|\bar z| = |z|, \qquad |z^{-1}| = \frac 1{|z|} \ (z \neq 0), \qquad \overline{z + w} = \bar z + \bar w, \qquad \overline{zw} = \bar z\,\bar w.$$ ::: soluzione «Dimostra» vuol dire: fai vedere che l'uguaglianza vale per tutti i numeri complessi, non solo in un esempio. Per questo si lavora con le lettere. Scrivo $z = a + bi$ e $w = c + di$, dove $a$, $b$, $c$, $d$ sono numeri reali. **1. Il modulo del coniugato è uguale al modulo.** 1. Il coniugato è $a - bi$: ha parte reale $a$ e parte immaginaria $-b$. 2. Il suo modulo è $\sqrt{a^2 + (-b)^2}$. 3. Il quadrato di $-b$ è uguale al quadrato di $b$, perché meno per meno fa più. 4. Quindi il modulo del coniugato è $\sqrt{a^2 + b^2}$, cioè il modulo di $z$. Nel piano: un punto e il suo riflesso rispetto all'asse reale hanno la stessa distanza dall'origine. Con i numeri: $3 + 4i$ e $3 - 4i$ hanno tutti e due modulo 5. **2. Il modulo dell'inverso è 1 diviso il modulo.** Chiamo $m$ il numero $a^2 + b^2$, cioè il quadrato del modulo di $z$. È positivo, perché $z$ non è zero. 1. L'inverso di $z$ è $\frac am - \frac bm i$: ha parte reale $\frac am$ e parte immaginaria $-\frac bm$. 2. La somma dei due quadrati è $$\frac{a^2}{m^2} + \frac{b^2}{m^2} = \frac{a^2 + b^2}{m^2} = \frac{m}{m^2} = \frac 1m.$$ 3. Il modulo dell'inverso è la radice di questa somma: $\sqrt{\frac 1m} = \frac 1{\sqrt m}$. 4. Ma $\sqrt m$ è il modulo di $z$. Quindi il modulo dell'inverso è $\frac 1{|z|}$. Con i numeri: $3 + 4i$ ha modulo 5. Il suo inverso è $\frac{3 - 4i}{25}$, che ha modulo $\frac 5{25} = \frac 15$. **3. Il coniugato di una somma è la somma dei coniugati.** 1. La somma è $z + w = (a + c) + (b + d)i$. 2. Il suo coniugato è $(a + c) - (b + d)i$. 3. La somma dei coniugati è $(a - bi) + (c - di)$. Parti reali: $a + c$. Parti immaginarie: $-b - d$, cioè $-(b + d)$. I due risultati sono lo stesso numero. **4. Il coniugato di un prodotto è il prodotto dei coniugati.** 1. Per la formula del prodotto, $zw = (ac - bd) + (ad + bc)i$. 2. Il suo coniugato è $(ac - bd) - (ad + bc)i$. 3. Il prodotto dei coniugati è $(a - bi)(c - di)$. I quattro prodotti sono $ac$, $-adi$, $-bci$ e $bd\,i^2 = -bd$. 4. Pezzi senza la $i$: $ac - bd$. Pezzi con la $i$: $-adi - bci$, cioè $-(ad + bc)i$. I due risultati sono lo stesso numero. In parole: si può coniugare prima o dopo aver fatto i conti. Questa regola servirà nella lezione L04, per la Proposizione 4.11. ::: ::: esercizio medio Esercizio 2.6 delle dispense: tre insiemi da disegnare Disegna nel piano complesso i seguenti sottoinsiemi: 1. $A = \{z \in \C \text{ tali che } \operatorname{Re}(z) > \operatorname{Im}(z)\}$; 2. $B = \{z \in \C \text{ tali che } z + \bar z = i\}$; 3. $C = \{z \in \C \text{ tali che } |z - 2| \ge 2\}$. ::: soluzione Scrivo sempre $z = x + yi$, con $x$ e $y$ reali: $x$ è la parte reale, $y$ è la parte immaginaria. **1. L'insieme $A$.** 1. La condizione dice che la parte reale è maggiore della parte immaginaria: $x > y$. 2. Prima cerco i punti con $x = y$, cioè con gli stessi passi a destra e in su. Per esempio $1 + i$, $2 + 2i$, $-1 - i$. Formano una retta obliqua che passa per l'origine. Si chiama **bisettrice**, perché taglia a metà l'angolo tra i due assi. 3. I punti con $x > y$ stanno tutti da una stessa parte della bisettrice. Per capire quale, provo con un punto: $z = 1$ ha $x = 1$ e $y = 0$, e $1 > 0$. Il punto 1 sta sotto la bisettrice. 4. Quindi $A$ è il semipiano **sotto** la bisettrice. 5. La bisettrice è esclusa, perché lì vale $x = y$ e non $x > y$. Nel disegno è tratteggiata. ```grafico titolo: $A = \{\operatorname{Re}(z) > \operatorname{Im}(z)\}$: il semipiano sotto la bisettrice, bisettrice esclusa (tratteggiata) x: -4 4 y: -4 4 nomi: $\operatorname{Re}$ $\operatorname{Im}$ poligono: -6 -6 6 -6 6 6 | blu | tratteggio punto: 1 0 | accento | $1$ | s testo: 2 -1.8 | blu | $A$ ``` **2. L'insieme $B$.** 1. Calcolo il lato sinistro: $z + \bar z = (x + yi) + (x - yi) = 2x$. È un numero **reale**. 2. Il lato destro è $i$, che ha parte reale 0 e parte immaginaria 1. 3. Confronto le parti immaginarie: a sinistra è 0, a destra è 1. Dovrebbe valere $0 = 1$, che è impossibile. Nessun numero complesso rispetta la condizione. Quindi $B$ è l'insieme vuoto, che si scrive $\emptyset$: non c'è niente da disegnare. Se la condizione fosse stata $z - \bar z = i$, il lato sinistro sarebbe $2yi$. Verrebbe $2y = 1$, cioè $y = \frac 12$: una retta orizzontale. Conviene sempre accorgersi quando una condizione è impossibile. «L'insieme è vuoto» è una risposta completa, se spieghi il motivo come qui sopra. **3. L'insieme $C$.** 1. $|z - 2|$ è la distanza tra il punto $z$ e il punto 2, che sta sull'asse reale. 2. Il simbolo $\ge$ si legge «maggiore o uguale». La condizione chiede una distanza di **almeno** 2. 3. I punti a distanza esattamente 2 dal punto 2 formano la circonferenza di centro 2 e raggio 2. 4. I punti a distanza maggiore di 2 sono quelli **fuori** da questa circonferenza. 5. Quindi $C$ è tutto il piano tranne l'interno del cerchio. La circonferenza fa parte di $C$. Con le coordinate la condizione è $(x - 2)^2 + y^2 \ge 4$. Controllo con un punto: per l'origine la distanza è $|0 - 2| = 2$. L'origine sta sulla circonferenza, quindi appartiene a $C$. ```grafico titolo: $C = \{\lvert z - 2 \rvert \ge 2\}$: tutto il piano tranne l'interno del cerchio; la circonferenza fa parte di $C$ x: -3 7 y: -4 4 nomi: $\operatorname{Re}$ $\operatorname{Im}$ poligono: 9 0 9 6 -5 6 -5 -6 9 -6 9 0 4 0 3.932 -0.518 3.732 -1 3.414 -1.414 3 -1.732 2.518 -1.932 2 -2 1.482 -1.932 1 -1.732 0.586 -1.414 0.268 -1 0.068 -0.518 0 0 0.068 0.518 0.268 1 0.586 1.414 1 1.732 1.482 1.932 2 2 2.518 1.932 3 1.732 3.414 1.414 3.732 1 3.932 0.518 4 0 | viola | sottile cerchio: 2 0 2 | viola | spesso punto: 2 0 | grigio | vuoto | $2$ | s punto: 0 0 | viola | $0 \in C$ | no testo: 5.5 2.8 | viola | $C$ ``` ::: ::: esercizio medio Altri due insiemi Disegna: (a) $D = \{z \in \C \mid \operatorname{Im}(\bar z + 2i) > 0\}$; (b) $E = \{z \in \C \mid |z| = |z - 2i|\}$. ::: soluzione Scrivo $z = x + yi$, con $x$ e $y$ reali. **(a) L'insieme $D$.** 1. Il coniugato è $\bar z = x - yi$. 2. Sommo $2i$: viene $x - yi + 2i$, cioè $x + (2 - y)i$. 3. La parte immaginaria di questo numero è $2 - y$. 4. La condizione è $2 - y > 0$, cioè $y < 2$. Quindi $D$ è il semipiano **sotto** la retta orizzontale di altezza 2. La retta è esclusa. Attenzione al coniugato: cambia il segno di $y$. Per questo il semipiano sta sotto la retta e non sopra. Controllo con un punto: per $z = 0$ viene $\bar z + 2i = 2i$, che ha parte immaginaria 2. E 2 è maggiore di 0. Infatti l'origine sta sotto la retta. **(b) L'insieme $E$.** $|z|$ è la distanza dall'origine. $|z - 2i|$ è la distanza dal punto $2i$. Si cercano i punti che distano ugualmente dai due. Stanno a metà strada: sulla retta orizzontale di altezza 1. Lo stesso risultato con i conti. 1. I due moduli sono uguali quando sono uguali i loro quadrati: $x^2 + y^2 = x^2 + (y - 2)^2$. 2. Svolgo il quadrato a destra: $(y - 2)(y - 2)$ dà $y^2 - 2y - 2y + 4$, cioè $y^2 - 4y + 4$. 3. L'uguaglianza diventa $x^2 + y^2 = x^2 + y^2 - 4y + 4$. 4. Tolgo da tutti e due i lati $x^2$ e $y^2$. Resta $0 = -4y + 4$. 5. Quindi $4y = 4$, cioè $y = 1$. L'insieme $E$ è la retta orizzontale dei punti con parte immaginaria uguale a 1. Controllo con un punto: $z = i$ sta su questa retta. Dista 1 dall'origine. E dista 1 anche da $2i$, perché $i - 2i = -i$, che ha modulo 1. ::: ::: esercizio esame Come all'esame: trova $z$ Trovare il numero $z \in \C$ tale che $(1 + i)(2 - i)\,z = (3 + i)(1 - i)$. Risposte possibili: (a) $1 - i$; (b) $1 + i$; (c) $2 - i$; (d) $-1 + i$; (e) $10 - 10i$. ::: soluzione In pratica la domanda chiede: trova il numero complesso $z$ che rende vera l'uguaglianza. Prima si svolgono i prodotti, poi si divide. 1. **Il prodotto a sinistra.** $(1 + i)(2 - i)$: i quattro prodotti sono $2$, $-i$, $2i$ e $-i^2 = 1$. In tutto $3 + i$. 2. **Il prodotto a destra.** $(3 + i)(1 - i)$: i quattro prodotti sono $3$, $-3i$, $i$ e $-i^2 = 1$. In tutto $4 - 2i$. 3. **L'equazione è diventata** $(3 + i)z = 4 - 2i$. Divido: $$z = \frac{4 - 2i}{3 + i}.$$ 4. Il coniugato del numero sotto è $3 - i$. Sotto viene il quadrato del modulo: $9 + 1 = 10$. 5. Sopra: $(4 - 2i)(3 - i)$. I quattro prodotti sono $12$, $-4i$, $-6i$ e $2i^2 = -2$. In tutto $10 - 10i$. 6. Divido per 10 tutti e due i pezzi: $z = 1 - i$. La risposta è la (a). **Controllo.** $(3 + i)(1 - i) = 3 - 3i + i - i^2 = 4 - 2i$. È il numero a destra dell'equazione. **Una strada alternativa per il quiz.** Moltiplica ogni risposta per $3 + i$ e guarda quale dà $4 - 2i$. La (b) dà $2 + 4i$, la (c) dà $7 - i$, la (d) dà $-4 + 2i$, la (e) dà $40 - 20i$. Solo la (a) funziona. La (e) è la trappola per chi dimentica di dividere per 10 al passo 6. ::: ::: esercizio esame Come all'esame: prima $z$, poi un'espressione Se $(2 - i)z = 5i$, allora $z\bar z + z$ vale: (a) $4 + 2i$; (b) $6 + 2i$; (c) $-4 - 2i$; (d) $5$; (e) $4 - 2i$. ::: soluzione La domanda ha due tempi: prima trovare $z$, poi calcolare $z$ per il suo coniugato, più $z$. 1. **Trovo $z$.** Divido: $z = \frac{5i}{2 - i}$. Il coniugato del numero sotto è $2 + i$. Sotto viene $4 + 1 = 5$. 2. Sopra: $5i \cdot (2 + i) = 10i + 5i^2$, cioè $-5 + 10i$. 3. Divido per 5 tutti e due i pezzi: $z = -1 + 2i$. 4. **Controllo.** $(2 - i)(-1 + 2i)$: i quattro prodotti sono $-2$, $4i$, $i$ e $-2i^2 = 2$. In tutto $5i$. Giusto. 5. **Calcolo $z \bar z$.** È il quadrato del modulo: $(-1)^2 + 2^2 = 1 + 4 = 5$. 6. **Sommo $z$.** $5 + (-1 + 2i) = 4 + 2i$. La risposta è la (a). Da dove vengono le risposte sbagliate: - la (b) viene con $z = 1 + 2i$, cioè con un errore di segno al passo 3; - la (c) viene se al passo 5 usi $z^2 = -3 - 4i$ al posto di $z \bar z$; - la (d) viene se dimentichi di sommare $z$ al passo 6; - la (e) viene se al passo 6 sommi il coniugato al posto di $z$. ::: ::: esercizio difficile Due equazioni di secondo grado risolte con le coordinate (a) Trova tutti i $z \in \C$ con $z^2 = 2i$. (b) Trova tutti i $z \in \C$ con $|z|^2 + z = 7 + i$. ::: soluzione In tutti e due i casi scrivo $z = x + yi$, con $x$ e $y$ reali. Poi uguaglio le parti reali e le parti immaginarie dei due lati. **(a)** 1. Calcolo il quadrato: $(x + yi)(x + yi)$. I quattro prodotti sono $x^2$, $xyi$, $xyi$ e $y^2 i^2 = -y^2$. 2. Quindi $z^2 = (x^2 - y^2) + 2xyi$: la parte reale è $x^2 - y^2$, la parte immaginaria è $2xy$. 3. A destra c'è $2i$, cioè $0 + 2i$: parte reale 0, parte immaginaria 2. 4. Le due parti devono essere uguali. Vengono due equazioni, che devono valere insieme: $$\begin{cases} x^2 - y^2 = 0 \\ 2xy = 2 \end{cases}$$ La graffa vuol dire proprio «tutte e due insieme». 5. La prima equazione dice $x^2 = y^2$. Due numeri reali hanno lo stesso quadrato quando sono uguali oppure opposti. Quindi $y = x$ oppure $y = -x$. 6. **Caso $y = -x$.** La seconda equazione diventa $-2x^2 = 2$, cioè $x^2 = -1$. Per un numero reale è impossibile. Da qui non viene nessuna soluzione. 7. **Caso $y = x$.** La seconda equazione diventa $2x^2 = 2$, cioè $x^2 = 1$. Quindi $x = 1$ oppure $x = -1$. 8. Con $x = 1$ viene $y = 1$, cioè $z = 1 + i$. Con $x = -1$ viene $y = -1$, cioè $z = -1 - i$. Le soluzioni sono due: $z = 1 + i$ e $z = -1 - i$. Controllo: $(1 + i)^2 = 1 + 2i + i^2 = 2i$. L'altra soluzione è l'opposto della prima, e ha lo stesso quadrato perché meno per meno fa più. Nella lezione L03 ritroverai queste due **radici quadrate** di $2i$ con le coordinate polari. Servono nell'Esempio 4.10 della lezione L04. **(b)** 1. Il quadrato del modulo è $x^2 + y^2$, un numero reale. 2. Il lato sinistro è $(x^2 + y^2 + x) + yi$: la parte reale è $x^2 + y^2 + x$, la parte immaginaria è $y$. 3. Il lato destro è $7 + i$: parte reale 7, parte immaginaria 1. 4. Le due equazioni: $$\begin{cases} x^2 + y^2 + x = 7 \\ y = 1 \end{cases}$$ 5. Metto $y = 1$ nella prima: $x^2 + 1 + x = 7$. Tolgo 7 da tutti e due i lati: $x^2 + x - 6 = 0$. 6. Cerco due numeri che moltiplicati danno $-6$ e sommati danno $1$: sono $3$ e $-2$. Quindi $x^2 + x - 6 = (x + 3)(x - 2)$. Controllo: i quattro prodotti sono $x^2$, $-2x$, $3x$ e $-6$. 7. Un prodotto fa zero quando uno dei due pezzi è zero. Quindi $x = -3$ oppure $x = 2$. Le soluzioni sono due: $z = 2 + i$ e $z = -3 + i$. Controllo della prima: il quadrato del modulo di $2 + i$ è $4 + 1 = 5$, e $5 + 2 + i = 7 + i$. Controllo della seconda: il quadrato del modulo di $-3 + i$ è $9 + 1 = 10$, e $10 - 3 + i = 7 + i$. ::: ::: esercizio difficile I numeri di modulo 1 (a) Dimostra che se $|z| = 1$ allora $z^{-1} = \bar z$. (b) Usalo per calcolare l'inverso di $\frac 35 + \frac 45 i$. ::: soluzione **(a)** A parole: per un numero che dista 1 dall'origine, l'inverso è il coniugato. 1. La formula dell'inverso dice: l'inverso è il coniugato diviso per il quadrato del modulo. 2. Se il modulo è 1, anche il suo quadrato è 1. 3. Dividere per 1 non cambia niente. Quindi l'inverso è il coniugato: $z^{-1} = \bar z$. Detto in un altro modo: $z \cdot \bar z$ è il quadrato del modulo, che qui vale 1. Il coniugato, moltiplicato per $z$, dà 1: è proprio l'inverso. **(b)** 1. Controllo che il modulo sia 1. I due quadrati sono $\frac 9{25}$ e $\frac{16}{25}$. La somma è $\frac{25}{25} = 1$, e la radice di 1 è 1. 2. Per il punto (a) l'inverso è il coniugato: $\frac 35 - \frac 45 i$. Controllo: il numero per il suo coniugato dà il quadrato del modulo, cioè $\frac 9{25} + \frac{16}{25} = 1$. Nel piano i numeri di modulo 1 formano la circonferenza di centro $0$ e raggio 1. Si chiama **circonferenza unitaria**, ed è la protagonista della lezione L03. ::: ## Domande di ripasso ::: domanda Perché l'equazione $x^2 = -1$ non ha soluzioni reali, e come la risolvono i numeri complessi? Il quadrato di un numero reale non è mai negativo, perché meno per meno fa più. Quindi nessun numero reale, al quadrato, dà $-1$. I numeri complessi aggiungono un numero nuovo, la $i$, con $i^2 = -1$. Tra i numeri complessi l'equazione ha due soluzioni: $i$ e $-i$. ::: ::: domanda Che cos'è un numero complesso? Quali sono la sua parte reale e la sua parte immaginaria? È un numero che si scrive $a + bi$, dove $a$ e $b$ sono numeri reali qualsiasi e $i$ è l'unità immaginaria (Definizione 2.1). La parte reale è $a$, il pezzo che sta da solo. La parte immaginaria è $b$, il numero che moltiplica la $i$: è un numero reale, senza la $i$. Per esempio $4 - i$ ha parte reale 4 e parte immaginaria $-1$. ::: ::: domanda Come si moltiplicano due numeri complessi? Si fanno i quattro prodotti: ogni pezzo del primo numero per ogni pezzo del secondo. Poi al posto di $i^2$ si scrive $-1$. Poi si raccolgono i pezzi senza la $i$ e quelli con la $i$. Per esempio $(7 + i)(4 - i) = 28 - 7i + 4i - i^2 = 29 - 3i$. ::: ::: domanda Quanto vale $i^n$? Come lo calcoli quando $n$ è grande? Le potenze di $i$ si ripetono ogni quattro: $i$, $-1$, $-i$, $1$. Si divide l'esponente per 4 e si guarda il resto. Resto 0 dà $1$, resto 1 dà $i$, resto 2 dà $-1$, resto 3 dà $-i$. Per esempio $15 = 4 \cdot 3 + 3$, quindi $i^{15} = -i$. ::: ::: domanda $\C$ è un campo? È ordinato? È un campo: valgono le nove regole della Proposizione 2.2, le stesse dei numeri reali. Non è ordinato: tra due numeri complessi non ha senso chiedere quale sia il maggiore. Il motivo è che in un campo ordinato i quadrati dei numeri diversi da zero sono positivi. Allora sarebbero positivi sia $1$ sia $-1$, che è il quadrato di $i$: impossibile. ::: ::: domanda Che cos'è il coniugato di $z$? Quando un numero è uguale al suo coniugato? Il coniugato di $z = a + bi$ è $\bar z = a - bi$: si cambia il segno della parte immaginaria. Nel piano è il riflesso rispetto all'asse reale. Un numero è uguale al suo coniugato esattamente quando la parte immaginaria è zero, cioè quando è un numero reale. ::: ::: domanda Che cos'è il modulo di $z$ e che significato ha nel piano? È il numero reale $|z| = \sqrt{a^2 + b^2}$. Non è mai negativo, e vale zero solo per $z = 0$. Nel piano è la distanza del punto dall'origine, calcolata con il teorema di Pitagora. Per esempio $|3 + 4i| = 5$. ::: ::: domanda Quanto vale $z\bar z$? Perché è importante? Vale $a^2 + b^2$, cioè il quadrato del modulo. È sempre un numero reale, mai negativo. È importante perché moltiplicare per il coniugato fa sparire la $i$: su questo si basano l'inverso e la divisione. ::: ::: domanda Qual è l'inverso di $z \neq 0$? Come si controlla? È il coniugato diviso per il quadrato del modulo: $z^{-1} = \frac{\bar z}{|z|^2}$. Si controlla moltiplicando per $z$: sopra viene $z \bar z$, che è il quadrato del modulo, e la frazione vale 1. Per esempio l'inverso di $2 + i$ è $\frac{2 - i}5$. ::: ::: domanda Come si calcola $\frac{w}{z}$? Si moltiplicano sopra e sotto per $\bar z$, il coniugato del numero sotto. Sotto resta il quadrato del modulo, che è un numero reale. Poi si dividono per quel numero la parte reale e la parte immaginaria del numero sopra. Alla fine si controlla moltiplicando il risultato per $z$: deve tornare $w$. ::: ::: domanda Che cosa sono l'asse reale e l'asse immaginario del piano complesso? L'asse reale è quello orizzontale: contiene i numeri reali, cioè quelli con la parte immaginaria uguale a zero. L'asse immaginario è quello verticale: contiene i numeri del tipo $bi$, con la parte reale uguale a zero. Il numero $a + bi$ è il punto $(a, b)$. ::: ::: domanda Come si vede la somma di due numeri complessi nel piano? Con la regola del parallelogramma. La somma è il quarto vertice del parallelogramma che ha gli altri tre vertici nell'origine e nei due numeri. Per esempio $(1 + 3i) + (4 + i) = 5 + 4i$. ::: ::: domanda Che figura è $\{z \in \C \mid |z - c| = r\}$, con $r > 0$? È la circonferenza di centro $c$ e raggio $r$, perché $|z - c|$ è la distanza tra $z$ e $c$. Con $\le$ al posto dell'uguale si ottiene il disco pieno. Con $\ge$ si ottiene tutto quello che sta fuori dal disco, circonferenza compresa. ::: ## Glossario ```glossario Unità immaginaria $i$ | Il numero nuovo dei numeri complessi. La sua regola è $i^2 = -1$: moltiplicata per sé stessa dà $-1$. Numero complesso | Un numero che si scrive $a + bi$, con $a$ e $b$ numeri reali (Definizione 2.1). Per esempio $3 + 2i$. L'insieme dei numeri complessi è $\C$. Parte reale $\operatorname{Re}(z)$ | Il pezzo di $z = a + bi$ che sta da solo, cioè $a$. Per esempio la parte reale di $3 + 4i$ è 3. Parte immaginaria $\operatorname{Im}(z)$ | Il numero reale $b$ che moltiplica la $i$ in $z = a + bi$, senza la $i$. Per esempio la parte immaginaria di $4 - i$ è $-1$. Immaginario puro | Un numero complesso con la parte reale uguale a zero, come $23i$ o $-i$. Nel piano sta sull'asse verticale. Forma $a + bi$ | Il modo di scrivere un numero complesso con le due parti in vista. Si chiama anche forma algebrica, o forma cartesiana. Coniugato (coniugio) $\bar z$ | Il numero che si ottiene cambiando il segno davanti alla $i$: il coniugato di $3 + 2i$ è $3 - 2i$. Nel piano è il riflesso rispetto all'asse reale. Modulo $\lvert z \rvert$ | La distanza del punto dall'origine: $\sqrt{a^2 + b^2}$. È un numero reale, mai negativo. Per esempio $\lvert 3 + 4i \rvert = 5$. Inverso $z^{-1}$ | Il numero che moltiplicato per $z$ dà 1. Si calcola come coniugato diviso per il quadrato del modulo. Lo zero non ha inverso. Campo | Un insieme di numeri con somma e prodotto in cui valgono le nove regole della Proposizione 2.2. Sono campi $\Q$, $\R$ e $\C$. Campo ordinato | Un campo in cui si può dire quale di due numeri è il maggiore, rispettando le regole dei conti. $\R$ lo è, $\C$ no. Piano complesso | Il foglio a quadretti su cui $a + bi$ è il punto $(a, b)$, oppure la freccia dall'origine a quel punto. Asse reale | L'asse orizzontale del piano complesso. Contiene i numeri reali. Asse immaginario | L'asse verticale del piano complesso. Contiene gli immaginari puri, cioè i numeri del tipo $bi$. Regola del parallelogramma | Il modo di disegnare una somma: $z_1 + z_2$ è il quarto vertice del parallelogramma con gli altri vertici in $0$, $z_1$ e $z_2$. Potenze di $i$ | Si ripetono ogni quattro: $i^1 = i$, $i^2 = -1$, $i^3 = -i$, $i^4 = 1$, e poi da capo. Conta il resto della divisione dell'esponente per 4. Distanza tra due numeri complessi | Il modulo della differenza, $\lvert z - w \rvert$: la lunghezza del tratto che unisce i due punti. Tra $1 + i$ e $4 + 5i$ la distanza è 5. ``` ## Checklist ```checklist - So spiegare perché nessun numero reale al quadrato dà $-1$, e che cosa aggiunge la $i$. - So riconoscere la parte reale e la parte immaginaria di un numero complesso, e so che la parte immaginaria è un numero reale. - So sommare, sottrarre e moltiplicare due numeri complessi, scrivendo $-1$ al posto di $i^2$. - So calcolare una potenza di $i$ con un esponente grande, usando il resto della divisione per 4. - So dire perché $\C$ è un campo ma non è ordinato. - So calcolare il coniugato e il modulo, e so che un numero per il suo coniugato dà il quadrato del modulo. - So calcolare l'inverso di un numero complesso e fare una divisione moltiplicando per il coniugato del numero sotto, con il controllo finale. - So risolvere un'equazione come $(1 + i)z = 3 + 2i$. Con le coordinate, so risolverne una in cui compare anche il coniugato. - So disegnare nel piano un numero complesso, il suo coniugato e una somma con la regola del parallelogramma. - So tradurre in una figura condizioni come $\operatorname{Re}(z) > \operatorname{Im}(z)$ e $|z - c| \le r$. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 2 «Numeri complessi I», pp. 6–9: le sezioni 2.A–2.E sono seguite in ordine, con la pagina accanto a ogni titolo; la Definizione 2.1, la Proposizione 2.2 e l'Esempio 2.3 mantengono la loro numerazione; gli esercizi 2.4, 2.5 e 2.6 sono svolti nella sezione «Esercizi» (esercizi 6, 8 e 9); le Figure 1 e 2 sono ridisegnate con i grafici. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §1.4.1–1.4.3 (pp. 25–27), Esercizio 1.4.3 (p. 30), §1.5.3 sui campi (p. 36). - **Appelli d'esame** (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): domande 1 del 08/02/2024, del 03/06/2025 e del 03/06/2026, riportate con soluzioni scritte per questi appunti; la tabella degli altri appelli ne indica solo il tipo. Regole d'esame 2025/26 e date 2026/27 come nella lezione L01. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (la storia di Cardano e Bombelli, le potenze di $i$, le regole sul coniugato, la distanza, il metodo per disegnare insiemi, il perché $\C$ non è ordinato, gli esercizi che non vengono dalle dispense) collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L03_numeri_complessi_2.md` ```yaml corso: MDAG modulo: AG lezione: L03 titolo: Numeri complessi II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L03 descrizione: >- Appunti della lezione L03 di Algebra lineare e Geometria (MDAG, parte 2): coordinate polari, forma esponenziale, modulo e argomento di un numero complesso, prodotto e inverso in forma polare, identità di Eulero, potenze e radici n-esime, con un ripasso di seno e coseno, quiz nello stile dell'esame ed esercizi svolti. lede: >- Un altro modo di dire dove sta un numero complesso: invece di «quanto a destra e quanto in su», una distanza e una direzione. Scritti così, i prodotti diventano giri e allungamenti, e le potenze alte e le radici si calcolano in poche righe, senza calcolatrice. È l'argomento della domanda sui numeri complessi in quasi due appelli su tre. materiale: dispense scheda: Dispense: lezione 3 · pp. 10–14 Libro: Martelli, §1.4.4–1.4.6 (pp. 27–31) Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 3 «Numeri complessi II»; B. Martelli, Geometria e algebra lineare, §1.4.4–1.4.6 appunti_html: appunti/MDAG/L03_numeri_complessi_2.html genera_html: true ``` ## In breve - Un punto del piano si può indicare in due modi: «3 passi a destra e 4 in su», oppure «guarda in quella direzione e fai 5 passi». Il secondo modo usa una **distanza** e un **angolo**: sono le **coordinate polari**. - Un numero complesso scritto con distanza e angolo è in **forma polare**. La distanza si chiama **modulo**, l'angolo si chiama **argomento**. - Le dispense usano un'abbreviazione: $e^{i\vartheta}$ vuol dire «il punto sul cerchio di raggio 1 all'angolo $\vartheta$». - Per **moltiplicare** due numeri complessi in forma polare: le distanze si moltiplicano, gli angoli si sommano. Moltiplicare per $i$ vuol dire girare di un quarto di giro. - Una **potenza** è un prodotto ripetuto: la distanza si eleva, l'angolo si moltiplica. Le **radici** $n$-esime di un numero sono sempre $n$ punti, messi in cerchio a distanze uguali. - All'esame: potenze alte, prodotti in forma polare e radici sono stati la domanda sui complessi in 9 appelli su 15 dal 2024 al 2026. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Ripasso: angoli, seno e coseno (oltre le dispense) Le dispense usano angoli, seno e coseno senza spiegarli: li danno per noti dalla scuola. Qui c'è tutto quello che serve per questa lezione, e niente di più. Se li ricordi bene, salta alla sezione dopo. ### Gli angoli in radianti Immagina una pista circolare con il raggio lungo 1 metro. Parti da un punto e cammini lungo la pista. Quanta strada fai in un giro completo? La lunghezza di una circonferenza è $2\pi$ volte il raggio. Qui il raggio è 1, quindi un giro completo è lungo $2\pi$ metri, circa 6,28. > [!RIPASSO] il numero $\pi$ > $\pi$ si legge «pi greco». È il numero che dice quante volte il diametro di un cerchio ci sta nella sua circonferenza: circa $3{,}14$. Una circonferenza di raggio $r$ è lunga $2\pi r$. L'idea dei **radianti** è misurare un angolo con la **strada fatta sulla pista**: - un giro intero è lungo $2\pi$, quindi l'angolo giro misura $2\pi$; - mezzo giro è lungo la metà, $\pi$, quindi l'angolo piatto misura $\pi$; - un quarto di giro, cioè l'angolo retto, misura $\frac\pi2$. I gradi e i radianti sono due unità di misura per la stessa cosa, come i chilometri e le miglia. La regola per passare dagli uni agli altri: $180°$ corrisponde a $\pi$. Quindi un grado vale $\frac{\pi}{180}$, e per passare da gradi a radianti si moltiplica per $\frac{\pi}{180}$. Un esempio: $60°$. 1. $60 \cdot \frac{\pi}{180} = \frac{60\pi}{180}$. 2. Semplifico dividendo sopra e sotto per 60: $\frac{60\pi}{180} = \frac{\pi}{3}$. Quindi $60°$ è $\frac\pi3$ radianti. Ecco la tabella degli angoli che servono: | Gradi | $0°$ | $30°$ | $45°$ | $60°$ | $90°$ | $120°$ | $135°$ | $150°$ | $180°$ | $270°$ | $360°$ | |---|---|---|---|---|---|---|---|---|---|---|---| | Radianti | $0$ | $\frac\pi6$ | $\frac\pi4$ | $\frac\pi3$ | $\frac\pi2$ | $\frac{2\pi}3$ | $\frac{3\pi}4$ | $\frac{5\pi}6$ | $\pi$ | $\frac{3\pi}2$ | $2\pi$ | Gli angoli si misurano partendo dalla semiretta orizzontale verso destra e girando in **senso antiorario**, cioè al contrario delle lancette dell'orologio. Un angolo negativo gira nel senso delle lancette. Per esempio $-\frac\pi2$ è un quarto di giro verso il basso: porta nello stesso punto di $\frac{3\pi}2$, tre quarti di giro verso l'alto. Per gli angoli si usa spesso una lettera greca: $\vartheta$, che si legge «teta». A volte anche $\varphi$, «fi», e $\alpha$, «alfa». ::: prova Quanto vale in radianti l'angolo di $45°$? E l'angolo di $270°$? $45 \cdot \frac{\pi}{180} = \frac{45\pi}{180} = \frac\pi4$, dividendo sopra e sotto per 45. $270 \cdot \frac{\pi}{180} = \frac{270\pi}{180} = \frac{3\pi}2$, dividendo sopra e sotto per 90. Sono tre quarti di giro. ::: ### Seno e coseno sul cerchio Torna sulla pista. Mettila su un foglio a quadretti, con il centro nell'origine degli assi. La pista è la **circonferenza unitaria**: il cerchio con centro nell'origine e raggio 1. Parti dal punto $(1, 0)$, quello più a destra, e cammina in senso antiorario per un angolo $\vartheta$. Ti fermi in un punto della pista. Quel punto ha due coordinate: - la prima (quanto sei a destra) si chiama **coseno** di $\vartheta$, e si scrive $\cos\vartheta$; - la seconda (quanto sei in alto) si chiama **seno** di $\vartheta$, e si scrive $\sin\vartheta$. $$\text{il punto all'angolo } \vartheta \text{ è } (\cos\vartheta,\ \sin\vartheta).$$ Questa è la definizione di seno e coseno, e tutte le regole che seguono si leggono sul disegno. Nella figura l'angolo è $\frac\pi3$: il punto è a destra di $\frac 12$ e in alto di $\frac{\sqrt 3}2$. ```grafico titolo: Sulla circonferenza unitaria il punto di angolo $\vartheta$ è $(\cos\vartheta, \sin\vartheta)$; qui $\vartheta = \frac\pi3$, $\cos\vartheta = \frac 12$, $\sin\vartheta = \frac{\sqrt 3}2$ x: -0.3 1.5 y: -0.3 1.3 nomi: $x$ $y$ arco: 0 0 1 0 pi/2 | grigio arco: 0 0 0.25 0 pi/3 | ambra segmento: 0 0 1/2 sqrt(3)/2 | accento | spesso segmento: 1/2 0 1/2 sqrt(3)/2 | grigio | tratteggio segmento: 0 sqrt(3)/2 1/2 sqrt(3)/2 | grigio | tratteggio punto: 1 0 | blu | $0$ | ne punto: sqrt(3)/2 1/2 | blu | $\frac\pi6$ | e punto: sqrt(2)/2 sqrt(2)/2 | blu | $\frac\pi4$ | ne punto: 1/2 sqrt(3)/2 | accento | $\frac\pi3$ | ne punto: 0 1 | blu | $\frac\pi2$ | ne testo: 0.3 0.12 | ambra | $\vartheta$ testo: 0.5 -0.1 | $\frac 12$ testo: -0.14 0.866 | $\frac{\sqrt 3}2$ ``` I valori da sapere sono questi. All'esame non c'è la calcolatrice, quindi conviene metterli sul foglio delle 4 facciate. | $\vartheta$ | $0$ | $\frac\pi6$ | $\frac\pi4$ | $\frac\pi3$ | $\frac\pi2$ | $\pi$ | $\frac{3\pi}2$ | |---|---|---|---|---|---|---|---| | $\cos\vartheta$ | $1$ | $\frac{\sqrt 3}2$ | $\frac{\sqrt 2}2$ | $\frac 12$ | $0$ | $-1$ | $0$ | | $\sin\vartheta$ | $0$ | $\frac 12$ | $\frac{\sqrt 2}2$ | $\frac{\sqrt 3}2$ | $1$ | $0$ | $-1$ | Un modo per ricordare la tabella: da $0$ a $\frac\pi2$ il seno vale $\frac{\sqrt 0}2, \frac{\sqrt 1}2, \frac{\sqrt 2}2, \frac{\sqrt 3}2, \frac{\sqrt 4}2$. Il coseno fa lo stesso al contrario. ### Gli altri tre quarti del cerchio Il cerchio si divide in quattro parti uguali, i **quadranti**. Negli altri tre quadranti i numeri sono gli stessi della tabella; **cambiano solo i segni**. Basta guardare dove sta il punto: | Quadrante | Angoli | Il punto è… | Coseno | Seno | |---|---|---|---|---| | primo | da $0$ a $\frac\pi2$ | in alto a destra | $+$ | $+$ | | secondo | da $\frac\pi2$ a $\pi$ | in alto a sinistra | $-$ | $+$ | | terzo | da $\pi$ a $\frac{3\pi}2$ | in basso a sinistra | $-$ | $-$ | | quarto | da $\frac{3\pi}2$ a $2\pi$ | in basso a destra | $+$ | $-$ | Tre esempi: - $\frac{2\pi}3$ è $\pi - \frac\pi3$: mezzo giro meno un sesto di giro. Sta nel secondo quadrante. Quindi $\cos\frac{2\pi}3 = -\frac 12$ e $\sin\frac{2\pi}3 = \frac{\sqrt 3}2$. - $\frac{5\pi}4$ è $\pi + \frac\pi4$. Sta nel terzo quadrante. Quindi $\cos\frac{5\pi}4 = -\frac{\sqrt 2}2$ e anche $\sin\frac{5\pi}4 = -\frac{\sqrt 2}2$. - $\frac{5\pi}3$ è $2\pi - \frac\pi3$: un giro meno un sesto di giro. Sta nel quarto quadrante. Quindi $\cos\frac{5\pi}3 = \frac 12$ e $\sin\frac{5\pi}3 = -\frac{\sqrt 3}2$. ### Le regole che servono Le prime quattro si leggono sul disegno. | Regola | Perché è vera | Esempio | |---|---|---| | $\cos^2\vartheta + \sin^2\vartheta = 1$ | il punto è a distanza 1 dall'origine (Pitagora) | $\left(\frac 12\right)^2 + \left(\frac{\sqrt 3}2\right)^2 = \frac 14 + \frac 34 = 1$ | | $\cos(-\vartheta) = \cos\vartheta$, $\sin(-\vartheta) = -\sin\vartheta$ | girare all'indietro dà il punto riflesso rispetto all'asse orizzontale | $\sin\left(-\frac\pi6\right) = -\frac 12$ | | $\cos(\vartheta + 2\pi) = \cos\vartheta$, $\sin(\vartheta + 2\pi) = \sin\vartheta$ | un giro in più riporta nello stesso punto | $\cos\frac{7\pi}3 = \cos\frac\pi3 = \frac 12$ | | $\cos(\vartheta + \pi) = -\cos\vartheta$, $\sin(\vartheta + \pi) = -\sin\vartheta$ | mezzo giro in più porta nel punto opposto | $\cos\frac{4\pi}3 = -\frac 12$ | La scrittura $\cos^2\vartheta$ vuol dire $(\cos\vartheta)^2$, cioè il coseno moltiplicato per sé stesso. Le ultime due sono le **formule di addizione**. Non si leggono sul disegno e vanno ricordate: servono solo per capire da dove viene la regola del prodotto, più avanti. $$\cos(\alpha + \beta) = \cos\alpha\cos\beta - \sin\alpha\sin\beta,$$ $$\sin(\alpha + \beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta.$$ ::: prova Quanto valgono $\cos\frac{3\pi}4$ e $\sin\frac{3\pi}4$? $\frac{3\pi}4 = \pi - \frac\pi4$: tre quarti di mezzo giro, nel secondo quadrante. Lì il coseno è negativo e il seno positivo. Quindi $\cos\frac{3\pi}4 = -\frac{\sqrt 2}2$ e $\sin\frac{3\pi}4 = \frac{\sqrt 2}2$. ::: > [!RICORDA] > - Un giro intero è $2\pi$ radianti, mezzo giro è $\pi$, un quarto di giro è $\frac\pi2$. > - Il punto della circonferenza di raggio 1 all'angolo $\vartheta$ è $(\cos\vartheta, \sin\vartheta)$. > - Negli altri quadranti i valori della tabella restano gli stessi; cambiano i segni. ## Due modi per dire dove sta un punto (pp. 10–11) Sei in una piazza e devi spiegare a un amico dove trovarti. Puoi dirlo in due modi: - «da dove sei, fai 3 passi verso est e 4 verso nord»; - «guarda in quella direzione e fai 5 passi dritto». Il primo modo sono le **coordinate cartesiane** della lezione L02: quanto ti sposti in orizzontale, quanto in verticale. Il secondo usa una **direzione** e una **distanza**. Perché proprio 5 passi? Gli spostamenti di 3 e di 4 sono i due lati di un triangolo rettangolo, e la strada dritta è il terzo lato. Per Pitagora la sua lunghezza è $\sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5$. ### Il nome e i simboli Il secondo modo si chiama **coordinate polari**. Un punto diverso dall'origine si descrive con due numeri: - $r$, la **distanza** dall'origine: quanto è lunga la freccia che va dall'origine al punto; - $\vartheta$, l'**angolo** tra quella freccia e la semiretta orizzontale verso destra, misurato in senso antiorario. Un esempio con un angolo della tabella. Il punto $(1, \sqrt 3)$ sta 1 a destra e $\sqrt 3$ (circa 1,73) in su. 1. La distanza, con Pitagora: $r = \sqrt{1^2 + (\sqrt 3)^2} = \sqrt{1 + 3} = \sqrt 4 = 2$. 2. Per l'angolo divido le due coordinate per la distanza. Ottengo il punto sulla circonferenza di raggio 1 nella stessa direzione: $\left(\frac 12, \frac{\sqrt 3}2\right)$. 3. Nella tabella, $\frac 12$ e $\frac{\sqrt 3}2$ sono il coseno e il seno di $\frac\pi3$. Quindi $\vartheta = \frac\pi3$. Le coordinate polari del punto sono $(r, \vartheta) = \left(2, \frac\pi3\right)$: «guarda a $60°$ e fai 2 passi». ```grafico titolo: Coordinate polari del punto $1 + i\sqrt 3$: distanza $r = 2$ dall'origine e angolo $\vartheta = \frac\pi3$ con l'asse reale x: -1 3 y: -0.5 2.5 nomi: $\operatorname{Re}$ $\operatorname{Im}$ arco: 0 0 0.5 0 pi/3 | ambra segmento: 1 0 1 sqrt(3) | grigio | tratteggio segmento: 0 sqrt(3) 1 sqrt(3) | grigio | tratteggio vettore: 1 sqrt(3) | accento | spesso | $1 + i\sqrt 3$ | ne testo: 0.35 1.05 | accento | $r = 2$ testo: 0.72 0.25 | ambra | $\vartheta = \frac\pi3$ testo: 1 -0.2 | $x = 1$ testo: -0.45 1.732 | $y = \sqrt 3$ ``` Guarda la figura: la freccia lunga 2 e l'arco dell'angolo. Le scritte sugli assi, $\operatorname{Re}$ e $\operatorname{Im}$, ricordano che l'asse orizzontale è quello dei numeri reali e l'asse verticale quello dei numeri immaginari (lezione L02). ### Andare e tornare Dalle coordinate polari si torna a quelle cartesiane così. Il punto sulla circonferenza di raggio 1 all'angolo $\vartheta$ è $(\cos\vartheta, \sin\vartheta)$. Il nostro punto è nella stessa direzione ma $r$ volte più lontano. Quindi basta moltiplicare tutte e due le coordinate per $r$: $$x = r\cos\vartheta, \qquad y = r\sin\vartheta.$$ Con il punto di prima: $x = 2 \cdot \cos\frac\pi3 = 2 \cdot \frac 12 = 1$ e $y = 2 \cdot \sin\frac\pi3 = 2 \cdot \frac{\sqrt 3}2 = \sqrt 3$. Torna $(1, \sqrt 3)$. Le dispense lo scrivono così. > [!DEF] 3.1 · Coordinate polari > Un punto $(x, y)$ del piano diverso dall'origine si può identificare con la lunghezza $r$ del vettore corrispondente e l'angolo $\vartheta$ formato dal vettore con l'asse reale. Le **coordinate polari** del punto sono la coppia $(r, \vartheta)$. Per passare dalle coordinate polari alle coordinate cartesiane $(x, y)$ basta usare le formule > $$x = r\cos\vartheta, \qquad y = r\sin\vartheta.$$ > Viceversa, > $$r = \sqrt{x^2 + y^2}, \qquad \cos\vartheta = \frac{x}{\sqrt{x^2 + y^2}}, \qquad \sin\vartheta = \frac{y}{\sqrt{x^2 + y^2}}.$$ **Come si legge.** - «Diverso dall'origine»: per il punto $(0, 0)$ la distanza è 0, e l'angolo non ha senso. Per questo l'origine è esclusa. - «Il vettore corrispondente» è la freccia dall'origine al punto. $r$ è la sua lunghezza, quindi è sempre un numero **positivo**. - La prima coppia di formule va dalle polari alle cartesiane: è il conto che hai appena fatto. - La seconda va al contrario. $r$ si trova con Pitagora. Poi coseno e seno sono le coordinate divise per $r$: è il passo 2 dell'esempio. - L'angolo non è uno solo. $\vartheta$ e $\vartheta + 2\pi$ indicano la stessa direzione, perché un giro in più riporta nello stesso posto. Ci torniamo più avanti. ### Due esempi per ogni verso > [!ESEMPIO] · Da polari a cartesiane > - $(r, \vartheta) = \left(2, \frac\pi6\right)$. Dalla tabella $\cos\frac\pi6 = \frac{\sqrt 3}2$ e $\sin\frac\pi6 = \frac 12$. Quindi $x = 2 \cdot \frac{\sqrt 3}2 = \sqrt 3$ e $y = 2 \cdot \frac 12 = 1$. Il punto è $(\sqrt 3, 1)$. > - $(r, \vartheta) = \left(4, \frac{3\pi}4\right)$. L'angolo è nel secondo quadrante: $\cos\frac{3\pi}4 = -\frac{\sqrt 2}2$ e $\sin\frac{3\pi}4 = \frac{\sqrt 2}2$. Quindi $x = 4 \cdot \left(-\frac{\sqrt 2}2\right) = -2\sqrt 2$ e $y = 4 \cdot \frac{\sqrt 2}2 = 2\sqrt 2$. > - $(r, \vartheta) = (3, \pi)$. Mezzo giro: $\cos\pi = -1$ e $\sin\pi = 0$. Quindi $x = 3 \cdot (-1) = -3$ e $y = 3 \cdot 0 = 0$. Il punto $(-3, 0)$ sta sulla semiretta orizzontale verso sinistra. > [!ESEMPIO] · Da cartesiane a polari > - $(1, 1)$. La distanza: $r = \sqrt{1 + 1} = \sqrt 2$. Coseno e seno: $\frac 1{\sqrt 2} = \frac{\sqrt 2}2$ tutti e due. Nella tabella è l'angolo $\frac\pi4$. > - $(-\sqrt 3, 1)$. La distanza: $r = \sqrt{3 + 1} = 2$. Coseno $-\frac{\sqrt 3}2$, seno $\frac 12$. Coseno negativo e seno positivo: il punto è in alto a sinistra, nel secondo quadrante. Senza segni, i valori $\frac{\sqrt 3}2$ e $\frac 12$ sono quelli di $\frac\pi6$. Nel secondo quadrante l'angolo diventa $\pi - \frac\pi6 = \frac{5\pi}6$. > - $(0, -2)$. La distanza è 2. Coseno 0, seno $-1$: il punto è dritto verso il basso, a tre quarti di giro. L'angolo è $\frac{3\pi}2$, oppure $-\frac\pi2$ girando all'indietro. > - $(1, -\sqrt 3)$. La distanza è $\sqrt{1 + 3} = 2$. Coseno $\frac 12$, seno $-\frac{\sqrt 3}2$: quarto quadrante. L'angolo è $-\frac\pi3$, oppure $\frac{5\pi}3$. > [!METODO] Trovare le coordinate polari di un punto > 1. Calcola la distanza: radice della somma dei quadrati delle due coordinate. > 2. Dividi le due coordinate per la distanza: ottieni il coseno e il seno dell'angolo. > 3. Guarda i **segni** di coseno e seno: ti dicono il quadrante. > 4. Cerca nella tabella l'angolo del primo quadrante con gli stessi valori senza segno. Chiamalo $\alpha$. Portalo nel quadrante giusto: $\pi - \alpha$ nel secondo, $\pi + \alpha$ nel terzo, $-\alpha$ nel quarto. > 5. Controllo: distanza per coseno e distanza per seno devono ridare le coordinate di partenza. ::: prova Trova le coordinate polari del punto $(0, 3)$ e del punto $(-2, 0)$. $(0, 3)$: distanza 3. È dritto verso l'alto, a un quarto di giro: $\vartheta = \frac\pi2$. Coordinate polari $\left(3, \frac\pi2\right)$. $(-2, 0)$: distanza 2. È dritto verso sinistra, a mezzo giro: $\vartheta = \pi$. Coordinate polari $(2, \pi)$. ::: > [!TRAPPOLA] Il coseno da solo non basta per l'angolo > I punti $(1, \sqrt 3)$ e $(1, -\sqrt 3)$ hanno lo stesso coseno, $\frac 12$. Ma il primo è in alto, all'angolo $\frac\pi3$, e il secondo in basso, all'angolo $-\frac\pi3$. Anche il rapporto $\frac yx$ inganna: $(1, 1)$ e $(-1, -1)$ danno tutti e due 1, ma gli angoli sono $\frac\pi4$ e $\frac{5\pi}4$. Chi usa solo la tangente $\tan\vartheta = \frac yx$, o l'arcotangente della calcolatrice (che all'esame comunque non c'è), sbaglia quadrante. Guarda sempre coseno **e** seno, oppure fai il disegno. > [!RICORDA] > - Le coordinate polari di un punto sono la distanza $r$ dall'origine e l'angolo $\vartheta$. > - Dalle polari alle cartesiane: $x = r\cos\vartheta$ e $y = r\sin\vartheta$. > - Per l'angolo guarda insieme il segno del coseno e quello del seno. ## Un numero complesso con distanza e angolo (pp. 10–11) Nella lezione L02 ogni numero complesso era un punto del piano a quadretti: la parte reale diceva quanto andare a destra, la parte immaginaria quanto andare in su. Adesso quel punto lo sappiamo dire anche con una distanza e un angolo. Che cosa diventa il numero? Prendi $1 + i\sqrt 3$: è il punto $(1, \sqrt 3)$ della sezione di prima, a distanza 2 e all'angolo $\frac\pi3$. Al posto di 1 e di $\sqrt 3$ scrivo $2\cos\frac\pi3$ e $2\sin\frac\pi3$: $$1 + i\sqrt 3 = 2\cos\frac\pi3 + i \cdot 2\sin\frac\pi3 = 2\left(\cos\frac\pi3 + i\sin\frac\pi3\right).$$ Nell'ultimo passo ho raccolto il 2. Fuori dalla parentesi c'è la distanza; dentro c'è il punto del cerchio di raggio 1 nella direzione giusta. Con un numero qualsiasi $z = x + yi$, a distanza $r$ e all'angolo $\vartheta$, il conto è lo stesso: $$z = x + yi = r\cos\vartheta + (r\sin\vartheta)i = r(\cos\vartheta + i\sin\vartheta).$$ Questa scrittura si chiama **forma trigonometrica** di $z$. Negli appelli compare spesso così, per esempio $z = 2\cos\frac\pi4 + 2i\sin\frac\pi4$. Le dispense notano subito una cosa: la distanza $r$ è il **modulo** di $z$ della lezione L02, quello che si scrive $|z|$ e si legge «modulo di zeta». $$|z| = \sqrt{x^2 + y^2} = r.$$ ### Il coniugato Ricorda dalla lezione L02: il **coniugato** di $z = x + yi$ è $\bar z = x - yi$, e si legge «zeta segnato». Nel disegno è il punto riflesso nello specchio dell'asse orizzontale. Con distanza e angolo: lo specchio non cambia la distanza, ma l'angolo cambia segno. Se $z$ è all'angolo $\vartheta$, il riflesso è all'angolo $-\vartheta$. Il conto conferma, con le regole del ripasso ($\cos(-\vartheta) = \cos\vartheta$ e $\sin(-\vartheta) = -\sin\vartheta$): $$r\bigl(\cos(-\vartheta) + i\sin(-\vartheta)\bigr) = r(\cos\vartheta - i\sin\vartheta) = x - yi.$$ ### L'abbreviazione $e^{i\vartheta}$ Scrivere ogni volta $\cos\vartheta + i\sin\vartheta$ è lungo. Le dispense usano un'abbreviazione: $$e^{i\vartheta} = \cos\vartheta + i\sin\vartheta.$$ Si legge «e alla i teta». Per questo corso è **solo un simbolo**: un modo breve di scrivere «il punto della circonferenza di raggio 1 all'angolo $\vartheta$». Non c'è da calcolare nessuna potenza. Con l'abbreviazione, ogni numero complesso diverso da zero si scrive con la sua distanza e il suo angolo: $$z = re^{i\vartheta}.$$ Per esempio $1 + i\sqrt 3 = 2e^{i\pi/3}$. La scrittura $e^{i\pi/3}$ è lo stesso di $e^{i\frac\pi3}$: la barra dentro l'esponente è una frazione. Le dispense lo scrivono così. > [!DEF] Forma polare, modulo e argomento (pp. 10–11) > Si scrive > $$e^{i\vartheta} = \cos\vartheta + i\sin\vartheta.$$ > In questo modo ogni numero complesso $z \neq 0$ si scrive come > $$z = re^{i\vartheta}.$$ > Il numero $r = |z|$ è il **modulo** di $z$ e l'angolo $\vartheta$ è detto **argomento** (o **fase**) di $z$. **Come si legge.** - La prima riga è l'abbreviazione: $e^{i\vartheta}$ vuol dire esattamente $\cos\vartheta + i\sin\vartheta$, niente di più. Le dispense la chiamano «misteriosa esponenziale complessa». - $z \neq 0$ si legge «zeta diverso da zero». Lo zero ha distanza 0 e nessun angolo, quindi non si scrive così. - $z = re^{i\vartheta}$ si chiama **forma polare** di $z$. - Il **modulo** è la distanza dall'origine. L'**argomento**, o **fase**, è l'angolo. Due cose da tenere a mente: - $e^{i\vartheta}$ ha sempre modulo 1, perché è un punto della circonferenza di raggio 1. Moltiplicarlo per $r$ allunga la freccia fino a lunghezza $r$. - Nella forma polare $r$ deve essere **positivo**. Una scrittura come $-2e^{i\pi/4}$ indica un numero complesso, ma non è una forma polare: lo vediamo nella trappola qui sotto. > [!APPROFONDIMENTO] perché proprio la lettera $e$ > Le dispense spiegano che il motivo vero sta nelle rappresentazioni di $e^x$, $\sin x$ e $\cos x$ come **serie di potenze**, che vedrai in Analisi: > $$e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} + \cdots$$ > $$\cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \cdots \qquad \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots$$ > Metti $i\vartheta$ al posto di $x$ nella prima serie e usa $i^2 = -1$, $i^3 = -i$, $i^4 = 1$. I termini di posto pari danno la serie del coseno. Quelli di posto dispari danno $i$ volte la serie del seno. Quindi $e^{i\vartheta} = \cos\vartheta + i\sin\vartheta$. Per il corso basta l'abbreviazione. Il nome è azzeccato perché $e^{i\vartheta}$ si comporta come una potenza: è la Proposizione 3.2, nella prossima sezione. ### I numeri da riconoscere a colpo d'occhio | Numero | Modulo | Argomento | Forma polare | |---|--:|---|---| | $1$ | $1$ | $0$ | $e^{0} = e^{i \cdot 0}$ | | $i$ | $1$ | $\frac\pi2$ | $e^{i\pi/2}$ | | $-1$ | $1$ | $\pi$ | $e^{i\pi}$ | | $-i$ | $1$ | $\frac{3\pi}2$ (o $-\frac\pi2$) | $e^{3\pi i/2}$ | | $1 + i$ | $\sqrt 2$ | $\frac\pi4$ | $\sqrt 2\,e^{i\pi/4}$ | | $1 - i$ | $\sqrt 2$ | $-\frac\pi4$ (o $\frac{7\pi}4$) | $\sqrt 2\,e^{-i\pi/4}$ | | $-1 + i$ | $\sqrt 2$ | $\frac{3\pi}4$ | $\sqrt 2\,e^{3\pi i/4}$ | | $\sqrt 3 + i$ | $2$ | $\frac\pi6$ | $2e^{i\pi/6}$ | | $1 + i\sqrt 3$ | $2$ | $\frac\pi3$ | $2e^{i\pi/3}$ | | $-\sqrt 3 + i$ | $2$ | $\frac{5\pi}6$ | $2e^{5\pi i/6}$ | | $-2$ | $2$ | $\pi$ | $2e^{i\pi}$ | | $3i$ | $3$ | $\frac\pi2$ | $3e^{i\pi/2}$ | Un trucco. Se il modulo è 1, le due parti del numero sono già il coseno e il seno. Per esempio $\frac{\sqrt 3}2 - \frac 12 i$: coseno $\frac{\sqrt 3}2$ e seno $-\frac 12$, quarto quadrante, angolo $-\frac\pi6$. Se il modulo non è 1, prima lo raccogli: $$\sqrt 3 + i = 2\left(\frac{\sqrt 3}2 + \frac 12 i\right) = 2e^{i\pi/6}.$$ > [!ESEMPIO] · Dalla forma polare alla forma $a + bi$ > $2e^{2\pi i/3}$: l'angolo $\frac{2\pi}3$ è nel secondo quadrante, con coseno $-\frac 12$ e seno $\frac{\sqrt 3}2$. Quindi > $$2e^{2\pi i/3} = 2\left(-\frac 12 + \frac{\sqrt 3}2 i\right) = -1 + i\sqrt 3.$$ > > $\sqrt 2\,e^{-3\pi i/4}$: l'angolo $-\frac{3\pi}4$ porta nel terzo quadrante, con coseno e seno uguali a $-\frac{\sqrt 2}2$. Quindi > $$\sqrt 2\,e^{-3\pi i/4} = \sqrt 2\left(-\frac{\sqrt 2}2 - \frac{\sqrt 2}2 i\right) = -1 - i.$$ > Qui $\sqrt 2 \cdot \frac{\sqrt 2}2 = \frac 22 = 1$. ::: prova Scrivi $-5$ e $2i$ in forma polare. Poi scrivi $4e^{i\pi}$ nella forma $a + bi$. $-5$ è a distanza 5, dritto verso sinistra: $5e^{i\pi}$. $2i$ è a distanza 2, dritto verso l'alto: $2e^{i\pi/2}$. $4e^{i\pi} = 4(\cos\pi + i\sin\pi) = 4 \cdot (-1 + 0i) = -4$. ::: > [!TRAPPOLA] Il modulo non può essere negativo > $-6e^{3\pi i/4}$ è un numero complesso, ma **non** è scritto in forma polare: il numero davanti deve essere il modulo, che è positivo. Si sistema portando il segno meno dentro l'angolo. Il numero $-1$ è mezzo giro, cioè $-1 = e^{i\pi}$, e gli angoli si sommano (prossima sezione): > $$-6e^{3\pi i/4} = 6e^{i\pi}e^{3\pi i/4} = 6e^{7\pi i/4}.$$ > L'appello del 16/01/2025 (domanda 1) chiedeva un prodotto «in coordinate polari», e tra le risposte c'erano sia $6e^{7\pi i/4}$ sia $-6e^{3\pi i/4}$: solo la prima è una forma polare. > [!RICORDA] > - Forma polare: $z = re^{i\vartheta}$, con $r$ positivo (il modulo) e $\vartheta$ l'angolo (l'argomento). > - $e^{i\vartheta}$ è un'abbreviazione di $\cos\vartheta + i\sin\vartheta$, un punto del cerchio di raggio 1. > - Il coniugato ha lo stesso modulo e l'angolo cambiato di segno. ## Moltiplicare vuol dire girare e allungare (p. 11) Nella lezione L02 hai visto che una moltiplicazione può far girare un punto attorno all'origine. Moltiplicare per $i$ fa fare un quarto di giro: il numero 1 diventa $i$, cioè passa da destra a in alto; poi $i$ diventa $-1$, da in alto a sinistra. Moltiplicare per 2, invece, raddoppia la distanza senza girare niente. Che cosa succede con un numero qualsiasi? Prova con $(1 + i) \cdot (1 + i)$. 1. In forma $a + bi$, come nella lezione L02: $(1 + i)(1 + i) = 1 + i + i + i^2 = 1 + 2i - 1 = 2i$. 2. Ora guardo distanze e angoli. $1 + i$ è a distanza $\sqrt 2$ e all'angolo $\frac\pi4$. Il risultato $2i$ è a distanza 2 e all'angolo $\frac\pi2$. 3. Le distanze: $\sqrt 2 \cdot \sqrt 2 = 2$. Si sono **moltiplicate**. 4. Gli angoli: $\frac\pi4 + \frac\pi4 = \frac\pi2$. Si sono **sommati**. Non è un caso. Vale sempre, ed è la regola più importante di questa lezione. > [!IDEA] · la regola del prodotto > Quando moltiplichi due numeri complessi, **le distanze si moltiplicano e gli angoli si sommano**. Moltiplicare per un numero $w$ vuol dire: girare dell'angolo di $w$ e allungare quanto il modulo di $w$. ### Perché è vera Tutto viene da una proprietà dell'abbreviazione $e^{i\vartheta}$. Le dispense la scrivono così. > [!PROP] 3.2 > Vale la relazione > $$e^{i(\vartheta + \varphi)} = e^{i\vartheta} \cdot e^{i\varphi}.$$ **Come si legge.** A sinistra c'è il punto del cerchio all'angolo $\vartheta + \varphi$, cioè la somma dei due angoli. A destra c'è il prodotto dei punti agli angoli $\vartheta$ e $\varphi$. La proposizione dice che sono lo stesso numero: moltiplicare due punti del cerchio di raggio 1 vuol dire sommare i loro angoli. È la stessa regola delle potenze, come $2^3 \cdot 2^4 = 2^{3 + 4}$: per questo l'abbreviazione usa la lettera $e$ con l'esponente. Un controllo con i numeri, con due quarti di giro: $e^{i\pi/2} \cdot e^{i\pi/2} = i \cdot i = -1$, e $e^{i(\pi/2 + \pi/2)} = e^{i\pi} = -1$. Torna. > [!DIM] della Proposizione 3.2 > Le dispense dicono che la relazione segue dalle formule di addizione del ripasso. Il conto completo: > 1. Scrivo il prodotto a destra con la definizione: $e^{i\vartheta} \cdot e^{i\varphi} = (\cos\vartheta + i\sin\vartheta)(\cos\varphi + i\sin\varphi)$. > 2. Moltiplico ogni pezzo della prima parentesi per ogni pezzo della seconda, come nella lezione L02, e uso $i^2 = -1$: > $$= (\cos\vartheta\cos\varphi - \sin\vartheta\sin\varphi) + i(\sin\vartheta\cos\varphi + \cos\vartheta\sin\varphi).$$ > 3. La prima parentesi è la formula di addizione del coseno: vale $\cos(\vartheta + \varphi)$. La seconda è quella del seno: vale $\sin(\vartheta + \varphi)$. > 4. Quindi il prodotto è $\cos(\vartheta + \varphi) + i\sin(\vartheta + \varphi)$, che per definizione è $e^{i(\vartheta + \varphi)}$. $\square$ Ora i numeri con distanza qualsiasi. Prendi due numeri in forma polare: $$z_1 = r_1e^{i\vartheta_1}, \qquad z_2 = r_2e^{i\vartheta_2}.$$ I numerini in basso servono solo a distinguerli: $r_1$ è la distanza del primo, $r_2$ quella del secondo, e così gli angoli. Nel prodotto metto vicini i due numeri reali e i due pezzi $e^{i\ldots}$, poi uso la Proposizione 3.2: $$z_1z_2 = r_1r_2\,e^{i\vartheta_1}e^{i\vartheta_2} = r_1r_2\,e^{i(\vartheta_1 + \vartheta_2)}.$$ Distanze moltiplicate, angoli sommati. > [!ESEMPIO] · $(1 + i)(\sqrt 3 + i)$ in due modi > **Con la forma polare.** Dalla tabella: $1 + i = \sqrt 2\,e^{i\pi/4}$ e $\sqrt 3 + i = 2e^{i\pi/6}$. > 1. Le distanze: $\sqrt 2 \cdot 2 = 2\sqrt 2$. > 2. Gli angoli: $\frac\pi4 + \frac\pi6$. Il denominatore comune è 12: $\frac{3\pi}{12} + \frac{2\pi}{12} = \frac{5\pi}{12}$, cioè $75°$. > 3. Il prodotto: $(1 + i)(\sqrt 3 + i) = 2\sqrt 2\,e^{5\pi i/12}$. > > **Con la forma $a + bi$.** $(1 + i)(\sqrt 3 + i) = \sqrt 3 + i + i\sqrt 3 + i^2 = (\sqrt 3 - 1) + (\sqrt 3 + 1)i$. > > I due risultati sono lo stesso numero. Confrontandoli si ottiene gratis un valore che non sta nella tabella: $\cos\frac{5\pi}{12} = \frac{\sqrt 3 - 1}{2\sqrt 2} = \frac{\sqrt 6 - \sqrt 2}4$. La forma polare e quella $a + bi$ si controllano a vicenda. Guarda la figura: l'arco giallo del prodotto è lungo quanto i due archi degli altri numeri messi uno dopo l'altro. ```grafico titolo: Il prodotto $(1 + i)(\sqrt 3 + i)$: gli angoli $\frac\pi4$ e $\frac\pi6$ si sommano in $\frac{5\pi}{12}$, i moduli $\sqrt 2$ e $2$ si moltiplicano in $2\sqrt 2$ x: -0.6 3 y: -0.4 3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ arco: 0 0 0.45 0 pi/4 | accento arco: 0 0 0.7 0 pi/6 | blu arco: 0 0 0.95 0 5pi/12 | ambra vettore: 1 1 | accento | $1 + i$ | e vettore: sqrt(3) 1 | blu | $\sqrt 3 + i$ | e vettore: 0.732 2.732 | ambra | spesso | $2\sqrt 2\,e^{5\pi i/12}$ | ne ``` Prova con lo strumento. Nella modalità **z · w** trascina $z$ e $w$ e guarda gli archi: l'arco del prodotto è sempre la somma dei due archi, e sotto leggi che il modulo del prodotto è il prodotto dei moduli. Poi scegli **potenze zⁿ**: vedi i punti $z, z^2, z^3, \dots$ girare attorno all'origine, ogni volta dello stesso angolo. ```widget complessi titolo: Prodotto e potenze in forma polare z: 1+i w: 1.732+i modo: prodotto modi: prodotto potenza n: 3 raggio: 4 ``` ::: prova Calcola $3e^{i\pi/6} \cdot 2e^{i\pi/3}$ e scrivi il risultato nella forma $a + bi$. Distanze: $3 \cdot 2 = 6$. Angoli: $\frac\pi6 + \frac\pi3 = \frac\pi6 + \frac{2\pi}6 = \frac{3\pi}6 = \frac\pi2$. Il prodotto è $6e^{i\pi/2} = 6i$. ::: ### L'inverso e il quoziente L'**inverso** di $z$, che si scrive $z^{-1}$, è il numero che moltiplicato per $z$ dà 1 (lezione L02). In forma polare si trova a occhio. Il numero 1 ha distanza 1 e angolo 0. Quindi l'inverso deve: - avere una distanza che, moltiplicata per $r$, dia 1: cioè $\frac 1r$, che si scrive anche $r^{-1}$; - avere un angolo che, sommato a $\vartheta$, dia 0: cioè $-\vartheta$. Le dispense lo notano così: se $z = re^{i\vartheta}$ non è zero, il suo inverso è $$z^{-1} = r^{-1}e^{-i\vartheta}.$$ Controllo con la regola del prodotto: $z \cdot z^{-1} = r \cdot r^{-1}\,e^{i(\vartheta - \vartheta)} = 1 \cdot e^{0} = \cos 0 + i\sin 0 = 1$. Nel disegno: l'inverso è dalla parte opposta rispetto all'asse orizzontale, come il coniugato. Ma la distanza si inverte. Se $z$ sta fuori dal cerchio di raggio 1, il suo inverso sta dentro, e il contrario (Figura 4 delle dispense, a destra). Il **quoziente** $\frac{z_1}{z_2}$ è $z_1$ per l'inverso di $z_2$. Quindi le distanze si dividono e gli angoli si sottraggono: $$\frac{z_1}{z_2} = \frac{r_1}{r_2}\,e^{i(\vartheta_1 - \vartheta_2)}.$$ > [!ESEMPIO] · Lo stesso inverso della lezione L02 > $1 + i = \sqrt 2\,e^{i\pi/4}$. L'inverso ha distanza $\frac 1{\sqrt 2}$ e angolo $-\frac\pi4$: > $$(1 + i)^{-1} = \frac 1{\sqrt 2}e^{-i\pi/4} = \frac 1{\sqrt 2}\left(\frac{\sqrt 2}2 - \frac{\sqrt 2}2 i\right) = \frac 12 - \frac 12 i.$$ > È lo stesso risultato della formula della lezione L02, $z^{-1} = \frac{\bar z}{|z|^2} = \frac{1 - i}2$. Nella figura qui sotto ci sono $z = 2e^{i\pi/3}$, il suo coniugato e il suo inverso. Il coniugato è il riflesso allo specchio, alla stessa distanza 2. L'inverso ha lo stesso angolo del coniugato, ma distanza $\frac 12$: sta dentro il cerchio di raggio 1. ```grafico titolo: La Figura 4 delle dispense con $z = 2e^{i\pi/3}$: il coniugato $\bar z = 2e^{-i\pi/3}$ è il riflesso di $z$; l'inverso $z^{-1} = \frac 12 e^{-i\pi/3}$ ha l'angolo opposto e sta dentro la circonferenza unitaria x: -2.4 2.4 y: -2 2 nomi: $\operatorname{Re}$ $\operatorname{Im}$ cerchio: 0 0 1 | grigio arco: 0 0 0.4 0 pi/3 | accento arco: 0 0 0.4 -pi/3 0 | viola segmento: 1 sqrt(3) 1 -sqrt(3) | grigio | tratteggio vettore: 1 sqrt(3) | accento | $z$ | ne vettore: 1 -sqrt(3) | viola | $\bar z$ | se vettore: 1/4 -sqrt(3)/4 | ambra | spesso | $z^{-1}$ | e testo: 1.18 0.12 | grigio | $1$ ``` ::: prova Se $z = 4e^{i\pi/2}$, quanto valgono $z^{-1}$ e $\bar z$ in forma polare? $z^{-1} = \frac 14 e^{-i\pi/2}$: distanza inversa, angolo opposto. $\bar z = 4e^{-i\pi/2}$: stessa distanza, angolo opposto. In forma $a + bi$: $z = 4i$, $\bar z = -4i$ e $z^{-1} = -\frac 14 i$. ::: > [!RICORDA] > - Prodotto: distanze moltiplicate, angoli sommati. Moltiplicare per $w$ vuol dire girare e allungare. > - Inverso: distanza $\frac 1r$, angolo $-\vartheta$. > - Quoziente: distanze divise, angoli sottratti. ## Quando due angoli indicano lo stesso punto (p. 11) Un orologio segna le 3. Dopo un giro completo della lancetta segna ancora le 3: la lancetta è nello stesso posto. Con gli angoli succede lo stesso. L'angolo $\frac\pi2$ e l'angolo $\frac\pi2 + 2\pi = \frac{5\pi}2$ indicano la stessa direzione: il secondo ha solo fatto un giro in più. Per questo lo stesso numero complesso ha tante forme polari diverse: $$e^{i\pi/2} = e^{5\pi i/2} = e^{-3\pi i/2} = i.$$ - $\frac{5\pi}2$ è $\frac\pi2$ più un giro; - $-\frac{3\pi}2$ è $\frac\pi2$ meno un giro. Un altro esempio: $2e^{7\pi i/4} = 2e^{-\pi i/4} = \sqrt 2 - i\sqrt 2$, perché $\frac{7\pi}4 - 2\pi = \frac{7\pi}4 - \frac{8\pi}4 = -\frac\pi4$. Le dispense lo scrivono così. > [!PROP] · Uguaglianza di due forme polari (p. 11) > Due numeri complessi non nulli espressi in forma polare $r_0e^{i\vartheta_0}$ e $r_1e^{i\vartheta_1}$ sono lo stesso numero complesso se e solo se valgono entrambi i fatti seguenti: > - $r_0 = r_1$; > - $\vartheta_1 = \vartheta_0 + 2k\pi$ per qualche $k \in \Z$. **Come si legge.** - «Non nulli» vuol dire «diversi da zero». - «Se e solo se» vuol dire che le due cose vanno sempre insieme: se i numeri sono uguali, valgono i due fatti; se valgono i due fatti, i numeri sono uguali. - Il primo fatto: le due distanze sono uguali. - Il secondo fatto: gli angoli differiscono di $2k\pi$. Qui $k$ è un numero intero qualsiasi, positivo, negativo o zero: la scrittura $k \in \Z$ si legge «$k$ appartiene a zeta», cioè «$k$ è un intero». Quindi $2k\pi$ vuol dire «un numero intero di giri», in avanti o all'indietro. Questo fatto ha due usi. Il primo è **accorciare** gli angoli grandi che escono dalle potenze. Il secondo è **risolvere** le equazioni come $z^3 = -8$, nella sezione sulle radici. > [!METODO] Accorciare un angolo > Quando l'angolo è grande, togli (o aggiungi) giri interi, cioè multipli di $2\pi$. Fermati quando l'angolo sta dentro un giro solo: tra 0 e un giro, oppure tra mezzo giro all'indietro e mezzo giro in avanti. > > Con un angolo scritto come frazione di $\pi$ il conto si fa con i numeri interi. Esempio: $\alpha = \frac{2025}4\pi$. > 1. Un giro, $2\pi$, scritto in quarti è $\frac 84\pi$. > 2. Divido 2025 per 8 con il resto: $2025 = 8 \cdot 253 + 1$. > 3. Quindi $\frac{2025}4\pi = 253 \cdot \frac 84\pi + \frac 14\pi$: sono 253 giri interi più $\frac\pi4$. > 4. I giri interi non contano: $e^{2025\pi i/4} = e^{i\pi/4}$. ::: prova Accorcia l'angolo di $e^{17\pi i/3}$. Un giro in terzi è $\frac 63\pi$. Divido 17 per 6: $17 = 6 \cdot 2 + 5$. Quindi $\frac{17}3\pi$ è 2 giri più $\frac{5\pi}3$, e $e^{17\pi i/3} = e^{5\pi i/3}$. Con un giro in meno ancora diventa $e^{-i\pi/3}$. ::: > [!APPROFONDIMENTO] l'argomento principale > Le dispense non fissano un intervallo per l'argomento: $\frac{7\pi}4$ e $-\frac\pi4$ vanno bene tutti e due. Molti libri chiamano **argomento principale** quello compreso tra $-\pi$ (escluso) e $\pi$ (incluso); altri usano quello tra $0$ (incluso) e $2\pi$ (escluso). Nel quiz le risposte usano tutte e due le abitudini: se una risposta non ti torna, prova ad aggiungere o a togliere $2\pi$. > [!RICORDA] > - Stessa distanza e angoli che differiscono di giri interi: stesso numero. > - Per accorciare un angolo togli multipli di $2\pi$; con le frazioni di $\pi$ basta il resto di una divisione. ## Il giro completo e l'identità di Eulero (p. 12) Torna sulla pista circolare del ripasso, quella con il raggio lungo 1. Ogni abbreviazione $e^{i\vartheta}$ è un punto della pista, e ogni punto della pista è uno di questi numeri: basta prendere il suo angolo. Tre posti sulla pista sono da sapere a memoria, perché tornano in quasi tutti gli esercizi: - un quarto di giro, $\vartheta = \frac\pi2$: $e^{i\pi/2} = \cos\frac\pi2 + i\sin\frac\pi2 = 0 + i \cdot 1 = i$; - mezzo giro, $\vartheta = \pi$: $e^{i\pi} = \cos\pi + i\sin\pi = -1 + 0 = -1$; - un giro intero, $\vartheta = 2\pi$: $e^{2\pi i} = \cos 2\pi + i\sin 2\pi = 1 + 0 = 1$. La seconda è la famosa **identità di Eulero**, spesso scritta $e^{i\pi} + 1 = 0$: mette insieme in una sola riga i numeri $e$, $i$, $\pi$, 1 e 0. A che cosa servono negli esercizi: - la seconda dice che un segno meno è mezzo giro. Serve per portare il meno dentro l'angolo, come nella trappola sul modulo negativo; - la terza dice che un giro intero non cambia niente, e nemmeno due, tre o cento giri. È il motivo per cui dagli angoli si possono togliere i giri interi. ::: prova Quanto vale $e^{3\pi i}$? $3\pi$ è un giro intero più mezzo giro: $3\pi = 2\pi + \pi$. Il giro intero non conta, quindi $e^{3\pi i} = e^{i\pi} = -1$. ::: > [!RICORDA] > - I numeri $e^{i\vartheta}$ sono i punti della circonferenza di raggio 1. > - $e^{i\pi/2} = i$, $e^{i\pi} = -1$ (identità di Eulero), $e^{2\pi i} = 1$. ## Le potenze: girare più volte (p. 12) Una potenza è un prodotto ripetuto: $z^3 = z \cdot z \cdot z$. Con la regola del prodotto, ogni volta che moltiplichi per $z$ la distanza si moltiplica per $r$ e l'angolo cresce di $\vartheta$. Prova con $z = 1 + i$, a distanza $\sqrt 2$ e all'angolo $\frac\pi4$: | Potenza | Distanza | Angolo | Il numero | |---|---|---|---| | $z$ | $\sqrt 2$ | $\frac\pi4$ | $1 + i$ | | $z^2$ | $\sqrt 2 \cdot \sqrt 2 = 2$ | $\frac\pi4 + \frac\pi4 = \frac\pi2$ | $2i$ | | $z^3$ | $2 \cdot \sqrt 2 = 2\sqrt 2$ | $\frac\pi2 + \frac\pi4 = \frac{3\pi}4$ | $-2 + 2i$ | | $z^4$ | $2\sqrt 2 \cdot \sqrt 2 = 4$ | $\frac{3\pi}4 + \frac\pi4 = \pi$ | $-4$ | Guarda la figura: a ogni passo il punto gira di un ottavo di giro e si allontana. ```grafico titolo: Le potenze di $z = 1 + i$: ogni volta il modulo si moltiplica per $\sqrt 2$ e l'angolo cresce di $\frac\pi4$ x: -5.5 2 y: -1.5 3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ segmento: 1 1 0 2 | grigio | tratteggio segmento: 0 2 -2 2 | grigio | tratteggio segmento: -2 2 -4 0 | grigio | tratteggio vettore: 1 1 | accento | $z = 1 + i$ | e vettore: 0 2 | blu | $z^2 = 2i$ | ne vettore: -2 2 | viola | $z^3 = -2 + 2i$ | no vettore: -4 0 | ambra | $z^4 = -4$ | no ``` Moltiplicare $n$ volte la distanza per sé stessa vuol dire elevarla alla $n$. Sommare $n$ volte lo stesso angolo vuol dire moltiplicarlo per $n$. La formula, che le dispense usano all'inizio della sezione 3.B: $$z^n = \underbrace{re^{i\vartheta} \cdots re^{i\vartheta}}_{n \text{ volte}} = r^ne^{in\vartheta}.$$ A parole: **la distanza si eleva alla $n$, l'angolo si moltiplica per $n$**. > [!APPROFONDIMENTO] il nome della formula > Nella forma trigonometrica la formula si scrive $\bigl(r(\cos\vartheta + i\sin\vartheta)\bigr)^n = r^n(\cos n\vartheta + i\sin n\vartheta)$ ed è nota come **formula di De Moivre**. > [!ESEMPIO] · $(1 + i)^8$ e $(1 + i)^{10}$ > $1 + i = \sqrt 2\,e^{i\pi/4}$. > > **La potenza ottava.** > 1. Distanza: $(\sqrt 2)^8 = \left((\sqrt 2)^2\right)^4 = 2^4 = 16$. > 2. Angolo: $8 \cdot \frac\pi4 = 2\pi$, un giro intero. > 3. Quindi $(1 + i)^8 = 16\,e^{2\pi i} = 16 \cdot 1 = 16$. > > Controllo con la forma $a + bi$: $(1 + i)^2 = 2i$, quindi $(1 + i)^8 = (2i)^4 = 16i^4 = 16$. > > **La potenza decima.** > 1. Distanza: $(\sqrt 2)^{10} = 2^5 = 32$. > 2. Angolo: $10 \cdot \frac\pi4 = \frac{10\pi}4 = \frac{5\pi}2$. > 3. Accorcio: $\frac{5\pi}2 = 2\pi + \frac\pi2$, quindi l'angolo è $\frac\pi2$. > 4. Quindi $(1 + i)^{10} = 32\,e^{i\pi/2} = 32i$. > [!ESEMPIO] · $(\sqrt 3 + i)^6$ > $\sqrt 3 + i = 2e^{i\pi/6}$. > 1. Distanza: $2^6 = 64$. > 2. Angolo: $6 \cdot \frac\pi6 = \pi$. > 3. Quindi $(\sqrt 3 + i)^6 = 64\,e^{i\pi} = -64$. > > Un numero con parte immaginaria diversa da zero, elevato alla sesta, dà un numero reale negativo. Con la forma $a + bi$ ci sarebbero volute cinque moltiplicazioni. ::: prova Calcola $(2i)^3$ in forma polare. $2i = 2e^{i\pi/2}$. Distanza $2^3 = 8$, angolo $3 \cdot \frac\pi2 = \frac{3\pi}2$. Quindi $(2i)^3 = 8e^{3\pi i/2} = 8 \cdot (-i) = -8i$. Controllo: $(2i)^3 = 8i^3 = 8 \cdot (-i) = -8i$. ::: > [!METODO] Una potenza alta senza calcolatrice > 1. Scrivi il numero in forma polare. Negli appelli il modulo è quasi sempre 1, $\sqrt 2$ o 2, e l'angolo è uno della tabella. > 2. Eleva la distanza alla $n$ e moltiplica l'angolo per $n$. > 3. Accorcia l'angolo togliendo giri interi. > 4. Torna alla forma $a + bi$ con la tabella di seno e coseno, e confronta con le risposte. > > Per esponenti piccoli c'è un'alternativa: calcola $z^2$ o $z^3$ nella forma $a + bi$ finché ottieni un numero reale o immaginario puro, poi continua con le potenze di quello. Per esempio $(1 + i)^2 = 2i$, e da lì $(1 + i)^{10} = (2i)^5 = 32i^5 = 32i$. > [!RICORDA] > - $z^n = r^ne^{in\vartheta}$: distanza alla $n$, angolo per $n$. > - Dopo aver moltiplicato l'angolo, accorcialo togliendo giri interi. ## Le radici: n punti in cerchio (pp. 12–13) Adesso il problema al contrario. Le potenze partono da un numero e lo elevano. Le radici partono dal risultato e cercano da dove si è partiti. Tra i numeri reali le cose sono disordinate. Quali numeri, moltiplicati per sé stessi, danno 4? Due: 2 e il suo opposto. Quali numeri, elevati al cubo, danno 8? Uno solo, il 2. E quali numeri al quadrato danno $-4$? Nessuno, perché un quadrato non è mai negativo. Tra i numeri complessi tutto diventa regolare: un numero diverso da zero ha sempre esattamente 2 radici quadrate, 3 radici cubiche, 4 radici quarte, e così via. In generale si cerca un numero $z$ che elevato alla $n$ dia un numero fissato, che le dispense chiamano $z_0$. Il numerino 0 serve solo a distinguerlo dall'incognita. Le soluzioni si chiamano **radici $n$-esime** di quel numero, e sono sempre $n$. ### Un esempio con i numeri: $z^3 = -8$ Cerchiamo i numeri che elevati al cubo danno $-8$. 1. **Il numero dato, con distanza e angolo.** Il numero $-8$ è dritto verso sinistra, a distanza 8. Quindi ha distanza 8 e angolo $\pi$. 2. **L'incognita, con distanza e angolo.** Non conosco né la distanza né l'angolo del numero che cerco. Li chiamo $r$ e $\vartheta$. 3. **Elevo al cubo.** Per la regola delle potenze, il cubo ha distanza $r^3$ e angolo tre volte $\vartheta$. 4. **Le distanze devono essere uguali.** Il cubo deve avere distanza 8. Il numero positivo che al cubo dà 8 è 2: quindi la distanza cercata è 2. 5. **Gli angoli devono indicare la stessa direzione.** Tre volte l'angolo cercato deve essere mezzo giro, oppure mezzo giro più un giro, oppure mezzo giro più due giri. I giri in più non cambiano la direzione. 6. **Divido per 3.** L'angolo cercato può essere un terzo di mezzo giro, cioè $\frac\pi3$. Oppure un terzo di un giro e mezzo, cioè $\pi$. Oppure un terzo di due giri e mezzo, cioè $\frac{5\pi}3$. 7. **Con un giro in più non viene niente di nuovo.** Mezzo giro più tre giri, diviso 3, fa $\frac{7\pi}3$: è un giro più $\frac\pi3$, cioè lo stesso punto della prima soluzione. Le soluzioni sono tre: distanza 2, angoli $\frac\pi3$, $\pi$ e $\frac{5\pi}3$. Sono tre punti su un cerchio di raggio 2, separati da un terzo di giro ciascuno: i vertici di un triangolo equilatero. ### Il ragionamento in generale Le dispense fanno lo stesso conto con $z^n = z_0$ al posto di $z^3 = -8$. I passi sono gli stessi. 1. Scrivo con distanza e angolo sia il numero dato sia l'incognita. Il numero dato è $z_0 = r_0e^{i\vartheta_0}$; l'incognita è $z = re^{i\vartheta}$, con distanza e angolo da trovare. 2. Per la formula delle potenze l'equazione diventa $$r^ne^{in\vartheta} = r_0e^{i\vartheta_0}.$$ 3. Due forme polari sono uguali esattamente quando le distanze sono uguali e gli angoli differiscono di giri interi. Quindi servono due cose. - **Le distanze.** La distanza cercata, elevata alla $n$, deve dare la distanza del numero dato. Quindi è la sua radice $n$-esima, che si scrive $\sqrt[n]{r_0}$: il numero positivo che elevato alla $n$ dà $r_0$, la solita radice della scuola. - **Gli angoli.** L'angolo cercato, moltiplicato per $n$, deve dare l'angolo del numero dato più un certo numero di giri: $n\vartheta = \vartheta_0 + 2k\pi$, con $k$ intero. 4. Divido per $n$: $$\vartheta = \frac{\vartheta_0}n + \frac{2k\pi}n.$$ 5. Il primo angolo, con $k$ uguale a zero, è l'angolo del numero dato diviso per $n$. Ogni volta che $k$ cresce di 1, l'angolo cresce di un $n$-esimo di giro. Facendo crescere $k$ da 0 fino a $n - 1$ vengono $n$ angoli. 6. Questi $n$ angoli coprono meno di un giro, quindi danno $n$ punti **diversi**. Il valore successivo di $k$ riporta al primo punto, perché aggiunge un giro intero; quello dopo riporta al secondo, e così via. Le dispense lo scrivono così. > [!PROP] · Le radici $n$-esime (pp. 12–13) > Sia $z_0 = r_0e^{i\vartheta_0}$ un numero complesso diverso da zero. L'equazione $z^n = z_0$ ha precisamente $n$ soluzioni distinte: > $$z_k = \sqrt[n]{r_0}\;e^{i\left(\frac{\vartheta_0}n + \frac{2k\pi}n\right)}, \qquad k = 0, 1, \dots, n - 1.$$ > Hanno tutte lo stesso modulo $\sqrt[n]{r_0}$ e argomenti separati da un passo costante $\frac{2\pi}n$. Geometricamente, formano i vertici di un **poligono regolare** centrato nell'origine con $n$ lati e raggio $\sqrt[n]{r_0}$. **Come si legge.** - «Precisamente $n$ soluzioni distinte»: esattamente $n$, tutte diverse tra loro. - $z_k$ è la soluzione numero $k$. Il numerino $k$ parte da 0 e arriva a $n - 1$: in tutto sono $n$. - Tutte le soluzioni stanno alla stessa distanza dall'origine. - La prima ha l'angolo del numero dato diviso per $n$. Da una alla successiva l'angolo cresce sempre di un $n$-esimo di giro. - Un **poligono regolare** ha tutti i lati uguali: triangolo equilatero, quadrato, pentagono regolare… Le soluzioni ne sono i vertici, su un cerchio centrato nell'origine. ::: prova Quante soluzioni ha $z^5 = 32$? A che distanza dall'origine stanno? Cinque soluzioni. La distanza è $\sqrt[5]{32} = 2$, perché $2^5 = 32$. Sono i vertici di un pentagono regolare su un cerchio di raggio 2, e uno di loro è il numero reale 2. ::: ### Due esempi delle dispense > [!ESEMPIO] 3.3 · Le radici $n$-esime dell'unità > L'equazione $z^n = 1$ ha come soluzioni i numeri complessi > $$z = e^{i\frac{2k\pi}n}, \qquad k = 0, 1, \dots, n - 1.$$ > Queste $n$ soluzioni sono i vertici di un poligono regolare di raggio $1$ con $n$ lati, avente $1$ come vertice. Sono le **radici $n$-esime dell'unità**. > > **Da dove viene.** $1 = 1 \cdot e^{i \cdot 0}$: la distanza è 1 e l'angolo è 0. Quindi le radici hanno distanza $\sqrt[n]1 = 1$ e angoli $0 + \frac{2k\pi}n$. «Unità» è un altro nome del numero 1. > - $n = 2$: gli angoli sono $0$ e $\pi$. Le radici sono $e^{0} = 1$ ed $e^{i\pi} = -1$. > - $n = 3$: gli angoli sono $0$, $\frac{2\pi}3$, $\frac{4\pi}3$. Le radici sono $1$, $e^{2\pi i/3} = -\frac 12 + \frac{\sqrt 3}2 i$, $e^{4\pi i/3} = -\frac 12 - \frac{\sqrt 3}2 i$: un triangolo equilatero. > - $n = 4$: gli angoli sono i quarti di giro. Le radici sono $1$, $i$, $-1$, $-i$: un quadrato. > - $n = 6$: gli angoli sono i multipli di $\frac\pi3$. Le radici sono $\pm 1$ e $\pm\frac 12 \pm \frac{\sqrt 3}2 i$: un esagono (Figura 5 delle dispense, a sinistra). Nella figura le sei radici seste di 1. Il simbolo $\pm$ si legge «più o meno»: la scrittura $\pm\frac 12 \pm \frac{\sqrt 3}2 i$ riassume i quattro numeri con tutte le scelte dei segni. ```grafico titolo: La Figura 5 (sinistra): le radici seste di $1$ sono i vertici di un esagono regolare con un vertice in $1$ x: -1.8 1.8 y: -1.3 1.3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ cerchio: 0 0 1 | grigio | sottile poligono: 1 0 1/2 sqrt(3)/2 -1/2 sqrt(3)/2 -1 0 -1/2 -sqrt(3)/2 1/2 -sqrt(3)/2 | ambra | tratteggio punto: 1 0 | ambra | $1$ | ne punto: 1/2 sqrt(3)/2 | ambra | $\frac 12 + \frac{\sqrt 3}2 i$ | ne punto: -1/2 sqrt(3)/2 | ambra | $-\frac 12 + \frac{\sqrt 3}2 i$ | no punto: -1 0 | ambra | $-1$ | no punto: -1/2 -sqrt(3)/2 | ambra | $-\frac 12 - \frac{\sqrt 3}2 i$ | so punto: 1/2 -sqrt(3)/2 | ambra | $\frac 12 - \frac{\sqrt 3}2 i$ | se ``` > [!ESEMPIO] 3.4 · Le tre soluzioni di $z^3 = -8$ > Come nella Figura 5 delle dispense (a destra), le tre soluzioni dell'equazione $z^3 = -8$ hanno modulo $\sqrt[3]8 = 2$ e argomenti $\frac\pi3$, $\pi$ e $\frac{5\pi}3$. Si tratta dei numeri complessi > $$z_1 = 2e^{i\pi/3} = 2\left(\cos\frac\pi3 + i\sin\frac\pi3\right) = 1 + \sqrt 3 i,$$ > $$z_2 = 2e^{i\pi} = -2,$$ > $$z_3 = 2e^{5\pi i/3} = 2\left(\cos\frac{5\pi}3 + i\sin\frac{5\pi}3\right) = 1 - \sqrt 3 i.$$ > > **Da dove vengono gli angoli.** È l'esempio che hai già fatto all'inizio della sezione. $-8$ è un reale negativo, quindi $-8 = 8e^{i\pi}$. Il primo angolo è $\frac\pi3$, un terzo di $\pi$. Poi si aggiunge due volte il passo $\frac{2\pi}3$: $\frac\pi3 + \frac{2\pi}3 = \pi$, e $\pi + \frac{2\pi}3 = \frac{5\pi}3$. > > **Controllo** su $z_1$, nella forma $a + bi$: > 1. $(1 + i\sqrt 3)^2 = 1 + 2i\sqrt 3 + (i\sqrt 3)^2 = 1 + 2i\sqrt 3 - 3 = -2 + 2i\sqrt 3$. > 2. $(-2 + 2i\sqrt 3)(1 + i\sqrt 3) = -2 - 2i\sqrt 3 + 2i\sqrt 3 + 2i^2 \cdot 3 = -2 - 6 = -8$. ```grafico titolo: La Figura 5 (destra): le soluzioni di $z^3 = -8$ sono i vertici di un triangolo equilatero di raggio $\sqrt[3]8 = 2$ x: -3 3 y: -2.5 2.5 nomi: $\operatorname{Re}$ $\operatorname{Im}$ cerchio: 0 0 2 | grigio | sottile poligono: 1 sqrt(3) -2 0 1 -sqrt(3) | ambra | tratteggio punto: 1 sqrt(3) | ambra | $z_1 = 1 + \sqrt 3 i$ | ne punto: -2 0 | ambra | $z_2 = -2$ | no punto: 1 -sqrt(3) | ambra | $z_3 = 1 - \sqrt 3 i$ | se ``` Nello strumento qui sotto c'è lo stesso esempio. Cambia $n$ per vedere triangoli, quadrati, pentagoni. Poi cambia $z$, per esempio con $1$, $i$ o $-4$, e guarda come il poligono gira e cambia raggio. ```widget complessi titolo: Radici $n$-esime: sempre $n$, sui vertici di un poligono regolare z: -8 modo: radici modi: radici n: 3 raggio: 3 ``` > [!METODO] Trovare le radici $n$-esime di un numero > 1. Scrivi il numero in forma polare. Attenzione ai numeri reali: un reale positivo ha angolo 0, un reale negativo ha angolo $\pi$. > 2. Tutte le radici hanno la stessa distanza: la radice $n$-esima della distanza del numero. > 3. Il primo angolo è l'angolo del numero diviso per $n$. Gli altri si ottengono aggiungendo $\frac{2\pi}n$, fino ad averne $n$. > 4. Se gli angoli sono nella tabella, passa alla forma $a + bi$. > 5. Fai il disegno: i punti devono formare un poligono regolare con $n$ lati. ### Le radici quadrate Con $n = 2$ il passo è $\frac{2\pi}2 = \pi$, mezzo giro. Quindi le due radici quadrate di un numero sono **opposte**: se una è $w$, l'altra è $-w$. Tre esempi, che ritroverai nella lezione L04 dentro la formula delle equazioni di secondo grado: - **Le radici quadrate di $-4$.** Il numero $-4$ è a distanza 4, dritto verso sinistra. Le radici hanno distanza 2. Il primo angolo è metà di mezzo giro, cioè un quarto di giro; il secondo è mezzo giro più in là. Le radici sono $2i$ e $-2i$. In generale le radici quadrate di un numero reale negativo sono $i$ per la radice del suo opposto, con il più e con il meno. - **Le radici quadrate di $2i$.** Il numero $2i$ è a distanza 2, dritto verso l'alto. Le radici hanno distanza $\sqrt 2$ e angoli $\frac\pi4$ e $\frac{5\pi}4$: sono $1 + i$ e $-1 - i$. Sono le stesse trovate con le coordinate nell'esercizio 7 della lezione L02. - **Le radici quadrate di $-3 + 4i$.** Qui l'angolo non è nella tabella, e conviene il metodo della lezione L02: si scrive l'incognita come $x + yi$ e si risolvono le due equazioni sulle parti reale e immaginaria. Le radici sono $1 + 2i$ e il suo opposto. ::: prova Quali sono le radici quadrate di $-9$? $-9 = 9e^{i\pi}$. Distanza $\sqrt 9 = 3$, angoli $\frac\pi2$ e $\frac{3\pi}2$. Le radici sono $3i$ e $-3i$. Controllo: $(3i)^2 = 9i^2 = -9$. ::: > [!TRAPPOLA] Il simbolo $\sqrt{\ }$ tra i complessi > Tra i reali positivi $\sqrt a$ indica **la** radice positiva. Tra i complessi non c'è una radice «positiva»: ci sono due radici quadrate opposte, e scrivere $\sqrt{z_0}$ non dice quale. Per questo le regole della lezione L01 come $\sqrt a\sqrt b = \sqrt{ab}$ qui non valgono più. Esempio: $\sqrt{-1}\cdot\sqrt{-1}$ «dovrebbe» essere $\sqrt{(-1)(-1)} = \sqrt 1 = 1$, ma con $\sqrt{-1} = i$ viene $i \cdot i = -1$. Nella lezione L04 le dispense scrivono $\pm\sqrt\Delta$ proprio per indicare **le due** radici quadrate di un numero. > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli la lezione corrisponde al §1.4, parti 1.4.4 «Coordinate polari» (pp. 27–29, con la dimostrazione della Proposizione 1.4.2, che è la 3.2 delle dispense), 1.4.5 «Proprietà dei numeri complessi» (p. 30, Esercizio 1.4.3) e 1.4.6 «Radici $n$-esime di un numero complesso» (pp. 30–31, con gli Esempi 1.4.4 e 1.4.5, cioè 3.3 e 3.4 delle dispense, e l'Esercizio 1.4.6, che è il 3.5). Alla fine del capitolo 1 (p. 37) gli Esercizi 1.13 e 1.14 sono svolti qui come esercizi 13 e 14. > [!RICORDA] > - $z^n = z_0$ ha sempre esattamente $n$ soluzioni, se $z_0$ non è zero. > - Distanza: la radice $n$-esima della distanza di $z_0$. Primo angolo: l'angolo di $z_0$ diviso per $n$. Poi passi di $\frac{2\pi}n$. > - Le soluzioni sono i vertici di un poligono regolare con $n$ lati. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\pi$ | «pi greco» | circa 3,14; in radianti, mezzo giro | $180° = \pi$ | | $\vartheta$, $\varphi$, $\alpha$ | «teta», «fi», «alfa» | lettere greche usate per gli angoli | $\vartheta = \frac\pi3$ | | $\cos\vartheta$, $\sin\vartheta$ | «coseno di teta», «seno di teta» | le due coordinate del punto all'angolo $\vartheta$ sul cerchio di raggio 1 | $\cos\frac\pi3 = \frac 12$ | | $\cos^2\vartheta$ | «coseno quadro di teta» | il coseno moltiplicato per sé stesso | $\cos^2\frac\pi4 = \frac 12$ | | $(r, \vartheta)$ | «erre, teta» | coordinate polari: distanza e angolo | $(1, \sqrt 3)$ ha $(2, \frac\pi3)$ | | $\lvert z \rvert$ | «modulo di zeta» | la distanza di $z$ dall'origine | $\lvert 1 + i \rvert = \sqrt 2$ | | $\bar z$ | «zeta segnato» | il coniugato: il riflesso rispetto all'asse orizzontale | $\overline{1 + i} = 1 - i$ | | $e^{i\vartheta}$ | «e alla i teta» | abbreviazione di $\cos\vartheta + i\sin\vartheta$ | $e^{i\pi/2} = i$ | | $re^{i\vartheta}$ | «erre e alla i teta» | forma polare: distanza $r$, angolo $\vartheta$ | $1 + i = \sqrt 2\,e^{i\pi/4}$ | | $z^{-1}$ | «zeta alla meno uno» | l'inverso: moltiplicato per $z$ dà 1 | $(2e^{i\pi/3})^{-1} = \frac 12 e^{-i\pi/3}$ | | $z_1, z_2$, $r_1, r_2$ | «zeta uno», «erre uno»… | i numerini distinguono oggetti dello stesso tipo | $z_1 = 2e^{i\pi/3}$ | | $k \in \Z$ | «$k$ appartiene a zeta» | $k$ è un numero intero | $k = -1, 0, 1, \dots$ | | $2k\pi$ | «due kappa pi greco» | un numero intero di giri | $2 \cdot 3\pi = 6\pi$ | | $\sqrt[n]{a}$ | «radice $n$-esima di $a$» | il numero positivo che elevato alla $n$ dà $a$ | $\sqrt[3]8 = 2$ | | $\pm$ | «più o meno» | due numeri, uno con il più e uno con il meno | $\pm 2i$ è $2i$ e $-2i$ | | $\operatorname{Re}$, $\operatorname{Im}$ | «parte reale», «parte immaginaria» | nei grafici, i nomi dei due assi | | ## Verso l'esame **La prova in due righe.** 10 domande a risposta multipla (5 risposte, una giusta) e 2 problemi da 11 punti, corretti solo con almeno 6 punti nel quiz; 2 ore, niente calcolatrice, solo 4 facciate di appunti scritti a mano. Appelli 2026/27 di Algebra lineare: 22/01/2027 e 05/02/2027 alle 14:00. Regole complete e fonti nella lezione L01. **Che cosa chiedono.** In 9 dei 15 appelli dal 24/01/2024 al 07/09/2026 la domanda sui numeri complessi riguardava questa lezione: | Tipo di domanda | Appelli (domanda) | |---|---| | potenza alta ($z^8$, $z^9$, $z^{12}$, $z^{2025}$) di un numero dato in forma $a + bi$ | 24/01/2024 (2), 10/07/2024 (1), 07/02/2025 (1), 15/01/2026 (5) | | potenza di un numero dato in forma trigonometrica | 06/09/2024 (1) | | prodotto da scrivere in forma polare | 16/01/2025 (1) | | radici: quale numero è (o non è) soluzione di $z^n = z_0$, o che cosa vale un'espressione con una radice quadrata | 10/06/2024 (1), 02/09/2025 (2), 05/02/2026 (1) | ### Una domanda vera, letta insieme **Appello del 15/01/2026, domanda 5.** Il testo: «Dato $z = \frac{\sqrt 3}2 - \frac 12 i$, allora $z^9$ è uguale a: (a) $1$; (b) $\frac 12 - \frac{\sqrt 3}2 i$; (c) $-\frac{9\sqrt 3}2 + \frac 92 i$; (d) $i$; (e) $-\frac{\sqrt 3^9}{2^9} + \frac 1{2^9}i$». **In pratica chiede:** prendi questo numero, moltiplicalo per sé stesso nove volte. Che cosa viene? Nove moltiplicazioni nella forma $a + bi$ sono troppe: si passa alla forma polare. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: la distanza.** $|z| = \sqrt{\left(\frac{\sqrt 3}2\right)^2 + \left(\frac 12\right)^2} = \sqrt{\frac 34 + \frac 14} = \sqrt 1 = 1$. Il numero sta sul cerchio di raggio 1. > > **Passo 2: l'angolo.** Siccome la distanza è 1, coseno e seno sono le due parti: coseno $\frac{\sqrt 3}2$ e seno $-\frac 12$. Coseno positivo, seno negativo: quarto quadrante. Senza segni sono i valori di $\frac\pi6$, quindi l'angolo è $-\frac\pi6$. Allora $z = e^{-i\pi/6}$. > > **Passo 3: la potenza.** Distanza $1^9 = 1$. Angolo $9 \cdot \left(-\frac\pi6\right) = -\frac{9\pi}6 = -\frac{3\pi}2$. Quindi $z^9 = e^{-3\pi i/2}$. > > **Passo 4: accorcio.** Aggiungo un giro: $-\frac{3\pi}2 + 2\pi = -\frac{3\pi}2 + \frac{4\pi}2 = \frac\pi2$. Quindi $z^9 = e^{i\pi/2} = i$. > > **La risposta** è la (d). > > **Perché le risposte (c) ed (e) sono sbagliate.** Vengono da conti fatti sulle due parti separatamente: la (c) moltiplica per 9 ciascuna parte, la (e) eleva alla nona ciascuna parte (e cambia i segni). Per i numeri complessi questi conti non hanno senso: già $(1 + i)^2 = 2i$ non è $1^2 + i^2 = 0$. ### Altre due domande vere > [!ESEMPIO] · Appello del 16/01/2025, domanda 1 > Dato $z = 2\cos\frac\pi4 + 2i\sin\frac\pi4$, allora $-3iz$ in coordinate polari è uguale a: (a) $-6i\cos\frac\pi4 - 6i\sin\frac\pi4$; (b) $-6e^{3\pi i/4}$; (c) $-6i\cos\frac\pi4 + 6i\sin\frac\pi4$; (d) $6e^{7\pi i/4}$; (e) $0$. > > **In pratica chiede:** moltiplica $z$ per $-3i$ e scrivi il risultato con distanza e angolo. > > **Soluzione.** > 1. $z$ è già in forma trigonometrica: distanza 2, angolo $\frac\pi4$. Quindi $z = 2e^{i\pi/4}$. > 2. Il numero $-3i$ è dritto verso il basso, a distanza 3: angolo $\frac{3\pi}2$. Quindi $-3i = 3e^{3\pi i/2}$. > 3. Distanze moltiplicate: $2 \cdot 3 = 6$. Angoli sommati: $\frac\pi4 + \frac{3\pi}2 = \frac\pi4 + \frac{6\pi}4 = \frac{7\pi}4$. > 4. Quindi $-3iz = 6\,e^{7\pi i/4}$: risposta (d). > > La (b) indica lo stesso numero, perché $-6e^{3\pi i/4} = 6e^{i\pi}e^{3\pi i/4} = 6e^{7\pi i/4}$. Ma non è in coordinate polari: il numero davanti è negativo. La (a) vale $-6\sqrt 2\,i$ e la (c) vale $0$: sono numeri diversi dal risultato, che è $3\sqrt 2 - 3\sqrt 2\,i$. > [!ESEMPIO] · Appello del 02/09/2025, domanda 2 > Quale dei seguenti è una radice terza di $z = 8e^{3\pi i/5}$? (a) $4e^{\pi i/5}$; (b) $2e^{\pi i/5 + 2\pi i/3}$; (c) $8e^{\pi i/3 + 2\pi ik}$; (d) $2e^{3\pi i/5}$; (e) $2e^{3\pi i/5 + \pi i/3}$. > > **In pratica chiede:** quale di questi numeri, elevato al cubo, dà $8e^{3\pi i/5}$? > > **Soluzione.** > 1. La distanza delle radici è $\sqrt[3]8 = 2$. Quindi la (a) e la (c) sono subito escluse: hanno distanza 4 e 8. > 2. Gli angoli delle radici: $\frac{3\pi/5}3 + \frac{2k\pi}3 = \frac\pi5 + \frac{2k\pi}3$, per $k = 0, 1, 2$. > 3. Con $k = 1$ viene $2e^{\pi i/5 + 2\pi i/3}$: risposta (b). > > **Controllo.** Elevo la (b) al cubo: distanza $2^3 = 8$, angolo $3 \cdot \left(\frac\pi5 + \frac{2\pi}3\right) = \frac{3\pi}5 + 2\pi$. Tolgo il giro: $8e^{3\pi i/5}$. Torna. La (d) ha l'angolo non diviso per 3: il suo cubo è $8e^{9\pi i/5}$. La (e) ha cubo $8e^{9\pi i/5 + \pi i} = 8e^{4\pi i/5}$. ### I metodi > [!METODO] Le domande sui complessi in forma polare > 1. Porta **tutto** in forma polare: il numero $z$, e anche gli altri pezzi come $-3i$, $-1$, $2i$. > 2. Applica le regole: prodotto (distanze per, angoli più), inverso (distanza inversa, angolo opposto), potenza (distanza alla $n$, angolo per $n$), radici (radice $n$-esima della distanza, angoli $\frac{\vartheta_0 + 2k\pi}n$). > 3. Accorcia gli angoli togliendo giri interi. > 4. Scarta subito le risposte con la distanza sbagliata: è il controllo più veloce. > 5. Per «quale è una radice», eleva la risposta candidata alla $n$: deve tornare il numero dato. **Errori da evitare.** - Scrivere un numero negativo davanti all'esponenziale in una forma polare. - Elevare alla $n$ la distanza ma dimenticare di moltiplicare l'angolo, o il contrario. - Prendere l'angolo del numero dato, e non quell'angolo diviso per $n$, come primo angolo delle radici. - Dimenticare che un reale negativo ha angolo $\pi$. - Sbagliare quadrante guardando solo il coseno. - Trovare una radice sola invece di $n$. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: la tabella di seno e coseno negli angoli notevoli; $x = r\cos\vartheta$, $y = r\sin\vartheta$; $e^{i\vartheta} = \cos\vartheta + i\sin\vartheta$; $e^{i\pi} = -1$, $e^{i\pi/2} = i$; prodotto, inverso e potenza in forma polare; la formula delle radici $z_k = \sqrt[n]{r_0}\,e^{i(\vartheta_0 + 2k\pi)/n}$; il metodo per accorciare un angolo. ## Quiz ```quiz D: Dato $z = 1 + i$, allora $z^{10}$ è uguale a: + $32i$ - $-32i$ - $32$ - $1024\,i$ - $10 + 10i$ = La domanda chiede una potenza alta, quindi conviene la forma polare. $1 + i$ ha distanza $\sqrt 2$ e angolo $\frac\pi4$. Alla decima la distanza diventa $(\sqrt 2)^{10} = 2^5 = 32$ e l'angolo diventa $10 \cdot \frac\pi4 = \frac{5\pi}2$; togliendo un giro resta $\frac\pi2$, cioè la direzione di $i$. Il risultato è $32i$. Controllo veloce: $(1 + i)^2 = 2i$ e $(2i)^5 = 32i^5 = 32i$. La risposta più insidiosa è $1024\,i$: $1024 = 2^{10}$ viene elevando alla decima 2 invece di $\sqrt 2$, cioè sbagliando la distanza di $1 + i$. Simile agli appelli del 10/07/2024 e del 24/01/2024. D: Dato $z = 2\cos\frac{\pi}{12} + 2i\sin\frac{\pi}{12}$, allora $z^6$ è uguale a: + $64i$ - $2i$ - $64$ - $-64$ - $12i$ = Il numero è già in forma trigonometrica: distanza 2, angolo $\frac\pi{12}$, quindi $z = 2e^{i\pi/12}$. Alla sesta la distanza diventa $2^6 = 64$ e l'angolo $6 \cdot \frac\pi{12} = \frac\pi2$, la direzione di $i$: il risultato è $64i$. La risposta $2i$ ha l'angolo giusto ma dimentica di elevare la distanza; $12i$ moltiplica la distanza per 6 invece di elevarla alla sesta; $64$ dimentica di moltiplicare l'angolo. Simile all'appello del 06/09/2024, domanda 1. D: Dato $z = 3e^{i\pi/3}$, il numero $-2iz$ scritto in forma polare $re^{i\vartheta}$ con $r > 0$ e $0 \le \vartheta < 2\pi$ è: + $6e^{11\pi i/6}$ - $-6e^{5\pi i/6}$ - $6e^{5\pi i/6}$ - $5e^{11\pi i/6}$ - $6e^{4\pi i/3}$ = Si tratta di un prodotto, quindi distanze per e angoli più. Il numero $-2i$ è dritto verso il basso a distanza 2, cioè $2e^{3\pi i/2}$. Distanza del prodotto $2 \cdot 3 = 6$; angolo $\frac\pi3 + \frac{3\pi}2 = \frac{2\pi}6 + \frac{9\pi}6 = \frac{11\pi}6$. Il risultato è $6e^{11\pi i/6}$. La risposta più insidiosa è $-6e^{5\pi i/6}$: indica lo stesso numero, ma ha un numero negativo davanti, quindi non è una forma polare. $6e^{5\pi i/6}$ viene prendendo l'angolo di $-2i$ come $\frac\pi2$, che è l'angolo di $2i$; $5$ somma le distanze invece di moltiplicarle; $6e^{4\pi i/3}$ usa l'angolo $\pi$ per $-i$. Simile all'appello del 16/01/2025, domanda 1. D: Quale dei seguenti numeri è una radice terza di $8i$? + $-2i$ - $2i$ - $2e^{i\pi/3}$ - $8e^{i\pi/6}$ - $\frac 83\,i$ = Una radice terza di $8i$ è un numero che elevato al cubo dà $8i$. In forma polare $8i = 8e^{i\pi/2}$: le radici terze hanno distanza $\sqrt[3]8 = 2$ e angoli $\frac\pi6$, $\frac\pi6 + \frac{2\pi}3 = \frac{5\pi}6$ e $\frac{5\pi}6 + \frac{2\pi}3 = \frac{3\pi}2$. L'ultima è $2e^{3\pi i/2} = -2i$. Controllo: $(-2i)^3 = -8i^3 = -8 \cdot (-i) = 8i$. La risposta più insidiosa è $2i$, che sembra «la radice di $8i$», ma $(2i)^3 = 8i^3 = -8i$: il segno è sbagliato. $\left(2e^{i\pi/3}\right)^3 = 8e^{i\pi} = -8$; $8e^{i\pi/6}$ e $\frac 83 i$ hanno la distanza sbagliata. Simile all'appello del 02/09/2025, domanda 2. D: Quale dei seguenti numeri **non** è soluzione di $z^6 = 1$? + $e^{i\pi/6}$ - $1$ - $-1$ - $e^{i\pi/3}$ - $e^{2\pi i/3}$ = Le soluzioni di $z^6 = 1$ sono le radici seste dell'unità: distanza 1 e angoli multipli di un sesto di giro, cioè di $\frac{2\pi}6 = \frac\pi3$. Sono $1$ (angolo 0), $e^{i\pi/3}$, $e^{2\pi i/3}$, $-1 = e^{i\pi}$ e altre due. L'angolo $\frac\pi6$ non è un multiplo di $\frac\pi3$: infatti $\left(e^{i\pi/6}\right)^6 = e^{i\pi} = -1$, non 1. Le altre quattro risposte sono tutte soluzioni, e la più insidiosa è $-1$: elevato a una potenza pari dà proprio 1. Simile all'appello del 05/02/2026, domanda 1. D: Dato $z = \frac{\sqrt 2}2(1 + i)$, allora $z^{2027}$ è uguale a: + $\frac{\sqrt 2}2(-1 + i)$ - $\frac{\sqrt 2}2(1 + i)$ - $2027(1 + i)$ - $-1$ - $i$ = Il numero $\frac{\sqrt 2}2 + \frac{\sqrt 2}2 i$ ha distanza 1 e angolo $\frac\pi4$, quindi $z = e^{i\pi/4}$. La potenza ha distanza 1 e angolo $\frac{2027\pi}4$. Un giro in quarti è $\frac{8\pi}4$, e $2027 = 8 \cdot 253 + 3$: restano $\frac{3\pi}4$. Quindi $z^{2027} = e^{3\pi i/4} = -\frac{\sqrt 2}2 + \frac{\sqrt 2}2 i$. La risposta $\frac{\sqrt 2}2(1 + i)$ è quella di chi divide 2027 per 8 e sbaglia il resto, trovando 1; $2027(1 + i)$ moltiplica invece di elevare. Simile all'appello del 07/02/2025, domanda 1. D: Se $z = 3e^{2\pi i/5}$, il coniugato $\bar z$ è: + $3e^{8\pi i/5}$ - $-3e^{2\pi i/5}$ - $3e^{3\pi i/5}$ - $\frac 13e^{-2\pi i/5}$ - $3e^{-8\pi i/5}$ = Il coniugato è il riflesso rispetto all'asse orizzontale: stessa distanza, angolo cambiato di segno. Quindi $\bar z = 3e^{-2\pi i/5}$, e aggiungendo un giro $-\frac{2\pi}5 + \frac{10\pi}5 = \frac{8\pi}5$. La risposta più insidiosa è $3e^{-8\pi i/5}$, che ha un segno meno come il coniugato; ma $-\frac{8\pi}5 + 2\pi = \frac{2\pi}5$, quindi è $z$ stesso. $-3e^{2\pi i/5}$ è $-z$; $3e^{3\pi i/5}$ è il riflesso rispetto all'asse verticale; $\frac 13e^{-2\pi i/5}$ è l'inverso. D: Se $z = 2e^{i\pi/3}$, l'inverso $z^{-1}$ è: + $\frac 14 - \frac{\sqrt 3}4 i$ - $\frac 14 + \frac{\sqrt 3}4 i$ - $1 - \sqrt 3 i$ - $\frac 12 - \frac{\sqrt 3}2 i$ - $-\frac 14 + \frac{\sqrt 3}4 i$ = L'inverso ha distanza inversa e angolo opposto: $z^{-1} = \frac 12e^{-i\pi/3}$. L'angolo $-\frac\pi3$ ha coseno $\frac 12$ e seno $-\frac{\sqrt 3}2$, quindi $z^{-1} = \frac 12\left(\frac 12 - \frac{\sqrt 3}2 i\right) = \frac 14 - \frac{\sqrt 3}4 i$. La risposta $1 - \sqrt 3 i$ è il coniugato: ha l'angolo giusto, ma la distanza non è stata invertita. $\frac 12 - \frac{\sqrt 3}2 i$ è $e^{-i\pi/3}$: dimentica del tutto la distanza. $\frac 14 + \frac{\sqrt 3}4 i$ ha invertito la distanza ma non l'angolo. D: Quanto vale la parte reale di $(1 + i\sqrt 3)^5$? Scrivi un numero. N: 16 = Il numero $1 + i\sqrt 3$ ha distanza 2 e angolo $\frac\pi3$. Alla quinta la distanza diventa $2^5 = 32$ e l'angolo $\frac{5\pi}3$, nel quarto quadrante, con coseno $\frac 12$ e seno $-\frac{\sqrt 3}2$. Quindi $(1 + i\sqrt 3)^5 = 32\left(\frac 12 - \frac{\sqrt 3}2 i\right) = 16 - 16\sqrt 3\,i$, e la parte reale è 16. D: Le quattro soluzioni di $z^4 = -16$, nel piano complesso, sono: + i vertici di un quadrato centrato nell'origine con un vertice in $\sqrt 2 + \sqrt 2\,i$ - i vertici di un quadrato centrato nell'origine con un vertice in $2$ - i vertici di un quadrato centrato nell'origine con un vertice in $4$ - i vertici di un triangolo equilatero centrato nell'origine - due numeri reali e due numeri complessi coniugati = Il numero $-16$ è $16e^{i\pi}$. Le radici quarte hanno distanza $\sqrt[4]{16} = 2$ e angoli $\frac\pi4$, poi passi di un quarto di giro: $\frac{3\pi}4$, $\frac{5\pi}4$, $\frac{7\pi}4$. Il primo è $2e^{i\pi/4} = \sqrt 2 + \sqrt 2\,i$, e i quattro punti sono $\pm\sqrt 2 \pm \sqrt 2\,i$. La risposta più insidiosa è il quadrato con un vertice in 2: è quello delle soluzioni di $z^4 = 16$, che hanno angolo iniziale 0 invece di $\frac\pi4$. Il quadrato con un vertice in 4 viene prendendo $\sqrt{16} = 4$ invece della radice quarta. Le soluzioni sono quattro, non tre; e nessuna è reale, perché un numero reale alla quarta non è mai negativo. ``` ## Esercizi ::: esercizio base Riscaldamento: gradi e radianti Scrivi in radianti gli angoli di $90°$, $120°$ e $300°$. ::: soluzione Per passare da gradi a radianti si moltiplica per $\frac\pi{180}$ e si semplifica. 1. $90 \cdot \frac\pi{180} = \frac{90\pi}{180} = \frac\pi2$, dividendo sopra e sotto per 90. 2. $120 \cdot \frac\pi{180} = \frac{120\pi}{180} = \frac{2\pi}3$, dividendo sopra e sotto per 60. 3. $300 \cdot \frac\pi{180} = \frac{300\pi}{180} = \frac{5\pi}3$, dividendo sopra e sotto per 60. Controllo: $300°$ è un giro meno $60°$, e infatti $\frac{5\pi}3 = 2\pi - \frac\pi3$. ::: ::: esercizio base Riscaldamento: leggere una forma polare Il numero $z = 3e^{i\pi/4}$: qual è il suo modulo? Qual è il suo argomento? Sta dentro o fuori dalla circonferenza di raggio 1? ::: soluzione 1. Il numero davanti è il modulo: $|z| = 3$. 2. L'angolo nell'esponente è l'argomento: $\frac\pi4$, cioè $45°$. 3. La distanza dall'origine è 3, più grande di 1: il numero sta **fuori** dalla circonferenza di raggio 1. In forma $a + bi$: $3\left(\frac{\sqrt 2}2 + \frac{\sqrt 2}2 i\right) = \frac{3\sqrt 2}2 + \frac{3\sqrt 2}2 i$. ::: ::: esercizio base Riscaldamento: un prodotto in forma polare Calcola $2e^{i\pi/6} \cdot 5e^{5\pi i/6}$ e scrivi il risultato nella forma $a + bi$. ::: soluzione 1. Distanze moltiplicate: $2 \cdot 5 = 10$. 2. Angoli sommati: $\frac\pi6 + \frac{5\pi}6 = \frac{6\pi}6 = \pi$. 3. Il prodotto è $10e^{i\pi} = 10 \cdot (-1) = -10$. ::: ::: esercizio base Riscaldamento: quante radici Quante soluzioni ha l'equazione $z^4 = 1$? Scrivile tutte nella forma $a + bi$ e di' che figura formano. ::: soluzione 1. Sono 4, perché l'esponente è 4. 2. Il numero 1 ha distanza 1 e angolo 0. Le radici hanno distanza $\sqrt[4]1 = 1$ e angoli $0$, $\frac{2\pi}4 = \frac\pi2$, $\pi$, $\frac{3\pi}2$: quarti di giro. 3. Sono $1$, $i$, $-1$, $-i$. 4. Formano un quadrato con i vertici sugli assi. Controllo: $i^4 = (i^2)^2 = (-1)^2 = 1$. ::: ::: esercizio base Conversioni (a) Scrivi in forma polare: $-\sqrt 3 + i$, $-4$, $3i$, $-1 - i$. (b) Scrivi nella forma $a + bi$: $4e^{2\pi i/3}$, $\sqrt 2\,e^{-3\pi i/4}$, $5e^{i\pi}$. ::: soluzione (a) 1. $-\sqrt 3 + i$: la distanza è $\sqrt{3 + 1} = 2$. Coseno $-\frac{\sqrt 3}2$ e seno $\frac 12$: secondo quadrante. Senza segni sono i valori di $\frac\pi6$, quindi l'angolo è $\pi - \frac\pi6 = \frac{5\pi}6$. Risultato: $2e^{5\pi i/6}$. 2. $-4$: reale negativo, distanza 4, angolo $\pi$. Risultato: $4e^{i\pi}$. 3. $3i$: dritto verso l'alto, distanza 3, angolo $\frac\pi2$. Risultato: $3e^{i\pi/2}$. 4. $-1 - i$: distanza $\sqrt{1 + 1} = \sqrt 2$. Coseno e seno uguali a $-\frac{\sqrt 2}2$: terzo quadrante. L'angolo è $\pi + \frac\pi4 = \frac{5\pi}4$. Risultato: $\sqrt 2\,e^{5\pi i/4}$. (b) 1. $4e^{2\pi i/3} = 4\left(-\frac 12 + \frac{\sqrt 3}2 i\right) = -2 + 2\sqrt 3\,i$. 2. $\sqrt 2\,e^{-3\pi i/4} = \sqrt 2\left(-\frac{\sqrt 2}2 - \frac{\sqrt 2}2 i\right) = -1 - i$. 3. $5e^{i\pi} = 5 \cdot (-1) = -5$. Controllo sul primo della (a): $2\cos\frac{5\pi}6 = 2 \cdot \left(-\frac{\sqrt 3}2\right) = -\sqrt 3$ e $2\sin\frac{5\pi}6 = 2 \cdot \frac 12 = 1$. Torna $-\sqrt 3 + i$. ::: ::: esercizio base Esercizio 3.7 delle dispense: tre insiemi in coordinate polari Disegna nel piano complesso i seguenti sottoinsiemi: 1. $A = \{z = re^{i\vartheta} \in \C \text{ tali che } \vartheta = \frac\pi2\}$; 2. $B = \{z = re^{i\vartheta} \in \C \text{ tali che } \vartheta = (2k + 1)\pi,\ k \in \Z\}$; 3. $C = \{z = re^{i\vartheta} \in \C \text{ tali che } r = 1 \text{ e } 0 \le \vartheta \le \pi\}$. ::: soluzione In tutti e tre gli insiemi $z$ è scritto in forma polare. Quindi $z$ non è zero e la distanza $r$ è positiva. 1. **$A$** contiene i numeri all'angolo $\frac\pi2$, a qualsiasi distanza: $re^{i\pi/2} = ri$ con $r$ positivo. È la **semiretta verticale verso l'alto**, senza l'origine. 2. **$B$**: gli angoli $(2k + 1)\pi$ sono i multipli **dispari** di $\pi$: $\pi$, $3\pi$, $-\pi$, e così via. Differiscono tutti da $\pi$ per giri interi, quindi indicano tutti la direzione di $-1$. $B$ è la **semiretta orizzontale verso sinistra**, senza l'origine: i numeri reali negativi. 3. **$C$**: distanza 1 vuol dire circonferenza di raggio 1. L'angolo da $0$ a $\pi$, estremi compresi, ne prende la **metà superiore**, da $1$ a $-1$, con i due estremi. ```grafico titolo: $A$ (semiasse immaginario positivo), $B$ (semiasse reale negativo), $C$ (semicirconferenza superiore); l'origine non appartiene ad $A$ né a $B$ x: -2.5 2.5 y: -1 2 nomi: $\operatorname{Re}$ $\operatorname{Im}$ segmento: 0 0 0 2 | blu | spesso segmento: 0 0 -2.5 0 | ambra | spesso arco: 0 0 1 0 pi | viola | spesso punto: 1 0 | viola | $1$ | s punto: -1 0 | viola | $-1$ | s punto: 0 0 | grigio | vuoto testo: 0.25 1.7 | blu | $A$ testo: -2 0.25 | ambra | $B$ testo: 0.85 0.85 | viola | $C$ ``` ::: ::: esercizio base Esercizio 3.8 delle dispense: $(1 - i)^3$ in due modi Calcola $(1 - i)^3$ usando le coordinate polari, e verifica il risultato con le coordinate cartesiane. ::: soluzione **Con le coordinate polari.** 1. La distanza di $1 - i$ è $\sqrt{1 + 1} = \sqrt 2$. Coseno $\frac{\sqrt 2}2$ e seno $-\frac{\sqrt 2}2$: quarto quadrante, angolo $-\frac\pi4$. Quindi $1 - i = \sqrt 2\,e^{-i\pi/4}$. 2. Al cubo: distanza $(\sqrt 2)^3 = \sqrt 2 \cdot \sqrt 2 \cdot \sqrt 2 = 2\sqrt 2$, angolo $3 \cdot \left(-\frac\pi4\right) = -\frac{3\pi}4$. 3. L'angolo $-\frac{3\pi}4$ è nel terzo quadrante: coseno $-\frac{\sqrt 2}2$ e seno $-\frac{\sqrt 2}2$. 4. Quindi $$(1 - i)^3 = 2\sqrt 2\left(-\frac{\sqrt 2}2 - \frac{\sqrt 2}2 i\right) = -2 - 2i,$$ perché $2\sqrt 2 \cdot \frac{\sqrt 2}2 = \frac{2 \cdot 2}2 = 2$. **Con le coordinate cartesiane.** 1. $(1 - i)^2 = 1 - 2i + i^2 = 1 - 2i - 1 = -2i$. 2. $(1 - i)^3 = (-2i)(1 - i) = -2i + 2i^2 = -2i - 2 = -2 - 2i$. I due metodi danno lo stesso risultato. ::: ::: esercizio medio Esercizio 3.5 delle dispense: $z^4 = i$ Calcola le soluzioni dell'equazione $z^4 = i$ e disegnale nel piano complesso. ::: soluzione 1. Il numero $i$ ha distanza 1 e angolo $\frac\pi2$: $i = 1 \cdot e^{i\pi/2}$. 2. Le radici hanno distanza $\sqrt[4]1 = 1$: stanno tutte sulla circonferenza di raggio 1. 3. Il primo angolo è $\frac\pi2$ diviso 4, cioè $\frac\pi8$. Il passo è $\frac{2\pi}4 = \frac\pi2$. Gli angoli sono $$\frac\pi8, \qquad \frac\pi8 + \frac{4\pi}8 = \frac{5\pi}8, \qquad \frac{9\pi}8, \qquad \frac{13\pi}8.$$ 4. Le soluzioni sono $z_k = e^{i(\pi/8 + k\pi/2)}$ per $k = 0, 1, 2, 3$. In gradi gli angoli sono $22{,}5°$, $112{,}5°$, $202{,}5°$ e $292{,}5°$. Formano un quadrato sulla circonferenza di raggio 1. Controllo: $z_0^4 = e^{4\pi i/8} = e^{i\pi/2} = i$. Nota: passare da una radice alla successiva vuol dire girare di un quarto di giro, cioè moltiplicare per $i$. Quindi le quattro radici sono $w$, $iw$, $-w$, $-iw$, con $w = z_0$. ```grafico titolo: Le quattro soluzioni di $z^4 = i$: un quadrato sulla circonferenza unitaria, con un vertice ad angolo $\frac\pi8$ x: -1.6 1.6 y: -1.3 1.3 nomi: $\operatorname{Re}$ $\operatorname{Im}$ cerchio: 0 0 1 | grigio | sottile poligono: 0.9239 0.3827 -0.3827 0.9239 -0.9239 -0.3827 0.3827 -0.9239 | ambra | tratteggio punto: 0 1 | rosa | $i$ | ne punto: 0.9239 0.3827 | ambra | $z_0$ | e punto: -0.3827 0.9239 | ambra | $z_1$ | no punto: -0.9239 -0.3827 | ambra | $z_2$ | o punto: 0.3827 -0.9239 | ambra | $z_3$ | se arco: 0 0 0.35 0 pi/8 | accento ``` > [!APPROFONDIMENTO] la forma $a + bi$ > L'angolo $\frac\pi8$ non è nella tabella. Con la formula $\cos^2\alpha = \frac{1 + \cos 2\alpha}2$ si trova $\cos\frac\pi8 = \frac{\sqrt{2 + \sqrt 2}}2 \approx 0{,}924$ e $\sin\frac\pi8 = \frac{\sqrt{2 - \sqrt 2}}2 \approx 0{,}383$. Quindi $z_0 = \frac{\sqrt{2 + \sqrt 2}}2 + \frac{\sqrt{2 - \sqrt 2}}2 i$, e le altre radici si ottengono moltiplicando per $i$, $-1$, $-i$. L'esercizio non lo chiede: la forma polare è già una risposta completa. ::: ::: esercizio medio Esercizio 3.6 delle dispense: coordinate polari Determina coordinate polari per i seguenti numeri complessi: $$\sin(2), \qquad \cos(2) + i\sin(2), \qquad \cos(2) - i\sin(2), \qquad \frac{1 + i}2, \qquad 1 - i\sqrt 3.$$ ::: soluzione Qui «2» è un angolo di 2 radianti, circa $114{,}6°$. Sta nel secondo quadrante, dove il seno è positivo e il coseno negativo. 1. **$\sin(2)$** è un numero **reale**, circa $0{,}909$, ed è positivo. Un reale positivo sta sulla semiretta orizzontale verso destra: distanza $\sin 2$, angolo 0. Quindi $\sin 2 = (\sin 2)\,e^{i \cdot 0}$. Se fosse stato negativo, l'angolo sarebbe stato $\pi$ e la distanza $-\sin 2$. 2. **$\cos(2) + i\sin(2)$** è per definizione $e^{2i}$: distanza 1, angolo 2. Nessun conto da fare. 3. **$\cos(2) - i\sin(2)$**: siccome $\cos(-2) = \cos 2$ e $\sin(-2) = -\sin 2$, il numero è $\cos(-2) + i\sin(-2) = e^{-2i}$. Distanza 1, angolo $-2$ (oppure $2\pi - 2$). È il coniugato del numero precedente. 4. **$\frac{1 + i}2$** è $\frac 12 + \frac 12 i$. Distanza: $\sqrt{\frac 14 + \frac 14} = \sqrt{\frac 12} = \frac{\sqrt 2}2$. Coseno: $\frac 12$ diviso $\frac{\sqrt 2}2$, cioè $\frac 1{\sqrt 2} = \frac{\sqrt 2}2$; il seno è uguale. L'angolo è $\frac\pi4$. Quindi $\frac{1 + i}2 = \frac{\sqrt 2}2\,e^{i\pi/4}$. 5. **$1 - i\sqrt 3$**: distanza $\sqrt{1 + 3} = 2$. Coseno $\frac 12$ e seno $-\frac{\sqrt 3}2$: quarto quadrante, angolo $-\frac\pi3$ (oppure $\frac{5\pi}3$). Quindi $1 - i\sqrt 3 = 2e^{-i\pi/3}$. ::: ::: esercizio medio Prodotto e quoziente in forma polare Siano $z = 2e^{i\pi/3}$ e $w = 4e^{3\pi i/4}$. Calcola in forma polare $zw$, $\frac zw$, $w^{-1}$ e $\bar z\,w$. ::: soluzione Per sommare $\frac\pi3$ e $\frac{3\pi}4$ serve il denominatore comune 12: $\frac\pi3 = \frac{4\pi}{12}$ e $\frac{3\pi}4 = \frac{9\pi}{12}$. 1. $zw$: distanze $2 \cdot 4 = 8$, angoli $\frac{4\pi}{12} + \frac{9\pi}{12} = \frac{13\pi}{12}$. Risultato: $8e^{13\pi i/12}$. 2. $\frac zw$: distanze $\frac 24 = \frac 12$, angoli $\frac{4\pi}{12} - \frac{9\pi}{12} = -\frac{5\pi}{12}$. Risultato: $\frac 12\,e^{-5\pi i/12}$, oppure $\frac 12\,e^{19\pi i/12}$ aggiungendo un giro. 3. $w^{-1}$: distanza $\frac 14$, angolo $-\frac{3\pi}4$. Risultato: $\frac 14\,e^{-3\pi i/4} = \frac 14\,e^{5\pi i/4}$. 4. $\bar z = 2e^{-i\pi/3}$. Quindi $\bar z\,w$ ha distanza $2 \cdot 4 = 8$ e angolo $-\frac{4\pi}{12} + \frac{9\pi}{12} = \frac{5\pi}{12}$. Risultato: $8e^{5\pi i/12}$. Controllo sul primo: $z \cdot w$ deve avere distanza uguale al prodotto delle distanze, 8, ed è così. ::: ::: esercizio medio Dal foglio 1 del tutorato: $z^{10}\bar z$ Scrivi $z = \frac 12(-\sqrt 3 + i)$ in coordinate polari e calcola $z^{10}\bar z$ nella forma $a + bi$. ::: soluzione 1. $z = -\frac{\sqrt 3}2 + \frac 12 i$. Distanza: $\sqrt{\frac 34 + \frac 14} = 1$. Coseno $-\frac{\sqrt 3}2$, seno $\frac 12$: secondo quadrante, angolo $\frac{5\pi}6$. Quindi $z = e^{5\pi i/6}$. 2. $z^{10} = e^{50\pi i/6}$ e $\bar z = e^{-5\pi i/6}$. Nel prodotto gli angoli si sommano: $z^{10}\bar z = e^{(50 - 5)\pi i/6} = e^{45\pi i/6} = e^{15\pi i/2}$. 3. Accorcio: un giro in mezzi è $\frac 42\pi$, e $15 = 4 \cdot 3 + 3$. Quindi $\frac{15\pi}2$ è 3 giri più $\frac{3\pi}2$. 4. $z^{10}\bar z = e^{3\pi i/2} = -i$. Una scorciatoia: siccome la distanza di $z$ è 1, il coniugato è anche l'inverso (esercizio 8 della lezione L02). Quindi $z^{10}\bar z = z^{10}z^{-1} = z^9 = e^{45\pi i/6}$, lo stesso conto. ::: ::: esercizio medio Dal foglio 1 del tutorato: tre calcoli di radici Calcola: (a) le radici quarte di $-i$; (b) le radici terze di $8$; (c) le radici quinte di $\frac 12(-\sqrt 3 + i)$. ::: soluzione (a) $-i$ è dritto verso il basso: distanza 1, angolo $\frac{3\pi}2$. Le radici quarte hanno distanza 1. Il primo angolo è $\frac{3\pi}2$ diviso 4, cioè $\frac{3\pi}8$; il passo è $\frac\pi2 = \frac{4\pi}8$. Gli angoli sono $\frac{3\pi}8$, $\frac{7\pi}8$, $\frac{11\pi}8$, $\frac{15\pi}8$. Le radici sono $e^{3\pi i/8}$, $e^{7\pi i/8}$, $e^{11\pi i/8}$, $e^{15\pi i/8}$. (b) $8$ è un reale positivo: distanza 8, angolo 0. Le radici terze hanno distanza $\sqrt[3]8 = 2$ e angoli $0$, $\frac{2\pi}3$, $\frac{4\pi}3$. Sono $$2, \qquad 2e^{2\pi i/3} = -1 + i\sqrt 3, \qquad 2e^{4\pi i/3} = -1 - i\sqrt 3.$$ Tra i numeri reali c'era solo 2; le altre due sono complesse e coniugate tra loro. (c) Dall'esercizio precedente $\frac 12(-\sqrt 3 + i) = e^{5\pi i/6}$. Le radici quinte hanno distanza 1. Il primo angolo è $\frac{5\pi}6$ diviso 5, cioè $\frac\pi6$; il passo è $\frac{2\pi}5$. Per sommarli uso i trentesimi: $\frac\pi6 = \frac{5\pi}{30}$ e $\frac{2\pi}5 = \frac{12\pi}{30}$. Gli angoli sono $$\frac{5\pi}{30} = \frac\pi6, \qquad \frac{17\pi}{30}, \qquad \frac{29\pi}{30}, \qquad \frac{41\pi}{30}, \qquad \frac{53\pi}{30}.$$ Le radici sono $e^{i\pi/6} = \frac{\sqrt 3}2 + \frac 12 i$ e le altre quattro $e^{17\pi i/30}$, $e^{29\pi i/30}$, $e^{41\pi i/30}$, $e^{53\pi i/30}$: i vertici di un pentagono regolare. Controllo sulla (b): $(-1 + i\sqrt 3)^3$ ha distanza $2^3 = 8$ e angolo $3 \cdot \frac{2\pi}3 = 2\pi$, quindi vale 8. ::: ::: esercizio medio Dal libro di Martelli (Esercizio 1.13): $z^4 = -16$ Determina tutte le soluzioni di $z^4 = -16$ e disegnale. ::: soluzione 1. $-16$ è un reale negativo: $-16 = 16e^{i\pi}$. 2. La distanza delle soluzioni è $\sqrt[4]{16} = 2$, perché $2^4 = 16$. 3. Il primo angolo è $\frac\pi4$; il passo è $\frac\pi2$. Gli angoli sono $\frac\pi4$, $\frac{3\pi}4$, $\frac{5\pi}4$, $\frac{7\pi}4$. 4. Nella forma $a + bi$, con $2\cos\frac\pi4 = 2 \cdot \frac{\sqrt 2}2 = \sqrt 2$: $$\sqrt 2 + \sqrt 2\,i, \qquad -\sqrt 2 + \sqrt 2\,i, \qquad -\sqrt 2 - \sqrt 2\,i, \qquad \sqrt 2 - \sqrt 2\,i.$$ Sono i vertici di un quadrato con il centro nell'origine, su un cerchio di raggio 2, girato di $45°$ rispetto agli assi. Controllo: $(\sqrt 2 + \sqrt 2\,i)^2 = 2 + 4i + 2i^2 = 2 + 4i - 2 = 4i$, e $(4i)^2 = 16i^2 = -16$. ```grafico titolo: Le soluzioni di $z^4 = -16$: un quadrato di raggio $2$ con i vertici sulle bisettrici x: -3 3 y: -2.5 2.5 nomi: $\operatorname{Re}$ $\operatorname{Im}$ cerchio: 0 0 2 | grigio | sottile poligono: sqrt(2) sqrt(2) -sqrt(2) sqrt(2) -sqrt(2) -sqrt(2) sqrt(2) -sqrt(2) | ambra | tratteggio punto: sqrt(2) sqrt(2) | ambra | $\sqrt 2 + \sqrt 2 i$ | ne punto: -sqrt(2) sqrt(2) | ambra | $-\sqrt 2 + \sqrt 2 i$ | no punto: -sqrt(2) -sqrt(2) | ambra | $-\sqrt 2 - \sqrt 2 i$ | so punto: sqrt(2) -sqrt(2) | ambra | $\sqrt 2 - \sqrt 2 i$ | se ``` ::: ::: esercizio difficile Dal libro di Martelli (Esercizio 1.14): $z^4 = \bar z^3$ Determina tutti i numeri complessi $z$ tali che $z^4 = \bar z^3$. ::: soluzione **Il caso $z = 0$.** $0^4 = 0$ e anche il coniugato di 0, al cubo, è 0. Quindi lo zero è una soluzione. **Il caso $z$ diverso da zero.** Scrivo $z = re^{i\vartheta}$ con $r$ positivo. Il coniugato ha la stessa distanza e l'angolo opposto: $\bar z = re^{-i\vartheta}$. Allora $$z^4 = r^4e^{4i\vartheta}, \qquad \bar z^3 = r^3e^{-3i\vartheta}.$$ Due forme polari sono uguali esattamente quando: 1. le distanze sono uguali: $r^4 = r^3$. Divido per $r^3$, che non è zero: $r = 1$; 2. gli angoli differiscono di giri interi: $4\vartheta = -3\vartheta + 2k\pi$. Porto $-3\vartheta$ a sinistra: $7\vartheta = 2k\pi$, cioè $\vartheta = \frac{2k\pi}7$. Per $k = 0, 1, \dots, 6$ vengono sette punti diversi; gli altri valori di $k$ ripetono gli stessi. Le soluzioni diverse da zero sono quindi le **radici settime dell'unità** $e^{2k\pi i/7}$: i vertici di un ettagono regolare sulla circonferenza di raggio 1. **In totale le soluzioni sono 8**: lo zero e le sette radici settime di 1. Controllo su una di esse, $z = e^{2\pi i/7}$: $z^4 = e^{8\pi i/7}$ e $\bar z^3 = e^{-6\pi i/7}$. Gli angoli differiscono di $\frac{8\pi}7 + \frac{6\pi}7 = \frac{14\pi}7 = 2\pi$, un giro intero: sono lo stesso numero. ::: ::: esercizio esame Come all'esame: una potenza molto alta Dato $z = -\frac 12 + \frac{\sqrt 3}2 i$, allora $z^{2026}$ è uguale a: (a) $z$; (b) $1$; (c) $-1$; (d) $\bar z$; (e) $2026\,z$. ::: soluzione 1. **Forma polare.** Distanza: $\sqrt{\frac 14 + \frac 34} = 1$. Coseno $-\frac 12$ e seno $\frac{\sqrt 3}2$: secondo quadrante, angolo $\frac{2\pi}3$. Quindi $z = e^{2\pi i/3}$. 2. **Potenza.** $z^{2026} = e^{2026 \cdot 2\pi i/3} = e^{4052\pi i/3}$. 3. **Accorcio.** Un giro in terzi è $\frac 63\pi$. Divido: $4052 = 6 \cdot 675 + 2$. Quindi $\frac{4052\pi}3$ è 675 giri più $\frac{2\pi}3$. 4. $z^{2026} = e^{2\pi i/3} = z$: risposta (a). Scorciatoia: $z$ è una radice terza dell'unità, perché $z^3 = e^{2\pi i} = 1$. Quindi conta solo il resto di 2026 diviso 3: $2026 = 3 \cdot 675 + 1$, e $z^{2026} = (z^3)^{675} \cdot z = 1 \cdot z = z$. La risposta (e) è l'errore di chi moltiplica invece di elevare. ::: ::: esercizio esame Come all'esame: quale è una radice Quale dei seguenti numeri è una radice quarta di $-4$? (a) $1 + i$; (b) $\sqrt 2$; (c) $2i$; (d) $\sqrt 2\,i$; (e) $1 + 2i$. ::: soluzione **Con la formula.** 1. $-4 = 4e^{i\pi}$. 2. Le radici quarte hanno distanza $\sqrt[4]4 = \sqrt 2$, perché $(\sqrt 2)^4 = 4$. 3. Gli angoli sono $\frac\pi4$, poi passi di $\frac\pi2$. 4. Con il primo angolo: $\sqrt 2\,e^{i\pi/4} = \sqrt 2\left(\frac{\sqrt 2}2 + \frac{\sqrt 2}2 i\right) = 1 + i$. Risposta (a). Le altre radici sono $-1 + i$, $-1 - i$, $1 - i$. **Scartando le risposte.** $|2i| = 2$ e $|1 + 2i| = \sqrt 5$ hanno la distanza sbagliata: deve essere $\sqrt 2$. $\sqrt 2$ e $\sqrt 2\,i$ hanno la distanza giusta ma angoli $0$ e $\frac\pi2$, che non sono nella lista: infatti $(\sqrt 2)^4 = 4$ e $(\sqrt 2\,i)^4 = 4i^4 = 4$, non $-4$. Controllo della (a): $(1 + i)^2 = 2i$ e $(2i)^2 = 4i^2 = -4$. ::: ## Domande di ripasso ::: domanda Che cosa sono le coordinate polari di un punto diverso dall'origine? Come si passa da quelle cartesiane e viceversa? Sono la distanza $r$ del punto dall'origine e l'angolo $\vartheta$ con la semiretta orizzontale verso destra. Da polari a cartesiane: $x = r\cos\vartheta$, $y = r\sin\vartheta$. Al contrario: $r$ con Pitagora, poi coseno e seno sono le coordinate divise per $r$ (Definizione 3.1). ::: ::: domanda Perché per trovare l'angolo servono sia il coseno sia il seno? Perché lo stesso coseno va bene per due angoli: $(1, \sqrt 3)$ e $(1, -\sqrt 3)$ hanno tutti e due coseno $\frac 12$, ma uno è in alto e l'altro in basso. I segni di coseno e seno insieme dicono il quadrante. ::: ::: domanda Che cosa vuol dire $e^{i\vartheta}$, e che cosa sono modulo e argomento di $z = re^{i\vartheta}$? $e^{i\vartheta}$ è un'abbreviazione di $\cos\vartheta + i\sin\vartheta$: il punto della circonferenza di raggio 1 all'angolo $\vartheta$. In $z = re^{i\vartheta}$ il numero positivo $r$ è il modulo, cioè la distanza dall'origine, e $\vartheta$ è l'argomento, cioè l'angolo. ::: ::: domanda Che cosa dice la Proposizione 3.2 e perché è vera? Dice che $e^{i(\vartheta + \varphi)} = e^{i\vartheta}e^{i\varphi}$: moltiplicare due punti del cerchio vuol dire sommare gli angoli. Si dimostra svolgendo il prodotto $(\cos\vartheta + i\sin\vartheta)(\cos\varphi + i\sin\varphi)$: le due parti che escono sono le formule di addizione del coseno e del seno. ::: ::: domanda Come si moltiplicano due numeri complessi in forma polare? Che cosa vuol dire nel disegno? Le distanze si moltiplicano e gli angoli si sommano. Nel disegno, moltiplicare per un numero vuol dire girare del suo angolo e allungare quanto la sua distanza. ::: ::: domanda Quali sono l'inverso e il coniugato di $z = re^{i\vartheta}$? L'inverso è $\frac 1r e^{-i\vartheta}$: distanza inversa, angolo opposto. Il coniugato è $re^{-i\vartheta}$: stessa distanza, angolo opposto. Nel disegno il coniugato è il riflesso rispetto all'asse orizzontale. ::: ::: domanda Quando due forme polari indicano lo stesso numero? Quando hanno la stessa distanza e gli angoli differiscono di un numero intero di giri, cioè di $2k\pi$ con $k$ intero. ::: ::: domanda Che cos'è l'identità di Eulero? Quanto valgono $e^{i\pi/2}$ ed $e^{2\pi i}$? È $e^{i\pi} = -1$: mezzo giro porta da 1 a $-1$. Inoltre $e^{i\pi/2} = i$ (un quarto di giro) ed $e^{2\pi i} = 1$ (un giro intero). ::: ::: domanda Come si calcola una potenza in forma polare? Fai un esempio. La distanza si eleva alla $n$ e l'angolo si moltiplica per $n$. Per esempio $1 + i = \sqrt 2\,e^{i\pi/4}$, quindi $(1 + i)^8$ ha distanza $(\sqrt 2)^8 = 16$ e angolo $2\pi$: vale 16. ::: ::: domanda Quante soluzioni ha $z^n = z_0$ con $z_0$ diverso da zero, e come si trovano? Esattamente $n$. Hanno tutte distanza $\sqrt[n]{r_0}$. Il primo angolo è $\frac{\vartheta_0}n$, e gli altri si ottengono aggiungendo $\frac{2\pi}n$ fino ad averne $n$. ::: ::: domanda Che figura formano le radici $n$-esime di un numero complesso? I vertici di un poligono regolare con $n$ lati, centrato nell'origine, su un cerchio di raggio $\sqrt[n]{r_0}$. Per le radici di 1 uno dei vertici è 1. ::: ::: domanda Quali sono le radici terze di $-8$? Perché il primo angolo è $\frac\pi3$? Sono $1 + \sqrt 3 i$, $-2$ e $1 - \sqrt 3 i$ (Esempio 3.4). Il primo angolo è $\frac\pi3$ perché $-8 = 8e^{i\pi}$ e si divide l'angolo $\pi$ per 3; poi si aggiunge due volte $\frac{2\pi}3$. ::: ::: domanda Perché $-6e^{3\pi i/4}$ non è una forma polare? Come si corregge? Perché il numero davanti deve essere la distanza, che è positiva. Si porta il segno meno dentro l'angolo con $-1 = e^{i\pi}$: $-6e^{3\pi i/4} = 6e^{i\pi}e^{3\pi i/4} = 6e^{7\pi i/4}$. ::: ## Glossario ```glossario Radiante | Unità di misura degli angoli: l'angolo misura la strada fatta sulla circonferenza di raggio 1. Un giro vale $2\pi$, mezzo giro $\pi$. Circonferenza unitaria | Il cerchio con centro nell'origine e raggio 1. Il suo punto all'angolo $\vartheta$ è $(\cos\vartheta, \sin\vartheta)$, cioè il numero $e^{i\vartheta}$. Coordinate polari | Distanza dall'origine e angolo: due numeri che dicono dove sta un punto diverso dall'origine. Per esempio $(1, \sqrt 3)$ ha coordinate polari $(2, \frac\pi3)$. Forma trigonometrica | La scrittura $z = r(\cos\vartheta + i\sin\vartheta)$, con la distanza fuori dalla parentesi. Esponenziale complessa $e^{i\vartheta}$ | Abbreviazione di $\cos\vartheta + i\sin\vartheta$. Si comporta come una potenza: nel prodotto gli angoli si sommano. Forma polare | La scrittura $z = re^{i\vartheta}$, con $r$ positivo. Vale per i numeri diversi da zero. Modulo | La distanza del numero dall'origine. Si scrive $\lvert z \rvert$; per esempio $\lvert 1 + i \rvert = \sqrt 2$. Argomento (fase) | L'angolo del numero in forma polare. Si può cambiare di giri interi senza cambiare il numero. Argomento principale | L'argomento scelto in un intervallo fissato, di solito tra $-\pi$ e $\pi$ oppure tra 0 e $2\pi$. Formule di addizione | Le regole per il coseno e il seno di una somma di angoli. Servono a dimostrare la regola del prodotto. Regola del prodotto | Nel prodotto di due numeri complessi le distanze si moltiplicano e gli angoli si sommano. Identità di Eulero | $e^{i\pi} = -1$: mezzo giro porta da 1 a $-1$. Formula di De Moivre | La formula delle potenze: $\left(re^{i\vartheta}\right)^n = r^ne^{in\vartheta}$. Radici $n$-esime | Gli $n$ numeri che elevati alla $n$ danno un numero dato diverso da zero. Hanno tutti la stessa distanza e angoli a passi di $\frac{2\pi}n$. Radici $n$-esime dell'unità | Le soluzioni di $z^n = 1$: $e^{2k\pi i/n}$. Per $n = 4$ sono $1$, $i$, $-1$, $-i$. Poligono regolare | Un poligono con tutti i lati e tutti gli angoli uguali, come il triangolo equilatero o il quadrato. Le radici $n$-esime ne sono i vertici. ``` ## Checklist ```checklist - So passare da gradi a radianti e so la tabella di seno e coseno negli angoli notevoli, con i segni nei quattro quadranti. - So passare dalle coordinate cartesiane a quelle polari e al contrario, scegliendo l'angolo con coseno e seno insieme. - So scrivere un numero complesso in forma trigonometrica e in forma polare, con il modulo positivo. - So spiegare la Proposizione 3.2 e da dove viene la regola del prodotto. - So moltiplicare, invertire e dividere in forma polare, e so che cosa succede nel disegno. - So riconoscere quando due forme polari indicano lo stesso numero e so accorciare un angolo grande. - So che $e^{i\pi} = -1$, $e^{i\pi/2} = i$, $e^{2\pi i} = 1$, e so usarli per portare un segno meno dentro l'angolo. - So calcolare potenze alte come $(1 + i)^{10}$ senza calcolatrice. - So trovare tutte le $n$ radici $n$-esime di un numero complesso e disegnarle come un poligono regolare. - So risolvere le domande d'esame su potenze e radici, scartando prima le risposte con la distanza sbagliata. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 3 «Numeri complessi II», pp. 10–14: le sezioni 3.A–3.C sono seguite in ordine, con la pagina accanto a ogni titolo; la Definizione 3.1, la Proposizione 3.2 e gli Esempi 3.3 e 3.4 mantengono la loro numerazione; gli esercizi 3.5, 3.6, 3.7 e 3.8 sono svolti nella sezione «Esercizi» (esercizi 8, 9, 6 e 7); le Figure 3, 4 e 5 sono ridisegnate con i grafici. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §1.4.4–1.4.6 (pp. 27–31) ed Esercizi 1.13 e 1.14 (p. 37), svolti come esercizi 13 e 14. - **Foglio di esercizi 1 del tutorato** (Buzano, Radeschi, 27/10/2025, Moodle 2025/26): esercizi 2 e 3, svolti come esercizi 11 e 12. - **Appelli d'esame** (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): domanda 5 del 15/01/2026, domanda 1 del 16/01/2025 e domanda 2 del 02/09/2025, riportate con soluzioni scritte per questi appunti; la tabella degli altri appelli ne indica solo il tipo. Regole d'esame 2025/26 e date 2026/27 come nella lezione L01. - Le parti **«Oltre le dispense»** (il ripasso di trigonometria, le serie di potenze, l'argomento principale, il metodo per accorciare gli angoli, la formula di De Moivre, la trappola sulle radici quadrate, gli esercizi che non vengono dalle dispense) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L04_polinomi.md` ```yaml corso: MDAG modulo: AG lezione: L04 titolo: Polinomi docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L04 descrizione: >- Appunti della lezione L04 di Algebra lineare e Geometria (MDAG, parte 2): polinomi e grado, divisione con resto e regola di Ruffini, radici e molteplicità, quante radici può avere un polinomio, teorema fondamentale dell'algebra, equazioni di secondo grado nei complessi e polinomi a coefficienti reali, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Un polinomio è una macchina che prende un numero e ne restituisce un altro. Qui impari a dividere i polinomi con il resto, come i numeri alle elementari, e a trovare i numeri che fanno uscire zero: le radici. Servono in tutto il corso, dagli autovalori ai determinanti con un parametro. materiale: dispense scheda: Dispense: lezione 4 · pp. 15–19 Libro: Martelli, §1.3 (pp. 21–25) e §1.4.7–1.4.8 (pp. 31–33) Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 4 «Polinomi»; B. Martelli, Geometria e algebra lineare, §1.3 e §1.4.7–1.4.8 appunti_html: appunti/MDAG/L04_polinomi.html genera_html: true ``` ## In breve - Un **polinomio** è un'espressione come $x^2 - 3$, fatta di numeri e di potenze di una lettera, messi insieme con più, meno e per. Funziona come una macchina: metti un numero al posto della lettera ed esce un numero. Il **grado** è l'esponente più alto. - I polinomi si **dividono con il resto**, come i numeri alle elementari: 17 diviso 5 fa 3 con il resto di 2. Se il resto è zero, il divisore **divide** il polinomio. - Una **radice** è un numero che, messo nella macchina, fa uscire zero. Il numero $a$ è una radice esattamente quando il polinomio si divide per $x - a$ senza resto. - La **molteplicità** di una radice dice quante volte il fattore $x - a$ «ci sta» nel polinomio. - Un polinomio ha al massimo tante radici quanto è il suo grado. Tra i numeri complessi ne ha **esattamente** tante quanto il grado, contate con la molteplicità: è il **teorema fondamentale dell'algebra**. - Se i numeri del polinomio sono reali, le radici complesse vengono a coppie: una e il suo coniugato. - All'esame: «quale di questi numeri è una radice?» è stata la domanda sui complessi in tre appelli, e le radici dei polinomi servono in quasi ogni problema sugli autovalori. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Che cos'è un polinomio (p. 15) Prendi questa regola: «prendi un numero, moltiplicalo per sé stesso e togli 3». Si scrive così: $$x^2 - 3.$$ La lettera $x$ è un posto vuoto in cui mettere un numero. Proviamo con qualche numero: | Metto | Conto | Esce | |---|---|---| | $2$ | $2^2 - 3 = 4 - 3$ | $1$ | | $0$ | $0^2 - 3 = 0 - 3$ | $-3$ | | $-2$ | $(-2)^2 - 3 = 4 - 3$ | $1$ | Un'espressione così è un **polinomio**: una macchina che prende un numero e ne restituisce un altro. Le dispense descrivono i polinomi come le funzioni più semplici che ci siano. Si costruiscono con numeri e lettere usando solo tre operazioni: più, meno e per. Niente divisioni per una lettera, niente radici di una lettera, niente esponenti negativi. Per esempio $x^2 + 3$ è un polinomio; $\frac 1x$ e $\sqrt x$ no. ### I mattoni: i monomi Un polinomio è fatto di pezzi messi in somma. Ogni pezzo si chiama **monomio**: un numero moltiplicato per delle lettere, con esponenti interi positivi o zero. In un monomio ci sono due parti: - il **coefficiente**, cioè il numero davanti; - la **parte letterale**, cioè le lettere con i loro esponenti. Il **grado** di un monomio è la somma degli esponenti delle sue lettere. Una lettera senza esponente scritto ha esponente 1. | Monomio | Coefficiente | Parte letterale | Grado | |---|---|---|--:| | $4x$ | $4$ | $x$ | $1$ | | $-2xy$ | $-2$ | $xy$ | $1 + 1 = 2$ | | $\sqrt 5\,x^3$ | $\sqrt 5$ | $x^3$ | $3$ | | $7$ | $7$ | nessuna | $0$ | Sono i tre esempi delle dispense, più l'ultima riga: un monomio senza lettere è solo un numero, e ha grado zero. ### Polinomi e forma normale Un **polinomio** è una somma di monomi, per esempio $7 + 3x^2 - \sqrt 2\,y^3$. Qui le lettere sono due, $x$ e $y$. Lo stesso polinomio si può scrivere in tanti modi. Per esempio $3x^2 + 2x - x^2 + 5 - 2x$ è lo stesso di $2x^2 + 5$: basta mettere insieme i pezzi simili. 1. I pezzi con $x^2$: $3x^2 - x^2 = 2x^2$. 2. I pezzi con $x$: $2x - 2x = 0$, e spariscono. 3. Il numero da solo: $5$. Resta $2x^2 + 5$. Questa scrittura ordinata, senza pezzi doppi e senza pezzi con coefficiente zero, si chiama **forma normale**. Le dispense lo scrivono così. > [!DEF] Forma normale e grado (p. 15) > Un polinomio è **ridotto in forma normale** se è scritto come somma di monomi con parti letterali differenti e coefficienti non nulli, oppure è il polinomio $0$. Per ridurlo in forma normale è sufficiente raccogliere i monomi con la stessa parte letterale e quindi eliminare quelli con coefficiente nullo. > > Il **grado** di un polinomio scritto in forma normale è il massimo grado dei suoi monomi. **Come si legge.** Un polinomio è in forma normale quando ogni parte letterale compare una volta sola e nessun coefficiente è zero. Per arrivarci si mettono insieme i pezzi con le stesse lettere e si cancellano quelli che si annullano. Il grado del polinomio è il grado più alto tra i suoi pezzi. > [!ESEMPIO] · Ridurre e poi leggere il grado > $3x^2 + 2x - x^2 + 5 - 2x$: si raccolgono i monomi simili, $(3 - 1)x^2 + (2 - 2)x + 5 = 2x^2 + 0x + 5$, e si elimina quello con coefficiente nullo. Forma normale: $2x^2 + 5$, grado $2$. > > $7 + 3x^2 - \sqrt 2\,y^3$ è già in forma normale: i monomi hanno gradi $0$, $2$ e $3$, quindi il polinomio ha grado $3$. > [!TRAPPOLA] Il grado si legge dopo aver ridotto > $(x + 1)^2 - x^2$ sembra di secondo grado. Ma svolgendo il quadrato viene $x^2 + 2x + 1 - x^2 = 2x + 1$: il grado è 1. Prima si riduce in forma normale, poi si guarda il grado. ::: prova Qual è il grado di $x^4 + 2x - x^4 + 3$? I due pezzi $x^4$ e $-x^4$ si cancellano. Resta $2x + 3$, che ha grado 1. ::: > [!RICORDA] > - Un polinomio è una somma di monomi: numeri per potenze di lettere. > - Il grado è l'esponente più alto, letto dopo aver messo insieme i pezzi simili. ## I polinomi con una sola lettera (p. 15) Nel corso servono quasi sempre i polinomi con una lettera sola. La lettera è di solito la $x$, e il polinomio si indica con $p(x)$, che si legge «pi di ics», o solo con $p$. Si scrivono in ordine, dal pezzo con l'esponente più alto a quello più basso. Per esempio: $$x^3 - 2x + 5.$$ Qui ci sono le potenze 3, 1 e 0 di $x$. La potenza 2 manca: è come se ci fosse $0 \cdot x^2$. ### I coefficienti con i numerini Per parlare di un polinomio qualsiasi le dispense chiamano i suoi numeri con una lettera e un numerino in basso. Il numerino dice a quale potenza appartiene il numero: - $a_3$, «a tre», è il numero davanti a $x^3$; - $a_2$ è il numero davanti a $x^2$; - $a_1$ è il numero davanti a $x$; - $a_0$ è il numero da solo, senza $x$. Si chiama **termine noto**. Per $x^3 - 2x + 5$: $a_3 = 1$, $a_2 = 0$ (manca il pezzo con $x^2$), $a_1 = -2$, $a_0 = 5$. Per $4x^2 - 7$: $a_2 = 4$, $a_1 = 0$, $a_0 = -7$. Sono i due esempi delle dispense. Un polinomio qualsiasi di grado $n$ si scrive allora così: $$p(x) = a_nx^n + \dots + a_1x + a_0, \qquad a_n \neq 0.$$ I tre puntini vogliono dire «e tutti i pezzi in mezzo, con le potenze da $n - 1$ fino a 2». La condizione $a_n \neq 0$, «$a_n$ diverso da zero», dice che il pezzo più alto c'è davvero: altrimenti il grado non sarebbe $n$. Un polinomio di grado zero è solo un numero diverso da zero. ### Gli insiemi di polinomi Le dispense danno un nome agli insiemi di polinomi che useremo. > [!DEF] Gli insiemi di polinomi (p. 15) > $\R[x]$ è l'insieme dei polinomi con coefficienti in $\R$ in cui compare una sola variabile $x$, e $\C[x]$ l'insieme dei polinomi con coefficienti in $\C$ in cui compare una sola variabile $x$. Con $\R_k[x]$ si indicano i polinomi in $\R[x]$ che hanno grado $\le k$ (analogamente $\C_k[x]$). **Come si legge.** - $\R$ sono i numeri reali e $\C$ i numeri complessi (lezioni L01 e L02). - $\R[x]$, «erre di ics», sono i polinomi in $x$ i cui numeri sono reali. $\C[x]$ sono quelli i cui numeri possono essere complessi. - $\R_k[x]$, «erre kappa di ics», sono i polinomi reali di grado al massimo $k$. Il simbolo $\le$ si legge «minore o uguale». Tre cose da notare: - Ogni polinomio di $\R[x]$ sta anche in $\C[x]$, perché i numeri reali sono anche complessi. Per esempio $x^2 + 1$ sta in tutti e due. Invece $ix + 1$ sta in $\C[x]$ ma non in $\R[x]$. - $\R_2[x]$ contiene **tutti** i polinomi reali di grado 2 o meno: $x^2 - 3$, ma anche $5x$, il numero 7 e il polinomio 0. Non contiene $x^3$. - Dalla lezione L05 in poi $\R_k[x]$ sarà uno degli esempi principali di **spazio vettoriale**. Negli appelli compaiono spesso domande su insiemi come «i polinomi di $\R_3[x]$ che valgono zero in 6». ::: prova Quali di questi polinomi stanno in $\R_2[x]$? (a) $3x - 1$; (b) $x^3$; (c) $2ix^2$; (d) $5$. (a) Sì: grado 1, numeri reali. (b) No: grado 3. (c) No: il numero $2i$ non è reale. (d) Sì: grado zero, numero reale. ::: > [!OLTRE] · il polinomio nullo e il grado dei prodotti > Il polinomio $0$ non ha monomi, quindi il suo grado non è definito (alcuni libri gli danno grado $-\infty$). Per due polinomi non nulli valgono due regole utili: > - $\deg(pq) = \deg p + \deg q$: i termini di grado più alto si moltiplicano, $a_nx^n \cdot b_mx^m = a_nb_m\,x^{n + m}$, e $a_nb_m \neq 0$. Per esempio $(x^2 + 1)(x^3 - x)$ ha grado $5$. > - $\deg(p + q) \le$ il più grande tra $\deg p$ e $\deg q$, e può essere più piccolo se i termini più alti si cancellano, come nella trappola della sezione precedente. > > Qui $\deg$ è l'abbreviazione di «grado» (dall'inglese *degree*). Martelli chiama anche **monico** un polinomio con $a_n = 1$. > [!RICORDA] > - $p(x) = a_nx^n + \dots + a_1x + a_0$: il numerino dice a quale potenza appartiene il numero; $a_0$ è il termine noto. > - $\R[x]$ e $\C[x]$: polinomi con numeri reali o complessi. $\R_k[x]$: polinomi reali di grado al massimo $k$. ## Dividere con il resto, come alle elementari (pp. 15–16) Alle elementari hai imparato la divisione con il resto. Hai 44 caramelle e 6 sacchetti: in ogni sacchetto ne metti 7 e ne avanzano 2. $$44 = 7 \cdot 6 + 2.$$ Il 7 è il **quoziente**, il 2 è il **resto**. E il resto è più piccolo del divisore 6: se ne avanzassero 6 o più, potresti mettere un'altra caramella in ogni sacchetto. I polinomi si dividono nello stesso modo. Al posto di «più piccolo» si usa «di grado più basso». Le dispense lo scrivono così. > [!PROP] · Divisione con resto (p. 16) > Dati due polinomi $p(x)$ (il **dividendo**) e $d(x) \neq 0$ (il **divisore**), esistono sempre, e sono unici, due polinomi $q(x)$ (il **quoziente**) e $r(x)$ (il **resto**) per cui > $$p(x) = q(x)d(x) + r(x),$$ > con la proprietà che il resto $r(x)$ abbia grado strettamente minore del divisore $d(x)$. **Come si legge.** - $p(x)$ è il polinomio da dividere, $d(x)$ quello per cui si divide. Il divisore non può essere il polinomio zero, come tra i numeri non si divide per zero. - Il quoziente e il resto ci sono sempre, e sono di un solo tipo: «esistono e sono unici». - La formula è la stessa di $44 = 7 \cdot 6 + 2$. - «Strettamente minore» vuol dire minore e non uguale. È questa condizione che rende quoziente e resto unici: senza, si potrebbero scrivere tante uguaglianze diverse dello stesso tipo (nel quiz ne trovi un esempio). - Il resto può essere il polinomio zero. È il caso più importante: quello in cui la divisione «viene esatta». ### Come si fa la divisione in colonna Le dispense dicono che la divisione si fa con carta e penna, con la stessa procedura dei numeri. Ecco l'esempio delle dispense, passo per passo. > [!ESEMPIO] · L'esempio delle dispense: $x^3 + 1$ diviso $x^2 - 1$ > 1. Divido il pezzo più alto del dividendo per il pezzo più alto del divisore: $x^3$ diviso $x^2$ fa $x$. Il quoziente comincia con $x$. > 2. Moltiplico il divisore per $x$: $x \cdot (x^2 - 1) = x^3 - x$. > 3. Tolgo questo risultato dal dividendo: $(x^3 + 1) - (x^3 - x) = x + 1$. Il pezzo $x^3$ si è cancellato. > 4. Quello che resta, $x + 1$, ha grado 1, più basso del grado 2 del divisore. Mi fermo. > > Quoziente $q(x) = x$, resto $r(x) = x + 1$: > $$x^3 + 1 = x\left(x^2 - 1\right) + (x + 1).$$ > Controllo: $x^3 - x + x + 1 = x^3 + 1$. > [!METODO] La divisione in colonna > 1. Scrivi dividendo e divisore dal grado più alto al più basso. Nel dividendo metti $0$ al posto dei gradi che mancano. > 2. Dividi il pezzo più alto del dividendo per il pezzo più alto del divisore: è il primo pezzo del quoziente. > 3. Moltiplica il divisore per questo pezzo e **togli** il risultato dal dividendo: il pezzo più alto si cancella. > 4. Ripeti i passi 2 e 3 con quello che è rimasto, finché il suo grado diventa **più basso** del grado del divisore. Quello che resta è il resto. > 5. Controllo: quoziente per divisore, più il resto, deve ridare il dividendo. > [!ESEMPIO] · Una divisione in due passi: $2x^3 + 3x^2 - x + 5$ diviso $x^2 - x + 1$ > 1. Pezzi più alti: $2x^3$ diviso $x^2$ fa $2x$. Moltiplico: $2x(x^2 - x + 1) = 2x^3 - 2x^2 + 2x$. Tolgo: > $$(2x^3 + 3x^2 - x + 5) - (2x^3 - 2x^2 + 2x) = 5x^2 - 3x + 5.$$ > 2. Il grado è ancora 2, uguale a quello del divisore: si continua. $5x^2$ diviso $x^2$ fa $5$. Moltiplico: $5(x^2 - x + 1) = 5x^2 - 5x + 5$. Tolgo: > $$(5x^2 - 3x + 5) - (5x^2 - 5x + 5) = 2x.$$ > 3. $2x$ ha grado 1, più basso di 2: fine. > > Quoziente $q(x) = 2x + 5$, resto $r(x) = 2x$. Controllo: $(2x + 5)(x^2 - x + 1) + 2x = 2x^3 - 2x^2 + 2x + 5x^2 - 5x + 5 + 2x = 2x^3 + 3x^2 - x + 5$. ::: prova Dividi $x^2 + 3x + 5$ per $x + 1$. $x^2$ diviso $x$ fa $x$. Moltiplico: $x(x + 1) = x^2 + x$. Tolgo: $(x^2 + 3x + 5) - (x^2 + x) = 2x + 5$. Il grado è 1, come il divisore: continuo. $2x$ diviso $x$ fa 2. Moltiplico: $2(x + 1) = 2x + 2$. Tolgo: $(2x + 5) - (2x + 2) = 3$. Quoziente $x + 2$, resto 3. Controllo: $(x + 2)(x + 1) + 3 = x^2 + 3x + 2 + 3 = x^2 + 3x + 5$. ::: ### Quando la divisione viene esatta Tra i numeri, 7 divide 14 ma non 15: 14 diviso 7 ha resto zero, 15 diviso 7 no. Per i polinomi si usa la stessa parola. Le dispense la scrivono così. > [!DEF] Divisibilità (p. 16) > Se la divisione tra due polinomi $p(x)$ e $d(x)$ ha resto nullo, allora $p(x) = q(x)d(x)$ per qualche quoziente $q(x)$, e si dice che $d(x)$ **divide** $p(x)$. Si usa la barra verticale $\mid$ come sinonimo di «divide»: > $$9 \mid 18, \qquad (x + 1) \mid \left(x^3 + 1\right).$$ **Come si legge.** «$d(x)$ divide $p(x)$» vuol dire che la divisione viene esatta: $p(x)$ è $d(x)$ moltiplicato per qualcosa. La barretta verticale si legge «divide»: $9 \mid 18$ si legge «nove divide diciotto». Controlliamo il secondo esempio con la divisione in colonna di $x^3 + 0x^2 + 0x + 1$ per $x + 1$. Gli zeri servono a tenere il posto dei gradi che mancano. 1. $x^3$ diviso $x$ fa $x^2$. Moltiplico: $x^2(x + 1) = x^3 + x^2$. Tolgo: resta $-x^2 + 0x + 1$. 2. $-x^2$ diviso $x$ fa $-x$. Moltiplico: $-x(x + 1) = -x^2 - x$. Tolgo: resta $x + 1$. 3. $x$ diviso $x$ fa 1. Moltiplico: $1 \cdot (x + 1) = x + 1$. Tolgo: resta 0. Il resto è zero e il quoziente è $x^2 - x + 1$. Infatti, come notano le dispense, $\left(x^3 + 1\right) = \left(x^2 - x + 1\right)(x + 1)$. > [!TRAPPOLA] Gli zeri e quando fermarsi > Se nel dividendo mancano dei gradi, come in $x^3 + 1$, bisogna scrivere gli zeri: $x^3 + 0x^2 + 0x + 1$. Altrimenti si tolgono pezzi di grado diverso. E ci si ferma quando il grado di quello che resta è **più basso** di quello del divisore, non quando «resta un numero»: dividendo per $x^2 - x + 1$, il resto $2x$ va benissimo. > [!RICORDA] > - Dividendo uguale quoziente per divisore più resto, con il resto di grado più basso del divisore. > - Se il resto è zero, il divisore divide il polinomio: si scrive con la barretta $\mid$. ## La regola di Ruffini (oltre le dispense) Spesso si divide per un polinomio molto corto: la lettera meno un numero, come $x - 2$. In questo caso la divisione in colonna si può scrivere in una tabella con i soli numeri. È la **regola di Ruffini**: è il modo più veloce, e la userai di continuo nella sezione sulle radici. Un esempio: dividere $2x^3 - 3x^2 + 4x - 5$ per $x - 2$. > [!ESEMPIO] · $2x^3 - 3x^2 + 4x - 5$ diviso $x - 2$ > Nella prima riga scrivo i coefficienti $2, -3, 4, -5$. A sinistra scrivo il numero 2, quello di $x - 2$. > > | | $2$ | $-3$ | $4$ | $-5$ | > |---|--:|--:|--:|--:| > | $a = 2$ | | $4$ | $2$ | $12$ | > | | $2$ | $1$ | $6$ | $7$ | > > Colonna per colonna: > 1. Abbasso il primo numero, 2. > 2. Moltiplico $2 \cdot 2 = 4$, lo scrivo sotto il $-3$ e sommo: $-3 + 4 = 1$. > 3. Moltiplico $1 \cdot 2 = 2$, lo scrivo sotto il 4 e sommo: $4 + 2 = 6$. > 4. Moltiplico $6 \cdot 2 = 12$, lo scrivo sotto il $-5$ e sommo: $-5 + 12 = 7$. > > L'ultimo numero in basso, 7, è il resto. Gli altri, $2, 1, 6$, sono i coefficienti del quoziente, che ha un grado in meno: $q(x) = 2x^2 + x + 6$. > $$2x^3 - 3x^2 + 4x - 5 = (2x^2 + x + 6)(x - 2) + 7.$$ > Nota: se metto 2 nel polinomio viene $16 - 12 + 8 - 5 = 7$, proprio il resto. Non è un caso: lo spiega la prossima sezione. > [!METODO] Dividere un polinomio per $x - a$ con Ruffini > 1. Scrivi in fila i coefficienti, dal grado più alto al termine noto, con gli **zeri** per i gradi che mancano. Scrivi $a$ a sinistra. Attenzione al segno: per dividere per $x + 2$ si usa $a = -2$, perché $x + 2 = x - (-2)$. > 2. Abbassa il primo coefficiente nell'ultima riga. > 3. Moltiplica per $a$ l'ultimo numero scritto in basso, scrivi il prodotto nella colonna dopo, nella riga di mezzo, e somma: il risultato va in basso. > 4. Ripeti fino all'ultima colonna. L'ultimo numero in basso è il **resto**. Gli altri sono i coefficienti del **quoziente**, che ha un grado in meno. ::: prova Dividi $x^2 + 3x + 5$ per $x + 1$ con Ruffini, e confronta con il «Prova tu» della sezione di prima. Qui $a = -1$. Coefficienti $1, 3, 5$. Abbasso 1. $1 \cdot (-1) = -1$, e $3 - 1 = 2$. $2 \cdot (-1) = -2$, e $5 - 2 = 3$. In basso $1, 2$ e resto 3: quoziente $x + 2$, resto 3. Lo stesso risultato della divisione in colonna. ::: Con lo strumento qui sotto puoi rifare la divisione con altri polinomi e altri valori di $a$. I coefficienti si scrivono dal grado più alto, separati da spazi. Il pulsante **Scomponi con le radici razionali** prova tutti i candidati $\pm\frac{\text{divisori del termine noto}}{\text{divisori del primo coefficiente}}$ e scompone il polinomio: provalo con `1 -6 11 -6` e con `1 -1 -3 5 -2`. ```widget ruffini titolo: Divisione per $x - a$ con la tabella di Ruffini coefficienti: 2 -3 4 -5 a: 2 ``` > [!RICORDA] > - Ruffini divide per $x - a$ con i soli coefficienti: abbassa, moltiplica per $a$, somma. > - L'ultimo numero è il resto; gli altri sono il quoziente, di un grado in meno. ## Le radici: i numeri che fanno uscire zero (p. 16) Torna alla macchina dell'inizio, quella che eleva al quadrato e toglie 3. Con il polinomio $x^2 - 3$: mettendo 2 esce 1, mettendo 0 esce $-3$. C'è un numero che fa uscire zero? Sì: $\sqrt 3$, perché $(\sqrt 3)^2 - 3 = 3 - 3 = 0$. E anche $-\sqrt 3$. Mettere un numero $a$ al posto di $x$ si scrive $p(a)$, «pi di a». Per esempio, con $p(x) = x^2 - 3$: - $p(-2) = (-2)^2 - 3 = 4 - 3 = 1$; - $p(0) = 0 - 3 = -3$; - $p(\sqrt 3) = 3 - 3 = 0$. I numeri che fanno uscire zero sono speciali, e hanno un nome. Le dispense lo scrivono così. > [!DEF] 4.1 > Un numero $a$ è **radice** di un polinomio $p(x)$ se $p(a) = 0$. **Come si legge.** Una radice è un numero che, messo al posto di $x$, fa venire zero. In altre parole, le radici sono le **soluzioni dell'equazione** $p(x) = 0$. Tre esempi: - $-1$ è radice di $p(x) = x^3 + 1$, perché $(-1)^3 + 1 = -1 + 1 = 0$. È l'esempio delle dispense. Invece 2 non lo è, perché $2^3 + 1 = 9$. - $\sqrt 3$ e $-\sqrt 3$ sono radici di $x^2 - 3$. - $i$ è radice di $x^2 + 1$, perché $i^2 + 1 = -1 + 1 = 0$. Le radici possono essere numeri complessi, e per controllarle servono i conti delle lezioni L02 e L03. Le dispense ricordano che trovare le radici di un polinomio è uno dei problemi più antichi dell'algebra. La prossima sezione collega le radici alla divisione. ::: prova Il numero 3 è radice di $x^2 - 2x - 3$? E il numero 1? $3^2 - 2 \cdot 3 - 3 = 9 - 6 - 3 = 0$: sì, 3 è radice. $1^2 - 2 \cdot 1 - 3 = 1 - 2 - 3 = -4$: no, 1 non è radice. ::: > [!RICORDA] > - $p(a)$ è il numero che esce mettendo $a$ al posto di $x$. > - $a$ è una radice quando $p(a) = 0$. ## Una radice è un fattore che ci sta (pp. 16–17) Alcuni polinomi si possono scrivere come prodotto di pezzi più piccoli. Per esempio $x^2 - 5x + 6$ si scrive così: $(x - 2)(x - 3)$. Controllo: $x^2 - 3x - 2x + 6 = x^2 - 5x + 6$. Le sue radici sono 2 e 3. Infatti, se metto 2, il primo fattore diventa $2 - 2 = 0$, e qualsiasi cosa moltiplicata per zero fa zero. Con 3 si annulla il secondo fattore. Quindi ogni fattore $x - a$ produce una radice $a$. Vale anche al contrario: ogni radice $a$ produce un fattore $x - a$. Le dispense lo scrivono così. > [!PROP] 4.2 > Il numero $a$ è radice di $p(x)$ se e solo se $(x - a) \mid p(x)$. **Come si legge.** «Se e solo se» vuol dire che le due cose vanno sempre insieme. $a$ è radice esattamente quando la divisione di $p(x)$ per $x - a$ viene esatta, senza resto. ### Il resto è il valore Nell'esempio di Ruffini il resto della divisione per $x - 2$ era 7, e anche $p(2)$ era 7. È sempre così, ed è il cuore della dimostrazione. Il motivo, a parole: 1. Divido $p(x)$ per $x - a$. Il divisore ha grado 1, quindi il resto ha grado zero: è un numero solo, che chiamo $r_0$. 2. La divisione dice $p(x) = q(x)(x - a) + r_0$. 3. Metto $a$ al posto di $x$. Il fattore $a - a$ fa zero, quindi tutto il primo pezzo sparisce. Resta $p(a) = r_0$. > [!IDEA] · il resto è il valore > **Il resto della divisione di $p(x)$ per $x - a$ è $p(a)$.** Quindi, per sapere se $a$ è radice, basta calcolare $p(a)$. E per sapere il resto della divisione per $x - a$ non serve fare la divisione. > [!DIM] della Proposizione 4.2 > Dalle dispense, con ogni passaggio spiegato. > 1. Dividiamo $p(x)$ per $(x - a)$: per la divisione con resto, $p(x) = q(x)(x - a) + r(x)$, con $q(x)$ quoziente e $r(x)$ resto. > 2. Il grado di $r(x)$ è più basso di quello di $x - a$, che è 1. Quindi $r(x)$ ha grado zero, oppure è il polinomio nullo: è un numero, che scriviamo $r_0$. Allora > $$p(x) = q(x)(x - a) + r_0.$$ > 3. Mettiamo $a$ al posto di $x$: il fattore $a - a$ si annulla, e resta > $$p(a) = q(a)(a - a) + r_0 = 0 + r_0 = r_0.$$ > 4. Quindi $a$ è radice di $p(x)$, cioè $p(a) = 0$, esattamente quando $r_0 = 0$. > 5. E $r_0 = 0$ vuol dire che la divisione per $x - a$ ha resto nullo, cioè che $(x - a)$ divide $p(x)$. $\square$ ### Scomporre un polinomio La Proposizione 4.2 dà un modo per scomporre un polinomio in fattori: trovata una radice, si divide. > [!ESEMPIO] · $x^3 - 6x^2 + 11x - 6$ > 1. Provo $x = 1$: $1 - 6 + 11 - 6 = 0$. Quindi 1 è radice e $(x - 1)$ divide il polinomio. > 2. Ruffini con $a = 1$ sui coefficienti $1, -6, 11, -6$: abbasso 1; $1 \cdot 1 = 1$ e $-6 + 1 = -5$; $-5 \cdot 1 = -5$ e $11 - 5 = 6$; $6 \cdot 1 = 6$ e $-6 + 6 = 0$. Quoziente $x^2 - 5x + 6$, resto 0. > 3. $x^2 - 5x + 6 = (x - 2)(x - 3)$: cerco due numeri che sommati danno 5 e moltiplicati danno 6. > > Quindi $x^3 - 6x^2 + 11x - 6 = (x - 1)(x - 2)(x - 3)$, con radici 1, 2 e 3. > [!METODO] Scomporre un polinomio partendo da una radice > 1. Cerca una radice provando numeri piccoli: $0$, $1$, $-1$, $2$, $-2$… Se i coefficienti sono interi, una radice intera divide il termine noto (vedi il riquadro qui sotto). > 2. Dividi per $x - a$ con Ruffini: il polinomio diventa $(x - a)$ per un quoziente di un grado in meno. > 3. Ripeti con il quoziente. Quando arrivi al secondo grado, usa la formula con il $\Delta$ (più avanti in questa lezione). ::: prova Il resto della divisione di $x^3 + 2x - 1$ per $x - 1$ è…? Non serve dividere: il resto è il valore in 1. $1 + 2 - 1 = 2$. Il resto è 2. ::: > [!OLTRE] · le radici razionali > Prendi un polinomio con coefficienti **interi** e una sua radice che sia una frazione $\frac uv$, ridotta ai minimi termini. Allora $u$ divide il termine noto $a_0$, e $v$ divide il primo coefficiente $a_n$. In particolare, se $a_n = 1$, ogni radice razionale è un **intero che divide $a_0$**. Per $x^3 - 6x^2 + 11x - 6$ i candidati erano solo $\pm 1, \pm 2, \pm 3, \pm 6$. Il motivo: da $p\left(\frac uv\right) = 0$, moltiplicando per $v^n$, si ottiene $a_nu^n + a_{n-1}u^{n-1}v + \dots + a_0v^n = 0$. Tutti i termini tranne l'ultimo sono multipli di $u$, quindi anche $a_0v^n$ lo è. Siccome $u$ e $v$ non hanno fattori comuni, $u$ divide $a_0$. Allo stesso modo $v$ divide $a_n$. > [!RICORDA] > - $a$ è radice esattamente quando $x - a$ divide il polinomio. > - Il resto della divisione per $x - a$ è $p(a)$. > - Per scomporre: trova una radice, dividi con Ruffini, ripeti. ## Quante volte ci sta: la molteplicità (p. 17) Un fattore può comparire più di una volta. Prendi $(x - 2)^2 = (x - 2)(x - 2)$: il fattore $x - 2$ ci sta due volte. La radice è sempre la stessa, il 2, ma conta «doppio». Le dispense lo scrivono così. > [!DEF] 4.3 > La **molteplicità** di una radice $a$ di un polinomio $p(x)$ è il massimo numero $k$ tale che $(x - a)^k$ divide $p(x)$. **Come si legge.** Si prova a dividere per $x - a$, poi per $(x - a)^2$, poi per $(x - a)^3$… La molteplicità è l'ultimo esponente per cui la divisione viene ancora esatta. Le dispense dicono: la molteplicità misura «quante volte» $a$ è radice. Una radice di molteplicità 1 si chiama **semplice**, di molteplicità 2 **doppia**, di molteplicità 3 **tripla**. > [!ESEMPIO] 4.4 · Molteplicità $1$ e $2$ > Il polinomio $x^3 - 1$ ha la radice $1$ con molteplicità $1$, perché > $$x^3 - 1 = (x - 1)\left(x^2 + x + 1\right)$$ > e $(x - 1)$ non divide $x^2 + x + 1$, semplicemente perché $1$ non è radice di $x^2 + x + 1$: infatti $1 + 1 + 1 = 3 \neq 0$. > > Allo stesso modo il polinomio $x^3 - 2x^2 + x = x\left(x^2 - 2x + 1\right) = (x - 1)^2x$ ha la radice $1$ con molteplicità $2$ e la radice $0$ con molteplicità $1$. Nel secondo polinomio il pezzo $x^2 - 2x + 1$ è il quadrato $(x - 1)^2$: è il prodotto notevole «quadrato di una differenza». > [!ESEMPIO] 4.5 · Nel prodotto le molteplicità si sommano > I polinomi $q_1(x) = x^2 - 2x + 1$ e $q_2(x) = x^2 - 1$ si scrivono > $$q_1(x) = (x - 1)^2, \qquad q_2(x) = (x + 1)(x - 1).$$ > Il primo ha la radice $1$ con molteplicità $2$; il secondo ha le radici $-1$ e $1$, entrambe con molteplicità $1$. Il prodotto > $$p(x) = q_1(x)q_2(x) = (x - 1)^3(x + 1)$$ > ha la radice $1$ con molteplicità $2 + 1 = 3$ e la radice $-1$ con molteplicità $1$. Quando il polinomio non è già scomposto, la molteplicità si trova dividendo più volte. > [!METODO] Calcolare la molteplicità di una radice > Dividi il polinomio per $x - a$, con Ruffini. Se il quoziente ha ancora $a$ come radice, dividi di nuovo. Continua finché $a$ non è più radice del quoziente: il numero di divisioni fatte è la molteplicità. > [!ESEMPIO] · $p(x) = x^4 - x^3 - 3x^2 + 5x - 2$ e la radice $1$ > $p(1) = 1 - 1 - 3 + 5 - 2 = 0$, quindi 1 è radice. > 1. Ruffini con $a = 1$ su $1, -1, -3, 5, -2$: in basso $1, 0, -3, 2$ e resto 0. Quoziente $x^3 - 3x + 2$. > 2. Nel quoziente metto 1: $1 - 3 + 2 = 0$. È ancora radice. Ruffini su $1, 0, -3, 2$: in basso $1, 1, -2$ e resto 0. Quoziente $x^2 + x - 2$. > 3. Metto 1: $1 + 1 - 2 = 0$. Ancora radice. Ruffini su $1, 1, -2$: in basso $1, 2$ e resto 0. Quoziente $x + 2$. > 4. Metto 1: $1 + 2 = 3$, non zero. Mi fermo. > > Tre divisioni: la radice 1 ha molteplicità 3, e $p(x) = (x - 1)^3(x + 2)$. ::: prova Qual è la molteplicità della radice 0 in $x^3 + x^2$? $x^3 + x^2 = x^2(x + 1)$. Il fattore $x$, cioè $x - 0$, ci sta due volte. La radice 0 è doppia. L'altra radice, $-1$, è semplice. ::: ### Che cosa si vede nel grafico (oltre le dispense) Per un polinomio reale, le radici reali sono i punti in cui il grafico tocca l'asse orizzontale. La molteplicità si vede dalla forma. In una radice di molteplicità **dispari** il grafico **attraversa** l'asse. In una radice di molteplicità **pari** lo **tocca** e torna indietro, perché un fattore al quadrato non cambia mai segno. Guarda la figura: a sinistra, in $-2$, la curva passa da sotto a sopra l'asse; a destra, in 1, scende fino all'asse e risale. ```grafico titolo: $y = (x - 1)^2(x + 2) = x^3 - 3x + 2$: in $-2$ (radice semplice) il grafico attraversa l'asse, in $1$ (radice doppia) lo tocca soltanto proporzioni: libere x: -3 3 y: -2 6 segmento: -2.4 -4.624 -2.2 -2.048 | accento | spesso segmento: -2.2 -2.048 -2.0 0 | accento | spesso segmento: -2.0 0 -1.8 1.568 | accento | spesso segmento: -1.8 1.568 -1.6 2.704 | accento | spesso segmento: -1.6 2.704 -1.4 3.456 | accento | spesso segmento: -1.4 3.456 -1.2 3.872 | accento | spesso segmento: -1.2 3.872 -1.0 4.0 | accento | spesso segmento: -1.0 4.0 -0.8 3.888 | accento | spesso segmento: -0.8 3.888 -0.6 3.584 | accento | spesso segmento: -0.6 3.584 -0.4 3.136 | accento | spesso segmento: -0.4 3.136 -0.2 2.592 | accento | spesso segmento: -0.2 2.592 0 2 | accento | spesso segmento: 0 2 0.2 1.408 | accento | spesso segmento: 0.2 1.408 0.4 0.864 | accento | spesso segmento: 0.4 0.864 0.6 0.416 | accento | spesso segmento: 0.6 0.416 0.8 0.112 | accento | spesso segmento: 0.8 0.112 1.0 0 | accento | spesso segmento: 1.0 0 1.2 0.128 | accento | spesso segmento: 1.2 0.128 1.4 0.544 | accento | spesso segmento: 1.4 0.544 1.6 1.296 | accento | spesso segmento: 1.6 1.296 1.8 2.432 | accento | spesso segmento: 1.8 2.432 2.0 4.0 | accento | spesso segmento: 2.0 4.0 2.2 6.048 | accento | spesso punto: -2 0 | rosa punto: 1 0 | ambra ``` > [!RICORDA] > - La molteplicità dice quante volte il fattore $x - a$ ci sta nel polinomio. > - Si calcola dividendo per $x - a$ finché $a$ smette di essere radice. > - Nel prodotto di due polinomi le molteplicità si sommano. ## Quante radici al massimo (p. 18) Un polinomio di secondo grado può avere due radici: per esempio $x^2 - 5x + 6$ ha 2 e 3. Ne può avere tre? No. Ogni radice porta un fattore di grado 1, e i gradi dei fattori si sommano: tre fattori darebbero già grado 3. Le dispense lo scrivono così. > [!TEOREMA] 4.6 > Un polinomio $p(x)$ di grado $n \ge 1$ ha al più $n$ radici, contate con molteplicità. **Come si legge.** - $n \ge 1$ si legge «$n$ maggiore o uguale a 1»: il teorema parla dei polinomi che non sono solo un numero. - «Al più $n$» vuol dire «$n$ o meno». - «Contate con molteplicità» vuol dire che ogni radice si conta tante volte quanta è la sua molteplicità. Per esempio $(x - 1)^3(x + 1)$ ha due radici diverse, ma contate con molteplicità sono $3 + 1 = 4$, quante il grado. Il teorema dice che questo conteggio non supera mai il grado. Può essere più piccolo: $x^2 + 1$ ha grado 2 ma nessuna radice reale. > [!DIM] del Teorema 4.6 > La dimostrazione usa l'**induzione** sul grado, che vedrai in dettaglio in Matematica Discreta: si dimostra la tesi per il grado 1 (**base**), poi si mostra che, se vale per il grado $n - 1$, vale anche per il grado $n$ (**passo induttivo**). Così vale per 1, quindi per 2, quindi per 3, e così via. > > **Base, $n = 1$.** Il polinomio è $p(x) = a_1x + a_0$ con $a_1 \neq 0$, e $p(x) = 0$ vuol dire $x = -\frac{a_0}{a_1}$: c'è una sola radice, di molteplicità 1. La tesi è vera. > > **Passo induttivo.** Supponiamo la tesi vera per i polinomi di grado $n - 1$ e prendiamo $p(x)$ di grado $n$. > 1. Se $p(x)$ non ha radici, non c'è niente da dimostrare: zero radici sono meno di $n$. > 2. Se ha almeno una radice $a$, per la Proposizione 4.2 possiamo scrivere $p(x) = (x - a)q(x)$, e $q(x)$ ha grado $n - 1$ (i gradi dei fattori si sommano). > 3. Per l'ipotesi induttiva $q(x)$ ha al più $n - 1$ radici contate con molteplicità. > 4. Le radici di $p(x)$, contate con molteplicità, sono esattamente quelle di $q(x)$ più $a$. Infatti per $b \neq a$ vale $p(b) = (b - a)q(b)$ con $b - a \neq 0$, quindi $p(b) = 0$ esattamente quando $q(b) = 0$; e la molteplicità di $a$ in $p$ è quella in $q$ più uno, come nell'Esempio 4.5. > 5. Quindi $p(x)$ ha al più $(n - 1) + 1 = n$ radici, contate con molteplicità. $\square$ ### I polinomi di primo e di secondo grado Le dispense fanno vedere il teorema sui casi che conosci dalla scuola. > [!ESEMPIO] 4.7 · I polinomi di primo e di secondo grado > Un polinomio di grado $1$ è sempre del tipo $p(x) = ax + b$ con $a \neq 0$, e ha sempre una sola radice $x = -\frac ba$. > > Un polinomio di grado $2$ è del tipo $p(x) = ax^2 + bx + c$ con $a \neq 0$, e le sue radici dipendono dal **discriminante** $\Delta = b^2 - 4ac$ nel modo seguente. > - Se $\Delta > 0$, il polinomio $p(x)$ ha due radici distinte $x_\pm = \frac{-b \pm \sqrt\Delta}{2a}$, entrambe di molteplicità uno. > - Se $\Delta = 0$, il polinomio $p(x)$ ha una sola radice $x = -\frac b{2a}$, con molteplicità due. > - Se $\Delta < 0$, il polinomio $p(x)$ non ha radici reali. > > In particolare, ci sono polinomi che non hanno radici reali. > [!RIPASSO] la formula del secondo grado > Per $ax^2 + bx + c$ si calcola prima il **discriminante** $\Delta = b^2 - 4ac$. La lettera greca $\Delta$ si legge «delta». Poi le radici sono > $$x_\pm = \frac{-b \pm \sqrt\Delta}{2a}.$$ > Il simbolo $\pm$ si legge «più o meno»: la formula dà due numeri, uno con il più e uno con il meno. $x_\pm$ è il nome di tutti e due: $x_+$ quello con il più, $x_-$ quello con il meno. > > Esempio: $x^2 - 5x + 6$. Qui $a = 1$, $b = -5$, $c = 6$. $\Delta = 25 - 24 = 1$, e $\sqrt 1 = 1$. Le radici sono $\frac{5 + 1}2 = 3$ e $\frac{5 - 1}2 = 2$. Tre esempi, uno per caso: | Polinomio | $\Delta = b^2 - 4ac$ | Radici reali | Scomposizione | |---|---|---|---| | $x^2 - 5x + 6$ | $25 - 24 = 1 > 0$ | $\frac{5 \pm 1}2$, cioè $3$ e $2$ | $(x - 2)(x - 3)$ | | $x^2 - 4x + 4$ | $16 - 16 = 0$ | $\frac 42 = 2$, doppia | $(x - 2)^2$ | | $x^2 + x + 1$ | $1 - 4 = -3 < 0$ | nessuna | non si scompone in $\R$ | ::: prova Quante radici reali ha $x^2 - 6x + 9$? Con che molteplicità? $\Delta = 36 - 36 = 0$: una sola radice, $\frac 62 = 3$, con molteplicità 2. Infatti $x^2 - 6x + 9 = (x - 3)^2$. ::: > [!APPROFONDIMENTO] da dove viene la formula > Si «completa il quadrato». Per $a \neq 0$: > $$ax^2 + bx + c = a\left(x + \frac b{2a}\right)^2 - \frac{\Delta}{4a}.$$ > Per controllarlo, svolgi il quadrato: $a\left(x^2 + \frac bax + \frac{b^2}{4a^2}\right) - \frac{b^2 - 4ac}{4a} = ax^2 + bx + c$. Quindi $p(x) = 0$ equivale a $\left(x + \frac b{2a}\right)^2 = \frac\Delta{4a^2}$. Se $\Delta > 0$ si prende la radice quadrata dei due lati, con i due segni. Se $\Delta = 0$ resta $x = -\frac b{2a}$. Se $\Delta < 0$ un quadrato reale dovrebbe essere negativo, impossibile. È la dimostrazione della Proposizione 1.3.8 del libro di Martelli. > [!RICORDA] > - Un polinomio di grado $n$ ha al massimo $n$ radici, contate con la molteplicità. > - Per il secondo grado decide il $\Delta$: positivo due radici, zero una doppia, negativo nessuna reale. ## Nei complessi le radici ci sono tutte (p. 18) Tra i numeri reali alcuni polinomi non hanno radici. Per esempio $x^2 + 1$: un quadrato più 1 non fa mai zero. Ma tra i numeri complessi sì: $i$ e $-i$. Il numero $i$ era stato inventato proprio per questo (lezione L02). E i polinomi di grado più alto? Le dispense arrivano qui «al vero motivo per cui abbiamo introdotto i numeri complessi in questo corso»: tra i complessi le radici ci sono **sempre tutte**. > [!TEOREMA] 4.8 · Teorema fondamentale dell'algebra > Un polinomio $p(x)$ a coefficienti complessi di grado $n$ ha esattamente $n$ radici, contate con molteplicità. **Come si legge.** - «A coefficienti complessi» vuol dire che i numeri del polinomio possono essere complessi. Vale anche per i polinomi con numeri reali, perché i reali sono anche complessi. - Il Teorema 4.6 diceva «**al più** $n$». Tra i complessi diventa «**esattamente** $n$»: le radici non mancano mai. - Le dispense non lo dimostrano: le dimostrazioni più accessibili usano strumenti di Analisi lontani da questo corso. Un esempio: $x^4 - 1$ ha grado 4. Tra i reali ha solo le radici 1 e $-1$. Tra i complessi ne ha quattro: 1, $-1$, $i$, $-i$. Sono le radici quarte dell'unità della lezione L03. ::: prova Quante radici complesse ha $x^5 - x$, contate con la molteplicità? Il grado è 5, quindi esattamente 5. Infatti $x^5 - x = x(x^4 - 1)$: le radici sono 0, 1, $-1$, $i$, $-i$. ::: > [!OLTRE] · un'altra forma dello stesso teorema > Nel libro di Martelli il teorema fondamentale (Teorema 1.4.7) dice che **ogni polinomio non costante a coefficienti complessi ha almeno una radice**. Da qui si ricava la versione delle dispense (Corollario 1.4.8) con la stessa induzione del Teorema 4.6: trovata una radice $z_1$, si scrive $p(x) = (x - z_1)q(x)$ e si ripete su $q(x)$. Il risultato finale si scrive anche come **scomposizione in fattori di primo grado** (Corollario 1.4.10): > $$p(x) = a_n(x - z_1)(x - z_2)\cdots(x - z_n),$$ > dove $z_1, \dots, z_n$ sono le radici ripetute secondo la molteplicità. Per esempio $x^4 - 1 = (x - 1)(x + 1)(x - i)(x + i)$. > [!RICORDA] > - Tra i numeri complessi un polinomio di grado $n$ ha esattamente $n$ radici, contate con la molteplicità. > - È il motivo per cui il corso usa i numeri complessi. ## Le equazioni di secondo grado nei complessi (p. 19) Ci sono equazioni di secondo grado senza soluzioni reali. Prendi $x^2 + 2x + 5$: il discriminante è $4 - 20 = -16$, negativo, quindi tra i reali niente radici. Ma tra i complessi $-16$ ha due radici quadrate, $4i$ e $-4i$ (lezione L03). Quindi la formula funziona lo stesso: $$x_\pm = \frac{-2 \pm 4i}2 = -1 \pm 2i.$$ Le radici sono $-1 + 2i$ e $-1 - 2i$. Le dispense lo dicono in generale. > [!ESEMPIO] 4.9 · La solita formula, nei complessi > Per un polinomio di secondo grado $p(x) = ax^2 + bx + c$ le due radici complesse si trovano usando la solita formula > $$x_\pm = \frac{-b \pm \sqrt\Delta}{2a}.$$ > Questa volta, $\pm\sqrt\Delta$ indica le **due radici quadrate complesse** di $\Delta$, che esistono sempre, come visto nella lezione L03. Qui $a$, $b$ e $c$ possono essere anche complessi, e allora anche $\Delta$ può essere un numero complesso. La distinzione tra $\Delta$ positivo, zero o negativo ha senso solo se $\Delta$ è reale. > [!METODO] Un'equazione di secondo grado nei complessi > 1. Leggi $a$, $b$, $c$ e calcola $\Delta = b^2 - 4ac$. > 2. Trova le due radici quadrate di $\Delta$, che chiamo $w$ e $-w$. Se $\Delta$ è un reale negativo, sono $i$ per la radice del suo opposto, con il più e con il meno. Se $\Delta$ è complesso, usa la forma polare o il metodo con $u + vi$ (lezioni L02 e L03). > 3. Le radici sono $\frac{-b + w}{2a}$ e $\frac{-b - w}{2a}$. > 4. Controlla mettendole nel polinomio, oppure con somma e prodotto: la somma delle radici è $-\frac ba$ e il prodotto è $\frac ca$. > [!ESEMPIO] 4.10 · Due esempi delle dispense > **$x^2 + 1$.** $a = 1$, $b = 0$, $c = 1$, quindi $\Delta = -4$, le cui radici quadrate sono $\pm 2i$. Le radici sono $x_\pm = \frac{\pm 2i}2 = \pm i$. > > **$x^2 + (1 - i)x - i$.** Qui $a = 1$, $b = 1 - i$, $c = -i$, e > $$\Delta = (1 - i)^2 - 4 \cdot 1 \cdot (-i) = (1 - 2i + i^2) + 4i = -2i + 4i = 2i.$$ > Le radici quadrate di $2i$ sono $\pm(1 + i)$ (lezione L03: $2i = 2e^{i\pi/2}$ e $\sqrt 2\,e^{i\pi/4} = 1 + i$). Quindi > $$x_\pm = \frac{-1 + i \pm \sqrt{2i}}{2} = \frac{-1 + i \pm (1 + i)}{2},$$ > quindi $x_+ = \frac{2i}2 = i$ e $x_- = \frac{-2}2 = -1$. > Controllo: $i^2 + (1 - i)i - i = -1 + i + 1 - i = 0$ e $(-1)^2 + (1 - i)(-1) - i = 1 - 1 + i - i = 0$. Nel secondo esempio ci sono due passaggi da guardare con calma: 1. $-b$ è il contrario di $1 - i$, cioè $-1 + i$. 2. Dalla formula si ricavano le due radici: una con il più e una con il meno. Altri due esempi con lo stesso metodo: - $x^2 + 2x + 5$: è l'esempio all'inizio della sezione. Controllo con il prodotto: $(-1 + 2i)(-1 - 2i) = 1 + 4 = 5$, che è proprio $\frac ca$. - $x^2 - 2ix - 2$: $\Delta = (-2i)^2 - 4 \cdot (-2) = -4 + 8 = 4$, con radici quadrate 2 e $-2$. Quindi $x_\pm = \frac{2i \pm 2}2$: le radici sono $1 + i$ e $-1 + i$. Queste due radici **non** sono coniugate, perché i numeri del polinomio non sono tutti reali (vedi la prossima sezione). ::: prova Trova le radici complesse di $x^2 + 9$. $\Delta = 0 - 36 = -36$, con radici quadrate $6i$ e $-6i$. Le radici sono $\frac{\pm 6i}2 = \pm 3i$. Controllo: $(3i)^2 + 9 = -9 + 9 = 0$. ::: > [!RICORDA] > - La formula del secondo grado vale anche tra i complessi: al posto della radice di $\Delta$ si usano le sue due radici quadrate complesse. > - Con $\Delta$ reale negativo le radici quadrate sono $i$ per la radice dell'opposto, con il più e con il meno. ## Coefficienti reali: radici a coppie (p. 19) Nella sezione di prima le radici venivano spesso a coppie. Per esempio quelle di $x^2 + 2x + 5$ sono $-1 + 2i$ e $-1 - 2i$. Una è il coniugato dell'altra: stessa parte reale, parte immaginaria con il segno cambiato. Anche $x^2 + 1$ aveva le radici $i$ e $-i$, coniugate. Non è un caso. Quando i numeri del polinomio sono tutti reali, le radici complesse vengono sempre a coppie. Le dispense lo scrivono così. > [!PROP] 4.11 > Sia $p(x)$ un polinomio a coefficienti reali. Se $z$ è una radice complessa di $p(x)$, allora $\bar z$ è anch'essa radice di $p(x)$. **Come si legge.** Se i numeri del polinomio sono reali e $z$ è una radice, allora anche il coniugato $\bar z$, «zeta segnato», è una radice. Nel disegno del piano complesso le radici sono simmetriche rispetto all'asse orizzontale. Il motivo, a parole: coniugare non cambia i numeri reali, e il coniugato di una somma o di un prodotto è la somma o il prodotto dei coniugati. Quindi coniugare $p(z) = 0$ dà $p(\bar z) = 0$. > [!DIM] della Proposizione 4.11 > Dalle dispense, con le regole usate. > 1. Il polinomio è $p(x) = a_nx^n + \dots + a_1x + a_0$, e per ipotesi i coefficienti $a_n, \dots, a_0$ sono tutti reali. > 2. Se $z$ è radice, allora $p(z) = a_nz^n + \dots + a_1z + a_0 = 0$. > 3. Applichiamo il coniugio a entrambi i membri. Il coniugato di una somma è la somma dei coniugati e il coniugato di un prodotto è il prodotto dei coniugati (esercizio 2.5, lezione L02); in particolare il coniugato di $z^k$ è $\bar z^k$. Quindi > $$\overline{a_n}\,\bar z^n + \dots + \overline{a_1}\,\bar z + \overline{a_0} = \bar 0 = 0.$$ > 4. Siccome i coefficienti sono reali, il coniugato di ogni $a_i$ è $a_i$ stesso (lezione L02: un numero è reale esattamente quando è uguale al suo coniugato). Quindi > $$a_n\bar z^n + \dots + a_1\bar z + a_0 = 0,$$ > cioè $p(\bar z) = 0$: anche $\bar z$ è radice di $p(x)$. $\square$ > [!ESEMPIO] · $x^3 - 1$ e le radici terze dell'unità > $x^3 - 1 = (x - 1)(x^2 + x + 1)$ (Esempio 4.4). Il fattore $x^2 + x + 1$ ha $\Delta = 1 - 4 = -3$, con radici quadrate $\pm i\sqrt 3$, quindi le sue radici sono $\frac{-1 \pm i\sqrt 3}2$. Le tre radici di $x^3 - 1$ sono 1 e la coppia coniugata $-\frac 12 \pm \frac{\sqrt 3}2 i$. Sono le tre radici terze dell'unità della lezione L03, e il triangolo che formano è simmetrico rispetto all'asse orizzontale. ::: prova Un polinomio con numeri reali ha la radice $2 - 3i$. Quale altra radice ha di sicuro? Il coniugato: $2 + 3i$. ::: > [!TRAPPOLA] Serve che i coefficienti siano reali > Nell'Esempio 4.10 il polinomio $x^2 + (1 - i)x - i$ ha la radice $i$, ma $-i$ **non** è radice: le radici sono $i$ e $-1$. La Proposizione 4.11 non si applica, perché il coefficiente $1 - i$ non è reale. Allo stesso modo, nel problema 11 dell'appello del 03/06/2026 un polinomio caratteristico a coefficienti complessi aveva la radice $i$ doppia e la radice $-i$ semplice. > [!OLTRE] · tre conseguenze > - Le radici **non reali** di un polinomio a coefficienti reali vengono a **coppie**, una e il suo coniugato. Le due hanno anche la stessa molteplicità, anche se la Proposizione 4.11 da sola non lo dice. Quindi sono in numero pari. > - Un polinomio a coefficienti reali di **grado dispari** ha sempre almeno una radice **reale**: le $n$ radici complesse sono in numero dispari, e quelle non reali in numero pari (Proposizione 1.4.13 del libro di Martelli). > - Per $z = u + vi$ con $v \neq 0$: $(x - z)(x - \bar z) = x^2 - 2ux + (u^2 + v^2)$, un polinomio **reale** di secondo grado con $\Delta = -4v^2 < 0$. Per questo ogni polinomio reale si scompone in fattori reali di primo grado e di secondo grado con $\Delta < 0$ (Corollario 1.4.12). Per esempio $x^3 - 1 = (x - 1)(x^2 + x + 1)$ e $x^4 - 1 = (x - 1)(x + 1)(x^2 + 1)$. > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli questa lezione corrisponde al §1.3 «Polinomi» (pp. 21–25). Lì ci sono la definizione, la divisione con resto e le radici, con la Proposizione 1.3.2 (la 4.2 delle dispense). Seguono la molteplicità, il Teorema 1.3.7 (il 4.6) e la formula del secondo grado con la dimostrazione. Poi ci sono le parti 1.4.7 «Teorema fondamentale dell'algebra» e 1.4.8 «Polinomi a coefficienti reali» del §1.4 (pp. 31–33). Gli esempi sono gli stessi delle dispense (in Martelli la prima divisione tra interi è $26 = 2 \cdot 11 + 4$). L'Esercizio 1.12 (p. 37) collega la molteplicità alla derivata, che vedrai in Analisi. > [!RICORDA] > - Se i numeri del polinomio sono reali, le radici non reali vengono a coppie: una e il suo coniugato. > - Se i numeri non sono tutti reali, la regola non vale. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $p(x)$ | «pi di ics» | un polinomio nella lettera $x$ | $p(x) = x^2 - 3$ | | $p(a)$ | «pi di a» | il numero che esce mettendo $a$ al posto di $x$ | $p(2) = 1$ | | $a_n, \dots, a_1, a_0$ | «a enne, …, a uno, a zero» | i coefficienti; il numerino dice la potenza | in $x^3 - 2x + 5$, $a_1 = -2$ | | $\deg p$ | «grado di pi» | il grado del polinomio | $\deg(x^3 + 1) = 3$ | | $\R[x]$, $\C[x]$ | «erre di ics», «ci di ics» | polinomi con numeri reali, complessi | $ix + 1 \in \C[x]$ | | $\R_k[x]$ | «erre kappa di ics» | polinomi reali di grado al massimo $k$ | $5x \in \R_2[x]$ | | $\le$, $\ge$ | «minore o uguale», «maggiore o uguale» | confronti che ammettono l'uguale | $2 \le 2$ | | $d(x) \mid p(x)$ | «di divide pi» | la divisione viene esatta | $(x + 1) \mid (x^3 + 1)$ | | $q(x)$, $r(x)$ | «quoziente», «resto» | i risultati della divisione | $x^3 + 1 = x(x^2 - 1) + (x + 1)$ | | $(x - a)^k$ | «ics meno a alla kappa» | il fattore $x - a$ ripetuto $k$ volte | $(x - 1)^3$ | | $\Delta$ | «delta» | il discriminante $b^2 - 4ac$ | per $x^2 + 1$, $\Delta = -4$ | | $x_\pm$ | «ics più o meno» | le due radici della formula | $x_\pm = -1 \pm 2i$ | | $\pm$ | «più o meno» | due numeri, uno con il più e uno con il meno | $\pm 2i$ | | $\bar z$ | «zeta segnato» | il coniugato | $\overline{1 + 2i} = 1 - 2i$ | ## Verso l'esame **La prova in due righe.** 10 domande a risposta multipla (5 risposte, una giusta) e 2 problemi da 11 punti, corretti solo con almeno 6 punti nel quiz; 2 ore, niente calcolatrice, solo 4 facciate di appunti scritti a mano. Appelli 2026/27 di Algebra lineare: 22/01/2027 e 05/02/2027 alle 14:00. Regole complete e fonti nella lezione L01. **Dove compaiono i polinomi negli appelli dal 2023/24 al 2025/26.** | Uso | Esempi negli appelli | Lezioni | |---|---|---| | «quale di questi numeri è una radice di $p(z)$?» | 10/07/2025 (domanda 1), 03/07/2026 (domanda 7), 07/09/2026 (domanda 1) | questa | | radici del polinomio caratteristico, spesso di terzo grado, da scomporre trovando una radice e dividendo | 02/09/2025 (domanda 4, con $-t^3 + 8$), problemi su autovalori in quasi tutti gli appelli | L17, L18 | | un determinante che dipende da un parametro $k$ è un polinomio in $k$: si trova una radice e si divide | 15/01/2026 (problema 11: una radice doppia) | L09, L10 | | spazi di polinomi: $\{p \in \R_3[x] \mid p(a) = 0\}$ è fatto dai polinomi $(x - a)q(x)$ (Proposizione 4.2) | 24/01/2024 (domanda 1), 10/07/2025 (domanda 2), 03/07/2026 (domanda 1) | L05–L07 | ### Una domanda vera, letta insieme **Appello del 07/09/2026, domanda 1.** Il testo: «Quale dei seguenti è una radice del polinomio $p(z) = z^4 + 5z^2 + 4$? (a) $z = -3 + i$; (b) $z = 1 - i$; (c) $z = -1$; (d) $z = -2i$; (e) il polinomio non ha radici». **In pratica chiede:** quale di questi numeri, messo al posto di $z$, fa uscire zero? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: guardo le potenze.** Ci sono solo $z^4$, $z^2$ e un numero: potenze pari. Allora conviene un trucco: chiamo $t$ il quadrato $z^2$. Siccome $z^4 = (z^2)^2 = t^2$, il polinomio diventa $t^2 + 5t + 4$. > > **Passo 2: risolvo il secondo grado.** Cerco due numeri che sommati danno 5 e moltiplicati danno 4: sono 1 e 4. Quindi $t^2 + 5t + 4 = (t + 1)(t + 4)$, con radici $t = -1$ e $t = -4$. > > **Passo 3: torno a $z$.** $z^2 = -1$ dà $z = i$ oppure $z = -i$. $z^2 = -4$ dà $z = 2i$ oppure $z = -2i$. > > **Passo 4: la risposta.** Tra le risposte c'è $-2i$: è la (d). > > **Controllo diretto.** $(-2i)^2 = 4i^2 = -4$, e $(-2i)^4 = (-4)^2 = 16$. Quindi $p(-2i) = 16 + 5 \cdot (-4) + 4 = 16 - 20 + 4 = 0$. > > **Perché la (e) è sbagliata.** È la risposta che tenta chi vede che il polinomio, per $z$ reale, è sempre positivo. Ma il teorema fondamentale dice che tra i complessi le radici ci sono sempre: qui sono quattro. ### Altre due domande vere > [!ESEMPIO] · Appello del 10/07/2025, domanda 1 > Quale dei seguenti è una radice di $p(z) = z^4 + 7z^2 + 12$? (a) $z = -2i$; (b) $z = -2$; (c) il polinomio non ha radici; (d) $z = 3 + 4i$; (e) $z = 4$. > > **Soluzione.** Compaiono solo potenze pari: con $w = z^2$ il polinomio diventa $w^2 + 7w + 12 = (w + 3)(w + 4)$, con radici $w = -3$ e $w = -4$. Quindi $z^2 = -3$ oppure $z^2 = -4$, cioè $z = \pm i\sqrt 3$ oppure $z = \pm 2i$. Risposta (a). La (c) è falsa per il teorema fondamentale (le radici sono quattro). La (b) e la (e) sono reali, e per $z$ reale il polinomio vale almeno 12, perché $z^4$ e $z^2$ non sono mai negativi. > [!ESEMPIO] · Appello del 03/07/2026, domanda 7 > Quale dei seguenti è una radice del polinomio $p(z) = z^3 + 2z^2 + z + 2$? (a) $z = 0$; (b) $z = i$; (c) $z = 1 + i$; (d) $z = 1$; (e) $z^3 + 2z^2 + z + 2 = 0$. > > **Soluzione.** Raccolgo a coppie: $z^3 + 2z^2 = z^2(z + 2)$ e $z + 2 = 1 \cdot (z + 2)$. Quindi $p(z) = z^2(z + 2) + (z + 2) = (z^2 + 1)(z + 2)$. Le radici sono $-2$, $i$, $-i$: risposta (b). Senza scomporre basta provare: $p(i) = i^3 + 2i^2 + i + 2 = -i - 2 + i + 2 = 0$, mentre $p(0) = 2$ e $p(1) = 6$. La (e) non è un numero: è l'equazione stessa. ### I metodi > [!METODO] Trovare le radici di un polinomio di grado 3 o 4 senza calcolatrice > 1. **Nel quiz, prova le risposte**: con $p(i)$, $p(2i)$, $p(-1)$… si trova la risposta giusta in pochi conti. > 2. **Solo potenze pari** ($z^4$, $z^2$, numero): chiama $t$ il quadrato $z^2$, risolvi il secondo grado, poi trova le due radici quadrate di ogni $t$. Se $t$ è negativo, sono $i$ per la radice dell'opposto, con il più e con il meno. > 3. **Raccogli a coppie**: $z^3 + 2z^2 + z + 2 = z^2(z + 2) + 1 \cdot (z + 2)$. > 4. **Prova le radici intere** tra i divisori del termine noto, poi dividi con Ruffini. > 5. **Resta un secondo grado**: formula con il $\Delta$. Se i numeri sono reali e $\Delta$ è negativo, le due radici sono coniugate. **Errori da evitare.** - Dimenticare gli zeri nella tabella di Ruffini. - Sbagliare il segno di $a$: per dividere per $x + 2$ si usa $a = -2$. - Fermare la divisione troppo presto o troppo tardi. - Confondere il numero di radici diverse con il numero di radici contate con la molteplicità. - Applicare la Proposizione 4.11 a polinomi con numeri complessi. - Con il trucco del quadrato, dimenticare che ogni $t$ dà due radici opposte. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: lo schema della divisione in colonna e di Ruffini; «$a$ è radice esattamente quando $(x - a)$ divide $p(x)$, e il resto della divisione per $x - a$ è $p(a)$»; molteplicità e metodo delle divisioni ripetute; il $\Delta$ e la formula del secondo grado con le due radici quadrate complesse; «coefficienti reali: radici non reali a coppie coniugate»; il trucco $t = z^2$ e il raccoglimento a coppie. ## Quiz ```quiz D: Quale dei seguenti è una radice di $p(z) = z^4 + 10z^2 + 9$? + $z = 3i$ - $z = 3$ - $z = -1$ - $z = 1 + i$ - Il polinomio non ha radici. = Ci sono solo potenze pari, quindi conviene chiamare $t$ il quadrato $z^2$: il polinomio diventa $t^2 + 10t + 9 = (t + 1)(t + 9)$, con radici $t = -1$ e $t = -9$. Tornando a $z$: $z^2 = -1$ dà $\pm i$, e $z^2 = -9$ dà $\pm 3i$. Controllo: $(3i)^2 = -9$ e $(3i)^4 = 81$, quindi $81 - 90 + 9 = 0$. La risposta più insidiosa è «non ha radici»: per $z$ reale il polinomio vale almeno 9, ma tra i complessi il teorema fondamentale garantisce quattro radici. $p(1 + i) = 5 + 20i$, non zero. Simile agli appelli del 07/09/2026 e del 10/07/2025, domanda 1. D: Quale dei seguenti è una radice di $p(z) = z^3 - 2z^2 + 4z - 8$? + $z = -2i$ - $z = -2$ - $z = 2 + 2i$ - $z = 4$ - $z = 1 - i$ = Si raccoglie a coppie: $z^3 - 2z^2 = z^2(z - 2)$ e $4z - 8 = 4(z - 2)$, quindi $p(z) = (z^2 + 4)(z - 2)$. Le radici sono 2 e quelle di $z^2 = -4$, cioè $\pm 2i$. Controllo: $(-2i)^3 = 8i$ e $(-2i)^2 = -4$, quindi $p(-2i) = 8i + 8 - 8i - 8 = 0$. La risposta più insidiosa è $-2$, che sembra l'opposto della radice reale 2; ma $p(-2) = -8 - 8 - 8 - 8 = -32$. Gli altri valori: $p(4) = 40$, $p(2 + 2i) = -16 + 8i$, $p(1 - i) = -6 - 2i$. Simile all'appello del 03/07/2026, domanda 7. D: Qual è il resto della divisione di $x^4 - 3x^2 + 2x - 1$ per $x + 1$? Scrivi un numero. N: -5 = Il resto della divisione per $x - a$ è il valore del polinomio in $a$. Qui il divisore è $x + 1$, cioè $x - (-1)$: quindi $a = -1$, e il resto è $p(-1) = 1 - 3 - 2 - 1 = -5$. Con Ruffini sui coefficienti $1, 0, -3, 2, -1$ e $a = -1$ si ottiene in basso $1, -1, -2, 4$ e resto $-5$: stesso risultato. L'errore tipico è usare $a = 1$, che dà $p(1) = -1$. D: Qual è la molteplicità della radice $1$ nel polinomio $x^4 - x^3 - 3x^2 + 5x - 2$? - $1$ - $2$ + $3$ - $4$ - $0$ = La molteplicità si trova dividendo per $x - 1$ finché 1 resta radice. Con Ruffini i quozienti sono $x^3 - 3x + 2$, poi $x^2 + x - 2$, poi $x + 2$; quest'ultimo in 1 vale 3, non zero, quindi ci si ferma. Tre divisioni: il polinomio è $(x - 1)^3(x + 2)$. La risposta 4 viene da chi pensa che una radice abbia sempre molteplicità uguale al grado; la risposta 1 da chi si ferma alla prima divisione. Riconoscere una radice multipla serviva anche nel problema 11 dell'appello del 15/01/2026, dove un determinante con parametro aveva una radice doppia. D: Quoziente e resto della divisione di $x^3 + 2x^2 - x + 3$ per $x^2 + 1$ sono: + $q(x) = x + 2$ e $r(x) = -2x + 1$ - $q(x) = x + 2$ e $r(x) = 1$ - $q(x) = x + 2$ e $r(x) = -2x + 5$ - $q(x) = x$ e $r(x) = 2x^2 - 2x + 3$ - $q(x) = x + 2$ e $r(x) = -2x - 1$ = Primo passo: $x^3$ diviso $x^2$ fa $x$; togliendo $x(x^2 + 1) = x^3 + x$ resta $2x^2 - 2x + 3$. Secondo passo: $2x^2$ diviso $x^2$ fa 2; togliendo $2(x^2 + 1) = 2x^2 + 2$ resta $-2x + 1$, di grado 1, più basso di 2: fine. La risposta più insidiosa è la quarta: $x \cdot (x^2 + 1) + (2x^2 - 2x + 3)$ ridà davvero il dividendo, ma quel «resto» ha grado 2, uguale al divisore, quindi la divisione non è finita. Le altre hanno sbagliato un segno nelle sottrazioni. D: Un polinomio a coefficienti **reali** di grado $4$ ha le radici $1 + i$ e $2i$. Quali sono le altre due radici? + $1 - i$ e $-2i$ - $-1 - i$ e $-2i$ - $-1 + i$ e $2$ - $1 - i$ e $2$ - Non si può dire nulla senza conoscere i coefficienti. = I numeri del polinomio sono reali, quindi per la Proposizione 4.11 anche i coniugati sono radici: il coniugato di $1 + i$ è $1 - i$, quello di $2i$ è $-2i$. Sono quattro radici diverse, e un polinomio di grado 4 non ne ha altre. La risposta più insidiosa è $-1 - i$ e $-2i$: $-1 - i$ è l'opposto di $1 + i$, non il coniugato (il coniugato cambia segno solo alla parte immaginaria). Il polinomio monico è $(x^2 - 2x + 2)(x^2 + 4) = x^4 - 2x^3 + 6x^2 - 8x + 8$. D: In quale di questi polinomi il numero $2$ è radice con molteplicità **esattamente** $2$? + $(x - 2)^2(x + 2)$ - $(x^2 - 4)(x + 2)$ - $(x - 2)^3$ - $x^2 + 4$ - $x^2(x - 2)$ = La molteplicità di 2 è l'esponente del fattore $x - 2$ quando il polinomio è scomposto. Nella prima risposta è 2. La risposta più insidiosa è $(x^2 - 4)(x + 2)$: scomponendo $x^2 - 4 = (x - 2)(x + 2)$ diventa $(x - 2)(x + 2)^2$, quindi è $-2$ ad essere doppia, mentre 2 è semplice. In $(x - 2)^3$ la molteplicità è 3, in $x^2(x - 2)$ è 1. $x^2 + 4$ in 2 vale 8, quindi 2 non è nemmeno radice. D: Quale di questi polinomi appartiene a $\R_2[x]$? + $(x + 1)^2 - x^2$ - $x^3 - 1$ - $ix + 1$ - $(x - 1)(x^2 + 1)$ - $\frac 1x + x$ = $\R_2[x]$ sono i polinomi con numeri reali e grado al massimo 2. La prima risposta sembra di grado 2, ma svolgendo diventa $2x + 1$, di grado 1: va bene. $x^3 - 1$ e $(x - 1)(x^2 + 1)$ hanno grado 3. $ix + 1$ ha un numero non reale, quindi sta in $\C_1[x]$ ma non in $\R_2[x]$. $\frac 1x + x$ non è nemmeno un polinomio, perché divide per la lettera. Lo spazio $\R_2[x]$ compare in molte domande sui sottospazi, per esempio negli appelli del 08/02/2024 e del 05/02/2026 (domanda 2). D: Le radici complesse di $z^2 - 2z + 5$ sono: + $1 \pm 2i$ - $-1 \pm 2i$ - $1 \pm 4i$ - $2 \pm 4i$ - non ci sono: $\Delta < 0$ = Con la formula: $\Delta = 4 - 20 = -16$, con radici quadrate $\pm 4i$, quindi $z_\pm = \frac{2 \pm 4i}2 = 1 \pm 2i$. La risposta più insidiosa è «non ci sono»: un $\Delta$ negativo vuol dire solo che non ci sono radici **reali**, mentre tra i complessi ci sono sempre. $-1 \pm 2i$ dimentica il segno meno davanti a $b$; $2 \pm 4i$ dimentica di dividere per 2. Simile all'appello del 02/09/2025 (domanda 4), dove due autovalori erano le radici complesse coniugate di $t^2 + 2t + 4$. D: Il polinomio $x^2 - (1 + i)x + i$ ha la radice $i$. Quale affermazione è vera? + L'altra radice è $1$, e $-i$ non è radice. - Anche $-i$ è radice, per la Proposizione 4.11. - $i$ è una radice doppia. - Ha tre radici, contate con molteplicità. - Non ha altre radici oltre a $i$. = Il prodotto delle due radici è il termine noto diviso il primo coefficiente, cioè $i$. Una radice è $i$, quindi l'altra è 1; infatti $(x - i)(x - 1) = x^2 - (1 + i)x + i$. La risposta più insidiosa è la seconda: la Proposizione 4.11 vale solo con numeri reali, e qui il coefficiente $1 + i$ non lo è. Infatti in $-i$ il polinomio vale $-2 + 2i$, non zero. Il grado è 2, quindi le radici contate con molteplicità sono esattamente due, non tre e non una. Anche nel problema 11 dell'appello del 03/06/2026 un polinomio a coefficienti complessi aveva $i$ e $-i$ come radici con molteplicità diverse. ``` ## Esercizi > [!NOTA] Gli esercizi di questa lezione > Le dispense non hanno una sezione di esercizi per la lezione 4: gli esercizi qui sotto sono stati scritti per questi appunti, gli ultimi due sul modello degli appelli. ::: esercizio base Riscaldamento: mettere un numero nella macchina Con $p(x) = x^2 - 3x + 1$, calcola $p(0)$, $p(2)$ e $p(-1)$. ::: soluzione 1. $p(0) = 0 - 0 + 1 = 1$. 2. $p(2) = 4 - 6 + 1 = -1$. 3. $p(-1) = (-1)^2 - 3 \cdot (-1) + 1 = 1 + 3 + 1 = 5$. Attenzione al terzo: $-3 \cdot (-1) = +3$. ::: ::: esercizio base Riscaldamento: leggere un polinomio Nel polinomio $5x^3 - 2x + x^4 - 1$ trova il grado, il termine noto e il coefficiente di $x^2$. ::: soluzione 1. Lo riordino dal grado più alto: $x^4 + 5x^3 + 0x^2 - 2x - 1$. 2. Il grado è 4. 3. Il termine noto è $-1$. 4. Il pezzo con $x^2$ manca: il suo coefficiente è 0. ::: ::: esercizio base Riscaldamento: due radici, due fattori Controlla che 3 e $-1$ sono radici di $x^2 - 2x - 3$ e scrivi il polinomio come prodotto di due fattori. ::: soluzione 1. Con 3: $9 - 6 - 3 = 0$. È radice. 2. Con $-1$: $1 + 2 - 3 = 0$. È radice. 3. Per la Proposizione 4.2 i fattori sono $x - 3$ e $x - (-1) = x + 1$: quindi $x^2 - 2x - 3 = (x - 3)(x + 1)$. Controllo: $(x - 3)(x + 1) = x^2 + x - 3x - 3 = x^2 - 2x - 3$. ::: ::: esercizio base Riscaldamento: un delta negativo Trova le radici complesse di $x^2 + 4x + 5$. ::: soluzione 1. $a = 1$, $b = 4$, $c = 5$. $\Delta = 16 - 20 = -4$. 2. Le radici quadrate di $-4$ sono $2i$ e $-2i$. 3. $x_\pm = \frac{-4 \pm 2i}2 = -2 \pm i$. Controllo con la somma: $(-2 + i) + (-2 - i) = -4$, che è $-\frac ba$. Le due radici sono coniugate, come deve essere con numeri reali. ::: ::: esercizio base Forma normale, grado e insiemi di polinomi Riduci in forma normale e trova il grado: (a) $(x + 1)^2 - (x - 1)^2$; (b) $(x^2 + 1)(x - 1) - x^3$; (c) $3x^2y - 2x^2y + xy - x^2y$. Poi di' se i polinomi (a) e (b) appartengono a $\R_1[x]$, a $\R_2[x]$, a $\C_2[x]$. ::: soluzione (a) Svolgo i due quadrati: $(x^2 + 2x + 1) - (x^2 - 2x + 1)$. I pezzi $x^2$ e i numeri 1 si cancellano; restano $2x + 2x = 4x$. Grado 1. (b) Prima il prodotto: $(x^2 + 1)(x - 1) = x^3 - x^2 + x - 1$. Poi tolgo $x^3$: resta $-x^2 + x - 1$. Grado 2. (c) I tre pezzi con $x^2y$ hanno coefficienti $3 - 2 - 1 = 0$ e spariscono. Resta $xy$, di grado $1 + 1 = 2$. Appartenenza: - (a) ha grado 1: sta in $\R_1[x]$, in $\R_2[x]$ e in $\C_2[x]$. - (b) ha grado 2: sta in $\R_2[x]$ e in $\C_2[x]$, ma non in $\R_1[x]$. Ogni $\R_k[x]$ sta dentro $\C_k[x]$ e dentro $\R_{k+1}[x]$. ::: ::: esercizio base Una divisione in colonna Dividi $x^4 - 1$ per $x^2 + x + 1$ e controlla il risultato. ::: soluzione Scrivo il dividendo con gli zeri: $x^4 + 0x^3 + 0x^2 + 0x - 1$. 1. $x^4$ diviso $x^2$ fa $x^2$. Moltiplico: $x^2(x^2 + x + 1) = x^4 + x^3 + x^2$. Tolgo: resta $-x^3 - x^2 + 0x - 1$. 2. $-x^3$ diviso $x^2$ fa $-x$. Moltiplico: $-x(x^2 + x + 1) = -x^3 - x^2 - x$. Tolgo: resta $x - 1$. 3. $x - 1$ ha grado 1, più basso di 2: mi fermo. Quoziente $q(x) = x^2 - x$, resto $r(x) = x - 1$. Controllo: $(x^2 - x)(x^2 + x + 1) = x^4 + x^3 + x^2 - x^3 - x^2 - x = x^4 - x$, e $x^4 - x + (x - 1) = x^4 - 1$. ::: ::: esercizio base Ruffini e scomposizione completa Verifica che $2$ è radice di $p(x) = x^4 - 5x^2 + 4$, dividi per $x - 2$ con Ruffini e scomponi $p(x)$ in fattori di primo grado. ::: soluzione 1. $p(2) = 16 - 20 + 4 = 0$: 2 è radice. 2. Ruffini sui coefficienti $1, 0, -5, 0, 4$ (attenzione ai due zeri) con $a = 2$: | | $1$ | $0$ | $-5$ | $0$ | $4$ | |---|--:|--:|--:|--:|--:| | $a = 2$ | | $2$ | $4$ | $-2$ | $-4$ | | | $1$ | $2$ | $-1$ | $-2$ | $0$ | 3. Quoziente $x^3 + 2x^2 - x - 2$, resto 0. 4. Raccolgo a coppie: $x^2(x + 2) - (x + 2) = (x + 2)(x^2 - 1) = (x + 2)(x - 1)(x + 1)$. Quindi $$x^4 - 5x^2 + 4 = (x - 2)(x + 2)(x - 1)(x + 1).$$ Si poteva anche partire da $t = x^2$: $t^2 - 5t + 4 = (t - 1)(t - 4)$, e poi $x^2 - 1$ e $x^2 - 4$ si scompongono come differenze di quadrati. ::: ::: esercizio medio Radici e molteplicità Trova tutte le radici di $p(x) = x^3 - 3x + 2$ con la loro molteplicità. ::: soluzione 1. I candidati interi sono i divisori di 2: $1, -1, 2, -2$. 2. $p(1) = 1 - 3 + 2 = 0$: 1 è radice. 3. Ruffini su $1, 0, -3, 2$ con $a = 1$: in basso $1, 1, -2$ e resto 0. Quoziente $x^2 + x - 2$. 4. Il quoziente in 1 vale $1 + 1 - 2 = 0$: 1 è ancora radice. Ruffini di nuovo: in basso $1, 2$ e resto 0. Quoziente $x + 2$. 5. $x + 2$ in 1 vale 3, non zero: mi fermo. Quindi $p(x) = (x - 1)^2(x + 2)$. La radice 1 ha molteplicità 2, la radice $-2$ ha molteplicità 1. Contate con molteplicità sono $2 + 1 = 3$ radici, quante il grado. È il polinomio del grafico nella sezione sulla molteplicità. ::: ::: esercizio medio Imporre una radice doppia Trova i numeri reali $a$ e $b$ per cui $(x - 1)^2$ divide $x^3 + ax + b$. ::: soluzione $(x - 1)^2$ divide il polinomio esattamente quando 1 è radice con molteplicità almeno 2: il polinomio si divide per $x - 1$ e anche il quoziente ha la radice 1. 1. Ruffini su $1, 0, a, b$ con 1: in basso $1$, $1$, $1 + a$ e resto $1 + a + b$. Il resto deve essere zero: $a + b = -1$. 2. Il quoziente è $x^2 + x + (1 + a)$, e deve fare zero in 1: $1 + 1 + 1 + a = 0$, cioè $a = -3$. 3. Allora $b = -1 - a = -1 + 3 = 2$. Il polinomio è $x^3 - 3x + 2 = (x - 1)^2(x + 2)$, quello dell'esercizio precedente. ::: ::: esercizio medio Un'equazione di secondo grado con coefficienti complessi Trova le radici di $z^2 + (2 - i)z - 2i$. ::: soluzione Qui $a = 1$, $b = 2 - i$, $c = -2i$. 1. $\Delta = (2 - i)^2 - 4(-2i) = (4 - 4i + i^2) + 8i = 3 - 4i + 8i = 3 + 4i$. 2. Le radici quadrate di $3 + 4i$: cerco $w = u + vi$ con $w^2 = u^2 - v^2 + 2uvi = 3 + 4i$, cioè $u^2 - v^2 = 3$ e $uv = 2$. Con $u = 2$ e $v = 1$ funziona: $(2 + i)^2 = 4 + 4i - 1 = 3 + 4i$. Quindi le radici quadrate sono $2 + i$ e $-(2 + i)$. 3. Con il più: $\frac{-(2 - i) + (2 + i)}2 = \frac{-2 + i + 2 + i}2 = \frac{2i}2 = i$. 4. Con il meno: $\frac{-(2 - i) - (2 + i)}2 = \frac{-2 + i - 2 - i}2 = \frac{-4}2 = -2$. Le radici sono $i$ e $-2$. Controllo: $(z - i)(z + 2) = z^2 + 2z - iz - 2i = z^2 + (2 - i)z - 2i$. Anche qui $-i$ non è radice: i numeri del polinomio non sono reali. ::: ::: esercizio medio Una biquadratica, scomposta in R e in C Trova le radici di $z^4 + 3z^2 - 4$ e scomponi il polinomio in fattori a coefficienti reali e poi in fattori di primo grado a coefficienti complessi. ::: soluzione 1. Con $t = z^2$: $t^2 + 3t - 4 = (t + 4)(t - 1)$, radici $t = -4$ e $t = 1$. 2. $z^2 = 1$ dà $z = 1$ e $z = -1$. $z^2 = -4$ dà $z = 2i$ e $z = -2i$. Le scomposizioni: - Con numeri reali: $z^4 + 3z^2 - 4 = (z^2 - 1)(z^2 + 4) = (z - 1)(z + 1)(z^2 + 4)$. Il fattore $z^2 + 4$ ha $\Delta = -16$, negativo, e tra i reali non si scompone ancora. - Con numeri complessi: $(z - 1)(z + 1)(z - 2i)(z + 2i)$. Quattro radici, come il grado; le due non reali sono coniugate, come vuole la Proposizione 4.11. ::: ::: esercizio difficile Tutte le radici, conoscendone una Sapendo che $i$ è radice di $p(x) = x^4 - 2x^3 + 6x^2 - 2x + 5$, trova tutte le radici. ::: soluzione 1. I numeri del polinomio sono reali, quindi per la Proposizione 4.11 anche $-i$ è radice. Allora $(x - i)(x + i) = x^2 + 1$ divide $p(x)$. 2. Divido per $x^2 + 1$ in colonna. - $x^4$ diviso $x^2$ fa $x^2$; tolgo $x^2(x^2 + 1) = x^4 + x^2$: resta $-2x^3 + 5x^2 - 2x + 5$. - $-2x^3$ diviso $x^2$ fa $-2x$; tolgo $-2x(x^2 + 1) = -2x^3 - 2x$: resta $5x^2 + 5$. - $5x^2$ diviso $x^2$ fa 5; tolgo $5(x^2 + 1)$: resta 0. Quoziente $x^2 - 2x + 5$. 3. $x^2 - 2x + 5$: $\Delta = 4 - 20 = -16$, radici $\frac{2 \pm 4i}2 = 1 \pm 2i$. Le radici sono $i$, $-i$, $1 + 2i$, $1 - 2i$, e $p(x) = (x^2 + 1)(x^2 - 2x + 5)$. Controllo: $(x^2 + 1)(x^2 - 2x + 5) = x^4 - 2x^3 + 5x^2 + x^2 - 2x + 5 = x^4 - 2x^3 + 6x^2 - 2x + 5$. ::: ::: esercizio difficile Costruire un polinomio dalle radici Trova il polinomio **monico** a coefficienti reali di grado $3$ che ha le radici $2$ e $1 + i$. È unico? ::: soluzione 1. I numeri devono essere reali, quindi anche il coniugato $1 - i$ è radice. 2. Un polinomio di grado 3 ha esattamente tre radici contate con molteplicità (teorema fondamentale): sono 2, $1 + i$, $1 - i$. 3. «Monico» vuol dire che il numero davanti al grado più alto è 1. Il polinomio è il prodotto dei fattori: $$(x - 2)(x - 1 - i)(x - 1 + i).$$ 4. I due fattori complessi: $(x - 1 - i)(x - 1 + i) = (x - 1)^2 - i^2 = (x - 1)^2 + 1 = x^2 - 2x + 2$. Qui ho usato il prodotto notevole «somma per differenza», con $x - 1$ al posto della prima lettera. 5. Il prodotto finale: $(x - 2)(x^2 - 2x + 2) = x^3 - 2x^2 + 2x - 2x^2 + 4x - 4 = x^3 - 4x^2 + 6x - 4$. È unico: le tre radici sono obbligate, e un polinomio monico è il prodotto dei fattori $x$ meno radice. ::: ::: esercizio difficile Un resto senza fare la divisione Trova il resto della divisione di $p(x) = x^{100} + 1$ per $x^2 - 1$. ::: soluzione 1. Il divisore ha grado 2, quindi il resto ha grado al massimo 1: lo scrivo $r(x) = ax + b$, con $a$ e $b$ da trovare. 2. La divisione dice $$x^{100} + 1 = q(x)(x^2 - 1) + ax + b.$$ 3. Metto al posto di $x$ i numeri che annullano il divisore, così il pezzo con $q(x)$ sparisce. - Con $x = 1$: $1 + 1 = 0 + a + b$, cioè $a + b = 2$. - Con $x = -1$: $(-1)^{100} + 1 = 2$, e a destra $-a + b$. Quindi $-a + b = 2$. 4. Sommo le due uguaglianze: $2b = 4$, quindi $b = 2$. Poi $a = 2 - b = 0$. Il resto è il numero $r(x) = 2$. È la stessa idea della dimostrazione della Proposizione 4.2: si mette un valore che annulla il divisore. ::: ::: esercizio esame Come all'esame: un determinante con parametro In un problema d'esame il determinante di una matrice che dipende da un parametro reale $k$ vale $-k^3 + 3k + 2$. Per quali valori di $k$ il determinante è diverso da zero? Quale valore di $k$ è radice doppia? ::: soluzione 1. **Cerco una radice** tra i divisori del termine noto 2: $1, -1, 2, -2$. Con $k = 2$: $-8 + 6 + 2 = 0$. Quindi $(k - 2)$ divide il polinomio. 2. **Ruffini** sui coefficienti $-1, 0, 3, 2$ con $a = 2$: abbasso $-1$; $-1 \cdot 2 = -2$ e $0 - 2 = -2$; $-2 \cdot 2 = -4$ e $3 - 4 = -1$; $-1 \cdot 2 = -2$ e $2 - 2 = 0$. Quoziente $-k^2 - 2k - 1 = -(k + 1)^2$. 3. **Scomposizione**: $-k^3 + 3k + 2 = -(k - 2)(k + 1)^2$. 4. **Conclusione**: il determinante fa zero solo per $k = 2$ e $k = -1$, ed è diverso da zero per tutti gli altri valori di $k$. La radice $-1$ è doppia. Controllo con $k = -1$: $-(-1)^3 + 3 \cdot (-1) + 2 = 1 - 3 + 2 = 0$. È lo schema del problema 11 dell'appello del 15/01/2026, dove il determinante era un altro polinomio di terzo grado in $k$ con una radice doppia: si trova una radice a occhio, si divide, si scompone il secondo grado. ::: ::: esercizio esame Come all'esame: quale è una radice Quale dei seguenti è una radice di $p(z) = z^4 - 2z^2 - 8$? (a) $z = i\sqrt 2$; (b) $z = 2i$; (c) $z = \sqrt 2$; (d) $z = 1 + i$; (e) il polinomio non ha radici. ::: soluzione **Scomponendo.** Con $t = z^2$: $t^2 - 2t - 8 = (t - 4)(t + 2)$. Quindi $z^2 = 4$ oppure $z^2 = -2$: le radici sono $2$, $-2$, $i\sqrt 2$ e $-i\sqrt 2$. Risposta (a). **Provando le risposte.** - (a) $(i\sqrt 2)^2 = -2$ e $(i\sqrt 2)^4 = 4$: $4 + 4 - 8 = 0$. - (b) $(2i)^2 = -4$ e $(2i)^4 = 16$: $16 + 8 - 8 = 16$. - (c) $(\sqrt 2)^2 = 2$ e $(\sqrt 2)^4 = 4$: $4 - 4 - 8 = -8$. - (d) $(1 + i)^2 = 2i$ e $(1 + i)^4 = (2i)^2 = -4$: $-4 - 4i - 8 = -12 - 4i$. - (e) è falsa per il teorema fondamentale. Anche così la risposta è la (a). ::: ## Domande di ripasso ::: domanda Che cos'è il grado di un polinomio? Perché bisogna prima ridurlo in forma normale? È l'esponente più alto tra i suoi pezzi, quando il polinomio è in forma normale: ogni parte letterale una volta sola e nessun coefficiente zero. Prima bisogna ridurlo perché dei pezzi possono cancellarsi: $(x + 1)^2 - x^2 = 2x + 1$ ha grado 1. ::: ::: domanda Che cosa sono $\R[x]$, $\C[x]$ e $\R_k[x]$? I polinomi nella lettera $x$ con numeri reali, con numeri complessi, e con numeri reali e grado al massimo $k$. $\R_2[x]$ contiene anche i numeri da soli e il polinomio zero. ::: ::: domanda Che cosa dice la divisione con resto tra polinomi? Che dividendo per un polinomio diverso da zero ci sono sempre un quoziente e un resto, e sono di un solo tipo: dividendo uguale quoziente per divisore più resto, con il resto di grado più basso del divisore. È come $44 = 7 \cdot 6 + 2$. ::: ::: domanda Quando un polinomio $d(x)$ divide $p(x)$? Fai un esempio. Quando la divisione viene esatta, con resto zero: $p(x)$ è $d(x)$ per un altro polinomio. Per esempio $x + 1$ divide $x^3 + 1$, perché $x^3 + 1 = (x^2 - x + 1)(x + 1)$. ::: ::: domanda Che cos'è una radice di un polinomio? Un numero che, messo al posto di $x$, fa uscire zero: una soluzione dell'equazione $p(x) = 0$ (Definizione 4.1). Può essere reale o complessa. ::: ::: domanda Che cosa dice la Proposizione 4.2 e perché è vera? Dice che $a$ è radice esattamente quando $x - a$ divide il polinomio. Il motivo: dividendo per $x - a$ il resto è un numero solo, e mettendo $a$ al posto di $x$ si vede che quel resto è proprio $p(a)$. Quindi $p(a)$ è zero esattamente quando il resto è zero. ::: ::: domanda Quanto vale il resto della divisione di $p(x)$ per $x - a$? Vale $p(a)$. Per esempio il resto di $2x^3 - 3x^2 + 4x - 5$ diviso $x - 2$ è $p(2) = 16 - 12 + 8 - 5 = 7$. ::: ::: domanda Che cos'è la molteplicità di una radice e come si calcola? È il numero di volte in cui il fattore $x - a$ ci sta nel polinomio (Definizione 4.3). Si calcola dividendo per $x - a$ più volte, finché $a$ non è più radice del quoziente. ::: ::: domanda Quante radici può avere un polinomio di grado $n \ge 1$? E nei complessi? Al massimo $n$, contate con la molteplicità (Teorema 4.6). Tra i complessi esattamente $n$ (Teorema 4.8, teorema fondamentale dell'algebra). ::: ::: domanda Come si risolve un'equazione di secondo grado nei complessi? Con la solita formula: meno $b$, più o meno la radice di $\Delta$, tutto diviso $2a$. Al posto della radice di $\Delta$ si usano le sue due radici quadrate complesse (Esempio 4.9). Per esempio le radici di $x^2 + 2x + 5$ sono $-1 \pm 2i$. ::: ::: domanda Che cosa dice la Proposizione 4.11? Perché servono coefficienti reali? Se i numeri del polinomio sono reali e $z$ è una radice, anche il coniugato di $z$ lo è. Nella dimostrazione si coniuga tutta l'uguaglianza $p(z) = 0$ e si usa che i coefficienti non cambiano coniugandoli: questo vale solo se sono reali. Per esempio $x^2 + (1 - i)x - i$ ha la radice $i$ ma non $-i$. ::: ::: domanda Perché un polinomio reale di grado dispari ha almeno una radice reale? Perché ha in tutto un numero dispari di radici complesse, e quelle non reali vengono a coppie, quindi sono in numero pari. Almeno una deve restare fuori dalle coppie: è reale. ::: ## Glossario ```glossario Monomio | Un numero moltiplicato per delle lettere con esponenti interi, come $-2xy$. Il grado è la somma degli esponenti. Polinomio | Una somma di monomi, come $x^2 - 3$. Funziona come una macchina: metti un numero al posto della lettera ed esce un numero. Forma normale | La scrittura di un polinomio con ogni parte letterale una volta sola e nessun coefficiente zero, oppure il polinomio 0. Grado | L'esponente più alto di un polinomio in forma normale. $x^3 - 2x + 5$ ha grado 3. Termine noto | Il numero da solo, senza lettera: in $x^2 - 3$ è $-3$. Polinomio monico | Un polinomio in cui il numero davanti alla potenza più alta è 1, come $x^2 + 3x$. $\R[x]$, $\C[x]$ | I polinomi nella lettera $x$ con numeri reali, oppure complessi. $\R_k[x]$ | I polinomi reali di grado al massimo $k$, compresi i numeri da soli e il polinomio zero. Divisione con resto | Dividendo uguale quoziente per divisore più resto, con il resto di grado più basso del divisore. Divisibilità | Un polinomio ne divide un altro quando la divisione viene esatta, con resto zero. Si scrive con la barretta $\mid$. Regola di Ruffini | Una tabella con i soli coefficienti per dividere per $x - a$. L'ultimo numero è il resto, uguale a $p(a)$. Radice | Un numero che, messo al posto di $x$, fa uscire zero (Definizione 4.1). Molteplicità | Quante volte il fattore $x - a$ ci sta nel polinomio (Definizione 4.3). Una radice può essere semplice, doppia, tripla. Discriminante | Il numero $\Delta = b^2 - 4ac$ di un polinomio di secondo grado. Tra i reali decide quante radici ci sono. Teorema fondamentale dell'algebra | Tra i numeri complessi un polinomio di grado $n$ ha esattamente $n$ radici, contate con la molteplicità (Teorema 4.8). Radici coniugate | Se i numeri del polinomio sono reali e $z$ è radice, anche il coniugato di $z$ lo è (Proposizione 4.11). Equazione biquadratica | Un'equazione con solo potenze pari, come $z^4 + 5z^2 + 4 = 0$. Si risolve chiamando $t$ il quadrato $z^2$. ``` ## Checklist ```checklist - So ridurre un polinomio in forma normale, leggerne il grado e dire se sta in $\R_k[x]$ o in $\C_k[x]$. - So fare la divisione in colonna tra polinomi, con gli zeri al posto giusto, e controllarla. - So usare la regola di Ruffini, anche per dividere per $x + a$. - So spiegare la Proposizione 4.2 e so che il resto della divisione per $x - a$ è $p(a)$. - So scomporre un polinomio trovando una radice tra i divisori del termine noto e dividendo. - So calcolare la molteplicità di una radice con divisioni ripetute. - So dire la differenza tra «al massimo $n$ radici» ed «esattamente $n$ radici» e quando vale ciascuna. - So risolvere un'equazione di secondo grado nei complessi, anche con $\Delta$ complesso. - So usare la Proposizione 4.11 e so che vale solo con numeri reali. - So rispondere alle domande «quale è una radice» provando le risposte o con il trucco $t = z^2$. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 4 «Polinomi», pp. 15–19: le sezioni 4.A–4.E sono seguite in ordine, con la pagina accanto a ogni titolo; le Definizioni 4.1 e 4.3, le Proposizioni 4.2 e 4.11, i Teoremi 4.6 e 4.8 e gli Esempi 4.4, 4.5, 4.7, 4.9 e 4.10 mantengono la loro numerazione. Le dispense non hanno esercizi per questa lezione. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §1.3 (pp. 21–25, con la Proposizione 1.3.8 sulla formula del secondo grado) e §1.4.7–1.4.8 (pp. 31–33: Teorema 1.4.7, Corollari 1.4.8, 1.4.10 e 1.4.12, Proposizione 1.4.13). - **Appelli d'esame** (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): domanda 1 del 07/09/2026, domanda 1 del 10/07/2025 e domanda 7 del 03/07/2026, riportate con soluzioni scritte per questi appunti; la tabella degli altri usi dei polinomi negli appelli ne indica solo il tipo. Regole d'esame 2025/26 e date 2026/27 come nella lezione L01. - Le parti **«Oltre le dispense»** (la regola di Ruffini, il grado dei prodotti, le radici razionali, il grafico e la molteplicità, la dimostrazione della formula del secondo grado, le conseguenze della Proposizione 4.11, tutti gli esercizi) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L05_spazi_vettoriali_1.md` ```yaml corso: MDAG modulo: AG lezione: L05 titolo: Spazi vettoriali I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L05 descrizione: >- Appunti della lezione L05 di Algebra lineare e Geometria (MDAG, parte 2): lo spazio euclideo, somma di vettori e prodotto per scalare, gruppi, campi, definizione di spazio vettoriale ed esempi (polinomi, funzioni, successioni), con quiz nello stile dell'esame ed esercizi svolti. lede: >- Che cos'è un vettore: una lista di numeri, da leggere come uno spostamento su una mappa a quadretti. Impari a sommare due vettori e a moltiplicarli per un numero. Poi vedi che le stesse regole valgono anche per i polinomi e per le funzioni: ogni posto in cui valgono si chiama spazio vettoriale. materiale: dispense scheda: Dispense: lezione 5 · pp. 20–25 Libro: Martelli, §1.5, §2.1 e §2.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 5 «Spazi vettoriali I»; B. Martelli, Geometria e algebra lineare, §1.5, §2.1 e §2.2.1–2.2.4 appunti_html: appunti/MDAG/L05_spazi_vettoriali_1.html genera_html: true ``` ## In breve - Un **vettore** è una lista ordinata di numeri, come $(3, 2)$. Puoi leggerlo come uno spostamento su una mappa a quadretti: 3 passi a destra e 2 in su. - I vettori si **sommano** numero per numero: è come fare uno spostamento dopo l'altro. Si **moltiplicano per un numero** moltiplicando ogni numero della lista: è come ripetere lo stesso spostamento, oppure farlo al contrario. - Queste due operazioni seguono otto regole, simili a quelle dei conti con i numeri. Un insieme in cui si può sommare e moltiplicare per un numero con queste regole, senza mai uscire, si chiama **spazio vettoriale**. - Anche i polinomi, le funzioni e le liste infinite di numeri formano spazi vettoriali. Per questo in matematica si chiamano «vettori» anche loro. - Ci sono **due zeri** diversi: il numero zero e il vettore zero, quello che non sposta niente. Qualunque vettore moltiplicato per il numero zero dà il vettore zero. - **Gruppo** e **campo** sono i nomi di due liste di regole. Servono a scrivere la definizione in modo preciso: è la parte più teorica della lezione. - All'esame devi saper dire se un insieme è uno spazio vettoriale. Per dire di no basta un esempio: manca il vettore zero, oppure una somma o un multiplo escono dall'insieme. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Un vettore è una lista di numeri (pp. 20–21) Immagina una mappa a quadretti, come un foglio di quaderno. Sei fermo su un incrocio e devi spiegare a un amico dove andare. Gli dici: «3 quadretti a destra e 2 in su». Bastano due numeri: il 3 e il 2. In matematica si scrivono tra parentesi tonde, separati da una virgola: $$(3, 2)$$ Questa lista di due numeri è un **vettore**. Si legge «tre, due». ```grafico titolo: Il vettore $(3, 2)$ è lo spostamento «3 a destra e 2 in su» x: -1 5 y: -1 4 segmento: 0 0 3 0 | blu | tratteggio segmento: 3 0 3 2 | blu | tratteggio vettore: 3 2 | accento | spesso | $(3, 2)$ | n testo: 1.5 -0.4 | blu | "3 a destra" testo: 3.8 1 | blu | "2 in su" ``` Guarda la figura. I due tratti blu sono i passi: prima 3 a destra, poi 2 in su. La freccia va dritta dalla partenza all'arrivo. È il disegno del vettore. ### L'ordine conta Il primo numero dice sempre quanto ti muovi in orizzontale. Il secondo dice quanto ti muovi in verticale. Quindi $(3, 2)$ e $(2, 3)$ sono due vettori diversi. Il secondo vuol dire «2 a destra e 3 in su», e ti porta in un altro posto. I numeri possono essere anche negativi, oppure zero. Un numero negativo al primo posto vuol dire «a sinistra». Un numero negativo al secondo posto vuol dire «in giù». | Vettore | Spostamento | |---|---| | $(3, 2)$ | 3 a destra, 2 in su | | $(-3, 1)$ | 3 a sinistra, 1 in su | | $(2, -4)$ | 2 a destra, 4 in giù | | $(0, 5)$ | fermo in orizzontale, 5 in su | | $(0, 0)$ | resti dove sei | > [!RIPASSO] il piano cartesiano > Il **piano cartesiano** è la mappa a quadretti con due righe di riferimento. Una è orizzontale e si chiama *asse $x$*. L'altra è verticale e si chiama *asse $y$*. Il punto in cui si incrociano si chiama **origine**. > > Ogni punto della mappa si indica con due numeri. Il primo dice quanti passi fare dall'origine in orizzontale. Il secondo dice quanti passi fare in verticale. > > Per esempio il punto $(2, 3)$ si raggiunge così: dall'origine fai 2 passi a destra e 3 passi in su. ### I nomi: coordinate e spazio euclideo I numeri che formano un vettore si chiamano **coordinate**. Le dispense li chiamano anche *componenti*. Il vettore $(3, 2)$ ha due coordinate: la prima è 3, la seconda è 2. Tutti i vettori con due coordinate, messi insieme, formano un insieme. Si indica con $\R^2$ e si legge «erre due». - La $\R$ è l'insieme dei **numeri reali**: tutti i numeri della retta, anche quelli con la virgola (lezione L01). - Il piccolo 2 in alto dice quanti numeri ci sono in ogni lista. Per dire che un vettore sta in questo insieme si usa il simbolo $\in$ della lezione L01. Si legge «appartiene a». $$(3, 2) \in \R^2$$ Vuol dire: «tre, due» è una lista di 2 numeri reali. Una lista può avere anche tre numeri, come $(1, 4, 2)$. Serve per muoversi in una stanza invece che su un foglio: 1 passo a destra, 4 passi in avanti, 2 passi verso l'alto. L'insieme delle liste di tre numeri si chiama $\R^3$, «erre tre». Il simbolo di prima con una sbarra sopra, $\notin$, si legge «non appartiene a». Per esempio $(3, 2) \notin \R^3$: la lista ha due numeri, non tre. E si può andare avanti. Una lista di quattro numeri, come $(1, 0, -2, 5)$, è un vettore di $\R^4$. Non si può più disegnare, perché manca una quarta direzione in cui muoversi. Ma i conti si fanno nello stesso modo, e per il corso è questo che conta. In generale il numero di coordinate si indica con la lettera $n$. L'insieme delle liste di $n$ numeri reali si scrive $\R^n$ e si legge «erre enne». Si chiama **spazio euclideo**. Con $n = 2$ è il piano, con $n = 3$ è lo spazio. ### Dare un nome a un vettore e alle sue coordinate Per non riscrivere ogni volta tutta la lista, a un vettore si dà un nome: una lettera minuscola, come $x$, $v$ o $w$. $$x = (3, 2)$$ Le coordinate prendono il nome del vettore, con un numerino in basso che dice il posto. Il numerino si chiama **indice**. - $x_1$ si legge «ics uno»: è la prima coordinata. Qui $x_1 = 3$. - $x_2$ si legge «ics due»: è la seconda coordinata. Qui $x_2 = 2$. Per un vettore con $n$ coordinate le dispense scrivono $(x_1, \dots, x_n)$. Vuol dire: una lista di numeri. Il primo si chiama $x_1$ e l'ultimo $x_n$. I tre puntini stanno per tutti quelli in mezzo. Il vettore fatto di soli zeri ha un nome: **origine**. Sulla mappa è lo spostamento «resta dove sei». Si indica con $0$, oppure con la lettera $O$. ### Come lo scrivono le dispense Ecco la definizione con le parole delle dispense. > [!DEF] 5.1 · Spazio euclideo > Sia $n \ge 1$ un numero naturale. Lo **spazio euclideo $n$-dimensionale** è l'insieme > $$\R^n = \underbrace{\R \times \cdots \times \R}_{n \text{ volte}}.$$ > I suoi elementi sono successioni $(x_1, \dots, x_n)$ di $n$ numeri reali. **Come si legge.** Un pezzo alla volta: - $n \ge 1$ si legge «enne maggiore o uguale a 1». La lettera $n$ è il numero di coordinate, e deve essere almeno 1. - «$n$-dimensionale» vuol dire «con $n$ coordinate». Il piano ha 2 dimensioni, lo spazio ne ha 3. - Il simbolo $\times$ qui non è una moltiplicazione tra numeri. La scrittura $\R \times \R$ si legge «erre per erre» e indica tutte le coppie ordinate di numeri reali. Si chiama **prodotto cartesiano**. - La graffa orizzontale con la scritta «$n$ volte» dice che la $\R$ è ripetuta $n$ volte. Con tre $\R$ si ottengono le liste di tre numeri. - Qui «successioni» vuol dire liste **finite e ordinate** di numeri. Nella lezione L01 la stessa parola indicava liste infinite. Tutta insieme: «$\R^n$ è l'insieme delle liste ordinate di $n$ numeri reali». ### Punto o vettore? La stessa lista di numeri si può disegnare in due modi. - Come un **punto**: il posto della mappa in cui arrivi. - Come un **vettore**: la freccia che parte dall'origine e arriva in quel posto. È lo spostamento. Sono due disegni della stessa lista. Di solito si usano le lettere maiuscole $P$ e $Q$ quando si pensa ai punti, e le minuscole $v$ e $w$ quando si pensa ai vettori. ```grafico titolo: Due elementi di $\R^2$: $(2, 3)$ disegnato come punto e $(-3, 1)$ disegnato come vettore x: -4 4 y: -1 4 punto: 2 3 | ambra | $P = (2, 3)$ | e vettore: -3 1 | accento | spesso | $v = (-3, 1)$ | n ``` Guarda la figura. A destra c'è un pallino: è la lista «due, tre» disegnata come punto. A sinistra c'è una freccia: è la lista «meno tre, uno» disegnata come vettore. Nelle dispense la freccia di un vettore parte sempre dall'origine. ### Scrivere un vettore in verticale Le dispense scrivono spesso i vettori in verticale, con i numeri uno sotto l'altro: $$\begin{pmatrix} 3 \\ 2 \end{pmatrix}$$ È lo stesso vettore di prima: in alto la prima coordinata, sotto la seconda. Scritto così si chiama **vettore colonna**. Per un vettore con $n$ coordinate le dispense scrivono: $$x = \begin{pmatrix} x_1 \\ \vdots \\ x_n \end{pmatrix}$$ I tre puntini in verticale vogliono dire «e avanti così, fino all'ultima coordinata». Il motivo della scrittura in verticale si capisce con il prodotto tra matrici, nella lezione L08. In questi appunti i vettori compaiono spesso in riga, come $(1, 2, 3)$, per occupare meno spazio. È lo stesso vettore. > [!NOTA] La scrittura degli appelli > Negli appelli un vettore colonna scritto in riga compare spesso come ${}^t(1, 2, 3)$, con una piccola $t$ in alto a sinistra. La $t$ sta per «trasposto» e vuol dire «questa riga, messa in verticale». La trasposta si vede nella lezione L08. > [!TRAPPOLA] Mai le graffe per un vettore > La scrittura $\{3, 2\}$ con le graffe indica un insieme, e in un insieme l'ordine non conta (lezione L01). In un vettore l'ordine conta: per questo si usano sempre le parentesi tonde. ::: prova Che spostamento indica il vettore $(-1, 4)$? E il vettore $(0, -2)$? $(-1, 4)$: 1 passo a sinistra e 4 in su. Il primo numero è negativo, quindi si va a sinistra. $(0, -2)$: fermo in orizzontale e 2 passi in giù. ::: ::: prova Se $x = (7, 0, -2)$, quanto valgono $x_1$ e $x_3$? $x_1 = 7$: è la prima coordinata. $x_3 = -2$: è la terza. ::: > [!RICORDA] > - Un **vettore** è una lista ordinata di numeri, scritta con le parentesi tonde. I numeri si chiamano **coordinate**. > - Nel piano si legge come uno spostamento: il primo numero è «a destra», il secondo «in su». Con il segno meno il verso è quello contrario. > - $\R^n$ è l'insieme delle liste di $n$ numeri reali. $\R^2$ è il piano, $\R^3$ lo spazio. > - La lista di soli zeri si chiama **origine**. ## Sommare: uno spostamento dopo l'altro (pp. 20–21) Fai due spostamenti di fila sulla mappa. - Primo spostamento: 1 a destra e 2 in su. È il vettore $(1, 2)$. - Secondo spostamento: 3 a destra e 1 in su. È il vettore $(3, 1)$. Di quanto ti sei spostato in tutto? Conta i passi in orizzontale e quelli in verticale, separati. - In orizzontale: $1 + 3 = 4$ passi a destra. - In verticale: $2 + 1 = 3$ passi in su. In tutto ti sei spostato di 4 a destra e 3 in su. Questo spostamento totale è la **somma** dei due vettori: $$(1, 2) + (3, 1) = (1 + 3,\ 2 + 1) = (4, 3)$$ > [!IDEA] > Sommare due vettori vuol dire fare uno spostamento dopo l'altro. Il conto si fa un posto alla volta: il primo numero con il primo, il secondo con il secondo. Le dispense dicono che la somma si fa **componente per componente**. È la stessa cosa: una coordinata alla volta. ```grafico titolo: Prima lo spostamento $v = (1, 2)$, poi $w = (3, 1)$: l'arrivo è $(4, 3)$ x: -1 5 y: -1 4 vettore: 4 3 | ambra | tratteggio | $v + w = (4, 3)$ | n vettore: 1 2 | accento | spesso freccia: 1 2 4 3 | blu | spesso testo: 0.2 1.3 | accento | $v$ testo: 2.4 2.9 | blu | $w$ ``` Guarda la figura. La prima freccia, $v$, parte dall'origine. La seconda, $w$, è disegnata a partire dalla punta della prima. La freccia tratteggiata va dall'origine al punto di arrivo: è la somma. ### Cambiando l'ordine si arriva nello stesso posto Fai i due spostamenti nell'ordine contrario: prima quello da 3 a destra e 1 in su, poi quello da 1 a destra e 2 in su. - In orizzontale: $3 + 1 = 4$. - In verticale: $1 + 2 = 3$. Arrivi nello stesso punto. Hai solo fatto un'altra strada. Le due strade insieme disegnano un **parallelogramma**, cioè una figura con quattro lati, paralleli a due a due. La somma è la diagonale che parte dall'origine. Per questo la somma di due vettori del piano si chiama anche **regola del parallelogramma**. In fisica si usa per sommare due forze. ```grafico titolo: La somma $v + w$ è la diagonale del parallelogramma costruito su $v = (1, 2)$ e $w = (3, 1)$ x: -1 5 y: -1 4 poligono: 0 0 1 2 4 3 3 1 | ambra | tenue segmento: 1 2 4 3 | blu | tratteggio segmento: 3 1 4 3 | accento | tratteggio vettore: 4 3 | ambra | spesso | $v + w = (4, 3)$ | n vettore: 1 2 | accento | spesso | $v$ | no vettore: 3 1 | blu | spesso | $w$ | se ``` Guarda la figura. Le due frecce piene sono i due vettori, disegnati dall'origine. I lati tratteggiati sono gli stessi spostamenti fatti per secondi. La diagonale arriva nel punto «quattro, tre». ### Un esempio con quattro coordinate Con liste più lunghe il disegno non c'è più, ma il conto è lo stesso. > [!ESEMPIO] · somme in $\R^2$ e in $\R^4$ > **Con due coordinate**, scrivendo i vettori in colonna. Si somma riga per riga: > $$\begin{pmatrix} 1 \\ 2 \end{pmatrix} + \begin{pmatrix} 3 \\ 1 \end{pmatrix} = \begin{pmatrix} 1 + 3 \\ 2 + 1 \end{pmatrix} = \begin{pmatrix} 4 \\ 3 \end{pmatrix}$$ > > **Con quattro coordinate.** Vogliamo sommare $(1, 0, -2, 5)$ e $(3, 1, 2, -5)$. Un posto alla volta: > > | Posto | Primo vettore | Secondo vettore | Somma | > |---|---|---|---| > | 1 | $1$ | $3$ | $1 + 3 = 4$ | > | 2 | $0$ | $1$ | $0 + 1 = 1$ | > | 3 | $-2$ | $2$ | $-2 + 2 = 0$ | > | 4 | $5$ | $-5$ | $5 - 5 = 0$ | > > Quindi la somma è $(4, 1, 0, 0)$. ### Come lo scrivono le dispense Ecco la stessa regola con le lettere al posto dei numeri. > [!DEF] Somma di vettori (p. 20) > Lo spazio $\R^n$ è dotato di una somma definita **componente per componente**: se > $$x = \begin{pmatrix} x_1 \\ \vdots \\ x_n \end{pmatrix}, \qquad y = \begin{pmatrix} y_1 \\ \vdots \\ y_n \end{pmatrix}, \qquad \text{allora} \qquad x + y = \begin{pmatrix} x_1 + y_1 \\ \vdots \\ x_n + y_n \end{pmatrix}.$$ **Come si legge.** - Le lettere $x$ e $y$ sono i nomi di due vettori con $n$ coordinate, scritti in colonna. - In alto nella colonna della somma c'è $x_1 + y_1$: la prima coordinata dell'uno più la prima coordinata dell'altro. - In basso c'è $x_n + y_n$: l'ultima più l'ultima. - I puntini in mezzo dicono che si fa così per tutte le altre coordinate. > [!TRAPPOLA] Solo vettori con lo stesso numero di coordinate > Si sommano solo vettori lunghi uguale. La scrittura $(1, 2) + (1, 2, 3)$ non ha senso: al terzo numero del secondo vettore manca il compagno. ::: prova Quanto fa $(2, 5) + (1, -3)$? Un posto alla volta: $(2 + 1,\ 5 - 3) = (3, 2)$. ::: ::: prova Quanto fa $(1, 0, 4) + (2, 2, -4)$? $(1 + 2,\ 0 + 2,\ 4 - 4) = (3, 2, 0)$. ::: ::: prova Parti dall'origine. Fai lo spostamento $(2, 1)$ e poi lo spostamento $(-2, 3)$. Dove arrivi? Sommi i due vettori: $(2 - 2,\ 1 + 3) = (0, 4)$. Sei 4 quadretti sopra il punto di partenza: i passi a destra e quelli a sinistra si sono annullati. ::: > [!RICORDA] > - Sommare due vettori vuol dire fare uno spostamento dopo l'altro. > - Il conto si fa un posto alla volta: $(1, 2) + (3, 1) = (4, 3)$. > - Nel piano la somma è la diagonale del parallelogramma costruito sui due vettori. > - Si sommano solo vettori con lo stesso numero di coordinate. ## Multipli: ripetere lo stesso spostamento (p. 21) Fai due volte di fila lo stesso spostamento: 1 a destra e 2 in su, e poi ancora 1 a destra e 2 in su. In tutto hai fatto 2 passi a destra e 4 in su. Ogni numero è raddoppiato: $$2 \cdot (1, 2) = (2 \cdot 1,\ 2 \cdot 2) = (2, 4)$$ Il puntino $\cdot$ è il segno «per». Lo stesso si può fare con altri numeri. - **Metà spostamento.** Moltiplica per $\frac 12$, cioè dividi tutto a metà: viene $(\frac 12, 1)$. Stessa direzione, metà strada. - **Lo spostamento al contrario.** Moltiplica per $-1$: viene $(-1, -2)$, cioè 1 a sinistra e 2 in giù. È la strada per tornare indietro. - **Zero volte.** Moltiplica per 0: viene $(0, 0)$. Resti dove sei. > [!IDEA] > Moltiplicare un vettore per un numero vuol dire moltiplicare per quel numero **ogni** coordinata. La freccia si allunga o si accorcia. Se il numero è negativo, si gira dalla parte opposta. ### I nomi: scalare e multiplo Il numero che moltiplica il vettore si chiama **scalare**. Uno scalare è un numero normale, come 2 o $-3$: la parola serve solo a distinguerlo dai vettori. Viene da «scala»: cambia la scala del disegno, come lo zoom di una mappa. L'operazione si chiama **prodotto per scalare**. Il risultato si chiama **multiplo** del vettore. Per indicare uno scalare qualsiasi le dispense usano la lettera greca $\lambda$, che si legge «lambda» (lezione L01). Tra lo scalare e il vettore il puntino di solito non si scrive. La scrittura $2v$ vuol dire «2 per $v$», e $\lambda x$ vuol dire «lambda per $x$». ### Tutti i multipli di un vettore Prendiamo il vettore $v = (1, 2)$ e moltiplichiamolo per sei scalari diversi. | Scalare | Conto | Multiplo | Che cosa succede alla freccia | |--:|---|---|---| | $2$ | $(2 \cdot 1,\ 2 \cdot 2)$ | $(2, 4)$ | stesso verso, lunga il doppio | | $\frac 12$ | $(\frac 12 \cdot 1,\ \frac 12 \cdot 2)$ | $(\frac 12, 1)$ | stesso verso, lunga la metà | | $1$ | $(1 \cdot 1,\ 1 \cdot 2)$ | $(1, 2)$ | resta uguale | | $0$ | $(0 \cdot 1,\ 0 \cdot 2)$ | $(0, 0)$ | si riduce all'origine | | $-1$ | $(-1 \cdot 1,\ -1 \cdot 2)$ | $(-1, -2)$ | verso opposto, stessa lunghezza | | $-2$ | $(-2 \cdot 1,\ -2 \cdot 2)$ | $(-2, -4)$ | verso opposto, lunga il doppio | ```grafico titolo: I multipli di $v = (1, 2)$ stanno tutti sulla retta $y = 2x$ x: -4 4 y: -5 5 retta: 0 0 2.3 4.6 | grigio | tratteggio | $y = 2x$ | e vettore: 2 4 | blu | $2v$ | e vettore: 1 2 | accento | spesso | $v$ | o vettore: -2 -4 | rosa | $-2v$ | e ``` Guarda la figura. Tutti i multipli stanno sulla stessa retta: quella che passa per l'origine e per la punta di $v$. In ogni punto di questa retta il secondo numero è il doppio del primo. Per questo la retta ha l'etichetta $y = 2x$, che si legge «ipsilon uguale due ics». Questa osservazione torna nella lezione L06: l'insieme di tutti i multipli di un vettore lì riceve un nome e un simbolo. ### Come lo scrivono le dispense Ecco la regola con le lettere. > [!DEF] Prodotto per scalare (p. 21) > Dato $x \in \R^n$ e uno scalare $\lambda \in \R$, definiamo > $$\lambda x = \begin{pmatrix} \lambda x_1 \\ \vdots \\ \lambda x_n \end{pmatrix}.$$ > Il numero reale $\lambda$ è detto **scalare**; l'operazione $x \mapsto \lambda x$ è detta **prodotto per scalare**. **Come si legge.** - $x \in \R^n$ si legge «ics appartiene a erre enne». Vuol dire: $x$ è un vettore con $n$ coordinate. - $\lambda \in \R$ si legge «lambda appartiene a erre». Vuol dire: lo scalare è un numero reale. - Nella colonna ogni coordinata è moltiplicata per lo stesso scalare. La prima diventa $\lambda x_1$, l'ultima $\lambda x_n$. - La freccia $\mapsto$ si legge «va in». La scrittura $x \mapsto \lambda x$ vuol dire: a ogni vettore l'operazione fa corrispondere il suo multiplo. Le dispense aggiungono la lettura sul disegno. Il vettore si allunga o si accorcia di un fattore $|\lambda|$, e se lo scalare è negativo cambia verso. Le due barre verticali sono il **valore assoluto**: il numero senza il segno meno. Per esempio $|-2| = 2$: moltiplicare per $-2$ raddoppia la lunghezza e gira la freccia. Nello strumento qui sotto puoi trascinare le punte delle due frecce, che si chiamano $u$ e $v$. Prova queste due cose. 1. Nel modo «u + v» guarda il parallelogramma. Sposta una punta e controlla che la somma cambia un posto alla volta. 2. Passa al modo «multiplo λu» e muovi il cursore. Con uno scalare tra 0 e 1 la freccia si accorcia, con uno scalare negativo si ribalta, con 0 si riduce all'origine. ```widget vettori titolo: Somma e prodotto per scalare nel piano u: 1 2 v: 3 1 modo: somma modi: somma multiplo lambda: -2 ``` All'apertura il cursore è su $-2$: è lo stesso disegno della Figura 6 delle dispense. ### L'opposto e la differenza Il multiplo con lo scalare $-1$ ha un nome: **opposto** del vettore. Si scrive con un segno meno davanti. L'opposto di $v = (1, 2)$ è $-v = (-1, -2)$. Un vettore più il suo opposto dà l'origine. È come andare e tornare: $$(1, 2) + (-1, -2) = (1 - 1,\ 2 - 2) = (0, 0)$$ Con l'opposto si fa anche la **differenza** di due vettori. «$v$ meno $w$» vuol dire «$v$ più l'opposto di $w$». In pratica si sottrae un posto alla volta: $$(5, 1) - (2, 3) = (5 - 2,\ 1 - 3) = (3, -2)$$ > [!ESEMPIO] · multipli e differenza nello stesso conto > Calcoliamo $2 \cdot (1, 2, 0) - 3 \cdot (1, 0, -1)$. Prima i due multipli, poi la differenza. > > 1. Primo multiplo: $2 \cdot (1, 2, 0) = (2 \cdot 1,\ 2 \cdot 2,\ 2 \cdot 0) = (2, 4, 0)$. > 2. Secondo multiplo: $3 \cdot (1, 0, -1) = (3 \cdot 1,\ 3 \cdot 0,\ 3 \cdot (-1)) = (3, 0, -3)$. > 3. Differenza, un posto alla volta: $(2 - 3,\ 4 - 0,\ 0 - (-3)) = (-1, 4, 3)$. > > Attenzione al terzo posto. Togliere un numero negativo vuol dire aggiungere: $0 - (-3) = 0 + 3 = 3$. > > Il risultato è $(-1, 4, 3)$. ::: prova Quanto fa $3 \cdot (2, -1)$? E $-2 \cdot (1, 0, 4)$? $3 \cdot (2, -1) = (3 \cdot 2,\ 3 \cdot (-1)) = (6, -3)$. $-2 \cdot (1, 0, 4) = (-2 \cdot 1,\ -2 \cdot 0,\ -2 \cdot 4) = (-2, 0, -8)$. ::: ::: prova Quanto fa $(6, 2) - 2 \cdot (1, 3)$? Prima il multiplo: $2 \cdot (1, 3) = (2, 6)$. Poi la differenza: $(6 - 2,\ 2 - 6) = (4, -4)$. ::: > [!RICORDA] > - Uno **scalare** è un numero. Moltiplicare un vettore per uno scalare vuol dire moltiplicare ogni coordinata. > - Scalare maggiore di 1: la freccia si allunga. Tra 0 e 1: si accorcia. Negativo: si gira. > - Tutti i multipli di un vettore stanno su una retta che passa per l'origine. > - L'**opposto** di un vettore è il suo multiplo con lo scalare $-1$. ## Le otto regole dei conti con i vettori (pp. 21–22) Con i numeri usi delle regole senza pensarci. Per esempio sai che in una somma l'ordine non conta: $2 + 5$ e $5 + 2$ danno lo stesso risultato (lezione L01). Con i vettori succede lo stesso. La somma e il prodotto per scalare seguono otto regole. Le dispense le elencano nella definizione di spazio vettoriale, che trovi più avanti. Conviene conoscerle adesso, sui vettori del piano. Per controllarle usiamo sempre gli stessi tre vettori e gli stessi due scalari: $$v = (1, 2) \qquad w = (3, -1) \qquad u = (0, 5) \qquad \text{scalari: } 2 \text{ e } 3$$ | N. | La regola a parole | Controllo con i numeri | |---|---|---| | 1 | in una somma l'ordine non conta | $(1, 2) + (3, -1) = (4, 1)$ e $(3, -1) + (1, 2) = (4, 1)$ | | 2 | in una somma di tre vettori puoi cominciare da dove vuoi | $(4, 1) + (0, 5) = (4, 6)$ e $(1, 2) + (3, 4) = (4, 6)$ | | 3 | sommare il vettore di soli zeri non cambia niente | $(1, 2) + (0, 0) = (1, 2)$ | | 4 | ogni vettore ha un opposto: sommati danno il vettore di soli zeri | $(1, 2) + (-1, -2) = (0, 0)$ | | 5 | il multiplo di una somma è la somma dei multipli | $2 \cdot (4, 1) = (8, 2)$ e $(2, 4) + (6, -2) = (8, 2)$ | | 6 | moltiplicare per la somma di due scalari è come fare i due multipli e sommarli | $5 \cdot (1, 2) = (5, 10)$ e $(2, 4) + (3, 6) = (5, 10)$ | | 7 | moltiplicare per due scalari uno dopo l'altro è come moltiplicare per il loro prodotto | $6 \cdot (1, 2) = (6, 12)$ e $2 \cdot (3, 6) = (6, 12)$ | | 8 | moltiplicare per 1 non cambia niente | $1 \cdot (1, 2) = (1, 2)$ | Nella tabella i conti sono scritti in breve. Controlliamo per intero le regole 5 e 6, che sono le meno immediate. **Regola 5.** A sinistra prima si somma, poi si raddoppia. 1. $v + w = (1 + 3,\ 2 - 1) = (4, 1)$. 2. Il doppio: $(2 \cdot 4,\ 2 \cdot 1) = (8, 2)$. A destra prima si raddoppiano i due vettori, poi si somma. 1. Il doppio di $v$ è $(2, 4)$. Il doppio di $w$ è $(6, -2)$. 2. La somma: $(2 + 6,\ 4 - 2) = (8, 2)$. Stesso risultato. **Regola 6.** A sinistra prima si sommano i due scalari: $2 + 3 = 5$. Poi si moltiplica: $5 \cdot (1, 2) = (5, 10)$. A destra prima si fanno i due multipli, che sono $(2, 4)$ e $(3, 6)$. Poi si sommano: $(2 + 3,\ 4 + 6) = (5, 10)$. Stesso risultato. ### Perché valgono Ogni conto tra vettori è fatto di conti tra numeri, un posto alla volta. E per i numeri queste regole valgono già: sono le nove regole della lezione L01. Guarda la regola 1. Al primo posto c'è $1 + 3$ da una parte e $3 + 1$ dall'altra. Sono uguali perché nella somma di due numeri l'ordine non conta. Al secondo posto succede lo stesso. I nomi delle regole sono quelli della lezione L01: la regola 1 è la proprietà **commutativa**, la regola 2 è la proprietà **associativa**. Le regole 5 e 6 sono due forme della proprietà **distributiva**. ::: prova Controlla la regola 5 con lo scalare 3 e i vettori $(1, 1)$ e $(2, 0)$. A sinistra: prima la somma, $(1 + 2,\ 1 + 0) = (3, 1)$. Poi il triplo: $(9, 3)$. A destra: il triplo di $(1, 1)$ è $(3, 3)$, il triplo di $(2, 0)$ è $(6, 0)$. La somma: $(3 + 6,\ 3 + 0) = (9, 3)$. Stesso risultato. ::: ::: prova Quale regola dice che $(2, 7) + (0, 0) = (2, 7)$? E quale dice che $1 \cdot (2, 7) = (2, 7)$? La prima è la regola 3: sommare il vettore di soli zeri non cambia niente. La seconda è la regola 8: moltiplicare per 1 non cambia niente. ::: > [!RICORDA] > - La somma di vettori e il prodotto per scalare seguono otto regole. > - Quattro parlano solo della somma: l'ordine non conta, si può cominciare da dove si vuole, c'è il vettore di soli zeri, ogni vettore ha l'opposto. > - Quattro parlano dei multipli: due distributive, quella dei due scalari uno dopo l'altro, e quella dello scalare 1. > - Valgono perché valgono per i numeri, una coordinata alla volta. ## Gruppi: un'operazione e tre regole (pp. 21–22) Per due sezioni lasciamo da parte i vettori e parliamo solo di regole. > [!NOTA] Serve per capire, non per l'esame > Questa sezione e la prossima spiegano due parole, **gruppo** e **campo**. Le dispense le usano per scrivere in modo preciso la definizione di spazio vettoriale. Negli appelli dal 2024 al 2026 non c'è nessuna domanda sulle regole dei gruppi, e la parola «campo» compare solo dentro domande sugli spazi vettoriali. Se hai poco tempo, leggi i due riquadri «Da ricordare» e passa alla sezione «Che cos'è uno spazio vettoriale». ### Che cosa succede con gli interi e la somma Prendi i numeri interi, cioè $\dots, -2, -1, 0, 1, 2, \dots$, e l'operazione di somma. Succedono quattro cose. 1. **Non si esce.** La somma di due interi è sempre un intero: $3 + (-5) = -2$. 2. **C'è un numero che non cambia niente.** È lo zero: $0 + 7 = 7$. 3. **Le parentesi si possono spostare.** $(2 + 3) + 4$ fa $5 + 4 = 9$. Anche $2 + (3 + 4)$ fa $2 + 7 = 9$. 4. **Ogni numero ha un compagno che lo annulla.** Il compagno di 7 è $-7$: sommati fanno zero. Ora prendi i numeri naturali, cioè $0, 1, 2, 3, \dots$, sempre con la somma. Le prime tre cose valgono ancora. La quarta no: il compagno di 3 sarebbe $-3$, che non è un numero naturale. > [!IDEA] > Un **gruppo** è un insieme con un'operazione che non fa uscire dall'insieme e che rispetta tre regole: c'è un elemento che non cambia niente, le parentesi si possono spostare, ogni elemento ha un compagno che lo annulla. Gli interi con la somma sono un gruppo. I naturali con la somma no. ### I nomi delle tre regole - L'elemento che non cambia niente si chiama **elemento neutro**. Per la somma è lo 0. Per il prodotto è l'1, perché $1 \cdot 7 = 7$. - «Le parentesi si possono spostare» è la proprietà **associativa**. - Il compagno che annulla si chiama **inverso**. «Annullare» vuol dire: riportare all'elemento neutro. Per la somma l'inverso è l'opposto: quello di 7 è $-7$, perché sommati fanno 0. Per il prodotto l'inverso è il numero che moltiplicato dà 1: quello di 7 è $\frac 17$. Un'operazione che prende due elementi di un insieme e ne restituisce uno **dello stesso insieme** si chiama **operazione binaria** (lezione L01). La sottrazione non è un'operazione binaria sui naturali: $2 - 5$ fa $-3$, che esce dall'insieme. Se in più nell'operazione l'ordine non conta, il gruppo si chiama **commutativo**. Le tre regole valgono per la somma degli interi. Valgono anche per altre operazioni, per esempio per il prodotto delle frazioni diverse da zero. Per scriverle una volta sola, qualunque sia l'operazione, le dispense usano tre segni. - L'asterisco $*$ sta per «l'operazione, qualunque sia». La scrittura $a * b$ vuol dire «il risultato dell'operazione tra $a$ e $b$». Nei casi concreti al posto dell'asterisco c'è il segno più oppure il segno per. - La lettera $e$ indica l'elemento neutro. - $a'$ si legge «a primo» e indica l'inverso di $a$. ### Come lo scrivono le dispense Ecco la definizione delle dispense. > [!DEF] 5.2 · Gruppo > Un **gruppo** è un insieme $G$ dotato di un'operazione binaria, cioè di una funzione che associa a ogni coppia $a, b$ di elementi in $G$ un nuovo elemento di $G$ che indichiamo con $a * b$. Il simbolo $*$ indica l'operazione binaria. L'operazione deve soddisfare i seguenti tre assiomi: > 1. $\exists\, e \in G : e * a = a * e = a,\ \forall a \in G$ (esistenza dell'elemento neutro $e$); > 2. $a * (b * c) = (a * b) * c,\ \forall a, b, c \in G$ (proprietà associativa); > 3. $\forall a \in G,\ \exists\, a' \in G : a * a' = a' * a = e$ (esistenza dell'inverso). > > Il gruppo $G$ è **commutativo** se vale anche la proprietà commutativa $a * b = b * a,\ \forall a, b \in G$. **Come si legge.** La definizione usa due simboli della lezione L01: $\forall$ si legge «per ogni» ed $\exists$ si legge «esiste». I due punti dopo «esiste» si leggono «per cui». - **La prima frase.** La lettera $G$ è il nome dell'insieme. L'operazione prende due elementi dell'insieme e ne restituisce uno dello stesso insieme: non si esce. - **Assioma 1.** A parole: «esiste un elemento $e$ che, combinato con qualunque elemento $a$, restituisce $a$». È l'elemento neutro, ed è lo stesso per tutti. - **Assioma 2.** Le parentesi si possono spostare. Quindi in una scrittura con tre elementi si possono anche togliere. - **Assioma 3.** A parole: «per ogni elemento $a$ esiste un elemento $a'$ che, combinato con $a$, restituisce l'elemento neutro». È l'inverso, e cambia da elemento a elemento. - **L'ultima riga.** Il gruppo è commutativo se l'ordine non conta. La parola **assioma** indica una regola che fa parte di una definizione. ### Quali sono gruppi e quali no Per indicare un insieme con la sua operazione si scrive una coppia tra parentesi. Per esempio $(\Z, +)$ vuol dire «gli interi con la somma». Ricorda le lettere della lezione L01: $\N$ sono i naturali, $\Z$ gli interi, $\Q$ le frazioni, $\R$ i reali, $\C$ i complessi. La scrittura $\Q \setminus \{0\}$ si legge «cu senza lo zero»: sono tutte le frazioni tranne lo 0. Ecco gli esempi delle dispense, con il motivo. | Insieme e operazione | Elemento neutro | Inverso di $a$ | È un gruppo commutativo? | |---|---|---|---| | $(\Z, +)$ | $0$ | $-a$ | sì | | $(\Q, +)$, $(\R, +)$, $(\C, +)$ | $0$ | $-a$ | sì | | $(\Q \setminus \{0\}, \cdot)$, $(\R \setminus \{0\}, \cdot)$, $(\C \setminus \{0\}, \cdot)$ | $1$ | $a^{-1} = \frac 1a$ | sì | | $(\N, +)$ | $0$ | manca: quello di $1$ sarebbe $-1$, che non è un naturale | **no**: fallisce l'assioma 3 | | $(\Z, \cdot)$ e $(\Z \setminus \{0\}, \cdot)$ | $1$ | manca: quello di $2$ sarebbe $\frac 12$, che non è un intero | **no**: fallisce l'assioma 3 | Nella terza riga compare $a^{-1}$, che si legge «a alla meno uno». È un altro modo di scrivere l'inverso per il prodotto, cioè $\frac 1a$. > [!ESEMPIO] · i conti in $(\Q \setminus \{0\}, \cdot)$ > Controlliamo che le frazioni diverse da zero, con il prodotto, formano un gruppo. > > - **Non si esce.** Per esempio $\frac 23 \cdot \left(-\frac 94\right) = -\frac{18}{12} = -\frac 32$: è ancora una frazione diversa da zero. > - **Elemento neutro.** È $1$, perché $1 \cdot \frac 23 = \frac 23$. > - **Inverso.** Si scambiano il numero sopra e il numero sotto. L'inverso di $-\frac 34$ è $-\frac 43$: moltiplicati danno $\frac{12}{12} = 1$. > - **Perché si toglie lo zero.** Lo $0$ non ha inverso: qualunque numero moltiplicato per $0$ dà $0$, mai $1$. > [!TRAPPOLA] Togliere lo zero serve per il prodotto, non per la somma > Le frazioni senza lo zero sono un gruppo con il prodotto, ma **non** con la somma. Infatti $1 + (-1) = 0$ esce dall'insieme. E manca l'elemento neutro della somma, che è proprio lo 0. > [!OLTRE] · due fatti utili sui gruppi > Vengono dal libro di Martelli (§1.5.1). Servono tra poco, con i vettori. > > **L'inverso è uno solo.** Negli interi con la somma, l'unico numero che sommato a 7 dà 0 è $-7$. Lo stesso vale in ogni gruppo: un elemento non può avere due inversi diversi. > > **Si può semplificare.** Negli interi: se $5 + x$ e $5 + y$ danno lo stesso risultato, allora $x$ e $y$ sono uguali. Basta sommare $-5$ a tutti e due i lati. Lo stesso vale in ogni gruppo, e quindi anche per la somma di vettori. ::: prova Negli interi con la somma, qual è l'inverso di $-4$? E qual è l'elemento neutro? L'inverso di $-4$ è $4$, perché $-4 + 4 = 0$. L'elemento neutro è $0$. ::: ::: prova I numeri naturali con il prodotto formano un gruppo? No. L'elemento neutro c'è, ed è l'1. Ma manca l'inverso di 2: sarebbe $\frac 12$, che non è un naturale. Fallisce l'assioma 3. ::: > [!RICORDA] > - Un **gruppo** è un insieme con un'operazione che non fa uscire dall'insieme e rispetta tre regole: elemento neutro, proprietà associativa, inverso di ogni elemento. > - Se in più l'ordine non conta, il gruppo è **commutativo**. > - Gli interi con la somma sono un gruppo. I naturali con la somma no: manca l'opposto. ## Campi: dove si fanno le quattro operazioni (p. 22) Negli insiemi di numeri le operazioni sono due: la somma e il prodotto. Un **campo** è un insieme di numeri in cui le due operazioni funzionano bene insieme. In pratica: puoi fare più, meno, per e diviso senza mai uscire dall'insieme. C'è un solo divieto: non si divide per zero. Un esempio. Prendi l'indovinello «quale numero, moltiplicato per 2, dà 1?». Tra le frazioni la risposta c'è: è $\frac 12$. Tra gli interi non c'è, perché $\frac 12$ non è un intero. Le frazioni formano un campo, gli interi no. Nella lezione L01 un campo era «un insieme in cui valgono le nove regole dei conti». Qui le dispense dicono la stessa cosa in tre righe, usando la parola «gruppo». > [!DEF] 5.3 · Campo > Un **campo** è un insieme $A$ dotato di due operazioni binarie $+$ e $\cdot$ che soddisfano questi assiomi: > 1. $A$ è un gruppo commutativo con l'operazione $+$, con elemento neutro $0_A$; > 2. $A \setminus \{0_A\}$ è un gruppo commutativo con l'operazione $\cdot$, con elemento neutro $1_A$; > 3. vale la proprietà distributiva $a \cdot (b + c) = (a \cdot b) + (a \cdot c),\ \forall a, b, c \in A$. **Come si legge.** - La lettera $A$ è il nome dell'insieme. - $0_A$ si legge «zero di $A$». È l'elemento neutro della somma. La piccola lettera in basso ricorda di quale insieme si parla. - $1_A$ si legge «uno di $A$». È l'elemento neutro del prodotto. - $A \setminus \{0_A\}$ si legge «$A$ senza lo zero». - **Assioma 1.** Con la somma, l'insieme è un gruppo commutativo. Dentro ci sono quattro regole: c'è lo zero, ogni elemento ha l'opposto, le parentesi si spostano, l'ordine non conta. - **Assioma 2.** Tolto lo zero, l'insieme è un gruppo commutativo anche con il prodotto. Sono altre quattro regole: c'è l'uno, ogni elemento diverso da zero ha l'inverso, le parentesi si spostano, l'ordine non conta. - **Assioma 3.** È la proprietà **distributiva**, che lega le due operazioni. Con i numeri: $3 \cdot (2 + 5)$ fa 21, e anche $3 \cdot 2 + 3 \cdot 5$ fa 21. Il simbolo $\forall$ si legge «per ogni». Quattro regole, più quattro, più una: sono le nove regole della lezione L01 (Proposizione 1.5), raggruppate in un altro modo. ### Quali insiemi sono campi | Insieme, con somma e prodotto | È un campo? | Perché | |---|---|---| | $\Q$, $\R$, $\C$ | sì | valgono tutte le regole; per esempio l'inverso di $\frac 23$ è $\frac 32$ | | $\Z$ | no | $2$ non ha inverso: $\frac 12$ non è un intero | | $\N$ | no | già con la somma non è un gruppo: manca $-1$ | | $\R \setminus \{0\}$ | no | la somma esce dall'insieme: $1 + (-1) = 0$ | | $\{0, 1\}$ con $1 + 1 = 0$ | sì | è il campo con due elementi, qui sotto | Per dire che un insieme **non** è un campo basta una regola che fallisce, con un esempio. ### Un campo con due soli elementi Un campo non deve per forza avere infiniti elementi. Nell'Esercizio 5.9 le dispense ne costruiscono uno che ne ha solo due: lo 0 e l'1. Somme e prodotti si fanno come negli interi, con una sola eccezione: $1 + 1 = 0$. Un modo per ricordarlo: leggi 0 come «pari» e 1 come «dispari». Dispari più dispari fa pari, quindi $1 + 1 = 0$. Dispari per dispari fa dispari, quindi $1 \cdot 1 = 1$. Sono le regole dei numeri pari e dispari. In informatica questo è il campo dei **bit**. La somma è l'operazione XOR e il prodotto è l'operazione AND. Che le regole dei campi valgano davvero si controlla nell'esercizio 8. > [!NOTA] Il campo del corso > Nelle dispense il campo si indica con la lettera $\K$, che si legge «cappa». Sta per «un campo qualsiasi». Nel corso è quasi sempre $\R$, i numeri reali, oppure $\C$, i numeri complessi. Quello che si dimostra per $\K$ vale per tutti e due. ::: prova Nel campo con due elementi, quanto fa $1 + 1 + 1$? Prima $1 + 1 = 0$. Poi $0 + 1 = 1$. Quindi fa $1$: tre numeri dispari sommati danno un numero dispari. ::: ::: prova I numeri naturali sono un campo? E i numeri razionali? I naturali no: manca già l'opposto di 1, che sarebbe $-1$. I razionali sì: valgono tutte e nove le regole. ::: > [!RICORDA] > - Un **campo** è un insieme di numeri in cui si fanno le quattro operazioni senza uscire, dividendo solo per numeri diversi da zero. > - $\Q$, $\R$ e $\C$ sono campi. $\N$ e $\Z$ no. > - La lettera $\K$ indica un campo qualsiasi: nel corso è $\R$ oppure $\C$. ## Che cos'è uno spazio vettoriale (pp. 20 e 22–23) Finora i vettori erano liste di numeri. Adesso guarda oggetti di tutt'altro tipo: i polinomi. > [!RIPASSO] che cos'è un polinomio > Un **polinomio** è una somma di potenze di una lettera, di solito $x$, ognuna moltiplicata per un numero (lezione L04). Per esempio $x^2 + 1$ oppure $2x - 3$. I numeri che moltiplicano le potenze si chiamano **coefficienti**. > > Il **grado** è l'esponente più alto. Il primo esempio ha grado 2, il secondo ha grado 1. > > Due polinomi si **sommano** mettendo insieme i pezzi con la stessa potenza: > $$(x^2 + 1) + (2x - 3) = x^2 + 2x + (1 - 3) = x^2 + 2x - 2$$ > > Un polinomio si **moltiplica per un numero** moltiplicando ogni coefficiente: > $$2 \cdot (x^2 + 1) = 2x^2 + 2$$ Mettiamo le liste e i polinomi uno accanto all'altro. | | Liste di due numeri | Polinomi | |---|---|---| | due elementi | $(1, 2)$ e $(3, 1)$ | $x^2 + 1$ e $2x - 3$ | | la loro somma | $(4, 3)$ | $x^2 + 2x - 2$ | | il doppio del primo | $(2, 4)$ | $2x^2 + 2$ | | l'elemento che non cambia niente | $(0, 0)$ | il polinomio $0$ | In tutti e due i casi succedono tre cose. - Sommando due elementi ottieni un elemento **dello stesso tipo**. - Moltiplicando per un numero resti **nello stesso tipo**. - Valgono le **otto regole** della sezione precedente. > [!IDEA] > Uno **spazio vettoriale** è un insieme in cui puoi sommare due elementi e moltiplicare un elemento per un numero, senza mai uscire dall'insieme e con le otto regole. Gli elementi di uno spazio vettoriale si chiamano **vettori**, qualunque cosa siano. Qui l'immagine della freccia non regge più: un polinomio non è uno spostamento su una mappa. Da questo punto in poi «vettore» vuol dire solo «elemento di uno spazio vettoriale». ### A che cosa serve un'idea così generale Se dimostri una cosa usando **solo** le otto regole, quella cosa vale in una volta sola per le liste, per i polinomi e per ogni altro spazio vettoriale. Non devi rifare il lavoro ogni volta. Le dispense citano tre esempi che userai spesso: gli insiemi di soluzioni dei sistemi lineari (lezioni L11–L13), gli spazi di funzioni (più avanti in questa lezione) e gli spazi di matrici (lezione L06). ### Le lettere della definizione Nella definizione delle dispense compaiono queste lettere. - $V$ è l'insieme dei vettori. - $v$ e $w$ sono due vettori qualsiasi. - $\lambda$ e $\mu$ sono due scalari qualsiasi. La seconda è la lettera greca «mi» (lezione L01). - $\K$ è l'insieme da cui si prendono gli scalari. Deve essere un campo, perché con gli scalari servono tutte e quattro le operazioni. Se hai saltato la sezione sui campi, leggi «i numeri reali». > [!DEF] 5.4 · Spazio vettoriale > Fissiamo un campo $\K$. Questo per noi è generalmente o il campo $\K = \R$ dei numeri reali o il campo $\K = \C$ dei numeri complessi (però per la definizione può essere qualsiasi campo). Gli elementi di $\K$ sono detti **scalari**. Uno **spazio vettoriale** su $\K$ è un insieme $V$ di elementi, detti **vettori**, dotato di due operazioni: > - un'operazione detta **somma** che associa a due vettori $v, w \in V$ un terzo vettore $v + w \in V$; > - un'operazione detta **prodotto per scalare** che associa a un vettore $v \in V$ e a uno scalare $\lambda \in \K$ un vettore $\lambda v \in V$. > > Queste due operazioni devono soddisfare le stesse proprietà delle corrispondenti operazioni dello spazio euclideo, cioè: > 1. l'insieme $V$ è un gruppo commutativo con la somma $+$; > 2. $\lambda(v + w) = \lambda v + \lambda w$; > 3. $(\lambda + \mu)v = \lambda v + \mu v$; > 4. $(\lambda\mu)v = \lambda(\mu v)$; > 5. $1v = v$. > > Le proprietà devono valere per ogni $v, w \in V$ e ogni $\lambda, \mu \in \K$. **Come si legge.** Un pezzo alla volta: - **«Fissiamo un campo».** Prima di tutto si decide quali numeri usare come scalari. - **«Uno spazio vettoriale su $\K$».** La parola «su» dice da dove vengono gli scalari. Con i numeri reali si scrive «su $\R$». - **La somma.** $v + w \in V$ si legge «vu più vu doppia appartiene a $V$». Vuol dire: la somma di due vettori dell'insieme sta ancora nell'insieme. - **Il prodotto per scalare.** $\lambda v \in V$ dice la stessa cosa per i multipli: non si esce. - **Proprietà 1.** «Gruppo commutativo con la somma» riassume le regole da 1 a 4 della tabella: l'ordine non conta, le parentesi si spostano, c'è un vettore che non cambia niente, ogni vettore ha l'opposto. - **Proprietà 2.** È la regola 5: il multiplo di una somma di vettori. - **Proprietà 3.** È la regola 6: la somma di due scalari. Attenzione: a sinistra il segno più sta tra due numeri, a destra sta tra due vettori. - **Proprietà 4.** È la regola 7. La scrittura $\lambda\mu$ è il prodotto dei due scalari. - **Proprietà 5.** È la regola 8: lo scalare 1 non cambia niente. - **L'ultima riga.** Le proprietà devono valere per tutti i vettori e per tutti gli scalari, non solo per qualche esempio. In tutto: due operazioni che non fanno uscire dall'insieme, più otto regole. Le dispense chiamano le cinque proprietà anche **assiomi** dello spazio vettoriale. > [!TRAPPOLA] Tra due vettori non c'è un prodotto > In uno spazio vettoriale si sommano due vettori e si moltiplica un vettore per uno **scalare**. Un prodotto «vettore per vettore» non fa parte della definizione. Il prodotto scalare tra due vettori arriva nella lezione L19, ed è un'altra cosa. La proprietà 5 sembra scontata, ma non si ricava dalle altre quattro. L'esercizio 12 mostra un prodotto per scalare «strano» che rispetta le prime quattro e non la quinta. ::: prova L'insieme che contiene il solo vettore $(1, 2)$ è uno spazio vettoriale? No. La somma $(1, 2) + (1, 2) = (2, 4)$ non sta nell'insieme: si esce. ::: ::: prova Prendi le liste di due numeri **interi**, come $(1, 2)$ e $(-3, 0)$, con gli scalari reali. I multipli restano nell'insieme? No. Per esempio $\frac 12 \cdot (1, 2) = (\frac 12, 1)$, e $\frac 12$ non è un intero. Un multiplo è uscito dall'insieme, quindi non è uno spazio vettoriale. ::: > [!RICORDA] > - Uno **spazio vettoriale** è un insieme con una somma e un prodotto per scalare che non fanno uscire dall'insieme e rispettano le otto regole. > - I suoi elementi si chiamano **vettori**, anche quando non sono liste di numeri. > - Gli **scalari** sono i numeri di un campo: nel corso i reali oppure i complessi. > - Tra due vettori non c'è un prodotto. ## Due zeri da non confondere (p. 23) In ogni spazio vettoriale c'è un vettore speciale: quello che, sommato a un altro, non cambia niente. Sulla mappa è lo spostamento «resta dove sei», cioè $(0, 0)$. Tra i polinomi è il polinomio $0$. Questo vettore si chiama **vettore nullo**, oppure **origine** dello spazio. Le dispense lo scrivono $0$. Quando serve ricordare che è un vettore dell'insieme $V$, scrivono $0_V$, che si legge «zero di $V$». Il problema è che anche il numero zero si scrive $0$. Sono due cose diverse. - Il **numero zero** è uno scalare. - Il **vettore nullo** è un vettore. | Spazio vettoriale | Lo zero degli scalari | Il vettore nullo | |---|---|---| | le liste di tre numeri reali | il numero $0$ | la lista $(0, 0, 0)$ | | i polinomi | il numero $0$ | il polinomio con tutti i coefficienti uguali a 0 | Le dispense avvertono: in questo corso il simbolo $0$ può indicare cose diverse, e il significato si capisce dal contesto. ### Un vettore per il numero zero Moltiplica un vettore per il numero zero: $$0 \cdot (3, -1) = (0 \cdot 3,\ 0 \cdot (-1)) = (0, 0)$$ Viene il vettore nullo. Con un polinomio succede lo stesso: $$0 \cdot (x^2 + 1) = 0 \cdot x^2 + 0 \cdot 1 = 0$$ Viene il polinomio nullo. Le dispense dicono che succede sempre. > [!PROP] 5.5 > Vale la relazione $0v = 0$. **Come si legge.** Nella formula ci sono due zeri diversi. Il primo, quello attaccato a $v$, è il numero zero. Il secondo, dopo l'uguale, è il vettore nullo. A parole: **un vettore qualsiasi, moltiplicato per il numero zero, dà il vettore nullo**. Per le liste di numeri basta fare il conto, come sopra. Ma la proposizione dice di più: vale in **ogni** spazio vettoriale, anche in quelli che non hai ancora visto. Per questo la dimostrazione usa solo le regole della definizione. L'idea è quella vista nella lezione L01 per i numeri. Si scrive lo zero come «zero più zero», si usa la proprietà 3 e poi si semplifica. > [!DIM] · la Proposizione 5.5, un passo alla volta > 1. Tra i numeri vale $0 + 0 = 0$. Quindi $0v$ è uguale a $(0 + 0)v$. > 2. Per la proprietà 3 della definizione, $(0 + 0)v = 0v + 0v$. > 3. Mettendo insieme i due passi: $0v = 0v + 0v$. > 4. Per scrivere meno, chiamiamo $w$ il vettore $0v$. La riga del passo 3 diventa $w = w + w$. > 5. Sommiamo a tutti e due i lati l'opposto $-w$, che esiste per la proprietà 1. A sinistra viene $w + (-w) = 0_V$. > 6. A destra viene $(w + w) + (-w)$. Spostiamo le parentesi: $w + (w + (-w)) = w + 0_V = w$. > 7. Quindi $0_V = w$, cioè $0v = 0_V$. > > Le dispense scrivono solo $0v = (0 + 0)v = 0v + 0v$ e poi «semplificando deduciamo che $0v = 0$». I passi da 4 a 7 sono quel «semplificando»: in un gruppo si semplifica sommando l'opposto a tutti e due i lati. > [!OLTRE] · altre tre conseguenze delle regole > Con lo stesso tipo di ragionamento si dimostrano altri tre fatti, veri in ogni spazio vettoriale. Le dimostrazioni sono nell'esercizio 11. > > - **Uno scalare per il vettore nullo dà il vettore nullo.** Con i numeri: $5 \cdot (0, 0) = (0, 0)$. > - **Moltiplicare per $-1$ dà l'opposto.** Con i numeri: $-1 \cdot (1, 2) = (-1, -2)$. > - **Un multiplo è il vettore nullo solo in due casi:** quando lo scalare è zero, oppure quando il vettore è già quello nullo. > > L'ultimo fatto usa l'inverso dello scalare. È uno dei motivi per cui gli scalari devono stare in un campo. ::: prova Quanto fa $0 \cdot (7, -2, 5)$? E $5 \cdot (0, 0)$? $0 \cdot (7, -2, 5) = (0 \cdot 7,\ 0 \cdot (-2),\ 0 \cdot 5) = (0, 0, 0)$: il numero zero per un vettore dà il vettore nullo. $5 \cdot (0, 0) = (5 \cdot 0,\ 5 \cdot 0) = (0, 0)$: uno scalare per il vettore nullo dà il vettore nullo. ::: ::: prova Nella scrittura $0v = 0$, quale zero è un numero e quale è un vettore? Il primo è un numero: è lo scalare che moltiplica $v$. Il secondo è un vettore: è il risultato, cioè il vettore nullo. ::: > [!RICORDA] > - Il **vettore nullo** è il vettore che sommato non cambia niente. Si scrive $0$ oppure $0_V$. > - Non va confuso con il **numero zero**, che è uno scalare. > - Un vettore qualsiasi per il numero zero dà il vettore nullo (Proposizione 5.5). ## I primi esempi: numeri e liste di numeri (pp. 23–24) Le dispense presentano cinque esempi di spazi vettoriali. Per ognuno bisogna dire tre cose: chi sono i vettori, come si sommano e come si moltiplicano per uno scalare. Poi si controlla che valgano le regole. In questa sezione ci sono i primi due esempi. ### I numeri da soli Il primo esempio è il più piccolo: i numeri reali, senza liste. Un numero è come una lista con una sola coordinata. Sommare due vettori vuol dire sommare due numeri. Moltiplicare per uno scalare vuol dire moltiplicare due numeri. Sulla mappa è come muoversi avanti e indietro lungo una sola riga: la retta dei numeri. Le dispense lo dicono per un campo qualsiasi: un campo è uno spazio vettoriale **su se stesso**. «Su se stesso» vuol dire che i vettori e gli scalari sono presi dallo stesso insieme. Le cinque proprietà della definizione valgono perché sono regole dei numeri. Nella terza colonna c'è un controllo con gli scalari 2 e 3 e con i «vettori» 4 e 5. | Proprietà | Perché vale tra i numeri | Controllo | |---|---|---| | 1. gruppo commutativo con la somma | è l'assioma 1 dei campi | $4 + 5 = 5 + 4 = 9$ | | 2. il multiplo di una somma | proprietà distributiva | $2 \cdot (4 + 5) = 18$ e $2 \cdot 4 + 2 \cdot 5 = 18$ | | 3. la somma di due scalari | proprietà commutativa e distributiva | $(2 + 3) \cdot 4 = 20$ e $2 \cdot 4 + 3 \cdot 4 = 20$ | | 4. due scalari uno dopo l'altro | proprietà associativa del prodotto | $(2 \cdot 3) \cdot 4 = 24$ e $2 \cdot (3 \cdot 4) = 24$ | | 5. lo scalare 1 | l'1 è l'elemento neutro del prodotto | $1 \cdot 4 = 4$ | ### Le liste di numeri, con un campo qualsiasi L'esempio principale è quello da cui siamo partiti: le liste di numeri reali. Le dispense ripetono la stessa costruzione con un campo qualsiasi al posto dei numeri reali. L'insieme delle liste di $n$ numeri presi dal campo $\K$ si scrive $\K^n$ e si legge «cappa enne». > [!DEF] Lo spazio $\K^n$ (pp. 23–24) > Sia $n \ge 1$ un numero naturale. Lo spazio $\K^n$ è l'insieme delle sequenze $(x_1, \dots, x_n)$ di numeri in $\K$, descritte generalmente come vettori colonna. La somma e la moltiplicazione per scalare sono definite termine a termine: > $$\begin{pmatrix} x_1 \\ \vdots \\ x_n \end{pmatrix} + \begin{pmatrix} y_1 \\ \vdots \\ y_n \end{pmatrix} = \begin{pmatrix} x_1 + y_1 \\ \vdots \\ x_n + y_n \end{pmatrix}, \qquad \lambda \begin{pmatrix} x_1 \\ \vdots \\ x_n \end{pmatrix} = \begin{pmatrix} \lambda x_1 \\ \vdots \\ \lambda x_n \end{pmatrix}.$$ **Come si legge.** È la definizione già vista per le liste di numeri reali, con un campo qualsiasi al posto di $\R$. - «Sequenze» vuol dire liste ordinate. - «Termine a termine» vuol dire «un posto alla volta». - La prima uguaglianza è la somma: la prima coordinata con la prima, e avanti così fino all'ultima. - La seconda uguaglianza è il multiplo: ogni coordinata viene moltiplicata per lo scalare $\lambda$. ### Vettori di numeri complessi Se il campo è quello dei numeri complessi si ottiene $\C^n$: le liste di $n$ numeri complessi. Qui anche gli scalari sono numeri complessi. > [!RIPASSO] i conti con i numeri complessi > Un **numero complesso** si scrive come $1 + 2i$: un numero reale, più un altro numero reale moltiplicato per $i$ (lezione L02). Il primo pezzo si chiama *parte reale*, il secondo *parte immaginaria*. > > La lettera $i$ è un numero nuovo con una sola regola speciale: $i \cdot i = -1$. In breve: $i^2 = -1$. > > **Somma.** Parte reale con parte reale, parte immaginaria con parte immaginaria: > $$(1 + 2i) + (3 + i) = (1 + 3) + (2 + 1)i = 4 + 3i$$ > > **Prodotto.** Si moltiplica ogni pezzo per ogni pezzo, come con le lettere. Poi al posto di $i^2$ si scrive $-1$: > $$(1 + i) \cdot i = 1 \cdot i + i \cdot i = i + i^2 = i - 1$$ > [!ESEMPIO] · i due conti delle dispense in $\C^2$ > **Somma.** Vogliamo sommare questi due vettori, una riga alla volta: > $$\begin{pmatrix} 1 + i \\ -2 \end{pmatrix} + \begin{pmatrix} 3i \\ 1 - i \end{pmatrix}$$ > > 1. Prima riga: $(1 + i) + 3i = 1 + (1 + 3)i = 1 + 4i$. > 2. Seconda riga: $-2 + (1 - i) = (-2 + 1) - i = -1 - i$. > > La somma è il vettore con le coordinate $1 + 4i$ e $-1 - i$: > $$\begin{pmatrix} 1 + i \\ -2 \end{pmatrix} + \begin{pmatrix} 3i \\ 1 - i \end{pmatrix} = \begin{pmatrix} 1 + 4i \\ -1 - i \end{pmatrix}.$$ > > **Prodotto per scalare.** Lo scalare è $2 + i$, e moltiplica tutte e due le righe del vettore: > $$(2 + i)\begin{pmatrix} 3 \\ 1 - i \end{pmatrix}$$ > > 1. Prima riga: $(2 + i) \cdot 3 = 2 \cdot 3 + i \cdot 3 = 6 + 3i$. > 2. Seconda riga: $(2 + i) \cdot (1 - i)$. Ogni pezzo per ogni pezzo: $2 \cdot 1 = 2$, poi $2 \cdot (-i) = -2i$, poi $i \cdot 1 = i$, poi $i \cdot (-i) = -i^2$. > 3. Sommo i quattro pezzi: $2 - 2i + i - i^2 = 2 - i - i^2$. > 4. Al posto di $i^2$ scrivo $-1$: $2 - i - (-1) = 2 - i + 1 = 3 - i$. > > Il risultato: > $$(2 + i)\begin{pmatrix} 3 \\ 1 - i \end{pmatrix} = \begin{pmatrix} 6 + 3i \\ 3 - i \end{pmatrix}.$$ ### Perché le liste rispettano le regole Resta da controllare che le liste rispettino davvero le otto regole. Le dispense controllano la proprietà 2: il multiplo di una somma è la somma dei multipli. Proviamo prima con i numeri. Lo scalare è 2, i vettori sono $(1, 3)$ e $(4, -1)$. A sinistra, prima la somma e poi il doppio: 1. $(1, 3) + (4, -1) = (1 + 4,\ 3 - 1) = (5, 2)$. 2. Il doppio: $(2 \cdot 5,\ 2 \cdot 2) = (10, 4)$. A destra, prima i due doppi e poi la somma: 1. Il doppio del primo vettore è $(2, 6)$. Il doppio del secondo è $(8, -2)$. 2. La somma: $(2 + 8,\ 6 - 2) = (10, 4)$. Stesso risultato. Il motivo si vede guardando un posto solo. Al primo posto, a sinistra c'è $2 \cdot (1 + 4)$ e a destra c'è $2 \cdot 1 + 2 \cdot 4$. Sono uguali per la proprietà distributiva dei numeri. > [!IDEA] > Ogni regola delle liste si riduce alla stessa regola dei numeri, una coordinata alla volta. > [!DIM] · la proprietà 2 per le liste, con le lettere (p. 24) > Le dispense scrivono lo stesso controllo con le lettere, in una catena di cinque uguaglianze: > $$\begin{aligned} \lambda(x + y) &= \lambda \begin{pmatrix} x_1 + y_1 \\ \vdots \\ x_n + y_n \end{pmatrix} = \begin{pmatrix} \lambda(x_1 + y_1) \\ \vdots \\ \lambda(x_n + y_n) \end{pmatrix} \\ &= \begin{pmatrix} \lambda x_1 + \lambda y_1 \\ \vdots \\ \lambda x_n + \lambda y_n \end{pmatrix} = \begin{pmatrix} \lambda x_1 \\ \vdots \\ \lambda x_n \end{pmatrix} + \begin{pmatrix} \lambda y_1 \\ \vdots \\ \lambda y_n \end{pmatrix} = \lambda x + \lambda y. \end{aligned}$$ > > Ogni uguaglianza ha il suo motivo. > > 1. La definizione della somma: si somma un posto alla volta. > 2. La definizione del prodotto per scalare: ogni coordinata viene moltiplicata per $\lambda$. > 3. La proprietà distributiva dei numeri del campo, in ognuna delle $n$ coordinate. > 4. La definizione della somma, letta da destra a sinistra. > 5. La definizione del prodotto per scalare, letta da destra a sinistra. > > Le altre proprietà si controllano con lo stesso metodo: sono nell'esercizio 9. > [!TRAPPOLA] Con le liste di numeri complessi anche gli scalari sono complessi > In $\C^2$ puoi moltiplicare un vettore per $i$. Per esempio $i \cdot (1, 0) = (i, 0)$. Con le liste di numeri reali non puoi farlo senza uscire dall'insieme: la lista $(i, 0)$ non è fatta di numeri reali. Per questo $\R^2$ è uno spazio vettoriale su $\R$, ma **non** su $\C$. ::: prova Calcola in $\C^2$ la somma $(1 + i,\ 2) + (3,\ i)$. Un posto alla volta. Primo posto: $(1 + i) + 3 = 4 + i$. Secondo posto: $2 + i$. Risultato: $(4 + i,\ 2 + i)$. ::: ::: prova Calcola in $\C^2$ il multiplo $i \cdot (1,\ i)$. Primo posto: $i \cdot 1 = i$. Secondo posto: $i \cdot i = i^2 = -1$. Risultato: $(i,\ -1)$. ::: > [!RICORDA] > - I numeri da soli formano uno spazio vettoriale: sono liste con una sola coordinata. > - $\K^n$ è l'insieme delle liste di $n$ numeri del campo $\K$. Somma e multiplo si fanno un posto alla volta. > - In $\C^n$ le coordinate e gli scalari sono numeri complessi: nei conti ricorda che $i^2 = -1$. > - Le regole valgono perché valgono per i numeri, una coordinata alla volta. ## Successioni, funzioni e polinomi come vettori (pp. 24–25) Gli ultimi tre esempi delle dispense non sono liste finite di numeri. In tutti e tre il modo di fare i conti è lo stesso: si somma e si moltiplica **un pezzo alla volta**. ### Liste che non finiscono: le successioni Una **successione** è una lista di numeri che non finisce mai (lezione L01). Per esempio $(1, 2, 3, 4, \dots)$. È come un vettore con infinite coordinate. Si somma e si moltiplica come con le liste finite: un posto alla volta. > [!ESEMPIO] · due successioni reali > Prendiamo due successioni. La prima è $x = (1, 2, 3, 4, \dots)$: i numeri in fila. La seconda è $y = (1, 1, 1, 1, \dots)$: sempre 1. > > - **Somma.** Un posto alla volta: $x + y = (1 + 1,\ 2 + 1,\ 3 + 1,\ 4 + 1,\ \dots) = (2, 3, 4, 5, \dots)$. > - **Multiplo.** Ogni termine per 3: $3x = (3, 6, 9, 12, \dots)$. > - **Differenza.** Un posto alla volta: $x - y = (1 - 1,\ 2 - 1,\ 3 - 1,\ 4 - 1,\ \dots) = (0, 1, 2, 3, \dots)$. > > Il vettore nullo è la successione di soli zeri, $(0, 0, 0, \dots)$. L'opposto di $x$ è $(-1, -2, -3, \dots)$. Per indicare una successione qualsiasi le dispense usano questa scrittura: $$(x_n)_{n \in \N} = (x_0, x_1, x_2, \dots)$$ Si legge «la successione degli ics enne, con enne nei naturali». Il termine $x_0$ è il primo, $x_1$ è il secondo. L'indice comincia da 0 perché i numeri naturali cominciano da 0. Ogni termine è un numero del campo. Le due operazioni, scritte con le lettere: $$(x_n)_{n \in \N} + (y_n)_{n \in \N} = (x_n + y_n)_{n \in \N}, \qquad \lambda (x_n)_{n \in \N} = (\lambda x_n)_{n \in \N}.$$ A parole: in ogni posto, il termine della somma è la somma dei due termini di quel posto. E il termine del multiplo è lo scalare per il termine di quel posto. Le dispense dicono che con queste operazioni le successioni formano uno spazio vettoriale. ### Un numero per ogni punto: le funzioni > [!RIPASSO] che cos'è una funzione > Una **funzione** è una regola: per ogni numero che entra dice quale numero esce. Di solito si chiama $f$. La scrittura $f(x)$ si legge «effe di ics» ed è il numero che esce quando entra $x$. > > Per esempio la regola «eleva al quadrato» si scrive $f(x) = x^2$. Se entra 3, esce $f(3) = 3^2 = 9$. Se entra $\frac 12$, esce $\frac 12 \cdot \frac 12 = \frac 14$. > > Bisogna dire anche quali numeri possono entrare. Qui sono quelli dell'intervallo $[0, 1]$: tutti i numeri reali tra 0 e 1, compresi lo 0 e l'1 (lezione L01). Le dispense scrivono $f : [0, 1] \to \K$. Si legge «effe, da zero-uno a cappa». Vuol dire: entrano i numeri tra 0 e 1, escono numeri del campo. Come si sommano due funzioni? In una successione c'è un numero per ogni posto. In una funzione c'è un numero per ogni punto dell'intervallo. L'idea è la stessa: si somma **punto per punto**. Per ogni numero che entra, si sommano i due numeri che escono. > [!ESEMPIO] · somma di due funzioni, punto per punto > Prendiamo $f(x) = x^2$ e $g(x) = 1 - x$. Calcoliamo la somma $f + g$ e il multiplo $3f$ in quattro punti. > > | Entra $x$ | $0$ | $\frac 14$ | $\frac 12$ | $1$ | > |---|---|---|---|---| > | esce da $f$ | $0$ | $\frac 1{16}$ | $\frac 14$ | $1$ | > | esce da $g$ | $1$ | $\frac 34$ | $\frac 12$ | $0$ | > | esce da $f + g$ | $1$ | $\frac{13}{16}$ | $\frac 34$ | $1$ | > | esce da $3f$ | $0$ | $\frac 3{16}$ | $\frac 34$ | $3$ | > > Il conto della colonna di $\frac 14$, per intero. Da $f$ esce $\frac 14 \cdot \frac 14 = \frac 1{16}$. Da $g$ esce $1 - \frac 14 = \frac 34$, cioè $\frac{12}{16}$. La somma è $\frac 1{16} + \frac{12}{16} = \frac{13}{16}$. Il triplo di $\frac 1{16}$ è $\frac 3{16}$. > > Ogni colonna si somma come una coordinata di una lista. Con le formule: la somma è la funzione $x^2 + (1 - x) = x^2 - x + 1$, e il multiplo è la funzione $3x^2$. Le dispense lo scrivono così. > [!DEF] Somma e multiplo di funzioni (p. 24) > Per due funzioni $f, g : [0, 1] \to \K$ e uno scalare $\lambda$ definiamo le funzioni > $$(f + g)(x) = f(x) + g(x), \qquad (\lambda f)(x) = \lambda f(x), \qquad \forall x \in [0, 1].$$ **Come si legge.** - $f + g$ è una funzione nuova. La scrittura $(f + g)(x)$ indica il numero che esce da questa funzione quando entra $x$. - La prima uguaglianza dice come si calcola: fai uscire un numero da $f$, uno da $g$, e li sommi. - $\lambda f$ è un'altra funzione nuova. La seconda uguaglianza dice che in ogni punto vale lo scalare per il numero che esce da $f$. - Il simbolo $\forall$ si legge «per ogni». L'ultimo pezzo dice che le due regole valgono per ogni numero dell'intervallo. Il vettore nullo di questo spazio è la **funzione nulla**: quella che fa uscire 0 qualunque numero entri. L'opposto di una funzione fa uscire, in ogni punto, lo stesso numero con il segno cambiato. ### I polinomi I polinomi li hai già incontrati nella sezione sulla definizione. L'insieme di tutti i polinomi con i coefficienti presi dal campo $\K$ si scrive $\K[x]$ e si legge «cappa di ics». Con i coefficienti reali si scrive $\R[x]$. > [!ESEMPIO] · i conti delle dispense > **Somma.** Vogliamo sommare $x^3 - 2x + 1$ e $4x^4 + x - 3$. Si mettono insieme i pezzi con la stessa potenza. > > - Potenza 4: c'è solo $4x^4$. > - Potenza 3: c'è solo $x^3$. > - Potenza 1: $-2x + x = (-2 + 1)x = -x$. > - Numeri senza la $x$: $1 - 3 = -2$. > > Il risultato: > $$(x^3 - 2x + 1) + (4x^4 + x - 3) = 4x^4 + x^3 - x - 2.$$ > > **Multiplo.** Si moltiplica ogni coefficiente per lo scalare: > $$3(x^3 - 2x) = 3 \cdot x^3 - 3 \cdot 2x = 3x^3 - 6x.$$ Se scrivi i coefficienti in una tabella, una colonna per ogni potenza, la somma dei due polinomi diventa una somma di liste. | | $x^4$ | $x^3$ | $x^2$ | $x$ | senza $x$ | |---|---:|---:|---:|---:|---:| | $x^3 - 2x + 1$ | $0$ | $1$ | $0$ | $-2$ | $1$ | | $4x^4 + x - 3$ | $4$ | $0$ | $0$ | $1$ | $-3$ | | somma | $4$ | $1$ | $0$ | $-1$ | $-2$ | Dove una potenza manca, il coefficiente è 0. L'ultima riga si legge $4x^4 + x^3 - x - 2$: lo stesso risultato di prima. Il vettore nullo è il **polinomio nullo**, quello con tutti i coefficienti uguali a 0. L'opposto di un polinomio si ottiene cambiando il segno a tutti i coefficienti. > [!TRAPPOLA] Il prodotto tra polinomi non c'entra > Due polinomi si possono anche moltiplicare tra loro. Ma questa operazione **non** fa parte dello spazio vettoriale: qui contano solo la somma e il prodotto per uno scalare. ### Polinomi con il grado limitato Spesso non servono tutti i polinomi, ma solo quelli che non superano un certo grado. L'insieme dei polinomi di grado **al massimo** $k$ si scrive $\K_k[x]$. Per esempio $\R_2[x]$ contiene i polinomi reali di grado al massimo 2: $$\R_2[x] = \{ax^2 + bx + c \mid a, b, c \in \R\}$$ Si legge: «i polinomi $ax^2 + bx + c$, dove $a$, $b$ e $c$ sono numeri reali». La barretta verticale si legge «dove». Dentro ci sono anche i polinomi di grado più basso, come $3x + 1$, e il polinomio nullo: basta prendere qualche coefficiente uguale a 0. Questo insieme è uno spazio vettoriale: è l'Esercizio 5.7 delle dispense, qui esercizio 10. Sommando due polinomi di grado al massimo 2 il grado non sale. Moltiplicando per uno scalare nemmeno. > [!TRAPPOLA] Grado al massimo $k$ sì, grado esattamente $k$ no > I polinomi di grado **esattamente** 2 non formano uno spazio vettoriale. Prendi $x^2$ e $-x^2 + x$: hanno tutti e due grado 2. La loro somma è $x$, che ha grado 1: è uscita dall'insieme. Inoltre il polinomio nullo non ha grado 2, quindi manca il vettore nullo. ### Tutti gli esempi in una tabella | Spazio | Un vettore è | Somma e multiplo si fanno | Vettore nullo | |---|---|---|---| | $\K$ | un numero | come tra i numeri | $0$ | | $\K^n$ | una lista di $n$ numeri | una coordinata alla volta | $(0, \dots, 0)$ | | successioni | una lista infinita | un termine alla volta | $(0, 0, 0, \dots)$ | | funzioni $[0, 1] \to \K$ | una funzione | un punto alla volta | la funzione nulla | | $\K[x]$ | un polinomio | un coefficiente alla volta | il polinomio nullo | > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli: > > - gruppi, anelli e campi sono nel **§1.5 «Strutture algebriche»** (pp. 34–36); > - lo spazio euclideo, la somma e il prodotto per scalare sono nel **§2.1** (pp. 43–46); > - la definizione di spazio vettoriale, la Proposizione 2.2.1 ($0v = 0$) e gli esempi (liste, polinomi, funzioni) sono nei **§2.2.1–2.2.4** (pp. 46–49); > - le matrici (§2.2.5) sono nella lezione L06. ::: prova Scrivi i primi quattro termini della somma delle successioni $(1, 2, 3, 4, \dots)$ e $(10, 10, 10, 10, \dots)$. Un posto alla volta: $(11, 12, 13, 14, \dots)$. ::: ::: prova Con $f(x) = 2x$ e $g(x) = x^2$, quanto vale $(f + g)(1)$? E $(5g)(1)$? Quando entra 1, da $f$ esce $2 \cdot 1 = 2$ e da $g$ esce $1^2 = 1$. Quindi $(f + g)(1) = 2 + 1 = 3$. Poi $(5g)(1) = 5 \cdot 1 = 5$. ::: ::: prova Quanto fa $(x^2 + 3x) + (2x^2 - x + 1)$? Potenza 2: $1 + 2 = 3$. Potenza 1: $3 - 1 = 2$. Senza la $x$: $0 + 1 = 1$. Risultato: $3x^2 + 2x + 1$. ::: > [!RICORDA] > - Successioni, funzioni e polinomi si sommano e si moltiplicano per uno scalare un pezzo alla volta: termine per termine, punto per punto, coefficiente per coefficiente. > - Il vettore nullo è, nei tre casi: la successione di soli zeri, la funzione che vale sempre 0, il polinomio nullo. > - I polinomi di grado **al massimo** $k$ formano uno spazio vettoriale. Quelli di grado **esattamente** $k$ no. ## Come si vede che non è uno spazio vettoriale (oltre le dispense) All'esame la domanda tipica è: «quale di questi insiemi è uno spazio vettoriale?». Di solito l'insieme è un pezzo di uno spazio già noto: alcune liste, alcuni polinomi, alcune funzioni. Le operazioni sono quelle solite. In questo caso le otto regole non vanno ricontrollate: valgono per tutti i vettori dello spazio grande, quindi anche per quelli del pezzo. Resta una sola cosa da controllare: che facendo somme e multipli **non si esca** dal pezzo. Può andare storto in tre modi. ### Primo modo: manca il vettore nullo Prendi le liste di due numeri la cui somma fa 1, come $(1, 0)$, $(0, 1)$ e $(3, -2)$. Sulla mappa formano una retta. Negli appelli un insieme così è scritto con le graffe e con una condizione: $$\{(x, y) \in \R^2 \mid x + y = 1\}$$ Si legge: «le liste $(x, y)$ di $\R^2$ tali che $x + y$ fa 1». La barretta verticale si legge «tali che»: a sinistra dice dove si cercano gli elementi, a destra la condizione che devono rispettare. Il vettore nullo non sta in questo insieme: i suoi due numeri sommati fanno 0, non 1. E senza vettore nullo non c'è uno spazio vettoriale. ```grafico titolo: Due rette: quella che passa per l'origine è uno spazio vettoriale, l'altra no x: -3 3 y: -3 3 retta: 0 0 2 -2 | accento | spesso | $x + y = 0$ | so retta: 0 1 -1.5 2.5 | rosa | tratteggio | $x + y = 1$ | ne punto: 0 0 | accento punto: 1 0 | rosa punto: 0 1 | rosa punto: 1 1 | ambra | $(1, 1)$ | ne ``` Guarda la figura. La retta tratteggiata è l'insieme appena visto: non passa per l'origine. La retta continua è fatta delle liste in cui la somma dei due numeri fa 0: passa per l'origine. ### Secondo modo: una somma esce Resta sulla retta tratteggiata e somma due suoi elementi: $$(1, 0) + (0, 1) = (1, 1)$$ Nel risultato i due numeri sommati fanno 2, non 1. La somma è uscita dall'insieme. Nella figura è il pallino fuori dalla retta tratteggiata. Succede lo stesso con i polinomi di grado esattamente 2, visti nella sezione precedente. ### Terzo modo: un multiplo esce Prendi le liste di due numeri in cui il primo numero non è negativo, come $(1, 0)$ e $(2, 5)$. Sulla mappa è la metà di destra. Qui il vettore nullo c'è. E la somma di due elementi resta dentro: due numeri non negativi sommati danno un numero non negativo. Ma moltiplica per $-1$: $$-1 \cdot (1, 0) = (-1, 0)$$ Il primo numero è diventato negativo: il multiplo è uscito dall'insieme. ### Quando la risposta è sì Prendi le liste in cui la somma dei due numeri fa 0, come $(1, -1)$ e $(2, -2)$. È la retta continua della figura. - Il vettore nullo c'è: $0 + 0 = 0$. - Una somma: $(1, -1) + (2, -2) = (3, -3)$. È rimasta dentro, perché $3 - 3 = 0$. - Un multiplo: $5 \cdot (1, -1) = (5, -5)$. È rimasto dentro, perché $5 - 5 = 0$. Gli esempi non bastano per dire sì: serve un motivo che valga per tutti gli elementi. Qui il motivo è questo. In ogni lista dell'insieme il secondo numero è l'opposto del primo. Sommando due liste così, il secondo numero resta l'opposto del primo. Moltiplicandone una per uno scalare, anche. Quindi questo insieme è uno spazio vettoriale. Nella lezione L06 un insieme così si chiamerà **sottospazio**. > [!IDEA] > Per dire **no** basta un solo esempio che esce dall'insieme. Per dire **sì** serve un ragionamento che valga per tutti i vettori e per tutti gli scalari. ::: prova Le liste di due numeri con il secondo numero uguale a 1, come $(0, 1)$ e $(4, 1)$, formano uno spazio vettoriale? No. Il vettore nullo $(0, 0)$ ha il secondo numero uguale a 0, non a 1: non sta nell'insieme. ::: ::: prova Le liste in cui il secondo numero è il doppio del primo, come $(1, 2)$ e $(-3, -6)$, formano uno spazio vettoriale? Sì. Il vettore nullo c'è, perché 0 è il doppio di 0. Sommando due liste così il secondo numero resta il doppio del primo: per esempio $(1, 2) + (-3, -6) = (-2, -4)$. Lo stesso succede con i multipli: per esempio $3 \cdot (1, 2) = (3, 6)$. Sono i multipli del vettore $(1, 2)$: la retta della figura nella sezione sui multipli. ::: ::: prova I polinomi che in 0 valgono 1, come $x + 1$ e $x^2 + 1$, formano uno spazio vettoriale? No. Il polinomio nullo in 0 vale 0, non 1: manca il vettore nullo. Anche la somma esce: $(x + 1) + (x^2 + 1) = x^2 + x + 2$, che in 0 vale 2. ::: > [!RICORDA] > - Per un pezzo di uno spazio noto, con le operazioni solite, bastano tre controlli: c'è il vettore nullo? Le somme restano dentro? I multipli restano dentro? > - Se uno dei tre controlli fallisce, non è uno spazio vettoriale. Basta un esempio. > - Una retta che passa per l'origine supera i tre controlli. Una retta che non passa per l'origine no. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $(3, 2)$ | «tre, due» | un vettore: una lista ordinata di numeri | 3 a destra e 2 in su | | $\begin{pmatrix} 3 \\ 2 \end{pmatrix}$ | «tre, due», in colonna | lo stesso vettore scritto in verticale | | | ${}^t(1, 2, 3)$ | «trasposto di uno, due, tre» | la riga messa in verticale: scrittura degli appelli | | | $\R^n$ | «erre enne» | l'insieme delle liste di $n$ numeri reali | $(3, 2) \in \R^2$ | | $\in$, $\notin$ | «appartiene a», «non appartiene a» | sta dentro l'insieme, non sta dentro l'insieme | $(3, 2) \notin \R^3$ | | $\subset$ | «è contenuto in» | tutti gli elementi del primo insieme stanno nel secondo | $\R \subset \C$ | | $\ge$ | «maggiore o uguale» | confronto tra due numeri, con l'uguale permesso | $n \ge 1$ | | $x_1$, $x_n$ | «ics uno», «ics enne» | la prima e l'ultima coordinata del vettore $x$ | se $x = (3, 2)$, allora $x_1 = 3$ | | $\times$ | «per» | prodotto cartesiano: le coppie ordinate | $\R \times \R = \R^2$ | | $\lambda$, $\mu$ | «lambda», «mi» | due scalari, cioè due numeri | $\lambda = 2$ | | $\lambda v$ | «lambda per vu» | il multiplo: ogni coordinata per lo scalare | $2(1, 2) = (2, 4)$ | | $-v$ | «meno vu» | l'opposto: il multiplo con lo scalare $-1$ | $-(1, 2) = (-1, -2)$ | | $\mapsto$ | «va in» | a questo elemento corrisponde quest'altro | $x \mapsto 2x$ | | $\lvert \lambda \rvert$ | «valore assoluto di lambda» | il numero senza il segno meno | $\lvert -2 \rvert = 2$ | | $a * b$ | «a asterisco b» | il risultato di un'operazione qualsiasi | $2 + 3$ oppure $2 \cdot 3$ | | $e$, $a'$ | «e», «a primo» | in un gruppo: l'elemento neutro e l'inverso di $a$ | con la somma: $0$ e $-a$ | | $a^{-1}$ | «a alla meno uno» | l'inverso per il prodotto | $7^{-1} = \frac 17$ | | $\setminus$ | «senza» | il primo insieme, tolti gli elementi del secondo | $\Q \setminus \{0\}$ | | $\forall$, $\exists$ | «per ogni», «esiste» | vale per tutti gli elementi; ce n'è almeno uno | $\forall a \in G$ | | $\K$ | «cappa» | un campo qualsiasi: nel corso $\R$ oppure $\C$ | | | $0_A$, $1_A$ | «zero di A», «uno di A» | gli elementi neutri di somma e prodotto in un campo | $0$ e $1$ | | $0_V$ | «zero di vu» | il vettore nullo dello spazio vettoriale $V$ | $(0, 0)$ in $\R^2$ | | $\K^n$, $\C^n$ | «cappa enne», «ci enne» | le liste di $n$ numeri del campo | $(i, 0) \in \C^2$ | | $(x_n)_{n \in \N}$ | «la successione degli ics enne» | una lista infinita $x_0, x_1, x_2, \dots$ | $(1, 2, 3, \dots)$ | | $f : [0, 1] \to \K$ | «effe, da zero-uno a cappa» | una funzione: entra un numero tra 0 e 1, esce un numero del campo | $f(x) = x^2$ | | $\K[x]$, $\K_k[x]$ | «cappa di ics» | tutti i polinomi; quelli di grado al massimo $k$ | $3x + 1$ sta in $\R_2[x]$ | | $\mid$ | «tali che» | introduce la condizione da rispettare | $\{(x, y) \in \R^2 \mid x + y = 0\}$ | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 domande a risposta multipla, ognuna con 5 risposte. Servono almeno 6 risposte giuste per far correggere i 2 problemi, che valgono 11 punti l'uno. La prova dura 2 ore, senza calcolatrice. Si possono portare solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa viene chiesto di questa lezione** 1. **Riconoscere uno spazio vettoriale.** Nel quiz compaiono domande di teoria con cinque risposte, ognuna con la sua motivazione. Un esempio è la domanda 2 dell'appello del 07/02/2025, che leggiamo insieme qui sotto. 2. **Scartare la risposta «non è uno spazio vettoriale».** Nelle domande sulla dimensione (lezione L07) c'è spesso una risposta trappola di questo tipo. Tre esempi veri sono nell'elenco qui sotto. 3. **Sottospazi.** La domanda più frequente di questa parte è «quale di questi insiemi è (o non è) un sottospazio?». Compare negli appelli dell'08/02/2024 (domanda 2), del 03/06/2025 (domanda 2), del 05/02/2026 (domanda 2) e del 07/09/2026 (domanda 6). Si risolve con i tre controlli di questa lezione e con la definizione di sottospazio della lezione L06. 4. **Conti un posto alla volta.** Somme e multipli di liste, anche con i numeri complessi, e di polinomi. Servono in quasi tutti gli esercizi del corso. Le tre risposte trappola del punto 2: - «$T^s(3)$ non ha una dimensione perché non è uno spazio vettoriale» (24/01/2024, domanda 5); - «$S(3)$ non ha una dimensione perché non è uno spazio vettoriale» (15/01/2026, domanda 4); - «$X$ non è necessariamente uno spazio vettoriale», dove $X = \Span(v_1, v_2, v_3)$ (15/01/2026, domanda 3). I simboli di queste tre frasi si spiegano nella lezione L06. I primi due sono insiemi di tabelle di numeri, cioè di matrici: quelle triangolari e quelle simmetriche. Il terzo è l'insieme di tutto ciò che si ottiene sommando multipli di tre vettori. Per ora basta sapere che sono sempre spazi vettoriali. Quindi le tre risposte sono sbagliate. > [!METODO] · «È uno spazio vettoriale?» in quattro controlli > 1. **Chi è chi.** Scrivi chi sono i vettori, chi sono gli scalari e quali sono le due operazioni. > 2. **Si resta dentro?** Prova con elementi concreti. Somma due elementi. Moltiplica un elemento per uno scalare: prova anche con $-1$ e con 0. > 3. **Il vettore nullo c'è?** Deve stare nell'insieme. > 4. **Le regole.** Se l'insieme è un pezzo di uno spazio noto, con le stesse operazioni, le otto regole valgono già. Se le operazioni sono insolite, prova ogni regola con numeri piccoli. > > Per rispondere **no** basta **un** esempio che non torna. Per rispondere **sì** serve un ragionamento che valga per tutti i vettori e per tutti gli scalari. **Una domanda vera, letta insieme** > [!ESAME] Appello del 07/02/2025, domanda 2 > «Identificate la risposta corretta alla domanda “$\C$ ammette una struttura di spazio vettoriale su $\R$?”» > > - (a) «No, poiché $\C$ è già uno spazio vettoriale su $\C$ stesso.» > - (b) «Sì, perché ogni campo è uno spazio vettoriale su $\R$.» > - (c) «No, ma poiché $\C$ contiene $\R$, $\R$ è uno spazio vettoriale su $\C$.» > - (d) «No, in quanto $\C$ e $\R$ sono campi diversi.» > - (e) «Sì, $\R$ è sottoinsieme di $\C$ e le operazioni $+$, $\cdot$ su $\R$ sono le stesse che in $\C$.» **In pratica chiede:** i numeri complessi sono uno spazio vettoriale, se come scalari si usano solo i numeri reali? «Ammette una struttura di» vuol dire «si può vedere come». Primo controllo del metodo: chi è chi. - I vettori sono i numeri complessi, come $2 + 3i$. - Gli scalari sono i numeri reali, come 5. - La somma è quella solita tra numeri complessi. - Il prodotto per scalare è il prodotto solito tra un numero reale e un numero complesso. Poi gli altri controlli. 1. **Le somme restano dentro?** Sì: la somma di due numeri complessi è un numero complesso. Per esempio $(2 + 3i) + (1 - i) = 3 + 2i$. 2. **I multipli restano dentro?** Sì: un numero reale per un numero complesso è un numero complesso. Per esempio $5 \cdot (2 + 3i) = 10 + 15i$. 3. **Il vettore nullo c'è?** Sì: è il numero complesso 0. 4. **Le otto regole valgono?** Sì. Sono regole dei conti tra numeri complessi, usate nel caso in cui uno dei due numeri è reale. Quindi la risposta è sì. Restano la (b) e la (e): per scegliere bisogna guardare la motivazione. - La (e) dà il motivo giusto. «$\R$ è sottoinsieme di $\C$» vuol dire che ogni numero reale è anche un numero complesso. Con i simboli della lezione L01 si scrive $\R \subset \C$, che si legge «erre è contenuto in ci». Per questo le operazioni dei complessi funzionano anche quando uno dei numeri è reale. - La (b) dice sì, ma con un motivo falso. Non ogni campo è uno spazio vettoriale sui reali. Le frazioni, per esempio, no: $\sqrt 2 \cdot 1 = \sqrt 2$ non è una frazione, quindi un multiplo esce. - La (a) e la (d) dicono cose vere, che però non impediscono niente. Lo stesso insieme può essere uno spazio vettoriale su due campi diversi. - La (c) è falsa. I reali non sono uno spazio vettoriale sui complessi: $i \cdot 1 = i$ non è un numero reale. La risposta giusta è la **(e)**. La soluzione ufficiale dice lo stesso: (a) e (d) sono affermazioni vere che non rispondono alla domanda, (b) e (c) danno motivazioni false. > [!TRAPPOLA] Gli errori più comuni > - Confondere il numero zero con il vettore nullo. > - Dimenticare di controllare che somme e multipli restino nell'insieme. > - Credere che «grado esattamente $k$» vada bene come «grado al massimo $k$». > - Nei conti con i numeri complessi, dimenticare che $i^2 = -1$. > - Dire «è uno spazio vettoriale» senza dire **su quale campo**. I numeri complessi lo sono su $\R$ e su $\C$. Le liste di due numeri reali lo sono su $\R$, ma non su $\C$. > [!ESAME] Il foglio da 4 facciate > Da questa lezione conviene copiare: > > - le cinque proprietà della definizione, con le quattro regole contenute nella prima; > - le due righe $0v = 0_V$ e $(-1)v = -v$; > - la tabella dei cinque esempi, ognuno con il suo vettore nullo; > - i tre modi di uscire da un insieme: manca il vettore nullo, una somma esce, un multiplo esce. ## Quiz ```quiz D: Con la somma e il prodotto per scalare usuali (coordinata per coordinata), $\R^2$ è uno spazio vettoriale sul campo $\C$? - Sì, perché $\R \subset \C$. + No: per esempio $i \cdot (1, 0) = (i, 0)$ non sta in $\R^2$. - Sì, perché ogni spazio vettoriale su $\R$ lo è anche su $\C$. - No, perché $\R^2$ con la somma non è un gruppo commutativo. - No, perché $\C$ non è un campo. = Un prodotto per scalare non deve far uscire dall'insieme. Provo con lo scalare $i$ e il vettore $(1, 0)$: viene $(i \cdot 1,\ i \cdot 0) = (i, 0)$. La prima coordinata non è un numero reale: il multiplo è uscito da $\R^2$. La risposta «Sì, perché $\R \subset \C$» è la più tentatrice, ma ragiona al contrario: va bene quando gli scalari sono una parte dei numeri usati per le coordinate, come per $\C$ su $\R$ (Esercizio 5.8). Simile all'appello del 07/02/2025, domanda 2. D: $\R$, con la somma usuale e il prodotto per numeri razionali, è uno spazio vettoriale su $\Q$? + Sì: un razionale per un reale è un reale, e gli assiomi seguono dalle proprietà del campo $\R$. - No, perché $\sqrt 2 \notin \Q$. - No: semmai è $\Q$ a essere uno spazio vettoriale su $\R$. - Sì, ma solo se ci si limita ai numeri razionali. - No, perché $\R$ e $\Q$ sono campi diversi. = Qui i vettori sono i numeri reali e gli scalari sono le frazioni. Una frazione per un numero reale è ancora un numero reale: i multipli restano dentro. Le regole valgono perché sono regole dei conti tra numeri reali. La risposta «No, perché $\sqrt 2 \notin \Q$» è la più tentatrice: dice una cosa vera che non c'entra, perché qui $\sqrt 2$ è un vettore e non uno scalare. È falso invece il contrario: $\Q$ non è uno spazio vettoriale su $\R$, perché $\sqrt 2 \cdot 1$ non è una frazione. Simile all'appello del 07/02/2025, domanda 2. D: Quale di questi, con l'operazione indicata, è un gruppo commutativo? - $(\N, +)$ - $(\Z, \cdot)$ + $(\Q \setminus \{0\}, \cdot)$ - $(\R, \cdot)$ - $(\Z \setminus \{0\}, \cdot)$ = Tra le frazioni diverse da zero, cioè in $\Q \setminus \{0\}$, il prodotto non fa uscire, l'elemento neutro è $1$ e l'inverso di $\frac 23$ è $\frac 32$. Gli altri falliscono sull'inverso. In $(\N, +)$ manca l'opposto di $1$. In $(\Z, \cdot)$ e in $(\Z \setminus \{0\}, \cdot)$ manca l'inverso di $2$. La risposta più tentatrice è $(\R, \cdot)$: dentro c'è lo $0$, che non ha inverso. D: Quale di questi insiemi, con le operazioni indicate, è un campo? - $\Z$, con somma e prodotto usuali. - $\N$, con somma e prodotto usuali. + $\{0, 1\}$, con $1 + 1 = 0$ e le altre somme e i prodotti come negli interi. - $\R \setminus \{0\}$, con somma e prodotto usuali. - $\{0, 1, 2, 3\}$, con somma e prodotto dei resti nella divisione per $4$. = L'insieme $\{0, 1\}$ con $1 + 1 = 0$ è il campo dell'Esercizio 5.9: sono le regole dei numeri pari e dispari. In $\Z$ il numero $2$ non ha inverso. In $\N$ manca l'opposto di $1$. In $\R \setminus \{0\}$ la somma esce: $1 + (-1) = 0$. La risposta con i resti della divisione per $4$ è la più tentatrice, perché assomiglia a quella giusta. Ma lì $2$ non ha inverso: $2 \cdot 1 = 2$, poi $2 \cdot 2 = 4$ ha resto $0$, poi $2 \cdot 3 = 6$ ha resto $2$. D: In $\C^2$, quanto vale $(1 + i)\begin{pmatrix} 2 \\ i \end{pmatrix}$? + $\begin{pmatrix} 2 + 2i \\ -1 + i \end{pmatrix}$ - $\begin{pmatrix} 2 + 2i \\ 1 + i \end{pmatrix}$ - $\begin{pmatrix} 2 + 2i \\ i \end{pmatrix}$ - $\begin{pmatrix} 3 + i \\ 1 + 2i \end{pmatrix}$ - $\begin{pmatrix} 2 \\ -1 \end{pmatrix}$ = Lo scalare moltiplica tutte e due le coordinate. Prima coordinata: $(1 + i) \cdot 2 = 2 + 2i$. Seconda coordinata: $(1 + i) \cdot i = i + i^2 = i - 1$, perché $i^2 = -1$. La risposta con $1 + i$ al secondo posto è la più tentatrice: nasce dallo scrivere $i^2 = 1$. Quella con $3 + i$ al primo posto somma lo scalare invece di moltiplicare. D: In $\R^3$, quanto vale $2\begin{pmatrix} 1 \\ 0 \\ -1 \end{pmatrix} - 3\begin{pmatrix} 0 \\ 1 \\ 2 \end{pmatrix}$? + $(2, -3, -8)$ - $(2, -3, 4)$ - $(2, 3, -8)$ - $(2, -1, -4)$ - $(2, -3, -7)$ = Primo multiplo: $2 \cdot (1, 0, -1) = (2, 0, -2)$. Secondo multiplo: $3 \cdot (0, 1, 2) = (0, 3, 6)$. Differenza, un posto alla volta: $(2 - 0,\ 0 - 3,\ -2 - 6) = (2, -3, -8)$. La risposta $(2, -3, 4)$ è la più tentatrice: nasce dal fare $-2 + 6$ all'ultimo posto. Il segno meno vale per tutte le coordinate del secondo vettore. D: Con la somma e il prodotto per scalare usuali, quale di questi insiemi di polinomi a coefficienti reali è uno spazio vettoriale su $\R$? - I polinomi di grado esattamente $2$. - I polinomi $p(x)$ con $p(0) = 1$. + I polinomi di grado minore o uguale a $2$, cioè $\R_2[x]$. - I polinomi con tutti i coefficienti maggiori o uguali a $0$. - I polinomi della forma $x^2 + bx + c$, con $b, c \in \R$. = In $\R_2[x]$ il grado non supera mai 2, né sommando né moltiplicando per uno scalare, e il polinomio nullo c'è: è lo spazio dell'Esercizio 5.7. La risposta «grado esattamente 2» è la più tentatrice, ma $x^2$ più $-x^2 + x$ fa $x$, che ha grado 1. La scrittura $p(0) = 1$ vuol dire che il polinomio vale 1 quando al posto di $x$ metti 0: il polinomio nullo lì vale 0. Con i coefficienti non negativi un multiplo esce: $-1 \cdot x = -x$. Con la forma $x^2 + bx + c$ una somma esce: $x^2 + 1$ più se stesso fa $2x^2 + 2$. Simile agli appelli dell'08/02/2024 (domanda 2) e del 07/09/2026 (domanda 6), che chiedono quale insieme di polinomi è (o non è) un sottospazio. D: Con le operazioni di $\R^2$, quale di questi sottoinsiemi è uno spazio vettoriale su $\R$? + $\{(x, y) \in \R^2 \mid x + y = 0\}$ - $\{(x, y) \in \R^2 \mid x + y = 1\}$ - $\{(x, y) \in \R^2 \mid x \ge 0\}$ - $\{(x, y) \in \R^2 \mid xy = 0\}$ - $\{(x, y) \in \R^2 \mid y = x^2\}$ = La barretta verticale si legge «tali che». Sono pezzi di $\R^2$ con le operazioni solite, quindi bastano tre controlli: vettore nullo, somme, multipli. Con $x + y = 0$ il secondo numero è l'opposto del primo, e resta così sommando due liste o moltiplicandone una per uno scalare. Con $x + y = 1$ manca il vettore nullo: è la risposta più tentatrice, perché cambia solo un numero. Con $x \ge 0$ un multiplo esce: $-1 \cdot (1, 0) = (-1, 0)$. Con $xy = 0$ una somma esce: $(1, 0) + (0, 1) = (1, 1)$. Con $y = x^2$ una somma esce: $(1, 1) + (1, 1) = (2, 2)$, ma $2^2$ fa 4. Simile all'appello del 03/06/2025, domanda 2. D: Le funzioni $f : [0, 1] \to \R$ con $f(0) = 1$, con le operazioni punto per punto, formano uno spazio vettoriale su $\R$? - Sì, come tutte le funzioni da $[0, 1]$ in $\R$. + No: per esempio la funzione nulla non ci sta, e se $f(0) = g(0) = 1$ allora $(f + g)(0) = 2$. - Sì, perché $1$ è l'elemento neutro del prodotto. - No, perché le funzioni non sono vettori. - Sì, ma solo se ci si limita ai polinomi. = La funzione nulla, che è il vettore nullo, in 0 vale 0 e non 1: non sta nell'insieme. Anche una somma esce: se due funzioni in 0 valgono 1, la loro somma in 0 vale 2. La risposta «Sì, come tutte le funzioni» è la più tentatrice: tutte le funzioni insieme formano uno spazio vettoriale, ma un loro pezzo può non esserlo. È lo stesso motivo dell'appello del 10/07/2024, domanda 2: l'insieme $O(2)$ delle matrici ortogonali non è un sottospazio perché non contiene la matrice nulla. D: Nel campo $\{0, 1, 2\}$ con somma e prodotto dei resti nella divisione per $3$ (Esercizio 5.10), qual è l'inverso di $2$ rispetto al prodotto? N: 2 = L'inverso di 2 è l'elemento che moltiplicato per 2 dà 1. Si calcola come negli interi e poi si tiene il resto della divisione per 3. $2 \cdot 1 = 2$. $2 \cdot 2 = 4$, che diviso 3 dà resto 1. Quindi in questo campo $2 \cdot 2 = 1$: l'inverso di 2 è 2 stesso. ``` ## Esercizi ::: esercizio base Somme, un posto alla volta Calcola: (a) $(2, 1) + (1, 3)$; (b) $(1, 0, -2) + (4, 5, 2)$; (c) $(3, -1) + (-3, 1)$. ::: soluzione Si somma il primo numero con il primo, il secondo con il secondo, e avanti così. (a) $(2 + 1,\ 1 + 3) = (3, 4)$. (b) $(1 + 4,\ 0 + 5,\ -2 + 2) = (5, 5, 0)$. (c) $(3 - 3,\ -1 + 1) = (0, 0)$. Viene il vettore nullo: il secondo vettore è l'opposto del primo. ::: ::: esercizio base Multipli di un vettore Calcola: (a) $3 \cdot (1, -2)$; (b) $-1 \cdot (2, 0, 5)$; (c) $\frac 12 \cdot (4, 6)$; (d) $0 \cdot (3, 3)$. ::: soluzione Lo scalare moltiplica ogni coordinata. (a) $(3 \cdot 1,\ 3 \cdot (-2)) = (3, -6)$. (b) $(-1 \cdot 2,\ -1 \cdot 0,\ -1 \cdot 5) = (-2, 0, -5)$. È l'opposto del vettore di partenza. (c) $(\frac 12 \cdot 4,\ \frac 12 \cdot 6) = (2, 3)$. Moltiplicare per $\frac 12$ vuol dire dividere a metà. (d) $(0 \cdot 3,\ 0 \cdot 3) = (0, 0)$. Il numero zero per un vettore dà il vettore nullo (Proposizione 5.5). ::: ::: esercizio base Polinomi e funzioni, un pezzo alla volta (a) Somma i polinomi $x^2 + 2x$ e $3x + 1$. (b) Calcola $2 \cdot (x^2 - 1)$. (c) Con $f(x) = x + 1$ e $g(x) = x^2$, quanto vale $(f + g)(1)$? ::: soluzione (a) Si mettono insieme i pezzi con la stessa potenza. - Potenza 2: c'è solo $x^2$. - Potenza 1: $2x + 3x = 5x$. - Senza la $x$: c'è solo $1$. Risultato: $x^2 + 5x + 1$. (b) Lo scalare moltiplica ogni coefficiente: $2 \cdot x^2 - 2 \cdot 1 = 2x^2 - 2$. (c) Quando entra 1, da $f$ esce $1 + 1 = 2$ e da $g$ esce $1^2 = 1$. La somma è $2 + 1 = 3$. ::: ::: esercizio base Il vettore nullo c'è? Per ogni insieme di' se contiene il vettore nullo: (a) le liste $(x, y)$ con $y = 3$; (b) le liste $(x, y)$ con $y = 3x$; (c) i polinomi di grado esattamente $1$; (d) le funzioni che in $1$ valgono $0$. ::: soluzione (a) **No.** Il vettore nullo è $(0, 0)$: il suo secondo numero è 0, non 3. (b) **Sì.** In $(0, 0)$ il secondo numero è 0, e il triplo del primo è $3 \cdot 0 = 0$. La condizione è rispettata. (c) **No.** Il vettore nullo è il polinomio nullo, che non ha grado 1. (d) **Sì.** Il vettore nullo è la funzione nulla, che vale 0 in ogni punto, quindi anche in 1. Che cosa se ne ricava: (a) e (c) non sono spazi vettoriali. Per (b) e (d) il primo controllo è superato. Restano da controllare le somme e i multipli. ::: ::: esercizio base Conti in $\R^3$, in $\C^2$ e tra polinomi Calcola: (a) $2u - 3v$ con $u = (1, 0, -1)$ e $v = (2, -1, 1)$ in $\R^3$; (b) $iz + w$ con $z = (1 + i, 2)$ e $w = (3, -i)$ in $\C^2$; (c) $2p - q$ con $p(x) = x^3 - x + 2$ e $q(x) = 2x^3 + x^2 - 4$; (d) il vettore $x \in \R^3$ per cui $x + (1, 2, 3) = (4, 0, 3)$. ::: soluzione (a) Prima i due multipli, poi la differenza. 1. $2u = (2 \cdot 1,\ 2 \cdot 0,\ 2 \cdot (-1)) = (2, 0, -2)$. 2. $3v = (3 \cdot 2,\ 3 \cdot (-1),\ 3 \cdot 1) = (6, -3, 3)$. 3. $2u - 3v = (2 - 6,\ 0 - (-3),\ -2 - 3) = (-4, 3, -5)$. Al secondo posto si toglie un numero negativo: $0 - (-3) = 0 + 3 = 3$. (b) Prima il multiplo con lo scalare $i$, poi la somma. 1. Primo posto di $iz$: $i \cdot (1 + i) = i + i^2 = i - 1$, cioè $-1 + i$. 2. Secondo posto di $iz$: $i \cdot 2 = 2i$. 3. Quindi $iz = (-1 + i,\ 2i)$. 4. Somma con $w$, primo posto: $(-1 + i) + 3 = 2 + i$. 5. Somma con $w$, secondo posto: $2i + (-i) = i$. Risultato: $iz + w = (2 + i,\ i)$. (c) Prima il doppio di $p$, poi la differenza, una potenza alla volta. 1. $2p(x) = 2x^3 - 2x + 4$. 2. Potenza 3: $2 - 2 = 0$. Il pezzo con $x^3$ sparisce. 3. Potenza 2: in $2p$ non c'è, quindi $0 - 1 = -1$. Viene $-x^2$. 4. Potenza 1: in $q$ non c'è, quindi $-2 - 0 = -2$. Viene $-2x$. 5. Senza la $x$: $4 - (-4) = 4 + 4 = 8$. Risultato: $2p(x) - q(x) = -x^2 - 2x + 8$. (d) Bisogna togliere $(1, 2, 3)$ da tutti e due i lati, cioè sommare il suo opposto. 1. A sinistra resta $x$. 2. A destra: $(4, 0, 3) - (1, 2, 3) = (4 - 1,\ 0 - 2,\ 3 - 3) = (3, -2, 0)$. Quindi $x = (3, -2, 0)$. Controllo: $(3, -2, 0) + (1, 2, 3) = (3 + 1,\ -2 + 2,\ 0 + 3) = (4, 0, 3)$. ::: ::: esercizio base Gruppo o no? Per ciascun caso di' se è un gruppo. Se lo è, indica l'elemento neutro e l'inverso di un elemento; se non lo è, indica che cosa fallisce, con un esempio. (a) I numeri pari $\{\dots, -2, 0, 2, 4, \dots\}$ con la somma. (b) I numeri dispari con la somma. (c) $\Z$ con la sottrazione, $a * b = a - b$. (d) $\{1, -1\}$ con il prodotto. (e) I numeri reali positivi con il prodotto. ::: soluzione Per ogni caso si controlla: si resta dentro? C'è l'elemento neutro? Le parentesi si spostano? Ogni elemento ha l'inverso? (a) **Sì**, ed è commutativo. La somma di due numeri pari è pari: per esempio $2 + 4 = 6$. L'elemento neutro è 0, che è pari. L'inverso di 4 è $-4$, che è pari. La proprietà associativa vale perché vale per tutti gli interi. (b) **No.** Si esce dall'insieme: $1 + 3 = 4$, che non è dispari. Manca anche l'elemento neutro, perché lo 0 è pari. (c) **No.** La sottrazione non è associativa. - A sinistra: $(5 - 3) - 1 = 2 - 1 = 1$. - A destra: $5 - (3 - 1) = 5 - 2 = 3$. I due risultati sono diversi. Manca anche l'elemento neutro. Lo 0 funziona solo se sta a destra: $5 - 0 = 5$, ma $0 - 5 = -5$. (d) **Sì**, ed è commutativo. I prodotti possibili sono tre: $1 \cdot 1 = 1$, poi $1 \cdot (-1) = -1$, poi $(-1) \cdot (-1) = 1$. Non si esce mai. L'elemento neutro è 1. L'inverso di $-1$ è $-1$ stesso. (e) **Sì**, ed è commutativo. Il prodotto di due numeri positivi è positivo. L'elemento neutro è 1. L'inverso di 5 è $\frac 15$, che è ancora positivo. ::: ::: esercizio base Esercizio 5.8 delle dispense: $\C$ è uno spazio vettoriale su $\R$ Nel primo esempio $\C$ è uno spazio vettoriale sul campo $\C$. Dimostra che è anche uno spazio vettoriale su $\R$. ::: soluzione **Chi è chi.** - I vettori sono i numeri complessi. Un numero complesso si scrive $a + bi$, con $a$ e $b$ reali. - Gli scalari sono i numeri reali. - La somma è quella solita dei numeri complessi. - Il prodotto per scalare è il prodotto solito tra un reale e un complesso: $\lambda(a + bi) = \lambda a + (\lambda b)i$. **Si resta dentro?** Sì. La somma di due complessi è un complesso. Un reale per un complesso è un complesso: per esempio $5 \cdot (2 + 3i) = 10 + 15i$. **Le cinque proprietà della Definizione 5.4.** Chiamo $z$ e $w$ due numeri complessi, e $\lambda$ e $\mu$ due numeri reali. 1. I complessi con la somma sono un gruppo commutativo. È l'assioma 1 dei campi, e $\C$ è un campo. 2. $\lambda(z + w) = \lambda z + \lambda w$. È la proprietà distributiva di $\C$: vale per tutti i complessi, quindi anche quando il primo numero è reale. 3. $(\lambda + \mu)z = \lambda z + \mu z$. Sono le proprietà distributiva e commutativa di $\C$. 4. $(\lambda\mu)z = \lambda(\mu z)$. È la proprietà associativa del prodotto di $\C$. 5. $1z = z$. L'1 è l'elemento neutro del prodotto di $\C$. Ogni proprietà è una regola dei numeri complessi, usata nel caso in cui uno dei numeri è reale. Quindi $\C$ è uno spazio vettoriale su $\R$. **Controllo con i numeri** della proprietà 2, con lo scalare 2 e i vettori $1 + i$ e $3 - 2i$. A sinistra: la somma è $4 - i$, e il doppio è $8 - 2i$. A destra: i due doppi sono $2 + 2i$ e $6 - 4i$, e la loro somma è $8 - 2i$. **Con le coordinate.** Al numero $a + bi$ fai corrispondere la lista $(a, b)$. La somma di due numeri complessi diventa la somma di due liste. Il multiplo $\lambda(a + bi)$ diventa il multiplo $\lambda(a, b)$. Come spazio vettoriale su $\R$, l'insieme $\C$ si comporta come il piano $\R^2$: è il piano di Gauss della lezione L02. **Attenzione al contrario.** $\R$ **non** è uno spazio vettoriale su $\C$ con il prodotto solito: $i \cdot 1 = i$ non è un numero reale. ::: ::: esercizio medio Esercizio 5.9 delle dispense: il campo con due elementi Sia $\K = \{0, 1\}$ con le operazioni $$0 + 0 = 0, \quad 0 + 1 = 1, \quad 1 + 0 = 1, \quad 1 + 1 = 0, \qquad 0 \cdot 0 = 0, \quad 0 \cdot 1 = 0, \quad 1 \cdot 0 = 0, \quad 1 \cdot 1 = 1.$$ Dimostra che $(\K, +, \cdot)$ è un campo. ::: soluzione Bisogna controllare i tre assiomi della Definizione 5.3. **Assioma 1: con la somma è un gruppo commutativo, e l'elemento neutro è 0.** - Non si esce: i risultati delle quattro somme sono solo 0 e 1. - Elemento neutro: $0 + 0 = 0$ e $0 + 1 = 1 + 0 = 1$. Lo 0 non cambia niente. - Inversi: $0 + 0 = 0$, quindi l'opposto di 0 è 0. E $1 + 1 = 0$, quindi l'opposto di 1 è 1. - Commutativa: $0 + 1 = 1 + 0$. Negli altri due casi i due numeri sono uguali. - Associativa: le scelte possibili di tre elementi sono $2 \cdot 2 \cdot 2 = 8$. Sono tutte nella tabella qui sotto. | $a$ | $b$ | $c$ | $(a + b) + c$ | $a + (b + c)$ | |---|---|---|---|---| | $0$ | $0$ | $0$ | $0 + 0 = 0$ | $0 + 0 = 0$ | | $0$ | $0$ | $1$ | $0 + 1 = 1$ | $0 + 1 = 1$ | | $0$ | $1$ | $0$ | $1 + 0 = 1$ | $0 + 1 = 1$ | | $0$ | $1$ | $1$ | $1 + 1 = 0$ | $0 + 0 = 0$ | | $1$ | $0$ | $0$ | $1 + 0 = 1$ | $1 + 0 = 1$ | | $1$ | $0$ | $1$ | $1 + 1 = 0$ | $1 + 1 = 0$ | | $1$ | $1$ | $0$ | $0 + 0 = 0$ | $1 + 1 = 0$ | | $1$ | $1$ | $1$ | $0 + 1 = 1$ | $1 + 0 = 1$ | Le ultime due colonne sono uguali in ogni riga. **Assioma 2: tolto lo 0, con il prodotto è un gruppo commutativo, e l'elemento neutro è 1.** Tolto lo 0 resta il solo elemento 1. L'unico prodotto possibile è $1 \cdot 1 = 1$. Non si esce. L'1 è l'elemento neutro ed è l'inverso di se stesso. Le proprietà associativa e commutativa valgono perché c'è un solo prodotto da fare. **Assioma 3: la proprietà distributiva** $a \cdot (b + c) = a \cdot b + a \cdot c$. - Se $a = 0$: a sinistra $0 \cdot (b + c) = 0$. A destra $0 + 0 = 0$. - Se $a = 1$: a sinistra $1 \cdot (b + c) = b + c$. A destra $b + c$. Vale in tutti e due i casi, quindi vale sempre. **Il perché, in breve.** Leggi 0 come «pari» e 1 come «dispari»: le due tabelle sono le regole dei numeri pari e dispari. Le proprietà della somma e del prodotto degli interi passano ai resti della divisione per 2. Questo campo si indica spesso con $\mathbb{F}_2$ oppure con $\Z_2$. ::: ::: esercizio medio Esercizio 5.6 delle dispense: i cinque assiomi per tutti gli esempi Per tutti gli esempi di spazi vettoriali visti sopra ($\K$ su se stesso, $\K^n$, le successioni, le funzioni $[0, 1] \to \K$, i polinomi $\K[x]$) verifica i 5 assiomi, come le dispense hanno controllato l'assioma 2 per $\K^n$. ::: soluzione L'idea è una sola. In tutti gli esempi le operazioni si fanno un pezzo alla volta: una coordinata, un termine, un punto, un coefficiente. Ogni pezzo è un numero del campo, quindi ogni proprietà si riduce a una regola dei numeri. **Le liste.** Chiamo $x$, $y$ e $z$ tre liste, e $\lambda$ e $\mu$ due scalari. La coordinata di posto $k$ della lista $x$ si scrive $x_k$. Le operazioni non fanno uscire: somme e prodotti di numeri del campo sono numeri del campo. La tabella dice che cosa succede in un posto qualsiasi. | Proprietà | Che cosa succede al posto $k$ | Regola dei numeri usata | |---|---|---| | 1, associativa | $(x_k + y_k) + z_k = x_k + (y_k + z_k)$ | associativa della somma | | 1, vettore nullo | $x_k + 0 = x_k$: è la lista di soli zeri | lo 0 è l'elemento neutro della somma | | 1, opposto | $x_k + (-x_k) = 0$: è la lista con i segni cambiati | ogni numero ha l'opposto | | 1, commutativa | $x_k + y_k = y_k + x_k$ | commutativa della somma | | 2 | $\lambda(x_k + y_k) = \lambda x_k + \lambda y_k$ | distributiva | | 3 | $(\lambda + \mu)x_k = \lambda x_k + \mu x_k$ | distributiva | | 4 | $(\lambda\mu)x_k = \lambda(\mu x_k)$ | associativa del prodotto | | 5 | $1 \cdot x_k = x_k$ | l'1 è l'elemento neutro del prodotto | Ogni riga vale in tutti i posti, quindi vale per le liste intere. Controllo con i numeri della proprietà 3, con gli scalari 2 e 3 e la lista $(1, 4)$. A sinistra: $5 \cdot (1, 4) = (5, 20)$. A destra: $(2, 8) + (3, 12) = (5, 20)$. **I numeri da soli.** Sono le liste con una sola coordinata. **Le successioni.** Stesso controllo, con «termine di posto $k$» al posto di «coordinata di posto $k$». I posti sono infiniti, ma ogni controllo riguarda un posto alla volta. Il vettore nullo è la successione di soli zeri. **Le funzioni.** Stesso controllo, punto per punto. Due funzioni sono uguali quando fanno uscire lo stesso numero per ogni numero che entra. Per esempio la proprietà 2: per ogni $x$ dell'intervallo, $$\big(\lambda(f + g)\big)(x) = \lambda\big(f(x) + g(x)\big) = \lambda f(x) + \lambda g(x) = (\lambda f + \lambda g)(x).$$ La prima e l'ultima uguaglianza sono la definizione di somma e di multiplo di funzioni. Quella in mezzo è la proprietà distributiva dei numeri. Il vettore nullo è la funzione nulla. **I polinomi.** Le due operazioni agiscono un coefficiente alla volta. Si ripete il controllo delle liste, con «coefficiente di $x^k$» al posto di «coordinata di posto $k$». La somma di due polinomi è ancora un polinomio: il suo grado non supera il più grande dei due gradi. Il vettore nullo è il polinomio nullo. ::: ::: esercizio medio Esercizio 5.7 delle dispense: grado al massimo $k$ Controlla che l'insieme $\K_k[x]$ dei polinomi a coefficienti in $\K$ di grado $\le k$ sia uno spazio vettoriale. Perché l'insieme dei polinomi di grado **esattamente** $k$ non è uno spazio vettoriale se $k \ge 1$? ::: soluzione **Prima parte: i polinomi di grado al massimo $k$ formano uno spazio vettoriale.** Per fissare le idee prendo $k = 2$: i polinomi $ax^2 + bx + c$. Qualche coefficiente può essere 0, anche il primo. 1. **Le somme restano dentro.** Sommo $ax^2 + bx + c$ e $px^2 + qx + r$, una potenza alla volta: $$(a + p)x^2 + (b + q)x + (c + r).$$ Non compaiono potenze più alte di $x^2$: il grado resta al massimo 2. 2. **I multipli restano dentro.** $\lambda(ax^2 + bx + c) = \lambda a x^2 + \lambda b x + \lambda c$. Anche qui non compaiono potenze più alte. 3. **Il vettore nullo c'è.** Il polinomio nullo ha tutti i coefficienti uguali a 0, e sta nell'insieme. 4. **Le otto regole.** Valgono per tutti i polinomi (esercizio 9), quindi anche per quelli di grado al massimo 2. Con un $k$ qualsiasi il ragionamento è lo stesso. Un polinomio di grado al massimo $k$ si scrive $a_k x^k + \dots + a_1 x + a_0$. I numeri $a_0, a_1, \dots, a_k$ sono i coefficienti, uno per ogni potenza. Sommando due polinomi così, o moltiplicandone uno per uno scalare, non compaiono potenze più alte di $x^k$. In breve: un polinomio di grado al massimo $k$ è la lista dei suoi $k + 1$ coefficienti. Per esempio $\R_2[x]$ si comporta come $\R^3$. **Seconda parte: grado esattamente $k$, con $k \ge 1$.** Basta un esempio che esce dall'insieme. - Una somma abbassa il grado. I polinomi $x^k + 1$ e $-x^k$ hanno grado $k$. La loro somma è $1$, che ha grado 0. - Il vettore nullo manca: il polinomio nullo non ha grado $k$. Con $k = 2$: i polinomi $x^2 + 1$ e $-x^2$ hanno grado 2. La loro somma è $1$, che non ha grado 2. **Perché l'esercizio chiede $k \ge 1$?** I polinomi di grado 0 sono i numeri, visti come polinomi senza la $x$. Qui la risposta dipende da una scelta: il polinomio nullo ha grado 0, oppure non ha grado? Nel primo caso l'insieme contiene tutti i numeri del campo, ed è uno spazio vettoriale. Nel secondo caso manca il vettore nullo. L'esercizio evita questo caso. ::: ::: esercizio medio Tre conseguenze degli assiomi Usando solo gli assiomi della Definizione 5.4 e la Proposizione 5.5, dimostra che in ogni spazio vettoriale $V$ su $\K$: (a) $\lambda 0_V = 0_V$ per ogni $\lambda \in \K$; (b) $(-1)v = -v$ per ogni $v \in V$; (c) se $\lambda v = 0_V$, allora $\lambda = 0$ oppure $v = 0_V$. ::: soluzione (a) A parole: uno scalare per il vettore nullo dà il vettore nullo. È il ragionamento della Proposizione 5.5, con i ruoli scambiati. 1. Il vettore nullo sommato a se stesso non cambia: $0_V + 0_V = 0_V$. 2. Quindi $\lambda 0_V = \lambda(0_V + 0_V)$. 3. Per la proprietà 2, $\lambda(0_V + 0_V) = \lambda 0_V + \lambda 0_V$. 4. Mettendo insieme: $\lambda 0_V = \lambda 0_V + \lambda 0_V$. 5. Sommo a tutti e due i lati l'opposto di $\lambda 0_V$. A sinistra resta $0_V$. A destra resta $\lambda 0_V$. Quindi $0_V = \lambda 0_V$. Controllo con i numeri: $5 \cdot (0, 0) = (5 \cdot 0,\ 5 \cdot 0) = (0, 0)$. (b) A parole: moltiplicare per $-1$ dà l'opposto. Basta mostrare che $(-1)v$, sommato a $v$, dà il vettore nullo. 1. $v = 1v$, per la proprietà 5. 2. Quindi $v + (-1)v = 1v + (-1)v$. 3. Per la proprietà 3, letta da destra a sinistra, $1v + (-1)v = (1 + (-1))v$. 4. Tra i numeri $1 + (-1) = 0$. Quindi viene $0v$. 5. Per la Proposizione 5.5, $0v = 0_V$. Quindi $v + (-1)v = 0_V$: il vettore $(-1)v$ è un opposto di $v$. In un gruppo l'opposto è uno solo (riquadro «due fatti utili sui gruppi»). Quindi $(-1)v = -v$. Controllo con i numeri: $(1, 2) + (-1) \cdot (1, 2) = (1, 2) + (-1, -2) = (0, 0)$. (c) A parole: un multiplo è il vettore nullo solo se lo scalare è zero, oppure se il vettore è nullo. Supponiamo che $\lambda v = 0_V$. I casi sono due. - Se $\lambda = 0$, la frase è già vera. - Se $\lambda$ non è zero, bisogna mostrare che $v = 0_V$. Nel secondo caso si usa l'inverso di $\lambda$, che si scrive $\lambda^{-1}$. Esiste perché gli scalari stanno in un campo. 1. $v = 1v$, per la proprietà 5. 2. Un numero per il suo inverso dà 1, cioè $\lambda^{-1}\lambda = 1$. Quindi $v = (\lambda^{-1}\lambda)v$. 3. Per la proprietà 4, $(\lambda^{-1}\lambda)v = \lambda^{-1}(\lambda v)$. 4. Avevamo supposto $\lambda v = 0_V$. Quindi viene $\lambda^{-1} 0_V$. 5. Per il punto (a), $\lambda^{-1} 0_V = 0_V$. Quindi $v = 0_V$. Controllo con i numeri: se $2 \cdot (x, y) = (0, 0)$ allora $2x = 0$ e $2y = 0$. Dividendo per 2 viene $x = 0$ e $y = 0$: il vettore è quello nullo. ::: ::: esercizio esame Un prodotto per scalare strano Su $V = \R^2$ considera la somma usuale e il prodotto per scalare $$\lambda \star (x, y) = (\lambda x, 0).$$ (1) Calcola $3 \star (2, 5)$ e $1 \star (2, 5)$. (2) Verifica gli assiomi 2, 3 e 4 della Definizione 5.4. (3) $V$, con queste operazioni, è uno spazio vettoriale su $\R$? (4) Vale ancora $0 \star v = 0_V$ per ogni $v$? ::: soluzione La stella $\star$ indica un prodotto per scalare diverso da quello solito. La regola dice: moltiplica il primo numero per lo scalare, e al secondo posto metti 0. (1) Applico la regola. - $3 \star (2, 5) = (3 \cdot 2,\ 0) = (6, 0)$. - $1 \star (2, 5) = (1 \cdot 2,\ 0) = (2, 0)$. (2) Chiamo $v = (x, y)$ e $w = (a, b)$ due vettori, e $\lambda$ e $\mu$ due scalari. *Assioma 2.* - A sinistra: $v + w = (x + a,\ y + b)$. Quindi $\lambda \star (v + w) = (\lambda(x + a),\ 0) = (\lambda x + \lambda a,\ 0)$. - A destra: $\lambda \star v + \lambda \star w = (\lambda x, 0) + (\lambda a, 0) = (\lambda x + \lambda a,\ 0)$. Sono uguali: vale. *Assioma 3.* - A sinistra: $(\lambda + \mu) \star v = ((\lambda + \mu)x,\ 0) = (\lambda x + \mu x,\ 0)$. - A destra: $\lambda \star v + \mu \star v = (\lambda x, 0) + (\mu x, 0) = (\lambda x + \mu x,\ 0)$. Sono uguali: vale. *Assioma 4.* - A sinistra: $(\lambda\mu) \star v = (\lambda\mu x,\ 0)$. - A destra: prima $\mu \star v = (\mu x, 0)$. Poi $\lambda \star (\mu x, 0) = (\lambda\mu x,\ 0)$. Sono uguali: vale. (3) **No.** L'assioma 1 vale, perché la somma è quella solita. Ma l'assioma 5 fallisce: $1 \star (2, 5) = (2, 0)$, che è diverso da $(2, 5)$. Basta un assioma falso. (4) **Sì**: $0 \star (x, y) = (0 \cdot x,\ 0) = (0, 0)$. Non è un caso. La dimostrazione della Proposizione 5.5 usa solo gli assiomi 1 e 3, che qui valgono. All'esame una domanda così compare a risposta multipla, nella forma «è uno spazio vettoriale?». La motivazione giusta è l'esempio che fa fallire l'assioma 5. ::: ::: esercizio esame Come all'esame: è uno spazio vettoriale su $\R$? Per ciascuno dei seguenti insiemi, con le operazioni indicate, stabilisci se è uno spazio vettoriale su $\R$, motivando la risposta. (a) $\C$, con la somma usuale e il prodotto per numeri reali. (b) $\R^2$, con la somma usuale e $\lambda \cdot (x, y) = (\lambda x, y)$. (c) I polinomi reali di grado esattamente $3$, con le operazioni usuali. (d) Le funzioni $f : [0, 1] \to \R$ con $f(1) = 0$, con le operazioni punto per punto. (e) I numeri reali positivi, con la «somma» $x \oplus y = xy$ e il «prodotto per scalare» $\lambda \odot x = x^\lambda$. ::: soluzione (a) **Sì.** È l'Esercizio 5.8 delle dispense (qui esercizio 7), ed è la domanda 2 dell'appello del 07/02/2025. (b) **No**: fallisce l'assioma 3. Qui lo scalare moltiplica solo il primo numero e lascia il secondo com'è. Provo con gli scalari 1 e 1 e con il vettore $(0, 1)$. - A sinistra: $(1 + 1) \cdot (0, 1) = 2 \cdot (0, 1) = (2 \cdot 0,\ 1) = (0, 1)$. - A destra: $1 \cdot (0, 1) + 1 \cdot (0, 1) = (0, 1) + (0, 1) = (0, 2)$. I due risultati sono diversi. Si vede anche dalla Proposizione 5.5: qui $0 \cdot (0, 1) = (0, 1)$, che non è il vettore nullo. (c) **No.** Una somma esce: $(x^3 + x) + (-x^3) = x$, che ha grado 1. E il polinomio nullo non ha grado 3. (d) **Sì.** L'insieme è un pezzo dello spazio di tutte le funzioni, con le stesse operazioni. Bastano i tre controlli. 1. Il vettore nullo c'è: la funzione nulla in 1 vale 0. 2. Le somme restano dentro: se $f(1) = 0$ e $g(1) = 0$, allora $(f + g)(1) = 0 + 0 = 0$. 3. I multipli restano dentro: $(\lambda f)(1) = \lambda \cdot 0 = 0$. Nella lezione L06 un insieme così si chiamerà **sottospazio**. (e) **Sì**, anche se sembra strano. I simboli $\oplus$ e $\odot$ sono un più e un per dentro un cerchio: servono a non confondere queste operazioni con quelle solite. La «somma» di due vettori è il loro prodotto come numeri. Il «multiplo» è una potenza. Per esempio $2 \oplus 3 = 2 \cdot 3 = 6$ e $3 \odot 2 = 2^3 = 8$. Si resta dentro: il prodotto di due numeri positivi è positivo, e una potenza di un numero positivo è positiva. - Assioma 1. La «somma» è il prodotto dei numeri positivi, che è un gruppo commutativo (esercizio 6, punto (e)). Il «vettore nullo» è il numero 1, perché $x \oplus 1 = x \cdot 1 = x$. L'«opposto» di $x$ è $\frac 1x$. - Assioma 2. $\lambda \odot (x \oplus y) = (xy)^\lambda = x^\lambda y^\lambda = (\lambda \odot x) \oplus (\lambda \odot y)$. - Assioma 3. $(\lambda + \mu) \odot x = x^{\lambda + \mu} = x^\lambda x^\mu = (\lambda \odot x) \oplus (\mu \odot x)$. - Assioma 4. $(\lambda\mu) \odot x = x^{\lambda\mu} = (x^\mu)^\lambda = \lambda \odot (\mu \odot x)$. - Assioma 5. $1 \odot x = x^1 = x$. I passaggi in mezzo sono le regole delle potenze. Per esempio la somma degli esponenti, con i numeri: $2^{2 + 3} = 32$ e $2^2 \cdot 2^3 = 4 \cdot 8 = 32$. Controllo con la Proposizione 5.5: $0 \odot x = x^0 = 1$, che è proprio il vettore nullo di questo spazio. Che cosa insegna: i vettori possono essere qualsiasi cosa, e le operazioni possono avere un aspetto insolito. Conta solo che rispettino le regole. ::: ::: esercizio difficile Esercizio 5.10 delle dispense: un campo con tre elementi Sia $\K = \{0, 1, 2\}$. Trova, in modo simile all'Esercizio 5.9 (qui esercizio 8), due operazioni $+$ e $\cdot$ che rendano $(\K, +, \cdot)$ un campo. Per chi è molto coraggioso: prova a generalizzare a $\K = \{0, 1, 2, \dots, p - 1\}$ con $p$ numero primo. ::: soluzione **L'idea.** Nel campo con due elementi le operazioni erano quelle dei resti della divisione per 2. Qui si usano i **resti della divisione per 3**: si calcola come negli interi e poi si tiene il resto. Due esempi. - $2 + 2 = 4$. Poi 4 diviso 3 fa 1 con resto 1. Quindi in questo campo $2 + 2 = 1$. - $2 \cdot 2 = 4$, che ha resto 1. Quindi in questo campo $2 \cdot 2 = 1$. Le due tabelle complete: | $+$ | $0$ | $1$ | $2$ | |---|---|---|---| | $0$ | $0$ | $1$ | $2$ | | $1$ | $1$ | $2$ | $0$ | | $2$ | $2$ | $0$ | $1$ | | $\cdot$ | $0$ | $1$ | $2$ | |---|---|---|---| | $0$ | $0$ | $0$ | $0$ | | $1$ | $0$ | $1$ | $2$ | | $2$ | $0$ | $2$ | $1$ | **Il controllo dei tre assiomi della Definizione 5.3.** 1. Con la somma è un gruppo commutativo. L'elemento neutro è 0. Gli opposti: quello di 0 è 0, quello di 1 è 2 perché $1 + 2 = 3$ ha resto 0, quello di 2 è 1. La tabella è simmetrica, quindi l'ordine non conta. La proprietà associativa passa dagli interi: $(a + b) + c$ e $a + (b + c)$ sono lo stesso numero intero, quindi hanno lo stesso resto. 2. Tolto lo 0 restano 1 e 2. I prodotti sono $1 \cdot 1 = 1$, poi $1 \cdot 2 = 2$, poi $2 \cdot 2 = 1$. Non si esce e non compare mai lo 0. L'elemento neutro è 1. L'inverso di 1 è 1, l'inverso di 2 è 2. Le proprietà commutativa e associativa passano dagli interi. 3. La proprietà distributiva vale negli interi, e prendere il resto rispetta somme e prodotti. Quindi vale anche per i resti. Controllo con i numeri della proprietà distributiva, su $2 \cdot (1 + 2)$. - A sinistra: $1 + 2 = 0$, poi $2 \cdot 0 = 0$. - A destra: $2 \cdot 1 = 2$ e $2 \cdot 2 = 1$, poi $2 + 1 = 0$. Stesso risultato. **Il caso generale, con $p$ primo.** Un numero **primo** è un numero maggiore di 1 che si divide solo per 1 e per se stesso, come 2, 3, 5 e 7. Sull'insieme $\{0, 1, \dots, p - 1\}$ si usano la somma e il prodotto dei resti della divisione per $p$. Tutte le proprietà passano dagli interi, come sopra. Ne resta una da dimostrare: ogni elemento diverso da 0 ha un inverso. Vediamolo prima con $p = 5$ e con l'elemento 2. Moltiplico 2 per tutti gli elementi diversi da zero e tengo i resti: $2 \cdot 1 = 2$, poi $2 \cdot 2 = 4$, poi $2 \cdot 3 = 6$ che ha resto 1, poi $2 \cdot 4 = 8$ che ha resto 3. I resti sono 2, 4, 1 e 3: tutti i numeri da 1 a 4, in un altro ordine. Tra loro c'è l'1, che viene da $2 \cdot 3$. Quindi l'inverso di 2 è 3. In generale chiamo $a$ un elemento diverso da 0 e lo moltiplico per tutti gli elementi da 1 a $p - 1$. 1. I resti che ottengo sono tutti diversi tra loro. Se $ab$ e $ac$ avessero lo stesso resto, $p$ dividerebbe la differenza $a(b - c)$. Un numero primo che divide un prodotto divide uno dei due pezzi. Ma $a$ sta tra 1 e $p - 1$, e $b - c$ sta tra $-(p - 2)$ e $p - 2$. L'unica possibilità è $b - c = 0$, cioè $b = c$. 2. Nessun resto è 0, per lo stesso motivo: $p$ dovrebbe dividere $a$ oppure $b$. 3. Sono quindi $p - 1$ resti, diversi tra loro e diversi da zero: ci sono tutti i numeri da 1 a $p - 1$. Uno di loro è 1, e l'elemento che lo produce è l'inverso di $a$. **Perché serve che $p$ sia primo.** Con $\{0, 1, 2, 3\}$ e i resti della divisione per 4 non si ottiene un campo: il 2 non ha inverso. Infatti $2 \cdot 1 = 2$, poi $2 \cdot 2 = 4$ ha resto 0, poi $2 \cdot 3 = 6$ ha resto 2. Questi insiemi di resti si studiano in Matematica Discreta, con il nome di aritmetica modulare. ::: ## Domande di ripasso ::: domanda Che cos'è $\R^n$, e in quali due modi si può leggere un suo elemento? È l'insieme delle liste ordinate di $n$ numeri reali. Un suo elemento si può leggere come un punto, cioè un posto. Oppure come un vettore, cioè la freccia che va dall'origine a quel posto: uno spostamento. ::: ::: domanda Come si sommano due vettori di $\R^n$, e che cosa vuol dire la somma in $\R^2$? Un posto alla volta: il primo numero con il primo, il secondo con il secondo, fino all'ultimo. Per esempio $(1, 2) + (3, 1) = (4, 3)$. Nel piano vuol dire fare uno spostamento dopo l'altro. Sul disegno la somma è la diagonale del parallelogramma costruito sui due vettori. ::: ::: domanda Che effetto ha il prodotto per scalare $\lambda v$ al variare di $\lambda$? Ogni coordinata viene moltiplicata per lo scalare. Con uno scalare maggiore di 1 la freccia si allunga. Con uno scalare tra 0 e 1 si accorcia. Con uno scalare negativo cambia verso. Con lo scalare 0 viene il vettore nullo, con $-1$ viene l'opposto. Tutti i multipli di un vettore non nullo stanno sulla retta che passa per l'origine e per la punta di quel vettore. ::: ::: domanda Quali sono gli assiomi di gruppo? Fai un esempio e un controesempio. Sono tre: c'è un elemento neutro, vale la proprietà associativa, ogni elemento ha un inverso. In più l'operazione non deve far uscire dall'insieme. Se l'ordine non conta, il gruppo è commutativo. Esempio: gli interi con la somma, con elemento neutro 0 e inverso $-a$. Controesempio: i naturali con la somma, perché 1 non ha opposto tra i naturali. ::: ::: domanda Perché $\Q \setminus \{0\}$ è un gruppo con il prodotto e $\Z \setminus \{0\}$ no? Tra le frazioni diverse da zero ogni elemento ha l'inverso: quello di $\frac 23$ è $\frac 32$, ed è ancora una frazione diversa da zero. Tra gli interi diversi da zero il 2 non ha inverso, perché $\frac 12$ non è un intero. ::: ::: domanda Che cos'è un campo? Perché $\Z$ non lo è? È un insieme con una somma e un prodotto che rispettano tre assiomi. Con la somma è un gruppo commutativo. Tolto lo zero, con il prodotto è un gruppo commutativo. Vale la proprietà distributiva. In pratica: si fanno le quattro operazioni senza uscire. $\Z$ non è un campo perché 2 non ha inverso per il prodotto. ::: ::: domanda Quali sono i cinque assiomi di spazio vettoriale? Che cosa contiene il primo? (1) Con la somma i vettori formano un gruppo commutativo. (2) Il multiplo di una somma è la somma dei multipli: $\lambda(v + w) = \lambda v + \lambda w$. (3) $(\lambda + \mu)v = \lambda v + \mu v$. (4) $(\lambda\mu)v = \lambda(\mu v)$. (5) $1v = v$. Il primo contiene quattro regole: associativa, vettore nullo, opposto, commutativa. Inoltre la somma e il prodotto per scalare non devono far uscire dall'insieme. ::: ::: domanda Qual è la differenza tra lo $0$ del campo e l'origine $0_V$? Lo 0 del campo è uno scalare, cioè un numero. L'origine $0_V$ è un vettore: quello che sommato non cambia niente. In $\R^3$ è la lista $(0, 0, 0)$. Tra i polinomi è il polinomio nullo. Tra le funzioni è la funzione nulla. ::: ::: domanda Enuncia e dimostra la Proposizione 5.5. Dice che $0v = 0_V$: un vettore qualsiasi per il numero zero dà il vettore nullo. Dimostrazione. Siccome $0 + 0 = 0$, vale $0v = (0 + 0)v$. Per la proprietà 3 questo è uguale a $0v + 0v$. Quindi $0v = 0v + 0v$. Sommando a tutti e due i lati l'opposto di $0v$ resta $0_V = 0v$. ::: ::: domanda Perché $\C$ è uno spazio vettoriale su $\R$, mentre $\R$ non lo è su $\C$? Un numero reale per un numero complesso è un numero complesso: i multipli restano dentro. E le regole sono regole dei conti tra numeri complessi. Al contrario, uno scalare complesso per un numero reale può non essere reale: $i \cdot 1 = i$. Un multiplo esce. ::: ::: domanda Come si sommano due funzioni $[0, 1] \to \R$? Qual è il vettore nullo? Punto per punto. Per ogni numero che entra si sommano i due numeri che escono: $(f + g)(x) = f(x) + g(x)$. Per il multiplo: $(\lambda f)(x) = \lambda f(x)$. Il vettore nullo è la funzione che vale 0 in ogni punto. ::: ::: domanda Perché i polinomi di grado esattamente $2$ non formano uno spazio vettoriale, mentre $\R_2[x]$ sì? Perché una somma può abbassare il grado: $x^2$ più $-x^2 + x$ fa $x$, che ha grado 1. E il polinomio nullo non ha grado 2. In $\R_2[x]$ invece ci sono tutti i polinomi di grado al massimo 2: somme e multipli restano dentro, e il polinomio nullo c'è. ::: ::: domanda Come si dimostra che un insieme, con certe operazioni, non è uno spazio vettoriale? Con un solo esempio concreto. Il vettore nullo non sta nell'insieme. Oppure la somma di due elementi esce dall'insieme. Oppure un multiplo esce. Oppure una delle regole fallisce per certi numeri. ::: ## Glossario ```glossario Vettore | Un elemento di uno spazio vettoriale. Nel caso più comune è una lista ordinata di numeri, come $(3, 2)$: nel piano si legge «3 a destra e 2 in su». Spazio euclideo $\R^n$ | L'insieme delle liste ordinate di $n$ numeri reali. $\R^2$ è il piano, $\R^3$ lo spazio. Somma e multiplo si fanno un posto alla volta. Prodotto cartesiano | $A \times B$ è l'insieme delle coppie ordinate con il primo elemento preso da $A$ e il secondo da $B$. Per esempio $\R \times \R$ è $\R^2$. Vettore colonna | Un vettore scritto in verticale, con i numeri uno sotto l'altro. Negli appelli, scritto in riga, compare come ${}^t(1, 2, 3)$. Coordinate | I numeri che formano un vettore. In $x = (3, 2)$ la prima coordinata è $x_1 = 3$ e la seconda è $x_2 = 2$. Origine | Il vettore fatto di soli zeri, come $(0, 0)$. In uno spazio vettoriale qualsiasi è il vettore nullo $0_V$. Scalare | Un numero che moltiplica un vettore. Nel corso è un numero reale oppure complesso. Prodotto per scalare | L'operazione che moltiplica un vettore per uno scalare. Nelle liste si moltiplica ogni coordinata: $2 \cdot (1, 2) = (2, 4)$. Regola del parallelogramma | Nel piano la somma di due vettori è la diagonale del parallelogramma che ha i due vettori come lati. Operazione binaria | Una regola che prende due elementi di un insieme e ne restituisce uno dello stesso insieme, come la somma tra interi. Assioma | Una regola che fa parte di una definizione. Un gruppo ha tre assiomi, un campo tre, uno spazio vettoriale cinque. Gruppo | Un insieme con un'operazione binaria che ha un elemento neutro, è associativa e dà a ogni elemento un inverso. Esempio: gli interi con la somma. Gruppo commutativo | Un gruppo in cui l'ordine non conta: $a * b = b * a$ per tutti gli elementi. Campo | Un insieme con somma e prodotto in cui si fanno le quattro operazioni senza uscire, dividendo solo per elementi diversi da zero. Esempi: $\Q$, $\R$, $\C$. Spazio vettoriale | Un insieme con una somma e un prodotto per scalare che non fanno uscire dall'insieme e rispettano le cinque proprietà della Definizione 5.4. Vettore nullo $0_V$ | Il vettore che sommato non cambia niente: $v + 0_V = v$. Nelle liste è la lista di soli zeri. Opposto $-v$ | Il vettore che sommato a $v$ dà il vettore nullo. È il multiplo con lo scalare $-1$: l'opposto di $(1, 2)$ è $(-1, -2)$. Lo spazio $\K^n$ | Le liste di $n$ numeri del campo $\K$, con somma e multiplo un posto alla volta. Per esempio $\C^2$. Polinomi $\K[x]$ e $\K_k[x]$ | $\K[x]$ contiene tutti i polinomi con i coefficienti nel campo. $\K_k[x]$ contiene quelli di grado al massimo $k$. Sono tutti e due spazi vettoriali. Operazioni punto per punto | Per le funzioni: in ogni punto si sommano i due numeri che escono, $(f + g)(x) = f(x) + g(x)$. Per il multiplo: $(\lambda f)(x) = \lambda f(x)$. ``` ## Checklist ```checklist - So scrivere un elemento di $\R^n$ come punto, come vettore e come vettore colonna. - So sommare due vettori e moltiplicarli per uno scalare, anche con i numeri complessi, e so disegnare la somma nel piano con il parallelogramma. - So elencare le tre regole di un gruppo e spiegare perché i naturali con la somma e gli interi con il prodotto non sono gruppi. - So dire che cos'è un campo e perché $\Z$ non lo è, mentre $\{0, 1\}$ con $1 + 1 = 0$ sì. - So scrivere le cinque proprietà di uno spazio vettoriale e le quattro regole contenute nella prima. - Distinguo il numero zero dal vettore nullo $0_V$ e so dimostrare che $0v = 0_V$. - So spiegare perché le liste, le successioni, le funzioni e i polinomi sono spazi vettoriali, e so dire qual è il vettore nullo in ognuno. - So dimostrare che $\C$ è uno spazio vettoriale su $\R$ e spiegare perché $\R^2$ non lo è su $\C$. - So trovare un esempio quando un insieme non è uno spazio vettoriale: manca il vettore nullo, oppure una somma o un multiplo escono. - So controllare una proprietà con operazioni insolite, come negli esercizi 12 e 13. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 5 «Spazi vettoriali I», pp. 20–25: le sezioni 5.A–5.D sono seguite in ordine, con la pagina indicata accanto a ogni titolo (l'introduzione di p. 20 è ripresa nella sezione sulla definizione); definizioni, proposizioni ed esercizi mantengono la loro numerazione (Definizioni 5.1–5.4, Proposizione 5.5, Esercizi 5.6–5.10). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §1.5 (gruppi, unicità dell'inverso, semplificazione, anelli e campi), §2.1 (spazio euclideo, somma, prodotto per scalare e loro proprietà), §2.2.1–2.2.4 (definizione di spazio vettoriale, Proposizione 2.2.1, gli spazi $\K^n$, $\K[x]$ e $F(X, \K)$). - **Appelli citati** (testi e soluzioni sul Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): 24/01/2024 (domanda 5), 08/02/2024 (domanda 2), 10/07/2024 (domanda 2), 07/02/2025 (domanda 2, riportata con una soluzione scritta per questi appunti), 03/06/2025 (domanda 2), 15/01/2026 (domande 3 e 4), 05/02/2026 (domanda 2), 07/09/2026 (domanda 6). - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (i due fatti sui gruppi, le altre conseguenze delle regole, la sezione su come si riconosce ciò che non è uno spazio vettoriale e il metodo per l'esame) collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L06_spazi_vettoriali_2.md` ```yaml corso: MDAG modulo: AG lezione: L06 titolo: Spazi vettoriali II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L06 descrizione: >- Appunti della lezione L06 di Algebra lineare e Geometria (MDAG, parte 2): lo spazio delle matrici, i sottospazi vettoriali, le matrici diagonali, triangolari, simmetriche e antisimmetriche, le combinazioni lineari e il sottospazio generato (Span), con quiz nello stile dell'esame ed esercizi svolti. lede: >- Dentro uno spazio vettoriale ci sono spazi più piccoli, come stanze dentro una casa: i sottospazi. Qui impari a riconoscerli con tre controlli, a fare i conti con le tabelle di numeri chiamate matrici e a costruire sottospazi mescolando alcuni vettori come gli ingredienti di una ricetta. La domanda «è un sottospazio?» esce quasi a ogni appello. materiale: dispense scheda: Dispense: lezione 6 · pp. 26–30 Libro: Martelli, §2.2.5–2.2.16 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 6 «Spazi vettoriali II»; B. Martelli, Geometria e algebra lineare, §2.2.5–2.2.16 appunti_html: appunti/MDAG/L06_spazi_vettoriali_2.html genera_html: true ``` ## In breve - Una **matrice** è una tabella di numeri con un certo numero di righe e di colonne. Le matrici con la stessa forma si sommano casella per casella e si moltiplicano per un numero casella per casella: formano uno spazio vettoriale. - Un **sottospazio** è una parte di uno spazio vettoriale da cui non si esce: contiene lo zero, e sommando o moltiplicando per un numero i suoi vettori si resta dentro. - Nel piano, una retta che passa per l'origine è un sottospazio; una retta che non ci passa no. - Tra le matrici quadrate ci sono cinque sottospazi da conoscere: le **diagonali**, le **triangolari superiori**, le **triangolari inferiori**, le **simmetriche** e le **antisimmetriche**. - Per dire che un insieme **non** è un sottospazio basta un esempio che non funziona. Il controllo più veloce: manca lo zero. - Una **combinazione lineare** è una ricetta: alcuni vettori, ciascuno moltiplicato per un numero, poi sommati. Lo **Span** di alcuni vettori è tutto quello che si ottiene con tutte le ricette possibili, ed è sempre un sottospazio. - All'esame «quale di questi insiemi è (o non è) un sottospazio?» esce quasi a ogni appello: 08/02/2024, 03/06/2025, 05/02/2026, 07/09/2026. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Tabelle di numeri: le matrici (p. 26) Un negozio vende tre prodotti in due giorni. Le vendite si scrivono in una tabella: una riga per giorno, una colonna per prodotto. | | pane | latte | uova | |---|--:|--:|--:| | lunedì | 1 | 2 | 3 | | martedì | 4 | 5 | 6 | In matematica una tabella così, senza le scritte, si chiama **matrice**, e si scrive tra parentesi tonde: $$A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}.$$ Questa matrice ha 2 righe e 3 colonne. Nella lezione L05 i vettori di $\K^n$ erano liste di numeri scritte in colonna. Una matrice è fatta di più colonne messe una accanto all'altra. Ricorda: $\K$ è il modo delle dispense per dire «i numeri reali $\R$, oppure i numeri complessi $\C$». Le matrici sono l'altro grande esempio di spazio vettoriale con cui le dispense aprono la lezione, e da qui in poi saranno dappertutto. ### Come si legge una matrice Per indicare un numero preciso della tabella basta dire in quale riga e in quale colonna sta. Nella matrice $A$: - il numero nella riga 1 e nella colonna 2 è 2. Si scrive $a_{12} = 2$, e si legge «a uno due»; - il numero nella riga 2 e nella colonna 1 è 4. Si scrive $a_{21} = 4$. La regola è sempre la stessa: **prima la riga, poi la colonna**. La lettera è la minuscola del nome della matrice. Le dispense lo scrivono così. > [!DEF] 6.1 · Matrice > Sia come sempre $\K$ un campo fissato. Una **matrice** con $m$ **righe** e $n$ **colonne** a coefficienti in $\K$ è una tabella rettangolare del tipo > $$A = \begin{pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \cdots & a_{mn} \end{pmatrix}$$ > in cui tutti gli $mn$ coefficienti $a_{ij}$ appartengono a $\K$. Diciamo brevemente che $A$ è una **matrice $m \times n$**. Le sue righe sono indicate con $A_1, \dots, A_m$ e le sue colonne con $A^1, \dots, A^n$. **Come si legge.** - $m$ è il numero di righe, $n$ quello di colonne. I puntini orizzontali, verticali e in diagonale vogliono dire «e così via in quella direzione». - **$m \times n$** si legge «$m$ per $n$»: prima le righe, poi le colonne. La matrice $A$ del negozio è $2 \times 3$. - **$a_{ij}$** è il numero nella riga $i$ e nella colonna $j$. In tutto ci sono $m \cdot n$ numeri: $A$ ne ha $2 \cdot 3 = 6$. - **$A_i$**, con il numerino **in basso**, è la riga numero $i$. **$A^j$**, con il numerino **in alto**, è la colonna numero $j$. Nella matrice $A$: la seconda riga è $A_2 = (4, 5, 6)$, la terza colonna è $A^3 = \begin{pmatrix} 3 \\ 6 \end{pmatrix}$. > [!TRAPPOLA] $A^1$ non è una potenza > Nelle dispense $A^1, \dots, A^n$ sono le **colonne** di $A$: il numerino in alto è solo un'etichetta. $A^2$ è la seconda colonna, non $A$ per $A$. > [!ESEMPIO] · le matrici delle dispense > Due matrici con numeri reali: > $$B = \begin{pmatrix} 1 & \sqrt 2 \\ 0 & -5 \\ 7 & \pi \end{pmatrix}, \qquad C = \begin{pmatrix} 5 & 0 & \sqrt 3 \end{pmatrix}.$$ > $B$ è $3 \times 2$: $b_{12} = \sqrt 2$, $b_{32} = \pi$, la riga $B_2 = (0, -5)$, la colonna $B^1 = {}^t(1, 0, 7)$. $C$ è $1 \times 3$: una sola riga. Nell'esempio la scrittura ${}^t(1, 0, 7)$ vuol dire «la lista $(1, 0, 7)$ scritta in colonna»: la piccola $t$ in alto a sinistra sta per «trasposta» (lezione L08). ::: prova Nella matrice $\begin{pmatrix} 3 & -1 \\ 0 & 5 \end{pmatrix}$ quanto valgono $a_{12}$ e $a_{21}$? Qual è la seconda colonna? $a_{12}$ è nella riga 1 e nella colonna 2: vale $-1$. $a_{21}$ è nella riga 2 e nella colonna 1: vale 0. La seconda colonna è $\begin{pmatrix} -1 \\ 5 \end{pmatrix}$. ::: ### Somma e moltiplicazione per un numero Il negozio ha due negozi uguali. Le vendite totali si ottengono sommando le due tabelle **casella per casella**: il pane di lunedì del primo negozio più il pane di lunedì del secondo, e così via. Se le vendite raddoppiano, si moltiplica **ogni casella** per 2. > [!ESEMPIO] · somma e multiplo di matrici > $$\begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix} + \begin{pmatrix} 0 & -1 & 2 \\ 1 & 1 & -3 \end{pmatrix} = \begin{pmatrix} 1 + 0 & 2 - 1 & 3 + 2 \\ 4 + 1 & 5 + 1 & 6 - 3 \end{pmatrix} = \begin{pmatrix} 1 & 1 & 5 \\ 5 & 6 & 3 \end{pmatrix},$$ > $$2\begin{pmatrix} 1 & -1 \\ 0 & 3 \end{pmatrix} = \begin{pmatrix} 2 & -2 \\ 0 & 6 \end{pmatrix}.$$ Con le lettere, per due matrici $A$ e $B$ della **stessa forma**: $$(A + B)_{ij} = a_{ij} + b_{ij}, \qquad (\lambda A)_{ij} = \lambda a_{ij}.$$ A parole: la casella nella riga $i$ e colonna $j$ della somma è la somma delle due caselle nello stesso posto. E $\lambda A$, «lambda per A», moltiplica ogni casella per il numero $\lambda$. La lettera greca $\lambda$, «lambda», si usa spesso per un numero. ### Le matrici formano uno spazio vettoriale Tutte le matrici con $m$ righe e $n$ colonne, con queste due operazioni, formano un insieme che si chiama $M(m, n, \K)$, o $M(m, n)$ quando il tipo di numeri è sottinteso. Le dispense osservano che è uno spazio vettoriale. Il motivo è quello della lezione L05: le operazioni si fanno casella per casella, quindi ogni regola di calcolo si controlla una casella alla volta, dove è una regola dei numeri. In pratica una matrice $2 \times 3$ si comporta come una lista di 6 numeri scritta su due righe. - Il vettore zero è la **matrice nulla**, con tutti i numeri uguali a 0. - L'opposto di $A$ è $-A$, con tutti i numeri cambiati di segno. Una matrice con una sola colonna è un vettore colonna. Quindi le matrici $m \times 1$ sono proprio i vettori di $\K^m$: $$M(m, 1, \K) = \K^m.$$ > [!TRAPPOLA] Solo matrici della stessa forma > $\begin{pmatrix} 1 & 2 \end{pmatrix} + \begin{pmatrix} 1 \\ 2 \end{pmatrix}$ non ha senso: la prima è $1 \times 2$, la seconda $2 \times 1$, e le caselle non si corrispondono. Esiste anche un prodotto **tra** matrici, ma è un'altra operazione, che non fa parte della struttura di spazio vettoriale: arriva nella lezione L08. ::: prova Calcola $\begin{pmatrix} 1 & 0 \\ 2 & -1 \end{pmatrix} + 3\begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix}$. Prima il multiplo: $3\begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 3 \\ 3 & 3 \end{pmatrix}$. Poi la somma casella per casella: $\begin{pmatrix} 1 + 0 & 0 + 3 \\ 2 + 3 & -1 + 3 \end{pmatrix} = \begin{pmatrix} 1 & 3 \\ 5 & 2 \end{pmatrix}$. ::: > [!RICORDA] > - Una matrice $m \times n$ è una tabella con $m$ righe e $n$ colonne; $a_{ij}$ è il numero nella riga $i$ e nella colonna $j$. > - Si sommano e si moltiplicano per un numero casella per casella, solo con la stessa forma. > - Le matrici $m \times n$ formano lo spazio vettoriale $M(m, n, \K)$. ## Stanze da cui non si esce: i sottospazi (pp. 26–27) Immagina lo spazio vettoriale come una casa. Dentro ci sono delle stanze speciali: in una stanza così, se prendi due vettori e li sommi, resti nella stanza; se prendi un vettore e lo moltiplichi per un numero, resti nella stanza. Una stanza così si chiama **sottospazio**. ### Una retta che funziona Guarda nel piano la retta dei punti con la seconda coordinata doppia della prima: la retta di equazione $y = 2x$. Ci stanno $(1, 2)$, $(-3, -6)$, $(0, 0)$. 1. Passa per l'origine, il punto $(0, 0)$. 2. Sommo due suoi punti: $(1, 2) + (-3, -6) = (-2, -4)$. Anche qui la seconda coordinata è il doppio della prima: resto sulla retta. 3. Moltiplico un suo punto per un numero: $5 \cdot (1, 2) = (5, 10)$. Resto sulla retta. Con somme e moltiplicazioni per un numero non si esce mai dalla retta. È una stanza. ### Una retta che non funziona Ora la retta parallela, spostata in su di 1: la retta di equazione $y = 2x + 1$. 1. Non passa per l'origine: con $x = 0$ dovrebbe essere $y = 1$, non 0. 2. La somma esce. I punti $(0, 1)$ e $(1, 3)$ stanno sulla retta, ma la loro somma $(1, 4)$ no: con $x = 1$ la retta ha $y = 3$, non 4. Guarda la figura: i due punti rosa sono sulla retta tratteggiata, ma la loro somma, il punto giallo, cade fuori. ```grafico titolo: La retta $y = 2x$ passa per l'origine ed è un sottospazio; la retta $y = 2x + 1$ no: la somma di due suoi punti esce x: -4 4 y: -3 5 retta: 0 0 1.5 3 | accento | $y = 2x$ | e retta: 0 1 -1.5 -2 | rosa | tratteggio | $y = 2x + 1$ | o punto: 0 0 | accento | $O$ | se punto: 0 1 | rosa | $(0, 1)$ | o punto: 1 3 | rosa | $(1, 3)$ | o punto: 1 4 | ambra | $(1, 4)$ | no ``` ### I tre controlli Le dispense mettono in fila i tre controlli che hai appena fatto. > [!DEF] 6.2 · Sottospazio vettoriale > Sia $V$ uno spazio vettoriale su un campo $\K$. Un **sottospazio vettoriale** di $V$ è un sottoinsieme $W \subset V$ che soddisfa i seguenti tre assiomi: > 1. $0 \in W$; > 2. se $v, v' \in W$, allora anche $v + v' \in W$; > 3. se $v \in W$ e $\lambda \in \K$, allora $\lambda v \in W$. **Come si legge.** - $V$ è la casa: uno spazio vettoriale che conosci già. $W$ è la stanza: una parte dei vettori di $V$. Il simbolo $W \subset V$ si legge «$W$ è contenuto in $V$». - **Controllo 1**: lo zero di $V$ sta in $W$. Il simbolo $\in$ si legge «appartiene a». È il controllo più veloce. - **Controllo 2**: se $v$ e $v'$ («v primo», un altro vettore) stanno in $W$, anche la loro somma sta in $W$. In questo caso $W$ si chiama **chiuso rispetto alla somma**. - **Controllo 3**: se $v$ sta in $W$ e $\lambda$ è un numero **qualsiasi** (anche negativo o zero), anche $\lambda v$ sta in $W$. In questo caso $W$ si chiama **chiuso rispetto alla moltiplicazione per un numero**. Un sottospazio è a sua volta uno spazio vettoriale, con le stesse operazioni della casa. Il motivo, con i dettagli che le dispense lasciano sottintesi: 1. le operazioni non fanno uscire da $W$, per i controlli 2 e 3; 2. le regole di calcolo della lezione L05 valgono per tutti i vettori di $V$, quindi anche per quelli di $W$; 3. lo zero sta in $W$, per il controllo 1; 4. l'opposto di un vettore $v$ di $W$ sta in $W$: l'opposto è $(-1)v$ (lezione L05, esercizio 11 (b)), che sta in $W$ per il controllo 3. ### La stanza vuota e la casa intera (p. 27) Ogni spazio vettoriale $V$ ha sempre due sottospazi: - il sottospazio fatto solo dallo zero, che si scrive $\{0\}$. Le dispense lo chiamano «**sottospazio banale**». Funziona: $0 + 0 = 0$ e $\lambda \cdot 0 = 0$, quindi non si esce; - il **sottospazio totale**, cioè tutto $V$. Ogni altro sottospazio sta in mezzo: $$\{0\} \subset W \subset V.$$ Un esempio già incontrato: i polinomi di grado al massimo $k$, $\K_k[x]$, dentro tutti i polinomi $\K[x]$ (Esercizio 5.7). Contengono il polinomio zero, e sommando o moltiplicando polinomi di grado al massimo $k$ il grado non cresce. > [!ESEMPIO] · la retta $y = 2x$, con le lettere > Prendiamo l'insieme $W = \{(x, y) \in \R^2 \mid y = 2x\}$: le graffe dicono «l'insieme dei punti $(x, y)$ del piano», la barretta si legge «per cui». Controlliamo i tre assiomi con punti qualsiasi, non solo con i numeri. > 1. $(0, 0) \in W$, perché $0 = 2 \cdot 0$. > 2. Se $(x, y)$ e $(x', y')$ stanno in $W$, cioè $y = 2x$ e $y' = 2x'$, la somma $(x + x', y + y')$ soddisfa $y + y' = 2x + 2x' = 2(x + x')$: sta in $W$. > 3. Se $(x, y) \in W$ e $\lambda \in \R$, allora $\lambda y = \lambda \cdot 2x = 2(\lambda x)$: anche $(\lambda x, \lambda y)$ sta in $W$. > > Quindi $W$ è un sottospazio del piano. > [!ESEMPIO] · tre insiemi che non sono sottospazi del piano > - **La retta $y = 2x + 1$**: non contiene l'origine. Fallisce il controllo 1. > - **Il primo quadrante**, cioè i punti con le due coordinate positive o zero: contiene l'origine, e la somma di due suoi punti ci resta. Ma $(-1) \cdot (1, 1) = (-1, -1)$ esce. Fallisce il controllo 3. > - **I due assi messi insieme**, cioè i punti con $xy = 0$: contiene l'origine, e i multipli di un punto di un asse restano su quell'asse. Ma $(1, 0) + (0, 1) = (1, 1)$ esce, perché $1 \cdot 1$ non è 0. Fallisce il controllo 2. > [!TRAPPOLA] Un solo controllo non basta > Il primo quadrante supera il controllo della somma ma non quello dei multipli. I due assi superano quello dei multipli ma non quello della somma. Per dire **sì** servono tutti e tre i controlli. Per dire **no** ne basta uno che fallisce, con un esempio concreto. ::: prova L'insieme dei punti del piano con $x + y = 3$ è un sottospazio? E quello con $x = 3y$? $x + y = 3$: no. L'origine dà $0 + 0 = 0$, non 3: manca lo zero. $x = 3y$: sì. È una retta per l'origine. L'origine c'è; sommando due punti con $x = 3y$ e $x' = 3y'$ viene $x + x' = 3(y + y')$; moltiplicando per $\lambda$ viene $\lambda x = 3(\lambda y)$. ::: > [!OLTRE] · i sottospazi più comuni, dal libro di Martelli > - **Sistemi lineari omogenei** (Proposizione 2.2.2). Le soluzioni di un sistema di equazioni lineari **con termine noto zero**, come $\{x + 2y - z = 0,\ x - y = 0\}$ in $\R^3$, formano un sottospazio. Il motivo: prendi un'equazione $a_1 x_1 + \dots + a_n x_n = 0$ che vale per due soluzioni $x$ e $y$. Vale anche per la somma, perché $a_1(x_1 + y_1) + \dots = 0 + 0 = 0$. E vale per i multipli, perché $a_1 (\lambda x_1) + \dots = \lambda \cdot 0 = 0$. Con un termine noto diverso da zero l'origine non è una soluzione (Osservazione 2.2.3). > - **Polinomi che si annullano in un punto** (Proposizione 2.2.5). Fissato un numero $a$, i polinomi con $p(a) = 0$ formano un sottospazio di $\K[x]$: $(p + q)(a) = 0 + 0 = 0$ e $(\lambda p)(a) = \lambda \cdot 0 = 0$. Quelli con $p(a) = 1$ no, perché non contengono il polinomio nullo (Osservazione 2.2.6). > - **Intersezione** (Proposizione 2.2.11). Se $U$ e $W$ sono sottospazi, anche la loro parte comune $U \cap W$ lo è. L'**unione** invece in generale no: i due assi del piano sono l'esempio del libro (Esempio 2.2.14, e l'esercizio 13). > [!RICORDA] > - Un sottospazio contiene lo zero, ed è chiuso rispetto alla somma e alla moltiplicazione per un numero. > - Per dire sì servono tutti e tre i controlli; per dire no basta un esempio che non funziona. > - Nel piano, le rette per l'origine sono sottospazi; quelle che non ci passano no. ## Matrici con una forma speciale (pp. 27–28) Dentro lo spazio delle matrici ci sono tante stanze. Si ottengono chiedendo che certe caselle siano zero, o che certe caselle siano uguali. Le più importanti riguardano le matrici **quadrate**, quelle con tante righe quante colonne. ### La diagonale principale In una matrice quadrata le caselle con lo stesso numero di riga e di colonna, $a_{11}, a_{22}, a_{33}, \dots$, formano la **diagonale principale**: la linea che scende da in alto a sinistra a in basso a destra. $$\begin{pmatrix} \mathbf{1} & 2 & 3 \\ 4 & \mathbf{5} & 6 \\ 7 & 8 & \mathbf{9} \end{pmatrix}$$ Qui la diagonale principale è fatta da 1, 5 e 9. Le caselle con riga maggiore della colonna stanno **sotto** la diagonale (4, 7, 8); quelle con riga minore della colonna stanno **sopra** (2, 3, 6). ### Le cinque classi Le dispense danno un nome a cinque forme speciali. > [!DEF] 6.3 · Matrici quadrate, diagonali, triangolari, simmetriche e antisimmetriche > Una matrice $n \times n$ è detta **quadrata**. Una matrice $A$ quadrata $n \times n$ è: > - **diagonale** se $a_{ij} = 0,\ \forall i \neq j$; > - **triangolare superiore** se $a_{ij} = 0,\ \forall i > j$; > - **triangolare inferiore** se $a_{ij} = 0,\ \forall i < j$; > - **triangolare** se è triangolare inferiore o superiore; > - **simmetrica** se $a_{ij} = a_{ji},\ \forall i, j$; > - **antisimmetrica** se $a_{ij} = -a_{ji},\ \forall i, j$. **Come si legge.** Il simbolo $\forall$ si legge «per ogni», e $\neq$ si legge «diverso da». - **Diagonale**: tutte le caselle fuori dalla diagonale principale sono zero. Sulla diagonale può esserci qualsiasi numero, anche 0. - **Triangolare superiore**: «riga maggiore della colonna» sono le caselle **sotto** la diagonale. Quelle devono essere zero; i numeri stanno sulla diagonale e sopra, a forma di triangolo. - **Triangolare inferiore**: al contrario, sono zero le caselle **sopra** la diagonale. - **Simmetrica**: la casella nella riga $i$ e colonna $j$ è uguale a quella nella riga $j$ e colonna $i$. La matrice è come riflessa in uno specchio messo sulla diagonale principale. - **Antisimmetrica**: le caselle allo specchio sono una l'opposto dell'altra. Nelle antisimmetriche c'è un fatto in più. Sulla diagonale la casella e la sua immagine allo specchio sono la stessa casella. Quindi deve essere uguale al suo opposto: $a_{ii} = -a_{ii}$, cioè $2a_{ii} = 0$, e dividendo per 2 viene $a_{ii} = 0$. Sulla diagonale di una matrice antisimmetrica ci sono **solo zeri**. Le dispense lo osservano alla fine dell'Esempio 6.4 (p. 28). > [!NOTA] Una precisazione sul campo > Il passaggio da $2a_{ii} = 0$ ad $a_{ii} = 0$ divide per 2, e si può fare con i numeri del corso: razionali, reali, complessi. Nel campo con i soli due numeri 0 e 1 dell'Esercizio 5.9, dove $1 + 1 = 0$, invece no: lì ogni numero è uguale al suo opposto, e una matrice antisimmetrica può avere la diagonale non nulla. Il libro di Martelli lo segnala in una nota al §2.2.14; le dispense sottintendono che si lavori con numeri razionali, reali o complessi. La forma di ciascuna classe per le matrici $3 \times 3$. Le lettere sono numeri qualsiasi. | diagonale | triangolare superiore | triangolare inferiore | simmetrica | antisimmetrica | |---|---|---|---|---| | $\begin{pmatrix} a & 0 & 0 \\ 0 & b & 0 \\ 0 & 0 & c \end{pmatrix}$ | $\begin{pmatrix} a & b & c \\ 0 & d & e \\ 0 & 0 & f \end{pmatrix}$ | $\begin{pmatrix} a & 0 & 0 \\ b & c & 0 \\ d & e & f \end{pmatrix}$ | $\begin{pmatrix} a & b & c \\ b & d & e \\ c & e & f \end{pmatrix}$ | $\begin{pmatrix} 0 & a & b \\ -a & 0 & c \\ -b & -c & 0 \end{pmatrix}$ | > [!ESEMPIO] 6.4 · Una matrice per ogni classe > Le matrici seguenti sono, nell'ordine, diagonale, triangolare superiore, triangolare inferiore, simmetrica e antisimmetrica: > $$\begin{pmatrix} 2 & 0 \\ 0 & -1 \end{pmatrix}, \quad \begin{pmatrix} 1 & 9 \\ 0 & \sqrt 2 \end{pmatrix}, \quad \begin{pmatrix} -1 & 0 \\ 7 & 2 \end{pmatrix}, \quad \begin{pmatrix} -1 & 2 \\ 2 & 4 \end{pmatrix}, \quad \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}.$$ > Una stessa matrice può appartenere a più classi: per esempio > $$\begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}$$ > è diagonale, triangolare superiore, triangolare inferiore e simmetrica. La matrice nulla appartiene a tutte e cinque le classi. Controlliamo l'esempio casella per casella. Nelle matrici $2 \times 2$ le caselle fuori dalla diagonale sono solo due: $a_{12}$, sopra, e $a_{21}$, sotto. | Matrice | $a_{12}$ | $a_{21}$ | classe | |---|---:|---:|---| | $\begin{pmatrix} 2 & 0 \\ 0 & -1 \end{pmatrix}$ | $0$ | $0$ | diagonale (e anche triangolare e simmetrica) | | $\begin{pmatrix} 1 & 9 \\ 0 & \sqrt 2 \end{pmatrix}$ | $9$ | $0$ | triangolare superiore: è zero la casella sotto | | $\begin{pmatrix} -1 & 0 \\ 7 & 2 \end{pmatrix}$ | $0$ | $7$ | triangolare inferiore: è zero la casella sopra | | $\begin{pmatrix} -1 & 2 \\ 2 & 4 \end{pmatrix}$ | $2$ | $2$ | simmetrica: le due caselle sono uguali | | $\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}$ | $1$ | $-1$ | antisimmetrica: caselle opposte e diagonale nulla | La prima matrice è anche triangolare, sia superiore sia inferiore, e simmetrica. Nell'elenco delle dispense ogni matrice è l'esempio della sua classe, ma può appartenere anche ad altre. ::: prova A quali classi appartiene $\begin{pmatrix} 4 & 0 \\ 3 & 4 \end{pmatrix}$? La casella sopra la diagonale è 0: è triangolare inferiore, quindi anche triangolare. Non è diagonale (sotto c'è un 3), non è simmetrica ($0$ e $3$ sono diversi), non è antisimmetrica (la diagonale non è nulla). ::: ### Le cinque classi sono sottospazi (p. 28) Le matrici quadrate $n \times n$ formano lo spazio $M(n, \K)$, o più brevemente $M(n)$. Le dispense danno un nome alle cinque classi: - $D(n)$: le matrici diagonali; - $T^s(n)$: le triangolari superiori; - $T^i(n)$: le triangolari inferiori; - $S(n)$: le simmetriche; - $A(n)$: le antisimmetriche. Prima un esempio con i numeri. Sommo due matrici simmetriche e moltiplico un'antisimmetrica per un numero: > [!ESEMPIO] · la somma di due simmetriche è simmetrica > $$\begin{pmatrix} 1 & 2 \\ 2 & 3 \end{pmatrix} + \begin{pmatrix} 0 & -1 \\ -1 & 5 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 8 \end{pmatrix}, \qquad -3\begin{pmatrix} 0 & 4 \\ -4 & 0 \end{pmatrix} = \begin{pmatrix} 0 & -12 \\ 12 & 0 \end{pmatrix}.$$ > La prima somma è ancora uguale allo specchio; il multiplo dell'antisimmetrica è ancora antisimmetrico. Le dispense dicono che succede sempre. > [!PROP] 6.5 > I sottoinsiemi $D(n)$, $T^s(n)$, $T^i(n)$, $S(n)$, $A(n)$ sono tutti sottospazi vettoriali di $M(n)$. **Come si legge.** Ognuna delle cinque classi è una stanza dentro lo spazio delle matrici quadrate: la matrice nulla ci sta, e sommando o moltiplicando per un numero matrici della classe si resta nella classe. La spiegazione delle dispense: per ciascuna classe la matrice nulla ne fa parte, e la somma e la moltiplicazione per un numero conservano la proprietà che la definisce. Eccola per esteso. **Le matrici simmetriche $S(n)$.** 1. La matrice nulla è simmetrica: in ogni casella c'è 0, uguale al suo specchio. 2. Se $A$ e $B$ sono simmetriche, cioè $a_{ij} = a_{ji}$ e $b_{ij} = b_{ji}$, allora $$(A + B)_{ij} = a_{ij} + b_{ij} = a_{ji} + b_{ji} = (A + B)_{ji}.$$ 3. Se $A$ è simmetrica e $\lambda$ è un numero, allora $(\lambda A)_{ij} = \lambda a_{ij} = \lambda a_{ji} = (\lambda A)_{ji}$. **Le matrici antisimmetriche $A(n)$.** Gli stessi passaggi con il segno meno: $(A + B)_{ij} = a_{ij} + b_{ij} = -a_{ji} - b_{ji} = -(A + B)_{ji}$ e $(\lambda A)_{ij} = \lambda a_{ij} = -\lambda a_{ji} = -(\lambda A)_{ji}$. **Le triangolari superiori $T^s(n)$.** Sotto la diagonale le caselle di $A$ e di $B$ sono zero. Quindi anche quelle della somma, $0 + 0 = 0$, e quelle del multiplo, $\lambda \cdot 0 = 0$: gli zeri sotto la diagonale restano zeri. Lo stesso per $T^i(n)$, con gli zeri sopra, e per $D(n)$, con gli zeri fuori dalla diagonale. > [!NOTA] La trasposta, in anticipo > Nella spiegazione della Proposizione 6.5 le dispense scrivono ${}^t(A + B) = A + B$ e ${}^t(\lambda A) = \lambda A$. Il simbolo ${}^tA$ è la **trasposta** di $A$, che si ottiene scambiando righe e colonne: $({}^tA)_{ij} = a_{ji}$. La definisce la lezione L08. Con questa scrittura, $A$ è simmetrica esattamente quando ${}^tA = A$, e antisimmetrica esattamente quando ${}^tA = -A$. > [!TRAPPOLA] «Triangolari» non è un sottospazio > La Proposizione 6.5 parla delle triangolari **superiori** e delle triangolari **inferiori**, separatamente. L'insieme di tutte le matrici triangolari, superiori oppure inferiori, non è un sottospazio: > $$\begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}.$$ > È la somma di una triangolare superiore e di una inferiore, e non è triangolare. È di nuovo il problema dei due assi messi insieme. ::: prova La somma di due matrici diagonali è diagonale? Fai un esempio. Sì. $\begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix} + \begin{pmatrix} -1 & 0 \\ 0 & 4 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 7 \end{pmatrix}$: fuori dalla diagonale, $0 + 0$ resta 0. ::: > [!OLTRE] · relazioni tra le cinque classi > Il libro di Martelli (Esempio 2.2.13) nota che $D(n) = T^s(n) \cap T^i(n)$: una matrice è diagonale esattamente quando è triangolare sia superiore sia inferiore. E $S(n) \cap A(n) = \{0\}$: se $a_{ij} = a_{ji}$ e $a_{ij} = -a_{ji}$, allora $a_{ij} = -a_{ij}$, quindi $2a_{ij} = 0$ e $a_{ij} = 0$ (dividendo per 2, come nella nota sopra: nel campo con i soli numeri 0 e 1, dove $1 + 1 = 0$, simmetrico e antisimmetrico sono invece la stessa cosa). > [!RICORDA] > - Diagonale: zeri fuori dalla diagonale. Triangolare superiore: zeri sotto. Triangolare inferiore: zeri sopra. > - Simmetrica: uguale allo specchio sulla diagonale. Antisimmetrica: opposta allo specchio, con la diagonale di zeri. > - Le cinque classi sono sottospazi; «triangolari» tutte insieme no. ## Ricette con i vettori: combinazioni lineari (p. 28) In cucina una ricetta dice quanto prendere di ogni ingrediente: «2 parti di farina e 3 parti di zucchero». Con i vettori si fa lo stesso: si prendono alcuni vettori, si moltiplica ciascuno per un numero, e si sommano i risultati. Un esempio nello spazio a tre coordinate. Gli ingredienti sono $(1, 0, 1)$ e $(0, 1, 1)$; la ricetta è «2 volte il primo, meno 1 volta il secondo»: $$2\begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix} - \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 2 - 0 \\ 0 - 1 \\ 2 - 1 \end{pmatrix} = \begin{pmatrix} 2 \\ -1 \\ 1 \end{pmatrix}.$$ Il risultato si chiama **combinazione lineare** dei due vettori. Le dispense lo scrivono così. > [!DEF] Combinazione lineare (p. 28) > Sia $V$ uno spazio vettoriale e siano $v_1, \dots, v_k \in V$. Una **combinazione lineare** dei vettori $v_1, \dots, v_k$ è un vettore del tipo > $$v = \lambda_1 v_1 + \dots + \lambda_k v_k,$$ > dove $\lambda_1, \dots, \lambda_k \in \K$. **Come si legge.** - $v_1, \dots, v_k$ è un elenco di vettori: gli ingredienti. Il primo si chiama $v_1$, l'ultimo $v_k$, e $k$ è quanti sono. - $\lambda_1, \dots, \lambda_k$ sono numeri, uno per ingrediente: le dosi della ricetta. Si chiamano **coefficienti** della combinazione. Possono essere positivi, negativi, frazioni, anche zero. - «Lineare» vuol dire che si usano **solo** le due operazioni dello spazio vettoriale: somma e moltiplicazione per un numero. Niente prodotti tra vettori, niente quadrati. - Con tutte le dosi uguali a 0 viene il vettore zero. Con la dose di $v_1$ uguale a 1 e le altre 0 viene $v_1$ stesso. > [!ESEMPIO] · combinazioni in tre spazi diversi > - Nello spazio: $2\begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix} - \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 2 \\ -1 \\ 1 \end{pmatrix}$, il conto di prima. > - Tra i polinomi: $3(x^2 + 1) - 2(x - 1) = 3x^2 + 3 - 2x + 2 = 3x^2 - 2x + 5$. > - Tra le matrici: $a\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} + b\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} a & b \\ b & a \end{pmatrix}$, che è la forma delle matrici dell'Esercizio 6.9. ### Tutte le ricette di due vettori L'esempio delle dispense è nello spazio a tre coordinate, con due ingredienti: $$v_1 = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}, \qquad v_2 = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}, \qquad \lambda_1 v_1 + \lambda_2 v_2 = \begin{pmatrix} \lambda_1 \\ \lambda_2 \\ 0 \end{pmatrix}.$$ Cambiando le dosi si ottiene **esattamente** il piano «pavimento», quello con la terza coordinata zero. «Esattamente» vuol dire due cose: 1. ogni ricetta ha la terza coordinata uguale a 0, quindi sta nel pavimento; 2. al contrario, ogni punto del pavimento $(a, b, 0)$ si ottiene con una ricetta: dose $a$ del primo, dose $b$ del secondo. Nello strumento qui sotto $u$ e $v$ sono due vettori del piano e il punto giallo è la ricetta $\lambda u + \mu v$ ($\mu$ si legge «mi»). Muovi i cursori: con $u = (1, 2)$ e $v = (3, 1)$ il punto raggiunge qualsiasi posizione del piano. Poi trascina $v$ sulla retta di $u$, per esempio in $(2, 4)$: da quel momento le ricette restano sulla retta rossa, qualunque siano le dosi. ```widget vettori titolo: Le combinazioni lineari $\lambda u + \mu v$ u: 1 2 v: 3 1 modo: combinazione modi: combinazione lambda: 2 mu: -1 ``` ::: prova Quanto fa la combinazione $2(1, 0) + 3(0, 1)$? E $1 \cdot (1, 1) - 1 \cdot (0, 1)$? $2(1, 0) + 3(0, 1) = (2, 0) + (0, 3) = (2, 3)$. $(1, 1) - (0, 1) = (1, 0)$. ::: > [!RICORDA] > - Una combinazione lineare è una ricetta: ogni vettore moltiplicato per una dose, poi tutto sommato. > - Le dosi sono numeri qualsiasi e si chiamano coefficienti. ## Tutto quello che si può cucinare: lo Span (pp. 28–29) Nella sezione di prima, con due ingredienti si poteva cucinare tutto il pavimento, e niente fuori. Conviene dare un nome all'insieme di **tutte** le ricette possibili con certi ingredienti. Le dispense lo scrivono così. > [!DEF] 6.6 · Sottospazio generato > Sia $V$ uno spazio vettoriale e $v_1, \dots, v_k \in V$ dei vettori arbitrari. Il **sottospazio generato** da $v_1, \dots, v_k$ è il sottoinsieme di $V$ formato da tutte le loro combinazioni lineari e viene indicato con $\Span(v_1, \dots, v_k)$. In simboli: > $$\Span(v_1, \dots, v_k) = \{\lambda_1 v_1 + \dots + \lambda_k v_k \mid \lambda_1, \dots, \lambda_k \in \K\}.$$ **Come si legge.** - *Span* è una parola inglese, «span» o «spen»: in questo senso vuol dire «generare», «coprire». È tutto quello che si può cucinare con quegli ingredienti. - È un **insieme**, e di solito infinito: c'è un risultato per ogni scelta delle dosi. - Contiene gli ingredienti stessi (dose 1 per uno, 0 per gli altri) e il vettore zero (tutte le dosi 0). - La barretta $\mid$ qui si legge «al variare di»: le dosi prendono tutti i valori possibili. - I vettori $v_1, \dots, v_k$ si chiamano **generatori** dello Span: si usa anche dire che lo **generano**. Il nome «sottospazio generato» anticipa un fatto da controllare: lo Span è davvero un sottospazio. > [!PROP] 6.7 > Il sottoinsieme $\Span(v_1, \dots, v_k)$ è un sottospazio vettoriale di $V$. **Come si legge.** Tutto quello che si può cucinare con certi ingredienti forma sempre una stanza: sommando due piatti o moltiplicando un piatto per un numero si ottiene un altro piatto della stessa cucina. Il motivo, a parole: sommare due ricette dà ancora una ricetta, con le dosi sommate; moltiplicare una ricetta per un numero dà ancora una ricetta, con tutte le dosi moltiplicate. > [!DIM] della Proposizione 6.7 > Dalle dispense, con le giustificazioni. Chiamiamo $W$ lo Span e controlliamo i tre assiomi della Definizione 6.2. > 1. **Lo zero.** Con tutte le dosi uguali a 0 si ottiene $0v_1 + \dots + 0v_k = 0 + \dots + 0 = 0$, per la Proposizione 5.5. Quindi lo zero è una ricetta: sta in $W$. > 2. **La somma.** Se $v$ e $w$ stanno in $W$, sono due ricette: > $$v = \lambda_1 v_1 + \dots + \lambda_k v_k, \qquad w = \mu_1 v_1 + \dots + \mu_k v_k.$$ > Sommo e metto insieme i pezzi con lo stesso ingrediente (proprietà associativa e commutativa della somma e assioma 3): > $$v + w = (\lambda_1 + \mu_1)v_1 + \dots + (\lambda_k + \mu_k)v_k.$$ > È ancora una ricetta, con le dosi sommate. Quindi $v + w$ sta in $W$. > 3. **I multipli.** Se $v$ sta in $W$ e $\lambda$ è un numero, per gli assiomi 2 e 4: > $$\lambda v = \lambda(\lambda_1 v_1 + \dots + \lambda_k v_k) = (\lambda\lambda_1)v_1 + \dots + (\lambda\lambda_k)v_k.$$ > È una ricetta con tutte le dosi moltiplicate per $\lambda$: sta in $W$. $\square$ ### Lo Span di un solo vettore Con un solo ingrediente le ricette sono solo i suoi multipli. Le dispense fanno l'esempio nel piano. > [!ESEMPIO] 6.8 · Lo Span di un solo vettore > Se $v$ è un singolo vettore, allora $\Span(v) = \{\lambda v \mid \lambda \in \K\}$: sono tutti i multipli di $v$. Per esempio, in $\R^2$, > $$\Span\begin{pmatrix} 1 \\ 2 \end{pmatrix} = \left\{ \begin{pmatrix} t \\ 2t \end{pmatrix} \;\middle|\; t \in \R \right\},$$ > che è la retta $y = 2x$. Perché proprio la retta $y = 2x$? I multipli di $(1, 2)$ sono $(1, 2)$, $(2, 4)$, $(-1, -2)$, $(0{,}5;\ 1)$… In tutti la seconda coordinata è il doppio della prima. E al contrario, un punto con la seconda coordinata doppia della prima, come $(3, 6)$, è il multiplo $3 \cdot (1, 2)$. È la retta dei multipli di $(1, 2)$ disegnata nella lezione L05. Che forma può avere uno Span nel piano e nello spazio? Una tabella per orientarsi; il perché preciso arriva con la dimensione, nella lezione L07. | Ingredienti | Span nel piano | Span nello spazio | |---|---|---| | solo il vettore zero | solo lo zero | solo lo zero | | un vettore diverso da zero | la retta per l'origine nella sua direzione | la retta per l'origine nella sua direzione | | due vettori che non sono uno multiplo dell'altro | tutto il piano | il piano per l'origine che li contiene | | due vettori uno multiplo dell'altro (non tutti e due zero) | una retta | una retta | > [!TRAPPOLA] Lo Span di due vettori non è l'insieme dei due vettori > L'insieme $\{v_1, v_2\}$ ha **due** elementi. $\Span(v_1, v_2)$ contiene **tutte** le ricette: infinite, se i vettori non sono zero. E ingredienti diversi possono dare lo stesso Span: $\Span\big((1, 2)\big) = \Span\big((2, 4)\big) = \Span\big((-1, -2)\big)$, sempre la retta $y = 2x$. ::: prova Il vettore $(4, 6)$ sta in $\Span\big((2, 3)\big)$? E il vettore $(4, 5)$? $(4, 6) = 2 \cdot (2, 3)$: sì, è un multiplo. Per $(4, 5)$ servirebbe una dose $t$ con $2t = 4$ e $3t = 5$. La prima dà $t = 2$, ma allora $3t = 6$, non 5: no. ::: > [!OLTRE] · lo Span è il più piccolo sottospazio che contiene i vettori > Se un sottospazio $U$ contiene $v_1, \dots, v_k$, contiene anche tutti i loro multipli (assioma 3) e tutte le somme di multipli (assioma 2): quindi tutto $\Span(v_1, \dots, v_k)$ sta dentro $U$. Conseguenza pratica, utilissima nei quiz: **per mostrare che uno Span sta dentro un sottospazio basta controllare che ci stiano gli ingredienti**. Per mostrare che sono uguali serve anche il contrario: ogni vettore del sottospazio è una ricetta con quegli ingredienti. ### Un vettore sta nello Span? (pp. 29–30) È la domanda dell'Esercizio 6.10, e una delle più frequenti di tutto il corso: si può cucinare questo piatto con questi ingredienti? Si cercano le dosi. > [!ESEMPIO] · un polinomio nello Span di altri due > Il polinomio $x^2 + 2x + 3$ sta in $\Span(x^2 + 1,\ x + 1)$? Cerchiamo due dosi $a$ e $b$ con > $$a(x^2 + 1) + b(x + 1) = ax^2 + bx + (a + b) = x^2 + 2x + 3.$$ > Due polinomi sono uguali quando hanno gli stessi numeri davanti a ogni potenza. Quindi: > 1. davanti a $x^2$: $a = 1$; > 2. davanti a $x$: $b = 2$; > 3. il termine noto: $a + b = 3$. > > Le prime due danno $a = 1$ e $b = 2$, e la terza è vera: $1 + 2 = 3$. Quindi sì: $x^2 + 2x + 3 = (x^2 + 1) + 2(x + 1)$. > > Con $x^2 + 2x + 4$ invece la terza condizione diventerebbe $1 + 2 = 4$, falsa: quel polinomio **non** sta nello Span. > [!METODO] · «Il vettore sta nello Span?» > 1. Chiama con delle lettere le dosi che cerchi, una per ingrediente. > 2. Scrivi la ricetta con le lettere e mettila uguale al vettore dato, coordinata per coordinata (o potenza per potenza, per i polinomi): ottieni un **sistema lineare** nelle dosi. > 3. Risolvi il sistema. Per ora con le sostituzioni; dalla lezione L11 con il metodo di Gauss. > 4. Se trovi le dosi, il vettore sta nello Span: rimettile nella ricetta e controlla. Se arrivi a una cosa impossibile, come $3 = 4$, il vettore non sta nello Span. Per i sistemi più grandi lo strumento qui sotto fa i passaggi di Gauss al posto tuo (il metodo si impara nella lezione L11). Scrivi nelle colonne gli ingredienti e, nell'ultima colonna, il vettore da provare. La matrice già inserita è quella dell'Esercizio 6.10 con il vettore $(1, 2, 3)$: lo strumento trova una sola soluzione, $x_1 = 1$ e $x_2 = 2$ (sono le due dosi). Poi cambia l'ultimo numero da 3 a 4, cioè prova il vettore $(1, 2, 4)$, e premi «Calcola»: nessuna soluzione. ```widget gauss titolo: Il vettore dell'ultima colonna sta nello Span delle altre colonne? matrice: 1 0 1; 0 1 2; 1 1 3 modo: sistema modi: sistema ``` > [!OLTRE] · forma parametrica e forma cartesiana > Il libro di Martelli (§2.2.11) dà un nome ai due modi di descrivere un sottospazio di $\K^n$. In **forma parametrica** lo si descrive come Span di alcuni vettori: $\Span((1, 0, 1), (0, 1, 1)) = \{(s, t, s + t) \mid s, t \in \R\}$. In **forma cartesiana** lo si descrive con equazioni lineari omogenee: lo stesso insieme è il piano $z = x + y$. Nell'Esercizio 6.10 si passa dalla prima alla seconda. I due modi torneranno per rette e piani nelle lezioni L22–L24. > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli: le matrici e lo spazio $M(m, n, \K)$ nel **§2.2.5** (pp. 49–50); sottospazi, sottospazio «banale» e totale nei **§2.2.6–2.2.7** (pp. 50–51); sistemi omogenei nel **§2.2.8** (pp. 51–52); combinazioni lineari e Span nei **§2.2.9–2.2.10** (pp. 52–54, Proposizione 2.2.4 = Proposizione 6.7); forma cartesiana e parametrica e polinomi con restrizioni nei **§2.2.11–2.2.12** (pp. 54–55); matrici diagonali, triangolari, simmetriche e antisimmetriche nel **§2.2.14** (pp. 56–57, Proposizione 2.2.10 = Proposizione 6.5); intersezione e unione nei **§2.2.15–2.2.16** (pp. 57–58). > [!RICORDA] > - Lo Span di alcuni vettori è l'insieme di tutte le loro combinazioni lineari: tutto quello che si può cucinare. > - Lo Span è sempre un sottospazio. Lo Span di un vettore diverso da zero è la retta dei suoi multipli. > - Per sapere se un vettore sta nello Span si cercano le dosi: è un sistema lineare. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\K$ | «kappa» | i numeri usati: reali $\R$ oppure complessi $\C$ | $\K = \R$ | | $m \times n$ | «emme per enne» | la forma di una matrice: $m$ righe, $n$ colonne | $\begin{pmatrix} 1 & 2 & 3 \end{pmatrix}$ è $1 \times 3$ | | $a_{ij}$ | «a i j» | il numero nella riga $i$ e nella colonna $j$ | in $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$, $a_{21} = 3$ | | $A_i$, $A^j$ | «a con i in basso», «a con j in alto» | la riga $i$ e la colonna $j$ | $A_1 = (1, 2)$ | | $M(m, n, \K)$, $M(n)$ | «emme di emme enne» | lo spazio delle matrici $m \times n$; delle quadrate $n \times n$ | $M(2)$ | | $D(n)$, $T^s(n)$, $T^i(n)$ | «di», «ti esse», «ti i» | diagonali, triangolari superiori, triangolari inferiori | $\begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix} \in D(2)$ | | $S(n)$, $A(n)$ | «esse», «a» | simmetriche, antisimmetriche | $\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix} \in A(2)$ | | ${}^tA$ | «a trasposta» | righe e colonne scambiate (lezione L08) | ${}^t\begin{pmatrix} 1 & 2 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \end{pmatrix}$ | | $W \subset V$ | «W contenuto in V» | $W$ è una parte di $V$ | $\{0\} \subset V$ | | $v \in W$ | «v appartiene a W» | $v$ è uno dei vettori di $W$ | $(1, 2) \in \Span((1, 2))$ | | $\{0\}$ | «l'insieme con solo lo zero» | il sottospazio banale | | | $\forall$ | «per ogni» | vale per tutti i valori | $a_{ij} = 0\ \forall i \neq j$ | | $\lambda$, $\mu$ | «lambda», «mi» | numeri, di solito le dosi di una ricetta | $\lambda u + \mu v$ | | $v_1, \dots, v_k$ | «v uno, …, v kappa» | un elenco di $k$ vettori | | | $\Span(v_1, \dots, v_k)$ | «span di v uno, …, v kappa» | tutte le combinazioni lineari dei vettori | $\Span((1, 2))$ è la retta $y = 2x$ | | $\{\ldots \mid \ldots\}$ | «l'insieme di … per cui …» | un insieme descritto con una condizione | $\{(x, y) \mid y = 2x\}$ | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 domande a risposta multipla con 5 risposte, e 2 problemi da 11 punti. I problemi si correggono solo con almeno 6 punti nel quiz. Dura 2 ore, senza calcolatrice e con solo 4 facciate scritte a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame** 1. **«È un sottospazio?»** È la domanda più frequente di questa parte del corso. È uscita negli appelli dell'08/02/2024 (domanda 2), del 03/06/2025 (domanda 2), del 05/02/2026 (domanda 2) e del 07/09/2026 (domanda 6). Nell'appello del 10/07/2024 (domanda 2) riguardava l'insieme $O(2)$ delle matrici ortogonali, che non contiene la matrice nulla. 2. **«Questo sottospazio è lo Span di…».** Un'altra domanda ricorrente chiede quale Span è uguale a un sottospazio di polinomi (24/01/2024, domanda 1; 15/01/2026, domanda 7). 3. **Le matrici speciali.** Nelle domande sulla dimensione compaiono $T^s(3)$ (24/01/2024, domanda 5) e $S(3)$ (15/01/2026, domanda 4): la dimensione si calcola nella lezione L07, ma che siano sottospazi è la Proposizione 6.5. L'appello dell'08/02/2024 (domanda 6) chiede per quali matrici $A + {}^tA = 0$: sono le antisimmetriche. 4. **Lo Span nei problemi.** Nei problemi da 11 punti lo Span serve per scrivere rette e piani: «calcolare la retta $r = \pi_1 \cap \pi_2$ in forma $r = P + \Span(v)$» (24/01/2024, problema 12). Lo vedrai nelle lezioni L22–L24. ### Una domanda vera, letta insieme **Appello dell'08/02/2024, domanda 2.** Il testo: «Quale dei seguenti insiemi **non** è un sottospazio di $\R_2[x]$? (a) $\{p(x) \in \R_2[x] \mid p(0) = 0\}$; (b) $\{(t + s)x^2 - tx - s \mid s, t \in \R\}$; (c) $\{p(x) = ax^2 + bx + c \mid a = 2c,\ b = 0\}$; (d) $\{(1 + t)x^2 + tx \mid t \in \R\}$; (e) $\{p(x) \in \R_2[x] \mid p(1) = 0 = p(2)\}$». **In pratica chiede:** tra cinque gruppi di polinomi di grado al massimo 2, quale non è una stanza? Si parte dal controllo più veloce: c'è il polinomio zero? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: (a) ed (e).** Sono i polinomi che fanno zero in certi numeri. Il polinomio zero fa zero dappertutto, quindi c'è. E sommando o moltiplicando polinomi che fanno zero in un numero, si ottiene ancora zero in quel numero. Sono sottospazi. > > **Passo 2: (b).** Metto insieme i pezzi con $t$ e quelli con $s$: $(t + s)x^2 - tx - s = t(x^2 - x) + s(x^2 - 1)$. Sono tutte le ricette con gli ingredienti $x^2 - x$ e $x^2 - 1$: è uno Span, quindi è un sottospazio. > > **Passo 3: (c).** Le condizioni $a = 2c$ e $b = 0$ sono equazioni senza termine noto. Il polinomio zero ($a = b = c = 0$) le rispetta; somme e multipli anche. Sottospazio. > > **Passo 4: (d).** Per avere il polinomio zero servirebbe che il numero davanti a $x^2$ sia 0, cioè $1 + t = 0$, e che il numero davanti a $x$ sia 0, cioè $t = 0$. Ma $t$ non può essere insieme $-1$ e 0. Il polinomio zero manca. > > **La risposta** è la (d). ### Altre due domande vere > [!ESAME] Appello del 03/06/2025, domanda 2 > **Testo.** Quale dei seguenti insiemi di punti $(x, y, z) \in \R^3$ è un sottospazio vettoriale di $\R^3$? (a) $x^2 - 2x + 1 = 0$; (b) $x + 2yz + 3z = 7$; (c) $-x + 7y + z = 5$; (d) $x + \frac y2 - 5\pi z = 0$; (e) $x + 3iy + 5z = 0$. > > **In pratica chiede:** quale di queste equazioni descrive una stanza dello spazio? > > **Soluzione.** È la (d): un'equazione con le lettere solo alla prima potenza, numeri reali e niente termine noto. Le altre: > - in (a) l'equazione è $(x - 1)^2 = 0$, cioè $x = 1$, e l'origine non la rispetta; > - (b) e (c) hanno un termine noto diverso da zero, quindi l'origine non c'è (in (b) c'è anche il prodotto $yz$); > - la (e) ha un numero non reale, e la soluzione ufficiale la scarta perché «non è definita sui numeri reali». A rigore, per un punto con coordinate reali l'equazione chiede che si annullino separatamente la parte reale e quella immaginaria: $x + 5z = 0$ e $3y = 0$. L'insieme che ne esce è una retta per l'origine. Ma l'intenzione della domanda è chiara, e la risposta attesa è la (d). > [!ESAME] Appello del 24/01/2024, domanda 1 > **Testo.** Siano dati in $\R_3[x]$ i polinomi > $$a(x) = x - 1, \quad b(x) = x + 2, \quad c(x) = 2x^2 - 2, \quad d(x) = x^2 - x, \quad e(x) = 2x^3 + 1, \quad f(x) = x^3 - x^2,$$ > e sia $U = \{p(x) \in \R_3[x] \mid p(1) = 0\}$. Vale: (a) $U = \Span(a, c)$; (b) $U = \Span(a, c, f)$; (c) $U = \Span(c, d, e, f)$; (d) $U = \Span(b, e, f)$; (e) $U = \Span(a, c, d)$. > > **In pratica chiede:** $U$ sono i polinomi di grado al massimo 3 che fanno zero in 1. Con quali ingredienti si cucina esattamente $U$? > > **Soluzione.** È la (b), e la si può dimostrare con gli strumenti di questa lezione. > - Scarto (c) e (d): $e(1) = 3$ e $b(1) = 3$, non zero. Quindi $e$ e $b$ non stanno in $U$, e quegli Span escono da $U$. > - Scarto (a) ed (e): i loro ingredienti hanno grado al massimo 2, quindi ogni ricetta ha grado al massimo 2. Ma $U$ contiene $x^3 - 1$, di grado 3. > - Confermo (b). Da un lato $a(1) = c(1) = f(1) = 0$, quindi lo Span di $a$, $c$, $f$ sta dentro $U$ (riquadro sullo Span più piccolo). Dall'altro, se $p(1) = 0$ allora $p(x) = (x - 1)q(x)$ con $q$ di grado al massimo 2 (lezione L04). Quindi $p$ è una ricetta con $x - 1$, $x(x - 1) = x^2 - x$ e $x^2(x - 1) = x^3 - x^2$. E questi tre si cucinano con $a$, $c$, $f$: $x - 1 = a$, $x^2 - x = \frac 12 c - a$, $x^3 - x^2 = f$. ### I segnali da riconoscere > [!METODO] · «È un sottospazio?»: i segnali da riconoscere > | Se l'insieme è descritto da… | allora… | > |---|---| > | equazioni lineari **senza termine noto** nelle coordinate o nei coefficienti ($x - 2y = 0$, $a = 2c$, $p(1) = 0$, $p(1) = p(2)$) | è un sottospazio | > | un'equazione con termine noto diverso da zero ($x + y = 1$, $p(0) = 1$, $a_{11} = 1$) | non contiene lo zero: **no** | > | disuguaglianze ($x \ge 0$, $b > 0$) | quasi sempre no: prova a moltiplicare per $-1$ | > | prodotti o potenze delle lettere ($xy = 0$, $x = y^2$) | quasi sempre no: prova una somma o un multiplo | > | una lettera con un pezzo fisso, come $\{(1 + t)x^2 + tx\}$ | quasi sempre no: con nessun valore della lettera si ottiene lo zero | > | uno Span, o «tutte le combinazioni di…» | sì, sempre (Proposizione 6.7) | > > Per rispondere **no** scrivi un esempio concreto che non funziona. Per rispondere **sì**, riscrivi l'insieme come Span oppure fai i tre controlli con vettori qualsiasi. > [!TRAPPOLA] Gli errori più comuni > - Controllare solo lo zero: il primo quadrante contiene lo zero ma non è un sottospazio. > - Dimenticare i numeri negativi nel controllo dei multipli. > - Pensare che «triangolari» (superiori oppure inferiori) sia un sottospazio: lo sono le superiori e le inferiori separatamente. > - Confondere lo Span di due vettori con l'insieme dei due vettori. > - Nel controllo «sta nello Span?» fermarsi alle prime condizioni senza controllare anche l'ultima. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: i tre assiomi di sottospazio; la tabella dei segnali «sì / no»; le forme $3 \times 3$ delle cinque classi di matrici; la definizione di Span e il metodo «il vettore sta nello Span?». ## Quiz ```quiz D: Quale di questi insiemi **non** è un sottospazio di $\R_2[x]$? - $\{p(x) \in \R_2[x] \mid p(2) = 0\}$ - $\{p(x) \in \R_2[x] \mid p(0) = p(1)\}$ - $\Span(x,\ x^2 + 1)$ + $\{x^2 + t \mid t \in \R\}$ - $\{ax^2 + bx + c \mid a = b = c\}$ = La domanda cerca l'insieme che non è una stanza, e il controllo più veloce è lo zero. Nei polinomi $x^2 + t$ il numero davanti a $x^2$ è sempre 1, quindi nessuno di loro è il polinomio zero: è la risposta. Gli altri sono sottospazi: «$p(2) = 0$» e «$p(0) = p(1)$» sono condizioni senza termine noto, uno Span è sempre un sottospazio, e i polinomi con $a = b = c$ sono i multipli di $x^2 + x + 1$, cioè uno Span. La risposta più insidiosa è $\{p(0) = p(1)\}$, che sembra strana; ma riscritta diventa $p(0) - p(1) = 0$, senza termine noto. Simile agli appelli dell'08/02/2024 e del 05/02/2026 (domanda 2). D: Quale di questi insiemi è un sottospazio vettoriale di $\R^3$? + $\{(x, y, z) \mid x - 2y + 3z = 0\}$ - $\{(x, y, z) \mid x + y + z = 1\}$ - $\{(x, y, z) \mid xyz = 0\}$ - $\{(x, y, z) \mid x \ge 0\}$ - $\{(x, y, z) \mid x = y^2\}$ = La prima è un'equazione con le lettere alla prima potenza e senza termine noto: se due punti la rispettano, la rispettano anche la somma e i multipli. Per le altre basta un esempio che non funziona: l'origine non rispetta $x + y + z = 1$; $(1, 1, 0)$ e $(0, 0, 1)$ hanno prodotto delle coordinate zero, ma la loro somma $(1, 1, 1)$ no; $(1, 0, 0)$ ha $x \ge 0$, ma moltiplicato per $-1$ no. La risposta più insidiosa è $x = y^2$, che contiene l'origine: però $(1, 1, 0)$ la rispetta e il suo doppio $(2, 2, 0)$ no, perché $2$ non è $4$. Simile all'appello del 03/06/2025, domanda 2. D: La matrice $\begin{pmatrix} 0 & 2 \\ -2 & 0 \end{pmatrix}$ è: + antisimmetrica, e di nessuna delle altre quattro classi - simmetrica - triangolare superiore - diagonale - sia simmetrica sia antisimmetrica = Si guardano le due caselle fuori dalla diagonale: sopra c'è 2, sotto c'è $-2$, una l'opposto dell'altra, e la diagonale è fatta di zeri. Quindi è antisimmetrica. Non è simmetrica, perché 2 e $-2$ sono diversi; non è triangolare, perché le caselle sopra e sotto sono tutte e due diverse da zero; quindi non è nemmeno diagonale. La risposta più insidiosa è «sia simmetrica sia antisimmetrica»: l'unica matrice che è tutte e due le cose è la matrice nulla. D: Quale di questi vettori appartiene a $\Span\big((1, 0, 1),\ (0, 1, 1)\big)$? + $(1, 1, 2)$ - $(1, 1, 1)$ - $(2, 1, 1)$ - $(0, 0, 1)$ - $(1, -1, 1)$ = Una ricetta con dosi $a$ e $b$ dà $a(1, 0, 1) + b(0, 1, 1) = (a, b, a + b)$: la terza coordinata è sempre la somma delle prime due. Si controllano le risposte: solo $(1, 1, 2)$ lo rispetta, con $a = b = 1$. Negli altri la terza coordinata dovrebbe essere $2$, $3$, $0$ e $0$. La risposta più insidiosa è $(1, 1, 1)$, che somiglia ai due ingredienti; ma sommati danno $(1, 1, 2)$. D: In $\R^2$, che cos'è $\Span\big((1, 2)\big)$? + La retta $y = 2x$. - La retta $x = 2y$. - La retta $y = x + 2$. - Tutto il piano $\R^2$. - L'insieme $\{(1, 2)\}$, con un solo elemento. = Lo Span di un solo vettore sono tutti i suoi multipli $(t, 2t)$ (Esempio 6.8): i punti con la seconda coordinata doppia della prima, cioè la retta $y = 2x$. La retta $x = 2y$ non contiene nemmeno $(1, 2)$. $y = x + 2$ non passa per l'origine, quindi non è un sottospazio. Un solo vettore diverso da zero dà una retta, non tutto il piano. La risposta più insidiosa è l'insieme con il solo $(1, 2)$: confonde lo Span con l'insieme degli ingredienti. D: L'insieme delle matrici $A \in M(2, \R)$ con $a_{11} = 1$ è: - un sottospazio, perché è definito da un'equazione lineare - un sottospazio, perché contiene la matrice identità + non un sottospazio: per esempio non contiene la matrice nulla - un sottospazio, perché è chiuso rispetto al prodotto per scalare - uguale a tutto $M(2, \R)$ = Si fa il controllo dello zero: la matrice nulla ha la prima casella uguale a 0, non a 1, quindi non c'è. La risposta più insidiosa è la prima: l'equazione $a_{11} = 1$ è lineare, ma ha un termine noto diverso da zero, e allora lo zero manca. Contenere l'identità non basta; e l'insieme non è nemmeno chiuso rispetto ai multipli, perché $2A$ ha la prima casella uguale a 2. Simile all'appello del 10/07/2024, domanda 2 ($O(2)$ non è un sottospazio perché non contiene la matrice nulla). D: Per quale valore di $k$ il vettore $(1, k, 3)$ appartiene a $\Span\big((1, 0, 1),\ (0, 1, 1)\big)$? N: 2 = Una ricetta con dosi $a$ e $b$ dà $(a, b, a + b)$. Deve essere uguale a $(1, k, 3)$: la prima coordinata dà $a = 1$, la seconda $b = k$, la terza $a + b = 3$. Quindi $1 + k = 3$, cioè $k = 2$. Controllo: $(1, 0, 1) + 2(0, 1, 1) = (1, 2, 3)$. D: Sia $U = \{p(x) \in \R_2[x] \mid p(1) = 0\}$. Quale uguaglianza è vera? + $U = \Span(x - 1,\ x^2 - 1)$ - $U = \Span(x - 1)$ - $U = \Span(x + 1,\ x^2 - 1)$ - $U = \Span(x^2 - 1,\ x^2 - x,\ x^2 + x)$ - $U = \Span(1,\ x,\ x^2)$ = $U$ sono i polinomi di grado al massimo 2 che fanno zero in 1. Gli ingredienti $x - 1$ e $x^2 - 1$ fanno zero in 1, quindi tutte le loro ricette stanno in $U$. Al contrario, se $p(1) = 0$ allora $p(x) = (x - 1)(ax + b) = a(x^2 - x) + b(x - 1) = a(x^2 - 1) + (b - a)(x - 1)$: è una ricetta con i due ingredienti. Le altre risposte: $\Span(x - 1)$ non contiene $x^2 - 1$; $x + 1$ e $x^2 + x$ valgono 2 in 1, quindi escono da $U$; $\Span(1, x, x^2)$ è tutto $\R_2[x]$. La risposta più insidiosa è $\Span(x - 1)$, che contiene polinomi giusti ma non tutti. Simile agli appelli del 24/01/2024 (domanda 1) e del 15/01/2026 (domanda 7). D: Quale affermazione è vera? + Ogni sottospazio di $V$ contiene il vettore nullo di $V$. - L'unione di due sottospazi è sempre un sottospazio. - $\Span(v)$ contiene solo il vettore $v$. - $\{0\}$ non è un sottospazio, perché ha un solo elemento. - In $\R^2$ una retta che non passa per l'origine può essere un sottospazio. = È il primo dei tre controlli della Definizione 6.2: ogni stanza contiene lo zero. Le altre sono false: i due assi del piano messi insieme non sono un sottospazio; lo Span di un vettore contiene tutti i suoi multipli; l'insieme con il solo zero è un sottospazio, quello più piccolo; una retta che non passa per l'origine non contiene lo zero. La risposta più insidiosa è quella sull'unione, perché l'intersezione di due sottospazi invece è sempre un sottospazio. D: L'insieme delle matrici $A \in M(2, \R)$ tali che $A + {}^tA = 0$ (dove ${}^tA$ è la trasposta, $({}^tA)_{ij} = a_{ji}$) è: + lo spazio $A(2)$ delle matrici antisimmetriche - lo spazio $S(2)$ delle matrici simmetriche - lo spazio $D(2)$ delle matrici diagonali - l'insieme che contiene solo la matrice nulla - l'insieme vuoto = La condizione dice che ogni casella sommata alla sua immagine allo specchio fa zero: $a_{ij} + a_{ji} = 0$, cioè $a_{ij} = -a_{ji}$. È la definizione di matrice antisimmetrica. La risposta più insidiosa è «solo la matrice nulla»: ma $\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}$ rispetta la condizione e non è nulla. Le simmetriche invece rispettano $A - {}^tA = 0$. Simile all'appello dell'08/02/2024, domanda 6. ``` ## Esercizi ::: esercizio base Riscaldamento: leggere una matrice Nella matrice $\begin{pmatrix} 5 & -2 & 0 \\ 1 & 4 & 7 \end{pmatrix}$ trova la forma, $a_{13}$, $a_{22}$, la prima riga e la terza colonna. ::: soluzione 1. Ha 2 righe e 3 colonne: è $2 \times 3$. 2. $a_{13}$ è nella riga 1 e nella colonna 3: vale 0. 3. $a_{22}$ è nella riga 2 e nella colonna 2: vale 4. 4. La prima riga è $(5, -2, 0)$. 5. La terza colonna è $\begin{pmatrix} 0 \\ 7 \end{pmatrix}$. ::: ::: esercizio base Riscaldamento: somma e doppio Calcola $A + B$ e $2A$ con $A = \begin{pmatrix} 1 & 3 \\ 0 & -2 \end{pmatrix}$ e $B = \begin{pmatrix} 4 & -1 \\ 2 & 2 \end{pmatrix}$. ::: soluzione 1. Somma casella per casella: $A + B = \begin{pmatrix} 1 + 4 & 3 - 1 \\ 0 + 2 & -2 + 2 \end{pmatrix} = \begin{pmatrix} 5 & 2 \\ 2 & 0 \end{pmatrix}$. 2. Doppio casella per casella: $2A = \begin{pmatrix} 2 & 6 \\ 0 & -4 \end{pmatrix}$. ::: ::: esercizio base Riscaldamento: c'è lo zero? Quali di questi insiemi del piano contengono l'origine? Quali possono essere sottospazi? (a) $x - 5y = 0$; (b) $x - 5y = 2$; (c) $y = 0$; (d) $x = 1$. ::: soluzione 1. (a) $0 - 0 = 0$: l'origine c'è. È una retta per l'origine: sottospazio. 2. (b) $0 - 0 = 0$, non 2: l'origine manca. Non è un sottospazio. 3. (c) l'origine ha $y = 0$: c'è. È l'asse orizzontale: sottospazio. 4. (d) l'origine ha $x = 0$, non 1: manca. Non è un sottospazio. ::: ::: esercizio base Riscaldamento: una ricetta Calcola $3(1, 2) - 2(0, 1)$. Poi di' se $(3, 4)$ sta in $\Span\big((1, 2),\ (0, 1)\big)$. ::: soluzione 1. $3(1, 2) - 2(0, 1) = (3, 6) - (0, 2) = (3, 4)$. 2. Il conto appena fatto è una ricetta con quegli ingredienti che dà $(3, 4)$, con dosi 3 e $-2$. Quindi sì, $(3, 4)$ sta nello Span. ::: ::: esercizio base Conti con le matrici Siano $A = \begin{pmatrix} 2 & -1 & 0 \\ 1 & 3 & 4 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & 1 & -2 \\ 0 & -1 & 5 \end{pmatrix}$. (a) Di che taglia sono? Quanto valgono $a_{13}$, $a_{21}$, la riga $A_2$ e la colonna $A^2$? (b) Calcola $A + B$ e $3A - 2B$. (c) Trova la matrice $X$ tale che $A + X = B$. ::: soluzione (a) Sono tutte e due $2 \times 3$. $a_{13} = 0$ (riga 1, colonna 3), $a_{21} = 1$ (riga 2, colonna 1), $A_2 = (1, 3, 4)$, $A^2 = {}^t(-1, 3)$, cioè $-1$ e $3$ in colonna. (b) Casella per casella: $$A + B = \begin{pmatrix} 3 & 0 & -2 \\ 1 & 2 & 9 \end{pmatrix}, \qquad 3A - 2B = \begin{pmatrix} 6 - 2 & -3 - 2 & 0 + 4 \\ 3 - 0 & 9 + 2 & 12 - 10 \end{pmatrix} = \begin{pmatrix} 4 & -5 & 4 \\ 3 & 11 & 2 \end{pmatrix}.$$ (c) Tolgo $A$ da tutte e due le parti: $X = B - A = \begin{pmatrix} -1 & 2 & -2 \\ -1 & -4 & 1 \end{pmatrix}$. Controllo: $A + X = \begin{pmatrix} 2 - 1 & -1 + 2 & 0 - 2 \\ 1 - 1 & 3 - 4 & 4 + 1 \end{pmatrix} = B$. ::: ::: esercizio base Riconoscere le classi di matrici Per ciascuna matrice di' a quali delle cinque classi della Definizione 6.3 appartiene: $$M_1 = \begin{pmatrix} 3 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & -1 \end{pmatrix}, \quad M_2 = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 5 & 6 \\ 3 & 6 & 0 \end{pmatrix}, \quad M_3 = \begin{pmatrix} 0 & 1 & -2 \\ -1 & 0 & 3 \\ 2 & -3 & 0 \end{pmatrix}, \quad M_4 = \begin{pmatrix} 1 & 0 & 0 \\ 4 & 2 & 0 \\ 5 & 6 & 3 \end{pmatrix}, \quad M_5 = \begin{pmatrix} 1 & 1 \\ -1 & 1 \end{pmatrix}.$$ ::: soluzione 1. $M_1$: fuori dalla diagonale solo zeri, quindi è **diagonale**. Allora è anche **triangolare superiore**, **triangolare inferiore** e **simmetrica**. Non è antisimmetrica, perché la diagonale non è fatta di zeri. 2. $M_2$: le caselle allo specchio sono uguali (2 e 2, 3 e 3, 6 e 6): **simmetrica**, e basta, perché ci sono numeri sia sopra sia sotto la diagonale. 3. $M_3$: diagonale di zeri, e le caselle allo specchio sono opposte (1 e $-1$, $-2$ e 2, 3 e $-3$): **antisimmetrica**, e basta. 4. $M_4$: sopra la diagonale solo zeri: **triangolare inferiore** (quindi triangolare), e basta. 5. $M_5$: le caselle fuori dalla diagonale sono opposte (1 e $-1$), ma la diagonale non è nulla, quindi non è antisimmetrica; non è simmetrica perché 1 e $-1$ sono diversi; non è triangolare. Non appartiene a **nessuna** delle cinque classi. ::: ::: esercizio base Span nel piano (a) Descrivi $\Span((2, -1))$ con un'equazione. (b) Descrivi $\Span((1, 2), (2, 4))$. (c) Dimostra che $\Span((1, 0), (1, 1)) = \R^2$, trovando esplicitamente i coefficienti per un vettore qualsiasi $(a, b)$. ::: soluzione (a) I multipli di $(2, -1)$ sono $(2t, -t)$. Da $y = -t$ viene $t = -y$, e allora $x = 2t = -2y$. È la retta $x + 2y = 0$. (b) $(2, 4) = 2 \cdot (1, 2)$, quindi ogni ricetta $\lambda(1, 2) + \mu(2, 4) = (\lambda + 2\mu)(1, 2)$ è un multiplo di $(1, 2)$. Lo Span è la retta $y = 2x$, come lo Span di $(1, 2)$ da solo: il secondo vettore non aggiunge niente. (c) Cerco le dosi $\lambda$ e $\mu$ con $\lambda(1, 0) + \mu(1, 1) = (\lambda + \mu, \mu) = (a, b)$. 1. Dalla seconda coordinata: $\mu = b$. 2. Dalla prima: $\lambda + b = a$, quindi $\lambda = a - b$. Quindi $$(a, b) = (a - b)(1, 0) + b(1, 1)$$ per ogni $a$ e $b$: ogni vettore del piano è una ricetta, e lo Span è tutto il piano. Controllo con $(3, 5)$: $-2 \cdot (1, 0) + 5 \cdot (1, 1) = (-2 + 5, 5) = (3, 5)$. ::: ::: esercizio medio Esercizio 6.9 delle dispense: le matrici del tipo $\begin{pmatrix} a & b \\ b & a \end{pmatrix}$ Consideriamo il sottoinsieme $W \subset M(2, \R)$ formato dalle matrici del tipo $$\begin{pmatrix} a & b \\ b & a \end{pmatrix}, \qquad a, b \in \R.$$ Dimostra che $W$ è un sottospazio vettoriale di $M(2, \R)$ e verifica che $$W = \Span\left(\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}, \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\right).$$ ::: soluzione **$W$ è un sottospazio.** Faccio i tre controlli della Definizione 6.2. 1. La matrice nulla sta in $W$: è il caso $a = b = 0$. 2. La somma: $\begin{pmatrix} a & b \\ b & a \end{pmatrix} + \begin{pmatrix} a' & b' \\ b' & a' \end{pmatrix} = \begin{pmatrix} a + a' & b + b' \\ b + b' & a + a' \end{pmatrix}$. Ha ancora la stessa forma, con $a + a'$ e $b + b'$ al posto di $a$ e $b$. 3. I multipli: $\lambda \begin{pmatrix} a & b \\ b & a \end{pmatrix} = \begin{pmatrix} \lambda a & \lambda b \\ \lambda b & \lambda a \end{pmatrix}$, stessa forma con $\lambda a$ e $\lambda b$. **$W$ è lo Span delle due matrici.** Chiamo $I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ e $J = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$. Per ogni $a$ e $b$: $$aI + bJ = \begin{pmatrix} a & 0 \\ 0 & a \end{pmatrix} + \begin{pmatrix} 0 & b \\ b & 0 \end{pmatrix} = \begin{pmatrix} a & b \\ b & a \end{pmatrix}.$$ Letta da sinistra a destra, l'uguaglianza dice che ogni ricetta con $I$ e $J$ sta in $W$. Letta da destra a sinistra, dice che ogni matrice di $W$ è una ricetta con $I$ e $J$. Quindi $W = \Span(I, J)$. Nota: con questa seconda parte il primo punto diventa automatico, perché ogni Span è un sottospazio (Proposizione 6.7). È il modo più veloce per dimostrare che un insieme è un sottospazio: riscriverlo come Span. ::: ::: esercizio medio Esercizio 6.10 delle dispense: uno Span in $\R^3$ In $\R^3$ siano $$v_1 = \begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix}, \qquad v_2 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}.$$ Descrivi esplicitamente $\Span(v_1, v_2)$ e determina quali dei vettori $$u = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}, \qquad w = \begin{pmatrix} 1 \\ 2 \\ 4 \end{pmatrix}$$ appartengono a questo sottospazio. ::: soluzione **Descrizione.** Una ricetta qualsiasi, con dosi $a$ e $b$, è $$a v_1 + b v_2 = \begin{pmatrix} a \\ 0 \\ a \end{pmatrix} + \begin{pmatrix} 0 \\ b \\ b \end{pmatrix} = \begin{pmatrix} a \\ b \\ a + b \end{pmatrix}.$$ Quindi lo Span è fatto dai vettori in cui la terza coordinata è la somma delle prime due. Con un'equazione è il **piano** $z = x + y$, cioè $x + y - z = 0$, che passa per l'origine. Infatti un punto $(x, y, z)$ ha la forma $(a, b, a + b)$ esattamente quando $z = x + y$: basta prendere $a = x$ e $b = y$. **Il vettore $u$.** Cerco le dosi con $(a, b, a + b) = (1, 2, 3)$. 1. Dalle prime due coordinate: $a = 1$ e $b = 2$. 2. La terza chiede $a + b = 3$, e infatti $1 + 2 = 3$. Sì: $u = v_1 + 2v_2$ sta nello Span. Controllo: $(1, 0, 1) + 2(0, 1, 1) = (1, 2, 3)$. **Il vettore $w$.** Di nuovo $a = 1$ e $b = 2$, ma la terza coordinata chiede $a + b = 4$, mentre $1 + 2 = 3$. Impossibile: $w$ non sta nello Span. Con l'equazione del piano: $1 + 2 - 4 = -1$, non zero. ::: ::: esercizio medio Sottospazi di $\R^3$ Di' quali dei seguenti sottoinsiemi di $\R^3$ sono sottospazi. Se sì, dimostralo; se no, trova un controesempio. (a) $W_1 = \{(x, y, z) \mid x + 2y - z = 0\}$ (b) $W_2 = \{(x, y, z) \mid x = y = z\}$ (c) $W_3 = \{(x, y, z) \mid x + y + z = 1\}$ (d) $W_4 = \{(x, y, z) \mid x^2 = y^2\}$ (e) $W_5 = \{(t, t^2, 0) \mid t \in \R\}$ ::: soluzione (a) **Sì.** L'origine rispetta l'equazione. Se $x + 2y - z = 0$ e $x' + 2y' - z' = 0$, sommando viene $(x + x') + 2(y + y') - (z + z') = 0$; moltiplicando per $\lambda$ viene $\lambda x + 2\lambda y - \lambda z = 0$. È un piano per l'origine. (b) **Sì.** I punti con le tre coordinate uguali sono $(t, t, t)$, cioè i multipli di $(1, 1, 1)$. È lo Span di $(1, 1, 1)$, quindi un sottospazio per la Proposizione 6.7: la retta per l'origine nella direzione di $(1, 1, 1)$. (c) **No.** L'origine non c'è: $0 + 0 + 0 = 0$, non 1. (d) **No.** L'origine c'è e i multipli restano dentro, ma la somma esce. $(1, 1, 0)$ e $(1, -1, 0)$ stanno in $W_4$, perché in tutti e due $x^2 = y^2 = 1$. La loro somma $(2, 0, 0)$ no, perché $4$ non è $0$. In realtà $W_4$ è fatto da due piani messi insieme, $x = y$ e $x = -y$. (e) **No.** $(1, 1, 0)$ sta in $W_5$, con $t = 1$. Ma il suo doppio $(2, 2, 0)$ no: per avere la prima coordinata 2 serve $t = 2$, e allora la seconda sarebbe 4. ::: ::: esercizio medio Uno Span con un parametro Per quali valori di $k \in \R$ il vettore $u_k = (1, 2, k)$ appartiene a $\Span\big((1, 1, 0),\ (0, 1, 1)\big)$? Per quei valori scrivi $u_k$ come combinazione lineare. ::: soluzione Cerco le dosi $a$ e $b$ con $a(1, 1, 0) + b(0, 1, 1) = (a,\ a + b,\ b) = (1, 2, k)$. Coordinata per coordinata: 1. prima coordinata: $a = 1$; 2. seconda: $a + b = 2$, quindi $b = 1$; 3. terza: $b = k$, quindi $k = 1$. Il vettore sta nello Span **solo per $k = 1$**, e in quel caso $$(1, 2, 1) = (1, 1, 0) + (0, 1, 1).$$ Per gli altri valori di $k$ la terza condizione contraddice le prime due. Con un'equazione: lo Span è fatto dai vettori $(a, a + b, b)$, cioè il piano $y = x + z$, e $u_k$ ci sta quando $2 = 1 + k$. ::: ::: esercizio medio Le matrici antisimmetriche $3 \times 3$ come Span Dimostra che $A(3)$, le matrici antisimmetriche $3 \times 3$, è lo Span di tre matrici, e trovale. Controlla con la tua descrizione che la somma di due matrici antisimmetriche è antisimmetrica. ::: soluzione Una matrice antisimmetrica $3 \times 3$ ha la diagonale di zeri, e sotto la diagonale ci sono gli opposti dei numeri sopra. Quindi basta conoscere i tre numeri sopra la diagonale: chiamo $a = a_{12}$, $b = a_{13}$, $c = a_{23}$. $$\begin{pmatrix} 0 & a & b \\ -a & 0 & c \\ -b & -c & 0 \end{pmatrix} = a\begin{pmatrix} 0 & 1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} + b\begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{pmatrix} + c\begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & -1 & 0 \end{pmatrix}.$$ Chiamo $F_1$, $F_2$, $F_3$ le tre matrici a destra. Ogni matrice antisimmetrica è una loro ricetta, e ogni loro ricetta è antisimmetrica: $A(3) = \Span(F_1, F_2, F_3)$. Per la Proposizione 6.7 è un sottospazio. La somma: con i numeri $a, b, c$ e $a', b', c'$ si ottiene la matrice con $a + a'$, $b + b'$, $c + c'$ sopra la diagonale e i loro opposti sotto. Ha ancora la forma antisimmetrica. Nella lezione L07 vedrai che $F_1$, $F_2$, $F_3$ sono una base, quindi lo spazio ha dimensione 3 (è l'Esercizio 1 del Foglio 2 del tutorato 2025). ::: ::: esercizio difficile Intersezione e unione di sottospazi Siano $U$ e $W$ sottospazi di uno spazio vettoriale $V$. (a) Dimostra che $U \cap W$ è un sottospazio. (b) Mostra con un esempio in $\R^2$ che $U \cup W$ può non essere un sottospazio. (c) Dimostra che $U \cup W$ è un sottospazio se e solo se $U \subset W$ oppure $W \subset U$. ::: soluzione Il simbolo $U \cap W$ è l'**intersezione**, la parte comune: i vettori che stanno sia in $U$ sia in $W$. Il simbolo $U \cup W$ è l'**unione**: i vettori che stanno in almeno uno dei due. (a) Lo zero sta in $U$ e in $W$, quindi nella parte comune. Se $v$ e $v'$ stanno nella parte comune, la loro somma sta in $U$ (perché $U$ è un sottospazio) e sta in $W$ (perché lo è $W$): quindi sta nella parte comune. Lo stesso per i multipli $\lambda v$. (b) $U$ è l'asse orizzontale, lo Span di $(1, 0)$; $W$ è l'asse verticale, lo Span di $(0, 1)$. La somma $(1, 0) + (0, 1) = (1, 1)$ non sta su nessuno dei due assi. (c) Se $U$ è contenuto in $W$, l'unione è $W$, che è un sottospazio; lo stesso se $W$ è contenuto in $U$. Al contrario, supponiamo che l'unione sia un sottospazio ma che nessuno dei due contenga l'altro. Allora c'è un vettore $u$ di $U$ che non sta in $W$, e un vettore $w$ di $W$ che non sta in $U$. La somma $u + w$ sta nell'unione, quindi sta in $U$ oppure in $W$. - Se $u + w$ sta in $U$, allora $w = (u + w) - u$ sta in $U$, perché $U$ è chiuso rispetto a somme e multipli: impossibile. - Se $u + w$ sta in $W$, allora $u = (u + w) - w$ sta in $W$: impossibile. Quindi uno dei due contiene l'altro. È l'Esercizio 2.2.15 del libro di Martelli. ::: ::: esercizio esame Come all'esame: sottospazi di $\R_2[x]$ Per ciascun sottoinsieme di $\R_2[x]$ stabilisci se è un sottospazio. Per quelli che lo sono, scrivilo come Span di pochi polinomi. (a) $\{p(x) \in \R_2[x] \mid p(1) = 0\}$ (b) $\{p(x) \in \R_2[x] \mid p(0) = 1\}$ (c) $\{ax^2 + bx + c \mid a = c,\ b = 0\}$ (d) $\{ax^2 + bx + c \mid b > 0\}$ (e) $\{(1 + t)x^2 + tx \mid t \in \R\}$ (f) $\{(t + s)x^2 - tx - s \mid s, t \in \R\}$ ::: soluzione (a) **Sì.** Il polinomio zero fa zero in 1. Se $p(1) = q(1) = 0$, allora anche la somma e i multipli fanno zero in 1. Per scriverlo come Span: 1. un polinomio $ax^2 + bx + c$ fa zero in 1 quando $a + b + c = 0$, cioè $c = -a - b$; 2. allora $ax^2 + bx - a - b = a(x^2 - 1) + b(x - 1)$. L'insieme è $\Span(x^2 - 1,\ x - 1)$. (b) **No**: il polinomio zero vale 0 in 0, non 1. (c) **Sì**: i polinomi sono $ax^2 + a = a(x^2 + 1)$, quindi l'insieme è $\Span(x^2 + 1)$. (d) **No**: $x$ ha $b = 1$, positivo, ma $(-1) \cdot x = -x$ ha $b = -1$. (E manca anche il polinomio zero, che ha $b = 0$.) (e) **No**: per il polinomio zero servirebbero $1 + t = 0$ e $t = 0$ insieme, impossibile. (f) **Sì**: raccogliendo $t$ e $s$, $$(t + s)x^2 - tx - s = t(x^2 - x) + s(x^2 - 1),$$ quindi l'insieme è $\Span(x^2 - x,\ x^2 - 1)$. Nella lezione L07 calcolerai la dimensione di ciascuno: 2, 1 e 2. ::: ::: esercizio esame Come all'esame: un sottospazio di $\R_3[x]$ Sia $U = \{p(x) \in \R_3[x] \mid p(1) = p(-1)\}$. (1) Dimostra che $U$ è un sottospazio di $\R_3[x]$. (2) Dimostra che $U = \Span(1,\ x^2,\ x^3 - x)$. (3) Quali tra $x^2 - 1$, $x^3 + x$, $x^3 - x + 5$ e $x$ stanno in $U$? ::: soluzione (1) Il polinomio zero vale 0 in 1 e in $-1$: sta in $U$. Se $p(1) = p(-1)$ e $q(1) = q(-1)$, allora $(p + q)(1) = p(1) + q(1) = p(-1) + q(-1) = (p + q)(-1)$, e $(\lambda p)(1) = \lambda p(1) = \lambda p(-1) = (\lambda p)(-1)$. I tre controlli sono superati. (2) Scrivo $p(x) = ax^3 + bx^2 + cx + d$. 1. $p(1) = a + b + c + d$ e $p(-1) = -a + b - c + d$. 2. La condizione $p(1) = p(-1)$ diventa $a + c = -a - c$, cioè $2a + 2c = 0$, cioè $c = -a$. 3. Quindi i polinomi di $U$ sono $$ax^3 + bx^2 - ax + d = a(x^3 - x) + b\,x^2 + d \cdot 1,$$ con $a$, $b$, $d$ qualsiasi: esattamente le ricette con $x^3 - x$, $x^2$ e 1. Quindi $U = \Span(1, x^2, x^3 - x)$. (3) Basta controllare la condizione $c = -a$ (il numero davanti a $x$ è l'opposto di quello davanti a $x^3$), oppure calcolare $p(1)$ e $p(-1)$. - $x^2 - 1$: $a = 0$, $c = 0$. **Sta in $U$** ($p(1) = p(-1) = 0$). - $x^3 + x$: $a = 1$, $c = 1$, che non è $-1$. **Non sta in $U$** ($p(1) = 2$, $p(-1) = -2$). - $x^3 - x + 5$: $a = 1$, $c = -1$. **Sta in $U$** ($p(1) = p(-1) = 5$). - $x$: $a = 0$, $c = 1$, che non è 0. **Non sta in $U$** ($p(1) = 1$, $p(-1) = -1$). Il quiz dell'appello del 15/01/2026 (domanda 7) chiede proprio quale Span è uguale a questo $U$. Tra le risposte c'è $\Span(x^3 - x,\ x^2 - 1,\ x^2 + 1)$, che è lo stesso di $\Span(1, x^2, x^3 - x)$, perché $1 = \frac 12\big((x^2 + 1) - (x^2 - 1)\big)$ e $x^2 = \frac 12\big((x^2 + 1) + (x^2 - 1)\big)$. ::: ::: esercizio esame Come all'esame: sottoinsiemi di $M(2, \R)$ Per ciascun sottoinsieme di $M(2, \R)$ stabilisci se è un sottospazio; se lo è, scrivilo come Span. (a) $W_1 = \{A \mid a_{11} + a_{22} = 0\}$ (b) $W_2 = \{A \mid a_{11} a_{22} = 0\}$ (c) $W_3 = \{A \mid a_{12} = 2a_{21}\}$ (d) $W_4 = \{A \mid A \text{ è simmetrica e } a_{11} = 1\}$ ::: soluzione (a) **Sì.** La condizione è un'equazione lineare senza termine noto. Da $a_{22} = -a_{11}$: $$\begin{pmatrix} a & b \\ c & -a \end{pmatrix} = a\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} + b\begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} + c\begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix},$$ quindi $W_1$ è lo Span di queste tre matrici. (b) **No.** $\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}$ e $\begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}$ stanno in $W_2$, perché il prodotto dei due numeri sulla diagonale fa 0. Ma la loro somma è la matrice con 1 e 1 sulla diagonale, e $1 \cdot 1 = 1$. (c) **Sì.** Equazione lineare senza termine noto. Chiamo $t$ il numero $a_{21}$; allora $a_{12} = 2t$: $$\begin{pmatrix} a & 2t \\ t & d \end{pmatrix} = a\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} + t\begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix} + d\begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}.$$ (d) **No.** La matrice nulla ha la prima casella uguale a 0, non a 1. ::: ## Domande di ripasso ::: domanda Che cos'è una matrice $m \times n$, e che cosa indicano $a_{ij}$, $A_i$ e $A^j$? È una tabella di $m \cdot n$ numeri con $m$ righe e $n$ colonne. $a_{ij}$ è il numero nella riga $i$ e nella colonna $j$; $A_i$ è la riga $i$; $A^j$ è la colonna $j$ (il numerino in alto non è una potenza). ::: ::: domanda Perché le matrici $m \times n$ formano uno spazio vettoriale, e chi è il suo vettore zero? Perché somma e moltiplicazione per un numero si fanno casella per casella, e ogni regola di calcolo si riduce alla stessa regola per i numeri, una casella alla volta. Il vettore zero è la matrice nulla. ::: ::: domanda Quali sono i tre controlli di sottospazio? Un insieme $W$ dentro $V$ è un sottospazio se: (1) contiene lo zero; (2) la somma di due suoi vettori sta ancora in $W$; (3) ogni multiplo di un suo vettore, con un numero qualsiasi, sta ancora in $W$. ::: ::: domanda Perché un sottospazio è a sua volta uno spazio vettoriale? Le operazioni non fanno uscire da $W$ (controlli 2 e 3); le regole di calcolo valgono in tutto $V$, quindi anche in $W$; lo zero sta in $W$ (controllo 1); l'opposto di un vettore è il suo multiplo per $-1$, che sta in $W$ per il controllo 3. ::: ::: domanda Quali sottospazi ci sono sempre in uno spazio vettoriale $V$? Il sottospazio fatto solo dallo zero, che le dispense chiamano «banale», e il sottospazio totale, cioè $V$ stesso. Ogni altro sottospazio sta in mezzo ai due. ::: ::: domanda Perché la retta $y = 2x + 1$ non è un sottospazio del piano, mentre $y = 2x$ sì? $y = 2x + 1$ non passa per l'origine, e la somma di due suoi punti esce dalla retta. $y = 2x$ contiene l'origine ed è chiusa rispetto a somme e multipli: è lo Span di $(1, 2)$. ::: ::: domanda Che cosa sono una matrice diagonale, triangolare superiore, simmetrica e antisimmetrica? Diagonale: zeri fuori dalla diagonale principale. Triangolare superiore: zeri sotto la diagonale. Simmetrica: ogni casella è uguale alla sua immagine allo specchio sulla diagonale. Antisimmetrica: ogni casella è l'opposto della sua immagine allo specchio, e quindi la diagonale è fatta di zeri. ::: ::: domanda Perché sulla diagonale di una matrice antisimmetrica ci sono solo zeri? Una casella della diagonale è l'immagine allo specchio di sé stessa, quindi deve essere uguale al suo opposto: $a_{ii} = -a_{ii}$, cioè $2a_{ii} = 0$. Dividendo per 2, che con i numeri razionali, reali e complessi si può fare, viene $a_{ii} = 0$. ::: ::: domanda Le matrici triangolari (superiori oppure inferiori) formano un sottospazio? No: la somma di una triangolare superiore e di una inferiore può non essere triangolare, per esempio $\begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0 \\ 1 & 1 \end{pmatrix}$. Sono sottospazi le superiori e le inferiori, separatamente. ::: ::: domanda Che cos'è una combinazione lineare? Che cos'è lo Span di alcuni vettori? Una combinazione lineare è una ricetta: ogni vettore moltiplicato per un numero, poi tutto sommato. Lo Span è l'insieme di **tutte** le ricette possibili con quei vettori, cambiando le dosi in tutti i modi. ::: ::: domanda Perché lo Span è un sottospazio? Con tutte le dosi uguali a zero viene lo zero. La somma di due ricette è la ricetta con le dosi sommate. Il multiplo di una ricetta è la ricetta con tutte le dosi moltiplicate. ::: ::: domanda Come si decide se un vettore sta nello Span di altri vettori? Si cercano le dosi: si scrive la ricetta con delle lettere, la si mette uguale al vettore coordinata per coordinata e si risolve il sistema. Se ha soluzione il vettore sta nello Span, altrimenti no. ::: ::: domanda Come si dimostra in fretta che un insieme è un sottospazio? Riscrivendolo come Span di alcuni vettori: ogni Span è un sottospazio per la Proposizione 6.7. Per esempio i polinomi $(t + s)x^2 - tx - s$ sono le ricette con $x^2 - x$ e $x^2 - 1$. ::: ## Glossario ```glossario Matrice $m \times n$ | Una tabella di numeri con $m$ righe e $n$ colonne. Il numero nella riga $i$ e nella colonna $j$ si scrive $a_{ij}$. Righe e colonne $A_i$, $A^j$ | $A_i$ è la riga $i$ di $A$, $A^j$ la colonna $j$. Il numerino in alto non è una potenza. $M(m, n, \K)$ | Lo spazio vettoriale delle matrici $m \times n$. Le matrici con una sola colonna sono i vettori di $\K^m$. Matrice quadrata, $M(n)$ | Una matrice con tante righe quante colonne. $M(n)$ è lo spazio delle matrici $n \times n$. Diagonale principale | Le caselle con lo stesso numero di riga e di colonna: da in alto a sinistra a in basso a destra. Matrice diagonale | Una matrice quadrata con zeri fuori dalla diagonale principale. Formano lo spazio $D(n)$. Triangolare superiore / inferiore | Una matrice quadrata con zeri sotto la diagonale (superiore, spazio $T^s(n)$) o sopra (inferiore, spazio $T^i(n)$). Matrice simmetrica | Ogni casella è uguale alla sua immagine allo specchio sulla diagonale. Formano lo spazio $S(n)$. Matrice antisimmetrica | Ogni casella è l'opposto della sua immagine allo specchio, e la diagonale è fatta di zeri. Formano lo spazio $A(n)$. Sottospazio vettoriale | Una parte di uno spazio vettoriale che contiene lo zero ed è chiusa rispetto alla somma e alla moltiplicazione per un numero. Chiuso rispetto a un'operazione | Facendo l'operazione con elementi dell'insieme si resta nell'insieme. Sottospazio banale e totale | Quello fatto solo dallo zero, e lo spazio intero. Ogni sottospazio sta in mezzo. Combinazione lineare | Una ricetta con dei vettori: ciascuno moltiplicato per un numero, poi tutto sommato. Per esempio $2(1, 0) + 3(0, 1)$. Coefficienti | Le dosi di una combinazione lineare: i numeri che moltiplicano i vettori. Span, sottospazio generato | Tutte le combinazioni lineari di alcuni vettori: tutto quello che si può cucinare con quegli ingredienti. È sempre un sottospazio. Generatori | Gli ingredienti di uno Span: i vettori con cui si ottiene tutto il sottospazio. Trasposta ${}^tA$ | La matrice con righe e colonne scambiate (lezione L08). $A$ è simmetrica quando è uguale alla sua trasposta. Forma parametrica e cartesiana | Due modi di descrivere un sottospazio: come Span di alcuni vettori, oppure con equazioni lineari senza termine noto. ``` ## Checklist ```checklist - So leggere una matrice: forma, numero $a_{ij}$, righe $A_i$ e colonne $A^j$. - So sommare matrici della stessa forma e moltiplicarle per un numero. - So dire i tre controlli di sottospazio e perché un sottospazio è uno spazio vettoriale. - So dimostrare che un insieme è un sottospazio con i tre controlli fatti su vettori qualsiasi. - So trovare un esempio che non funziona quando un insieme non è un sottospazio (manca lo zero, la somma esce, un multiplo esce). - So riconoscere le matrici diagonali, triangolari, simmetriche e antisimmetriche e scriverne la forma $3 \times 3$. - So spiegare perché le simmetriche e le antisimmetriche sono sottospazi, e perché «triangolari» tutte insieme no. - So calcolare una combinazione lineare di vettori, polinomi e matrici. - So dire che cos'è lo Span di alcuni vettori e perché è un sottospazio. - So decidere se un vettore sta in uno Span cercando le dosi con un sistema. - So riscrivere un sottospazio definito da condizioni come Span di pochi vettori. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 6 «Spazi vettoriali II», pp. 26–30: lo spazio delle matrici e le sezioni 6.A–6.D seguite in ordine, con la pagina indicata accanto a ogni titolo; definizioni, proposizioni, esempi ed esercizi mantengono la loro numerazione (Definizioni 6.1, 6.2, 6.3 e 6.6, Esempi 6.4 e 6.8, Proposizioni 6.5 e 6.7, Esercizi 6.9 e 6.10, svolti come esercizi 8 e 9). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §2.2.5–2.2.16 (matrici, sottospazi, sistemi omogenei, combinazioni lineari e Span, forma parametrica e cartesiana, polinomi con restrizioni, matrici speciali, intersezione e unione di sottospazi, Esercizio 2.2.15, svolto come esercizio 13). - **Appelli citati** (testi e soluzioni sul Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): 24/01/2024 (domande 1 e 5, problema 12), 08/02/2024 (domande 2 e 6), 10/07/2024 (domanda 2), 03/06/2025 (domanda 2), 15/01/2026 (domande 4 e 7), 05/02/2026 (domanda 2), 07/09/2026 (domanda 6). Le domande dell'08/02/2024 (2), del 03/06/2025 (2) e del 24/01/2024 (1) sono riportate con soluzioni scritte per questi appunti. Foglio di esercizi 2 del tutorato 2025 (Buzano, Radeschi), esercizi 1 e 2, come modello di due esercizi. - Le parti **«Oltre le dispense»** (sistemi omogenei, polinomi che si annullano in un punto, intersezione e unione, relazioni tra le classi di matrici, lo Span come più piccolo sottospazio, forma parametrica e cartesiana, il metodo per l'esame e gli esercizi che non vengono dalle dispense) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L07_spazi_vettoriali_3.md` ```yaml corso: MDAG modulo: AG lezione: L07 titolo: Spazi vettoriali III docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L07 descrizione: >- Appunti della lezione L07 di Algebra lineare e Geometria (MDAG, parte 2): dipendenza e indipendenza lineare, basi, base canonica di K^n e dei polinomi, dimensione di uno spazio vettoriale e teorema sulle basi, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Quando un vettore è di troppo? Quando si ottiene mescolando gli altri, come un ingrediente doppione. Da qui nascono le basi, gli ingredienti giusti per fare tutto senza sprechi, e la dimensione: quanti numeri servono per dire dove sei. Basi e dimensioni sono tra le domande più frequenti del quiz. materiale: dispense scheda: Dispense: lezione 7 · pp. 31–35 Libro: Martelli, §2.3.1–2.3.7 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 7 «Spazi vettoriali III»; B. Martelli, Geometria e algebra lineare, §2.3.1–2.3.7 appunti_html: appunti/MDAG/L07_spazi_vettoriali_3.html genera_html: true ``` ## In breve - Dei vettori sono **linearmente dipendenti** quando uno di loro è di troppo: si ottiene mescolando gli altri, come un ingrediente doppione. Sono **linearmente indipendenti** quando nessuno è di troppo. - Il controllo: se l'unica ricetta che dà il vettore zero è quella con tutte le dosi uguali a zero, i vettori sono indipendenti. - Un vettore da solo è dipendente solo se è lo zero. Due vettori sono dipendenti solo se uno è multiplo dell'altro. Con tre o più vettori guardarli a coppie non basta. - Una **base** è una lista di vettori indipendenti con cui si cucina tutto lo spazio. Ogni vettore ha una sola ricetta con gli ingredienti di una base. - Tutte le basi di uno spazio hanno lo stesso numero di vettori: questo numero è la **dimensione**. Il piano ha dimensione 2, lo spazio 3, i polinomi di grado al massimo 2 hanno dimensione 3. - Se hai tanti vettori quanta è la dimensione, per sapere se sono una base basta controllare una cosa sola: che siano indipendenti. - All'esame escono domande su dimensioni, su «generatori e/o indipendenti» e su quale insieme è una base: per esempio negli appelli del 24/01/2024, 16/01/2025, 15/01/2026 e 07/09/2026. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Che cosa vuol dire «dimensione» (p. 31) Dalla scuola sai che un punto ha dimensione 0, una retta dimensione 1, un piano dimensione 2, lo spazio dimensione 3. Su una retta basta un numero per dire dove sei; su un piano ne servono due; nello spazio tre. In questa lezione la parola «dimensione» diventa una definizione precisa, che vale per ogni spazio vettoriale: anche per le matrici $2 \times 3$ o per i polinomi, che non si possono disegnare. L'idea è contare **quanti vettori servono** per cucinare tutto lo spazio, senza sprechi. Ricorda dalla lezione L06: lo Span di alcuni vettori è tutto quello che si ottiene con le loro ricette. Guarda questi due casi nel piano: - Lo Span di $(1, 2)$ e $(2, 4)$ è una **retta**: il secondo vettore è il doppio del primo e non aggiunge niente. Uno dei due è di troppo. - Lo Span di $(1, 2)$ e $(2, 1)$ è **tutto il piano**: servono tutti e due, nessuno è di troppo. Guarda la figura: $(1, 2)$ e $(2, 4)$ stanno sulla stessa retta tratteggiata, $(2, 1)$ punta in un'altra direzione. ```grafico titolo: $(1, 2)$ e $(2, 4)$ stanno sulla stessa retta per l'origine (dipendenti); $(1, 2)$ e $(2, 1)$ no (indipendenti) x: -1 5 y: -1 5 retta: 0 0 2.4 4.8 | grigio | tratteggio | $y = 2x$ | e vettore: 2 4 | blu | spesso | $(2, 4)$ | e vettore: 1 2 | accento | spesso | $(1, 2)$ | o vettore: 2 1 | ambra | spesso | $(2, 1)$ | se ``` Per contare bene bisogna prima saper riconoscere i vettori di troppo. È il compito della prossima sezione. ::: prova Lo Span di $(1, 0)$ e $(3, 0)$ è una retta o tutto il piano? Una retta, l'asse orizzontale: $(3, 0)$ è il triplo di $(1, 0)$ e non aggiunge niente. ::: > [!RICORDA] > - La dimensione conta quanti vettori servono per ottenere tutto lo spazio, senza vettori di troppo. > - Un vettore che è multiplo di un altro non aggiunge niente allo Span. ## Ingredienti doppioni: la dipendenza lineare (pp. 31–33) In cucina hai tre ingredienti: farina, zucchero e un preparato già pronto fatto da 2 parti di farina e 1 di zucchero. Il preparato è un doppione: lo puoi rifare mescolando gli altri due. Toglierlo non cambia quello che puoi cucinare. Con i vettori succede lo stesso. Prendi $(1, 2)$ e $(2, 4)$. Il secondo è il doppio del primo: $(2, 4) = 2 \cdot (1, 2)$. Porto tutto da una parte: $$2 \cdot (1, 2) - 1 \cdot (2, 4) = (2 - 2,\ 4 - 4) = (0, 0).$$ Una ricetta con dosi 2 e $-1$, cioè con dosi **non tutte zero**, dà il vettore zero. È il segnale che c'è un doppione. La ricetta con **tutte** le dosi uguali a zero dà sempre il vettore zero, con qualsiasi vettore: $0 \cdot (1, 2) + 0 \cdot (2, 4) = (0, 0)$. Non dice niente. La domanda interessante è se c'è un'**altra** ricetta che dà zero. ### Il nome e la definizione Le dispense lo scrivono così. > [!DEF] 7.1 · Vettori linearmente dipendenti e indipendenti > Sia $V$ uno spazio vettoriale su $\K$ e siano $v_1, \dots, v_k \in V$ alcuni vettori. Diciamo che questi vettori sono **linearmente dipendenti** se esistono dei coefficienti $\lambda_1, \dots, \lambda_k \in \K$, **non tutti nulli**, tali che > $$\lambda_1 v_1 + \dots + \lambda_k v_k = 0.$$ > I vettori $v_1, \dots, v_k$ sono **linearmente indipendenti** se non sono linearmente dipendenti. Questa importante condizione può essere espressa nel modo seguente: dei vettori $v_1, \dots, v_k$ sono linearmente indipendenti se e solo se > $$\lambda_1 v_1 + \dots + \lambda_k v_k = 0 \implies \lambda_1 = \dots = \lambda_k = 0.$$ > In altre parole, l'unica combinazione lineare dei $v_1, \dots, v_k$ che può dare il vettore nullo è quella banale, in cui tutti i coefficienti $\lambda_1, \dots, \lambda_k$ sono nulli. **Come si legge.** - $v_1, \dots, v_k$ sono gli ingredienti; $\lambda_1, \dots, \lambda_k$ sono le dosi, cioè i coefficienti (lezione L06). $\K$ sono i numeri usati, reali o complessi. - **Non tutti nulli** vuol dire: almeno una dose diversa da zero. Le altre possono anche essere zero. - **Dipendenti**: c'è una ricetta con almeno una dose diversa da zero che dà il vettore zero. - **Indipendenti**: l'unica ricetta che dà zero è quella con tutte le dosi zero. Le dispense la chiamano combinazione «banale». - La freccia $\implies$ si legge «allora»: «se la ricetta dà zero, allora tutte le dosi sono zero». - Dipendenza e indipendenza riguardano **tutta la lista** di vettori insieme, non un vettore da solo. ### Come si controlla **Per dire «dipendenti»** basta mostrare una ricetta con dosi non tutte zero che dà zero. Per esempio $2 \cdot (1, 2) - (2, 4) = (0, 0)$. **Per dire «indipendenti»** si parte da una ricetta con le dosi sconosciute, la si mette uguale a zero e si dimostra che le dosi devono essere tutte zero. Di solito si risolve un sistema. > [!ESEMPIO] · la verifica con le incognite, nel piano > **$(1, 2)$ e $(2, 1)$ sono indipendenti.** Chiamo $a$ e $b$ le dosi e chiedo $a(1, 2) + b(2, 1) = (0, 0)$, cioè $(a + 2b,\ 2a + b) = (0, 0)$: > $$\begin{cases} a + 2b = 0 \\ 2a + b = 0 \end{cases}$$ > 1. Dalla prima: $a = -2b$. > 2. Sostituisco nella seconda: $2 \cdot (-2b) + b = -4b + b = -3b = 0$, quindi $b = 0$. > 3. Allora $a = -2 \cdot 0 = 0$. > > L'unica ricetta che dà zero ha tutte le dosi zero: indipendenti. > > **$(1, 2)$ e $(2, 4)$ sono dipendenti.** Lo stesso sistema diventa $a + 2b = 0$ e $2a + 4b = 0$. La seconda equazione è il doppio della prima, e va bene ogni coppia con $a = -2b$. Per esempio $b = -1$ e $a = 2$: $2(1, 2) - (2, 4) = (0, 0)$, con dosi diverse da zero. ::: prova I vettori $(1, 0)$ e $(0, 1)$ sono indipendenti? Sì. $a(1, 0) + b(0, 1) = (a, b)$, e questo è $(0, 0)$ solo se $a = 0$ e $b = 0$. ::: ### Il doppione si ricostruisce dagli altri (p. 31) Se dei vettori sono dipendenti, uno di loro si ricostruisce dagli altri. Ecco perché, con l'esempio di prima: da $2 \cdot (1, 2) - (2, 4) = 0$ sposto $(2, 4)$ dall'altra parte e ottengo $(2, 4) = 2 \cdot (1, 2)$. In generale si fa così. C'è almeno una dose diversa da zero, diciamo quella del vettore $v_i$, cioè $\lambda_i$. Lascio $\lambda_i v_i$ da una parte, sposto tutto il resto dall'altra e divido per $\lambda_i$ (si può, perché non è zero): $$v_i = -\frac{\lambda_1}{\lambda_i} v_1 - \dots - \frac{\lambda_k}{\lambda_i} v_k,$$ dove a destra **non** compare $v_i$. Quindi $v_i$ è una ricetta con gli altri vettori: è il doppione. Vale anche al contrario. Se un vettore è una ricetta con gli altri, per esempio $v_1 = 3v_2 + v_3$, porto tutto da una parte: $v_1 - 3v_2 - v_3 = 0$. È una ricetta che dà zero con la dose di $v_1$ uguale a 1, non zero: i vettori sono dipendenti. Le dispense lo scrivono così. > [!PROP] 7.2 > I vettori $v_1, \dots, v_k$ sono dipendenti $\iff$ uno di loro è esprimibile come combinazione lineare degli altri. **Come si legge.** Il simbolo $\iff$ si legge «se e solo se»: le due cose vanno sempre insieme. Dipendenti vuol dire: c'è un doppione, un vettore che si ottiene mescolando gli altri. > [!IDEA] · che cosa vuol dire «dipendenti» > Dei vettori sono dipendenti quando **uno è di troppo**: si può ricostruire dagli altri, e toglierlo non cambia lo Span. Sono indipendenti quando **ognuno porta una direzione nuova**, che gli altri non sanno produrre. ### Uno e due vettori (pp. 31–32) Con pochi vettori la Proposizione 7.2 si legge subito. - **Un vettore da solo è dipendente solo se è lo zero.** Lo zero lo è: $1 \cdot 0 = 0$, con la dose 1. Un vettore diverso da zero no: se $\lambda v = 0$ con $v$ diverso da zero, allora $\lambda = 0$ (lezione L05, esercizio 11 (c)). - **Due vettori sono dipendenti solo se uno è multiplo dell'altro.** «Uno è una ricetta con l'altro» vuol dire proprio «uno è un multiplo dell'altro». > [!ESEMPIO] 7.3 · Due vettori di $\R^2$ > I vettori $v_1 = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$ e $v_2 = \begin{pmatrix} -2 \\ -2 \end{pmatrix}$ di $\R^2$ sono dipendenti; $w_1 = \begin{pmatrix} 1 \\ 2 \end{pmatrix}$ e $w_2 = \begin{pmatrix} 2 \\ 1 \end{pmatrix}$ sono indipendenti perché non sono multipli. Il perché, con i numeri: 1. $v_2 = -2v_1$, quindi $2v_1 + v_2 = 0$: dipendenti. 2. Perché $w_2$ sia un multiplo di $w_1$ servirebbe un numero $k$ con $2 = k \cdot 1$ (prima coordinata) e $1 = k \cdot 2$ (seconda). La prima dà $k = 2$, la seconda $k = \frac 12$: impossibile. Per lo stesso motivo nemmeno $w_1$ è un multiplo di $w_2$. > [!TRAPPOLA] Lo zero rende tutto dipendente > Se nella lista c'è il vettore zero, i vettori sono **sempre** dipendenti. Basta dare dose 1 allo zero e dose 0 a tutti gli altri: la ricetta dà zero, e una dose non è zero. Nello strumento qui sotto $u = (1, 2)$ e $v = (2, 1)$ sono indipendenti: con le ricette $\lambda u + \mu v$ si raggiunge ogni punto del piano. Trascina $v$ in $(2, 4)$ oppure in $(-1, -2)$: diventa un multiplo di $u$, lo strumento lo segnala e le ricette restano sulla retta rossa. ```widget vettori titolo: Due vettori del piano: indipendenti o multipli? u: 1 2 v: 2 1 modo: combinazione modi: combinazione lambda: 1 mu: 1 ``` ::: prova $(3, -6)$ e $(-1, 2)$ sono dipendenti o indipendenti? Dipendenti: $(3, -6) = -3 \cdot (-1, 2)$, uno è multiplo dell'altro. ::: ### Tre o più vettori (p. 32) Con tre o più vettori guardarli due alla volta non basta. Le dispense lo mostrano con un esempio. > [!ESEMPIO] 7.4 · Tre vettori dipendenti, ma a coppie indipendenti > I vettori > $$v_1 = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}, \qquad v_2 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}, \qquad v_3 = \begin{pmatrix} 1 \\ 0 \\ -1 \end{pmatrix}$$ > di $\R^3$ sono dipendenti, perché $v_1 - v_2 - v_3 = 0$. A coppie i tre vettori sono sempre indipendenti (non sono mai multipli), ma tutti e tre insieme non lo sono, e a differenza del caso $k = 2$ questo non si capisce a colpo d'occhio. Infatti ciascuno dei tre può essere scritto come combinazione degli altri due: $v_1 = v_2 + v_3$, oppure $v_2 = v_1 - v_3$, oppure $v_3 = v_1 - v_2$. Il conto, coordinata per coordinata: $$v_1 - v_2 - v_3 = \begin{pmatrix} 1 - 0 - 1 \\ 1 - 1 - 0 \\ 0 - 1 - (-1) \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}.$$ Come si **trova** una ricetta così, invece di indovinarla? Si chiamano $a$, $b$, $c$ le dosi e si chiede $a v_1 + b v_2 + c v_3 = 0$, coordinata per coordinata: $$\begin{cases} a + c = 0 \\ a + b = 0 \\ b - c = 0 \end{cases}$$ 1. Dalla prima: $c = -a$. 2. Dalla seconda: $b = -a$. 3. La terza diventa $-a - (-a) = 0$: è sempre vera, qualunque sia $a$. Quindi $a$ si può scegliere come si vuole. Con $a = 1$ vengono $b = -1$ e $c = -1$: proprio $v_1 - v_2 - v_3 = 0$. Una dose libera vuol dire infinite ricette che danno zero, anche con dosi diverse da zero: i vettori sono dipendenti. Nel disegno i tre vettori stanno in uno **stesso piano per l'origine**, il piano $x - y + z = 0$. Controllo: $1 - 1 + 0 = 0$, $0 - 1 + 1 = 0$, $1 - 0 - 1 = 0$. > [!ESEMPIO] 7.5 · La base canonica di $\R^3$ è indipendente > I vettori > $$e_1 = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix}, \qquad e_2 = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix}, \qquad e_3 = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix}$$ > sono indipendenti. Se una combinazione lineare produce il vettore nullo, $\lambda_1 e_1 + \lambda_2 e_2 + \lambda_3 e_3 = 0$, riscrivendo entrambi i membri come vettori si trova > $$\lambda_1 \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} + \lambda_2 \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} + \lambda_3 \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} = \begin{pmatrix} \lambda_1 \\ \lambda_2 \\ \lambda_3 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}.$$ > Da questo si deduce $\lambda_1 = \lambda_2 = \lambda_3 = 0$: l'unica combinazione lineare di $e_1, e_2, e_3$ che dà il vettore nullo è quella «banale», quindi i tre vettori sono indipendenti. Qui il conto è immediato perché ogni vettore ha un 1 in un posto dove gli altri hanno 0: la ricetta mette ogni dose in una coordinata diversa. ### Una parte di una lista indipendente (pp. 32–33) Se nessun ingrediente di una lista è un doppione, nessuno lo è nemmeno in una parte della lista. Le dispense lo scrivono così. > [!PROP] 7.6 > Se $v_1, \dots, v_k$ sono indipendenti, allora qualsiasi sottoinsieme di $\{v_1, \dots, v_k\}$ è anch'esso formato da vettori indipendenti. **Come si legge.** Togliendo vettori da una lista indipendente si ottiene ancora una lista indipendente. Il motivo, a parole: una ricetta che dà zero con una parte dei vettori diventa una ricetta con tutti i vettori, dando dose zero a quelli tolti. Se la prima avesse una dose diversa da zero, l'avrebbe anche la seconda. > [!DIM] della Proposizione 7.6 > La spiegazione delle dispense, con i passaggi. Supponi per assurdo che alcuni di loro, per comodità i primi $h$, siano dipendenti: esiste una ricetta $\lambda_1 v_1 + \dots + \lambda_h v_h = 0$ con dosi non tutte zero. Aggiungo gli altri vettori con dose zero: > $$\lambda_1 v_1 + \dots + \lambda_h v_h + 0 v_{h+1} + \dots + 0 v_k = 0.$$ > È una ricetta con **tutti** i vettori che dà zero, e ha ancora una dose diversa da zero. Questo contraddice l'indipendenza di $v_1, \dots, v_k$. Due conseguenze. Se dei vettori sono indipendenti, allora: - sono **tutti diversi da zero** (guardando un vettore alla volta); - **a due a due non sono multipli** (guardando due vettori alla volta). > [!TRAPPOLA] Necessarie, ma non bastano > L'Esempio 7.4 mostra che con tre o più vettori queste due condizioni **non bastano**: $v_1, v_2, v_3$ sono diversi da zero e a coppie non multipli, eppure sono dipendenti. Con tre o più vettori bisogna scrivere la ricetta con le dosi sconosciute e risolvere il sistema. > [!OLTRE] · quanti vettori indipendenti ci sono in una lista: il metodo di Gauss > Per liste lunghe il sistema diventa pesante. Nella lezione L13 le dispense usano il **metodo di Gauss** (lezione L11) e il **rango** (lezione L08): si scrivono i vettori come righe di una matrice e si fanno mosse come «la riga 2 diventa la riga 2 meno la riga 1». Ogni mossa sostituisce un vettore con la sua differenza con un multiplo di un altro, e lo Span non cambia. Alla fine le righe diverse da zero sono indipendenti, e il loro numero, il rango, dice quanti vettori indipendenti c'erano. Nello strumento la matrice ha per righe i tre vettori dell'Esempio 7.4: esce una riga di zeri e il rango è 2. Prova poi le righe `1 1 2`, `-1 1 -1`, `0 1 1` (i vettori $v_1, v_2, v_4$ dell'Esercizio 7.15): il rango è 3, indipendenti. ```widget gauss titolo: Quanti vettori indipendenti? Un vettore per riga matrice: 1 1 0; 0 1 1; 1 0 -1 modo: rango modi: rango ``` ::: prova I vettori $(1, 2, 3)$, $(0, 0, 0)$ e $(4, 5, 6)$ sono indipendenti? No: c'è il vettore zero, quindi sono dipendenti. Una ricetta che dà zero: $0 \cdot (1, 2, 3) + 1 \cdot (0, 0, 0) + 0 \cdot (4, 5, 6)$. ::: > [!RICORDA] > - Dipendenti: una ricetta con dosi non tutte zero dà il vettore zero; cioè un vettore è un doppione degli altri. > - Indipendenti: l'unica ricetta che dà zero ha tutte le dosi zero. > - Uno da solo è dipendente solo se è zero; due sono dipendenti solo se multipli; con tre o più si risolve il sistema. ## Gli ingredienti giusti: le basi (pp. 33–34) Nel piano ogni vettore si scrive con due numeri. Per esempio $$(5, 3) = 5 \cdot (1, 0) + 3 \cdot (0, 1).$$ I due vettori $(1, 0)$ e $(0, 1)$ bastano per cucinare tutto il piano, e nessuno dei due è di troppo. Una lista di ingredienti così si chiama **base**: abbastanza per fare tutto, e nessuno sprecato. Le dispense la presentano come una delle definizioni più importanti del corso. > [!DEF] 7.7 · Base > Sia $V$ uno spazio vettoriale. Una sequenza $v_1, \dots, v_n \in V$ di vettori è una **base** se sono soddisfatte entrambe queste condizioni: > 1. i vettori $v_1, \dots, v_n$ sono indipendenti; > 2. i vettori $v_1, \dots, v_n$ generano $V$. **Come si legge.** - **Generano $V$** vuol dire che lo Span dei vettori è tutto $V$: ogni vettore di $V$ si ottiene con una ricetta. Nessun vettore resta fuori. - **Indipendenti**: nessuno dei vettori è di troppo. - Servono **tutte e due** le condizioni. Pochi vettori possono essere indipendenti senza generare tutto; tanti vettori possono generare tutto senza essere indipendenti. - È una **sequenza**: conta anche l'ordine, che diventerà importante con le coordinate (lezione L13). Una tabella con cinque liste di vettori del piano: | Vettori del piano | indipendenti? | generano il piano? | base? | |---|---|---|---| | $(1, 0)$ | sì | no: solo l'asse orizzontale | no | | $(1, 0),\ (0, 1),\ (1, 1)$ | no: $(1, 1) = (1, 0) + (0, 1)$ | sì | no | | $(1, 0),\ (0, 1)$ | sì | sì | **sì** | | $(1, 2),\ (2, 1)$ | sì | sì: $(a, b) = \frac{2b - a}3 (1, 2) + \frac{2a - b}3 (2, 1)$ | **sì** | | $(1, 2),\ (2, 4)$ | no: multipli | no: solo la retta $y = 2x$ | no | Nella quarta riga c'è un'altra base del piano: le basi di uno spazio sono infinite. ::: prova I vettori $(1, 0)$, $(0, 1)$ e $(2, 3)$ sono una base del piano? Perché? No. Generano il piano, ma non sono indipendenti: $(2, 3) = 2 \cdot (1, 0) + 3 \cdot (0, 1)$ è un doppione. ::: ### La base canonica La base più comoda di $\K^n$ è fatta di vettori con un solo 1 e tutti gli altri numeri zero. Le dispense la chiamano base canonica. > [!ESEMPIO] 7.8 · La base canonica di $\K^n$ > Gli elementi > $$e_1 = \begin{pmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{pmatrix}, \quad e_2 = \begin{pmatrix} 0 \\ 1 \\ \vdots \\ 0 \end{pmatrix}, \quad \dots, \quad e_n = \begin{pmatrix} 0 \\ 0 \\ \vdots \\ 1 \end{pmatrix}$$ > formano una base di $\K^n$, detta **base canonica**. > > **Sono indipendenti.** Se $\lambda_1 e_1 + \dots + \lambda_n e_n = 0$, tradotto in vettori diventa > $$\begin{pmatrix} \lambda_1 \\ \lambda_2 \\ \vdots \\ \lambda_n \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ \vdots \\ 0 \end{pmatrix},$$ > quindi $\lambda_1 = \dots = \lambda_n = 0$. > > **Generano $\K^n$.** Un generico vettore $x \in \K^n$ si scrive come combinazione lineare di $e_1, \dots, e_n$: > $$x = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix} = x_1 \begin{pmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{pmatrix} + x_2 \begin{pmatrix} 0 \\ 1 \\ \vdots \\ 0 \end{pmatrix} + \dots + x_n \begin{pmatrix} 0 \\ 0 \\ \vdots \\ 1 \end{pmatrix} = x_1 e_1 + x_2 e_2 + \dots + x_n e_n.$$ Il vettore $e_i$ ha un 1 al posto numero $i$ e zeri altrove. Per esempio, con tre coordinate: $$\begin{pmatrix} 5 \\ -2 \\ 7 \end{pmatrix} = 5e_1 - 2e_2 + 7e_3.$$ Le dosi rispetto alla base canonica sono proprio le coordinate del vettore. Lo stesso vale per i polinomi: la base più comoda è fatta dalle potenze della lettera. > [!ESEMPIO] 7.9 · La base canonica dei polinomi > Nello spazio $\K_n[x]$ dei polinomi di grado minore o uguale a $n$, gli elementi $1, x, x^2, \dots, x^n$ formano una base, detta **base canonica**. > > **Sono indipendenti**: se $\lambda_0 \cdot 1 + \lambda_1 x + \dots + \lambda_n x^n = 0$, allora $\lambda_0 = \dots = \lambda_n = 0$. > > **Generano $\K_n[x]$**: ciascun polinomio di grado minore o uguale a $n$ si scrive come $p(x) = a_n x^n + \dots + a_1 x + a_0$, e questa scrittura è già una combinazione lineare dei vettori $1, x, \dots, x^n$, con coefficienti $a_0, a_1, \dots, a_n$. Perché vale l'indipendenza? A destra dell'uguale c'è il **polinomio zero**, quello con tutti i coefficienti uguali a 0. Due polinomi sono uguali quando hanno gli stessi coefficienti, quindi $\lambda_0 + \lambda_1 x + \dots + \lambda_n x^n$ è il polinomio zero solo se ogni dose è zero. Un esempio: $3 + 0x - 2x^2$ non è il polinomio zero, perché ha dei coefficienti diversi da zero. > [!TRAPPOLA] I polinomi di grado al massimo $n$ hanno $n + 1$ vettori di base, non $n$ > La base canonica dei polinomi di grado al massimo 2 è $1, x, x^2$: **tre** polinomi, perché c'è anche il numero 1. Per il grado al massimo $n$ i vettori sono $1, x, \dots, x^n$: $n + 1$ in tutto. > [!OLTRE] · a che cosa serve una base: le coordinate > Il libro di Martelli (Proposizione 2.3.11) mostra che, fissata una base, **ogni vettore si scrive in un solo modo** come ricetta con i suoi vettori. Se ci fossero due ricette diverse per lo stesso vettore, sottraendole si otterrebbe una ricetta che dà zero con dosi non tutte zero, contro l'indipendenza. Le dosi di quella ricetta si chiamano **coordinate** del vettore rispetto alla base. Per esempio, rispetto alla base $(1, 1), (-1, 1)$ del piano, il vettore $(2, 0) = 1 \cdot (1, 1) - 1 \cdot (-1, 1)$ ha coordinate $1$ e $-1$. Le coordinate si studiano nella lezione L13. > [!RICORDA] > - Una base è una lista di vettori indipendenti che generano tutto lo spazio. > - La base canonica di $\K^n$ è $e_1, \dots, e_n$; quella dei polinomi di grado al massimo $n$ è $1, x, \dots, x^n$, con $n + 1$ vettori. ## Contare i vettori di una base: la dimensione (pp. 34–35) Una retta per l'origine del piano ha basi fatte da un vettore: $(1, 2)$, oppure $(2, 4)$, oppure $(-1, -2)$. Il piano ha basi fatte da due vettori: $(1, 0), (0, 1)$, oppure $(1, 2), (2, 1)$. Ogni spazio ha infinite basi, ma il **numero** di vettori sembra sempre lo stesso. È così, ed è il teorema principale della lezione. Le dispense lo scrivono così. > [!TEOREMA] 7.10 > Se uno spazio vettoriale $V$ ha una base formata da $n$ vettori, allora ogni base di $V$ contiene $n$ vettori. **Come si legge.** Tutte le basi di uno stesso spazio hanno lo stesso numero di vettori. Cambiano gli ingredienti, non quanti ne servono. Questo teorema permette di dare un nome preciso a un'idea che conosci da sempre. > [!DEF] 7.11 · Dimensione > Se uno spazio vettoriale $V$ ha una base $v_1, \dots, v_n$, diciamo che $V$ ha **dimensione** $n$. Se $V$ non ammette una base finita, diciamo che ha dimensione $\infty$. **Come si legge.** - La dimensione è il numero di vettori di una base. Si scrive $\dim V$, «dimensione di V». - Grazie al Teorema 7.10 non importa quale base si sceglie: tutte danno lo stesso numero. Senza il teorema, due persone potrebbero trovare due «dimensioni» diverse per lo stesso spazio. - Per calcolare una dimensione basta trovare **una** base e contarne i vettori. - $\infty$ si legge «infinito»: è la dimensione degli spazi che nessuna lista finita riesce a generare. - Lo spazio fatto solo dallo zero non ha basi con almeno un vettore, perché lo zero da solo è dipendente. Per convenzione la sua base è la lista vuota e la sua dimensione è 0. Così un punto ha dimensione 0, come a scuola. Con le basi già trovate: | Spazio | una base | dimensione | |---|---|---:| | $\K^n$ | $e_1, \dots, e_n$ (Esempio 7.8) | $n$ | | $\K_n[x]$, polinomi di grado al massimo $n$ | $1, x, \dots, x^n$ (Esempio 7.9) | $n + 1$ | | $M(m, n, \K)$, matrici $m \times n$ | le matrici $e_{ij}$ (Esercizio 7.13) | $mn$ | | $\K[x]$, tutti i polinomi | nessuna base finita | $\infty$ | | solo lo zero | la lista vuota | $0$ | **Perché tutti i polinomi insieme hanno dimensione infinita.** Prendi una lista finita di polinomi qualsiasi e chiama $N$ il grado più alto tra loro. Ogni ricetta con quei polinomi ha grado al massimo $N$, quindi il polinomio $x^{N+1}$ non si ottiene. Nessuna lista finita genera tutti i polinomi: non c'è una base finita. > [!ESEMPIO] · la dimensione di alcuni sottospazi > - La retta $y = 2x$ del piano è lo Span di $(1, 2)$, e un vettore diverso da zero è indipendente: una base con un vettore, **dimensione 1**. > - Il piano $z = x + y$ dello spazio è lo Span di $(1, 0, 1)$ e $(0, 1, 1)$ (Esercizio 6.10). I due vettori non sono multipli, quindi sono indipendenti: **dimensione 2**. > - Le matrici $\begin{pmatrix} a & b \\ b & a \end{pmatrix}$ dell'Esercizio 6.9 sono lo Span di $I$ e $J$, che non sono multiple: **dimensione 2**. > - Le matrici diagonali $3 \times 3$: ogni matrice diagonale è $a e_{11} + b e_{22} + c e_{33}$, e le tre matrici sono indipendenti, perché ognuna ha un 1 dove le altre hanno 0: **dimensione 3**. ::: prova Quanti vettori ha una base di $\R^4$? E una base dei polinomi di grado al massimo 3? E una base delle matrici $2 \times 3$? $\R^4$: 4 vettori. Polinomi di grado al massimo 3: $1, x, x^2, x^3$, cioè 4. Matrici $2 \times 3$: $2 \cdot 3 = 6$. ::: > [!APPROFONDIMENTO] perché tutte le basi hanno lo stesso numero di vettori > Le dispense enunciano il Teorema 7.10 senza dimostrazione. Il libro di Martelli (§2.3.4) lo deduce da un **lemma di scambio**: se $n$ vettori generano lo spazio e altri $n$ vettori sono indipendenti, anche questi ultimi generano lo spazio. L'idea è sostituire i primi con i secondi uno alla volta, senza mai perdere la proprietà di generare. La dimostrazione completa è nel riquadro qui sotto. > [!DIM] del Teorema 7.10, dal libro di Martelli > **Lemma.** Se $v_1, \dots, v_n$ generano $V$ e $w_1, \dots, w_n \in V$ sono indipendenti, allora anche $w_1, \dots, w_n$ generano $V$. > > *Dimostrazione del lemma.* Si scambia un vettore alla volta. Supponi di aver già mostrato che $V = \Span(w_1, \dots, w_{s-1}, v_s, \dots, v_n)$ (all'inizio, con $s = 1$, è l'ipotesi). Allora $w_s$ è una combinazione di questi vettori: > $$w_s = \lambda_1 w_1 + \dots + \lambda_{s-1} w_{s-1} + \lambda_s v_s + \dots + \lambda_n v_n.$$ > Almeno un coefficiente $\lambda_i$ con $i \ge s$ è diverso da zero: altrimenti questa sarebbe una relazione di dipendenza tra $w_1, \dots, w_s$, che invece sono indipendenti (Proposizione 7.6). Riordinando i $v$, supponi $\lambda_s \neq 0$. Dividendo per $\lambda_s$ ricavi $v_s$ come combinazione di $w_1, \dots, w_s, v_{s+1}, \dots, v_n$; quindi questi vettori generano ancora tutto $V$. Dopo $n$ passi, $V = \Span(w_1, \dots, w_n)$. > > *Dimostrazione del teorema.* Per assurdo, siano $v_1, \dots, v_n$ e $w_1, \dots, w_m$ due basi di $V$ con $n < m$. I $v_i$ generano $V$ e $w_1, \dots, w_n$ sono indipendenti (sottoinsieme di vettori indipendenti). Per il lemma, $w_1, \dots, w_n$ generano $V$, quindi $w_{n+1}$ è una loro combinazione lineare: allora $w_1, \dots, w_m$ sono dipendenti (Proposizione 7.2). Assurdo. > [!RICORDA] > - Tutte le basi di uno spazio hanno lo stesso numero di vettori: è la dimensione. > - $\K^n$ ha dimensione $n$; i polinomi di grado al massimo $n$ hanno dimensione $n + 1$; le matrici $m \times n$ hanno dimensione $mn$. ## Con il numero giusto basta un controllo (p. 35) Per dimostrare che dei vettori sono una base bisognerebbe fare due controlli: che siano indipendenti e che generino. Ma se il **numero** di vettori è proprio la dimensione, ne basta uno. Un esempio nel piano. $(1, 2)$ e $(2, 1)$ non sono multipli, quindi sono indipendenti. Sono due vettori, e il piano ha dimensione 2. Allora sono già una base, senza controllare che generino. Le dispense lo scrivono così. > [!TEOREMA] 7.12 > Se $\dim V = n$ e $\{v_1, \dots, v_n\}$ è un insieme di $n$ vettori, allora $v_1, \dots, v_n$ formano una base di $V$ se e solo se vale **una** delle due condizioni della definizione di base (mentre l'altra condizione vale poi automaticamente). **Come si legge.** - La condizione chiave è che i vettori siano **esattamente tanti quanta è la dimensione**. - In quel caso: se sono indipendenti, generano; se generano, sono indipendenti. - In pratica si controlla quasi sempre l'**indipendenza**, che è un sistema con lo zero a destra. - Nello spazio a tre coordinate: tre vettori indipendenti sono sempre una base; tre vettori che generano tutto sono sempre indipendenti. > [!ESEMPIO] · una base del piano in una riga > $(1, 2)$ e $(2, 1)$ non sono multipli, quindi sono indipendenti (Esempio 7.3). Sono 2 vettori e il piano ha dimensione 2: per il Teorema 7.12 sono una base, senza controllare che generino. > [!TRAPPOLA] Il teorema vale solo con il numero giusto di vettori > Due vettori indipendenti dello spazio a tre coordinate **non** sono una base: sono 2, non 3. Quattro vettori che generano lo spazio a tre coordinate **non** sono una base: sono troppi, e per forza c'è un doppione (riquadro qui sotto). ::: prova In $\R^3$, i vettori $(1, 0, 0)$, $(1, 1, 0)$ e $(1, 1, 1)$ sono indipendenti. Sono una base? Sì: sono 3 vettori indipendenti e $\R^3$ ha dimensione 3. Per il Teorema 7.12 generano anche tutto lo spazio. ::: > [!OLTRE] · le conseguenze da usare nei quiz > Dal libro di Martelli (Proposizioni 2.3.23 e 2.3.25 e gli algoritmi dei §2.3.5–2.3.6), in uno spazio di dimensione $n$: > - **più di $n$ vettori sono sempre dipendenti**: se fossero indipendenti, i primi $n$ sarebbero una base (Teorema 7.12) e gli altri sarebbero loro ricette; > - **meno di $n$ vettori non generano mai tutto**: da una lista che genera si possono togliere uno alla volta i doppioni (Proposizione 7.2) fino a restare con una base, che avrebbe meno di $n$ vettori; > - **lo Span di $k$ vettori ha dimensione al massimo $k$**, uguale al numero massimo di vettori indipendenti tra loro (è l'osservazione che la lezione L08 usa per il rango); > - **ogni sottospazio ha dimensione al massimo $n$**, e ha dimensione $n$ solo se è tutto lo spazio; > - **vettori indipendenti si completano a una base**: finché non generano tutto, si aggiunge un vettore fuori dal loro Span, e la lista resta indipendente (esercizio 12). > [!DIM] del Teorema 7.12, dal libro di Martelli > Siano $v_1, \dots, v_n$ vettori di $V$ con $\dim V = n$. > - **Se sono indipendenti, generano.** Una base qualsiasi di $V$ ha $n$ vettori che generano; per il lemma di scambio (riquadro precedente), anche i $v_i$, indipendenti e in numero di $n$, generano $V$. > - **Se generano, sono indipendenti.** Se fossero dipendenti, uno di loro sarebbe combinazione degli altri (Proposizione 7.2) e si potrebbe togliere senza cambiare lo Span. Ripetendo si arriverebbe a una base di $V$ con meno di $n$ vettori, contro il Teorema 7.10. > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli: dipendenza e indipendenza nel **§2.3.1** (pp. 60–62, con la Proposizione 2.3.4 = Proposizione 7.6); basi e basi canoniche di $\K^n$, $\K_n[x]$ e $M(m, n, \K)$ nel **§2.3.2** (pp. 62–64); coordinate nel **§2.3.3** (pp. 64–65); dimensione, lemma di scambio e dimensione infinita di $\K[x]$ nel **§2.3.4** (pp. 65–67); algoritmi di completamento e di estrazione e Proposizione 2.3.23 (= Teorema 7.12) nei **§2.3.5–2.3.6** (pp. 67–69); dimensione dei sottospazi nel **§2.3.7** (pp. 69–70). > [!RICORDA] > - Con tanti vettori quanta è la dimensione: indipendenti vuol dire base, e generare vuol dire base. > - Più vettori della dimensione: sempre dipendenti. Meno: non generano mai tutto. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $v_1, \dots, v_k$ | «v uno, …, v kappa» | un elenco di $k$ vettori | $(1, 2), (2, 1)$ | | $\lambda_1, \dots, \lambda_k$ | «lambda uno, …» | le dosi di una ricetta | $2(1, 2) - (2, 4)$ ha dosi $2$ e $-1$ | | $\implies$ | «allora» | se vale la prima cosa, vale la seconda | | | $\iff$ | «se e solo se» | le due cose vanno sempre insieme | | | $\Span(\ldots)$ | «span di …» | tutte le ricette con quei vettori (lezione L06) | $\Span((1, 2))$ | | $e_1, \dots, e_n$ | «e uno, …, e enne» | la base canonica: un 1 e tutti zeri | $e_2 = (0, 1, 0)$ | | $e_{ij}$ | «e i j» | la matrice con 1 nella riga $i$ e colonna $j$, zeri altrove | $e_{12} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}$ | | $\dim V$ | «dimensione di V» | il numero di vettori di una base | $\dim \R^3 = 3$ | | $\infty$ | «infinito» | nessuna lista finita genera lo spazio | $\dim \K[x] = \infty$ | | $\K_n[x]$ | «kappa enne di ics» | i polinomi di grado al massimo $n$ | $\dim \K_2[x] = 3$ | | $M(m, n, \K)$ | «emme di emme enne» | le matrici $m \times n$ | $\dim M(2, 3) = 6$ | | $D(n)$, $T^s(n)$, $S(n)$, $A(n)$ | | diagonali, triangolari superiori, simmetriche, antisimmetriche (lezione L06) | $\dim S(3) = 6$ | | $\sum$ | «somma» | somma di tanti pezzi dello stesso tipo | $\sum_{i, j} a_{ij} e_{ij}$ | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 domande a risposta multipla con 5 risposte, e 2 problemi da 11 punti. I problemi si correggono solo con almeno 6 punti nel quiz. Dura 2 ore, senza calcolatrice e con solo 4 facciate scritte a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame** Questa lezione è tra le più presenti nei quiz. Le domande tipiche, con gli appelli in cui sono uscite: | Tipo di domanda | Appelli | |---|---| | dimensione di uno spazio di matrici | $T^s(3)$: 24/01/2024, domanda 5; $S(3)$: 15/01/2026, domanda 4 | | dimensione di uno Span o di un sottospazio | 02/09/2025, domanda 10; 15/01/2026, domanda 3; 10/07/2025, domanda 2; 03/07/2026, domanda 1 | | «sono generatori e/o linearmente indipendenti?» | 06/09/2024, domanda 2; 16/01/2025, domanda 2 | | quale insieme è una base, o completa una base | 10/06/2024, domanda 3; 07/09/2026, domanda 2 | Nei problemi da 11 punti le basi servono sempre: «trovare una base del nucleo e la sua dimensione» (02/09/2025, problema 11), basi di autovettori, basi ortonormali. Li vedrai dalla lezione L14 in poi. ### Una domanda vera, letta insieme **Appello del 16/01/2025, domanda 2.** Il testo: «I polinomi $1$, $x$, $x^2$ e $1 + 2x + x^2$ di $\R_2[x]$ sono generatori e/o linearmente indipendenti? (a) Sono linearmente indipendenti, ma non generatori. (b) Non sono né linearmente indipendenti né generatori. (c) La domanda è mal posta: i polinomi non sono vettori. (d) Sono generatori, ma non linearmente indipendenti. (e) Sono sia generatori che linearmente indipendenti». **In pratica chiede:** con questi quattro polinomi si cucinano tutti i polinomi di grado al massimo 2? E c'è un doppione? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: conto.** Sono 4 polinomi. I polinomi di grado al massimo 2 hanno dimensione 3. Più vettori della dimensione: per forza c'è un doppione. Quindi **non** sono indipendenti. > > **Passo 2: trovo il doppione.** $1 + 2x + x^2 = 1 \cdot 1 + 2 \cdot x + 1 \cdot x^2$: è una ricetta con gli altri tre. > > **Passo 3: generano?** I primi tre, $1$, $x$, $x^2$, sono la base canonica (Esempio 7.9): da soli già cucinano tutto. Aggiungendo un polinomio si cucina ancora tutto. Quindi **generano**. > > **La risposta** è la (d). > > **Perché la (c) è sbagliata.** I polinomi sono vettori dello spazio vettoriale dei polinomi (lezione L05): si sommano e si moltiplicano per un numero. Le risposte «la domanda è mal posta» sono quasi sempre trappole. ### Altre due domande vere > [!ESAME] Appello del 07/09/2026, domanda 2 > **Testo.** Siano date le matrici > $$A = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix},\ B = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix},\ C = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix},\ D = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix},\ E = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix},\ F = \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix}.$$ > Quale insieme forma una base di $M(2, \R)$? (a) $\{A, B, F\}$; (b) $\{A, C, D, E\}$; (c) $\{A, B, E, F\}$; (d) $\{B, C, D, E, F\}$; (e) $\{B, C, F\}$. > > **Soluzione.** È la (c). > 1. **Conto.** Le matrici $2 \times 2$ hanno dimensione 4: una base ha esattamente 4 elementi. Restano solo (b) e (c). > 2. **(b).** $C + D = A$: c'è un doppione, quindi non è una base. > 3. **(c).** Per il Teorema 7.12 basta controllare l'indipendenza. Chiedo $x_1 A + x_2 B + x_3 E + x_4 F = 0$: > $$\begin{pmatrix} x_2 + x_3 + x_4 & x_1 + x_3 + x_4 \\ x_1 + x_3 & x_3 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix}.$$ > La casella in basso a destra dà $x_3 = 0$. Poi quella in basso a sinistra dà $x_1 = 0$, quella in alto a destra $x_4 = 0$, quella in alto a sinistra $x_2 = 0$. Tutte le dosi sono zero: è una base. > [!ESAME] Appello del 15/01/2026, domanda 4 > **Testo.** La dimensione dello spazio $S(3)$ delle matrici $3 \times 3$ simmetriche è: (a) nove; (b) zero; (c) tre; (d) sei; (e) $S(3)$ non ha una dimensione perché non è uno spazio vettoriale. > > **Soluzione.** È la (d). Una matrice simmetrica $3 \times 3$ è decisa dai 6 numeri sulla diagonale e sopra di essa: quelli sotto sono copie allo specchio. > $$\begin{pmatrix} a & b & c \\ b & d & e \\ c & e & f \end{pmatrix} = a e_{11} + d e_{22} + f e_{33} + b(e_{12} + e_{21}) + c(e_{13} + e_{31}) + e(e_{23} + e_{32}).$$ > Le sei matrici a destra generano $S(3)$ e sono indipendenti: se la ricetta dà la matrice nulla, ogni dose compare da sola in qualche casella, quindi è zero. La (e) è falsa per la Proposizione 6.5. Con lo stesso ragionamento le triangolari superiori $3 \times 3$ hanno dimensione 6 (appello del 24/01/2024, domanda 5) e le antisimmetriche $3 \times 3$ hanno dimensione 3. ### I metodi > [!METODO] · «Sono generatori e/o indipendenti?» > Hai $k$ vettori in uno spazio di dimensione $n$. > 1. **Conta.** Se $k$ è più grande di $n$, sono sicuramente dipendenti. Se è più piccolo, sicuramente non generano tutto. > 2. **Trova i doppioni.** Scrivi la ricetta con le dosi sconosciute uguale a zero e risolvi, oppure cerca un vettore che sia ricetta degli altri. Togliendo i doppioni restano $r$ vettori indipendenti, e $r$ è la dimensione dello Span. > 3. **Concludi.** Sono indipendenti quando $r = k$; generano tutto quando $r = n$; sono una base quando $r = k = n$. > > Le risposte del tipo «la domanda è mal posta» (i vettori sono troppi, i polinomi non sono vettori) sono trappole: la domanda ha sempre senso. > [!METODO] · la dimensione di un sottospazio > 1. Scrivi l'elemento generico del sottospazio, usando le condizioni per eliminare le lettere che dipendono dalle altre: restano alcune **lettere libere**. > 2. Raccogli le lettere libere: l'elemento generico diventa una ricetta, con un vettore per ogni lettera. Il sottospazio è lo Span di quei vettori. > 3. Controlla che siano indipendenti (di solito lo sono: ogni lettera compare da sola in qualche posto). > 4. La dimensione è il numero di vettori, cioè il numero di lettere libere. > > Esempio: i polinomi di grado al massimo 3 che fanno zero in 2. Per la lezione L04, fare zero in 2 vuol dire $p(x) = (x - 2)(a + bx + cx^2)$, quindi il sottospazio è lo Span di $x - 2$, $x(x - 2)$ e $x^2(x - 2)$. I tre polinomi hanno gradi diversi, 1, 2 e 3, quindi sono indipendenti (esercizio 9): la dimensione è 3. È il tipo di domanda degli appelli del 10/07/2025 (domanda 2, con $p(6) = 0$) e del 03/07/2026 (domanda 1, con $p(2) = p(-2) = 0$, dove la dimensione è 2). > [!TRAPPOLA] Gli errori più comuni > - Dire che i polinomi di grado al massimo $n$ hanno dimensione $n$: è $n + 1$, per via del numero 1. > - Dire che vettori a coppie non multipli sono indipendenti: vale solo per due vettori (Esempio 7.4). > - Usare il Teorema 7.12 con un numero sbagliato di vettori. > - Confondere «generano» con «sono una base»: una base deve anche essere indipendente. > - Scegliere «non è uno spazio vettoriale» per $S(3)$, $T^s(3)$ o uno Span: sono sempre sottospazi. Quella risposta è giusta solo per insiemi che non contengono lo zero, come $O(2)$ nell'appello del 10/07/2024 (domanda 2). > [!ESAME] Il foglio da 4 facciate > Da questa lezione: > - la definizione di indipendenza («se la ricetta dà zero, tutte le dosi sono zero») e la Proposizione 7.2; > - i casi con uno e due vettori, e la definizione di base; > - la tabella delle dimensioni: $\K^n$, $\K_n[x]$, $M(m, n)$; > - le matrici speciali: $D(n) = n$, $T^s(n) = S(n) = \frac{n(n+1)}2$, $A(n) = \frac{n(n-1)}2$; > - il Teorema 7.12 e la regola del conteggio (più di $n$ vettori sono dipendenti, meno di $n$ non generano). ## Quiz ```quiz D: I vettori $(1, 0, 1)$, $(0, 1, 1)$, $(1, 1, 2)$, $(0, 0, 1)$ di $\R^3$ sono generatori e/o linearmente indipendenti? - Sono linearmente indipendenti, ma non generatori. - Non sono né linearmente indipendenti né generatori. - La domanda è mal posta: i vettori sono 4 e non 3. + Sono generatori, ma non linearmente indipendenti. - Sono sia generatori che linearmente indipendenti. = Si conta per primo: 4 vettori in uno spazio di dimensione 3 sono sempre dipendenti, e infatti $(1, 1, 2) = (1, 0, 1) + (0, 1, 1)$ è un doppione. Poi si guarda se generano: $(1, 0, 1)$, $(0, 1, 1)$ e $(0, 0, 1)$ sono indipendenti (dalla ricetta $a(1, 0, 1) + b(0, 1, 1) + c(0, 0, 1) = 0$ viene $a = 0$, $b = 0$ e poi $c = 0$), quindi per il Teorema 7.12 sono già una base, e generano. La risposta più insidiosa è «mal posta»: avere più vettori della dimensione è permesso, vuol dire solo che c'è un doppione. Simile all'appello del 06/09/2024, domanda 2. D: I polinomi $1 + x$, $1 - x$ e $2$ di $\R_2[x]$ sono generatori e/o linearmente indipendenti? - Sono linearmente indipendenti, ma non generatori. + Non sono né linearmente indipendenti né generatori. - Sono generatori, ma non linearmente indipendenti. - Sono sia generatori che linearmente indipendenti, cioè una base. - La domanda è mal posta: $2$ è un numero, non un polinomio. = Si cerca un doppione: $(1 + x) + (1 - x) = 2$, quindi sono dipendenti. Poi si guarda se generano: ogni ricetta con questi polinomi ha grado al massimo 1, quindi $x^2$ non si ottiene. Non generano. Lo Span è fatto dai polinomi di grado al massimo 1, di dimensione 2. La risposta più insidiosa è «una base»: sono 3 polinomi, quanti la dimensione, ma il Teorema 7.12 vale solo se una delle due condizioni è vera, e qui non lo è nessuna. E il numero 2 è un polinomio di grado 0. Simile all'appello del 16/01/2025, domanda 2. D: Qual è la dimensione di $\Span\big((1, 1, 0),\ (0, 1, 1),\ (1, 2, 1)\big)$? - $0$ - $1$ + $2$ - $3$ - $4$ = Si cercano i doppioni: $(1, 2, 1) = (1, 1, 0) + (0, 1, 1)$, quindi il terzo vettore è di troppo. I primi due non sono multipli, quindi sono indipendenti: sono una base dello Span, che ha dimensione 2 (un piano). La risposta più insidiosa è 3, che conta i vettori senza controllare i doppioni. Simile all'appello del 02/09/2025, domanda 10. D: Qual è la dimensione dello spazio $A(3)$ delle matrici $3 \times 3$ antisimmetriche? - Nove. - Sei. + Tre. - Zero. - $A(3)$ non ha una dimensione perché non è uno spazio vettoriale. = Una matrice antisimmetrica $3 \times 3$ ha la diagonale di zeri, e sotto la diagonale ci sono gli opposti dei numeri sopra. Quindi è decisa dai 3 numeri sopra la diagonale: è una ricetta con tre matrici indipendenti (lezione L06, esercizio 12). La risposta più insidiosa è sei, la dimensione delle simmetriche, che hanno anche la diagonale libera. $A(3)$ è un sottospazio per la Proposizione 6.5, quindi ha una dimensione. Simile agli appelli del 24/01/2024 (domanda 5) e del 15/01/2026 (domanda 4), su $T^s(3)$ e $S(3)$, tutte e due di dimensione 6. D: Siano $v_1, \dots, v_5$ cinque vettori di $\R^3$ e sia $X = \Span(v_1, \dots, v_5)$. Quale affermazione è sempre vera? - $\dim X = 5$ + $\dim X \le 3$ - $X = \R^3$ - $v_1, \dots, v_5$ sono linearmente indipendenti. - $\dim X$ non è ben definita, perché $X$ non è necessariamente un sottospazio. = $X$ è uno Span, quindi un sottospazio dello spazio a tre coordinate (Proposizione 6.7), e un sottospazio ha dimensione al massimo quella dello spazio: 3. Cinque vettori in uno spazio di dimensione 3 sono sempre dipendenti, quindi la dimensione 5 è impossibile e non sono indipendenti. La risposta più insidiosa è «$X$ è tutto lo spazio»: non è garantito, per esempio se i cinque vettori sono tutti multipli di uno stesso vettore lo Span è una retta. Simile all'appello del 15/01/2026, domanda 3, dove con tre vettori la risposta giusta era $\dim X \le 3$. D: Siano $A = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$, $B = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$, $C = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$, $D = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}$, $E = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}$. Quale insieme è una base di $M(2, \R)$? + $\{A, B, C, D\}$ - $\{A, B, C\}$ - $\{A, C, D, E\}$ - $\{A, B, C, D, E\}$ - $\{B, D, E\}$ = Si conta per primo: le matrici $2 \times 2$ hanno dimensione 4, quindi una base ha 4 elementi, e le liste da tre o da cinque sono escluse. Per $\{A, B, C, D\}$ si controlla l'indipendenza: $aA + bB + cC + dD = \begin{pmatrix} a + b & c + d \\ c - d & a - b \end{pmatrix}$ è zero solo se $a + b = a - b = 0$ e $c + d = c - d = 0$, cioè tutte le dosi zero. Per il Teorema 7.12 è una base. La risposta più insidiosa è $\{A, C, D, E\}$, che ha 4 elementi: ma $E = A + C$ è un doppione. Simile all'appello del 07/09/2026, domanda 2. D: Quale polinomio $s(x)$ si può aggiungere a $1 + x$ e $x + x^2$ per ottenere una base di $\R_2[x]$? + $s(x) = 1$ - $s(x) = 1 + 2x + x^2$ - $s(x) = 1 - x^2$ - $s(x) = x^3$ - $s(x) = 0$ = Servono 3 polinomi indipendenti, perché la dimensione è 3. Con $s = 1$: la ricetta $a(1 + x) + b(x + x^2) + c = (a + c) + (a + b)x + bx^2$ è zero solo se $b = 0$, poi $a = 0$, poi $c = 0$; tre polinomi indipendenti sono una base. Le altre: $1 + 2x + x^2 = (1 + x) + (x + x^2)$ e $1 - x^2 = (1 + x) - (x + x^2)$ sono doppioni dei primi due; $x^3$ ha grado 3 e non sta nemmeno nello spazio; il polinomio zero rende sempre la lista dipendente. La risposta più insidiosa è $1 + 2x + x^2$, che sembra nuovo ma è la somma degli altri due. Simile all'appello del 10/06/2024, domanda 3. D: In $\R^3$, tre vettori linearmente indipendenti: + sono sempre una base di $\R^3$. - possono non generare $\R^3$. - sono una base solo se sono $e_1, e_2, e_3$. - generano sempre un piano. - sono una base solo se nessuno ha coordinate nulle. = È il Teorema 7.12: sono 3 vettori indipendenti in uno spazio di dimensione 3, quindi generano e sono una base. La risposta più insidiosa è «possono non generare»: con il numero giusto di vettori, l'indipendenza basta. Le basi dello spazio sono infinite, non solo la canonica, e i vettori possono avere coordinate nulle, come $e_1, e_2, e_3$ stessi. D: Qual è la dimensione del sottospazio $W = \{p(x) \in \R_3[x] \mid p(2) = 0\}$? N: 3 = Fare zero in 2 vuol dire che $x - 2$ divide il polinomio (lezione L04): $p(x) = (x - 2)(a + bx + cx^2)$, con tre lettere libere. Quindi $W$ è lo Span di $x - 2$, $x(x - 2)$ e $x^2(x - 2)$: tre polinomi di gradi diversi, quindi indipendenti. La dimensione è 3, cioè 4 (quella dello spazio) meno 1 condizione. Simile all'appello del 10/07/2025, domanda 2 (con $p(6) = 0$). D: Per quali valori di $k \in \R$ i vettori $(1, k)$ e $(k, 4)$ di $\R^2$ sono linearmente dipendenti? - Solo per $k = 2$. + Per $k = 2$ e per $k = -2$. - Solo per $k = 4$. - Per nessun valore di $k$. - Per ogni valore di $k$. = Due vettori sono dipendenti esattamente quando uno è multiplo dell'altro. Perché $(k, 4)$ sia $t$ volte $(1, k)$ servono $t = k$ (prima coordinata) e $4 = tk = k^2$ (seconda), cioè $k = 2$ oppure $k = -2$. Il vettore $(1, k)$ non è mai zero, quindi basta questo caso. Controllo: con $k = 2$, $(2, 4) = 2(1, 2)$; con $k = -2$, $(-2, 4) = -2(1, -2)$. La risposta più insidiosa è «solo per $k = 2$», che dimentica la radice negativa di 4. ``` ## Esercizi ::: esercizio base Riscaldamento: multipli o no I vettori $(2, -4)$ e $(-1, 2)$ sono dipendenti? E $(2, 4)$ e $(1, 3)$? ::: soluzione 1. $(2, -4) = -2 \cdot (-1, 2)$: uno è multiplo dell'altro, quindi sono **dipendenti**. Una ricetta che dà zero: $(2, -4) + 2 \cdot (-1, 2) = (0, 0)$. 2. Perché $(2, 4)$ sia $k$ volte $(1, 3)$ servirebbero $k = 2$ (prima coordinata) e $4 = 3k$ (seconda), cioè $k = \frac 43$. Impossibile: sono **indipendenti**. ::: ::: esercizio base Riscaldamento: c'è lo zero La lista $(1, 1)$, $(0, 0)$ è indipendente? Scrivi una ricetta che lo dimostra. ::: soluzione No: c'è il vettore zero. La ricetta $0 \cdot (1, 1) + 5 \cdot (0, 0) = (0, 0)$ dà zero con una dose, 5, diversa da zero. Quindi i vettori sono dipendenti. ::: ::: esercizio base Riscaldamento: quanti vettori in una base Quanti vettori ha una base di: (a) $\R^4$; (b) i polinomi di grado al massimo 3; (c) le matrici $2 \times 3$; (d) le matrici $3 \times 3$? ::: soluzione 1. (a) $\R^4$ ha dimensione 4: 4 vettori. 2. (b) Base canonica $1, x, x^2, x^3$: 4 polinomi. 3. (c) Una matrice $e_{ij}$ per casella: $2 \cdot 3 = 6$. 4. (d) $3 \cdot 3 = 9$. ::: ::: esercizio base Riscaldamento: la base canonica Scrivi $(4, -3)$ e $(0, 7, -1)$ come ricette con la base canonica. ::: soluzione 1. $(4, -3) = 4e_1 - 3e_2$, con $e_1 = (1, 0)$ ed $e_2 = (0, 1)$. 2. $(0, 7, -1) = 0e_1 + 7e_2 - e_3$, con $e_1, e_2, e_3$ della base canonica a tre coordinate. Le dosi sono le coordinate del vettore. ::: ::: esercizio base Esercizio 7.14 delle dispense: una base di $\R^2$ Dimostra che i vettori $\begin{pmatrix} -1 \\ 1 \end{pmatrix}$ e $\begin{pmatrix} 2 \\ 1 \end{pmatrix}$ formano una base di $\R^2$. ::: soluzione **Con il Teorema 7.12.** Sono due vettori e il piano ha dimensione 2, quindi basta l'indipendenza. Due vettori sono dipendenti solo se sono multipli: $(2, 1) = k(-1, 1)$ chiederebbe $k = -2$ (prima coordinata) e $k = 1$ (seconda), impossibile. Quindi sono indipendenti, e sono una base. **Direttamente, controllando anche che generino.** Cerco le dosi $t$ e $u$ con $t(-1, 1) + u(2, 1) = (x, y)$, per un vettore qualsiasi $(x, y)$: $$\begin{cases} -t + 2u = x \\ t + u = y \end{cases}$$ 1. Sommo le due equazioni: $3u = x + y$, quindi $u = \frac{x + y}3$. 2. Dalla seconda: $t = y - u = \frac{-x + 2y}3$. Le dosi ci sono sempre, quindi i vettori generano il piano. E sono di un solo tipo: per $(x, y) = (0, 0)$ vengono $t = u = 0$, quindi sono indipendenti. Controllo con $(x, y) = (1, 2)$: $u = 1$ e $t = 1$, e infatti $(-1, 1) + (2, 1) = (1, 2)$. ::: ::: esercizio base Dipendenti o indipendenti? Per ciascuna lista di' se i vettori sono dipendenti o indipendenti. Se sono dipendenti, scrivi una combinazione non banale uguale a zero. (a) $(3, -6)$ e $(-1, 2)$ in $\R^2$. (b) $(1, 0, 2)$ e $(2, 0, 1)$ in $\R^3$. (c) $(1, 2)$, $(1, 1)$ e $(2, 0)$ in $\R^2$. (d) $(1, 2, 3)$, $(0, 0, 0)$ e $(4, 5, 6)$ in $\R^3$. (e) $(1, 2, 3)$, $(0, 1, 5)$ e $(0, 0, 2)$ in $\R^3$. ::: soluzione (a) **Dipendenti**: $(3, -6) = -3 \cdot (-1, 2)$, quindi $(3, -6) + 3(-1, 2) = (0, 0)$. (b) **Indipendenti**: sono due vettori non multipli. Perché $(2, 0, 1)$ sia $k$ volte $(1, 0, 2)$ servirebbero $k = 2$ e $1 = 2k$, cioè $k = \frac 12$: impossibile. (c) **Dipendenti**: sono tre vettori nel piano, che ha dimensione 2. Una ricetta che dà zero (dal libro di Martelli, Esempio 2.3.2): $-2(1, 2) + 4(1, 1) - (2, 0) = (-2 + 4 - 2,\ -4 + 4 - 0) = (0, 0)$. (d) **Dipendenti**: c'è il vettore zero, e $0 \cdot (1, 2, 3) + 1 \cdot (0, 0, 0) + 0 \cdot (4, 5, 6) = 0$. (e) **Indipendenti.** Chiedo $a(1, 2, 3) + b(0, 1, 5) + c(0, 0, 2) = 0$. 1. Prima coordinata: $a = 0$. 2. Seconda: $2a + b = 0$, quindi $b = 0$. 3. Terza: $3a + 5b + 2c = 0$, quindi $c = 0$. La forma «a scalini» (ogni vettore ha degli zeri dove il precedente comincia) fa risolvere le equazioni una alla volta. ::: ::: esercizio medio Esercizio 7.13 delle dispense: la base canonica delle matrici Per ogni $1 \le i \le m$ e $1 \le j \le n$ indichiamo con $e_{ij}$ la matrice $m \times n$ che ha tutti zeri, tranne un $1$ nella casella di riga $i$ e colonna $j$. Per esempio, per le matrici $2 \times 2$: $$e_{11} = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \quad e_{12} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}, \quad e_{21} = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix}, \quad e_{22} = \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}.$$ Dimostra che le matrici $e_{ij}$, con $1 \le i \le m$ e $1 \le j \le n$, formano una base di $M(m, n, \K)$. In particolare $\dim M(m, n, \K) = mn$. ::: soluzione È la stessa dimostrazione della base canonica di $\K^n$ (Esempio 7.8), con due numerini invece di uno. **Generano.** Ogni matrice è una ricetta con le $e_{ij}$, con dosi uguali ai suoi numeri. Un esempio: $$\begin{pmatrix} 3 & -1 \\ 0 & 5 \end{pmatrix} = 3e_{11} - e_{12} + 0e_{21} + 5e_{22}.$$ In generale $a_{ij} e_{ij}$ è la matrice con il numero $a_{ij}$ nella casella $(i, j)$ e zeri altrove; sommando tutte queste matrici si riempiono tutte le caselle: $$A = \begin{pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & & \vdots \\ a_{m1} & \cdots & a_{mn} \end{pmatrix} = \sum_{i, j} a_{ij} e_{ij}.$$ Il simbolo $\sum$ si legge «somma»: qui vuol dire «la somma dei pezzi $a_{ij} e_{ij}$, per tutte le righe $i$ e tutte le colonne $j$». **Sono indipendenti.** Se la ricetta $\sum_{i, j} \lambda_{ij} e_{ij}$ dà la matrice nulla, scrivendola per esteso $$\begin{pmatrix} \lambda_{11} & \cdots & \lambda_{1n} \\ \vdots & & \vdots \\ \lambda_{m1} & \cdots & \lambda_{mn} \end{pmatrix} = \begin{pmatrix} 0 & \cdots & 0 \\ \vdots & & \vdots \\ 0 & \cdots & 0 \end{pmatrix},$$ quindi ogni dose $\lambda_{ij}$ è zero. **Dimensione.** C'è una matrice $e_{ij}$ per ogni casella: $m$ righe per $n$ colonne, cioè $mn$ matrici. Quindi $\dim M(m, n, \K) = mn$; per esempio $\dim M(2, 3) = 6$ e $\dim M(3) = 9$. ::: ::: esercizio medio Esercizio 7.15 delle dispense: dipendenti e indipendenti in $\R^3$ Considera i vettori di $\R^3$ $$v_1 = \begin{pmatrix} 1 \\ 1 \\ 2 \end{pmatrix}, \quad v_2 = \begin{pmatrix} -1 \\ 1 \\ -1 \end{pmatrix}, \quad v_3 = \begin{pmatrix} 1 \\ 5 \\ 4 \end{pmatrix}, \quad v_4 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}.$$ Mostra che $v_1, v_2, v_3$ sono dipendenti e $v_1, v_2, v_4$ indipendenti. ::: soluzione **$v_1, v_2, v_3$ sono dipendenti.** Provo a scrivere $v_3$ come ricetta con $v_1$ e $v_2$ (Proposizione 7.2): cerco $a$ e $b$ con $a v_1 + b v_2 = v_3$, cioè $$\begin{cases} a - b = 1 \\ a + b = 5 \\ 2a - b = 4 \end{cases}$$ 1. Sommo le prime due: $2a = 6$, quindi $a = 3$. 2. Dalla seconda: $b = 5 - 3 = 2$. 3. Controllo la terza: $2 \cdot 3 - 2 = 4$. Vera. Quindi $v_3 = 3v_1 + 2v_2$, cioè $3v_1 + 2v_2 - v_3 = 0$: una ricetta che dà zero con dosi diverse da zero. Controllo: $3(1, 1, 2) + 2(-1, 1, -1) = (3 - 2,\ 3 + 2,\ 6 - 2) = (1, 5, 4) = v_3$. **$v_1, v_2, v_4$ sono indipendenti.** Chiedo $a v_1 + b v_2 + c v_4 = 0$: $$\begin{cases} a - b = 0 \\ a + b + c = 0 \\ 2a - b + c = 0 \end{cases}$$ 1. Dalla prima: $b = a$. 2. Sostituisco: la seconda diventa $2a + c = 0$, la terza $a + c = 0$. 3. Tolgo la terza dalla seconda: $a = 0$. Quindi $c = 0$ e $b = 0$. Solo la ricetta con tutte le dosi zero: indipendenti. Sono tre vettori indipendenti nello spazio a tre coordinate, quindi sono anche una base (Teorema 7.12). ::: ::: esercizio medio Polinomi indipendenti e basi di $\R_3[x]$ (a) Dimostra che polinomi non nulli di gradi tutti diversi sono linearmente indipendenti. (b) I polinomi $f = x^3 + x$, $g = x^2 - 1$, $h = x^3 + x^2 + x - 1$ sono indipendenti? (c) I polinomi $f = x^3 + x$, $g = x^2 - 1$, $k = x^3 - x$ sono indipendenti? Sono una base di $\R_3[x]$? Se no, completali a una base. ::: soluzione (a) Ordino i polinomi dal grado più basso al più alto. Prendo una ricetta che dà il polinomio zero. 1. La potenza più alta compare solo nell'ultimo polinomio. Nella ricetta, il numero davanti a quella potenza è la dose dell'ultimo polinomio per un numero diverso da zero. Deve essere zero, quindi la dose dell'ultimo polinomio è zero. 2. Resta una ricetta con gli altri polinomi che dà zero, e si ripete: anche la dose del penultimo è zero. 3. Si continua fino al primo: tutte le dosi sono zero. (b) **No**: $h = f + g$, perché $(x^3 + x) + (x^2 - 1) = x^3 + x^2 + x - 1$. Quindi $f + g - h = 0$. (c) Chiedo $a f + b g + c k = 0$: $$a(x^3 + x) + b(x^2 - 1) + c(x^3 - x) = (a + c)x^3 + bx^2 + (a - c)x - b = 0.$$ Tutti i numeri davanti alle potenze devono essere zero: $b = 0$, $a + c = 0$, $a - c = 0$, quindi $a = c = 0$. Sono **indipendenti**. Non sono una base: sono 3 polinomi e lo spazio ha dimensione 4, quindi non generano. Per esempio ogni ricetta ha il termine noto uguale a $-b$ e il numero davanti a $x^2$ uguale a $b$: il polinomio 1, con termine noto 1 e niente $x^2$, non si ottiene. Completamento: aggiungo il polinomio 1. Chiedo $af + bg + ck + d \cdot 1 = 0$: $$(a + c)x^3 + bx^2 + (a - c)x + (d - b) = 0,$$ quindi $b = 0$, $a = c = 0$ e $d = b = 0$. Quattro polinomi indipendenti in uno spazio di dimensione 4: per il Teorema 7.12, $f, g, k, 1$ sono una base. ::: ::: esercizio medio Una base con un parametro Per quali $k \in \R$ i vettori $u_1 = (1, 1, 0)$, $u_2 = (0, 1, 1)$, $u_3 = (1, 0, k)$ sono una base di $\R^3$? ::: soluzione Sono tre vettori nello spazio a tre coordinate: per il Teorema 7.12 basta capire quando sono indipendenti. Chiedo $a u_1 + b u_2 + c u_3 = 0$: $$\begin{cases} a + c = 0 \\ a + b = 0 \\ b + kc = 0 \end{cases}$$ 1. Dalla prima: $a = -c$. 2. Dalla seconda: $b = -a = c$. 3. La terza diventa $c + kc = (1 + k)c = 0$. Due casi: - Se $k$ non è $-1$, il numero $1 + k$ non è zero, quindi $c = 0$, e poi $a = b = 0$: indipendenti, **base**. - Se $k = -1$, qualsiasi $c$ va bene: per esempio $c = 1$, $a = -1$, $b = 1$ dà $-u_1 + u_2 + u_3 = 0$. Dipendenti, **non** è una base. Con $k = -1$ si ritrovano i vettori dell'Esempio 7.4 (con $u_3 = v_3$). Nella lezione L13 lo stesso risultato si ottiene con il determinante: la matrice dei tre vettori ha determinante $1 + k$. ::: ::: esercizio medio Completare una base ed estrarne una (a) Completa $w_1 = (1, 1, 0)$, $w_2 = (-1, 0, 1)$ a una base di $\R^3$. (b) Siano $v_1 = (1, 0, 1)$, $v_2 = (0, 1, 1)$, $v_3 = (1, 1, 2)$, $v_4 = (1, -1, 0)$. Estrai da $v_1, v_2, v_3, v_4$ una base di $U = \Span(v_1, v_2, v_3, v_4)$ e trova $\dim U$. ::: soluzione (a) Basta aggiungere un vettore che non stia nel piano generato da $w_1$ e $w_2$ (esercizio 12). Provo $e_1 = (1, 0, 0)$, la scelta del libro di Martelli (Esempio 2.3.21). Chiedo $a w_1 + b w_2 + c e_1 = 0$: $$\begin{cases} a - b + c = 0 \\ a = 0 \\ b = 0 \end{cases}$$ quindi $a = b = 0$ e poi $c = 0$. Tre vettori indipendenti nello spazio a tre coordinate: $w_1, w_2, e_1$ è una base. (b) Cerco i doppioni. 1. $v_3 = v_1 + v_2$, perché $(1, 0, 1) + (0, 1, 1) = (1, 1, 2)$. 2. $v_4 = v_1 - v_2$, perché $(1, 0, 1) - (0, 1, 1) = (1, -1, 0)$. 3. Tolgo $v_3$ e $v_4$: lo Span non cambia (Proposizione 7.2). Restano $v_1$ e $v_2$, che non sono multipli, quindi sono indipendenti. Una base di $U$ è $v_1, v_2$, e **$\dim U = 2$**: $U$ è il piano $z = x + y$ dell'Esercizio 6.10. ::: ::: esercizio difficile Aggiungere un vettore fuori dallo Span Siano $v_1, \dots, v_k$ vettori indipendenti di $V$ e sia $v_{k+1} \in V$. Dimostra che $$v_1, \dots, v_{k+1} \text{ sono indipendenti} \iff v_{k+1} \notin \Span(v_1, \dots, v_k).$$ Deduci che, in uno spazio di dimensione $n$, ogni lista di vettori indipendenti si può completare a una base. ::: soluzione Il simbolo $\notin$ si legge «non appartiene a». **Primo verso: se sono indipendenti, il nuovo vettore sta fuori dallo Span.** Se invece stesse dentro, cioè $v_{k+1} = \lambda_1 v_1 + \dots + \lambda_k v_k$, allora $\lambda_1 v_1 + \dots + \lambda_k v_k - v_{k+1} = 0$ sarebbe una ricetta che dà zero con la dose $-1$: i vettori sarebbero dipendenti. **Secondo verso: se il nuovo vettore sta fuori dallo Span, sono indipendenti.** Prendo una ricetta $\lambda_1 v_1 + \dots + \lambda_k v_k + \lambda_{k+1} v_{k+1} = 0$. - Se la dose $\lambda_{k+1}$ non fosse zero, dividendo per lei ricaverei $v_{k+1}$ come ricetta con $v_1, \dots, v_k$: contro l'ipotesi che stia fuori dallo Span. - Quindi $\lambda_{k+1} = 0$, e resta $\lambda_1 v_1 + \dots + \lambda_k v_k = 0$. I primi $k$ vettori sono indipendenti, quindi anche $\lambda_1 = \dots = \lambda_k = 0$. **Completamento.** Lo spazio ha dimensione $n$ e i vettori indipendenti sono $k$, meno di $n$. Allora non generano tutto (meno di $n$ vettori non generano), quindi c'è un vettore $v_{k+1}$ fuori dal loro Span. Per quanto appena dimostrato, $v_1, \dots, v_{k+1}$ sono ancora indipendenti. Si ripete finché i vettori sono $n$: a quel punto sono $n$ vettori indipendenti, cioè una base per il Teorema 7.12. È l'algoritmo di completamento del libro di Martelli (§2.3.5). ::: ::: esercizio esame Come all'esame: basi e dimensioni degli spazi di matrici Trova una base e la dimensione di ciascuno dei sottospazi $D(3)$, $T^s(3)$, $S(3)$ e $A(3)$ di $M(3)$. Poi di' quanto valgono in generale $\dim D(n)$, $\dim T^s(n)$, $\dim S(n)$ e $\dim A(n)$. ::: soluzione Uso le matrici $e_{ij}$ dell'Esercizio 7.13. In ogni caso scrivo la matrice generica, la riscrivo come ricetta e controllo l'indipendenza: ogni lettera libera compare da sola in una casella in cui le altre matrici hanno 0, quindi una ricetta che dà la matrice nulla ha tutte le dosi zero. - **$D(3)$**: $\begin{pmatrix} a & 0 & 0 \\ 0 & b & 0 \\ 0 & 0 & c \end{pmatrix} = a e_{11} + b e_{22} + c e_{33}$. Base $e_{11}, e_{22}, e_{33}$: **dimensione 3**. - **$T^s(3)$**: $\begin{pmatrix} a & b & c \\ 0 & d & e \\ 0 & 0 & f \end{pmatrix} = a e_{11} + b e_{12} + c e_{13} + d e_{22} + e\, e_{23} + f e_{33}$. Base $e_{11}, e_{12}, e_{13}, e_{22}, e_{23}, e_{33}$: **dimensione 6**. È la risposta dell'appello del 24/01/2024, domanda 5. - **$S(3)$**: base $e_{11}, e_{22}, e_{33}, e_{12} + e_{21}, e_{13} + e_{31}, e_{23} + e_{32}$ (riquadro sull'appello del 15/01/2026): **dimensione 6**. - **$A(3)$**: $\begin{pmatrix} 0 & a & b \\ -a & 0 & c \\ -b & -c & 0 \end{pmatrix} = a(e_{12} - e_{21}) + b(e_{13} - e_{31}) + c(e_{23} - e_{32})$. Base di tre matrici: **dimensione 3**. Controllo: $\dim S(3) + \dim A(3) = 6 + 3 = 9 = \dim M(3)$. **In generale**, per matrici $n \times n$: - $\dim D(n) = n$: le lettere libere sono quelle della diagonale; - $\dim T^s(n) = \dim T^i(n) = \dim S(n) = \frac{n(n + 1)}2$: la diagonale ($n$ caselle) più il triangolo sopra ($\frac{n(n - 1)}2$ caselle), cioè $n + \frac{n(n - 1)}2 = \frac{n(n + 1)}2$; - $\dim A(n) = \frac{n(n - 1)}2$: solo il triangolo sopra la diagonale, perché la diagonale è fatta di zeri. Con $n = 3$: 3, 6, 6, 3, come sopra. ::: ::: esercizio esame Come all'esame: la dimensione di sottospazi di polinomi Calcola una base e la dimensione di: (a) $W_1 = \{p(x) \in \R_3[x] \mid p(1) = 0\}$; (b) $W_2 = \{p(x) \in \R_3[x] \mid p(2) = 0 \text{ e } p(-2) = 0\}$; (c) $W_3 = \{p(x) \in \R_2[x] \mid p(0) = p(1)\}$. ::: soluzione (a) Per la lezione L04, fare zero in 1 vuol dire che $x - 1$ divide il polinomio: $p(x) = (x - 1)(a + bx + cx^2)$, con $a$, $b$, $c$ qualsiasi. Quindi $W_1$ è lo Span di $$x - 1, \qquad x(x - 1) = x^2 - x, \qquad x^2(x - 1) = x^3 - x^2.$$ I tre polinomi hanno gradi 1, 2, 3, quindi sono indipendenti (esercizio 9 (a)): **$\dim W_1 = 3$**. È il sottospazio dell'appello del 24/01/2024, domanda 1, nella lezione L06. (b) Fare zero in 2 e in $-2$ vuol dire che $x - 2$ e $x + 2$ dividono il polinomio, quindi $p(x) = (x^2 - 4)(a + bx)$ con $a$ e $b$ qualsiasi: $$W_2 = \Span\big(x^2 - 4,\ x^3 - 4x\big).$$ Due polinomi di gradi diversi, indipendenti: **$\dim W_2 = 2$**. È la risposta dell'appello del 03/07/2026, domanda 1. (c) Scrivo $p(x) = ax^2 + bx + c$. 1. $p(0) = c$ e $p(1) = a + b + c$. 2. La condizione $p(0) = p(1)$ diventa $a + b = 0$, cioè $b = -a$. 3. Quindi $p(x) = ax^2 - ax + c = a(x^2 - x) + c \cdot 1$. $W_3$ è lo Span di $x^2 - x$ e 1. Due polinomi di gradi diversi, indipendenti: **$\dim W_3 = 2$**. In tutti e tre i casi la dimensione è quella dello spazio meno il numero di condizioni indipendenti: $4 - 1 = 3$, $4 - 2 = 2$, $3 - 1 = 2$. È un'anticipazione del teorema della dimensione (lezione L14). ::: ::: esercizio esame Come all'esame: generatori, indipendenti, base? Per ciascuna lista stabilisci se i vettori sono linearmente indipendenti, se generano lo spazio indicato e se ne formano una base. (a) $(1, -1)$, $(2, 1)$, $(0, 3)$ in $\R^2$. (b) $(1, 0, 2)$, $(0, 1, -1)$, $(2, 1, 3)$ in $\R^3$. (c) $(1, 1, 0, 0)$, $(0, 1, 1, 0)$, $(0, 0, 1, 1)$ in $\R^4$. ::: soluzione (a) Tre vettori nel piano: **dipendenti**. Generano: $(1, -1)$ e $(2, 1)$ non sono multipli, quindi sono già una base del piano, e aggiungendo $(0, 3)$ si genera ancora. **Generatori, non base.** Il doppione: cerco $a$ e $b$ con $a(1, -1) + b(2, 1) = (0, 3)$, cioè $a + 2b = 0$ e $-a + b = 3$. Sommando, $3b = 3$, quindi $b = 1$ e $a = -2$: $(0, 3) = -2(1, -1) + (2, 1)$. (b) $2(1, 0, 2) + (0, 1, -1) = (2, 1, 3)$: il terzo è un doppione dei primi due, **dipendenti**. I primi due non sono multipli, quindi lo Span ha dimensione 2: è un piano, **non generano** lo spazio. **Non è una base.** (c) Chiedo $a(1, 1, 0, 0) + b(0, 1, 1, 0) + c(0, 0, 1, 1) = 0$. 1. Prima coordinata: $a = 0$. 2. Seconda: $a + b = 0$, quindi $b = 0$. 3. Quarta: $c = 0$. **Indipendenti.** Ma sono 3 vettori e lo spazio ha dimensione 4: **non generano**, e **non sono una base**. Per esempio $e_4 = (0, 0, 0, 1)$ non si ottiene: servirebbero $a = 0$ (prima coordinata), poi $b = 0$ (seconda), poi $c = 0$ (terza), ma allora la quarta coordinata sarebbe 0, non 1. ::: ## Domande di ripasso ::: domanda Quando dei vettori sono linearmente dipendenti? E indipendenti? Dipendenti: c'è una ricetta con dosi non tutte zero che dà il vettore zero. Indipendenti: l'unica ricetta che dà zero è quella con tutte le dosi zero. ::: ::: domanda Che cosa dice la Proposizione 7.2, e perché è vera? Dei vettori sono dipendenti esattamente quando uno di loro è una ricetta con gli altri, cioè un doppione. Se una ricetta che dà zero ha una dose diversa da zero, si divide per quella dose e si ricava quel vettore dagli altri. Al contrario, se un vettore è una ricetta con gli altri, portando tutto da una parte si ottiene una ricetta che dà zero con la dose $-1$. ::: ::: domanda Quando un solo vettore è dipendente? E due vettori? Un vettore da solo è dipendente solo se è il vettore zero. Due vettori sono dipendenti solo se uno è multiplo dell'altro. ::: ::: domanda Tre vettori diversi da zero e a coppie non multipli sono per forza indipendenti? No. Nell'Esempio 7.4, $(1, 1, 0)$, $(0, 1, 1)$ e $(1, 0, -1)$ sono diversi da zero e a coppie non multipli, ma $v_1 - v_2 - v_3 = 0$. Con tre o più vettori bisogna risolvere il sistema. ::: ::: domanda Perché una lista che contiene il vettore zero è sempre dipendente? Perché dando dose 1 al vettore zero e dose 0 a tutti gli altri si ottiene zero, con una dose diversa da zero. ::: ::: domanda Che cos'è una base? Fai un esempio nel piano diverso dalla base canonica. Una lista di vettori indipendenti che generano tutto lo spazio. Nel piano anche $(1, 2), (2, 1)$ è una base: sono due vettori non multipli, quindi indipendenti, e per il Teorema 7.12 generano. ::: ::: domanda Qual è la base canonica di $\K^n$? E dei polinomi di grado al massimo $n$? In $\K^n$: $e_1, \dots, e_n$, dove $e_i$ ha un 1 al posto $i$ e zeri altrove. Nei polinomi di grado al massimo $n$: $1, x, x^2, \dots, x^n$, che sono $n + 1$ polinomi. ::: ::: domanda Che cosa dice il Teorema 7.10, e perché serve? Tutte le basi di uno stesso spazio hanno lo stesso numero di vettori. Serve perché la dimensione, cioè il numero di vettori di una base, non dipenda dalla base scelta. ::: ::: domanda Quali sono le dimensioni di $\K^n$, dei polinomi di grado al massimo $n$, delle matrici $m \times n$ e di tutti i polinomi? $n$, $n + 1$, $mn$ e infinita. Tutti i polinomi insieme non hanno basi finite, perché ogni lista finita di polinomi genera solo polinomi fino a un certo grado. ::: ::: domanda Che cosa dice il Teorema 7.12? Fai un esempio. Se i vettori sono tanti quanta è la dimensione, sono una base appena sono indipendenti, oppure appena generano: l'altra condizione arriva da sola. Esempio: $(-1, 1)$ e $(2, 1)$ non sono multipli, quindi sono indipendenti, e sono una base del piano. ::: ::: domanda Quattro vettori dello spazio a tre coordinate possono essere indipendenti? Due vettori possono generarlo? No in tutti e due i casi. In uno spazio di dimensione $n$, più di $n$ vettori sono sempre dipendenti e meno di $n$ vettori non generano mai tutto. ::: ::: domanda Come si calcola la dimensione di un sottospazio definito da condizioni? Si scrive l'elemento generico con le lettere libere, lo si riscrive come ricetta con un vettore per lettera, si controlla che quei vettori siano indipendenti e si contano. Per esempio i polinomi di grado al massimo 3 che fanno zero in 2 hanno dimensione 3. ::: ::: domanda Quanto valgono $\dim S(3)$, $\dim T^s(3)$ e $\dim A(3)$? 6, 6 e 3. In generale le simmetriche e le triangolari superiori $n \times n$ hanno dimensione $\frac{n(n + 1)}2$, le antisimmetriche $\frac{n(n - 1)}2$. ::: ## Glossario ```glossario Combinazione banale | La ricetta con tutte le dosi uguali a zero. Dà sempre il vettore zero, con qualsiasi vettori. Linearmente dipendenti | Vettori con un doppione: una ricetta con dosi non tutte zero dà il vettore zero. Per esempio $(1, 2)$ e $(2, 4)$. Linearmente indipendenti | Vettori senza doppioni: l'unica ricetta che dà zero ha tutte le dosi zero. Per esempio $(1, 2)$ e $(2, 1)$. Vettori multipli | Due vettori uno uguale all'altro moltiplicato per un numero. Per due vettori, essere multipli vuol dire essere dipendenti. Generatori | Vettori con cui si ottiene tutto lo spazio: ogni vettore è una loro ricetta. Base | Una lista di vettori indipendenti che generano tutto lo spazio: gli ingredienti giusti, nessuno sprecato. Base canonica di $\K^n$ | I vettori $e_1, \dots, e_n$, ciascuno con un 1 in un posto e zeri altrove. Base canonica di $\K_n[x]$ | I polinomi $1, x, x^2, \dots, x^n$: sono $n + 1$. Matrici $e_{ij}$ | La matrice con un 1 nella riga $i$ e colonna $j$, e zeri altrove. Formano la base canonica delle matrici. Dimensione | Il numero di vettori di una base. Si scrive $\dim V$; è infinita se nessuna lista finita genera lo spazio. Definizione ben posta | Una definizione che non dipende dalle scelte fatte. Per la dimensione lo garantisce il Teorema 7.10. Dimensione infinita | Quella di uno spazio che nessuna lista finita genera, come tutti i polinomi insieme. Coordinate rispetto a una base | Le dosi dell'unica ricetta che dà un vettore con gli ingredienti di una base (lezione L13). Lemma di scambio | Se $n$ vettori generano lo spazio, altri $n$ vettori indipendenti lo generano anche loro. È la chiave del Teorema 7.10. Completamento a una base | Aggiungere a vettori indipendenti vettori fuori dal loro Span, finché sono tanti quanta è la dimensione. Estrazione di una base | Togliere da una lista che genera i doppioni, finché restano vettori indipendenti. Rango (anticipo) | Il numero massimo di righe, o colonne, indipendenti di una matrice (lezione L08). ``` ## Checklist ```checklist - So dire a parole e con la formula quando dei vettori sono indipendenti. - So dimostrare che dei vettori sono indipendenti scrivendo la ricetta con le dosi sconosciute e risolvendo il sistema. - So dimostrare che dei vettori sono dipendenti mostrando una ricetta con dosi non tutte zero che dà zero. - So spiegare la Proposizione 7.2 e riconoscere i casi con uno e due vettori. - So spiegare con l'Esempio 7.4 perché con tre vettori non basta guardarli a coppie. - So dire che cos'è una base e perché $e_1, \dots, e_n$ e $1, x, \dots, x^n$ sono basi. - So le dimensioni di $\K^n$, dei polinomi di grado al massimo $n$, delle matrici e di tutti i polinomi, senza sbagliare il $+1$ dei polinomi. - So usare il Teorema 7.12 per dimostrare che dei vettori sono una base controllando solo l'indipendenza. - So rispondere a «generatori e/o indipendenti?» contando i vettori e cercando i doppioni. - So calcolare base e dimensione di sottospazi di matrici e di polinomi definiti da condizioni. - So completare dei vettori indipendenti a una base ed estrarre una base da una lista che genera. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 7 «Spazi vettoriali III», pp. 31–35: le sezioni 7.A–7.D sono seguite in ordine, con la pagina indicata accanto a ogni titolo; definizioni, proposizioni, teoremi, esempi ed esercizi mantengono la loro numerazione (Definizioni 7.1, 7.7 e 7.11, Proposizioni 7.2 e 7.6, Esempi 7.3–7.5, 7.8 e 7.9, Teoremi 7.10 e 7.12, Esercizi 7.13–7.15, svolti come esercizi 7, 5 e 8). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §2.3.1–2.3.7 (indipendenza lineare ed Esempio 2.3.2, basi canoniche, coordinate e Proposizione 2.3.11, lemma di scambio e dimostrazione del Teorema 2.3.16, dimensione infinita di $\K[x]$, algoritmi di completamento e di estrazione ed Esempio 2.3.21, Proposizioni 2.3.20, 2.3.23 e 2.3.25). - **Appelli citati** (testi e soluzioni sul Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): 24/01/2024 (domande 1 e 5), 10/06/2024 (domanda 3), 10/07/2024 (domanda 2), 06/09/2024 (domanda 2), 16/01/2025 (domanda 2), 10/07/2025 (domanda 2), 02/09/2025 (domanda 10 e problema 11), 15/01/2026 (domande 3 e 4), 03/07/2026 (domanda 1), 07/09/2026 (domanda 2). Le domande del 16/01/2025 (2), del 07/09/2026 (2) e del 15/01/2026 (4) sono riportate con soluzioni scritte per questi appunti. Foglio di esercizi 2 del tutorato 2025 (Buzano, Radeschi), esercizi 1, 3 e 4, come modello di alcuni esercizi. - Le parti **«Oltre le dispense»** (il metodo di Gauss per contare i vettori indipendenti, le coordinate, la dimostrazione dei Teoremi 7.10 e 7.12, le conseguenze per i quiz, i metodi per l'esame e gli esercizi che non vengono dalle dispense) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L08_matrici_1.md` ```yaml corso: MDAG modulo: AG lezione: L08 titolo: Matrici I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L08 descrizione: >- Appunti della lezione L08 di Algebra lineare e Geometria (MDAG, parte 2): trasposta di una matrice, matrici simmetriche, rango per righe e per colonne, prodotto riga per colonna e sue proprietà, traccia, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Quattro cose che si possono fare con una tabella di numeri: girarla, contare quante colonne dicono davvero qualcosa di nuovo, moltiplicarla per un'altra tabella e sommare i numeri della sua diagonale. Sono i conti che trovi in quasi ogni quiz d'esame, spesso con un tranello. materiale: dispense scheda: Dispense: lezione 8 · pp. 36–40 Libro: Martelli, §2.3.10, §3.2.3, §3.2.6, §3.4.1–3.4.5 e §4.4.5 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 8 «Matrici I»; B. Martelli, Geometria e algebra lineare, §2.3.10, §3.2.3, §3.2.6, §3.4.1–3.4.5 e §4.4.5 appunti_html: appunti/MDAG/L08_matrici_1.html genera_html: true ``` ## In breve - Una **matrice** è una tabella di numeri. La sua **taglia** si scrive mettendo prima il numero delle righe e poi quello delle colonne: una matrice «2 per 3» ha 2 righe e 3 colonne. - La **trasposta** è la stessa tabella girata: le righe diventano colonne e le colonne diventano righe. Una matrice quadrata che girata resta uguale si chiama **simmetrica**. - Il **rango** conta quante colonne dicono davvero qualcosa di nuovo, cioè non si ottengono mescolando le altre. Se conti le righe al posto delle colonne viene lo stesso numero. - Il **prodotto riga per colonna** funziona come il conto della spesa: quantità per prezzi, poi si somma. Si può fare solo se le colonne della prima matrice sono tante quante le righe della seconda. - Nel prodotto **l'ordine conta**: se scambi le due matrici, di solito il risultato cambia. E un prodotto può dare una tabella di soli zeri anche se nessuna delle due matrici è fatta di soli zeri. - La **traccia** di una matrice quadrata è la somma dei numeri sulla diagonale. Se scambi le due matrici di un prodotto, la traccia resta la stessa. - All'esame trovi quasi sempre tre domande su questa lezione: «quale identità vale?» tra due prodotti, la traccia di un prodotto e un rango da calcolare. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Le matrici: tabelle di numeri (p. 36) Una matrice è una tabella con dei numeri dentro. Questa sezione ripassa come si legge e come si scrive: è quello che le dispense ricordano all'inizio della lezione, prima delle operazioni nuove. Partiamo da un esempio. Anna e Bruno vanno in cartoleria. Anna compra 2 quaderni e 3 penne. Bruno compra 1 quaderno e 5 penne. Tutto questo sta in una tabella. | | quaderni | penne | |---|---|---| | Anna | 2 | 3 | | Bruno | 1 | 5 | Ora togli le scritte e tieni solo i numeri, chiusi tra due parentesi tonde grandi: $$\begin{pmatrix} 2 & 3 \\ 1 & 5 \end{pmatrix}$$ Questa è una **matrice**: una tabella rettangolare di numeri. A una matrice si dà un nome con una lettera maiuscola, per esempio $A$. ### Righe, colonne e taglia Le **righe** sono le file orizzontali: si leggono da sinistra a destra. Le **colonne** sono le file verticali: si leggono dall'alto in basso. Nella matrice di Anna e Bruno la prima riga contiene 2 e 3. La seconda riga contiene 1 e 5. La prima colonna contiene 2 e 1. La seconda colonna contiene 3 e 5. La **taglia** di una matrice dice quante righe e quante colonne ha. Si scrive con il segno $\times$, che qui si legge «per». La matrice di Anna e Bruno ha 2 righe e 2 colonne: è una matrice $2 \times 2$, «due per due». Guarda quest'altra matrice: $$\begin{pmatrix} 3 & 0 & -1 \\ 2 & 5 & 4 \end{pmatrix}$$ Ha 2 righe e 3 colonne. Quindi è una matrice $2 \times 3$, «due per tre». > [!TRAPPOLA] Prima le righe, poi le colonne > Nella taglia il primo numero è sempre quello delle righe. Una matrice $2 \times 3$ ha 2 righe e 3 colonne. Una matrice $3 \times 2$ ha 3 righe e 2 colonne: è un'altra cosa. Per parlare di una matrice qualsiasi le dispense scrivono «matrice $m \times n$». Le lettere $m$ e $n$ stanno al posto di due numeri: $m$ è il numero delle righe, $n$ è il numero delle colonne. Una matrice con tante righe quante colonne si chiama **quadrata**: per esempio una $2 \times 2$ oppure una $3 \times 3$. Una matrice fatta di soli zeri si chiama **matrice nulla** e si indica con $0$, come il numero. ### L'indirizzo di ogni numero Ogni numero della tabella ha un indirizzo: la riga e la colonna in cui si trova. Funziona come al cinema: fila 2, posto 3. Diamo un nome alla matrice di prima: $$A = \begin{pmatrix} 3 & 0 & -1 \\ 2 & 5 & 4 \end{pmatrix}$$ Il numero che sta nella riga 2 e nella colonna 3 è il 4. Si scrive così: $$a_{23} = 4$$ Si legge «a due tre», non «a ventitré». I due numerini in basso si chiamano **indici**. Sono l'indirizzo della casella: **il primo indice è la riga, il secondo è la colonna**. La lettera è minuscola perché indica un numero dentro la matrice che si chiama $A$. Un altro esempio: $a_{12}$ è il numero nella riga 1 e nella colonna 2. Nella matrice qui sopra è lo 0. Per una casella qualsiasi le dispense scrivono $a_{ij}$. Vuol dire: il numero nella riga $i$ e nella colonna $j$. Le lettere $i$ e $j$ stanno al posto dei due numeri dell'indirizzo. A volte le dispense scrivono $A_{ij}$, con la lettera maiuscola: è la stessa cosa. ### I nomi delle righe e delle colonne Anche una riga intera e una colonna intera hanno un nome. - La riga numero 2 si scrive $A_2$, con l'indice **in basso**. - La colonna numero 3 si scrive $A^3$, con l'indice **in alto**. Nella matrice $A$ di prima la riga $A_2$ contiene i numeri 2, 5 e 4. La colonna $A^3$ contiene $-1$ sopra e 4 sotto. > [!TRAPPOLA] Un numero in alto non è sempre una potenza > In questa lezione $A^3$ può voler dire «la terza colonna di $A$». Più avanti la stessa scrittura vorrà dire «$A$ moltiplicata per sé stessa tre volte». Di solito la frase intorno chiarisce quale dei due significati vale. In questi appunti, quando c'è il rischio di confondersi, trovi scritto «la colonna 3» a parole. Una riga è una lista ordinata di numeri. Anche una colonna lo è. Le liste ordinate di numeri le conosci già: sono i **vettori** della lezione L05. Quindi ogni riga e ogni colonna di una matrice è un vettore. Conta quanti numeri ci sono in ciascuna. - Una **colonna** ha un numero per ogni riga della matrice. In una matrice con 2 righe, ogni colonna è un vettore con 2 numeri. - Una **riga** ha un numero per ogni colonna della matrice. In una matrice con 3 colonne, ogni riga è un vettore con 3 numeri. > [!ESEMPIO] · Leggere una matrice > $$A = \begin{pmatrix} 3 & 0 & -1 \\ 2 & 5 & 4 \end{pmatrix}$$ > **La taglia.** Le righe sono 2, le colonne sono 3. Quindi $A$ è una matrice $2 \times 3$. > > **Due caselle.** > > - $a_{23}$: riga 2, colonna 3. Nella seconda riga il terzo numero è 4. Quindi $a_{23} = 4$. > - $a_{12}$: riga 1, colonna 2. Nella prima riga il secondo numero è 0. Quindi $a_{12} = 0$. > > **Una riga e una colonna.** La seconda riga è $A_2 = (2, 5, 4)$. La terza colonna è > $$A^3 = \begin{pmatrix} -1 \\ 4 \end{pmatrix}.$$ > > **Quanti numeri hanno.** Ogni colonna ha 2 numeri, tanti quante sono le righe: le colonne sono vettori di $\R^2$. Ogni riga ha 3 numeri, tanti quante sono le colonne: le righe sono vettori di $\R^3$. La scrittura $\R^2$ si legge «erre due» e indica tutti i vettori fatti di 2 numeri reali. $\R^3$ indica quelli fatti di 3 numeri reali (lezione L05). ### Una matrice qualsiasi, scritta con le lettere Quando non si vuole parlare di una matrice precisa ma di una matrice qualsiasi, al posto dei numeri si mettono delle lettere con gli indici. Le dispense scrivono così una matrice con $m$ righe e $n$ colonne: $$A = \begin{pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \cdots & a_{mn} \end{pmatrix}$$ **Come si legge.** È una tabella di cui sono scritti solo i quattro angoli. - In alto a sinistra c'è $a_{11}$: riga 1, colonna 1. - In alto a destra c'è $a_{1n}$: riga 1, ultima colonna. L'ultima colonna è la numero $n$, perché le colonne sono $n$. - In basso a sinistra c'è $a_{m1}$: ultima riga, colonna 1. L'ultima riga è la numero $m$. - In basso a destra c'è $a_{mn}$: ultima riga, ultima colonna. - I puntini vogliono dire «e avanti così»: in mezzo ci sono tutte le altre caselle, che non si scrivono per non riempire la pagina. Tutte le matrici della stessa taglia si mettono in un insieme. Un insieme è un sacchetto di oggetti (lezione L01). Questo sacchetto ha un nome: $$M(m, n, \K)$$ **Come si legge.** «Le matrici $m$ per $n$ a coefficienti in $\K$». Un pezzo alla volta: - la $M$ sta per «matrici»; - $m$ e $n$ sono la taglia: righe e colonne; - i **coefficienti** sono i numeri scritti nella tabella; - $\K$ dice che tipo di numeri sono. Le dispense scrivono $\K$ per dire «$\R$ oppure $\C$», cioè i numeri reali oppure i numeri complessi. In questa lezione puoi pensare sempre ai numeri reali. Un esempio: $M(2, 3, \R)$ è l'insieme di tutte le matrici $2 \times 3$ fatte di numeri reali. La matrice $A$ dell'esempio sta lì dentro. Con il simbolo $\in$, che si legge «appartiene a», si scrive $A \in M(2, 3, \R)$. Per le matrici quadrate, che hanno $n$ righe e $n$ colonne, basta un numero solo: si scrive $M(n, \K)$, o ancora più corto $M(n)$. Per esempio $M(2)$ sono le matrici $2 \times 2$. Una matrice con una sola colonna è un **vettore colonna**: un vettore scritto in verticale. Per questo le matrici con $m$ righe e 1 colonna sono la stessa cosa dei vettori con $m$ numeri, che si indicano con $\K^m$. ### Le due operazioni che conosci già Le dispense ricordano le due operazioni della lezione L06. Tutte e due si fanno **casella per casella**. **Sommare due matrici della stessa taglia.** Sommi i numeri che stanno nello stesso posto. $$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} + \begin{pmatrix} 0 & -2 \\ 5 & 1 \end{pmatrix} = \begin{pmatrix} 1 + 0 & 2 + (-2) \\ 3 + 5 & 4 + 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 8 & 5 \end{pmatrix}$$ **Moltiplicare una matrice per un numero.** Moltiplichi ogni casella per quel numero. $$3 \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 3 \cdot 1 & 3 \cdot 2 \\ 3 \cdot 3 & 3 \cdot 4 \end{pmatrix} = \begin{pmatrix} 3 & 6 \\ 9 & 12 \end{pmatrix}$$ Il numero davanti alla matrice si chiama **scalare**, cioè un numero normale come 3 o $-2$. Le dispense lo indicano con la lettera greca $\lambda$, che si legge «lambda». Con le lettere, le due regole si scrivono così: $$(A + B)_{ij} = a_{ij} + b_{ij}, \qquad (\lambda A)_{ij} = \lambda a_{ij}.$$ **Come si legge.** La prima: nella casella di riga $i$ e colonna $j$ della somma c'è il numero di $A$ più il numero di $B$ che stanno in quella stessa casella. La seconda: nella casella di riga $i$ e colonna $j$ di $\lambda A$ c'è il numero di $A$ moltiplicato per $\lambda$. ### Quanti numeri servono per fare una matrice Con queste due operazioni le matrici si comportano come i vettori: si sommano e si moltiplicano per un numero, con le solite regole. Per questo le dispense ricordano che $M(m, n, \K)$ è uno **spazio vettoriale** (lezione L05). Ogni spazio vettoriale ha una **dimensione**: quanti numeri servono per dire quale dei suoi elementi hai in mano (lezione L07). Per scegliere una matrice $2 \times 2$ servono 4 numeri, uno per casella. Infatti ogni matrice $2 \times 2$ si costruisce con quattro mattoni, ognuno con un solo 1 e il resto zeri: $$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = 1 \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} + 2 \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} + 3 \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix} + 4 \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}$$ I mattoni sono 4, cioè 2 per 2. Quindi lo spazio delle matrici $2 \times 2$ ha dimensione 4. Per una taglia qualsiasi il conto è lo stesso: le caselle sono $m$ per $n$, quindi la dimensione di $M(m, n, \K)$ è $mn$. È l'Esercizio 7.13 delle dispense. Il mattone con l'1 nella casella di riga $i$ e colonna $j$ si indica con $e_{ij}$. ### Le quattro operazioni nuove Ecco che cosa arriva in questa lezione. La tabella ti serve come mappa: a ogni riga corrisponde una delle prossime sezioni. | Operazione | Simbolo | Quando si può fare | Che cosa viene fuori | |---|---|---|---| | trasposta | ${}^tA$ | sempre | una matrice con righe e colonne scambiate | | rango | $\rk(A)$ | sempre | un numero intero | | prodotto | $AB$ | solo se le colonne di $A$ sono tante quante le righe di $B$ | una matrice | | traccia | $\tr A$ | solo se $A$ è quadrata | un numero | ::: prova Che taglia ha la matrice $\begin{pmatrix} 1 & 0 \\ 2 & 7 \\ 5 & 3 \end{pmatrix}$? Quanto valgono $a_{21}$ e $a_{32}$? Ha 3 righe e 2 colonne: è una matrice $3 \times 2$. $a_{21}$ è nella riga 2 e nella colonna 1: vale 2. $a_{32}$ è nella riga 3 e nella colonna 2: vale 3. ::: ::: prova Nella stessa matrice, chiamala $A$: quali numeri contiene la riga $A_3$? E la colonna $A^1$? La riga $A_3$ è la terza riga: contiene 5 e 3. La colonna $A^1$ è la prima colonna: contiene 1, 2 e 5, dall'alto in basso. ::: ::: prova Quanto fa $\begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} + \begin{pmatrix} 1 & 1 \\ 4 & -3 \end{pmatrix}$? E quanto fa $2 \begin{pmatrix} 1 & -1 \\ 0 & 4 \end{pmatrix}$? La somma si fa casella per casella: $2 + 1 = 3$, $1 + 1 = 2$, $0 + 4 = 4$, $3 + (-3) = 0$. Il risultato è $\begin{pmatrix} 3 & 2 \\ 4 & 0 \end{pmatrix}$. Nel multiplo ogni casella si moltiplica per 2: $2 \cdot 1 = 2$, $2 \cdot (-1) = -2$, $2 \cdot 0 = 0$, $2 \cdot 4 = 8$. Il risultato è $\begin{pmatrix} 2 & -2 \\ 0 & 8 \end{pmatrix}$. ::: > [!RICORDA] > - Una **matrice** è una tabella di numeri. La taglia $m \times n$ dice: $m$ righe e $n$ colonne. Prima le righe. > - $a_{ij}$ è il numero nella riga $i$ e nella colonna $j$: primo indice la riga, secondo la colonna. > - La riga numero $i$ si scrive $A_i$ (indice in basso), la colonna numero $j$ si scrive $A^j$ (indice in alto). > - Somma e multiplo si fanno casella per casella. ## La trasposta: scambiare righe e colonne (p. 36) La stessa tabella si può scrivere in due versi. Torna agli acquisti di Anna e Bruno. Avevamo messo le persone sulle righe e gli articoli sulle colonne. | | quaderni | penne | |---|---|---| | Anna | 2 | 3 | | Bruno | 1 | 5 | Nessuno vieta di fare il contrario: gli articoli sulle righe e le persone sulle colonne. | | Anna | Bruno | |---|---|---| | quaderni | 2 | 1 | | penne | 3 | 5 | Le informazioni sono le stesse: Anna ha sempre 2 quaderni e 3 penne. È cambiato solo il verso della tabella. Quello che prima era una riga, «Anna: 2 e 3», adesso è una colonna. Con i soli numeri, la prima tabella e la seconda sono queste due matrici: $$\begin{pmatrix} 2 & 3 \\ 1 & 5 \end{pmatrix} \qquad\qquad \begin{pmatrix} 2 & 1 \\ 3 & 5 \end{pmatrix}$$ La seconda matrice si chiama **trasposta** della prima. > [!IDEA] > **Trasporre** una matrice vuol dire scambiare le righe con le colonne. La prima riga diventa la prima colonna, la seconda riga diventa la seconda colonna, e avanti così. La trasposta di una matrice $A$ si scrive ${}^tA$, con una piccola $t$ in alto **a sinistra**. Si legge «$A$ trasposta». In altri libri trovi la lettera in alto a destra, maiuscola o minuscola: è la stessa cosa. ### Un esempio passo per passo Prendiamo una matrice che non è quadrata, così si vede meglio che cosa succede. $$A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}$$ Ha 2 righe e 3 colonne. Costruiamo la trasposta una riga alla volta. 1. La prima riga di $A$ contiene 1, 2, 3. La scrivo in verticale: è la prima colonna della trasposta. 2. La seconda riga di $A$ contiene 4, 5, 6. La scrivo in verticale: è la seconda colonna della trasposta. 3. Le righe di $A$ sono finite, quindi la trasposta è completa. $${}^tA = \begin{pmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{pmatrix}$$ Guarda che cosa è cambiato. - **La taglia si è scambiata.** La matrice di partenza era $2 \times 3$, la trasposta è $3 \times 2$. Le 2 righe sono diventate 2 colonne, le 3 colonne sono diventate 3 righe. - **Gli indirizzi si sono scambiati.** Nella matrice di partenza il 6 stava nella riga 2 e nella colonna 3. Nella trasposta sta nella riga 3 e nella colonna 2. C'è un altro modo di vedere la stessa mossa: ribaltare la tabella attorno alla diagonale che scende dall'angolo in alto a sinistra. I numeri su quella diagonale, qui l'1 e il 5, restano dove sono. Tutti gli altri saltano dall'altra parte. ### Come lo scrivono le dispense Ecco la definizione con le parole e i simboli delle dispense. > [!DEF] 8.1 · Trasposta > La **trasposta** di una matrice $A \in M(m, n, \K)$ è la matrice > $${}^tA \in M(n, m, \K)$$ > definita scambiando righe e colonne, cioè: > $$({}^tA)_{ij} = A_{ji}.$$ **Come si legge.** - $A \in M(m, n, \K)$: la matrice $A$ ha $m$ righe e $n$ colonne. - ${}^tA \in M(n, m, \K)$: le due lettere si sono scambiate. La trasposta ha $n$ righe e $m$ colonne. - L'ultima riga è la regola degli indirizzi. A sinistra c'è il numero che la trasposta ha nella riga $i$ e nella colonna $j$. A destra c'è il numero che $A$ ha nella riga $j$ e nella colonna $i$. I due indici sono scambiati. Con i numeri dell'esempio di prima la regola degli indirizzi diventa: $$({}^tA)_{32} = A_{23} = 6$$ A parole: il numero che la trasposta ha nella riga 3 e nella colonna 2 è quello che $A$ ha nella riga 2 e nella colonna 3, cioè 6. > [!ESEMPIO] 8.2 · Una matrice $3 \times 2$ e la sua trasposta > Le dispense partono da questa matrice, che ha 3 righe e 2 colonne: > $$A = \begin{pmatrix} 2 & 1 \\ -1 & 0 \\ 5 & 7 \end{pmatrix}$$ > Questa volta costruiamo la trasposta guardando le colonne. > > 1. La prima colonna di $A$, letta dall'alto in basso, contiene $2, -1, 5$. Diventa la prima riga della trasposta. > 2. La seconda colonna di $A$ contiene $1, 0, 7$. Diventa la seconda riga della trasposta. > > $${}^tA = \begin{pmatrix} 2 & -1 & 5 \\ 1 & 0 & 7 \end{pmatrix}$$ > $A$ è $3 \times 2$, la sua trasposta è $2 \times 3$. > > Controllo di due caselle con la regola degli indirizzi. > > - $({}^tA)_{13}$ deve essere uguale ad $A_{31}$. In $A$, nella riga 3 e colonna 1, c'è 5. In ${}^tA$, nella riga 1 e colonna 3, c'è 5. Torna. > - $({}^tA)_{21}$ deve essere uguale ad $A_{12}$. In $A$, nella riga 1 e colonna 2, c'è 1. In ${}^tA$, nella riga 2 e colonna 1, c'è 1. Torna. Nel primo esempio abbiamo trasformato le righe in colonne, nel secondo le colonne in righe. È la stessa mossa vista da due lati, e il risultato non cambia. ::: prova Scrivi la trasposta di $\begin{pmatrix} 1 & 0 & 2 \\ 3 & 1 & 4 \end{pmatrix}$. Che taglia ha? La prima riga, che contiene $1, 0, 2$, diventa la prima colonna. La seconda riga, che contiene $3, 1, 4$, diventa la seconda colonna. La trasposta è $\begin{pmatrix} 1 & 3 \\ 0 & 1 \\ 2 & 4 \end{pmatrix}$. La matrice di partenza era $2 \times 3$, la trasposta è $3 \times 2$. ::: ### Somme e multipli: prima o dopo è lo stesso Se devi sommare due matrici e poi trasporre il risultato, puoi anche fare al contrario: prima trasporre e poi sommare. Vediamolo con i numeri. Prendiamo due matrici: $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \qquad B = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$$ **Prima strada: sommo, poi traspongo.** 1. La somma, casella per casella: $$A + B = \begin{pmatrix} 1 & 3 \\ 4 & 4 \end{pmatrix}$$ 2. La trasposta della somma (le righe diventano colonne): $${}^t(A + B) = \begin{pmatrix} 1 & 4 \\ 3 & 4 \end{pmatrix}$$ **Seconda strada: traspongo, poi sommo.** 1. Le due trasposte: $${}^tA = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix} \qquad {}^tB = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$$ 2. La loro somma, casella per casella: $${}^tA + {}^tB = \begin{pmatrix} 1 & 4 \\ 3 & 4 \end{pmatrix}$$ Le due strade portano alla stessa matrice. Il motivo: trasporre sposta le caselle, sommare lavora casella per casella. Spostare e poi sommare, oppure sommare e poi spostare, mette gli stessi numeri negli stessi posti. Lo stesso succede con i multipli. Moltiplichiamo la matrice $A$ di prima per 3, in due modi. - Prima moltiplico per 3 e poi traspongo: $$3A = \begin{pmatrix} 3 & 6 \\ 9 & 12 \end{pmatrix} \qquad \text{trasposta:} \qquad \begin{pmatrix} 3 & 9 \\ 6 & 12 \end{pmatrix}$$ - Prima traspongo e poi moltiplico per 3: $${}^tA = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix} \qquad \text{per 3:} \qquad \begin{pmatrix} 3 & 9 \\ 6 & 12 \end{pmatrix}$$ Stesso risultato. In breve: la trasposta **rispetta le somme e i multipli**. Dalla lezione L14 una trasformazione con questa proprietà si chiamerà *lineare*. ### Matrici che girate restano uguali Alcune matrici quadrate, quando le giri, restano identiche. Guarda questa: $$S = \begin{pmatrix} 1 & 4 & 5 \\ 4 & 2 & 6 \\ 5 & 6 & 3 \end{pmatrix}$$ La prima riga contiene 1, 4, 5. Anche la prima colonna contiene 1, 4, 5. La seconda riga contiene 4, 2, 6, e la seconda colonna pure. La terza riga contiene 5, 6, 3, e la terza colonna pure. Ogni riga è uguale alla colonna con lo stesso numero. Quindi scambiare righe e colonne non cambia niente: la trasposta di $S$ è ancora $S$. Una matrice quadrata fatta così si chiama **simmetrica**. La diagonale che scende da sinistra a destra fa da specchio: ogni numero sopra la diagonale ha un gemello sotto, nella casella ribaltata. L'hai già incontrata nella lezione L06 (Definizione 6.3), scritta con gli indici: $a_{ij} = a_{ji}$ in ogni casella. A parole: il numero di riga $i$ e colonna $j$ è uguale al numero di riga $j$ e colonna $i$. Esiste anche il caso «a specchio, ma con il segno cambiato»: $$N = \begin{pmatrix} 0 & 2 & -1 \\ -2 & 0 & 3 \\ 1 & -3 & 0 \end{pmatrix}$$ Qui ogni numero ha, dall'altra parte della diagonale, il suo opposto. Una matrice quadrata fatta così si chiama **antisimmetrica**. Con gli indici: $a_{ij} = -a_{ji}$ in ogni casella. Se la giri, ottieni la stessa matrice con tutti i segni cambiati. > [!ESEMPIO] · Una simmetrica e un'antisimmetrica > **La matrice $S$ è simmetrica.** Controllo le tre coppie di caselle fuori dalla diagonale. > > | Casella sopra la diagonale | Numero | Casella ribaltata | Numero | > |---|---|---|---| > | riga 1, colonna 2 | $4$ | riga 2, colonna 1 | $4$ | > | riga 1, colonna 3 | $5$ | riga 3, colonna 1 | $5$ | > | riga 2, colonna 3 | $6$ | riga 3, colonna 2 | $6$ | > > I numeri sono uguali a coppie, quindi ${}^tS = S$. > > **La matrice $N$ è antisimmetrica.** Stesso controllo. > > | Casella sopra la diagonale | Numero | Casella ribaltata | Numero | > |---|---|---|---| > | riga 1, colonna 2 | $2$ | riga 2, colonna 1 | $-2$ | > | riga 1, colonna 3 | $-1$ | riga 3, colonna 1 | $1$ | > | riga 2, colonna 3 | $3$ | riga 3, colonna 2 | $-3$ | > > I numeri sono opposti a coppie, quindi ${}^tN = -N$. La scrittura $-N$ indica la matrice $N$ con tutti i segni cambiati. > > **La diagonale di $N$ è fatta di zeri, e non è un caso.** Una casella sulla diagonale, ribaltata, resta sé stessa. Quindi il suo numero deve essere uguale al proprio opposto. L'unico numero uguale al proprio opposto è lo 0. Con gli indici: da $a_{ii} = -a_{ii}$ viene $2a_{ii} = 0$, cioè $a_{ii} = 0$. ### Le proprietà, come le scrivono le dispense Tutto quello che abbiamo visto sta in tre righe delle dispense. > [!PROP] · Proprietà della trasposta (p. 36) > - ${}^t(A + B) = {}^tA + {}^tB$, $\quad {}^t(\lambda A) = \lambda({}^tA)$. > - Se $A \in M(n)$, allora anche ${}^tA \in M(n)$. > - $A \in M(n)$ è simmetrica $\iff {}^tA = A$; $A \in M(n)$ è antisimmetrica $\iff {}^tA = -A$. **Come si legge.** - **Prima riga.** La trasposta di una somma è la somma delle trasposte. La trasposta di un multiplo è il multiplo della trasposta. La lettera $\lambda$ («lambda») sta per un numero qualsiasi. - **Seconda riga.** $A \in M(n)$ vuol dire che $A$ è quadrata, con $n$ righe e $n$ colonne. La riga dice che anche la sua trasposta è quadrata, della stessa taglia. In più i numeri sulla diagonale non si muovono: la loro casella, ribaltata, è la stessa casella. - **Terza riga.** Il simbolo $\iff$ si legge «se e solo se», cioè «esattamente quando». Una matrice quadrata è simmetrica esattamente quando è uguale alla sua trasposta. È antisimmetrica esattamente quando la sua trasposta è la matrice con tutti i segni cambiati. La terza riga è quella che serve di più. Per controllare se una matrice è simmetrica non devi ricordare formule: la giri e guardi se è rimasta uguale. > [!OLTRE] · altre tre proprietà utili > **Girare due volte.** Se trasponi due volte torni alla matrice di partenza: le righe diventano colonne e poi di nuovo righe. Con i simboli: ${}^t({}^tA) = A$. > > **La differenza tra la trasposta e la matrice.** Per una matrice quadrata, ${}^tA - A$ è la matrice nulla esattamente quando $A$ è simmetrica. Per questo alcuni problemi d'esame chiedono di calcolarla (la trovi in «Verso l'esame»). In più ${}^tA - A$ è sempre antisimmetrica. > > **Ogni matrice quadrata è la somma di una simmetrica e di un'antisimmetrica** (Martelli, Esempio 2.3.33). La formula è questa: > $$A = \underbrace{\frac{A + {}^tA}2}_{\text{simmetrica}} + \underbrace{\frac{A - {}^tA}2}_{\text{antisimmetrica}}.$$ > Proviamo con una matrice $2 \times 2$ e la sua trasposta: > $$A = \begin{pmatrix} 1 & 2 \\ 4 & 3 \end{pmatrix} \qquad {}^tA = \begin{pmatrix} 1 & 4 \\ 2 & 3 \end{pmatrix}$$ > Primo pezzo: sommo le due matrici e divido ogni casella per 2. > $$A + {}^tA = \begin{pmatrix} 2 & 6 \\ 6 & 6 \end{pmatrix} \qquad \frac{A + {}^tA}2 = \begin{pmatrix} 1 & 3 \\ 3 & 3 \end{pmatrix}$$ > Secondo pezzo: sottraggo e divido ogni casella per 2. > $$A - {}^tA = \begin{pmatrix} 0 & -2 \\ 2 & 0 \end{pmatrix} \qquad \frac{A - {}^tA}2 = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$$ > Il primo pezzo è una matrice simmetrica, il secondo è antisimmetrica. Sommati ridanno la matrice di partenza: > $$\begin{pmatrix} 1 & 3 \\ 3 & 3 \end{pmatrix} + \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 2 \\ 4 & 3 \end{pmatrix}$$ > L'esercizio 5 rifà lo stesso conto con una matrice $3 \times 3$. ### Vettori scritti in riga: la piccola t Un vettore colonna occupa tanto spazio sulla pagina: tre numeri, tre righe di testo. Per risparmiare spazio lo si scrive in riga, con una piccola $t$ davanti: $${}^t(1, 2, 3) = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}$$ La $t$ è quella della trasposta. Dice: «prendi questa riga e girala», cioè mettila in verticale. Negli appelli questa scrittura è dappertutto. Trovi per esempio «$v_1 = {}^t(1, 0, -1)$». Vuol dire sempre la stessa cosa: il vettore **colonna** con quei numeri, letti dall'alto in basso. ::: prova La matrice $\begin{pmatrix} 1 & 2 \\ 2 & 5 \end{pmatrix}$ è simmetrica? E la matrice $\begin{pmatrix} 1 & 2 \\ 3 & 1 \end{pmatrix}$? La prima sì. Fuori dalla diagonale ci sono due caselle, una il ribaltamento dell'altra, e contengono tutte e due 2. La seconda no. Nella riga 1 e colonna 2 c'è 2, nella riga 2 e colonna 1 c'è 3. Sono diversi. ::: ::: prova Una matrice ha taglia $2 \times 4$. Che taglia ha la sua trasposta? $4 \times 2$. Le 2 righe diventano 2 colonne, le 4 colonne diventano 4 righe. ::: ::: prova Scrivi in verticale il vettore ${}^t(7, -2, 0)$. È il vettore colonna $\begin{pmatrix} 7 \\ -2 \\ 0 \end{pmatrix}$: il primo numero in alto, l'ultimo in basso. ::: > [!RICORDA] > - La **trasposta** ${}^tA$ si ottiene scambiando righe e colonne. Una matrice $m \times n$ diventa $n \times m$. > - La regola degli indirizzi: $({}^tA)_{ij} = A_{ji}$. > - Una matrice quadrata è **simmetrica** se ${}^tA = A$, **antisimmetrica** se ${}^tA = -A$. > - ${}^t(1, 2, 3)$ è un vettore colonna scritto in riga per risparmiare spazio. ## Il rango: quante colonne contano davvero (p. 37) Una tabella può essere grande e dire poco. Guarda il listino di una cartoleria che vende quaderni e penne in tre confezioni. | | quaderni | penne | |---|---|---| | confezione piccola | 1 | 2 | | confezione media | 2 | 4 | | confezione grande | 3 | 6 | Le righe sono tre, ma la seconda e la terza non dicono niente di nuovo. La confezione media è fatta di due confezioni piccole. La confezione grande è fatta di tre confezioni piccole. Chi conosce la prima riga può ricostruire le altre due. Adesso guarda le colonne. In ogni confezione le penne sono il doppio dei quaderni. Quindi la colonna delle penne è la colonna dei quaderni moltiplicata per 2. Anche qui: chi conosce la prima colonna può ricostruire la seconda. In questa tabella c'è **un solo** pezzo di informazione, sia guardando le righe sia guardando le colonne. Il numero che conta i pezzi di informazione di una matrice si chiama **rango**. Il rango di questa tabella è 1. > [!IDEA] > Il **rango** di una matrice è il numero di colonne che dicono davvero qualcosa di nuovo: quelle che non si possono ottenere mescolando le altre. Se al posto delle colonne conti le righe, viene lo stesso numero. Il rango serve in quasi tutto il resto del corso. Nelle lezioni L11 e L12 dice quante soluzioni ha un sistema di equazioni. Nella lezione L14 dice quanto «spazio» riesce a produrre una macchina che trasforma vettori. All'esame c'è quasi sempre una domanda che chiede il rango di una matrice. Per dire in modo preciso che cosa vuol dire «mescolare» e «qualcosa di nuovo» servono quattro parole delle lezioni precedenti. > [!RIPASSO] quattro parole delle lezioni L06 e L07 > **Combinazione lineare** (lezione L06). È una ricetta: prendi dei vettori, moltiplichi ognuno per un numero e sommi i risultati. Per esempio «2 parti del primo vettore più 3 parti del secondo»: > $$2 \cdot (1, 0) + 3 \cdot (0, 1) = (2, 0) + (0, 3) = (2, 3)$$ > > **Span** (lezione L06). Lo Span di alcuni vettori è l'insieme di tutto quello che si ottiene con le loro ricette. Lo Span di un solo vettore, che non sia fatto di soli zeri, contiene tutti i suoi multipli: è una retta. Lo Span di due vettori che non stanno sulla stessa retta è un piano. > > **Dipendenti e indipendenti** (lezione L07). Dei vettori sono **dipendenti** quando almeno uno è un doppione: si ottiene con una ricetta fatta con gli altri. Sono **indipendenti** quando nessuno è un doppione. Per due vettori il controllo è rapido: sono dipendenti esattamente quando uno è un multiplo dell'altro. > > **Dimensione** (lezione L07). È il numero di vettori indipendenti che servono per ottenere tutto uno spazio. Una retta ha dimensione 1, un piano ha dimensione 2, lo spazio in cui viviamo ha dimensione 3. ### Un esempio da guardare in figura Prendiamo questa matrice: $$A = \begin{pmatrix} 2 & 4 & -2 \\ 1 & 2 & -1 \end{pmatrix}$$ Le colonne sono tre. Ognuna ha 2 numeri, quindi è un vettore di $\R^2$: una freccia disegnata sul piano, che parte dall'origine. | Colonna | Vettore | Confronto con la prima colonna | |---|---|---| | $A^1$ | $(2, 1)$ | | | $A^2$ | $(4, 2)$ | è la prima moltiplicata per $2$ | | $A^3$ | $(-2, -1)$ | è la prima moltiplicata per $-1$ | Guarda la figura. Le tre frecce stanno tutte sulla stessa retta, quella tratteggiata. La seconda colonna è la prima allungata del doppio. La terza è la prima girata dalla parte opposta. ```grafico titolo: Le tre colonne di $A$ stanno sulla stessa retta: lo spazio che generano ha dimensione 1 x: -3 5 y: -2 3 retta: 0 0 2 1 | grigio | tratteggio vettore: 4 2 | blu | $A^2$ | ne vettore: 2 1 | accento | spesso | $A^1$ | no vettore: -2 -1 | viola | $A^3$ | so ``` Che cosa si ottiene con le ricette fatte con queste tre colonne? Solo multipli della prima, cioè punti di quella retta. Lo Span delle tre colonne è la retta tratteggiata. Una retta ha dimensione 1. Quindi il rango di $A$ è 1: tre colonne, ma un solo pezzo di informazione. Per confronto, guarda una matrice con due colonne che **non** stanno sulla stessa retta: $$B = \begin{pmatrix} 2 & -1 \\ 1 & 2 \end{pmatrix}$$ ```grafico titolo: Le due colonne di $B$ puntano in direzioni diverse: insieme riempiono tutto il piano x: -3 5 y: -2 3 vettore: 2 1 | accento | spesso | $B^1$ | ne vettore: -1 2 | blu | $B^2$ | no ``` Qui nessuna delle due colonne è un multiplo dell'altra. Con le ricette fatte con queste due frecce si raggiunge ogni punto del piano. Lo Span delle colonne è tutto il piano, che ha dimensione 2. Quindi il rango di $B$ è 2. ### Come lo scrivono le dispense Le dispense dicono la stessa cosa con i simboli. > [!DEF] 8.3 · Rango > Sia $A$ una matrice $m \times n$ a coefficienti in $\K$, con colonne $A^1, \dots, A^n$; ciascun $A^i$ è un vettore in $\K^m$. Il **rango** di $A$ (o **rango per colonne** di $A$) è la dimensione dello spazio > $$\Span(A^1, \dots, A^n) \subset \K^m.$$ > Viene comunemente indicato con $\rk(A)$. **Come si legge.** - $A^1, \dots, A^n$ è l'elenco delle colonne. La prima si chiama $A^1$, l'ultima $A^n$, e sono $n$ in tutto. I numeri in alto sono indici, non potenze. - «Ciascun $A^i$ è un vettore in $\K^m$»: ogni colonna ha $m$ numeri, uno per ogni riga della matrice. - $\Span(A^1, \dots, A^n)$ è l'insieme di tutto quello che si ottiene mescolando le colonne con delle ricette. - Il simbolo $\subset$ si legge «è contenuto in». Lo Span delle colonne è un pezzo di $\K^m$: può essere una retta, un piano, oppure tutto. - $\rk(A)$ si legge «rango di $A$». Le due lettere vengono dall'inglese *rank*. Tutta insieme: il rango è la dimensione dello spazio che le colonne riescono a riempire. Nel primo esempio le colonne riempiono solo una retta, e il rango è 1. Nel secondo riempiono tutto il piano, e il rango è 2. ### Un altro modo di dirlo: contare le colonne indipendenti Torna alla matrice $A$ con le tre colonne sulla stessa retta. Quante colonne indipendenti riesci a scegliere, al massimo? Una sola: appena ne prendi due, una è un multiplo dell'altra. E il rango era proprio 1. Nella matrice $B$ le due colonne sono indipendenti, e il rango era 2. Non è un caso. > [!PROP] 8.4 > Il rango di $A$ è il massimo numero di colonne linearmente indipendenti di $A$. **Come si legge.** «Linearmente indipendenti» è il nome completo di «indipendenti»: nessuna colonna è un doppione delle altre. Guarda tutti i gruppi di colonne indipendenti che puoi scegliere, e prendi il gruppo più numeroso. Il numero delle sue colonne è il rango. Il perché, a parole. Se tra le colonne c'è un doppione, puoi toglierlo senza perdere niente: tutto quello che si otteneva usandolo si ottiene anche con le altre colonne. Togli un doppione alla volta. Quando non ce ne sono più, le colonne rimaste sono indipendenti e riempiono ancora lo stesso spazio di prima. Il loro numero è la dimensione di quello spazio, cioè il rango. > [!DIM] della Proposizione 8.4 > Le dispense la ricavano «con un'osservazione della lezione 7». Ecco i passi. > > 1. Chiamiamo $W$ lo Span delle colonne. Le colonne **generano** $W$: ogni vettore di $W$ è una loro combinazione lineare, per come è fatto lo Span. > 2. Se le colonne sono dipendenti, una di loro è combinazione lineare delle altre (Proposizione 7.2). La togliamo. Lo Span non cambia: ogni ricetta che usava quella colonna si riscrive usando le altre. > 3. Ripetiamo il passo 2 finché le colonne rimaste sono indipendenti. > 4. Le colonne rimaste sono indipendenti e generano $W$. Quindi sono una **base** di $W$ (lezione L07), e il loro numero è la dimensione di $W$, cioè $\rk(A)$. > 5. Un gruppo di colonne indipendenti più numeroso non esiste: in uno spazio di dimensione $d$, più di $d$ vettori sono sempre dipendenti (Martelli, §2.3). > > Quindi il massimo numero di colonne indipendenti è proprio la dimensione di $W$. Martelli chiama questa procedura **algoritmo di estrazione** di una base da un insieme di generatori. ### Le righe al posto delle colonne Tutto quello che abbiamo fatto con le colonne si può rifare con le righe. Torna alla matrice $A$ di prima: $$A = \begin{pmatrix} 2 & 4 & -2 \\ 1 & 2 & -1 \end{pmatrix}$$ Le righe sono due. La prima è il doppio della seconda: $2 \cdot 1 = 2$, poi $2 \cdot 2 = 4$, poi $2 \cdot (-1) = -2$. Quindi anche tra le righe c'è un solo pezzo di informazione. > [!DEF] 8.5 · Rango per righe > Definiamo il **rango per righe** di $A$ come la dimensione dello spazio generato dalle righe > $$\Span(A_1, \dots, A_m) \subset \K^n.$$ > In altre parole, il rango per righe di $A$ è il rango della trasposta ${}^tA$. **Come si legge.** - $A_1, \dots, A_m$ è l'elenco delle righe. Sono $m$ e hanno l'indice in basso. - Ogni riga ha $n$ numeri, uno per ogni colonna. Per questo lo Span delle righe è contenuto in $\K^n$. - «In altre parole»: le righe di una matrice sono le colonne della sua trasposta. Quindi contare le righe indipendenti di $A$ è come contare le colonne indipendenti di ${}^tA$. A prima vista le righe e le colonne non hanno motivo di dare lo stesso numero. In una matrice $2 \times 5$ le colonne sono cinque vettori con 2 numeri. Le righe sono due vettori con 5 numeri. Sono oggetti diversi, che stanno in posti diversi. Eppure il conteggio viene sempre uguale. > [!PROP] 8.6 > Per ogni matrice $A$ il rango per righe è uguale al rango per colonne. Vale allora $\rk({}^tA) = \rk(A)$. **Come si legge.** Conta le righe indipendenti oppure le colonne indipendenti: viene lo stesso numero. La formula dice la stessa cosa usando la trasposta: una matrice e la sua trasposta hanno lo stesso rango. In pratica, quando devi calcolare un rango puoi guardare le righe oppure le colonne, come ti è più comodo. > [!ESEMPIO] · Righe e colonne di una matrice $2 \times 5$ > $$C = \begin{pmatrix} 1 & 2 & 0 & 1 & 3 \\ 2 & 4 & 1 & 0 & 5 \end{pmatrix}$$ > **Le righe.** Sono due: $C_1 = (1, 2, 0, 1, 3)$ e $C_2 = (2, 4, 1, 0, 5)$. Sono una il multiplo dell'altra? Guardo il terzo posto: la prima riga ha 0, la seconda ha 1. > > - La seconda riga non è un multiplo della prima: qualunque numero moltiplicato per 0 dà 0, mai 1. > - La prima riga non è un multiplo della seconda: per ottenere 0 da 1 dovrei moltiplicare per 0, ma allora tutta la riga diventerebbe zero. > > Le due righe sono indipendenti. Il rango per righe è 2. > > **Le colonne.** Sono cinque vettori con 2 numeri, cioè cinque frecce nel piano. Non possono essere indipendenti tutte e cinque: il piano ha dimensione 2, e lì più di due vettori sono sempre dipendenti. Ma due colonne indipendenti ci sono. Prendo la prima, che contiene 1 e 2, e la terza, che contiene 0 e 1. Guardo il numero in alto: 1 nella prima, 0 nella terza. Per lo stesso motivo di prima, nessuna delle due è un multiplo dell'altra. Il rango per colonne è 2. > > I due ranghi coincidono, come dice la Proposizione 8.6. ### Un tetto per il rango C'è una conseguenza che non ha bisogno di conti. Il rango conta colonne indipendenti: non possono essere più delle colonne che ci sono. Conta anche righe indipendenti: non possono essere più delle righe che ci sono. Quindi il rango non supera né il numero delle righe né quello delle colonne. Per una matrice con $m$ righe e $n$ colonne si scrive così: $$\rk(A) \le \min(m, n)$$ **Come si legge.** Il simbolo $\le$ si legge «minore o uguale». La scrittura $\min(m, n)$ si legge «il minimo tra $m$ e $n$»: è il più piccolo dei due numeri. Tutta insieme: il rango è al massimo il più piccolo tra il numero delle righe e il numero delle colonne. Due esempi. Una matrice $3 \times 5$ ha rango al massimo 3. Una matrice $4 \times 2$ ha rango al massimo 2. > [!OLTRE] · perché righe e colonne danno lo stesso rango > Le dispense non lo dimostrano in questa lezione. Il libro di Martelli (Proposizione 3.2.20) usa le **mosse di Gauss**, che vedrai nelle lezioni L11 e L12. Sono tre modi di cambiare le righe di una matrice che lasciano uguali sia il rango per righe sia il rango per colonne. Con queste mosse si arriva a una matrice «a scalini». Lì i due ranghi si leggono a occhio e sono uguali: tutti e due valgono il numero dei **pivot**, cioè dei primi numeri diversi da zero di ogni riga. > > Da qui viene anche il metodo pratico che userai all'esame: **il rango è il numero di righe non nulle di una riduzione a scalini**. ### Calcolare il rango a mano Per le matrici piccole, come quelle del quiz, spesso basta guardare bene. > [!METODO] Il rango senza mosse di Gauss > 1. Guarda se la matrice è fatta di soli zeri. Se sì, il rango è 0. Se c'è almeno un numero diverso da zero, il rango è almeno 1. > 2. Scrivi il tetto: il rango non supera il più piccolo tra il numero delle righe e quello delle colonne. > 3. Scegli se guardare le righe o le colonne. Il rango è lo stesso: prendi le più comode. > 4. Cerca i doppioni: una riga di soli zeri, due righe uguali, una riga multipla di un'altra, una riga che è la somma di altre. Toglili: il rango non cambia. > 5. Controlla che le righe rimaste siano indipendenti. Se sono due, basta che non siano una il multiplo dell'altra. Se sono tre o più, serve il controllo della lezione L07. > 6. Conta le righe rimaste: è il rango. > [!ESEMPIO] · Quattro ranghi > **Prima matrice.** > $$I_3 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$$ > Le colonne sono i tre vettori $e_1$, $e_2$, $e_3$: ognuno ha un solo 1 e due zeri. Sono indipendenti (lezione L07, Esempio 7.5): nessuno si ottiene dagli altri due, perché ha un 1 proprio dove gli altri due hanno 0. Il rango è 3. > > **Seconda matrice.** > $$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$$ > La prima colonna contiene 1 e 3, la seconda contiene 2 e 4. La seconda è un multiplo della prima? In alto, per passare da 1 a 2 devo moltiplicare per 2. Ma allora in basso verrebbe $3 \cdot 2 = 6$, e invece c'è 4. Non sono multiple, quindi sono indipendenti. Il rango è 2. > > **Terza matrice.** > $$\begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 1 & 2 \end{pmatrix}$$ > La terza colonna è la somma delle prime due: > $$\begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix} + \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 1 + 0 \\ 0 + 1 \\ 1 + 1 \end{pmatrix} = \begin{pmatrix} 1 \\ 1 \\ 2 \end{pmatrix}$$ > Quindi è un doppione, e la tolgo. Le prime due colonne non sono una il multiplo dell'altra: in alto la prima ha 1 e la seconda ha 0, nel mezzo la prima ha 0 e la seconda ha 1. Restano 2 colonne indipendenti. Il rango è 2. > > **Quarta matrice.** > $$\begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}$$ > Qui conviene guardare le righe. La terza riga si ottiene dalle prime due: è due volte la seconda, meno la prima. > > | | primo numero | secondo numero | terzo numero | > |---|---|---|---| > | 2 volte la riga 2 | $2 \cdot 4 = 8$ | $2 \cdot 5 = 10$ | $2 \cdot 6 = 12$ | > | riga 1 | $1$ | $2$ | $3$ | > | differenza | $8 - 1 = 7$ | $10 - 2 = 8$ | $12 - 3 = 9$ | > > Viene $(7, 8, 9)$, che è proprio la terza riga: è un doppione, e la tolgo. Le prime due righe non sono una il multiplo dell'altra: per passare da 1 a 4 devo moltiplicare per 4, ma allora al secondo posto verrebbe $2 \cdot 4 = 8$, e invece c'è 5. Restano 2 righe indipendenti. Il rango è 2. Nello strumento qui sotto trovi la quarta matrice. Premi «Calcola». Lo strumento la trasforma con le mosse di Gauss, che vedrai nelle lezioni L10 e L11, e conta le righe che alla fine non sono fatte di soli zeri. Poi prova a scrivere altre matrici. Con `1 0 0; 0 1 0; 0 0 1` deve venire rango 3. Con `1 2; 2 4` deve venire rango 1. ```widget gauss titolo: Il rango di una matrice, con i passaggi matrice: 1 2 3; 4 5 6; 7 8 9 modo: rango modi: rango ``` > [!TRAPPOLA] Tre errori tipici sul rango > - Il rango **non** è il numero delle righe. E non è nemmeno il numero delle righe che contengono qualche numero diverso da zero. La quarta matrice dell'esempio ha tre righe piene di numeri, ma il suo rango è 2. > - Il rango non supera mai il più piccolo tra il numero delle righe e quello delle colonne. Una matrice $2 \times 5$ non può avere rango 5. > - Il controllo «non sono multipli» basta solo per **due** vettori. Tre vettori possono essere dipendenti anche se, presi a due a due, non sono multipli (lezione L07, Esempio 7.4). Succede nella terza e nella quarta matrice dell'esempio: non fermarti ai controlli a coppie. ::: prova Qual è il rango di $\begin{pmatrix} 1 & 3 \\ 2 & 6 \end{pmatrix}$? La seconda colonna è la prima moltiplicata per 3: $3 \cdot 1 = 3$ e $3 \cdot 2 = 6$. È un doppione. Resta una colonna sola, che non è fatta di zeri. Il rango è 1. ::: ::: prova Qual è il rango di $\begin{pmatrix} 1 & 1 & 0 \\ 2 & 2 & 0 \end{pmatrix}$? Guardo le righe: la seconda è il doppio della prima. Resta una riga sola. Il rango è 1. Con le colonne viene lo stesso numero: la seconda colonna è uguale alla prima, e la terza è fatta di zeri. ::: ::: prova Una matrice ha 4 righe e 3 colonne. Può avere rango 4? No. Il rango è al massimo il più piccolo tra 4 e 3, cioè 3. ::: ::: prova Qual è il rango di $\begin{pmatrix} 1 & 2 & 3 \\ 0 & 1 & 1 \\ 1 & 3 & 4 \end{pmatrix}$? La terza riga è la somma delle prime due: $1 + 0 = 1$, poi $2 + 1 = 3$, poi $3 + 1 = 4$. È un doppione. Le prime due righe non sono una il multiplo dell'altra: la prima comincia con 1, la seconda con 0. Il rango è 2. ::: > [!RICORDA] > - Il **rango** $\rk(A)$ è il massimo numero di colonne indipendenti. È la dimensione dello spazio che le colonne riempiono. > - Con le righe viene lo stesso numero: $\rk({}^tA) = \rk(A)$. > - Il rango è al massimo il più piccolo tra il numero delle righe e quello delle colonne. > - In pratica: togli i doppioni e conta quello che resta. ## Il prodotto riga per colonna (pp. 37–38) Moltiplicare due matrici è come fare il conto della spesa. È l'operazione più importante della lezione, e quella che all'esame compare più spesso. Non si fa casella per casella, come la somma. Si fa incrociando le righe della prima matrice con le colonne della seconda. > [!RIPASSO] una somma di prodotti > Un conto come $2 \cdot 4 + 3 \cdot 1$ è una *somma di prodotti*. Il puntino $\cdot$ è il segno «per». Si fanno **prima le moltiplicazioni e poi la somma**: > $$2 \cdot 4 + 3 \cdot 1 = 8 + 3 = 11$$ > Con i numeri negativi valgono le regole dei segni: più per meno fa meno, meno per meno fa più. Un numero negativo dopo il puntino si scrive tra parentesi. Due esempi: > $$1 \cdot (-1) + 2 \cdot 3 = -1 + 6 = 5 \qquad\qquad (-1) \cdot (-1) + 1 \cdot 3 = 1 + 3 = 4$$ ### Un conto solo: una riga per una colonna Anna compra 2 quaderni e 3 penne. Nel negozio X un quaderno costa 4 euro e una penna costa 1 euro. Quanto spende Anna? 1. Per i quaderni: 2 quaderni da 4 euro, cioè $2 \cdot 4 = 8$ euro. 2. Per le penne: 3 penne da 1 euro, cioè $3 \cdot 1 = 3$ euro. 3. In tutto: $8 + 3 = 11$ euro. Ora scrivi le quantità in riga e i prezzi in colonna. Il conto di prima diventa: $$\begin{pmatrix} 2 & 3 \end{pmatrix} \begin{pmatrix} 4 \\ 1 \end{pmatrix} = 2 \cdot 4 + 3 \cdot 1 = 11$$ Questa è la mossa di base: **una riga per una colonna**. Moltiplichi il primo numero della riga per il primo della colonna, il secondo per il secondo, e poi sommi tutto. Il risultato è un numero solo. Perché il conto si possa fare, la riga e la colonna devono contenere **lo stesso numero di numeri**: a ogni quantità deve corrispondere il suo prezzo. ### Tutti i conti insieme: una matrice per una matrice Adesso le persone sono due e i negozi sono due. La tabella degli **acquisti**: ogni riga è una persona, ogni colonna è un articolo. | | quaderni | penne | |---|---|---| | Anna | 2 | 3 | | Bruno | 1 | 5 | La tabella dei **prezzi**: ogni riga è un articolo, ogni colonna è un negozio. | | negozio X | negozio Y | |---|---|---| | quaderno | 4 | 3 | | penna | 1 | 2 | Quanto spende ciascuno in ciascun negozio? Sono quattro conti. Ogni conto è una riga degli acquisti (una persona) per una colonna dei prezzi (un negozio). | | negozio X | negozio Y | |---|---|---| | Anna | $2 \cdot 4 + 3 \cdot 1 = 11$ | $2 \cdot 3 + 3 \cdot 2 = 12$ | | Bruno | $1 \cdot 4 + 5 \cdot 1 = 9$ | $1 \cdot 3 + 5 \cdot 2 = 13$ | Con le matrici si scrive così: $$\begin{pmatrix} 2 & 3 \\ 1 & 5 \end{pmatrix} \begin{pmatrix} 4 & 3 \\ 1 & 2 \end{pmatrix} = \begin{pmatrix} 11 & 12 \\ 9 & 13 \end{pmatrix}$$ La matrice a destra dell'uguale è il **prodotto** delle due matrici a sinistra. Le due matrici si scrivono una accanto all'altra, senza nessun segno in mezzo. Guarda dove finisce ogni risultato. Il 12 sta nella riga 1 e nella colonna 2 del prodotto. Viene dalla riga 1 degli acquisti (Anna) e dalla colonna 2 dei prezzi (il negozio Y). Funziona così per ogni casella. > [!IDEA] > Per riempire la casella di riga $i$ e colonna $j$ del prodotto: prendi la riga $i$ della prima matrice e la colonna $j$ della seconda, e fai «riga per colonna». ### Quando si può fare, e di che taglia viene Guarda le etichette delle tre tabelle. | Tabella | Sulle righe | Sulle colonne | |---|---|---| | acquisti | le persone | gli articoli | | prezzi | gli articoli | i negozi | | spesa | le persone | i negozi | Il prodotto si può fare perché le **colonne** della prima tabella e le **righe** della seconda parlano delle stesse cose: gli articoli. Se Anna e Bruno comprassero anche le gomme, la tabella degli acquisti avrebbe 3 colonne. Allora alla tabella dei prezzi servirebbero 3 righe, una per articolo. Altrimenti a qualche quantità mancherebbe il prezzo. Il risultato prende le **righe** dalla prima tabella (le persone) e le **colonne** dalla seconda (i negozi). Gli articoli, che stavano in mezzo, non compaiono più. Con le taglie la regola diventa questa. Scrivi le due taglie una accanto all'altra, per esempio: $$(2 \times 3) \cdot (3 \times 4)$$ - I due numeri **interni**, quelli vicini al puntino, devono essere **uguali**. Qui sono 3 e 3: il prodotto si può fare. - I due numeri **esterni** danno la taglia del risultato. Qui sono 2 e 4: il prodotto è una matrice $2 \times 4$. Se i due numeri interni sono diversi, il prodotto **non esiste**. | Prima matrice | Seconda matrice | Numeri interni | Si può fare? | Taglia del prodotto | |---|---|---|---|---| | $2 \times 2$ | $2 \times 2$ | 2 e 2 | sì | $2 \times 2$ | | $3 \times 2$ | $2 \times 4$ | 2 e 2 | sì | $3 \times 4$ | | $2 \times 4$ | $3 \times 2$ | 4 e 3 | no | | | $2 \times 3$ | $3 \times 1$ | 3 e 3 | sì | $2 \times 1$ | ### Come lo scrivono le dispense Le dispense mettono tutto questo in una definizione sola: quando il prodotto si può fare, che taglia ha e come si calcola ogni casella. > [!DEF] 8.7 · Prodotto riga per colonna > Se $A$ è una matrice $m \times n$ e $B$ è una matrice $n \times p$, il prodotto $AB$ è una nuova matrice $m \times p$ definita nel modo seguente: l'elemento $(AB)_{ij}$ della nuova matrice $AB$ è > $$(AB)_{ij} = \sum_{k=1}^n A_{ik}B_{kj} = A_{i1}B_{1j} + \dots + A_{in}B_{nj}.$$ > Questo tipo di prodotto fra matrici si chiama **prodotto riga per colonna** perché l'elemento $(AB)_{ij}$ si ottiene facendo un opportuno prodotto fra la riga $i$-esima $A_i$ di $A$ e la colonna $j$-esima $B^j$ di $B$. **Come si legge.** - **Le taglie.** La prima matrice ha $m$ righe e $n$ colonne. La seconda ha $n$ righe e $p$ colonne. La lettera $n$ compare due volte: sono i due numeri interni, che devono essere uguali. Il prodotto ha $m$ righe e $p$ colonne, cioè i due numeri esterni. - $AB$ si legge «$A$ per $B$». - $(AB)_{ij}$ è il numero che il prodotto ha nella riga $i$ e nella colonna $j$. Le dispense lo chiamano **elemento**: è un altro nome per il numero che sta in una casella. - **Il simbolo $\sum$** è una sigma maiuscola, la S dell'alfabeto greco. Si legge «somma». Sotto c'è scritto da dove parte il contatore $k$, sopra dove arriva. Qui il contatore parte da 1 e arriva a $n$: scrivi il pezzo che segue con $k = 1$, poi con $k = 2$, e avanti fino a $n$. Poi sommi tutto. - $A_{ik}B_{kj}$ è un prodotto di due numeri: il numero di posto $k$ nella riga $i$ di $A$, per il numero di posto $k$ nella colonna $j$ di $B$. - Dopo il secondo uguale c'è la stessa somma scritta per esteso: il primo della riga per il primo della colonna, più il secondo per il secondo, e avanti fino all'ultimo. - «Riga $i$-esima» vuol dire «la riga numero $i$». La scrittura «-esima» è quella di «terza», «quarta», «quinta», con una lettera al posto del numero. Proviamo la formula sulla spesa. La casella di riga 1 e colonna 2 del prodotto è: $$(AB)_{12} = A_{11}B_{12} + A_{12}B_{22} = 2 \cdot 3 + 3 \cdot 2 = 12$$ Il contatore $k$ fa solo due passi, perché la riga ha due numeri. È lo stesso conto di Anna nel negozio Y. Lo schema qui sotto mostra dove va a finire un risultato. I puntini stanno al posto dei numeri che in quel momento non servono. $$\begin{pmatrix} \cdot & \cdot \\ a & b \\ \cdot & \cdot \end{pmatrix} \begin{pmatrix} \cdot & x & \cdot \\ \cdot & y & \cdot \end{pmatrix} = \begin{pmatrix} \cdot & \cdot & \cdot \\ \cdot & ax + by & \cdot \\ \cdot & \cdot & \cdot \end{pmatrix}$$ La riga 2 della prima matrice per la colonna 2 della seconda dà un numero. Quel numero va nella casella di riga 2 e colonna 2 del prodotto: **stessa riga della riga usata, stessa colonna della colonna usata**. > [!ESEMPIO] 8.8 · Una $3 \times 2$ per una $2 \times 4$ > $$A = \begin{pmatrix} 1 & 2 \\ -1 & 1 \\ 0 & 3 \end{pmatrix}, \qquad B = \begin{pmatrix} -1 & 2 & 0 & 1 \\ 3 & 0 & 3 & 0 \end{pmatrix}$$ > **Si può fare?** $A$ è $3 \times 2$ e $B$ è $2 \times 4$. I numeri interni sono 2 e 2: il prodotto $AB$ esiste. I numeri esterni sono 3 e 4: il prodotto è una matrice $3 \times 4$, con dodici caselle da riempire. > > **Che cosa serve.** Le righe di $A$ sono $(1, 2)$, $(-1, 1)$ e $(0, 3)$. Le colonne di $B$, lette dall'alto in basso, contengono $-1$ e $3$, poi $2$ e $0$, poi $0$ e $3$, poi $1$ e $0$. > > **I dodici conti.** In ogni casella: la riga di $A$ scritta a sinistra per la colonna di $B$ scritta in alto. > > | | colonna 1 | colonna 2 | colonna 3 | colonna 4 | > |---|---|---|---|---| > | riga 1 | $1 \cdot (-1) + 2 \cdot 3 = 5$ | $1 \cdot 2 + 2 \cdot 0 = 2$ | $1 \cdot 0 + 2 \cdot 3 = 6$ | $1 \cdot 1 + 2 \cdot 0 = 1$ | > | riga 2 | $(-1)(-1) + 1 \cdot 3 = 4$ | $(-1) \cdot 2 + 1 \cdot 0 = -2$ | $(-1) \cdot 0 + 1 \cdot 3 = 3$ | $(-1) \cdot 1 + 1 \cdot 0 = -1$ | > | riga 3 | $0 \cdot (-1) + 3 \cdot 3 = 9$ | $0 \cdot 2 + 3 \cdot 0 = 0$ | $0 \cdot 0 + 3 \cdot 3 = 9$ | $0 \cdot 1 + 3 \cdot 0 = 0$ | > > **Il risultato.** > $$AB = \begin{pmatrix} 1 & 2 \\ -1 & 1 \\ 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} -1 & 2 & 0 & 1 \\ 3 & 0 & 3 & 0 \end{pmatrix} = \begin{pmatrix} 5 & 2 & 6 & 1 \\ 4 & -2 & 3 & -1 \\ 9 & 0 & 9 & 0 \end{pmatrix}.$$ > Possiamo fare il prodotto $AB$ perché il numero di colonne di $A$ è pari al numero di righe di $B$. Viceversa, **non** possiamo fare il prodotto $BA$: il numero di colonne di $B$ è 4, mentre il numero di righe di $A$ è 3. Nello strumento qui sotto ci sono le due matrici dell'Esempio 8.8. Premi «Calcola» e confronta i dodici conti con la tabella. Poi scambia le due matrici: scrivi la seconda nel primo riquadro e la prima nel secondo. Lo strumento ti avvisa che il prodotto non si può fare. ```widget gauss titolo: Il prodotto riga per colonna, un elemento alla volta matrice: 1 2; -1 1; 0 3 b: -1 2 0 1; 3 0 3 0 modo: prodotto modi: prodotto ``` ::: prova Calcola la riga per colonna $\begin{pmatrix} 1 & 2 & 3 \end{pmatrix} \begin{pmatrix} 2 \\ 0 \\ 1 \end{pmatrix}$. Primo per primo, secondo per secondo, terzo per terzo, poi sommo: $1 \cdot 2 + 2 \cdot 0 + 3 \cdot 1 = 2 + 0 + 3 = 5$. ::: ::: prova $A$ è una matrice $3 \times 2$ e $B$ è una matrice $2 \times 5$. Si può fare $AB$? Di che taglia viene? E $BA$? Per $AB$ scrivo $(3 \times 2) \cdot (2 \times 5)$. I numeri interni sono 2 e 2: si può fare. I numeri esterni sono 3 e 5: viene una matrice $3 \times 5$. Per $BA$ scrivo $(2 \times 5) \cdot (3 \times 2)$. I numeri interni sono 5 e 3: sono diversi, quindi $BA$ non esiste. ::: ::: prova Calcola $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix}$. Riga 1 per colonna 1: $1 \cdot 1 + 2 \cdot 2 = 5$. Riga 1 per colonna 2: $1 \cdot 0 + 2 \cdot 1 = 2$. Riga 2 per colonna 1: $3 \cdot 1 + 4 \cdot 2 = 11$. Riga 2 per colonna 2: $3 \cdot 0 + 4 \cdot 1 = 4$. Il prodotto è $\begin{pmatrix} 5 & 2 \\ 11 & 4 \end{pmatrix}$. ::: ### Una matrice per un vettore C'è un caso speciale che userai moltissimo: la seconda matrice ha una sola colonna. Cioè è un vettore colonna. Le taglie dicono subito che cosa viene fuori. Una matrice $3 \times 2$ per un vettore con 2 numeri è $(3 \times 2) \cdot (2 \times 1)$. I numeri interni sono uguali, e il risultato è $3 \times 1$: un vettore colonna con 3 numeri. In breve: **matrice per vettore dà un vettore**. > [!ESEMPIO] 8.9 · Matrice per vettore > Se $A$ è una matrice $m \times n$ e $x$ è una matrice $n \times 1$, cioè un vettore colonna $x \in \K^n$, allora il prodotto $Ax$ è una matrice $m \times 1$, cioè un vettore colonna in $\K^m$. Ad esempio: > $$\begin{pmatrix} 1 & 2 \\ -1 & 1 \\ 0 & 3 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ -1 \end{pmatrix} = \begin{pmatrix} 1 \cdot 1 + 2 \cdot (-1) \\ (-1) \cdot 1 + 1 \cdot (-1) \\ 0 \cdot 1 + 3 \cdot (-1) \end{pmatrix} = \begin{pmatrix} -1 \\ -2 \\ -3 \end{pmatrix}.$$ > I tre conti, uno per ogni riga della matrice: > > | Riga della matrice | Riga per il vettore | Risultato | > |---|---|---| > | $(1, 2)$ | $1 \cdot 1 + 2 \cdot (-1) = 1 - 2$ | $-1$ | > | $(-1, 1)$ | $(-1) \cdot 1 + 1 \cdot (-1) = -1 - 1$ | $-2$ | > | $(0, 3)$ | $0 \cdot 1 + 3 \cdot (-1) = 0 - 3$ | $-3$ | > > La matrice ha 3 righe, quindi il risultato ha 3 numeri. Il vettore di partenza ne aveva 2. > [!OLTRE] · una matrice per un vettore è una ricetta fatta con le colonne > Guarda di nuovo l'Esempio 8.9, questa volta **per colonne**. Prendi 1 volta la prima colonna della matrice e $-1$ volte la seconda: > $$1 \cdot \begin{pmatrix} 1 \\ -1 \\ 0 \end{pmatrix} + (-1) \cdot \begin{pmatrix} 2 \\ 1 \\ 3 \end{pmatrix} = \begin{pmatrix} 1 - 2 \\ -1 - 1 \\ 0 - 3 \end{pmatrix} = \begin{pmatrix} -1 \\ -2 \\ -3 \end{pmatrix}.$$ > Viene lo stesso vettore di prima. Succede sempre: il prodotto di una matrice per un vettore è la **combinazione lineare delle colonne** della matrice, e le quantità della ricetta sono i numeri del vettore. Con le lettere: > $$Ax = x_1 A^1 + x_2 A^2 + \dots + x_n A^n.$$ > Qui $x_1, \dots, x_n$ sono i numeri del vettore $x$, e $A^1, \dots, A^n$ sono le colonne di $A$. > > Questo spiega due cose. La prima riguarda il rango: i vettori che si possono ottenere come $Ax$ sono tutte le ricette fatte con le colonne, cioè lo Span delle colonne. Il rango è la dimensione di questo Span. > > La seconda riguarda i sistemi di equazioni. Prendi il sistema > $$\begin{cases} 2x + 3y = 5 \\ x - y = 1 \end{cases}$$ > Si scrive in una riga sola con un prodotto: > $$\begin{pmatrix} 2 & 3 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} 5 \\ 1 \end{pmatrix}.$$ > Infatti la riga 1 della matrice per il vettore dà $2x + 3y$, e la riga 2 dà $x - y$: sono i lati sinistri delle due equazioni. In breve si scrive $Ax = b$ (Martelli, §3.4.2). Dalla lezione L11 i sistemi si scrivono così. È il motivo per cui il prodotto riga per colonna, che a prima vista sembra strano, è quello giusto. ::: prova Calcola $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \begin{pmatrix} 1 \\ 1 \end{pmatrix}$. Riga 1 per il vettore: $1 \cdot 1 + 2 \cdot 1 = 3$. Riga 2 per il vettore: $3 \cdot 1 + 4 \cdot 1 = 7$. Il risultato è il vettore colonna $\begin{pmatrix} 3 \\ 7 \end{pmatrix}$. ::: > [!RICORDA] > - **Riga per colonna**: primo per primo, secondo per secondo, poi si somma tutto. > - La casella di riga $i$ e colonna $j$ del prodotto è la riga $i$ della prima matrice per la colonna $j$ della seconda. > - Taglie: $(m \times n) \cdot (n \times p)$ dà $m \times p$. I numeri interni devono essere uguali, quelli esterni danno la taglia. > - Una matrice per un vettore dà un vettore. ## Nel prodotto l'ordine conta (pp. 38–39) Con i numeri l'ordine di una moltiplicazione non conta: tre per cinque e cinque per tre fanno tutti e due quindici. Con le matrici non è più così. La proprietà «l'ordine non conta» si chiama **commutativa** (lezione L01). Il prodotto di matrici **non è commutativo**. È il tranello più usato nei quiz d'esame, quindi vale la pena di guardarlo bene. Prendi due matrici $A$ e $B$. Il prodotto con $A$ a sinistra si scrive $AB$. Quello con $B$ a sinistra si scrive $BA$. Quando scambi le due matrici possono succedere tre cose. **Primo caso: uno dei due prodotti non esiste.** È quello che succede nell'Esempio 8.8. Lì $A$ è $3 \times 2$ e $B$ è $2 \times 4$, e $AB$ si può fare. Per $BA$ le taglie sono $(2 \times 4) \cdot (3 \times 2)$: i numeri interni sono 4 e 3, quindi il prodotto non esiste. **Secondo caso: esistono tutti e due, ma hanno taglie diverse.** Se $A$ è $3 \times 2$ e $B$ è $2 \times 3$, allora $AB$ è una matrice $3 \times 3$ e $BA$ è una matrice $2 \times 2$. Due matrici di taglia diversa non possono essere uguali. È l'Esercizio 8.15 delle dispense, che qui trovi come esercizio 6. **Terzo caso: stessa taglia, numeri diversi.** Se $A$ e $B$ sono quadrate della stessa taglia, i due prodotti esistono e hanno la stessa taglia. Ma di solito contengono numeri diversi. Proviamo con le due tabelle della spesa. Con gli acquisti a sinistra e i prezzi a destra avevamo trovato: $$\begin{pmatrix} 2 & 3 \\ 1 & 5 \end{pmatrix} \begin{pmatrix} 4 & 3 \\ 1 & 2 \end{pmatrix} = \begin{pmatrix} 11 & 12 \\ 9 & 13 \end{pmatrix}$$ Adesso mettiamo i prezzi a sinistra e gli acquisti a destra: $$\begin{pmatrix} 4 & 3 \\ 1 & 2 \end{pmatrix} \begin{pmatrix} 2 & 3 \\ 1 & 5 \end{pmatrix} = \begin{pmatrix} 4 \cdot 2 + 3 \cdot 1 & 4 \cdot 3 + 3 \cdot 5 \\ 1 \cdot 2 + 2 \cdot 1 & 1 \cdot 3 + 2 \cdot 5 \end{pmatrix} = \begin{pmatrix} 11 & 27 \\ 4 & 13 \end{pmatrix}$$ È un'altra matrice. Del resto questo secondo conto, per la spesa, non ha nemmeno un significato: incrocia i negozi con le persone al posto degli articoli. Le dispense fanno un esempio ancora più piccolo, con matrici quasi vuote. > [!ESEMPIO] 8.10 · $AB \neq BA$ > Le dispense prendono queste due matrici $2 \times 2$: > $$A = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \qquad B = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}$$ > I due prodotti esistono tutti e due, perché le matrici sono quadrate e della stessa taglia. > > **Il prodotto $AB$.** Le righe di $A$ per le colonne di $B$. > > | | colonna 1 di $B$ | colonna 2 di $B$ | > |---|---|---| > | riga 1 di $A$ | $1 \cdot 0 + 0 \cdot 0 = 0$ | $1 \cdot 1 + 0 \cdot 0 = 1$ | > | riga 2 di $A$ | $0 \cdot 0 + 0 \cdot 0 = 0$ | $0 \cdot 1 + 0 \cdot 0 = 0$ | > > **Il prodotto $BA$.** Le righe di $B$ per le colonne di $A$. > > | | colonna 1 di $A$ | colonna 2 di $A$ | > |---|---|---| > | riga 1 di $B$ | $0 \cdot 1 + 1 \cdot 0 = 0$ | $0 \cdot 0 + 1 \cdot 0 = 0$ | > | riga 2 di $B$ | $0 \cdot 1 + 0 \cdot 0 = 0$ | $0 \cdot 0 + 0 \cdot 0 = 0$ | > > **Il confronto.** > $$AB = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} = B, \qquad BA = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix} = 0,$$ > quindi $AB \neq BA$. Il simbolo $\neq$ si legge «diverso da». Lo $0$ dopo l'ultimo uguale è la matrice nulla, quella fatta di soli zeri. L'esempio mostra anche altre due cose che con i numeri non succedono mai. > [!RIPASSO] due regole dei numeri che qui si perdono > **Se un prodotto di due numeri fa zero, almeno uno dei due è zero.** Per esempio da $3 \cdot x = 0$ si ricava che $x$ è 0. > > **Si può dividere.** Se $a \cdot b = b$ e $b$ non è zero, dividendo tutti e due i lati per $b$ si ricava che $a$ è 1. > [!TRAPPOLA] Con le matrici non si «semplifica» > - **Un prodotto può essere nullo anche se nessun fattore lo è.** Nell'Esempio 8.10 $BA$ è la matrice nulla. Ma né $A$ né $B$ sono la matrice nulla: tutte e due contengono un 1. > - **Non si può «dividere» per una matrice.** Nell'esempio $AB = B$. Con i numeri si dividerebbe per $B$ e si concluderebbe che $A$ «vale 1». Qui no: $A$ non è la matrice che nel prodotto non cambia niente. Quella si chiama matrice identità, e la trovi più sotto. > - **L'ordine dei fattori va sempre rispettato.** Il quadrato di una somma è $(A + B)(A + B) = A^2 + AB + BA + B^2$, dove $A^2$ vuol dire $A$ per $A$. Di solito **non** è uguale ad $A^2 + 2AB + B^2$, perché $AB$ e $BA$ sono diversi (esercizio 9). ### Le regole che restano vere Tre regole dei numeri valgono anche per le matrici. Prima le controlliamo su un esempio. > [!ESEMPIO] · Parentesi, somme e numeri: tre controlli > $$A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix} \qquad B = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix} \qquad C = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$$ > **Primo controllo: le parentesi si possono spostare.** Le parentesi dicono quale prodotto va fatto per primo. Vogliamo vedere che $(AB)C$ e $A(BC)$ danno la stessa matrice. > > Prima strada. Calcolo $AB$: > $$AB = \begin{pmatrix} 1 \cdot 1 + 2 \cdot 1 & 1 \cdot 0 + 2 \cdot 1 \\ 0 \cdot 1 + 1 \cdot 1 & 0 \cdot 0 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 3 & 2 \\ 1 & 1 \end{pmatrix}$$ > Poi moltiplico il risultato per $C$: > $$(AB)C = \begin{pmatrix} 3 \cdot 0 + 2 \cdot 1 & 3 \cdot 1 + 2 \cdot 0 \\ 1 \cdot 0 + 1 \cdot 1 & 1 \cdot 1 + 1 \cdot 0 \end{pmatrix} = \begin{pmatrix} 2 & 3 \\ 1 & 1 \end{pmatrix}$$ > Seconda strada. Calcolo $BC$: > $$BC = \begin{pmatrix} 1 \cdot 0 + 0 \cdot 1 & 1 \cdot 1 + 0 \cdot 0 \\ 1 \cdot 0 + 1 \cdot 1 & 1 \cdot 1 + 1 \cdot 0 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix}$$ > Poi moltiplico $A$ per il risultato: > $$A(BC) = \begin{pmatrix} 1 \cdot 0 + 2 \cdot 1 & 1 \cdot 1 + 2 \cdot 1 \\ 0 \cdot 0 + 1 \cdot 1 & 0 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 2 & 3 \\ 1 & 1 \end{pmatrix}$$ > Le due strade danno la stessa matrice. > > **Secondo controllo: moltiplicare per una somma.** Vogliamo vedere che $A(B + C)$ e $AB + AC$ danno la stessa matrice. > > Prima strada. Sommo $B$ e $C$ casella per casella, poi moltiplico $A$ per la somma: > $$B + C = \begin{pmatrix} 1 & 1 \\ 2 & 1 \end{pmatrix} \qquad A(B + C) = \begin{pmatrix} 1 \cdot 1 + 2 \cdot 2 & 1 \cdot 1 + 2 \cdot 1 \\ 0 \cdot 1 + 1 \cdot 2 & 0 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 5 & 3 \\ 2 & 1 \end{pmatrix}$$ > Seconda strada. $AB$ l'ho già. Calcolo $AC$ e poi sommo: > $$AC = \begin{pmatrix} 1 \cdot 0 + 2 \cdot 1 & 1 \cdot 1 + 2 \cdot 0 \\ 0 \cdot 0 + 1 \cdot 1 & 0 \cdot 1 + 1 \cdot 0 \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ 1 & 0 \end{pmatrix}$$ > $$AB + AC = \begin{pmatrix} 3 + 2 & 2 + 1 \\ 1 + 1 & 1 + 0 \end{pmatrix} = \begin{pmatrix} 5 & 3 \\ 2 & 1 \end{pmatrix}$$ > Anche qui le due strade danno la stessa matrice. > > **Terzo controllo: un numero si può spostare.** Moltiplico per 2 in due modi. Il doppio del prodotto $AB$ è > $$2(AB) = 2 \begin{pmatrix} 3 & 2 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 6 & 4 \\ 2 & 2 \end{pmatrix}$$ > Se invece raddoppio prima $A$ e poi moltiplico per $B$: > $$2A = \begin{pmatrix} 2 & 4 \\ 0 & 2 \end{pmatrix} \qquad (2A)B = \begin{pmatrix} 2 \cdot 1 + 4 \cdot 1 & 2 \cdot 0 + 4 \cdot 1 \\ 0 \cdot 1 + 2 \cdot 1 & 0 \cdot 0 + 2 \cdot 1 \end{pmatrix} = \begin{pmatrix} 6 & 4 \\ 2 & 2 \end{pmatrix}$$ > Stessa matrice. Le dispense raccolgono queste tre regole in una proposizione. > [!PROP] 8.11 > Per ogni $A, B, C$ matrici per cui i prodotti e le somme abbiano senso e per ogni $\lambda \in \K$, abbiamo > 1. $A(BC) = (AB)C$ (associatività), > 2. $A(B + C) = AB + AC$ e $(A + B)C = AC + BC$ (distributività), > 3. $\lambda(AB) = (\lambda A)B = A(\lambda B)$. **Come si legge.** - «Per cui i prodotti e le somme abbiano senso»: le taglie devono andare d'accordo. In ogni prodotto i numeri interni devono essere uguali, e si sommano solo matrici della stessa taglia. - $\lambda \in \K$ vuol dire che $\lambda$ è un numero qualsiasi. - **Riga 1, associatività.** In un prodotto di tre matrici puoi cominciare da dove vuoi: dal prodotto delle ultime due oppure dal prodotto delle prime due. Per questo si scrive $ABC$ senza parentesi. Attenzione: si spostano le parentesi, **non le lettere**. $ABC$ e $ACB$ sono due cose diverse. - **Riga 2, distributività.** Moltiplicare per una somma è come moltiplicare per i due pezzi e poi sommare. Le versioni sono due perché l'ordine conta. Nella prima $A$ moltiplica da sinistra e resta a sinistra. Nella seconda $C$ moltiplica da destra e resta a destra. - **Riga 3.** Un numero si può mettere dove si vuole: davanti a tutto, dentro la prima matrice o dentro la seconda. Solo le matrici devono restare in ordine. > [!DIM] della Proposizione 8.11, punti (1) e (2) > Seguiamo Martelli (Proposizione 3.4.2). L'idea è confrontare i due lati **una casella alla volta**, con la formula del prodotto. > > **Distributività.** Guardiamo la casella di riga $i$ e colonna $j$ di $A(B + C)$. > > 1. Per la formula del prodotto, è la somma dei numeri $A_{ik}(B + C)_{kj}$ al variare del contatore $k$. > 2. La somma di matrici si fa casella per casella: $(B + C)_{kj} = B_{kj} + C_{kj}$. > 3. Tra numeri vale la proprietà distributiva: $A_{ik}(B_{kj} + C_{kj}) = A_{ik}B_{kj} + A_{ik}C_{kj}$. > 4. I primi pezzi, sommati, danno la casella di $AB$. I secondi pezzi, sommati, danno la casella di $AC$. > > In una riga: > $$(A(B + C))_{ij} = \sum_k A_{ik}(B + C)_{kj} = \sum_k A_{ik}B_{kj} + \sum_k A_{ik}C_{kj} = (AB)_{ij} + (AC)_{ij}.$$ > **Associatività.** Si scrivono tutti e due i lati come somme doppie, cioè con due contatori $k$ e $h$: > $$(A(BC))_{ij} = \sum_k A_{ik}(BC)_{kj} = \sum_k \sum_h A_{ik}B_{kh}C_{hj},$$ > $$((AB)C)_{ij} = \sum_h (AB)_{ih}C_{hj} = \sum_h \sum_k A_{ik}B_{kh}C_{hj}.$$ > Sono le stesse somme di prodotti $A_{ik}B_{kh}C_{hj}$, su tutte le coppie $(k, h)$, solo in ordine diverso. Quindi i due lati sono uguali. > > **Il punto (3).** La casella di riga $i$ e colonna $j$ di $\lambda(AB)$ è $\lambda$ per la somma dei prodotti $A_{ik}B_{kj}$. Tra numeri, $\lambda$ si può portare dentro la somma e attaccare al primo fattore oppure al secondo: > $$\lambda \sum_k A_{ik}B_{kj} = \sum_k (\lambda A_{ik})B_{kj} = \sum_k A_{ik}(\lambda B_{kj}).$$ > La seconda scrittura è la casella di $(\lambda A)B$, la terza è la casella di $A(\lambda B)$. ### La trasposta di un prodotto: l'ordine si rovescia C'è un'ultima regola in cui l'ordine conta, e nei quiz viene chiesta. Riguarda la trasposta di un prodotto. Le dispense la lasciano come esercizio (Esercizio 8.14): la trasposta di $AB$ è il prodotto delle due trasposte, ma **in ordine rovesciato**. $${}^t(AB) = {}^tB\,{}^tA$$ **Come si legge.** A sinistra: fai il prodotto e poi giri il risultato. A destra: giri le due matrici e poi le moltiplichi, mettendo per prima la trasposta di $B$. > [!ESEMPIO] · Un controllo con i numeri > $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \qquad B = \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix}$$ > **Lato sinistro.** Prima il prodotto, poi la trasposta: > $$AB = \begin{pmatrix} 1 \cdot 0 + 2 \cdot 1 & 1 \cdot 1 + 2 \cdot 1 \\ 3 \cdot 0 + 4 \cdot 1 & 3 \cdot 1 + 4 \cdot 1 \end{pmatrix} = \begin{pmatrix} 2 & 3 \\ 4 & 7 \end{pmatrix} \qquad {}^t(AB) = \begin{pmatrix} 2 & 4 \\ 3 & 7 \end{pmatrix}$$ > **Lato destro.** Prima le due trasposte: > $${}^tB = \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix} \qquad {}^tA = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix}$$ > Qui ${}^tB$ è uguale a $B$, perché $B$ è simmetrica. Poi il prodotto, con ${}^tB$ a sinistra: > $${}^tB\,{}^tA = \begin{pmatrix} 0 \cdot 1 + 1 \cdot 2 & 0 \cdot 3 + 1 \cdot 4 \\ 1 \cdot 1 + 1 \cdot 2 & 1 \cdot 3 + 1 \cdot 4 \end{pmatrix} = \begin{pmatrix} 2 & 4 \\ 3 & 7 \end{pmatrix}$$ > I due lati sono uguali. > > **Nell'ordine sbagliato.** Con ${}^tA$ a sinistra viene un'altra matrice: > $${}^tA\,{}^tB = \begin{pmatrix} 1 \cdot 0 + 3 \cdot 1 & 1 \cdot 1 + 3 \cdot 1 \\ 2 \cdot 0 + 4 \cdot 1 & 2 \cdot 1 + 4 \cdot 1 \end{pmatrix} = \begin{pmatrix} 3 & 4 \\ 4 & 6 \end{pmatrix}$$ Il motivo del rovesciamento si vede già dalle taglie. Se $A$ è $3 \times 2$ e $B$ è $2 \times 4$, le trasposte sono $2 \times 3$ e $4 \times 2$. Nell'ordine rovesciato le taglie sono $(4 \times 2) \cdot (2 \times 3)$, e il prodotto si può fare. Nell'ordine di partenza sarebbero $(2 \times 3) \cdot (4 \times 2)$, e il prodotto non esiste nemmeno. La dimostrazione completa è nell'esercizio 11. > [!OLTRE] · la matrice identità e le potenze > **La matrice identità.** È la matrice quadrata con 1 sulla diagonale e 0 in tutte le altre caselle. Si indica con $I_n$, dove $n$ è il numero delle righe: > $$I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \qquad I_3 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$$ > Nel prodotto fa la parte del numero 1: moltiplicare per lei non cambia niente. Un controllo: > $$\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 5 & 7 \\ 2 & 9 \end{pmatrix} = \begin{pmatrix} 1 \cdot 5 + 0 \cdot 2 & 1 \cdot 7 + 0 \cdot 9 \\ 0 \cdot 5 + 1 \cdot 2 & 0 \cdot 7 + 1 \cdot 9 \end{pmatrix} = \begin{pmatrix} 5 & 7 \\ 2 & 9 \end{pmatrix}$$ > Con i simboli: $I_n A = A I_n = A$ per ogni matrice quadrata $A$ con $n$ righe (Martelli, Proposizione 3.4.4). Le dispense introducono la matrice identità nella lezione L09 (Definizione 9.4). > > **Le potenze.** Una matrice quadrata si può moltiplicare per sé stessa. $A^2$ vuol dire $A$ per $A$, $A^3$ vuol dire $A$ per $A$ per $A$, e avanti così. Per esempio: > $$A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}, \quad A^2 = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}, \quad A^3 = A^2 A = \begin{pmatrix} 1 & 3 \\ 0 & 1 \end{pmatrix}.$$ > I conti, casella per casella, sono nell'esercizio 9. In Matematica Discreta vedrai che le matrici quadrate, con la somma e il prodotto, formano un **anello non commutativo** (se hanno almeno 2 righe). > [!METODO] «Quale identità vale?» > È una domanda d'esame molto frequente. Ti danno due matrici quadrate $A$ e $B$, di solito $3 \times 3$, e cinque uguaglianze: $AB = BA$, $AB = A$, $AB = B$, $BA = A$, $BA = B$. Una sola è vera. > > 1. Calcola $AB$ una riga alla volta: sono nove conti. Le matrici hanno quasi sempre molti 0 e molti 1: sfruttali. > 2. Confronta $AB$ con $A$ e con $B$. > 3. Se non è uguale a nessuna delle due, calcola $BA$. Confrontala con $A$, con $B$ e con $AB$. > 4. Per **scartare** un'uguaglianza basta **una** casella diversa: non serve finire tutto il prodotto. ::: prova Calcola $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ e poi il prodotto con le due matrici scambiate. Vengono uguali? Primo prodotto. Riga 1: $0 \cdot 1 + 1 \cdot 3 = 3$ e $0 \cdot 2 + 1 \cdot 4 = 4$. Riga 2: $1 \cdot 1 + 0 \cdot 3 = 1$ e $1 \cdot 2 + 0 \cdot 4 = 2$. Viene $\begin{pmatrix} 3 & 4 \\ 1 & 2 \end{pmatrix}$. Secondo prodotto, cioè $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$. Riga 1: $1 \cdot 0 + 2 \cdot 1 = 2$ e $1 \cdot 1 + 2 \cdot 0 = 1$. Riga 2: $3 \cdot 0 + 4 \cdot 1 = 4$ e $3 \cdot 1 + 4 \cdot 0 = 3$. Viene $\begin{pmatrix} 2 & 1 \\ 4 & 3 \end{pmatrix}$. Non sono uguali. Nel primo caso si sono scambiate le due righe della matrice con 1, 2, 3, 4. Nel secondo si sono scambiate le due colonne. ::: ::: prova Per tre matrici quadrate della stessa taglia è sempre vero che $ABC = ACB$? No. L'associatività permette di spostare le parentesi, non le lettere. Per passare da $ABC$ ad $ACB$ bisognerebbe scambiare $B$ e $C$, e di solito $BC$ e $CB$ sono diversi. ::: ::: prova Il prodotto $AB$ è la matrice nulla. Si può concludere che $A$ oppure $B$ è la matrice nulla? No. Nell'Esempio 8.10 il prodotto $BA$ è la matrice nulla, ma tutte e due le matrici contengono un 1. ::: > [!RICORDA] > - Di solito $AB$ e $BA$ sono diversi: il prodotto di matrici **non è commutativo**. > - Un prodotto può essere la matrice nulla anche se nessun fattore lo è. Non si «divide» per una matrice. > - Valgono l'associatività e la distributività: si spostano le parentesi, mai le lettere. > - La trasposta di un prodotto rovescia l'ordine: ${}^t(AB) = {}^tB\,{}^tA$. ## La traccia: la somma della diagonale (p. 39) L'ultima operazione della lezione è la più corta: una somma. In una matrice quadrata la **diagonale principale** è la fila di caselle che scende dall'angolo in alto a sinistra all'angolo in basso a destra. Sono le caselle in cui il numero della riga è uguale al numero della colonna: riga 1 e colonna 1, riga 2 e colonna 2, e avanti così. Guarda questa matrice: $$\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$$ Sulla diagonale principale ci sono 1 e 4. La loro somma è 5. Questa somma si chiama **traccia** della matrice. La traccia di una matrice $A$ si scrive $\tr A$ e si legge «traccia di $A$». Le due lettere vengono dall'inglese *trace*. Un esempio con una matrice $3 \times 3$. I numeri sulla diagonale sono 2, $-3$ e 6: $$\tr \begin{pmatrix} 2 & 7 & -1 \\ 0 & -3 & 5 \\ 4 & 1 & 6 \end{pmatrix} = 2 + (-3) + 6 = 5$$ Tutti gli altri numeri della matrice non contano. Le dispense la scrivono così. > [!DEF] 8.12 · Traccia > La **traccia** di una matrice quadrata $A \in M(n)$ è il numero > $$\tr A = A_{11} + \dots + A_{nn}.$$ > Cioè, la traccia di $A$ è la somma dei numeri presenti sulla diagonale principale di $A$. **Come si legge.** - $A \in M(n)$: la matrice $A$ è quadrata, con $n$ righe e $n$ colonne. - $A_{11}$ è il numero di riga 1 e colonna 1. $A_{nn}$ è il numero dell'ultima riga e dell'ultima colonna. Sono il primo e l'ultimo numero della diagonale. - I puntini in mezzo vogliono dire «e avanti così»: si sommano tutti i numeri con i due indici uguali. Due cose da notare. - La traccia si calcola solo per le matrici **quadrate**. In una matrice $2 \times 3$ la diagonale che parte dall'angolo in alto a sinistra non arriva all'angolo in basso a destra. - La matrice identità con $n$ righe ha $n$ numeri 1 sulla diagonale. Quindi la sua traccia è $n$. Per esempio $\tr I_3 = 1 + 1 + 1 = 3$. ::: prova Calcola la traccia di $\begin{pmatrix} 3 & 1 \\ 4 & -2 \end{pmatrix}$ e quella di $\begin{pmatrix} 5 & 0 & 0 \\ 1 & 2 & 0 \\ 7 & 8 & -4 \end{pmatrix}$. Nella prima la diagonale contiene 3 e $-2$: la traccia è $3 + (-2) = 1$. Nella seconda la diagonale contiene 5, 2 e $-4$: la traccia è $5 + 2 + (-4) = 3$. ::: ### Scambiare i due fattori non cambia la traccia Il prodotto di matrici non è commutativo, ma la traccia «non se ne accorge». Vediamolo prima con i numeri. > [!ESEMPIO] · Prodotti diversi, stessa traccia > $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \qquad B = \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix}$$ > **Il prodotto con $A$ a sinistra.** > $$AB = \begin{pmatrix} 1 \cdot 0 + 2 \cdot 1 & 1 \cdot 1 + 2 \cdot 1 \\ 3 \cdot 0 + 4 \cdot 1 & 3 \cdot 1 + 4 \cdot 1 \end{pmatrix} = \begin{pmatrix} 2 & 3 \\ 4 & 7 \end{pmatrix}$$ > **Il prodotto con $B$ a sinistra.** > $$BA = \begin{pmatrix} 0 \cdot 1 + 1 \cdot 3 & 0 \cdot 2 + 1 \cdot 4 \\ 1 \cdot 1 + 1 \cdot 3 & 1 \cdot 2 + 1 \cdot 4 \end{pmatrix} = \begin{pmatrix} 3 & 4 \\ 4 & 6 \end{pmatrix}$$ > Le due matrici sono diverse: $AB \neq BA$. > > **Le due tracce.** Per $AB$ la diagonale contiene 2 e 7: la traccia è $2 + 7 = 9$. Per $BA$ la diagonale contiene 3 e 6: la traccia è $3 + 6 = 9$. > > Prodotti diversi, stessa traccia. Succede sempre. > [!PROP] 8.13 > Se $A, B \in M(n)$, vale la relazione $\tr(AB) = \tr(BA)$. **Come si legge.** $A, B \in M(n)$ vuol dire che $A$ e $B$ sono due matrici quadrate della stessa taglia. La formula dice: la traccia del prodotto fatto in un ordine è uguale alla traccia del prodotto fatto nell'altro ordine. Vale anche quando i due prodotti sono matrici diverse. Perché succede? Guardiamo il caso $2 \times 2$ con le lettere al posto dei numeri. Chiamiamo $a_{11}, a_{12}, a_{21}, a_{22}$ i quattro numeri di $A$. Chiamiamo $b_{11}, b_{12}, b_{21}, b_{22}$ i quattro numeri di $B$. Per la traccia di $AB$ servono le due caselle diagonali di $AB$. | Casella di $AB$ | Conto | Risultato | |---|---|---| | riga 1, colonna 1 | riga 1 di $A$ per colonna 1 di $B$ | $a_{11}b_{11} + a_{12}b_{21}$ | | riga 2, colonna 2 | riga 2 di $A$ per colonna 2 di $B$ | $a_{21}b_{12} + a_{22}b_{22}$ | Sommando le due caselle: $$\tr(AB) = a_{11}b_{11} + a_{12}b_{21} + a_{21}b_{12} + a_{22}b_{22}$$ Rifacciamo il conto per $BA$. | Casella di $BA$ | Conto | Risultato | |---|---|---| | riga 1, colonna 1 | riga 1 di $B$ per colonna 1 di $A$ | $b_{11}a_{11} + b_{12}a_{21}$ | | riga 2, colonna 2 | riga 2 di $B$ per colonna 2 di $A$ | $b_{21}a_{12} + b_{22}a_{22}$ | Sommando le due caselle: $$\tr(BA) = b_{11}a_{11} + b_{12}a_{21} + b_{21}a_{12} + b_{22}a_{22}$$ Confronta le due somme: contengono gli stessi quattro prodotti, scritti in un altro ordine. Per esempio il secondo pezzo della prima somma e il terzo della seconda sono lo stesso numero. Tra numeri, infatti, l'ordine di un prodotto non conta. > [!DIM] della Proposizione 8.13 > La spiegazione delle dispense è una riga: > $$\tr(AB) = \sum_{i, j = 1}^n A_{ij}B_{ji} = \sum_{j, i = 1}^n B_{ji}A_{ij} = \tr(BA).$$ > Eccola passo per passo. > > 1. La casella di riga $i$ e colonna $i$ di $AB$ è la riga $i$ di $A$ per la colonna $i$ di $B$: $(AB)_{ii} = \sum_{j} A_{ij}B_{ji}$. Qui il contatore della somma si chiama $j$. > 2. La traccia somma queste caselle per tutti gli $i$: $\tr(AB) = \sum_i \sum_j A_{ij}B_{ji}$. È una somma con un addendo per **ogni coppia** $(i, j)$. La scrittura $\sum_{i, j = 1}^n$ vuol dire proprio questo: $i$ e $j$ vanno tutti e due da 1 a $n$. > 3. Con lo stesso conto per $BA$: $(BA)_{jj} = \sum_i B_{ji}A_{ij}$, quindi $\tr(BA) = \sum_j \sum_i B_{ji}A_{ij}$. > 4. I due totali contengono gli stessi addendi, perché $A_{ij}B_{ji} = B_{ji}A_{ij}$: tra **numeri** il prodotto è commutativo. E li contengono per le stesse coppie $(i, j)$. Quindi sono uguali. ### La scorciatoia per i quiz Per la traccia di un prodotto servono solo le caselle sulla diagonale. Le altre non vanno calcolate. In un prodotto di matrici $3 \times 3$ vuol dire fare tre conti «riga per colonna» al posto di nove: la riga 1 per la colonna 1, la riga 2 per la colonna 2, la riga 3 per la colonna 3. Poi si sommano i tre risultati. Con le matrici dell'esempio di prima bastano due conti: 1. riga 1 di $A$ per colonna 1 di $B$: $1 \cdot 0 + 2 \cdot 1 = 2$; 2. riga 2 di $A$ per colonna 2 di $B$: $3 \cdot 1 + 4 \cdot 1 = 7$; 3. la traccia di $AB$ è $2 + 7 = 9$. > [!OLTRE] · altre proprietà della traccia, utili nei quiz > **La traccia rispetta somme e multipli.** La traccia di una somma è la somma delle tracce: $\tr(A + B) = \tr A + \tr B$. La traccia di un multiplo è il multiplo della traccia: $\tr(\lambda A) = \lambda \tr A$. In più una matrice e la sua trasposta hanno la stessa traccia, perché trasponendo la diagonale non si muove. > > **La traccia non rispetta i prodotti.** Di solito $\tr(AB)$ è diversa da $\tr A \cdot \tr B$. Basta provare con due copie della matrice identità $I_2$. Il loro prodotto è ancora $I_2$, che ha traccia 2. Invece il prodotto delle due tracce è $2 \cdot 2 = 4$. > > **Vale anche per matrici non quadrate.** Se $A$ è $m \times n$ e $B$ è $n \times m$, i prodotti $AB$ e $BA$ hanno taglie diverse ma la stessa traccia. La dimostrazione è la stessa. Lo controlli con i numeri nell'esercizio 6. > > **Con tre fattori si può far girare, non scambiare.** Vale $\tr(ABC) = \tr(BCA) = \tr(CAB)$: l'ultima matrice passa davanti, come in un girotondo. Basta usare la Proposizione 8.13 con le due matrici $A$ e $BC$. Invece scambiare due matrici vicine può cambiare il risultato: $\tr(ACB)$ può essere diversa (esercizio 15). > > **Una matrice per la sua trasposta.** Per una matrice di numeri reali, $\tr(A\,{}^tA)$ è la **somma dei quadrati di tutti i suoi numeri**. Il motivo: la casella diagonale numero $i$ di $A\,{}^tA$ è la riga $i$ di $A$ per sé stessa. Con la matrice che contiene 1, 2, 3, 4 viene $1 + 4 + 9 + 16 = 30$. Un esempio svolto è in «Verso l'esame». > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli: la trasposta è nel §2.3.10 (p. 73), le matrici simmetriche e antisimmetriche nel §2.3.11 (pp. 73–74). Il rango è nel §3.2.3 (pp. 88–89: Definizione 3.2.7, Proposizione 3.2.8, Corollario 3.2.11), il rango per righe e per colonne nel §3.2.6 (p. 92, Proposizione 3.2.20 e Corollario 3.2.21). Il prodotto fra matrici e le sue proprietà sono nei §3.4.1–3.4.5 (pp. 104–107), con l'Esercizio 3.4.3 sulla trasposta del prodotto. La traccia è nel §4.4.5 (p. 141, Proposizione 4.4.11). ::: prova Calcola $\tr(AB)$ con $A = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix}$ e $B = \begin{pmatrix} 2 & 0 \\ 1 & 1 \end{pmatrix}$, facendo solo due conti. Riga 1 di $A$ per colonna 1 di $B$: $1 \cdot 2 + 1 \cdot 1 = 3$. Riga 2 di $A$ per colonna 2 di $B$: $0 \cdot 0 + 2 \cdot 1 = 2$. La traccia è $3 + 2 = 5$. ::: ::: prova Si può calcolare la traccia di una matrice $2 \times 3$? No. La traccia esiste solo per le matrici quadrate. ::: > [!RICORDA] > - La **traccia** $\tr A$ è la somma dei numeri sulla diagonale principale. Esiste solo per le matrici quadrate. > - $\tr(AB) = \tr(BA)$, anche quando $AB$ e $BA$ sono diversi. > - Per la traccia di un prodotto bastano le caselle diagonali del prodotto. > - Di solito $\tr(AB)$ **non** è $\tr A \cdot \tr B$. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $m \times n$ | «emme per enne» | la taglia: $m$ righe e $n$ colonne | una matrice $2 \times 3$ ha 2 righe e 3 colonne | | $a_{ij}$, $A_{ij}$ | «a i gei» | il numero nella riga $i$ e nella colonna $j$ | $a_{23}$: riga 2, colonna 3 | | $A_i$ | «A con i in basso» | la riga numero $i$ | $A_2$ è la seconda riga | | $A^j$ | «A con gei in alto» | la colonna numero $j$ (in questa lezione non è una potenza) | $A^3$ è la terza colonna | | $\K$ | «cappa» | i numeri che si usano: $\R$ oppure $\C$ | | | $M(m, n, \K)$ | «emme di emme, enne, cappa» | l'insieme delle matrici $m \times n$ con numeri in $\K$ | $M(2, 3, \R)$ | | $M(n)$ | «emme di enne» | le matrici quadrate con $n$ righe e $n$ colonne | $M(2)$: le matrici $2 \times 2$ | | $\in$ | «appartiene a» | sta dentro l'insieme | $A \in M(2, 3, \R)$ | | $\R^2$, $\K^m$ | «erre due», «cappa alla emme» | i vettori con 2 numeri, con $m$ numeri | $(2, 1) \in \R^2$ | | $\lambda$ | «lambda» | un numero qualsiasi (uno scalare) | $3A$: qui $\lambda = 3$ | | ${}^tA$ | «A trasposta» | la matrice con righe e colonne scambiate | la trasposta di una $2 \times 3$ è $3 \times 2$ | | ${}^t(x, y, z)$ | «il trasposto di x, y, z» | il vettore colonna con quei numeri | ${}^t(1, 2, 3)$ | | $-A$ | «meno A» | la matrice con tutti i segni cambiati | | | $\iff$ | «se e solo se» | esattamente quando | simmetrica $\iff {}^tA = A$ | | $\Span(\dots)$ | «Span di…» | tutto quello che si ottiene con le ricette fatte con quei vettori | lo Span di un vettore è una retta | | $\subset$ | «è contenuto in» | sta dentro, come insieme | una retta del piano $\subset \R^2$ | | $\rk(A)$ | «rango di A» | il massimo numero di colonne (o di righe) indipendenti | $\rk(I_3) = 3$ | | $\min(m, n)$ | «il minimo tra emme ed enne» | il più piccolo dei due numeri | $\min(3, 5) = 3$ | | $\le$ | «minore o uguale» | più piccolo, oppure uguale | $\rk(A) \le 3$ | | $AB$ | «A per B» | il prodotto riga per colonna | $(2 \times 3) \cdot (3 \times 4)$ dà $2 \times 4$ | | $(AB)_{ij}$ | «A B, i gei» | il numero di riga $i$ e colonna $j$ del prodotto | riga $i$ di $A$ per colonna $j$ di $B$ | | $\sum_{k=1}^n$ | «somma per k da 1 a enne» | somma dei pezzi che si ottengono con $k = 1, 2, \dots, n$ | $\sum_{k=1}^3 k = 1 + 2 + 3$ | | $\neq$ | «diverso da» | non uguale | di solito $AB \neq BA$ | | $0$ | «zero», «matrice nulla» | tra matrici: la matrice fatta di soli zeri | $BA = 0$ nell'Esempio 8.10 | | $I_n$ | «i con enne», «identità» | la matrice con 1 sulla diagonale e 0 altrove | $I_2$ ha due righe | | $A^2$, $A^3$ | «A alla seconda», «A alla terza» | $A$ per $A$, $A$ per $A$ per $A$ (quando si parla di potenze) | | | $\tr A$ | «traccia di A» | la somma dei numeri sulla diagonale principale | $\tr I_3 = 3$ | | $e_{ij}$ | «e i gei» | la matrice con un 1 nella riga $i$ e colonna $j$, e 0 altrove | | | $\dots$, $\cdots$, $\vdots$ | «e avanti così» | i numeri in mezzo, che non si scrivono | $A_{11} + \dots + A_{nn}$ | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 quiz, ognuno con 5 risposte. Servono almeno 6 risposte giuste perché vengano corretti i 2 problemi, che valgono 11 punti l'uno. Dura 2 ore, senza calcolatrice, e puoi portare solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. I dettagli sono nella lezione L01. **Che cosa viene chiesto di questa lezione** Le operazioni di questa lezione compaiono in **quasi ogni appello** dal 2023 al 2026. | Tipo di domanda | Appelli (numero della domanda) | Che cosa serve | |---|---|---| | «Quale identità vale?» tra $AB$, $BA$, $A$, $B$ | 24/01/2024 (6), 10/06/2024 (5), 10/07/2024 (3), 15/01/2026 (1), 03/06/2026 (5) | il prodotto riga per colonna, e ricordare che l'ordine conta | | traccia di un prodotto | 08/02/2024 (4), 06/09/2024 (8), 16/01/2025 (3), 10/07/2025 (9), 05/02/2026 (3), 03/07/2026 (9), 07/09/2026 (8) | solo la diagonale del prodotto | | prodotto di tre matrici $2 \times 2$ | 07/02/2025 (3) | associatività, ordine dei fattori | | rango di una matrice $3 \times 3$, $4 \times 4$ o $5 \times 5$ | 10/06/2024 (10), 16/01/2025 (6), 07/02/2025 (4), 05/02/2026 (4), 07/09/2026 (9) | doppioni tra righe o colonne, poi Gauss (lezioni L11–L12) | | calcolare ${}^tA - A$ in un problema | 24/01/2024 (11), 15/01/2026 (11) | trasposta, matrici simmetriche | **Una domanda vera, letta insieme** È la domanda 1 dell'appello del 15/01/2026. Il testo dice: «Siano $A = \begin{pmatrix} 1 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & -1 & 0 \\ 0 & 1 & -1 \\ 0 & 0 & 1 \end{pmatrix}$. Quale identità vale? (a) $AB = BA$; (b) $BA = B$; (c) $AB = B$; (d) $AB = A$; (e) $BA = A$.» **In pratica chiede:** calcola il prodotto con $A$ a sinistra e il prodotto con $B$ a sinistra. Poi guarda se uno dei due è uguale ad $A$, oppure a $B$, oppure se i due prodotti sono uguali tra loro. «Identità» qui vuol dire soltanto «uguaglianza». Delle cinque uguaglianze una sola è vera. > [!ESEMPIO] Appello del 15/01/2026, domanda 1: la soluzione > **Passo 1: calcolo $AB$.** Le righe di $A$ per le colonne di $B$. Le colonne di $B$, lette dall'alto in basso, contengono $1, 0, 0$, poi $-1, 1, 0$, poi $0, -1, 1$. > > | | colonna 1 di $B$ | colonna 2 di $B$ | colonna 3 di $B$ | > |---|---|---|---| > | riga 1 di $A$: $(1, 1, 1)$ | $1 \cdot 1 + 1 \cdot 0 + 1 \cdot 0 = 1$ | $1 \cdot (-1) + 1 \cdot 1 + 1 \cdot 0 = 0$ | $1 \cdot 0 + 1 \cdot (-1) + 1 \cdot 1 = 0$ | > | riga 2 di $A$: $(0, 1, 1)$ | $0 \cdot 1 + 1 \cdot 0 + 1 \cdot 0 = 0$ | $0 \cdot (-1) + 1 \cdot 1 + 1 \cdot 0 = 1$ | $0 \cdot 0 + 1 \cdot (-1) + 1 \cdot 1 = 0$ | > | riga 3 di $A$: $(0, 0, 1)$ | $0 \cdot 1 + 0 \cdot 0 + 1 \cdot 0 = 0$ | $0 \cdot (-1) + 0 \cdot 1 + 1 \cdot 0 = 0$ | $0 \cdot 0 + 0 \cdot (-1) + 1 \cdot 1 = 1$ | > > **Passo 2: confronto.** Il prodotto ha 1 sulla diagonale e 0 in tutte le altre caselle: > $$AB = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} = I_3$$ > È la matrice identità. Non è uguale ad $A$ e non è uguale a $B$. Quindi le risposte (c) e (d) sono false. > > **Passo 3: calcolo $BA$.** Le righe di $B$ per le colonne di $A$. Le colonne di $A$ contengono $1, 0, 0$, poi $1, 1, 0$, poi $1, 1, 1$. > > | | colonna 1 di $A$ | colonna 2 di $A$ | colonna 3 di $A$ | > |---|---|---|---| > | riga 1 di $B$: $(1, -1, 0)$ | $1 \cdot 1 + (-1) \cdot 0 + 0 \cdot 0 = 1$ | $1 \cdot 1 + (-1) \cdot 1 + 0 \cdot 0 = 0$ | $1 \cdot 1 + (-1) \cdot 1 + 0 \cdot 1 = 0$ | > | riga 2 di $B$: $(0, 1, -1)$ | $0 \cdot 1 + 1 \cdot 0 + (-1) \cdot 0 = 0$ | $0 \cdot 1 + 1 \cdot 1 + (-1) \cdot 0 = 1$ | $0 \cdot 1 + 1 \cdot 1 + (-1) \cdot 1 = 0$ | > | riga 3 di $B$: $(0, 0, 1)$ | $0 \cdot 1 + 0 \cdot 0 + 1 \cdot 0 = 0$ | $0 \cdot 1 + 0 \cdot 1 + 1 \cdot 0 = 0$ | $0 \cdot 1 + 0 \cdot 1 + 1 \cdot 1 = 1$ | > > Anche $BA$ è la matrice identità $I_3$. Quindi le risposte (b) ed (e) sono false. > > **Passo 4: la risposta.** I due prodotti sono uguali tra loro: la risposta giusta è la **(a)**. > > Di solito $AB$ e $BA$ sono diversi. Qui sono uguali perché le due matrici sono una l'*inversa* dell'altra: un'idea che arriva nella lezione L10. **Una traccia con il tranello** È la domanda 9 dell'appello del 10/07/2025. Il testo dice: «Data la matrice $A = \begin{pmatrix} 2 & 1 \\ 0 & 1 \\ 0 & 1 \end{pmatrix}$, la traccia di $A \cdot {}^tA$ è: (a) 7; (b) 9; (c) non si può calcolare, poiché $A$ non è una matrice quadrata; (d) 6; (e) 0.» **In pratica chiede:** moltiplica la matrice per la sua trasposta, poi somma i numeri sulla diagonale del risultato. Il tranello è la risposta (c): la matrice di partenza non è quadrata, ma la traccia si calcola del **prodotto**, non della matrice di partenza. > [!ESEMPIO] Appello del 10/07/2025, domanda 9: la soluzione > **Passo 1: le taglie.** $A$ è $3 \times 2$, quindi la sua trasposta è $2 \times 3$. Il prodotto ha taglie $(3 \times 2) \cdot (2 \times 3)$: i numeri interni sono uguali, e il risultato è $3 \times 3$. È una matrice **quadrata**, quindi la traccia esiste. La (c) è falsa. > > **Passo 2: servono solo le tre caselle diagonali.** La casella diagonale numero $i$ del prodotto è la riga $i$ di $A$ per la colonna $i$ di ${}^tA$. Ma la colonna $i$ della trasposta contiene gli stessi numeri della riga $i$ di $A$. Quindi ogni casella diagonale è una riga di $A$ moltiplicata per sé stessa. > > | Riga di $A$ | La riga per sé stessa | Risultato | > |---|---|---| > | $(2, 1)$ | $2 \cdot 2 + 1 \cdot 1$ | $5$ | > | $(0, 1)$ | $0 \cdot 0 + 1 \cdot 1$ | $1$ | > | $(0, 1)$ | $0 \cdot 0 + 1 \cdot 1$ | $1$ | > > **Passo 3: la traccia.** $5 + 1 + 1 = 7$. La risposta giusta è la **(a)**. > > **Controllo.** Scambio i due fattori: la traccia non deve cambiare. Il prodotto con la trasposta a sinistra è una matrice $2 \times 2$: > $${}^tA\,A = \begin{pmatrix} 2 & 0 & 0 \\ 1 & 1 & 1 \end{pmatrix} \begin{pmatrix} 2 & 1 \\ 0 & 1 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 2 \cdot 2 + 0 \cdot 0 + 0 \cdot 0 & 2 \cdot 1 + 0 \cdot 1 + 0 \cdot 1 \\ 1 \cdot 2 + 1 \cdot 0 + 1 \cdot 0 & 1 \cdot 1 + 1 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 4 & 2 \\ 2 & 3 \end{pmatrix}$$ > La sua traccia è $4 + 3 = 7$. Torna. **Una trasposta dentro un problema** È la prima parte del punto (2) del problema 11 dell'appello del 15/01/2026. Il testo dice: «Data $A = \begin{pmatrix} 1 & k^2 & 0 \\ k & k + 1 & k \\ 0 & k & 1 \end{pmatrix}$ in $M(3, \R)$, con $k$ parametro reale, calcolare ${}^tA - A$.» **In pratica chiede:** scrivi la trasposta della matrice e poi fai la differenza, casella per casella. La lettera $k$ è un **parametro**: un numero che non conosci. Nei conti resta scritto come lettera. La scrittura $k^2$ vuol dire $k$ per $k$. > [!ESEMPIO] Appello del 15/01/2026, problema 11, punto (2), prima parte: la soluzione > **Passo 1: la trasposta.** Le righe diventano colonne. La prima riga di $A$ contiene $1, k^2, 0$ e diventa la prima colonna. La seconda riga contiene $k, k + 1, k$ e diventa la seconda colonna. La terza riga contiene $0, k, 1$ e diventa la terza colonna. > $${}^tA = \begin{pmatrix} 1 & k & 0 \\ k^2 & k + 1 & k \\ 0 & k & 1 \end{pmatrix}$$ > **Passo 2: la differenza, casella per casella.** In ogni casella: il numero di ${}^tA$ meno il numero di $A$. > > | | colonna 1 | colonna 2 | colonna 3 | > |---|---|---|---| > | riga 1 | $1 - 1 = 0$ | $k - k^2$ | $0 - 0 = 0$ | > | riga 2 | $k^2 - k$ | $(k + 1) - (k + 1) = 0$ | $k - k = 0$ | > | riga 3 | $0 - 0 = 0$ | $k - k = 0$ | $1 - 1 = 0$ | > > $${}^tA - A = \begin{pmatrix} 0 & k - k^2 & 0 \\ k^2 - k & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}.$$ > **Passo 3: quando $A$ è simmetrica.** La matrice è simmetrica esattamente quando questa differenza è la matrice nulla. Serve che $k - k^2$ sia zero. Raccolgo $k$: $k - k^2 = k \cdot (1 - k)$. Un prodotto di due numeri è zero quando uno dei due è zero. Quindi $k = 0$, oppure $1 - k = 0$, cioè $k = 1$. > > **Solo per $k = 0$ e per $k = 1$ la matrice $A$ è simmetrica.** Nel resto del problema serviva proprio questo: le matrici reali simmetriche hanno autovalori reali e una base ortonormale di autovettori (teorema spettrale, lezioni L25–L26). > > **Controllo.** Il risultato del passo 2 è una matrice antisimmetrica, come deve essere: la diagonale è fatta di zeri, e le due caselle $k - k^2$ e $k^2 - k$ sono una l'opposto dell'altra. **I metodi** Per la domanda «quale identità vale?» il metodo è nel riquadro alla fine della sezione sull'ordine nel prodotto. Per il rango e per la traccia eccone altri due. > [!METODO] Il rango nel quiz > 1. Cerca i doppioni a occhio: due colonne uguali, una riga multipla di un'altra, una riga che è la somma di altre due. > 2. Se non ne vedi, prova una combinazione con numeri piccoli, come $-2$ e $3$. Nei quiz degli ultimi anni un doppione c'era quasi sempre. Nelle matrici $3 \times 3$: una colonna doppia di un'altra, oppure una riga somma delle altre due. Nella $4 \times 4$ del 05/02/2026 due righe erano combinazioni delle prime due. > 3. Controlla che le righe rimaste siano indipendenti. > 4. Se non trovi niente, riduci la matrice a scalini con Gauss (lezioni L11–L12). Per una matrice quadrata puoi anche calcolare il determinante (lezioni L09–L10): se è diverso da zero, il rango è il più grande possibile. > [!METODO] La traccia di un prodotto > 1. Controlla che il prodotto finale sia quadrato. I fattori possono anche non esserlo. > 2. Non calcolare tutto il prodotto. Servono solo le caselle diagonali: la riga 1 per la colonna 1, la riga 2 per la colonna 2, e avanti così. > 3. Somma i risultati. > 4. Con tre fattori, come in $\tr(ABC)$: calcola per intero il prodotto delle prime due, poi solo la diagonale del prodotto con la terza. Se conviene, prima fai girare i fattori: $\tr(ABC) = \tr(CAB)$. > 5. Nelle domande con radici e $\pi$ (appelli dell'08/02/2024 e del 07/09/2026) i numeri scomodi quasi sempre si cancellano: fidati del conto. **Gli errori da evitare** - Moltiplicare colonna per riga al posto di riga per colonna, oppure scambiare l'ordine dei due fattori. - Dare per scontato che $AB$ e $BA$ siano uguali. - Pensare che, se $AB$ è la matrice nulla, allora $A$ oppure $B$ sia la matrice nulla. - Scrivere che la traccia di un prodotto è il prodotto delle tracce. - Dimenticare che nella trasposta di un prodotto l'ordine si rovescia: ${}^t(AB) = {}^tB\,{}^tA$. - Rispondere «non si può calcolare» quando il prodotto finale è quadrato, anche se i fattori non lo sono. - Dichiarare un rango più grande del numero delle righe o del numero delle colonne. > [!ESAME] Il foglio da 4 facciate > Da questa lezione conviene copiare queste righe. > > - Taglie del prodotto: $(m \times n) \cdot (n \times p)$ dà $m \times p$. La formula: $(AB)_{ij} = \sum_k A_{ik}B_{kj}$. > - Di solito $AB \neq BA$. Un prodotto può essere nullo senza che lo sia un fattore. > - Trasposta di un prodotto: ${}^t(AB) = {}^tB\,{}^tA$. > - Tracce: $\tr(AB) = \tr(BA)$ e $\tr(ABC) = \tr(CAB)$. In più $\tr(A\,{}^tA)$ è la somma dei quadrati dei numeri di $A$. > - Rango: $\rk(A) = \rk({}^tA) \le \min(m, n)$. > - Simmetrica vuol dire ${}^tA = A$. Antisimmetrica vuol dire ${}^tA = -A$. ## Quiz ```quiz D: Siano $A = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ 1 & 1 & 1 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & 0 & 0 \\ -1 & 1 & 0 \\ 0 & -1 & 1 \end{pmatrix}$. Quale identità vale? + $AB = BA$ - $AB = A$ - $AB = B$ - $BA = A$ - $BA = B$ = La domanda chiede di calcolare i due prodotti e di confrontarli con $A$, con $B$ e tra loro. Si usa la regola riga per colonna. Per $AB$: la riga 1 di $A$ è $(1, 0, 0)$ e con le tre colonne di $B$ dà $1$, $0$, $0$. La riga 2 è $(1, 1, 0)$ e dà $1 - 1 = 0$, poi $0 + 1 = 1$, poi $0$. La riga 3 è $(1, 1, 1)$ e dà $1 - 1 + 0 = 0$, poi $0 + 1 - 1 = 0$, poi $1$. Quindi $AB$ ha 1 sulla diagonale e 0 altrove: è la matrice identità $I_3$. Per $BA$: la riga 1 di $B$ è $(1, 0, 0)$ e con le tre colonne di $A$ dà $1$, $0$, $0$. La riga 2 è $(-1, 1, 0)$ e dà $-1 + 1 = 0$, poi $1$, poi $0$. La riga 3 è $(0, -1, 1)$ e dà $-1 + 1 = 0$, poi $-1 + 1 = 0$, poi $1$. Anche $BA$ è $I_3$, quindi vale $AB = BA$. Le altre risposte sono false, perché $I_3$ non è né $A$ né $B$. È simile alla domanda 1 dell'appello del 15/01/2026. D: Siano $A = \begin{pmatrix} 0 & 1 & 2 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{pmatrix}$ e $B = \begin{pmatrix} 3 & 1 & -1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$. Quale identità vale? + $AB = A$ - $AB = B$ - $BA = A$ - $BA = B$ - $AB = BA$ = La domanda chiede di calcolare i prodotti e di vedere se uno è uguale ad $A$ oppure a $B$. Si usa la regola riga per colonna. Le colonne di $B$ contengono $3, 0, 0$, poi $1, 1, 0$, poi $-1, 0, 1$. La riga 1 di $A$ è $(0, 1, 2)$. Con la colonna 1 di $B$ dà $0 \cdot 3 + 1 \cdot 0 + 2 \cdot 0 = 0$. Con la colonna 2 dà $0 \cdot 1 + 1 \cdot 1 + 2 \cdot 0 = 1$. Con la colonna 3 dà $0 \cdot (-1) + 1 \cdot 0 + 2 \cdot 1 = 2$. Viene $(0, 1, 2)$, cioè di nuovo la riga 1 di $A$. La riga 2 di $A$ è $(0, 1, 1)$, e gli stessi tre conti danno $0$, $1$, $1$: di nuovo la riga di partenza. La riga 3 è fatta di zeri e dà zeri. Quindi $AB = A$. La risposta $AB = BA$ è la più tentatrice, ma è falsa. La riga 1 di $B$ è $(3, 1, -1)$, e con le colonne di $A$ dà $0$, poi $3 + 1 = 4$, poi $6 + 1 = 7$. La prima riga di $BA$ è $(0, 4, 7)$, diversa da quella di $AB$, di $A$ e di $B$. È simile alle domande 5 del 03/06/2026 e 6 del 24/01/2024. D: Siano $A = \begin{pmatrix} \sqrt 5 & 0 & -\pi \\ 0 & \sqrt 2 & \sqrt 2 \\ \pi & \sqrt 5 & 0 \end{pmatrix}$ e $B = \begin{pmatrix} \sqrt 5 & \pi & \sqrt 5 \\ \pi & 0 & -\pi \\ 0 & \sqrt 2 & \sqrt 2 \end{pmatrix}$. Quanto vale $\tr(AB)$? + $7$ - $(\sqrt 5 + \sqrt 2)^2$ - $5 + 2\pi^2$ - $\sqrt 7$ - $2\pi\sqrt 5$ = La domanda chiede la somma dei numeri sulla diagonale del prodotto. Bastano le tre caselle diagonali: riga 1 per colonna 1, riga 2 per colonna 2, riga 3 per colonna 3. Prima casella: $\sqrt 5 \cdot \sqrt 5 + 0 \cdot \pi + (-\pi) \cdot 0 = 5$, perché radice di 5 per radice di 5 fa 5. Seconda casella: $0 \cdot \pi + \sqrt 2 \cdot 0 + \sqrt 2 \cdot \sqrt 2 = 2$. Terza casella: $\pi \cdot \sqrt 5 + \sqrt 5 \cdot (-\pi) + 0 \cdot \sqrt 2 = 0$, perché i primi due pezzi sono uno l'opposto dell'altro. La traccia è $5 + 2 + 0 = 7$. Le risposte con $\pi$ e con le radici sono trappole: i numeri scomodi si cancellano. È simile alle domande 8 del 07/09/2026 e 4 dell'08/02/2024. D: Data $A = \begin{pmatrix} 1 & 0 & 2 \\ 3 & 1 & 0 \end{pmatrix}$, quanto vale $\tr(A \cdot {}^tA)$? + $15$ - Non si può calcolare, poiché $A$ non è quadrata. - $2$ - $7$ - $49$ = La domanda chiede di moltiplicare $A$ per la sua trasposta e di sommare la diagonale del risultato. $A$ è $2 \times 3$ e la sua trasposta è $3 \times 2$, quindi il prodotto è $2 \times 2$: è quadrato, e la traccia esiste. La risposta «non si può calcolare» è la trappola: a non essere quadrata è $A$, non il prodotto. Ogni casella diagonale del prodotto è una riga di $A$ per sé stessa. Riga 1: $1 \cdot 1 + 0 \cdot 0 + 2 \cdot 2 = 5$. Riga 2: $3 \cdot 3 + 1 \cdot 1 + 0 \cdot 0 = 10$. La traccia è $5 + 10 = 15$, cioè la somma dei quadrati di tutti i numeri di $A$. Il $2$ è la somma $a_{11} + a_{22}$, il $7$ è la somma di tutti i numeri di $A$. È simile alla domanda 9 dell'appello del 10/07/2025. D: Qual è il rango della matrice $\begin{pmatrix} 2 & 1 & 3 \\ 1 & 1 & 2 \\ 3 & 2 & 5 \end{pmatrix}$? + $2$ - $3$ - $1$ - $0$ - $5$ = La domanda chiede quante righe indipendenti ha la matrice. Si cercano i doppioni. La terza riga è la somma delle prime due: $2 + 1 = 3$, poi $1 + 1 = 2$, poi $3 + 2 = 5$. Quindi si può togliere. Le prime due righe non sono una il multiplo dell'altra: al primo posto, per passare da $1$ a $2$ si moltiplica per 2, ma al secondo posto $1 \cdot 2$ fa $2$ e non $1$. Restano 2 righe indipendenti: il rango è 2. La risposta $3$ è la trappola: tre righe piene di numeri non vogliono dire rango 3. È simile alle domande 9 del 07/09/2026 e 6 del 16/01/2025. D: $A$ è una matrice $2 \times 3$ e $B$ è una matrice $3 \times 4$. Quale affermazione è vera? + $AB$ è una matrice $2 \times 4$ e $BA$ non è definito. - $AB$ e $BA$ sono entrambi definiti. - $AB$ è una matrice $3 \times 3$. - $AB$ non è definito, $BA$ è una matrice $4 \times 3$. - $AB$ è $2 \times 4$ e $BA$ è $4 \times 2$. = La domanda chiede quali prodotti si possono fare e di che taglia vengono. Si scrivono le due taglie una accanto all'altra. Per $AB$: $(2 \times 3) \cdot (3 \times 4)$. I numeri interni sono 3 e 3, quindi il prodotto esiste. I numeri esterni sono 2 e 4, quindi è una matrice $2 \times 4$. Per $BA$: $(3 \times 4) \cdot (2 \times 3)$. I numeri interni sono 4 e 2: sono diversi, quindi $BA$ non esiste. «Non è definito» vuol dire proprio «non esiste». L'ultima risposta è la più tentatrice, perché la taglia di $AB$ è giusta: ma sbaglia su $BA$. D: Per matrici $A$ e $B$ per cui il prodotto $AB$ è definito, ${}^t(AB)$ è uguale a: + ${}^tB\,{}^tA$ - ${}^tA\,{}^tB$ - $AB$ - $BA$ - ${}^tA\,B$ = La domanda chiede la regola per la trasposta di un prodotto. È l'Esercizio 8.14 delle dispense: la trasposta di un prodotto è il prodotto delle trasposte **in ordine rovesciato**, cioè ${}^tB\,{}^tA$. La risposta ${}^tA\,{}^tB$ è la trappola, e di solito quel prodotto non esiste nemmeno. Se $A$ è $3 \times 2$ e $B$ è $2 \times 4$, le trasposte sono $2 \times 3$ e $4 \times 2$. Nell'ordine sbagliato le taglie sarebbero $(2 \times 3) \cdot (4 \times 2)$, con i numeri interni 3 e 4 diversi. D: Per quali $k \in \R$ la matrice $A = \begin{pmatrix} 1 & k^2 & 2 \\ k & 0 & 1 \\ 2 & 1 & 3 \end{pmatrix}$ è simmetrica? + Per $k = 0$ oppure $k = 1$. - Solo per $k = 1$. - Solo per $k = 0$. - Per $k = \pm 1$. - Per nessun valore di $k$. = La domanda chiede per quali numeri $k$ la matrice è uguale alla sua trasposta. Si confrontano le caselle ribaltate rispetto alla diagonale. Riga 1 e colonna 3 contro riga 3 e colonna 1: c'è $2$ in tutte e due. Riga 2 e colonna 3 contro riga 3 e colonna 2: c'è $1$ in tutte e due. Resta la coppia riga 1 e colonna 2 contro riga 2 e colonna 1: serve $k^2 = k$. Porto tutto a sinistra: $k^2 - k = 0$. Raccolgo $k$: $k \cdot (k - 1) = 0$. Un prodotto di due numeri è zero quando uno dei due è zero: $k = 0$ oppure $k = 1$. Le risposte con un valore solo dimenticano l'altro. Con $k = -1$ le due caselle sarebbero $1$ e $-1$, che sono diverse. È simile al problema 11 dell'appello del 15/01/2026. D: Siano $A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$ e $B = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$. Quanto vale $\tr(ABA)$? N: 4 = La domanda chiede la traccia di un prodotto di tre matrici. Prima si calcola per intero $AB$, poi bastano le due caselle diagonali di $(AB)A$. Prima riga di $AB$: $1 \cdot 0 + 2 \cdot 1 = 2$ e $1 \cdot 1 + 2 \cdot 0 = 1$. Seconda riga: $0 \cdot 0 + 1 \cdot 1 = 1$ e $0 \cdot 1 + 1 \cdot 0 = 0$. Quindi $AB = \begin{pmatrix} 2 & 1 \\ 1 & 0 \end{pmatrix}$. Prima casella diagonale di $(AB)A$: la riga $(2, 1)$ per la colonna 1 di $A$, che contiene $1$ e $0$, dà $2 \cdot 1 + 1 \cdot 0 = 2$. Seconda casella diagonale: la riga $(1, 0)$ per la colonna 2 di $A$, che contiene $2$ e $1$, dà $1 \cdot 2 + 0 \cdot 1 = 2$. La traccia è $2 + 2 = 4$. L'errore tipico è moltiplicare le tre tracce: $2 \cdot 0 \cdot 2 = 0$. Ma la traccia di un prodotto non è il prodotto delle tracce. È simile alla domanda 3 dell'appello del 05/02/2026. D: Sia $A$ una matrice $3 \times 5$ a coefficienti reali. Quale affermazione è sempre vera? + $\rk(A) \le 3$. - $\rk(A)$ può essere uguale a $5$. - $\rk({}^tA)$ può essere diverso da $\rk(A)$. - $\rk(A) = 3$. - Le 5 colonne di $A$ sono linearmente indipendenti. = La domanda chiede che cosa si può dire del rango conoscendo solo la taglia. Il rango non supera né il numero delle righe né quello delle colonne. Qui le righe sono 3 e le colonne sono 5, quindi il rango è al massimo 3: è la risposta giusta. Il rango non può essere 5: le colonne hanno 3 numeri, e in $\R^3$ più di tre vettori sono sempre dipendenti. Per lo stesso motivo le 5 colonne non sono mai indipendenti. La risposta «il rango è 3» è la più tentatrice, ma non è **sempre** vera: la matrice nulla, per esempio, ha rango 0. Infine una matrice e la sua trasposta hanno sempre lo stesso rango (Proposizione 8.6). ``` ## Esercizi ::: esercizio base Leggere una matrice Prendi la matrice $A = \begin{pmatrix} 4 & -1 & 0 \\ 2 & 3 & 7 \end{pmatrix}$. (a) Che taglia ha? (b) Quanto valgono $a_{13}$ e $a_{21}$? (c) Scrivi la riga $A_2$ e la colonna $A^2$. ::: soluzione (a) Conto le righe: sono 2. Conto le colonne: sono 3. La taglia è $2 \times 3$: prima le righe, poi le colonne. (b) $a_{13}$ è il numero nella riga 1 e nella colonna 3. Nella prima riga il terzo numero è 0. Quindi $a_{13} = 0$. $a_{21}$ è il numero nella riga 2 e nella colonna 1. Nella seconda riga il primo numero è 2. Quindi $a_{21} = 2$. (c) L'indice in basso indica una riga: $A_2$ è la seconda riga, cioè $(2, 3, 7)$. L'indice in alto indica una colonna: $A^2$ è la seconda colonna. Contiene $-1$ sopra e 3 sotto: $$A^2 = \begin{pmatrix} -1 \\ 3 \end{pmatrix}.$$ ::: ::: esercizio base Una trasposta e due controlli di simmetria (a) Scrivi la trasposta di $\begin{pmatrix} 1 & 0 & 2 \\ -3 & 5 & 4 \end{pmatrix}$. (b) Quale di queste due matrici è simmetrica? $\begin{pmatrix} 2 & 7 \\ 7 & 1 \end{pmatrix}$ e $\begin{pmatrix} 0 & 3 \\ -3 & 1 \end{pmatrix}$. ::: soluzione (a) Le righe diventano colonne. 1. La prima riga contiene $1, 0, 2$: diventa la prima colonna. 2. La seconda riga contiene $-3, 5, 4$: diventa la seconda colonna. La trasposta è $$\begin{pmatrix} 1 & -3 \\ 0 & 5 \\ 2 & 4 \end{pmatrix}.$$ La matrice di partenza era $2 \times 3$, la trasposta è $3 \times 2$. (b) Una matrice è simmetrica quando le caselle ribaltate rispetto alla diagonale contengono lo stesso numero. In una $2 \times 2$ c'è una sola coppia da controllare: riga 1 e colonna 2 contro riga 2 e colonna 1. - Prima matrice: 7 e 7. Sono uguali, quindi è **simmetrica**. - Seconda matrice: 3 e $-3$. Sono diversi, quindi **non è simmetrica**. La seconda matrice non è nemmeno antisimmetrica. I due numeri fuori dalla diagonale sono opposti, ma sulla diagonale c'è un 1, mentre in una matrice antisimmetrica la diagonale è fatta di zeri. ::: ::: esercizio base Quali prodotti si possono fare? $A$ è una matrice $2 \times 3$, $B$ è una matrice $3 \times 3$, $C$ è una matrice $3 \times 2$. Per ciascuno dei prodotti $AB$, $BA$, $AC$, $CA$, $BC$, $CB$ di' se si può fare e di che taglia viene. ::: soluzione Per ogni prodotto scrivo le due taglie una accanto all'altra. Se i due numeri interni sono uguali il prodotto si può fare, e i due numeri esterni danno la taglia. | Prodotto | Taglie | Numeri interni | Si può fare? | Taglia del prodotto | |---|---|---|---|---| | $AB$ | $(2 \times 3) \cdot (3 \times 3)$ | 3 e 3 | sì | $2 \times 3$ | | $BA$ | $(3 \times 3) \cdot (2 \times 3)$ | 3 e 2 | no | | | $AC$ | $(2 \times 3) \cdot (3 \times 2)$ | 3 e 3 | sì | $2 \times 2$ | | $CA$ | $(3 \times 2) \cdot (2 \times 3)$ | 2 e 2 | sì | $3 \times 3$ | | $BC$ | $(3 \times 3) \cdot (3 \times 2)$ | 3 e 3 | sì | $3 \times 2$ | | $CB$ | $(3 \times 2) \cdot (3 \times 3)$ | 2 e 3 | no | | Nota le righe di $AC$ e $CA$: i due prodotti esistono tutti e due, ma hanno taglie diverse. ::: ::: esercizio base Un prodotto $2 \times 2$ e due tracce Prendi $A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$ e $B = \begin{pmatrix} 3 & 1 \\ 1 & 0 \end{pmatrix}$. Calcola $AB$ e $BA$. Poi calcola le due tracce. ::: soluzione **Il prodotto $AB$.** Le righe di $A$ sono $(1, 2)$ e $(0, 1)$. Le colonne di $B$ contengono 3 e 1, poi 1 e 0. | | colonna 1 di $B$ | colonna 2 di $B$ | |---|---|---| | riga 1 di $A$ | $1 \cdot 3 + 2 \cdot 1 = 5$ | $1 \cdot 1 + 2 \cdot 0 = 1$ | | riga 2 di $A$ | $0 \cdot 3 + 1 \cdot 1 = 1$ | $0 \cdot 1 + 1 \cdot 0 = 0$ | $$AB = \begin{pmatrix} 5 & 1 \\ 1 & 0 \end{pmatrix}$$ **Il prodotto $BA$.** Le righe di $B$ sono $(3, 1)$ e $(1, 0)$. Le colonne di $A$ contengono 1 e 0, poi 2 e 1. | | colonna 1 di $A$ | colonna 2 di $A$ | |---|---|---| | riga 1 di $B$ | $3 \cdot 1 + 1 \cdot 0 = 3$ | $3 \cdot 2 + 1 \cdot 1 = 7$ | | riga 2 di $B$ | $1 \cdot 1 + 0 \cdot 0 = 1$ | $1 \cdot 2 + 0 \cdot 1 = 2$ | $$BA = \begin{pmatrix} 3 & 7 \\ 1 & 2 \end{pmatrix}$$ **Le tracce.** Sommo i numeri sulla diagonale. Per $AB$: $5 + 0 = 5$. Per $BA$: $3 + 2 = 5$. I due prodotti sono matrici diverse, ma le tracce sono uguali: è la Proposizione 8.13. ::: ::: esercizio base Trasposta, parte simmetrica e parte antisimmetrica Prendi $A = \begin{pmatrix} 1 & 4 & 2 \\ 0 & 3 & 5 \\ -2 & 1 & 6 \end{pmatrix}$. (a) Calcola ${}^tA$. (b) Calcola $S = \frac{A + {}^tA}2$ e $N = \frac{A - {}^tA}2$ e verifica che $S$ è simmetrica, $N$ è antisimmetrica e $S + N = A$. (c) Calcola $\tr A$ e $\tr({}^tA)$. ::: soluzione (a) Le righe di $A$ diventano le colonne della trasposta. 1. La prima riga contiene $1, 4, 2$: diventa la prima colonna. 2. La seconda riga contiene $0, 3, 5$: diventa la seconda colonna. 3. La terza riga contiene $-2, 1, 6$: diventa la terza colonna. $${}^tA = \begin{pmatrix} 1 & 0 & -2 \\ 4 & 3 & 1 \\ 2 & 5 & 6 \end{pmatrix}.$$ (b) **La somma**, casella per casella: $$A + {}^tA = \begin{pmatrix} 1 + 1 & 4 + 0 & 2 + (-2) \\ 0 + 4 & 3 + 3 & 5 + 1 \\ -2 + 2 & 1 + 5 & 6 + 6 \end{pmatrix} = \begin{pmatrix} 2 & 4 & 0 \\ 4 & 6 & 6 \\ 0 & 6 & 12 \end{pmatrix}$$ **La differenza**, casella per casella: $$A - {}^tA = \begin{pmatrix} 1 - 1 & 4 - 0 & 2 - (-2) \\ 0 - 4 & 3 - 3 & 5 - 1 \\ -2 - 2 & 1 - 5 & 6 - 6 \end{pmatrix} = \begin{pmatrix} 0 & 4 & 4 \\ -4 & 0 & 4 \\ -4 & -4 & 0 \end{pmatrix}$$ **Divido per 2** ogni casella delle due matrici: $$S = \begin{pmatrix} 1 & 2 & 0 \\ 2 & 3 & 3 \\ 0 & 3 & 6 \end{pmatrix}, \qquad N = \begin{pmatrix} 0 & 2 & 2 \\ -2 & 0 & 2 \\ -2 & -2 & 0 \end{pmatrix}.$$ **$S$ è simmetrica.** Le coppie di caselle ribaltate contengono lo stesso numero: 2 e 2, poi 0 e 0, poi 3 e 3. **$N$ è antisimmetrica.** La diagonale è fatta di zeri. Le coppie di caselle ribaltate contengono numeri opposti: 2 e $-2$ in tutte e tre le coppie. **La somma ridà $A$.** $$S + N = \begin{pmatrix} 1 + 0 & 2 + 2 & 0 + 2 \\ 2 - 2 & 3 + 0 & 3 + 2 \\ 0 - 2 & 3 - 2 & 6 + 0 \end{pmatrix} = \begin{pmatrix} 1 & 4 & 2 \\ 0 & 3 & 5 \\ -2 & 1 & 6 \end{pmatrix} = A$$ (c) La diagonale di $A$ contiene 1, 3 e 6: $\tr A = 1 + 3 + 6 = 10$. La diagonale della trasposta contiene gli stessi numeri, quindi $\tr({}^tA) = 10$. Trasponendo, la diagonale non cambia. ::: ::: esercizio base Esercizio 8.15 delle dispense: $AB$, $BA$ e le loro tracce Siano $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}$. Calcolare $AB$ e $BA$. Calcolare la traccia di $AB$ e di $BA$. ::: soluzione **Le taglie.** $A$ è $3 \times 2$ e $B$ è $2 \times 3$. - Per $AB$: $(3 \times 2) \cdot (2 \times 3)$. I numeri interni sono 2 e 2: si può fare, e viene una $3 \times 3$. - Per $BA$: $(2 \times 3) \cdot (3 \times 2)$. I numeri interni sono 3 e 3: si può fare, e viene una $2 \times 2$. I due prodotti esistono tutti e due, ma hanno taglie diverse. **Il prodotto $AB$.** Le righe di $A$ sono $(1, 2)$, $(3, 4)$, $(5, 6)$. Le colonne di $B$ contengono 1 e 4, poi 2 e 5, poi 3 e 6. | | colonna 1 di $B$ | colonna 2 di $B$ | colonna 3 di $B$ | |---|---|---|---| | riga 1 di $A$ | $1 \cdot 1 + 2 \cdot 4 = 9$ | $1 \cdot 2 + 2 \cdot 5 = 12$ | $1 \cdot 3 + 2 \cdot 6 = 15$ | | riga 2 di $A$ | $3 \cdot 1 + 4 \cdot 4 = 19$ | $3 \cdot 2 + 4 \cdot 5 = 26$ | $3 \cdot 3 + 4 \cdot 6 = 33$ | | riga 3 di $A$ | $5 \cdot 1 + 6 \cdot 4 = 29$ | $5 \cdot 2 + 6 \cdot 5 = 40$ | $5 \cdot 3 + 6 \cdot 6 = 51$ | $$AB = \begin{pmatrix} 9 & 12 & 15 \\ 19 & 26 & 33 \\ 29 & 40 & 51 \end{pmatrix}, \qquad \tr(AB) = 9 + 26 + 51 = 86.$$ **Il prodotto $BA$.** Le righe di $B$ sono $(1, 2, 3)$ e $(4, 5, 6)$. Le colonne di $A$ contengono 1, 3, 5 e poi 2, 4, 6. | | colonna 1 di $A$ | colonna 2 di $A$ | |---|---|---| | riga 1 di $B$ | $1 \cdot 1 + 2 \cdot 3 + 3 \cdot 5 = 22$ | $1 \cdot 2 + 2 \cdot 4 + 3 \cdot 6 = 28$ | | riga 2 di $B$ | $4 \cdot 1 + 5 \cdot 3 + 6 \cdot 5 = 49$ | $4 \cdot 2 + 5 \cdot 4 + 6 \cdot 6 = 64$ | $$BA = \begin{pmatrix} 22 & 28 \\ 49 & 64 \end{pmatrix}, \qquad \tr(BA) = 22 + 64 = 86.$$ **Che cosa si nota.** Le due tracce sono uguali anche se le due matrici hanno taglie diverse. La Proposizione 8.13 parla di matrici quadrate, ma la sua dimostrazione funziona anche quando $A$ è $m \times n$ e $B$ è $n \times m$. ::: ::: esercizio medio Quattro ranghi Determina il rango delle matrici $$A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 1 & 0 \\ 0 & 3 & 6 \end{pmatrix}, \quad B = \begin{pmatrix} 1 & -1 & 2 \\ -2 & 2 & -4 \end{pmatrix}, \quad C = \begin{pmatrix} 1 & 0 & 2 & 1 \\ 0 & 1 & 1 & 1 \\ 1 & 1 & 3 & 2 \end{pmatrix}, \quad D = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix}.$$ ::: soluzione Per ogni matrice cerco i doppioni tra le righe (o tra le colonne), li tolgo e conto quello che resta. **La matrice $A$** (dal Foglio di esercizi 2 del tutorato 2025). Provo a ottenere la terza riga dalle prime due: due volte la prima, meno la seconda. | | primo numero | secondo numero | terzo numero | |---|---|---|---| | 2 volte la riga 1 | $2 \cdot 1 = 2$ | $2 \cdot 2 = 4$ | $2 \cdot 3 = 6$ | | riga 2 | $2$ | $1$ | $0$ | | differenza | $2 - 2 = 0$ | $4 - 1 = 3$ | $6 - 0 = 6$ | Viene $(0, 3, 6)$, che è la terza riga: è un doppione. Le prime due righe sono $(1, 2, 3)$ e $(2, 1, 0)$. Non sono una il multiplo dell'altra: al primo posto si passa da 1 a 2 moltiplicando per 2, ma al secondo posto $2 \cdot 2 = 4$ e non 1. Restano 2 righe indipendenti: $\rk(A) = 2$. **La matrice $B$.** La seconda riga è la prima moltiplicata per $-2$: $$-2 \cdot (1, -1, 2) = (-2, 2, -4).$$ È un doppione. Resta una riga sola, che non è fatta di zeri: $\rk(B) = 1$. **La matrice $C$.** La terza riga è la somma delle prime due: $1 + 0 = 1$, poi $0 + 1 = 1$, poi $2 + 1 = 3$, poi $1 + 1 = 2$. È un doppione. Le prime due righe non sono una il multiplo dell'altra: la prima comincia con 1 e la seconda con 0, e al secondo posto succede il contrario. Restano 2 righe: $\rk(C) = 2$, anche se le colonne sono quattro. **La matrice $D$.** Ha 3 righe e 2 colonne, quindi il rango è al massimo 2. Guardo le due colonne: contengono $1, 3, 5$ e $2, 4, 6$. In alto si passa da 1 a 2 moltiplicando per 2. Ma nel mezzo $3 \cdot 2 = 6$ e non 4. Le colonne non sono una il multiplo dell'altra, quindi sono indipendenti: $\rk(D) = 2$, il più grande possibile per questa taglia. ::: ::: esercizio medio Un prodotto nullo con fattori non nulli Prendi $A = \begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$ e $B = \begin{pmatrix} 2 & -4 \\ -1 & 2 \end{pmatrix}$. Calcola $AB$ e $BA$. Che cosa impari? ::: soluzione **Il prodotto $AB$.** $$AB = \begin{pmatrix} 1 \cdot 2 + 2 \cdot (-1) & 1 \cdot (-4) + 2 \cdot 2 \\ 2 \cdot 2 + 4 \cdot (-1) & 2 \cdot (-4) + 4 \cdot 2 \end{pmatrix} = \begin{pmatrix} 2 - 2 & -4 + 4 \\ 4 - 4 & -8 + 8 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix}$$ **Il prodotto $BA$.** $$BA = \begin{pmatrix} 2 \cdot 1 + (-4) \cdot 2 & 2 \cdot 2 + (-4) \cdot 4 \\ (-1) \cdot 1 + 2 \cdot 2 & (-1) \cdot 2 + 2 \cdot 4 \end{pmatrix} = \begin{pmatrix} 2 - 8 & 4 - 16 \\ -1 + 4 & -2 + 8 \end{pmatrix} = \begin{pmatrix} -6 & -12 \\ 3 & 6 \end{pmatrix}$$ **Che cosa si impara.** Tre cose. 1. Il prodotto $AB$ è la matrice nulla, ma né $A$ né $B$ sono la matrice nulla. 2. $AB$ è la matrice nulla e $BA$ no. Quindi $AB \neq BA$. 3. Non si può «semplificare». Anche $A$ per la matrice nulla dà la matrice nulla. Quindi $A$ per $B$ e $A$ per la matrice nulla danno lo stesso risultato, ma $B$ non è la matrice nulla. **Perché succede.** La seconda colonna di $A$ è il doppio della prima: $A$ ha rango 1. Ogni colonna di $AB$ è una ricetta fatta con le colonne di $A$, e le quantità sono i numeri di una colonna di $B$. La prima colonna di $B$ contiene 2 e $-1$: la ricetta è «due volte la prima colonna di $A$, meno la seconda». Viene $(2 - 2,\ 4 - 4)$, cioè zero. La seconda colonna di $B$ contiene $-4$ e 2: la ricetta è «$-4$ volte la prima colonna di $A$, più due volte la seconda». Viene $(-4 + 4,\ -8 + 8)$, di nuovo zero. ::: ::: esercizio medio Potenze e il quadrato di una somma Prendi $A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ e $B = \begin{pmatrix} 0 & 0 \\ 1 & 0 \end{pmatrix}$. (a) Calcola $A^2$ e $A^3$ e indovina $A^n$. (b) Calcola $(A + B)^2$ e $A^2 + 2AB + B^2$: sono uguali? ::: soluzione Qui il numero in alto è una potenza: $A^2$ vuol dire $A$ per $A$, e $A^3$ vuol dire $A^2$ per $A$. (a) **Il quadrato.** $$A^2 = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 \cdot 1 + 1 \cdot 0 & 1 \cdot 1 + 1 \cdot 1 \\ 0 \cdot 1 + 1 \cdot 0 & 0 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$$ **Il cubo.** Moltiplico il quadrato per $A$: $$A^3 = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 \cdot 1 + 2 \cdot 0 & 1 \cdot 1 + 2 \cdot 1 \\ 0 \cdot 1 + 1 \cdot 0 & 0 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 & 3 \\ 0 & 1 \end{pmatrix}$$ **La regola.** Ogni volta il numero in alto a destra aumenta di 1, e gli altri restano fermi. Quindi dopo $n$ moltiplicazioni: $$A^n = \begin{pmatrix} 1 & n \\ 0 & 1 \end{pmatrix}$$ Il controllo: se moltiplico questa matrice ancora per $A$, in alto a destra viene $1 \cdot 1 + n \cdot 1 = n + 1$. Il numero aumenta di 1 a ogni passo, come previsto. (b) **Il lato sinistro.** Prima la somma, poi il quadrato: $$A + B = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix} \qquad (A + B)^2 = \begin{pmatrix} 1 \cdot 1 + 1 \cdot 1 & 1 \cdot 1 + 1 \cdot 1 \\ 1 \cdot 1 + 1 \cdot 1 & 1 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 2 & 2 \\ 2 & 2 \end{pmatrix}$$ **I pezzi del lato destro.** $$AB = \begin{pmatrix} 1 \cdot 0 + 1 \cdot 1 & 1 \cdot 0 + 1 \cdot 0 \\ 0 \cdot 0 + 1 \cdot 1 & 0 \cdot 0 + 1 \cdot 0 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 1 & 0 \end{pmatrix}$$ $$B^2 = \begin{pmatrix} 0 \cdot 0 + 0 \cdot 1 & 0 \cdot 0 + 0 \cdot 0 \\ 1 \cdot 0 + 0 \cdot 1 & 1 \cdot 0 + 0 \cdot 0 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix}$$ Anche qui un prodotto è nullo senza che lo sia il fattore $B$. **Il lato destro.** $$A^2 + 2AB + B^2 = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix} + \begin{pmatrix} 2 & 0 \\ 2 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix} = \begin{pmatrix} 3 & 2 \\ 2 & 1 \end{pmatrix}$$ Non è uguale a $(A + B)^2$: i due lati sono diversi. **La formula giusta.** Il quadrato di una somma è $(A + B)(A + B) = A^2 + AB + BA + B^2$. Serve anche $BA$: $$BA = \begin{pmatrix} 0 \cdot 1 + 0 \cdot 0 & 0 \cdot 1 + 0 \cdot 1 \\ 1 \cdot 1 + 0 \cdot 0 & 1 \cdot 1 + 0 \cdot 1 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\ 1 & 1 \end{pmatrix}$$ $$A^2 + AB + BA + B^2 = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix} + \begin{pmatrix} 1 & 0 \\ 1 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0 \\ 1 & 1 \end{pmatrix} + \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix} = \begin{pmatrix} 2 & 2 \\ 2 & 2 \end{pmatrix}$$ Questa volta torna. Il «doppio prodotto» imparato a scuola funziona solo quando $AB$ e $BA$ sono uguali. ::: ::: esercizio medio Esercizio 8.16 delle dispense: associatività sì, commutatività no Siano $A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}$, $B = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{pmatrix}$, $C = \begin{pmatrix} -1 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & -1 & 0 \end{pmatrix}$. Calcolare $(AB)C$, $A(BC)$, $(BA)C$ e $C(BA)$. ::: soluzione Le parentesi dicono quale prodotto va fatto per primo. Servono sette prodotti in tutto. In ogni tabella: la riga scritta a sinistra per la colonna scritta in alto. **1. Il prodotto $AB$.** Le colonne di $B$ contengono $1, 0, 1$, poi $0, 1, 0$, poi $1, 0, 1$. | | colonna 1 di $B$ | colonna 2 di $B$ | colonna 3 di $B$ | |---|---|---|---| | riga 1 di $A$: $(1, 2, 3)$ | $1 \cdot 1 + 2 \cdot 0 + 3 \cdot 1 = 4$ | $1 \cdot 0 + 2 \cdot 1 + 3 \cdot 0 = 2$ | $1 \cdot 1 + 2 \cdot 0 + 3 \cdot 1 = 4$ | | riga 2 di $A$: $(4, 5, 6)$ | $4 \cdot 1 + 5 \cdot 0 + 6 \cdot 1 = 10$ | $4 \cdot 0 + 5 \cdot 1 + 6 \cdot 0 = 5$ | $4 \cdot 1 + 5 \cdot 0 + 6 \cdot 1 = 10$ | | riga 3 di $A$: $(7, 8, 9)$ | $7 \cdot 1 + 8 \cdot 0 + 9 \cdot 1 = 16$ | $7 \cdot 0 + 8 \cdot 1 + 9 \cdot 0 = 8$ | $7 \cdot 1 + 8 \cdot 0 + 9 \cdot 1 = 16$ | $$AB = \begin{pmatrix} 4 & 2 & 4 \\ 10 & 5 & 10 \\ 16 & 8 & 16 \end{pmatrix}$$ **2. Il prodotto $(AB)C$.** Le colonne di $C$ contengono $-1, 0, 0$, poi $0, 0, -1$, poi $0, -1, 0$. In ogni colonna c'è un solo numero diverso da zero. Quindi in ogni conto resta un pezzo solo: gli altri due sono moltiplicati per 0. | | colonna 1 di $C$ | colonna 2 di $C$ | colonna 3 di $C$ | |---|---|---|---| | riga 1 di $AB$: $(4, 2, 4)$ | $4 \cdot (-1) = -4$ | $4 \cdot (-1) = -4$ | $2 \cdot (-1) = -2$ | | riga 2 di $AB$: $(10, 5, 10)$ | $10 \cdot (-1) = -10$ | $10 \cdot (-1) = -10$ | $5 \cdot (-1) = -5$ | | riga 3 di $AB$: $(16, 8, 16)$ | $16 \cdot (-1) = -16$ | $16 \cdot (-1) = -16$ | $8 \cdot (-1) = -8$ | Nella prima colonna si usa il primo numero della riga. Nella seconda colonna si usa il terzo, perché il $-1$ di quella colonna sta in basso. Nella terza colonna si usa il secondo. $$(AB)C = \begin{pmatrix} -4 & -4 & -2 \\ -10 & -10 & -5 \\ -16 & -16 & -8 \end{pmatrix}$$ **3. Il prodotto $BC$.** Stesso criterio: in ogni conto resta un pezzo solo. | | colonna 1 di $C$ | colonna 2 di $C$ | colonna 3 di $C$ | |---|---|---|---| | riga 1 di $B$: $(1, 0, 1)$ | $1 \cdot (-1) = -1$ | $1 \cdot (-1) = -1$ | $0 \cdot (-1) = 0$ | | riga 2 di $B$: $(0, 1, 0)$ | $0 \cdot (-1) = 0$ | $0 \cdot (-1) = 0$ | $1 \cdot (-1) = -1$ | | riga 3 di $B$: $(1, 0, 1)$ | $1 \cdot (-1) = -1$ | $1 \cdot (-1) = -1$ | $0 \cdot (-1) = 0$ | $$BC = \begin{pmatrix} -1 & -1 & 0 \\ 0 & 0 & -1 \\ -1 & -1 & 0 \end{pmatrix}$$ **4. Il prodotto $A(BC)$.** Le colonne di $BC$ contengono $-1, 0, -1$, poi di nuovo $-1, 0, -1$, poi $0, -1, 0$. | | colonna 1 di $BC$ | colonna 2 di $BC$ | colonna 3 di $BC$ | |---|---|---|---| | riga 1 di $A$: $(1, 2, 3)$ | $1 \cdot (-1) + 2 \cdot 0 + 3 \cdot (-1) = -4$ | $1 \cdot (-1) + 2 \cdot 0 + 3 \cdot (-1) = -4$ | $1 \cdot 0 + 2 \cdot (-1) + 3 \cdot 0 = -2$ | | riga 2 di $A$: $(4, 5, 6)$ | $4 \cdot (-1) + 5 \cdot 0 + 6 \cdot (-1) = -10$ | $4 \cdot (-1) + 5 \cdot 0 + 6 \cdot (-1) = -10$ | $4 \cdot 0 + 5 \cdot (-1) + 6 \cdot 0 = -5$ | | riga 3 di $A$: $(7, 8, 9)$ | $7 \cdot (-1) + 8 \cdot 0 + 9 \cdot (-1) = -16$ | $7 \cdot (-1) + 8 \cdot 0 + 9 \cdot (-1) = -16$ | $7 \cdot 0 + 8 \cdot (-1) + 9 \cdot 0 = -8$ | $$A(BC) = \begin{pmatrix} -4 & -4 & -2 \\ -10 & -10 & -5 \\ -16 & -16 & -8 \end{pmatrix} = (AB)C$$ Le due matrici sono uguali, come dice l'associatività (Proposizione 8.11). **5. Il prodotto $BA$.** Le colonne di $A$ contengono $1, 4, 7$, poi $2, 5, 8$, poi $3, 6, 9$. | | colonna 1 di $A$ | colonna 2 di $A$ | colonna 3 di $A$ | |---|---|---|---| | riga 1 di $B$: $(1, 0, 1)$ | $1 \cdot 1 + 0 \cdot 4 + 1 \cdot 7 = 8$ | $1 \cdot 2 + 0 \cdot 5 + 1 \cdot 8 = 10$ | $1 \cdot 3 + 0 \cdot 6 + 1 \cdot 9 = 12$ | | riga 2 di $B$: $(0, 1, 0)$ | $0 \cdot 1 + 1 \cdot 4 + 0 \cdot 7 = 4$ | $0 \cdot 2 + 1 \cdot 5 + 0 \cdot 8 = 5$ | $0 \cdot 3 + 1 \cdot 6 + 0 \cdot 9 = 6$ | | riga 3 di $B$: $(1, 0, 1)$ | $1 \cdot 1 + 0 \cdot 4 + 1 \cdot 7 = 8$ | $1 \cdot 2 + 0 \cdot 5 + 1 \cdot 8 = 10$ | $1 \cdot 3 + 0 \cdot 6 + 1 \cdot 9 = 12$ | $$BA = \begin{pmatrix} 8 & 10 & 12 \\ 4 & 5 & 6 \\ 8 & 10 & 12 \end{pmatrix}$$ **6. Il prodotto $(BA)C$.** Come al punto 2: in ogni conto resta un pezzo solo. | | colonna 1 di $C$ | colonna 2 di $C$ | colonna 3 di $C$ | |---|---|---|---| | riga 1 di $BA$: $(8, 10, 12)$ | $8 \cdot (-1) = -8$ | $12 \cdot (-1) = -12$ | $10 \cdot (-1) = -10$ | | riga 2 di $BA$: $(4, 5, 6)$ | $4 \cdot (-1) = -4$ | $6 \cdot (-1) = -6$ | $5 \cdot (-1) = -5$ | | riga 3 di $BA$: $(8, 10, 12)$ | $8 \cdot (-1) = -8$ | $12 \cdot (-1) = -12$ | $10 \cdot (-1) = -10$ | $$(BA)C = \begin{pmatrix} -8 & -12 & -10 \\ -4 & -6 & -5 \\ -8 & -12 & -10 \end{pmatrix}$$ **7. Il prodotto $C(BA)$.** Adesso $C$ sta a sinistra, quindi si usano le sue righe: $(-1, 0, 0)$, $(0, 0, -1)$, $(0, -1, 0)$. Le colonne di $BA$ contengono $8, 4, 8$, poi $10, 5, 10$, poi $12, 6, 12$. | | colonna 1 di $BA$ | colonna 2 di $BA$ | colonna 3 di $BA$ | |---|---|---|---| | riga 1 di $C$: $(-1, 0, 0)$ | $(-1) \cdot 8 = -8$ | $(-1) \cdot 10 = -10$ | $(-1) \cdot 12 = -12$ | | riga 2 di $C$: $(0, 0, -1)$ | $(-1) \cdot 8 = -8$ | $(-1) \cdot 10 = -10$ | $(-1) \cdot 12 = -12$ | | riga 3 di $C$: $(0, -1, 0)$ | $(-1) \cdot 4 = -4$ | $(-1) \cdot 5 = -5$ | $(-1) \cdot 6 = -6$ | La riga 1 di $C$ usa il primo numero di ogni colonna, la riga 2 usa il terzo, la riga 3 usa il secondo. $$C(BA) = \begin{pmatrix} -8 & -10 & -12 \\ -8 & -10 & -12 \\ -4 & -5 & -6 \end{pmatrix}$$ **La morale.** $(AB)C$ e $A(BC)$ sono uguali: le parentesi si possono spostare. Invece $(BA)C$ e $C(BA)$ sono diverse: le lettere non si possono scambiare. Nota che moltiplicare per $C$ **a destra** cambia segno e scambia due **colonne**, mentre moltiplicare per $C$ **a sinistra** cambia segno e scambia due **righe**. ::: ::: esercizio medio Esercizio 8.14 delle dispense: la trasposta di un prodotto Dimostrare che vale la relazione ${}^t(AB) = {}^tB\,{}^tA$. ::: soluzione **L'idea.** Due matrici sono uguali quando hanno la stessa taglia e lo stesso numero in ogni casella. Quindi controllo la taglia, e poi una casella qualsiasi. Chiamo $m \times n$ la taglia di $A$ e $n \times p$ la taglia di $B$. Così il prodotto $AB$ esiste ed è $m \times p$. 1. **Le taglie tornano.** La trasposta di $AB$ è $p \times m$. La trasposta di $B$ è $p \times n$ e quella di $A$ è $n \times m$. I numeri interni sono uguali, quindi ${}^tB\,{}^tA$ esiste ed è $p \times m$. Nell'ordine sbagliato le taglie sarebbero $(n \times m) \cdot (p \times n)$, e di solito quel prodotto non esiste. 2. **La casella di riga $i$ e colonna $j$ del lato sinistro.** Per la regola della trasposta è la casella di riga $j$ e colonna $i$ di $AB$. Per la formula del prodotto è la riga $j$ di $A$ per la colonna $i$ di $B$: $$({}^t(AB))_{ij} = (AB)_{ji} = \sum_{k=1}^n A_{jk}B_{ki}.$$ 3. **La casella di riga $i$ e colonna $j$ del lato destro.** Per la formula del prodotto è la riga $i$ di ${}^tB$ per la colonna $j$ di ${}^tA$. Per la regola della trasposta, in ogni pezzo gli indici si scambiano: $$({}^tB\,{}^tA)_{ij} = \sum_{k=1}^n ({}^tB)_{ik}({}^tA)_{kj} = \sum_{k=1}^n B_{ki}A_{jk}.$$ 4. **Il confronto.** Le due somme hanno gli stessi pezzi: $A_{jk}B_{ki}$ e $B_{ki}A_{jk}$ sono lo stesso numero, perché tra numeri l'ordine di un prodotto non conta. Le due matrici hanno la stessa taglia e lo stesso numero in ogni casella: sono uguali. **Lo stesso ragionamento a parole.** La riga $i$ di ${}^tB$ contiene i numeri della colonna $i$ di $B$. La colonna $j$ di ${}^tA$ contiene i numeri della riga $j$ di $A$. Quindi «riga $i$ di ${}^tB$ per colonna $j$ di ${}^tA$» usa gli stessi numeri di «riga $j$ di $A$ per colonna $i$ di $B$». E quest'ultimo conto è la casella di $AB$ che, dopo la trasposizione, finisce nella riga $i$ e nella colonna $j$. **Controllo con i numeri** dell'Esempio 8.8. Lì avevamo trovato $$AB = \begin{pmatrix} 5 & 2 & 6 & 1 \\ 4 & -2 & 3 & -1 \\ 9 & 0 & 9 & 0 \end{pmatrix}$$ La prima riga della trasposta di $AB$ è la prima colonna di $AB$: contiene $5, 4, 9$. Dall'altro lato, la prima riga di ${}^tB$ è la prima colonna di $B$: $(-1, 3)$. Le colonne di ${}^tA$ sono le righe di $A$: contengono 1 e 2, poi $-1$ e 1, poi 0 e 3. I tre conti: - $(-1) \cdot 1 + 3 \cdot 2 = -1 + 6 = 5$; - $(-1) \cdot (-1) + 3 \cdot 1 = 1 + 3 = 4$; - $(-1) \cdot 0 + 3 \cdot 3 = 0 + 9 = 9$. Viene $5, 4, 9$: la stessa riga. ::: ::: esercizio difficile Le matrici che commutano con una matrice data Trova tutte le matrici $X = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \in M(2, \R)$ per cui $AX = XA$, dove $A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$. ::: soluzione Due matrici **commutano** quando il loro prodotto è lo stesso nei due ordini. Le lettere $a$, $b$, $c$, $d$ sono i quattro numeri di $X$, che non conosciamo: l'esercizio chiede quali valori possono avere. **1. Il prodotto $AX$.** Le righe di $A$ sono $(1, 1)$ e $(0, 1)$. Le colonne di $X$ contengono $a$ e $c$, poi $b$ e $d$. $$AX = \begin{pmatrix} 1 \cdot a + 1 \cdot c & 1 \cdot b + 1 \cdot d \\ 0 \cdot a + 1 \cdot c & 0 \cdot b + 1 \cdot d \end{pmatrix} = \begin{pmatrix} a + c & b + d \\ c & d \end{pmatrix}$$ **2. Il prodotto $XA$.** Le righe di $X$ sono $(a, b)$ e $(c, d)$. Le colonne di $A$ contengono 1 e 0, poi 1 e 1. $$XA = \begin{pmatrix} a \cdot 1 + b \cdot 0 & a \cdot 1 + b \cdot 1 \\ c \cdot 1 + d \cdot 0 & c \cdot 1 + d \cdot 1 \end{pmatrix} = \begin{pmatrix} a & a + b \\ c & c + d \end{pmatrix}$$ **3. Uguaglio casella per casella.** Le due matrici sono uguali quando lo sono tutte e quattro le caselle. | Casella | Condizione | Che cosa dice | |---|---|---| | riga 1, colonna 1 | $a + c = a$ | tolgo $a$ dai due lati: $c = 0$ | | riga 1, colonna 2 | $b + d = a + b$ | tolgo $b$ dai due lati: $d = a$ | | riga 2, colonna 1 | $c = c$ | sempre vera | | riga 2, colonna 2 | $d = c + d$ | tolgo $d$ dai due lati: di nuovo $c = 0$ | **4. La risposta.** Serve $c = 0$ e $d = a$. I numeri $a$ e $b$ restano liberi: puoi sceglierli come vuoi. Le matrici cercate sono $$X = \begin{pmatrix} a & b \\ 0 & a \end{pmatrix} = a \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} + b \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}, \qquad a, b \in \R.$$ Sono tutte le ricette fatte con due matrici fisse. Per questo formano un sottospazio di $M(2, \R)$ di dimensione 2. **Controllo** con $a = 2$ e $b = 3$, cioè $X = \begin{pmatrix} 2 & 3 \\ 0 & 2 \end{pmatrix}$: $$AX = \begin{pmatrix} 1 \cdot 2 + 1 \cdot 0 & 1 \cdot 3 + 1 \cdot 2 \\ 0 \cdot 2 + 1 \cdot 0 & 0 \cdot 3 + 1 \cdot 2 \end{pmatrix} = \begin{pmatrix} 2 & 5 \\ 0 & 2 \end{pmatrix} \qquad XA = \begin{pmatrix} 2 \cdot 1 + 3 \cdot 0 & 2 \cdot 1 + 3 \cdot 1 \\ 0 \cdot 1 + 2 \cdot 0 & 0 \cdot 1 + 2 \cdot 1 \end{pmatrix} = \begin{pmatrix} 2 & 5 \\ 0 & 2 \end{pmatrix}$$ I due prodotti sono uguali. Una matrice con $c$ diverso da zero, invece, **non** commuta con $A$. È il caso della matrice $B$ dell'esercizio 9, che ha $c = 1$: lì $AB$ e $BA$ sono diverse. Commutare è un'eccezione, non la regola. ::: ::: esercizio difficile La traccia di $A\,{}^tA$ (a) Dimostra che per ogni matrice reale $A$ di taglia $m \times n$ vale $\tr(A\,{}^tA) = \sum_{i, j} a_{ij}^2$. (b) Deduci che se $\tr(A\,{}^tA) = 0$ allora $A = 0$. (c) Mostra con $A = \begin{pmatrix} 1 & i \\ 0 & 0 \end{pmatrix} \in M(2, \C)$ che (b) è falso sui numeri complessi. ::: soluzione A parole, il punto (a) dice: la traccia di una matrice per la sua trasposta è la **somma dei quadrati di tutti i suoi numeri**. La scrittura $\sum_{i, j} a_{ij}^2$ vuol dire proprio questo: si somma $a_{ij}^2$ per tutte le caselle. (a) **Passo 1: la traccia esiste.** $A$ è $m \times n$ e la sua trasposta è $n \times m$. Il prodotto $A\,{}^tA$ è $m \times m$: è quadrato. **Passo 2: una casella diagonale.** La casella di riga $i$ e colonna $i$ del prodotto è la riga $i$ di $A$ per la colonna $i$ di ${}^tA$. Ma la colonna $i$ della trasposta contiene i numeri della riga $i$ di $A$. Quindi è la riga $i$ per sé stessa: ogni numero della riga viene moltiplicato per sé stesso, e poi si somma. $$(A\,{}^tA)_{ii} = \sum_{j=1}^n A_{ij}({}^tA)_{ji} = \sum_{j=1}^n A_{ij}A_{ij} = \sum_{j=1}^n a_{ij}^2.$$ È la somma dei quadrati dei numeri della riga $i$. **Passo 3: la traccia.** La traccia somma le caselle diagonali, una per ogni riga. Sommando le righe si ottiene la somma dei quadrati di tutti i numeri della matrice. **Un controllo con i numeri.** Per la matrice $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ le due caselle diagonali del prodotto sono $1 \cdot 1 + 2 \cdot 2 = 5$ e $3 \cdot 3 + 4 \cdot 4 = 25$. La traccia è $5 + 25 = 30$. La somma dei quadrati è $1 + 4 + 9 + 16 = 30$. (b) Il quadrato di un numero reale non è mai negativo: è zero solo per il numero zero, altrimenti è positivo. Una somma di numeri che non sono mai negativi fa zero solo se sono **tutti** zero. Quindi ogni $a_{ij}^2$ è zero, cioè ogni $a_{ij}$ è zero. La matrice $A$ è la matrice nulla. (c) Qui $i$ non è un indice: è l'unità immaginaria della lezione L02, il numero per cui $i \cdot i = -1$. La trasposta è ${}^tA = \begin{pmatrix} 1 & 0 \\ i & 0 \end{pmatrix}$. Il prodotto: $$A\,{}^tA = \begin{pmatrix} 1 & i \\ 0 & 0 \end{pmatrix} \begin{pmatrix} 1 & 0 \\ i & 0 \end{pmatrix} = \begin{pmatrix} 1 \cdot 1 + i \cdot i & 1 \cdot 0 + i \cdot 0 \\ 0 \cdot 1 + 0 \cdot i & 0 \cdot 0 + 0 \cdot 0 \end{pmatrix} = \begin{pmatrix} 1 - 1 & 0 \\ 0 & 0 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix}$$ La traccia è 0, ma $A$ non è la matrice nulla. Con i numeri complessi i quadrati possono cancellarsi tra loro: $1^2 + i^2 = 1 - 1 = 0$. È uno dei motivi per cui, per i vettori complessi, nella lezione L25 arriverà il prodotto hermitiano. ::: ::: esercizio esame Quale identità vale? Siano $A = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 2 & -1 & 3 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 1 & 0 \\ 3 & -1 & 0 \end{pmatrix}$. Quale identità vale? (a) $AB = BA$; (b) $AB = A$; (c) $AB = B$; (d) $BA = A$; (e) $BA = B$. ::: soluzione Seguo il metodo «Quale identità vale?»: calcolo $AB$, lo confronto con $A$ e con $B$, poi calcolo $BA$. **1. Il prodotto $AB$.** Le colonne di $B$ contengono $1, 0, 3$, poi $2, 1, -1$, poi $0, 0, 0$. | | colonna 1 di $B$ | colonna 2 di $B$ | colonna 3 di $B$ | |---|---|---|---| | riga 1 di $A$: $(1, 0, 0)$ | $1 \cdot 1 + 0 \cdot 0 + 0 \cdot 3 = 1$ | $1 \cdot 2 + 0 \cdot 1 + 0 \cdot (-1) = 2$ | $0$ | | riga 2 di $A$: $(0, 1, 0)$ | $0 \cdot 1 + 1 \cdot 0 + 0 \cdot 3 = 0$ | $0 \cdot 2 + 1 \cdot 1 + 0 \cdot (-1) = 1$ | $0$ | | riga 3 di $A$: $(2, -1, 3)$ | $2 \cdot 1 + (-1) \cdot 0 + 3 \cdot 3 = 11$ | $2 \cdot 2 + (-1) \cdot 1 + 3 \cdot (-1) = 0$ | $0$ | Nella terza colonna viene sempre 0, perché la terza colonna di $B$ è fatta di zeri. $$AB = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 1 & 0 \\ 11 & 0 & 0 \end{pmatrix}$$ **2. Il confronto.** Guardo la casella di riga 3 e colonna 1. In $AB$ c'è 11, in $A$ c'è 2, in $B$ c'è 3. Basta questa casella: $AB$ non è uguale ad $A$ e non è uguale a $B$. Le risposte (b) e (c) sono false. **3. Il prodotto $BA$.** Le colonne di $A$ contengono $1, 0, 2$, poi $0, 1, -1$, poi $0, 0, 3$. | | colonna 1 di $A$ | colonna 2 di $A$ | colonna 3 di $A$ | |---|---|---|---| | riga 1 di $B$: $(1, 2, 0)$ | $1 \cdot 1 + 2 \cdot 0 + 0 \cdot 2 = 1$ | $1 \cdot 0 + 2 \cdot 1 + 0 \cdot (-1) = 2$ | $1 \cdot 0 + 2 \cdot 0 + 0 \cdot 3 = 0$ | | riga 2 di $B$: $(0, 1, 0)$ | $0 \cdot 1 + 1 \cdot 0 + 0 \cdot 2 = 0$ | $0 \cdot 0 + 1 \cdot 1 + 0 \cdot (-1) = 1$ | $0 \cdot 0 + 1 \cdot 0 + 0 \cdot 3 = 0$ | | riga 3 di $B$: $(3, -1, 0)$ | $3 \cdot 1 + (-1) \cdot 0 + 0 \cdot 2 = 3$ | $3 \cdot 0 + (-1) \cdot 1 + 0 \cdot (-1) = -1$ | $3 \cdot 0 + (-1) \cdot 0 + 0 \cdot 3 = 0$ | $$BA = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 1 & 0 \\ 3 & -1 & 0 \end{pmatrix} = B$$ **4. La risposta.** $BA = B$: la risposta giusta è la **(e)**. Le altre due sono false. La (d) perché $BA$ è uguale a $B$, e $B$ è diversa da $A$. La (a) perché nella riga 3 e colonna 1 il prodotto $AB$ ha 11 e il prodotto $BA$ ha 3. ::: ::: esercizio esame Una traccia di tre fattori e un rango $4 \times 4$ (a) Siano $A = \begin{pmatrix} 1 & -1 \\ 0 & 2 \end{pmatrix}$, $B = \begin{pmatrix} 2 & 0 \\ 1 & 1 \end{pmatrix}$, $C = \begin{pmatrix} 0 & 1 \\ 1 & -1 \end{pmatrix}$. Calcola $\tr(ABC)$ e confrontala con $\tr(ACB)$. (b) Determina il rango di $M = \begin{pmatrix} 1 & 0 & 1 & 2 \\ 0 & 3 & 0 & 1 \\ 1 & 6 & 1 & 4 \\ 2 & 3 & 2 & 5 \end{pmatrix}$. ::: soluzione (a) Seguo il metodo per le tracce: calcolo per intero il prodotto delle prime due matrici, poi solo le caselle diagonali del prodotto con la terza. **1. Il prodotto $AB$.** $$AB = \begin{pmatrix} 1 \cdot 2 + (-1) \cdot 1 & 1 \cdot 0 + (-1) \cdot 1 \\ 0 \cdot 2 + 2 \cdot 1 & 0 \cdot 0 + 2 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 & -1 \\ 2 & 2 \end{pmatrix}$$ **2. La diagonale di $(AB)C$.** Le colonne di $C$ contengono 0 e 1, poi 1 e $-1$. - Riga 1 di $AB$ per colonna 1 di $C$: $1 \cdot 0 + (-1) \cdot 1 = -1$. - Riga 2 di $AB$ per colonna 2 di $C$: $2 \cdot 1 + 2 \cdot (-1) = 0$. Quindi $\tr(ABC) = -1 + 0 = -1$. **3. Il prodotto $AC$.** $$AC = \begin{pmatrix} 1 \cdot 0 + (-1) \cdot 1 & 1 \cdot 1 + (-1) \cdot (-1) \\ 0 \cdot 0 + 2 \cdot 1 & 0 \cdot 1 + 2 \cdot (-1) \end{pmatrix} = \begin{pmatrix} -1 & 2 \\ 2 & -2 \end{pmatrix}$$ **4. La diagonale di $(AC)B$.** Le colonne di $B$ contengono 2 e 1, poi 0 e 1. - Riga 1 di $AC$ per colonna 1 di $B$: $(-1) \cdot 2 + 2 \cdot 1 = 0$. - Riga 2 di $AC$ per colonna 2 di $B$: $2 \cdot 0 + (-2) \cdot 1 = -2$. Quindi $\tr(ACB) = 0 + (-2) = -2$. **5. Il confronto.** Le due tracce sono diverse: $-1$ e $-2$. Far girare i fattori ($BCA$, $CAB$) non cambia la traccia. Scambiare due fattori vicini, come $B$ e $C$, può cambiarla. (b) Cerco i doppioni tra le righe. Le chiamo riga 1, riga 2, riga 3 e riga 4. **La riga 3 è la riga 1 più due volte la riga 2.** | | primo numero | secondo numero | terzo numero | quarto numero | |---|---|---|---|---| | riga 1 | $1$ | $0$ | $1$ | $2$ | | 2 volte la riga 2 | $2 \cdot 0 = 0$ | $2 \cdot 3 = 6$ | $2 \cdot 0 = 0$ | $2 \cdot 1 = 2$ | | somma | $1 + 0 = 1$ | $0 + 6 = 6$ | $1 + 0 = 1$ | $2 + 2 = 4$ | Viene $(1, 6, 1, 4)$: è la riga 3. **La riga 4 è due volte la riga 1 più la riga 2.** | | primo numero | secondo numero | terzo numero | quarto numero | |---|---|---|---|---| | 2 volte la riga 1 | $2 \cdot 1 = 2$ | $2 \cdot 0 = 0$ | $2 \cdot 1 = 2$ | $2 \cdot 2 = 4$ | | riga 2 | $0$ | $3$ | $0$ | $1$ | | somma | $2 + 0 = 2$ | $0 + 3 = 3$ | $2 + 0 = 2$ | $4 + 1 = 5$ | Viene $(2, 3, 2, 5)$: è la riga 4. Le righe 3 e 4 sono doppioni, e le tolgo. Restano la riga 1 e la riga 2. Non sono una il multiplo dell'altra: la riga 1 ha 0 al secondo posto, dove la riga 2 ha 3. La riga 2 ha 0 al primo posto, dove la riga 1 ha 1. Quindi sono indipendenti, e $\rk(M) = 2$. Si poteva notare anche che la terza colonna è uguale alla prima. Ma questo dice solo che il rango è al massimo 3: per arrivare a 2 servono le relazioni tra le righe. ::: ::: esercizio esame Quando $A$ è simmetrica? Prendi $A = \begin{pmatrix} 2 & k & 1 \\ k^2 & 1 & k \\ 1 & 1 & 0 \end{pmatrix}$, con $k \in \R$. (a) Calcola ${}^tA - A$. (b) Per quali $k$ la matrice $A$ è simmetrica? (c) Verifica che ${}^tA - A$ è antisimmetrica per ogni $k$. ::: soluzione La lettera $k$ è un parametro: un numero reale che non conosciamo, e che nei conti resta scritto come lettera. (a) **La trasposta.** Le righe diventano colonne. La prima riga contiene $2, k, 1$. La seconda contiene $k^2, 1, k$. La terza contiene $1, 1, 0$. $${}^tA = \begin{pmatrix} 2 & k^2 & 1 \\ k & 1 & 1 \\ 1 & k & 0 \end{pmatrix}$$ **La differenza, casella per casella.** In ogni casella: il numero di ${}^tA$ meno il numero di $A$. | | colonna 1 | colonna 2 | colonna 3 | |---|---|---|---| | riga 1 | $2 - 2 = 0$ | $k^2 - k$ | $1 - 1 = 0$ | | riga 2 | $k - k^2$ | $1 - 1 = 0$ | $1 - k$ | | riga 3 | $1 - 1 = 0$ | $k - 1$ | $0 - 0 = 0$ | $${}^tA - A = \begin{pmatrix} 0 & k^2 - k & 0 \\ k - k^2 & 0 & 1 - k \\ 0 & k - 1 & 0 \end{pmatrix}.$$ (b) La matrice è simmetrica esattamente quando ${}^tA - A$ è la matrice nulla. Servono due condizioni **insieme**. 1. $k^2 - k = 0$. Raccolgo $k$: $k \cdot (k - 1) = 0$. Un prodotto di due numeri è zero quando uno dei due è zero: $k = 0$ oppure $k = 1$. 2. $1 - k = 0$, cioè $k = 1$. Il solo valore che va bene per tutte e due è $k = 1$. Quindi $A$ è simmetrica **solo per $k = 1$**. **Controllo.** Con $k = 1$ la matrice diventa $\begin{pmatrix} 2 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 0 \end{pmatrix}$, che è simmetrica. Con $k = 0$ diventa $\begin{pmatrix} 2 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 0 \end{pmatrix}$: nella riga 2 e colonna 3 c'è 0, nella riga 3 e colonna 2 c'è 1. Non è simmetrica. (c) Guardo la matrice del punto (a). La diagonale è fatta di zeri. Le coppie di caselle ribaltate contengono numeri opposti: - $k^2 - k$ e $k - k^2$; - $0$ e $0$; - $1 - k$ e $k - 1$. Quindi la matrice è antisimmetrica, qualunque sia $k$. Vale per ogni matrice quadrata: se trasponi ${}^tA - A$ ottieni $A - {}^tA$, perché trasporre due volte riporta ad $A$. E $A - {}^tA$ è la matrice di partenza con tutti i segni cambiati. ::: ## Domande di ripasso ::: domanda Che cos'è la trasposta di una matrice e che taglia ha? È la matrice che si ottiene scambiando le righe con le colonne: la prima riga diventa la prima colonna, la seconda riga la seconda colonna, e avanti così. Si scrive ${}^tA$. Se la matrice di partenza è $m \times n$, la trasposta è $n \times m$. La regola degli indirizzi è $({}^tA)_{ij} = A_{ji}$. ::: ::: domanda Come si riconoscono con la trasposta le matrici simmetriche e antisimmetriche? Perché un'antisimmetrica ha la diagonale nulla? Una matrice quadrata è simmetrica se è uguale alla sua trasposta: ${}^tA = A$. È antisimmetrica se la sua trasposta è la matrice con tutti i segni cambiati: ${}^tA = -A$. Una casella della diagonale, ribaltata, resta sé stessa. In una matrice antisimmetrica il suo numero deve quindi essere uguale al proprio opposto. L'unico numero così è lo 0. ::: ::: domanda Che cosa vuol dire la scrittura ${}^t(1, 0, -1)$? È il vettore colonna con i numeri 1, 0 e $-1$, letti dall'alto in basso. Si scrive in riga, con la piccola $t$ davanti, per risparmiare spazio. ::: ::: domanda Come si definisce il rango di una matrice? È la dimensione dello spazio generato dalle colonne, cioè dello Span delle colonne. Lo stesso numero si ottiene contando quante colonne indipendenti si possono scegliere al massimo (Proposizione 8.4). ::: ::: domanda Perché il rango è il massimo numero di colonne indipendenti? Le colonne generano il loro Span. Se una colonna è un doppione, cioè una combinazione lineare delle altre, si può togliere: lo Span non cambia. Togliendo un doppione alla volta restano colonne indipendenti che generano lo stesso spazio. Sono una base, e il loro numero è la dimensione. Un gruppo più numeroso sarebbe dipendente. ::: ::: domanda Che relazione c'è tra rango per righe e rango per colonne? Sono uguali per ogni matrice (Proposizione 8.6). Con la trasposta si scrive $\rk({}^tA) = \rk(A)$. Per calcolare un rango si possono guardare le righe oppure le colonne, a scelta. ::: ::: domanda Perché $\rk(A) \le \min(m, n)$? Il rango conta colonne indipendenti, che non possono essere più delle $n$ colonne della matrice. Conta anche righe indipendenti, che non possono essere più delle $m$ righe. Quindi non supera il più piccolo dei due numeri. ::: ::: domanda Quando si può fare il prodotto $AB$, e che taglia ha? Quando le colonne di $A$ sono tante quante le righe di $B$. Scrivendo le taglie una accanto all'altra, i due numeri interni devono essere uguali. I due numeri esterni danno la taglia del prodotto: $(m \times n) \cdot (n \times p)$ dà una matrice $m \times p$. ::: ::: domanda Come si calcola l'elemento $(AB)_{ij}$? Si prende la riga $i$ di $A$ e la colonna $j$ di $B$. Si moltiplica il primo numero della riga per il primo della colonna, il secondo per il secondo, e avanti così. Poi si somma tutto. Con i simboli: $(AB)_{ij} = A_{i1}B_{1j} + \dots + A_{in}B_{nj}$. ::: ::: domanda Il prodotto di matrici è commutativo? Fai un esempio. No: di solito scambiando le due matrici il risultato cambia. Nell'Esempio 8.10, con $A = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}$ e $B = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}$, il prodotto $AB$ è uguale a $B$ e il prodotto $BA$ è la matrice nulla. ::: ::: domanda Quali proprietà valgono per il prodotto di matrici? Tre (Proposizione 8.11). L'associatività: $A(BC) = (AB)C$. La distributività, in due versioni: $A(B + C) = AB + AC$ e $(A + B)C = AC + BC$. E un numero si può spostare: $\lambda(AB) = (\lambda A)B = A(\lambda B)$. Non vale la proprietà commutativa. E un prodotto può essere la matrice nulla anche se nessuno dei due fattori lo è. ::: ::: domanda Che cos'è la traccia e che cosa dice la Proposizione 8.13? La traccia di una matrice quadrata è la somma dei numeri sulla diagonale principale. La Proposizione 8.13 dice che $\tr(AB) = \tr(BA)$ per due matrici quadrate della stessa taglia, anche quando $AB$ e $BA$ sono matrici diverse. ::: ::: domanda Qual è la trasposta di un prodotto? Il prodotto delle trasposte in ordine rovesciato: ${}^t(AB) = {}^tB\,{}^tA$ (Esercizio 8.14 delle dispense). ::: ::: domanda Come si calcola in fretta $\tr(AB)$ in un quiz? Si calcolano solo le caselle diagonali del prodotto: la riga 1 di $A$ per la colonna 1 di $B$, la riga 2 per la colonna 2, e avanti così. Poi si sommano. Per $\tr(A\,{}^tA)$ basta sommare i quadrati di tutti i numeri di $A$. ::: ## Glossario ```glossario Matrice $m \times n$ | Una tabella di numeri con $m$ righe e $n$ colonne. Il numero nella riga $i$ e nella colonna $j$ si scrive $a_{ij}$ oppure $A_{ij}$. Taglia | Quante righe e quante colonne ha una matrice, in quest'ordine. Una matrice $2 \times 3$ ha 2 righe e 3 colonne. Matrice quadrata | Una matrice con tante righe quante colonne, come una $2 \times 2$ o una $3 \times 3$. Matrice nulla | La matrice fatta di soli zeri. Si indica con $0$. $M(m, n, \K)$, $M(n)$ | L'insieme di tutte le matrici $m \times n$ con numeri in $\K$: è uno spazio vettoriale di dimensione $mn$. $M(n)$ sono le matrici quadrate con $n$ righe. Riga $A_i$ e colonna $A^j$ | La riga numero $i$, con l'indice in basso, e la colonna numero $j$, con l'indice in alto. Sono vettori: la riga ha $n$ numeri, la colonna ne ha $m$. Diagonale principale | In una matrice quadrata, le caselle che scendono dall'angolo in alto a sinistra a quello in basso a destra: riga 1 e colonna 1, riga 2 e colonna 2, e avanti così. Trasposta ${}^tA$ | La matrice con le righe e le colonne scambiate: $({}^tA)_{ij} = A_{ji}$. Una matrice $m \times n$ diventa $n \times m$. ${}^t(x, y, z)$ | Il vettore colonna con i numeri $x, y, z$ letti dall'alto in basso, scritto in riga per risparmiare spazio. Matrice simmetrica | Una matrice quadrata uguale alla sua trasposta: ${}^tA = A$. La diagonale fa da specchio. Matrice antisimmetrica | Una matrice quadrata con ${}^tA = -A$: ogni numero ha, dall'altra parte della diagonale, il suo opposto. La diagonale è fatta di zeri. Rango $\rk(A)$ | Il massimo numero di colonne indipendenti. È la dimensione dello spazio generato dalle colonne. Rango per righe | La dimensione dello spazio generato dalle righe, cioè il rango della trasposta. È sempre uguale al rango. Prodotto riga per colonna | Il prodotto $AB$: nella riga $i$ e colonna $j$ c'è la riga $i$ di $A$ per la colonna $j$ di $B$. Si fa solo se le colonne di $A$ sono tante quante le righe di $B$. Prodotto matrice per vettore | Una matrice per un vettore colonna dà un vettore colonna. È la combinazione lineare delle colonne della matrice, con i numeri del vettore come quantità. Non commutatività | Di solito $AB$ e $BA$ sono diversi, anche per matrici quadrate: nel prodotto l'ordine conta. Associatività e distributività | Le parentesi si possono spostare: $A(BC) = (AB)C$. Un prodotto si distribuisce sulla somma: $A(B + C) = AB + AC$ e $(A + B)C = AC + BC$. Potenza di una matrice | Una matrice quadrata moltiplicata per sé stessa: $A^2$ è $A$ per $A$, $A^3$ è $A$ per $A$ per $A$. Traccia $\tr A$ | La somma dei numeri sulla diagonale principale di una matrice quadrata. Vale $\tr(AB) = \tr(BA)$. Matrice identità $I_n$ | La matrice quadrata con 1 sulla diagonale e 0 altrove. Nel prodotto non cambia niente: $I_nA = AI_n = A$ (lezione L09). ``` ## Checklist ```checklist - So leggere una matrice: la taglia $m \times n$, il numero $a_{ij}$, la riga $A_i$, la colonna $A^j$. - So scrivere la trasposta di una matrice e riconoscere una matrice simmetrica o antisimmetrica. - So leggere la scrittura ${}^t(x, y, z)$ per i vettori colonna. - So dire che cos'è il rango e perché è il massimo numero di colonne indipendenti. - So che con le righe e con le colonne viene lo stesso rango, e che $\rk(A) \le \min(m, n)$. - So trovare il rango di una matrice piccola cercando i doppioni tra le righe o tra le colonne. - So dire se un prodotto $AB$ si può fare, di che taglia viene, e calcolarlo riga per colonna senza errori. - So mostrare con un esempio che $AB \neq BA$, e che un prodotto può essere nullo senza che lo sia un fattore. - So enunciare associatività e distributività e usare ${}^t(AB) = {}^tB\,{}^tA$. - So calcolare una traccia e usare $\tr(AB) = \tr(BA)$ per risparmiare conti nei quiz. - So rispondere alla domanda d'esame «quale identità vale tra $AB$, $BA$, $A$ e $B$?». ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 8 «Matrici I», pp. 36–40: il richiamo iniziale e le sezioni 8.A (trasposta), 8.B (rango), 8.C (prodotto fra matrici), 8.D (traccia) ed 8.E (esercizi) sono seguiti in ordine, con la pagina accanto a ogni titolo; definizioni, proposizioni, esempi ed esercizi mantengono la loro numerazione (Definizioni 8.1, 8.3, 8.5, 8.7, 8.12; Proposizioni 8.4, 8.6, 8.11, 8.13; Esempi 8.2, 8.8, 8.9, 8.10; Esercizi 8.14, 8.15, 8.16). Per i richiami: lezioni 6 e 7 (Definizioni 6.1, 6.3, 6.6, 7.11, Proposizione 7.2, Esercizio 7.13). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §2.3.10–2.3.11 (trasposta, simmetriche e antisimmetriche, Esempio 2.3.33), §3.2.3 e §3.2.6 (rango, Proposizioni 3.2.8 e 3.2.20, Corollario 3.2.11), §3.4.1–3.4.5 (prodotto, Proposizioni 3.4.2 e 3.4.4, sistemi scritti come $Ax = b$), §4.4.5 (traccia). - **Esame**: testi degli appelli di Algebra lineare dal 24/01/2024 al 07/09/2026 (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); riportate con soluzione propria le domande 1 del 15/01/2026 e 9 del 10/07/2025 e il problema 11 (punto 2) del 15/01/2026; le altre sono citate per numero. Foglio di esercizi 2 del tutorato (11/11/2025), esercizio 8. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (proprietà in più della trasposta e della traccia, prodotto come combinazione di colonne, identità e potenze, metodi per il quiz, esercizi senza numero) collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L09_matrici_2.md` ```yaml corso: MDAG modulo: AG lezione: L09 titolo: Matrici II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L09 descrizione: >- Appunti della lezione L09 di Algebra lineare e Geometria (MDAG, parte 2): il determinante di una matrice quadrata definito con le permutazioni, le formule per le matrici 2×2 e 3×3, matrici triangolari e matrice identità, lo sviluppo di Laplace e le prime proprietà del determinante, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Il determinante è un numero che si calcola da una tabella quadrata e dice di quanto la matrice ingrandisce le aree. Qui impari a calcolarlo in tutti i modi che servono all'esame: la formula per le tabelle piccole, il caso facile delle triangolari e il metodo di Laplace, che riduce una tabella grande a tabelle più piccole. materiale: dispense scheda: Dispense: lezione 9 · pp. 41–45 Libro: Martelli, §3.3.1–3.3.4 e §3.3.10 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 9 «Matrici II»; B. Martelli, Geometria e algebra lineare, §3.3.1–3.3.4, §3.3.10 e §3.4.6 appunti_html: appunti/MDAG/L09_matrici_2.html genera_html: true ``` ## In breve - Il **determinante** è un numero che si calcola da una matrice **quadrata**, con tante righe quante colonne. Le matrici non quadrate non hanno determinante. - Per le matrici $2 \times 2$ è «diagonale meno l'altra diagonale». Senza segno è l'area del parallelogramma che ha per lati le due colonne. - Per le matrici più grandi la definizione delle dispense somma tanti prodotti con un segno. È la parte teorica: all'esame non si usa direttamente. - Per una matrice **triangolare** il determinante è il prodotto dei numeri sulla diagonale. - Lo **sviluppo di Laplace** riduce un determinante grande a determinanti più piccoli. Conviene scegliere la riga o la colonna con più zeri, e i segni vanno a scacchiera. - Una riga di zeri dà determinante zero. Moltiplicare una riga per un numero moltiplica il determinante per quel numero. - All'esame: «il determinante di questa matrice è…», con matrici grandi piene di zeri, con $\pi$ ed $e$ da tirare fuori, oppure con il tranello della matrice non quadrata. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Un numero che misura un'area (pp. 41–42) Prendi la matrice $$A = \begin{pmatrix} 3 & 1 \\ 1 & 2 \end{pmatrix}.$$ Le sue due colonne sono le frecce $(3, 1)$ e $(1, 2)$. Disegnale nel piano partendo dall'origine: insieme formano un parallelogramma. Quanto è grande? ```grafico titolo: Il parallelogramma con lati ${}^t(3, 1)$ e ${}^t(1, 2)$ ha area $3 \cdot 2 - 1 \cdot 1 = 5$ x: -0.5 4.5 y: -0.5 3.5 poligono: 0 0 3 1 4 3 1 2 | verde vettore: 3 1 | accento | spesso | $A^1$ | se vettore: 1 2 | blu | spesso | $A^2$ | no ``` Guarda la figura. Il parallelogramma sta dentro il rettangolo largo 4 e alto 3, che ha area 12. Tolgo i pezzi che avanzano: 1. due triangoli con lati 3 e 1, ciascuno di area $\frac{3 \cdot 1}2 = 1{,}5$: in tutto 3; 2. due triangoli con lati 1 e 2, ciascuno di area $\frac{1 \cdot 2}2 = 1$: in tutto 2; 3. due quadratini di lato 1: in tutto 2. Resta $12 - 3 - 2 - 2 = 5$. Lo stesso numero si ottiene in un colpo: moltiplico i due numeri sulla diagonale principale, $3 \cdot 2 = 6$, e tolgo il prodotto dei due numeri sull'altra diagonale, $1 \cdot 1 = 1$. Viene $6 - 1 = 5$. Questo numero si chiama **determinante** della matrice, e si scrive $\det A$. Per una matrice $2 \times 2$ qualsiasi: $$\det \begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc.$$ A parole: **diagonale principale meno l'altra diagonale**. > [!IDEA] > Una matrice quadrata trasforma le figure del piano. Il determinante dice di quanto le ingrandisce: le aree vengono moltiplicate per il determinante, senza segno. Se il determinante è zero, la figura viene schiacciata su una linea. ### Il segno Scambia le due colonne: $\begin{pmatrix} 1 & 3 \\ 2 & 1 \end{pmatrix}$. Il parallelogramma è lo stesso, ma il determinante diventa $1 \cdot 1 - 3 \cdot 2 = 1 - 6 = -5$. Stessa area, segno opposto. Il segno dice in che **ordine** girano le due colonne: in senso antiorario o orario. E se le due colonne sono parallele, come $(1, 2)$ e $(2, 4)$? Il parallelogramma si schiaccia su un segmento e non ha area: $\det \begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix} = 1 \cdot 4 - 2 \cdot 2 = 0$. ::: prova Quanto vale il determinante di $\begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}$? Diagonale principale: $4 \cdot 3 = 12$. Altra diagonale: $1 \cdot 2 = 2$. Determinante: $12 - 2 = 10$. ::: > [!TRAPPOLA] Il segno di $ad - bc$ > Si toglie il prodotto dell'**altra** diagonale, con i suoi segni. Per esempio $\det \begin{pmatrix} 1 & 2 \\ -1 & 4 \end{pmatrix} = 1 \cdot 4 - 2 \cdot (-1) = 4 + 2 = 6$, non $4 - 2 = 2$. Metti sempre le parentesi attorno ai numeri negativi. > [!OLTRE] · il determinante misura aree e volumi > Martelli (§3.3.10) mostra che per una matrice $2 \times 2$ reale il determinante senza segno è l'area del parallelogramma che ha per lati le due colonne. Per una $3 \times 3$ è il volume della «scatola storta» (il parallelepipedo) che ha per spigoli le tre colonne. Ne riparliamo alla fine della lezione, con uno strumento interattivo. > [!RICORDA] > - Il determinante esiste solo per le matrici quadrate. > - Per le $2 \times 2$: diagonale principale meno l'altra diagonale, $ad - bc$. > - Senza segno è un'area; il segno dice l'ordine delle colonne; zero vuol dire figura schiacciata. ## La definizione delle dispense (pp. 41–42) Per le matrici più grandi la formula si allunga. Le dispense la scrivono con le **permutazioni**, cioè i modi di rimettere in fila dei numeri. > [!NOTA] Serve per capire, non per l'esame > In questa sezione c'è la definizione generale del determinante. All'esame non si usa mai direttamente: si usano la formula delle $2 \times 2$, la regola di Sarrus per le $3 \times 3$ e lo sviluppo di Laplace. Leggila per sapere da dove vengono quelle regole; se vuoi, passa subito alla sezione sulle matrici triangolari. ### Rimettere in fila dei numeri Una **permutazione** dei numeri da 1 a $n$ è un modo di rimetterli in fila, ognuno una volta sola. Per esempio con 1, 2, 3 si possono fare sei file: $$[1\ 2\ 3], \quad [1\ 3\ 2], \quad [2\ 1\ 3], \quad [2\ 3\ 1], \quad [3\ 1\ 2], \quad [3\ 2\ 1].$$ Le dispense chiamano una permutazione con la lettera greca $\sigma$, «sigma», e scrivono tra parentesi quadre la nuova fila. Per esempio in $\sigma = [2\ 3\ 1]$ al primo posto c'è il 2, al secondo il 3, al terzo l'1. Si scrive $\sigma(1) = 2$, $\sigma(2) = 3$, $\sigma(3) = 1$. Quante sono le permutazioni di $n$ numeri? Per il primo posto ci sono $n$ scelte, per il secondo $n - 1$, e così via: in tutto $n \cdot (n - 1) \cdots 2 \cdot 1$. Questo numero si scrive $n!$ e si legge «$n$ fattoriale». | $n$ | $n!$ | quante permutazioni | |---|---|--:| | 2 | $2 \cdot 1$ | 2 | | 3 | $3 \cdot 2 \cdot 1$ | 6 | | 4 | $4 \cdot 3 \cdot 2 \cdot 1$ | 24 | | 5 | $5 \cdot 4 \cdot 3 \cdot 2 \cdot 1$ | 120 | L'insieme di tutte le permutazioni di $n$ numeri si chiama $S_n$. Le vedrai meglio nella parte di Matematica Discreta del corso. ### Il segno di una permutazione Ogni fila si ottiene da quella in ordine, $[1\ 2\ \cdots\ n]$, scambiando due numeri alla volta. Uno scambio di due numeri soli si chiama **trasposizione**. - Se servono un numero **pari** di scambi, la permutazione ha segno $+1$. - Se servono un numero **dispari** di scambi, ha segno $-1$. Il segno si scrive $\sgn(\sigma)$, «segno di sigma». La fila già in ordine si chiama identità, $\mathrm{id}$, e ha segno $+1$: zero scambi. | $\sigma$ | Come si ottiene da $[1\ 2\ 3]$ | Scambi | $\sgn(\sigma)$ | |---|---|--:|--:| | $[1\ 2\ 3] = \mathrm{id}$ | nessuno scambio | 0 | $+1$ | | $[1\ 3\ 2]$ | scambio il secondo e il terzo posto | 1 | $-1$ | | $[3\ 2\ 1]$ | scambio il primo e il terzo posto | 1 | $-1$ | | $[2\ 1\ 3]$ | scambio il primo e il secondo posto | 1 | $-1$ | | $[2\ 3\ 1]$ | $[1\ 2\ 3] \to [2\ 1\ 3] \to [2\ 3\ 1]$ | 2 | $+1$ | | $[3\ 1\ 2]$ | $[1\ 2\ 3] \to [1\ 3\ 2] \to [3\ 1\ 2]$ | 2 | $+1$ | Alla stessa fila si può arrivare con scambi diversi, ma il loro numero è sempre pari o sempre dispari (lo dimostra la Matematica Discreta). Quindi il segno non dipende da come si fanno gli scambi. > [!APPROFONDIMENTO] il segno contando le inversioni > Un modo veloce per trovare il segno: conta le **inversioni**, cioè le coppie in cui un numero più grande sta prima di uno più piccolo. Se sono in numero pari il segno è $+1$, se dispari è $-1$. In $[3\ 1\ 2]$ le inversioni sono $(3, 1)$ e $(3, 2)$: due, segno $+1$. In $[2\ 1\ 4\ 3]$ sono $(2, 1)$ e $(4, 3)$: segno $+1$. In $[3\ 2\ 1]$ sono $(3, 2)$, $(3, 1)$, $(2, 1)$: tre, segno $-1$. ### La formula Ecco come le dispense definiscono il determinante. > [!DEF] 9.1 · Determinante > Sia $A$ una matrice quadrata $n \times n$. Il **determinante** di $A$ è il numero > $$\det A = \sum_{\sigma \in S_n} \sgn(\sigma)\, a_{1\sigma(1)} \cdots a_{n\sigma(n)}.$$ > Qui $S_n$ indica l'insieme delle $n!$ permutazioni di $\{1, \dots, n\}$: questa è una sommatoria su $n!$ elementi. Il termine $\sgn(\sigma) = \pm 1$ indica il segno della permutazione $\sigma$ ed è $1$ oppure $-1$ a seconda di $\sigma$. Se $\sigma$ è un prodotto di $k$ trasposizioni (permutazioni che scambiano due elementi e lasciano tutti gli altri elementi), allora $\sgn(\sigma) = (-1)^k$. La permutazione $\sigma$ si indica con il simbolo $[\sigma(1) \cdots \sigma(n)]$. **Come si legge.** - $\sum$ si legge «somma»: si sommano tanti pezzi, uno per ogni permutazione $\sigma$ di $S_n$. - Ogni pezzo è un prodotto di $n$ numeri della matrice. Dalla riga 1 si prende il numero nella colonna $\sigma(1)$, dalla riga 2 quello nella colonna $\sigma(2)$, e così via. - Siccome $\sigma$ è una permutazione, le colonne sono tutte diverse. Quindi **ogni prodotto prende esattamente un numero da ogni riga e uno da ogni colonna**, come $n$ torri su una scacchiera che non si possono mangiare (l'immagine è di Martelli). - Ogni prodotto va sommato con il segno della sua permutazione. - **Solo matrici quadrate**: la formula usa lo stesso $n$ per righe e colonne. - **Quanti pezzi**: $n!$. Già per $n = 4$ sono 24, per $n = 5$ sono 120. Per questo con le matrici grandi si usa lo sviluppo di Laplace. ### I casi piccoli **Matrici $1 \times 1$.** La matrice è un numero solo, e c'è una sola permutazione, $[1]$, con segno $+1$. Il determinante è il numero stesso: $\det(a_{11}) = a_{11}$. **Matrici $2 \times 2$.** Le permutazioni sono $[1\ 2]$, con segno $+1$, e $[2\ 1]$, con segno $-1$. I due prodotti sono $a_{11}a_{22}$ e $a_{12}a_{21}$: $$\det \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix} = a_{11}a_{22} - a_{12}a_{21}.$$ È la formula «diagonale meno l'altra diagonale» della prima sezione. **Matrici $3 \times 3$.** Le sei permutazioni della tabella danno sei prodotti. Le tre con uno scambio hanno segno meno, le altre tre più: $$\det A = a_{11}a_{22}a_{33} - a_{11}a_{23}a_{32} - a_{13}a_{22}a_{31} - a_{12}a_{21}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32}.$$ Controlla un prodotto con la tabella: $[2\ 3\ 1]$ ha $\sigma(1) = 2$, $\sigma(2) = 3$, $\sigma(3) = 1$, quindi dà $+a_{12}a_{23}a_{31}$. > [!METODO] La regola di Sarrus, solo per le $3 \times 3$ > Per ricordare i sei prodotti: > 1. ricopia le prime due colonne a destra della matrice; > 2. le tre diagonali che **scendono** verso destra danno i prodotti con il più; > 3. le tre che **salgono** verso destra danno quelli con il meno. > $$\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix}\!\begin{matrix} a_{11} & a_{12} \\ a_{21} & a_{22} \\ a_{31} & a_{32} \end{matrix} \qquad \begin{aligned} &+\ a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} \\ &-\ a_{13}a_{22}a_{31} - a_{11}a_{23}a_{32} - a_{12}a_{21}a_{33} \end{aligned}$$ > Attenzione: **funziona solo per le $3 \times 3$**. Per una $4 \times 4$ le «diagonali» sarebbero 8, mentre i prodotti veri sono 24. > [!ESEMPIO] 9.2 · Tre determinanti > Il determinante delle matrici > $$(3), \qquad \begin{pmatrix} 1 & 2 \\ -1 & 4 \end{pmatrix}, \qquad \begin{pmatrix} 1 & 2 & 1 \\ 2 & 1 & 2 \\ -1 & 0 & 1 \end{pmatrix}$$ > è $3$ per la prima, $\ 4 - (-2) = 6$ per la seconda e $\ -6$ per la terza. Vediamo i conti. > - $1 \times 1$: il determinante è il numero stesso, 3. > - $2 \times 2$: $1 \cdot 4 - 2 \cdot (-1) = 4 - (-2) = 6$. > - $3 \times 3$, con Sarrus. Le diagonali che scendono: $1 \cdot 1 \cdot 1 + 2 \cdot 2 \cdot (-1) + 1 \cdot 2 \cdot 0 = 1 - 4 + 0 = -3$. Le diagonali che salgono: $1 \cdot 1 \cdot (-1) + 1 \cdot 2 \cdot 0 + 2 \cdot 2 \cdot 1 = -1 + 0 + 4 = 3$. Determinante: $-3 - 3 = -6$. > > Con la formula dei sei prodotti, nell'ordine della formula: > $$\underbrace{1 \cdot 1 \cdot 1}_{a_{11}a_{22}a_{33}} - \underbrace{1 \cdot 2 \cdot 0}_{a_{11}a_{23}a_{32}} - \underbrace{1 \cdot 1 \cdot (-1)}_{a_{13}a_{22}a_{31}} - \underbrace{2 \cdot 2 \cdot 1}_{a_{12}a_{21}a_{33}} + \underbrace{2 \cdot 2 \cdot (-1)}_{a_{12}a_{23}a_{31}} + \underbrace{1 \cdot 2 \cdot 0}_{a_{13}a_{21}a_{32}} = 1 - 0 + 1 - 4 - 4 + 0 = -6.$$ ::: prova Quanti prodotti ha la formula del determinante per una matrice $4 \times 4$? Uno per ogni permutazione di 4 numeri: $4! = 4 \cdot 3 \cdot 2 \cdot 1 = 24$. ::: > [!RICORDA] > - La definizione somma un prodotto per ogni permutazione, con il suo segno: ogni prodotto prende un numero da ogni riga e da ogni colonna. > - Per le $3 \times 3$ i prodotti sono sei, e si ricordano con la regola di Sarrus, che vale solo per le $3 \times 3$. ## Le matrici triangolari (pp. 42–43) Prendi una matrice con tutti zeri sotto la diagonale: $$\begin{pmatrix} 2 & 5 & -1 \\ 0 & 3 & 4 \\ 0 & 0 & -1 \end{pmatrix}.$$ Calcolo il determinante con Sarrus. Le diagonali che scendono danno $2 \cdot 3 \cdot (-1) + 5 \cdot 4 \cdot 0 + (-1) \cdot 0 \cdot 0 = -6$. Quelle che salgono contengono tutte uno zero: danno 0. Il determinante è $-6$, cioè proprio $2 \cdot 3 \cdot (-1)$, il prodotto dei numeri sulla diagonale. Succede sempre. Le dispense lo scrivono così. > [!PROP] 9.3 · Determinante di una matrice triangolare > Sia $A \in M(n)$ una matrice **triangolare superiore** > $$A = \begin{pmatrix} a_{11} & a_{12} & \dots & a_{1n} \\ 0 & a_{22} & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & a_{nn} \end{pmatrix}.$$ > Vale > $$\det A = a_{11}a_{22} \cdots a_{nn}.$$ **Come si legge.** Per una matrice triangolare superiore (zeri sotto la diagonale, lezione L06) il determinante è il prodotto dei numeri sulla diagonale. I numeri sopra la diagonale non contano affatto. Il motivo, a parole: nella formula delle permutazioni ogni prodotto prende un numero da ogni riga e da ogni colonna. Se si vuole evitare gli zeri sotto la diagonale, l'unico modo è prendere proprio i numeri sulla diagonale. Tutti gli altri prodotti contengono uno zero. > [!DIM] della Proposizione 9.3 > La spiegazione delle dispense, passo per passo. > 1. Sotto la diagonale ci sono solo zeri: $a_{ij} = 0$ quando $i > j$. > 2. Un prodotto $a_{1\sigma(1)} \cdots a_{n\sigma(n)}$ può essere diverso da zero solo se nessun fattore sta sotto la diagonale, cioè se $\sigma(i) \ge i$ per ogni riga $i$. > 3. Nell'ultima riga: $\sigma(n) \ge n$, quindi $\sigma(n) = n$. Nella penultima: $\sigma(n - 1) \ge n - 1$ e $\sigma(n - 1)$ non può essere $n$ (la colonna $n$ è già usata), quindi $\sigma(n - 1) = n - 1$. Risalendo così, $\sigma(i) = i$ per ogni $i$: $\sigma$ è l'identità. > 4. Resta solo il prodotto dell'identità, che ha segno $+1$: $\det A = a_{11}a_{22} \cdots a_{nn}$. Lo stesso vale per le matrici **triangolari inferiori** (zeri sopra la diagonale), con lo stesso ragionamento partendo dalla prima riga. E vale per le **diagonali**, che sono triangolari in tutti e due i sensi. > [!ESEMPIO] · Tre determinanti senza fatica > $$\det \begin{pmatrix} 2 & 5 & -1 \\ 0 & 3 & 4 \\ 0 & 0 & -1 \end{pmatrix} = 2 \cdot 3 \cdot (-1) = -6, \qquad \det \begin{pmatrix} 1 & 0 & 0 \\ 7 & 2 & 0 \\ -3 & 5 & 4 \end{pmatrix} = 1 \cdot 2 \cdot 4 = 8,$$ > $$\det \begin{pmatrix} 5 & 9 & \pi \\ 0 & 0 & \sqrt 2 \\ 0 & 0 & 7 \end{pmatrix} = 5 \cdot 0 \cdot 7 = 0.$$ > I numeri sopra la diagonale non contano, e basta uno zero sulla diagonale per avere determinante zero. ### La matrice identità Le dispense introducono qui una matrice che avrà un ruolo centrale in tutto il corso. > [!DEF] 9.4 · Matrice identità > La **matrice identità** di taglia $n \times n$ è la matrice > $$I_n = \begin{pmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{pmatrix}$$ > i cui coefficienti sono 1 sulla diagonale principale e 0 altrove. **Come si legge.** $I_n$, «i con enne», è la matrice quadrata con 1 sulla diagonale e 0 dappertutto altrove. Per esempio $I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$. È diagonale, quindi per la Proposizione 9.3 $$\det(I_n) = 1 \cdot 1 \cdots 1 = 1.$$ Nel prodotto tra matrici fa la parte del numero 1: $I_nA = AI_n = A$ (lo hai visto nella lezione L08). Nel disegno non cambia niente: ogni figura resta com'è, e infatti le aree vengono moltiplicate per 1. È il punto di partenza per le matrici inverse della lezione L10. ::: prova Quanto vale il determinante di $\begin{pmatrix} 2 & 0 & 0 \\ 5 & 3 & 0 \\ 1 & 7 & -1 \end{pmatrix}$? È triangolare inferiore: zeri sopra la diagonale. Il determinante è il prodotto della diagonale, $2 \cdot 3 \cdot (-1) = -6$. ::: ### La trasposta ha lo stesso determinante Prendi $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ e la sua trasposta, con righe e colonne scambiate (lezione L08): ${}^tA = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix}$. I determinanti sono $4 - 6 = -2$ e $4 - 6 = -2$: uguali. Le dispense dicono che succede sempre, e che segue direttamente dalla definizione. > [!PROP] 9.5 > Vale $\det({}^tA) = \det A$. **Come si legge.** Scambiare righe e colonne non cambia il determinante. Per la matrice $3 \times 3$ dell'Esempio 9.2, la trasposta $\begin{pmatrix} 1 & 2 & -1 \\ 2 & 1 & 0 \\ 1 & 2 & 1 \end{pmatrix}$ ha di nuovo determinante $-6$: prova con Sarrus. > [!DIM] della Proposizione 9.5 > Trasponendo, la casella $(i, j)$ va in $(j, i)$. Un prodotto di $\det({}^tA)$ è $({}^tA)_{1\sigma(1)} \cdots ({}^tA)_{n\sigma(n)} = a_{\sigma(1)1} \cdots a_{\sigma(n)n}$: prende ancora un numero da ogni riga e da ogni colonna di $A$. Riordinando i fattori per riga, è il prodotto di $\det A$ della permutazione inversa $\sigma^{-1}$, quella che «disfa» $\sigma$. E $\sigma^{-1}$ ha lo stesso segno di $\sigma$: se $\sigma$ si ottiene con $k$ scambi, $\sigma^{-1}$ si ottiene con gli stessi $k$ scambi fatti in ordine inverso. Quindi $\det({}^tA)$ e $\det A$ sono somme degli stessi prodotti con gli stessi segni (Martelli, Proposizione 3.3.2). La conseguenza pratica: **tutto quello che vale per le righe vale anche per le colonne**, perché le righe di $A$ sono le colonne di ${}^tA$ e il determinante è lo stesso. > [!RICORDA] > - Triangolare (superiore, inferiore o diagonale): il determinante è il prodotto della diagonale. > - La matrice identità ha determinante 1. > - La trasposta ha lo stesso determinante: le regole sulle righe valgono anche per le colonne. ## Ridurre il problema: lo sviluppo di Laplace (pp. 43–44) Con le matrici grandi la formula delle permutazioni ha troppi prodotti: 24 per una $4 \times 4$, 120 per una $5 \times 5$. Lo **sviluppo di Laplace** riduce un determinante grande a determinanti più piccoli di un passo: una $4 \times 4$ diventa qualche $3 \times 3$, una $3 \times 3$ diventa qualche $2 \times 2$. E se nella matrice ci sono molti zeri, molti pezzi spariscono. ### Le sottomatrici Per prima cosa serve un'operazione: cancellare una riga e una colonna. Da una matrice quadrata, togliendo la riga $i$ e la colonna $j$, resta una matrice più piccola di un passo. Le dispense la chiamano $C_{ij}$. Un esempio con $$A = \begin{pmatrix} 1 & -1 & 0 \\ 2 & -1 & 5 \\ 1 & 1 & -1 \end{pmatrix}.$$ - $C_{11}$: tolgo la riga 1 e la colonna 1. Resta $\begin{pmatrix} -1 & 5 \\ 1 & -1 \end{pmatrix}$. - $C_{12}$: tolgo la riga 1 e la colonna 2. Dalla seconda riga restano 2 e 5, dalla terza 1 e $-1$: $\begin{pmatrix} 2 & 5 \\ 1 & -1 \end{pmatrix}$. - $C_{23}$: tolgo la riga 2 e la colonna 3. Resta $\begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix}$. ### I segni a scacchiera Ogni casella riceve un segno, più o meno, disposti come le caselle bianche e nere di una scacchiera, con il più in alto a sinistra: $$\begin{pmatrix} + & - & + \\ - & + & - \\ + & - & + \end{pmatrix} \qquad \begin{pmatrix} + & - & + & - \\ - & + & - & + \\ + & - & + & - \\ - & + & - & + \end{pmatrix}$$ Il segno della casella nella riga $i$ e nella colonna $j$ è $(-1)^{i+j}$: più se $i + j$ è pari, meno se è dispari. Per esempio la casella $(2, 3)$ ha $2 + 3 = 5$, dispari: segno meno. ### Il metodo Ecco lo sviluppo lungo la prima riga della matrice $A$, passo per passo. 1. Scelgo la prima riga: i numeri sono 1, $-1$, 0. I segni della prima riga della scacchiera sono $+, -, +$. 2. Per ogni numero della riga: prendo il suo segno, il numero, e il determinante della sottomatrice che resta cancellando la sua riga e la sua colonna. 3. Sommo tutto: $$\det A = +1 \cdot \det C_{11} - (-1) \cdot \det C_{12} + 0 \cdot \det C_{13}.$$ 4. Il terzo pezzo è moltiplicato per 0: **non serve calcolarlo**. Le dispense scrivono il metodo così. > [!TEOREMA] 9.6 · Sviluppo di Laplace > Per ogni $i$ fissato vale l'uguaglianza > $$\det A = \sum_{j=1}^n (-1)^{i+j} a_{ij} \det C_{ij}.$$ **Come si legge.** - Si sceglie **una riga** qualsiasi, la riga numero $i$. Il risultato non dipende dalla scelta. - $\sum_{j=1}^n$ si legge «somma per $j$ da 1 a $n$»: si fa un pezzo per ogni numero $a_{ij}$ di quella riga, colonna per colonna. - Ogni pezzo è: il segno della scacchiera $(-1)^{i+j}$, per il numero $a_{ij}$, per il determinante della sottomatrice $C_{ij}$. - Se un numero è zero, il suo pezzo sparisce. Siccome la trasposta ha lo stesso determinante, lo stesso vale per le colonne. > [!COROLLARIO] 9.7 · Sviluppo lungo una colonna > Per ogni $j$ fissato vale l'uguaglianza > $$\det A = \sum_{i=1}^n (-1)^{i+j} a_{ij} \det C_{ij}.$$ **Come si legge.** Stessa cosa, ma scegliendo una **colonna**: si fa un pezzo per ogni numero di quella colonna, riga per riga. > [!ESEMPIO] 9.8 · Sviluppo lungo la prima riga > Per calcolare il determinante seguente, sviluppiamo lungo la prima riga (cioè prendiamo $i = 1$): > $$\det \begin{pmatrix} 1 & -1 & 0 \\ 2 & -1 & 5 \\ 1 & 1 & -1 \end{pmatrix} = 1 \cdot \det \begin{pmatrix} -1 & 5 \\ 1 & -1 \end{pmatrix} - (-1) \cdot \det \begin{pmatrix} 2 & 5 \\ 1 & -1 \end{pmatrix} + 0 \cdot \det \begin{pmatrix} 2 & -1 \\ 1 & 1 \end{pmatrix}.$$ > I segni sono $+, -, +$ (prima riga della scacchiera). I tre determinanti $2 \times 2$: > - $\det C_{11} = (-1)(-1) - 5 \cdot 1 = 1 - 5 = -4$; > - $\det C_{12} = 2 \cdot (-1) - 5 \cdot 1 = -2 - 5 = -7$; > - il terzo non serve, perché è moltiplicato per $0$. > > Totale: $1 \cdot (-4) - (-1) \cdot (-7) + 0 = -4 - 7 + 0 = -11$. Controllo che il risultato non dipende dalla scelta: sviluppo la stessa matrice lungo la **prima colonna**, con i segni $+, -, +$. $$1 \cdot \det \begin{pmatrix} -1 & 5 \\ 1 & -1 \end{pmatrix} - 2 \cdot \det \begin{pmatrix} -1 & 0 \\ 1 & -1 \end{pmatrix} + 1 \cdot \det \begin{pmatrix} -1 & 0 \\ -1 & 5 \end{pmatrix}$$ $$= 1 \cdot (-4) - 2 \cdot 1 + 1 \cdot (-5) = -11.$$ Stesso risultato, ma con tre determinanti $2 \times 2$ invece di due. Per questo le dispense consigliano di sviluppare lungo una riga o una colonna con degli zeri. > [!ESEMPIO] 9.9 · Sviluppo lungo una colonna quasi vuota > Sviluppando la matrice seguente sulla seconda colonna otteniamo: > $$\det \begin{pmatrix} 1 & 0 & 1 \\ 2 & 0 & 1 \\ \pi & 3 & \sqrt 7 \end{pmatrix} = (-1) \cdot 3 \cdot \det \begin{pmatrix} 1 & 1 \\ 2 & 1 \end{pmatrix} = 3.$$ > Nella seconda colonna l'unico numero diverso da zero è $a_{32} = 3$, in posizione $(3, 2)$: segno $(-1)^{3+2} = -1$. Cancellando la riga 3 e la colonna 2 resta $C_{32} = \begin{pmatrix} 1 & 1 \\ 2 & 1 \end{pmatrix}$, con determinante $1 - 2 = -1$. Quindi $(-1) \cdot 3 \cdot (-1) = 3$. I numeri $\pi$ e $\sqrt 7$, che sembravano complicare tutto, non entrano nel conto. > > Nello sviluppo bisogna sempre stare attenti al segno $(-1)^{i+j}$ della casella, che cambia come su una scacchiera. ::: prova Che segno ha la casella $(3, 4)$ nella scacchiera? E la casella $(4, 4)$? $(3, 4)$: $3 + 4 = 7$, dispari, segno meno. $(4, 4)$: $4 + 4 = 8$, pari, segno più. ::: > [!DIM] · perché lo sviluppo di Laplace funziona (caso $3 \times 3$) > Prendi la formula dei sei prodotti e raccogli i pezzi secondo il numero della prima riga che contengono: > $$\det A = a_{11}(a_{22}a_{33} - a_{23}a_{32}) - a_{12}(a_{21}a_{33} - a_{23}a_{31}) + a_{13}(a_{21}a_{32} - a_{22}a_{31}).$$ > Le tre parentesi sono esattamente $\det C_{11}$, $\det C_{12}$ e $\det C_{13}$, e i segni sono $+, -, +$. È lo sviluppo lungo la prima riga. In generale (Martelli, Teorema 3.3.5) i prodotti che contengono $a_{ij}$ sono, a parte il fattore $a_{ij}$, proprio i prodotti di $\det C_{ij}$, con un segno in più $(-1)^{i+j}$. > [!METODO] Calcolare un determinante con Laplace > 1. Controlla che la matrice sia **quadrata**; se non lo è, il determinante non esiste. > 2. Se è triangolare, moltiplica la diagonale e hai finito. > 3. Scegli la riga o la colonna con **più zeri**. > 4. Per ogni numero diverso da zero di quella riga: segno della scacchiera, numero, determinante della sottomatrice che resta cancellando la sua riga e la sua colonna. > 5. Ripeti sulle sottomatrici finché arrivi a $2 \times 2$, oppure a matrici triangolari. > 6. Controllo: sviluppa lungo un'altra riga o colonna, oppure, per una $3 \times 3$, usa Sarrus. > [!ESEMPIO] · Una $4 \times 4$ con una colonna quasi vuota > $$M = \begin{pmatrix} 2 & 0 & 1 & 3 \\ 1 & 0 & 0 & 2 \\ 0 & 1 & 4 & -1 \\ 3 & 0 & 2 & 1 \end{pmatrix}$$ > 1. La seconda colonna ha un solo numero diverso da zero: l'1 nella riga 3. La casella $(3, 2)$ ha segno meno. > 2. Cancello la riga 3 e la colonna 2: > $$\det M = -1 \cdot \det \begin{pmatrix} 2 & 1 & 3 \\ 1 & 0 & 2 \\ 3 & 2 & 1 \end{pmatrix}.$$ > 3. Sviluppo la $3 \times 3$ lungo la seconda riga, che ha uno zero (segni $-, +, -$): > $$-1 \cdot \det \begin{pmatrix} 1 & 3 \\ 2 & 1 \end{pmatrix} + 0 - 2 \cdot \det \begin{pmatrix} 2 & 1 \\ 3 & 2 \end{pmatrix} = -1 \cdot (1 - 6) - 2 \cdot (4 - 3) = 5 - 2 = 3.$$ > 4. Quindi $\det M = -1 \cdot 3 = -3$. > > Invece di 24 prodotti, tre determinanti $2 \times 2$. Nello strumento qui sotto puoi controllare i tuoi determinanti: scrivi la matrice e premi «Calcola». Lo strumento non usa Laplace ma le **mosse di Gauss**, che trasformano la matrice in una triangolare cambiando il determinante in modo controllato: è il metodo della prossima lezione, L10. Prova la matrice dell'Esempio 9.8 (già inserita) e poi la $M$ qui sopra (`2 0 1 3; 1 0 0 2; 0 1 4 -1; 3 0 2 1`). ```widget gauss titolo: Controlla un determinante matrice: 1 -1 0; 2 -1 5; 1 1 -1 modo: determinante modi: determinante ``` > [!RICORDA] > - Laplace: si sceglie una riga o una colonna; per ogni suo numero, segno della scacchiera per numero per determinante della sottomatrice. > - I numeri zero fanno sparire il loro pezzo: si sceglie la riga o la colonna con più zeri. > - I segni sono a scacchiera, con il più in alto a sinistra. ## Tre regole che fanno risparmiare conti (p. 44) Dallo sviluppo di Laplace vengono subito tre regole. Servono a calcolare i determinanti senza fare tutti i conti. ### Una riga di zeri Se in una riga ci sono solo zeri, sviluppo lungo quella riga: ogni pezzo è «zero per qualcosa». Il determinante è zero. Per esempio $$\det \begin{pmatrix} 4 & 7 & 1 \\ 0 & 0 & 0 \\ 2 & 9 & 5 \end{pmatrix} = 0$$ senza fare conti. Le dispense lo scrivono così. > [!PROP] 9.10 · Riga o colonna nulla > Se gli elementi di una riga (o colonna) di $A$ sono tutti nulli, allora $\det(A) = 0$. **Come si legge.** Una riga o una colonna tutta di zeri rende il determinante zero. ### Una riga moltiplicata per un numero Prendi $\det \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = 4 - 6 = -2$. Moltiplico la prima riga per 5: $$\det \begin{pmatrix} 5 & 10 \\ 3 & 4 \end{pmatrix} = 20 - 30 = -10 = 5 \cdot (-2).$$ Il determinante è stato moltiplicato per 5. Le dispense lo scrivono così. > [!PROP] 9.11 · Moltiplicare una riga per un numero > Se la matrice $A'$ si ottiene dalla matrice $A$ moltiplicando tutti gli elementi di una riga (o colonna) per il numero $c$, allora $\det(A') = c \cdot \det(A)$. **Come si legge.** $A'$, «a primo», è la matrice nuova. Se una sola riga, o una sola colonna, viene moltiplicata per un numero, il determinante viene moltiplicato per lo stesso numero. Il perché: sviluppo il determinante lungo la riga moltiplicata. Le sottomatrici non contengono quella riga, quindi sono le stesse di prima; cambiano solo i numeri davanti, tutti moltiplicati per $c$. Ogni pezzo è moltiplicato per $c$, e quindi anche la somma. Letta al contrario, la regola permette di **tirare fuori** un numero che compare in tutta una riga o in tutta una colonna: $$\det \begin{pmatrix} 6 & 9 \\ 2 & 5 \end{pmatrix} = 3 \det \begin{pmatrix} 2 & 3 \\ 2 & 5 \end{pmatrix} = 3 \cdot (10 - 6) = 12.$$ Controllo diretto: $6 \cdot 5 - 9 \cdot 2 = 30 - 18 = 12$. È il trucco decisivo quando nella matrice compaiono $\pi$, $e$, $\sqrt 2$ o $i$ (Esercizio 9.14 e «Verso l'esame»). ### Tutta la matrice moltiplicata per un numero La matrice $3A$ ha **tutte** le righe moltiplicate per 3. Per la regola di prima, il 3 esce una volta per ogni riga. Le dispense lo scrivono così. > [!COROLLARIO] 9.12 · Il determinante di $cA$ > Dalla proposizione otteniamo subito > $$\det(cA) = c^n \cdot \det(A)$$ > e in particolare > $$\det(-A) = (-1)^n \cdot \det(A).$$ **Come si legge.** Moltiplicando tutta la matrice $n \times n$ per $c$, il determinante viene moltiplicato per $c$ elevato alla $n$: $c$ esce $n$ volte, una per riga. Con $c = -1$: per $n$ pari il segno non cambia, per $n$ dispari cambia. Un esempio con $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$, che ha determinante $-2$: $$\det(3A) = \det \begin{pmatrix} 3 & 6 \\ 9 & 12 \end{pmatrix} = 36 - 54 = -18 = 3^2 \cdot (-2).$$ ::: prova Una matrice $3 \times 3$ ha determinante 4. Quanto vale il determinante del suo doppio? $2^3 \cdot 4 = 8 \cdot 4 = 32$: il 2 esce tre volte, una per riga. ::: > [!TRAPPOLA] Il doppio di $A$ non raddoppia il determinante, e la somma non si spezza > - Se $A$ è $3 \times 3$ con determinante 5, il determinante di $2A$ è $2^3 \cdot 5 = 40$, non 10. > - Il determinante **non** si spezza sulle somme (Martelli, Osservazione 3.4.9). Con $A = I_2$ e $B = -I_2$: $A + B$ è la matrice nulla, con determinante 0; invece $\det A + \det B = 1 + 1 = 2$. > - La Proposizione 9.11 parla di **una** riga: moltiplicare due righe per $c$ moltiplica il determinante per $c^2$. > [!RICORDA] > - Una riga o colonna di zeri: determinante zero. > - Una riga per $c$: determinante per $c$. Si può tirare fuori un numero comune a una riga o a una colonna. > - Tutta la matrice $n \times n$ per $c$: determinante per $c^n$. ## Il significato geometrico (oltre le dispense) Nella prima sezione il determinante era un'area. Ecco il quadro completo, dal libro di Martelli. > [!OLTRE] · area, orientazione e volume > Per una matrice reale $2 \times 2$ con colonne $v_1 = {}^t(a, c)$ e $v_2 = {}^t(b, d)$ (Martelli, §3.3.10): > - il determinante senza segno, $|ad - bc|$, è l'**area** del parallelogramma con lati $v_1$ e $v_2$; > - il **segno** dice l'orientazione: positivo se, girando da $v_1$ verso $v_2$ per l'angolo più piccolo, si va in senso antiorario (come da $e_1$ a $e_2$), negativo se si va in senso orario; > - il determinante è zero esattamente quando $v_1$ e $v_2$ sono paralleli: il parallelogramma è schiacciato. > > Per una $3 \times 3$, il determinante senza segno è il **volume** della scatola storta che ha per spigoli le tre colonne (lo ritroverai con il prodotto vettoriale, lezione L22). Per esempio $\det \begin{pmatrix} 3 & -1 & 0 \\ 1 & 3 & 0 \\ 0 & 0 & 4 \end{pmatrix} = 4 \cdot (9 + 1) = 40$: una scatola con la base di area 10 e l'altezza 4. Nello strumento qui sotto la matrice $A$ trasforma il quadrato di lati $e_1$ ed $e_2$ nel parallelogramma colorato, che ha per lati le colonne $Ae_1$ e $Ae_2$. Cambia i quattro numeri e guarda come cambiano l'area e il colore: verde se il determinante è positivo, rosa se è negativo, giallo se è zero. Prova i pulsanti: «taglio» (determinante 1: la forma cambia, l'area no), «riflessione» (determinante $-1$: stessa area, orientazione girata), «proiezione» (determinante 0: il quadrato si schiaccia su un segmento). Le righe sugli autovalori riguardano la lezione L17: per ora ignorale. ```widget matrice titolo: Il determinante come area con il segno a: 3 1; 1 2 x: 1 1 raggio: 5 ``` ::: prova Usa il determinante per trovare l'area del parallelogramma con lati $(2, 0)$ e $(1, 3)$. Metto i due vettori come colonne: $\det \begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} = 6 - 0 = 6$. L'area è 6: base 2, altezza 3. ::: > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli il determinante è nel §3.3 (pp. 93–103). La definizione e i casi $n = 1, 2, 3$ sono nel §3.3.1 (pp. 93–95), con le «colorazioni» e la Proposizione 3.3.2 sulla trasposta. Poi: le matrici triangolari nel §3.3.2 (Proposizione 3.3.3), la matrice identità nel §3.3.3 (Definizione 3.3.4), lo sviluppo di Laplace nel §3.3.4 (pp. 96–97, Teorema 3.3.5), il significato geometrico nel §3.3.10 (pp. 101–103). Le permutazioni e il loro segno sono nel §1.2.5; il determinante di $\lambda A$ è l'Esercizio 3.10. > [!RICORDA] > - Senza segno, il determinante di una $2 \times 2$ è un'area; di una $3 \times 3$ è un volume. > - Il segno dice l'orientazione; zero vuol dire che la figura è schiacciata. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\det A$ | «determinante di A» | il numero della matrice quadrata $A$ | $\det \begin{pmatrix} 3 & 1 \\ 1 & 2 \end{pmatrix} = 5$ | | $a_{ij}$ | «a i j» | il numero nella riga $i$ e nella colonna $j$ (lezione L06) | $a_{12} = 1$ | | $n!$ | «enne fattoriale» | $n \cdot (n - 1) \cdots 2 \cdot 1$ | $4! = 24$ | | $\sigma$ | «sigma» | una permutazione: un modo di rimettere in fila i numeri | $[2\ 3\ 1]$ | | $\sigma(i)$ | «sigma di i» | il numero al posto $i$ nella nuova fila | in $[2\ 3\ 1]$, $\sigma(1) = 2$ | | $S_n$ | «esse enne» | tutte le permutazioni di $n$ numeri | $S_3$ ne ha 6 | | $\sgn(\sigma)$ | «segno di sigma» | $+1$ con scambi pari, $-1$ con scambi dispari | $\sgn([2\ 1\ 3]) = -1$ | | $\mathrm{id}$ | «identità» | la fila già in ordine | $[1\ 2\ 3]$ | | $\sum$ | «somma» | somma di tanti pezzi dello stesso tipo | $\sum_{j=1}^3$: tre pezzi | | $I_n$ | «i con enne» | la matrice identità: 1 sulla diagonale, 0 altrove | $\det I_n = 1$ | | ${}^tA$ | «a trasposta» | righe e colonne scambiate | $\det({}^tA) = \det A$ | | $C_{ij}$ | «ci i j» | la sottomatrice senza la riga $i$ e la colonna $j$ | | | $(-1)^{i+j}$ | «meno uno alla i più j» | il segno della scacchiera | casella $(2, 3)$: meno | | $\lvert x \rvert$ | «valore assoluto di x» | il numero senza segno | $\lvert -5 \rvert = 5$ | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 quiz a 5 risposte e 2 problemi da 11 punti. I problemi si correggono solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice e con solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. I dettagli sono nella lezione L01. Il determinante compare in quasi ogni appello, in tre forme. E serve comunque per gli autovalori, dalla lezione L17. | Tipo di domanda | Appelli (numero della domanda) | Lezione | |---|---|---| | «Il determinante di $A$ è…» con $A$ di taglia $3 \times 3$, $4 \times 4$ o $5 \times 5$ | 10/06/2024 (2), 10/07/2024 (4), 10/07/2025 (4), 02/09/2025 (3), 03/06/2026 (2) | questa | | determinante di un prodotto o di una potenza: $\det(AB)$, $\det(A^3)$, $\det(A\,{}^tA)$ | 06/09/2024 (4), 16/01/2025 (3), 07/02/2025 (5), 03/06/2025 (9), 05/02/2026 (5), 03/07/2026 (6) | L10 (teorema di Binet) | | problema: «per quali $k$ la matrice è invertibile?» | 24/01/2024, 06/09/2024, 07/02/2025, 15/01/2026, 05/02/2026, 03/07/2026 (problema 11) | L10 | ### Una domanda vera, letta insieme **Appello del 02/09/2025, domanda 3.** Il testo: «Calcolare il determinante di $A = \begin{pmatrix} 1 & 2 & 0 & 0 & 0 \\ 0 & 1 & 3 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 & 2 \\ 1 & 0 & 0 & 0 & 1 \end{pmatrix}$: (a) 12; (b) 13; (c) 0; (d) 11; (e) 1». **In pratica chiede:** il determinante di una tabella $5 \times 5$, senza calcolatrice. Con la formula sarebbero 120 prodotti: serve Laplace, lungo la riga o la colonna con più zeri. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: è quadrata?** 5 righe e 5 colonne: sì. > > **Passo 2: scelgo la colonna.** La prima colonna ha solo due numeri diversi da zero: l'1 nella riga 1 e l'1 nella riga 5. Sviluppo lungo la prima colonna. > > **Passo 3: i segni.** La casella $(1, 1)$ ha segno più. La casella $(5, 1)$ ha $5 + 1 = 6$, pari: segno più. > > **Passo 4: la prima sottomatrice.** Tolgo la riga 1 e la colonna 1: > $$C_{11} = \begin{pmatrix} 1 & 3 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 1 \end{pmatrix}.$$ > È triangolare superiore: il determinante è il prodotto della diagonale, $1 \cdot 1 \cdot 1 \cdot 1 = 1$. > > **Passo 5: la seconda sottomatrice.** Tolgo la riga 5 e la colonna 1: > $$C_{51} = \begin{pmatrix} 2 & 0 & 0 & 0 \\ 1 & 3 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 2 \end{pmatrix}.$$ > È triangolare inferiore: $2 \cdot 3 \cdot 1 \cdot 2 = 12$. > > **Passo 6: sommo.** $\det A = +1 \cdot 1 + 1 \cdot 12 = 13$. Risposta **(b)**. > > **Perché la (a) è sbagliata.** 12 è il risultato di chi dimentica il primo pezzo, quello della casella $(1, 1)$. ### Altre due domande vere > [!ESAME] Appello del 10/07/2025, domanda 4 > Sia $A = \begin{pmatrix} 1 & -1 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 2 & -1 & 0 \end{pmatrix}$. Qual è il determinante di $A$? (a) $1$; (b) $0$; (c) $\det(A)$ non è definito; (d) $2$; (e) $-1$. > > **Soluzione.** Prima di tutto conta righe e colonne: 3 righe e 4 colonne. La matrice non è quadrata, quindi il determinante **non esiste**: risposta **(c)**. Chi sviluppa senza guardare trova numeri che sembrano plausibili: la parte $3 \times 3$ a sinistra, sviluppata lungo la sua terza colonna, ha determinante $-1 \cdot (1 \cdot 1 - 0) = -1$, che è tra le risposte. Il tranello è tutto lì. > [!ESAME] Appello del 03/06/2026, domanda 2 > Il determinante di $\begin{pmatrix} 1 & e & 1 & 1 \\ \pi & 2\pi e & 3\pi & \pi \\ 1 & e & 2 & 0 \\ 0 & e & 0 & 3 \end{pmatrix}$ è uguale a: (a) $1$; (b) $0$; (c) $\pi e$; (d) $\pi + e$; (e) $6 + 2\pi e$. > > **Soluzione.** > 1. **Tiro fuori i numeri comuni.** Tutta la seconda riga contiene $\pi$, tutta la seconda colonna contiene $e$. Li tiro fuori con la Proposizione 9.11, per righe e per colonne: > $$\det = \pi e \cdot \det \begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & 2 & 3 & 1 \\ 1 & 1 & 2 & 0 \\ 0 & 1 & 0 & 3 \end{pmatrix}.$$ > 2. **Laplace lungo la quarta riga**, $(0, 1, 0, 3)$. Restano due pezzi: la casella $(4, 2)$, con segno più, e la casella $(4, 4)$, con segno più. > 3. **La prima sottomatrice**, senza riga 4 e colonna 2: $\begin{pmatrix} 1 & 1 & 1 \\ 1 & 3 & 1 \\ 1 & 2 & 0 \end{pmatrix}$. Lungo la terza colonna: $1 \cdot (2 - 3) - 1 \cdot (2 - 1) + 0 = -1 - 1 = -2$. > 4. **La seconda sottomatrice**, senza riga 4 e colonna 4: $\begin{pmatrix} 1 & 1 & 1 \\ 1 & 2 & 3 \\ 1 & 1 & 2 \end{pmatrix}$. Con Sarrus: $(4 + 3 + 1) - (2 + 3 + 2) = 8 - 7 = 1$. > 5. **Sommo.** Il determinante tra parentesi è $1 \cdot (-2) + 3 \cdot 1 = 1$, quindi il totale è $\pi e$: risposta **(c)**. Negli altri due appelli del primo tipo (10/07/2024 e 10/06/2024) le matrici avevano righe dipendenti e il determinante era 0: con gli strumenti della lezione L10 si vede quasi senza conti. > [!METODO] Il determinante all'esame, in ordine > 1. È quadrata? Se no, il determinante non esiste. > 2. È triangolare? Prodotto della diagonale. > 3. C'è una riga o una colonna di zeri? Determinante zero. > 4. Ci sono numeri comuni da tirare fuori ($\pi$, $e$, radici, numeri grandi)? > 5. Laplace lungo la riga o la colonna con più zeri. > 6. Per una $3 \times 3$ finale, Sarrus. > > Senza calcolatrice conviene sempre rimpicciolire i numeri prima di moltiplicare. **Errori da evitare.** - Dimenticare il segno della scacchiera, soprattutto nelle caselle «dispari» come $(1, 2)$, $(2, 3)$, $(5, 4)$. - Usare Sarrus su una $4 \times 4$. - Scrivere che il determinante di $2A$ è il doppio di quello di $A$: per una $n \times n$ è $2^n$ volte. - Rispondere con un numero quando la matrice non è quadrata. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: $\det \begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc$; la regola di Sarrus per le $3 \times 3$, con il disegno; lo sviluppo di Laplace con la scacchiera dei segni; triangolare: prodotto della diagonale; la trasposta ha lo stesso determinante; riga nulla: zero; una riga per $c$: determinante per $c$; $\det(cA) = c^n \det A$. ## Quiz ```quiz D: Sia $A = \begin{pmatrix} 2 & 0 & 1 \\ -1 & 3 & 0 \end{pmatrix}$. Qual è il determinante di $A$? + $\det(A)$ non è definito. - $0$ - $6$ - $-6$ - $1$ = La prima cosa da controllare è se la matrice è quadrata: $A$ ha 2 righe e 3 colonne, quindi non lo è. Il determinante esiste solo per le matrici quadrate (Definizione 9.1), quindi non è definito. La risposta più insidiosa è 6: è il determinante del pezzo $2 \times 2$ a sinistra, $2 \cdot 3 - 0 \cdot (-1)$, che però non è la matrice data. Simile all'appello del 10/07/2025, domanda 4. D: Il determinante di $A = \begin{pmatrix} 1 & 1 & 0 & 0 \\ 0 & 1 & 2 & 0 \\ 0 & 0 & 1 & 1 \\ 3 & 0 & 0 & 1 \end{pmatrix}$ è: + $-5$ - $7$ - $1$ - $0$ - $5$ = Si sviluppa lungo la prima colonna, che ha due numeri diversi da zero. Il primo è l'1 nella casella $(1, 1)$, segno più: la sottomatrice senza riga 1 e colonna 1 è triangolare superiore con diagonale 1, 1, 1, quindi determinante 1. Il secondo è il 3 nella casella $(4, 1)$, con $4 + 1 = 5$ dispari, segno meno: la sottomatrice $\begin{pmatrix} 1 & 0 & 0 \\ 1 & 2 & 0 \\ 0 & 1 & 1 \end{pmatrix}$ è triangolare inferiore con determinante 2. Totale $1 - 3 \cdot 2 = -5$. La risposta più insidiosa è 7, di chi dimentica il segno meno della casella $(4, 1)$. Simile all'appello del 02/09/2025, domanda 3. D: Il determinante di $\begin{pmatrix} 1 & \pi & 2 \\ e & 2\pi e & e \\ 0 & \pi & 3 \end{pmatrix}$ è uguale a: + $4\pi e$ - $0$ - $\pi e$ - $4$ - $\pi + e$ = Si tirano fuori i numeri comuni: $e$ da tutta la seconda riga e $\pi$ da tutta la seconda colonna. Resta $\pi e \cdot \det \begin{pmatrix} 1 & 1 & 2 \\ 1 & 2 & 1 \\ 0 & 1 & 3 \end{pmatrix}$. Lungo la prima colonna: $1 \cdot (6 - 1) - 1 \cdot (3 - 2) + 0 = 5 - 1 = 4$. Il totale è $4\pi e$. La risposta più insidiosa è 4: è il determinante giusto della matrice piccola, ma dimentica i due numeri tirati fuori. Simile all'appello del 03/06/2026, domanda 2. D: Sia $A$ una matrice $3 \times 3$ con $\det A = 5$. Quanto vale $\det(2A)$? + $40$ - $10$ - $25$ - $8$ - $30$ = Nella matrice $2A$ tutte e tre le righe sono moltiplicate per 2, e ogni riga moltiplicata per 2 raddoppia il determinante (Proposizione 9.11). Quindi il 2 esce tre volte: $2^3 \cdot 5 = 8 \cdot 5 = 40$ (Corollario 9.12). La risposta più insidiosa è 10: è l'errore di chi moltiplica una riga sola. D: Sia $A$ una matrice $4 \times 4$ con $\det A = 3$. Quanto vale $\det(-A)$? + $3$ - $-3$ - $81$ - $-81$ - $-12$ = Nella matrice $-A$ tutte e quattro le righe sono moltiplicate per $-1$, quindi il $-1$ esce quattro volte: $(-1)^4 \cdot 3 = 1 \cdot 3 = 3$ (Corollario 9.12). Con un numero pari di righe il segno non cambia. La risposta più insidiosa è $-3$, di chi cambia il segno una volta sola. D: Quanti addendi ha la formula del determinante (Definizione 9.1) per una matrice $5 \times 5$? + $120$ - $25$ - $5$ - $10$ - $60$ = La formula ha un prodotto per ogni permutazione dei numeri da 1 a 5: sono $5! = 1 \cdot 2 \cdot 3 \cdot 4 \cdot 5 = 120$. La risposta più insidiosa è 25, il numero di caselle della matrice, che non c'entra. Proprio perché sono tanti, per le matrici grandi si usa Laplace. D: Siano $A = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ 0 & 1 & 1 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 1 & 3 \\ 0 & 0 & 1 \end{pmatrix}$. Quanto valgono $\det(AB)$ e $\tr(AB)$? + $\det(AB) = 1$, $\tr(AB) = 8$. - $\det(AB) = 1$, $\tr(AB) = 9$. - $\det(AB) = 2$, $\tr(AB) = 8$. - $\det(AB) = 0$, $\tr(AB) = 8$. - $\det(AB) = 3$, $\tr(AB) = 3$. = Il prodotto riga per colonna (lezione L08) è $AB = \begin{pmatrix} 1 & 1 & 0 \\ 2 & 3 & 3 \\ 0 & 1 & 4 \end{pmatrix}$. La traccia è la somma della diagonale, $1 + 3 + 4 = 8$. Il determinante, lungo la prima riga, è $1 \cdot (12 - 3) - 1 \cdot (8 - 0) = 9 - 8 = 1$. La risposta più insidiosa ha traccia 9: è il prodotto delle due tracce, $3 \cdot 3$, ma la traccia di un prodotto non funziona così. Con la lezione L10 si fa prima: il determinante del prodotto è il prodotto dei determinanti, $1 \cdot 1$, perché $A$ e $B$ sono triangolari con diagonale di 1. Simile all'appello del 16/01/2025, domanda 3. D: Il determinante di $\begin{pmatrix} 2 & 3 & 4 \\ 5 & 6 & 7 \\ 8 & 9 & 10 \end{pmatrix}$ è: + $0$ - $\det$ non è definito. - $1$ - $-3$ - $10!$ = Con Sarrus: le diagonali che scendono danno $2 \cdot 6 \cdot 10 + 3 \cdot 7 \cdot 8 + 4 \cdot 5 \cdot 9 = 120 + 168 + 180 = 468$, quelle che salgono $4 \cdot 6 \cdot 8 + 2 \cdot 7 \cdot 9 + 3 \cdot 5 \cdot 10 = 192 + 126 + 150 = 468$. La differenza è 0. Il motivo profondo: la terza riga è $2 \cdot (5, 6, 7) - (2, 3, 4)$, una ricetta con le altre due, e nella lezione L10 vedrai che allora il determinante è sempre zero. La risposta «non è definito» è sbagliata: la matrice è quadrata. Simile all'appello del 10/07/2024, domanda 4. D: Quale di queste affermazioni è **falsa** per matrici quadrate reali? + $\det(A + B) = \det A + \det B$ per ogni $A, B \in M(2)$. - $\det({}^tA) = \det A$. - $\det(I_n) = 1$. - Se una colonna di $A$ è nulla, allora $\det A = 0$. - $\det(-A) = \det A$ per ogni $A \in M(2)$. = Basta un esempio: con $A = I_2$ e $B = -I_2$ la somma è la matrice nulla, con determinante 0, mentre $\det A + \det B = 1 + 1 = 2$. Quindi il determinante non si spezza sulle somme. Le altre sono vere: la trasposta ha lo stesso determinante (Proposizione 9.5), l'identità ha determinante 1 (Definizione 9.4 con la Proposizione 9.3), una colonna di zeri dà zero (Proposizione 9.10). La più insidiosa è l'ultima, che sembra falsa: ma per le $2 \times 2$ il $-1$ esce due volte, e $(-1)^2 = 1$ (Corollario 9.12). D: Calcola il determinante di $\begin{pmatrix} 3 & 1 & 0 \\ 0 & 2 & 5 \\ 1 & 0 & 4 \end{pmatrix}$. N: 29 = Lungo la prima riga, con i segni $+, -, +$ e lo zero in fondo: $3 \cdot (2 \cdot 4 - 5 \cdot 0) - 1 \cdot (0 \cdot 4 - 5 \cdot 1) + 0 = 3 \cdot 8 - 1 \cdot (-5) = 24 + 5 = 29$. Attenzione al segno meno davanti al secondo pezzo: moltiplicato per $-5$ diventa più. ``` ## Esercizi ::: esercizio base Riscaldamento: una $2 \times 2$ Calcola $\det \begin{pmatrix} 5 & 2 \\ 3 & 4 \end{pmatrix}$ e $\det \begin{pmatrix} -1 & 3 \\ 2 & -6 \end{pmatrix}$. ::: soluzione 1. Diagonale principale $5 \cdot 4 = 20$, altra diagonale $2 \cdot 3 = 6$: il determinante è $20 - 6 = 14$. 2. Diagonale principale $(-1) \cdot (-6) = 6$, altra diagonale $3 \cdot 2 = 6$: il determinante è $6 - 6 = 0$. Le due colonne $(-1, 2)$ e $(3, -6)$ sono una il $-3$ volte dell'altra: il parallelogramma è schiacciato. ::: ::: esercizio base Riscaldamento: una triangolare Calcola il determinante di $\begin{pmatrix} 3 & 7 & -2 & 5 \\ 0 & -1 & 4 & 1 \\ 0 & 0 & 2 & 9 \\ 0 & 0 & 0 & 1 \end{pmatrix}$. ::: soluzione 1. Sotto la diagonale ci sono solo zeri: è triangolare superiore. 2. Il determinante è il prodotto della diagonale: $3 \cdot (-1) \cdot 2 \cdot 1 = -6$. ::: ::: esercizio base Riscaldamento: esiste? Quali di queste matrici hanno un determinante? $\begin{pmatrix} 1 & 2 \end{pmatrix}$, $\begin{pmatrix} 7 \end{pmatrix}$, $\begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 2 & 2 \end{pmatrix}$, $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$. ::: soluzione 1. $\begin{pmatrix} 1 & 2 \end{pmatrix}$ è $1 \times 2$: non quadrata, niente determinante. 2. $\begin{pmatrix} 7 \end{pmatrix}$ è $1 \times 1$: il determinante è 7. 3. La terza è $3 \times 2$: non quadrata, niente determinante. 4. L'ultima è $2 \times 2$: il determinante è $4 - 6 = -2$. ::: ::: esercizio base Riscaldamento: i segni della scacchiera In una matrice $4 \times 4$, che segno hanno le caselle $(1, 1)$, $(1, 2)$, $(2, 3)$, $(4, 1)$ e $(4, 4)$? ::: soluzione Il segno è più quando la somma di riga e colonna è pari, meno quando è dispari. 1. $(1, 1)$: $1 + 1 = 2$, più. 2. $(1, 2)$: $1 + 2 = 3$, meno. 3. $(2, 3)$: $2 + 3 = 5$, meno. 4. $(4, 1)$: $4 + 1 = 5$, meno. 5. $(4, 4)$: $4 + 4 = 8$, più. ::: ::: esercizio base Quattro determinanti $2 \times 2$ Calcola: (a) $\det \begin{pmatrix} 3 & 1 \\ 4 & 2 \end{pmatrix}$; (b) $\det \begin{pmatrix} 2 & -3 \\ 4 & -6 \end{pmatrix}$; (c) $\det \begin{pmatrix} \cos t & -\sin t \\ \sin t & \cos t \end{pmatrix}$; (d) $\det \begin{pmatrix} 1 + i & 2 \\ 1 & 1 - i \end{pmatrix}$. ::: soluzione (a) $3 \cdot 2 - 1 \cdot 4 = 6 - 4 = 2$. (b) $2 \cdot (-6) - (-3) \cdot 4 = -12 + 12 = 0$. Le colonne $(2, 4)$ e $(-3, -6)$ sono una multipla dell'altra ($-\frac 32$ volte la prima): il parallelogramma è schiacciato. (c) $\cos t \cdot \cos t - (-\sin t) \cdot \sin t = \cos^2 t + \sin^2 t = 1$ per ogni angolo $t$ (lezione L03). Questa matrice gira il piano dell'angolo $t$, e girare non cambia le aree (lezione L22). (d) $(1 + i)(1 - i) - 2 \cdot 1 = (1 - i^2) - 2 = (1 + 1) - 2 = 0$. ::: ::: esercizio base Una $3 \times 3$ in due modi Calcola $\det A$ per $A = \begin{pmatrix} 2 & 0 & 1 \\ 1 & 3 & -1 \\ 0 & 1 & 4 \end{pmatrix}$ (a) con la formula dei sei addendi e (b) con Laplace lungo la prima riga. ::: soluzione (a) Prodotto per prodotto, nell'ordine della formula: 1. $a_{11}a_{22}a_{33} = 2 \cdot 3 \cdot 4 = 24$; 2. $-a_{11}a_{23}a_{32} = -2 \cdot (-1) \cdot 1 = 2$; 3. $-a_{13}a_{22}a_{31} = -1 \cdot 3 \cdot 0 = 0$; 4. $-a_{12}a_{21}a_{33} = -0 \cdot 1 \cdot 4 = 0$; 5. $+a_{12}a_{23}a_{31} = 0 \cdot (-1) \cdot 0 = 0$; 6. $+a_{13}a_{21}a_{32} = 1 \cdot 1 \cdot 1 = 1$. Totale $24 + 2 + 1 = 27$. (b) Lungo la prima riga, segni $+, -, +$, e il secondo numero è 0: $$\det A = 2 \det \begin{pmatrix} 3 & -1 \\ 1 & 4 \end{pmatrix} - 0 + 1 \cdot \det \begin{pmatrix} 1 & 3 \\ 0 & 1 \end{pmatrix} = 2 \cdot (12 + 1) + 1 \cdot (1 - 0) = 26 + 1 = 27.$$ Stesso risultato: Laplace è solo un modo ordinato di raccogliere gli stessi sei prodotti. ::: ::: esercizio medio Permutazioni e addendi (a) Trova il segno delle permutazioni $[2\ 1\ 4\ 3]$, $[4\ 3\ 2\ 1]$ e $[2\ 3\ 4\ 1]$ di $S_4$. (b) Scrivi, con il suo segno, l'addendo della formula del determinante $4 \times 4$ che corrisponde a $[2\ 3\ 4\ 1]$. (c) Nella formula del determinante $4 \times 4$ può comparire il prodotto $a_{11}a_{21}a_{33}a_{44}$? ::: soluzione (a) Con gli scambi di posto: - $[2\ 1\ 4\ 3]$: da $[1\ 2\ 3\ 4]$ scambio i primi due posti e gli ultimi due. 2 scambi, segno $+1$. - $[4\ 3\ 2\ 1]$: scambio il primo con il quarto posto, $[4\ 2\ 3\ 1]$, poi il secondo con il terzo, $[4\ 3\ 2\ 1]$. 2 scambi, segno $+1$. - $[2\ 3\ 4\ 1]$: $[1\ 2\ 3\ 4] \to [2\ 1\ 3\ 4] \to [2\ 3\ 1\ 4] \to [2\ 3\ 4\ 1]$. 3 scambi, segno $-1$. Controllo con le inversioni: $(2, 1)$, $(3, 1)$, $(4, 1)$, tre, segno $-1$. (b) $\sigma(1) = 2$, $\sigma(2) = 3$, $\sigma(3) = 4$, $\sigma(4) = 1$: il prodotto è $-a_{12}a_{23}a_{34}a_{41}$. (c) No: $a_{11}$ e $a_{21}$ stanno tutti e due nella **colonna 1**. Ogni prodotto della formula prende un solo numero da ogni colonna. ::: ::: esercizio medio Una $4 \times 4$ con Laplace Calcola $\det \begin{pmatrix} 1 & 2 & 0 & 3 \\ 0 & 1 & 0 & 0 \\ 4 & 1 & 2 & 1 \\ 1 & 0 & 0 & 2 \end{pmatrix}$. ::: soluzione 1. La seconda riga ha un solo numero diverso da zero: l'1 nella casella $(2, 2)$, segno più. 2. Cancello la riga 2 e la colonna 2: $$\det = 1 \cdot \det \begin{pmatrix} 1 & 0 & 3 \\ 4 & 2 & 1 \\ 1 & 0 & 2 \end{pmatrix}.$$ 3. Nella nuova matrice la seconda colonna ha un solo numero diverso da zero: il 2 nella casella $(2, 2)$, segno più. $$\det \begin{pmatrix} 1 & 0 & 3 \\ 4 & 2 & 1 \\ 1 & 0 & 2 \end{pmatrix} = 2 \det \begin{pmatrix} 1 & 3 \\ 1 & 2 \end{pmatrix} = 2 \cdot (2 - 3) = -2.$$ Il determinante cercato è $-2$: due sviluppi furbi e un solo determinante $2 \times 2$. ::: ::: esercizio medio Proprietà senza conti Sia $A$ una matrice $3 \times 3$ con $\det A = 5$. Calcola: (a) $\det({}^tA)$; (b) $\det(2A)$; (c) $\det(-A)$; (d) il determinante della matrice ottenuta da $A$ moltiplicando la seconda riga per 3; (e) il determinante della matrice ottenuta da $A$ sostituendo la prima colonna con una colonna di zeri. ::: soluzione (a) La trasposta ha lo stesso determinante: 5 (Proposizione 9.5). (b) Tutte e tre le righe per 2: $2^3 \cdot 5 = 40$ (Corollario 9.12). (c) Tutte e tre le righe per $-1$: $(-1)^3 \cdot 5 = -5$. (d) Una sola riga per 3: $3 \cdot 5 = 15$ (Proposizione 9.11). (e) Una colonna di zeri: 0 (Proposizione 9.10), qualunque fosse $A$. ::: ::: esercizio medio L'area di un triangolo (oltre le dispense) Usa il determinante per calcolare l'area del triangolo di vertici $P = (1, 1)$, $Q = (4, 2)$, $R = (2, 5)$. ::: soluzione 1. Il triangolo è metà del parallelogramma costruito sui lati che partono da $P$. 2. I due lati: $Q - P = (4 - 1,\ 2 - 1) = (3, 1)$ e $R - P = (2 - 1,\ 5 - 1) = (1, 4)$. 3. L'area del parallelogramma è il determinante senza segno della matrice con questi vettori come colonne: $$\det \begin{pmatrix} 3 & 1 \\ 1 & 4 \end{pmatrix} = 12 - 1 = 11.$$ 4. L'area del triangolo è la metà: $\frac{11}2 = 5{,}5$. Il segno positivo dice anche che percorrendo $P$, $Q$, $R$ si gira in senso antiorario. ::: ::: esercizio difficile Esercizio 9.13 delle dispense: una $4 \times 4$ complessa Calcoliamo il determinante della matrice $$A = \begin{pmatrix} 2 + i & 0 & -5 & 0 \\ 3 - i & 1 & 2i & 0 \\ 4 + 4i & -2 & -1 & 0 \\ -\frac 12 & i & 1 - i & i \end{pmatrix}.$$ ::: soluzione Le regole sono le stesse con i numeri complessi: cambiano solo i conti (lezioni L02 e L03). **Passo 1: la colonna migliore.** La quarta colonna ha un solo numero diverso da zero: $i$, nella casella $(4, 4)$, segno più. Sviluppo lungo la quarta colonna (Corollario 9.7): $$\det A = i \cdot \det C_{44}, \qquad C_{44} = \begin{pmatrix} 2 + i & 0 & -5 \\ 3 - i & 1 & 2i \\ 4 + 4i & -2 & -1 \end{pmatrix}.$$ I numeri $-\frac 12$, $i$, $1 - i$ dell'ultima riga non servono più. **Passo 2: la $3 \times 3$ lungo la prima riga**, che ha uno zero (segni $+, -, +$): $$\det C_{44} = (2 + i) \det \begin{pmatrix} 1 & 2i \\ -2 & -1 \end{pmatrix} - 0 + (-5) \det \begin{pmatrix} 3 - i & 1 \\ 4 + 4i & -2 \end{pmatrix}.$$ **Passo 3: le due $2 \times 2$.** - $\det \begin{pmatrix} 1 & 2i \\ -2 & -1 \end{pmatrix} = 1 \cdot (-1) - 2i \cdot (-2) = -1 + 4i$; - $\det \begin{pmatrix} 3 - i & 1 \\ 4 + 4i & -2 \end{pmatrix} = (3 - i)(-2) - 1 \cdot (4 + 4i) = -6 + 2i - 4 - 4i = -10 - 2i$. **Passo 4: i prodotti.** - $(2 + i)(-1 + 4i) = -2 + 8i - i + 4i^2 = -2 + 7i - 4 = -6 + 7i$, perché $i^2 = -1$; - $(-5)(-10 - 2i) = 50 + 10i$. Quindi $\det C_{44} = (-6 + 7i) + (50 + 10i) = 44 + 17i$. **Passo 5.** $\det A = i(44 + 17i) = 44i + 17i^2 = -17 + 44i$. ::: ::: esercizio difficile Esercizio 9.14 delle dispense: radici e unità immaginaria Calcoliamo il determinante della matrice $$B = \begin{pmatrix} 5i & 4\sqrt 2 & 0 & \sqrt 2 \\ 5i & 8\sqrt 2 & 0 & -\sqrt 2 \\ -5i & -4\sqrt 2 & -1 & 2\sqrt 2 \\ -10i & 4\sqrt 2 & 1 & \sqrt 2 \end{pmatrix}.$$ ::: soluzione **Passo 1: tiro fuori i numeri comuni** (Proposizione 9.11, per colonne). La prima colonna è $5i$ per $(1, 1, -1, -2)$, la seconda è $4\sqrt 2$ per $(1, 2, -1, 1)$, la quarta è $\sqrt 2$ per $(1, -1, 2, 1)$. Quindi $$\det B = 5i \cdot 4\sqrt 2 \cdot \sqrt 2 \cdot \det M = 40i \det M, \qquad M = \begin{pmatrix} 1 & 1 & 0 & 1 \\ 1 & 2 & 0 & -1 \\ -1 & -1 & -1 & 2 \\ -2 & 1 & 1 & 1 \end{pmatrix},$$ perché $\sqrt 2 \cdot \sqrt 2 = 2$ e $5 \cdot 4 \cdot 2 = 40$. **Passo 2: Laplace lungo la terza colonna** di $M$, che ha due zeri. Restano il $-1$ nella casella $(3, 3)$, segno più, e l'1 nella casella $(4, 3)$, segno meno: $$\det M = +(-1) \det C_{33} - 1 \cdot \det C_{43}.$$ **Passo 3: le due $3 \times 3$.** - $C_{33}$, senza riga 3 e colonna 3, è $\begin{pmatrix} 1 & 1 & 1 \\ 1 & 2 & -1 \\ -2 & 1 & 1 \end{pmatrix}$. Lungo la prima riga: $1 \cdot (2 + 1) - 1 \cdot (1 - 2) + 1 \cdot (1 + 4) = 3 + 1 + 5 = 9$. - $C_{43}$, senza riga 4 e colonna 3, è $\begin{pmatrix} 1 & 1 & 1 \\ 1 & 2 & -1 \\ -1 & -1 & 2 \end{pmatrix}$. Lungo la prima riga: $1 \cdot (4 - 1) - 1 \cdot (2 - 1) + 1 \cdot (-1 + 2) = 3 - 1 + 1 = 3$. Quindi $\det M = -9 - 3 = -12$. **Passo 4.** $\det B = 40i \cdot (-12) = -480i$. Senza il passo 1 i conti si fanno lo stesso, ma con prodotti come $5i \cdot 8\sqrt 2 \cdot \sqrt 2$ a ogni riga: tirare fuori i numeri comuni è il modo per non sbagliare. ::: ::: esercizio difficile Le antisimmetriche di ordine dispari (a) Dimostra che ogni matrice reale antisimmetrica $A$ di taglia $n \times n$ con $n$ dispari ha $\det A = 0$ (Martelli, Esercizio 3.11). (b) Controlla con $N = \begin{pmatrix} 0 & 2 & -1 \\ -2 & 0 & 3 \\ 1 & -3 & 0 \end{pmatrix}$. (c) Mostra che per $n = 2$ non è vero. ::: soluzione Ricorda dalla lezione L06: una matrice è antisimmetrica quando la sua trasposta è il suo opposto, ${}^tA = -A$. (a) Tre uguaglianze: 1. la trasposta ha lo stesso determinante: $\det({}^tA) = \det A$ (Proposizione 9.5); 2. siccome ${}^tA = -A$, vale $\det({}^tA) = \det(-A)$; 3. con $n$ dispari, $\det(-A) = (-1)^n \det A = -\det A$ (Corollario 9.12). Mettendole insieme: $\det A = -\det A$, cioè $2\det A = 0$, quindi $\det A = 0$. (b) Con Sarrus. Le diagonali che scendono: $0 \cdot 0 \cdot 0 + 2 \cdot 3 \cdot 1 + (-1) \cdot (-2) \cdot (-3) = 0 + 6 - 6 = 0$. Quelle che salgono: $(-1) \cdot 0 \cdot 1 + 0 \cdot 3 \cdot (-3) + 2 \cdot (-2) \cdot 0 = 0$. Differenza 0. (c) $\det \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix} = 0 - 1 \cdot (-1) = 1$, non zero: con $n$ pari, $(-1)^n = 1$ e il ragionamento non dice niente. ::: ::: esercizio esame Il determinante di una $5 \times 5$ Calcolare il determinante di $A = \begin{pmatrix} 2 & 1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 2 & 0 \\ 0 & 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 0 & 3 \end{pmatrix}$. Risposte possibili: (a) $6$; (b) $8$; (c) $0$; (d) $4$; (e) $12$. ::: soluzione Nella prima colonna i numeri diversi da zero sono il 2 nella casella $(1, 1)$, segno più, e l'1 nella casella $(5, 1)$, con $5 + 1 = 6$ pari, segno più. 1. Tolgo la riga 1 e la colonna 1: $C_{11} = \begin{pmatrix} 1 & 1 & 0 & 0 \\ 0 & 1 & 2 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 3 \end{pmatrix}$, triangolare superiore, determinante $1 \cdot 1 \cdot 1 \cdot 3 = 3$. 2. Tolgo la riga 5 e la colonna 1: $C_{51} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 0 & 1 & 2 & 0 \\ 0 & 0 & 1 & 1 \end{pmatrix}$, triangolare inferiore, determinante $1 \cdot 1 \cdot 2 \cdot 1 = 2$. 3. Sommo: $\det A = 2 \cdot 3 + 1 \cdot 2 = 6 + 2 = 8$. Risposta **(b)**. Il 6 è di chi dimentica il secondo pezzo, il 4 di chi lo sottrae. ::: ::: esercizio esame Per quali $k$ il determinante è nullo? Sia $A = \begin{pmatrix} k & 1 & 0 \\ 1 & k & 1 \\ 0 & 1 & k \end{pmatrix}$ con $k \in \R$. Calcola $\det A$ in funzione di $k$ e trova i valori di $k$ per cui $\det A = 0$. ::: soluzione 1. Sviluppo lungo la prima riga (segni $+, -, +$, e l'ultimo numero è 0): $$\det A = k \det \begin{pmatrix} k & 1 \\ 1 & k \end{pmatrix} - 1 \cdot \det \begin{pmatrix} 1 & 1 \\ 0 & k \end{pmatrix} + 0.$$ 2. I due determinanti: $k \cdot k - 1 \cdot 1 = k^2 - 1$ e $1 \cdot k - 1 \cdot 0 = k$. 3. Quindi $\det A = k(k^2 - 1) - k = k^3 - k - k = k^3 - 2k$. 4. Raccolgo $k$: $\det A = k(k^2 - 2)$. 5. Il prodotto fa zero quando $k = 0$ oppure $k^2 = 2$, cioè $k = \sqrt 2$ o $k = -\sqrt 2$. Controllo con $k = 0$: la matrice $\begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}$ ha la prima e la terza riga uguali, e con Sarrus il determinante è $0 + 0 + 0 - (0 + 0 + 0) = 0$. Nella lezione L10 scoprirai che questi sono esattamente i valori di $k$ per cui $A$ **non è invertibile**: è la prima domanda di molti problemi d'esame. ::: ::: esercizio esame Raccogliere $\pi$ ed $e$ Calcola il determinante di $\begin{pmatrix} 2 & \pi & 1 \\ 4 & 3\pi & 0 \\ e & 2\pi e & e \end{pmatrix}$. Risposte possibili: (a) $7\pi e$; (b) $0$; (c) $\pi e$; (d) $7$; (e) $6\pi + e$. ::: soluzione 1. La terza riga ha il numero comune $e$: $(e, 2\pi e, e)$ è $e$ per $(1, 2\pi, 1)$. Lo tiro fuori. 2. Ora la seconda colonna è $(\pi, 3\pi, 2\pi)$, cioè $\pi$ per $(1, 3, 2)$. Tiro fuori anche $\pi$ (Proposizione 9.11): $$\det = \pi e \det \begin{pmatrix} 2 & 1 & 1 \\ 4 & 3 & 0 \\ 1 & 2 & 1 \end{pmatrix}.$$ 3. Sviluppo lungo la terza colonna (segni $+, -, +$, e lo zero al centro): $$\det \begin{pmatrix} 2 & 1 & 1 \\ 4 & 3 & 0 \\ 1 & 2 & 1 \end{pmatrix} = 1 \cdot \det \begin{pmatrix} 4 & 3 \\ 1 & 2 \end{pmatrix} - 0 + 1 \cdot \det \begin{pmatrix} 2 & 1 \\ 4 & 3 \end{pmatrix} = (8 - 3) + (6 - 4) = 5 + 2 = 7.$$ Il determinante è $7\pi e$: risposta **(a)**. ::: ## Domande di ripasso ::: domanda Per quali matrici esiste il determinante? Solo per le matrici quadrate, con tante righe quante colonne. Una matrice $3 \times 4$ non ha determinante. ::: ::: domanda Qual è la formula del determinante $2 \times 2$ e che cosa misura? Diagonale principale meno l'altra diagonale: $ad - bc$. Senza segno è l'area del parallelogramma che ha per lati le due colonne; il segno dice in che ordine girano le colonne. ::: ::: domanda Che cos'è il segno di una permutazione? Si conta quanti scambi di due numeri servono per arrivare alla permutazione partendo dalla fila in ordine. Se sono pari il segno è $+1$, se sono dispari è $-1$. Uno scambio solo ha segno $-1$, la fila in ordine $+1$. ::: ::: domanda Come si legge la Definizione 9.1 del determinante? È la somma di un prodotto per ogni permutazione, con il segno della permutazione. Ogni prodotto prende un numero da ogni riga e uno da ogni colonna, come torri su una scacchiera che non si mangiano. ::: ::: domanda Quanti addendi ha la formula per una $3 \times 3$ e quali segni hanno? Sei: tre con il più ($a_{11}a_{22}a_{33}$, $a_{12}a_{23}a_{31}$, $a_{13}a_{21}a_{32}$) e tre con il meno ($a_{11}a_{23}a_{32}$, $a_{13}a_{22}a_{31}$, $a_{12}a_{21}a_{33}$). La regola di Sarrus li fa ricordare. ::: ::: domanda Quanto vale il determinante di una matrice triangolare, e perché? Il prodotto dei numeri sulla diagonale. Nella formula tutti gli altri prodotti contengono almeno uno zero: l'unico modo di evitare gli zeri è prendere proprio la diagonale. ::: ::: domanda Quanto vale il determinante della matrice identità? 1: è diagonale con tutti 1 sulla diagonale. ::: ::: domanda Che cosa dice la Proposizione 9.5 e a che cosa serve? La trasposta ha lo stesso determinante. Serve a usare sulle colonne tutte le regole che valgono per le righe, per esempio lo sviluppo di Laplace lungo una colonna. ::: ::: domanda Come funziona lo sviluppo di Laplace lungo una riga? Per ogni numero della riga: segno della scacchiera, per il numero, per il determinante della sottomatrice che resta togliendo la sua riga e la sua colonna. Poi si somma tutto. ::: ::: domanda Come si ricordano i segni della scacchiera? Come le caselle di una scacchiera, con il più in alto a sinistra: più quando riga più colonna è pari, meno quando è dispari. ::: ::: domanda Quale riga o colonna conviene scegliere per Laplace? Quella con più zeri: i pezzi con un numero zero spariscono, e non serve calcolare le loro sottomatrici. ::: ::: domanda Che cosa succede al determinante se si moltiplica una riga per un numero? E se si moltiplica tutta la matrice? Una riga per $c$: il determinante viene moltiplicato per $c$. Tutta la matrice $n \times n$ per $c$: il determinante viene moltiplicato per $c^n$, perché le righe moltiplicate sono $n$. ::: ::: domanda Perché una matrice con una riga di zeri ha determinante zero? Sviluppando lungo quella riga, ogni pezzo contiene un fattore zero. ::: ## Glossario ```glossario Determinante $\det A$ | Il numero di una matrice quadrata. Per le $2 \times 2$ è $ad - bc$; senza segno dice di quanto la matrice ingrandisce le aree. Permutazione | Un modo di rimettere in fila i numeri da 1 a $n$, ognuno una volta sola. Si scrive come $[2\ 3\ 1]$. $S_n$ | L'insieme delle permutazioni di $n$ numeri. Ne contiene $n!$, per esempio 6 per $n = 3$. Trasposizione | Uno scambio di due soli numeri, con tutti gli altri fermi. Ha segno $-1$. Segno $\sgn(\sigma)$ | $+1$ se la permutazione si ottiene con un numero pari di scambi, $-1$ se dispari. Inversione | Una coppia in cui un numero più grande sta prima di uno più piccolo. Contarle dà il segno. Regola di Sarrus | Un trucco solo per le $3 \times 3$: ricopiate le prime due colonne, le diagonali che scendono vanno col più, quelle che salgono col meno. Matrice triangolare | Una matrice quadrata con zeri sotto o sopra la diagonale. Il determinante è il prodotto della diagonale. Matrice identità $I_n$ | La matrice quadrata con 1 sulla diagonale e 0 altrove. Ha determinante 1. Sottomatrice $C_{ij}$ | La matrice che resta togliendo la riga $i$ e la colonna $j$: un passo più piccola. Sviluppo di Laplace | Riduce un determinante a determinanti più piccoli, lungo una riga o una colonna: segno, numero, determinante della sottomatrice. Scacchiera dei segni | I segni più e meno delle caselle, alternati come su una scacchiera, con il più in alto a sinistra. Riga nulla | Se una riga o colonna è tutta di zeri, il determinante è zero. Riga moltiplicata per $c$ | Moltiplicare una riga o colonna per $c$ moltiplica il determinante per $c$; tutta la matrice $n \times n$ lo moltiplica per $c^n$. Area con segno | Per le $2 \times 2$ reali il determinante è l'area del parallelogramma delle colonne, con il segno dell'orientazione. ``` ## Checklist ```checklist - So dire per quali matrici esiste il determinante e riconosco il tranello della matrice non quadrata. - So calcolare un determinante $2 \times 2$ e spiegare che cosa misura. - So trovare il segno di una permutazione e leggere la Definizione 9.1. - So scrivere i sei prodotti del determinante $3 \times 3$ e usare la regola di Sarrus. - So calcolare il determinante di una matrice triangolare e so che l'identità ha determinante 1. - So che la trasposta ha lo stesso determinante e perché questo permette di lavorare sulle colonne. - So sviluppare un determinante con Laplace lungo qualsiasi riga o colonna, con i segni della scacchiera. - So scegliere la riga o la colonna più comoda e ridurre una $4 \times 4$ o una $5 \times 5$ a pochi conti. - So tirare fuori un numero comune da una riga o da una colonna. - So usare $\det(cA) = c^n \det A$ e so che il determinante non si spezza sulle somme. - So calcolare determinanti con numeri complessi, radici, $\pi$ ed $e$ senza calcolatrice. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 9 «Matrici II», pp. 41–45: le sezioni 9.A (determinante, matrici triangolari, identità), 9.B (sviluppo di Laplace), 9.C (proprietà) e 9.D (esercizi) sono seguite in ordine, con la pagina accanto a ogni titolo; la sezione sull'area è anticipata all'inizio per dare un'idea del determinante prima della definizione. Definizioni, proposizioni ed esempi mantengono la loro numerazione (Definizioni 9.1 e 9.4, Proposizioni 9.3, 9.5, 9.10, 9.11, Teorema 9.6, Corollari 9.7 e 9.12, Esempi 9.2, 9.8, 9.9, Esercizi 9.13 e 9.14, svolti come esercizi 11 e 12). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §3.3.1–3.3.4 (definizione, colorazioni, Proposizione 3.3.2, matrici triangolari, identità, Teorema 3.3.5), §3.3.10 (basi positive e negative, area e volume), §3.4.6 (Osservazione 3.4.9 sul determinante della somma), Esercizi 3.10 e 3.11. - **Esame**: testi degli appelli di Algebra lineare dal 24/01/2024 al 07/09/2026 (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); riportate con soluzione propria le domande 3 del 02/09/2025, 4 del 10/07/2025 e 2 del 03/06/2026; le altre sono citate per numero. - Le parti **«Oltre le dispense»** (significato geometrico, regola di Sarrus, segno con le inversioni, dimostrazioni di 9.5 e dell'idea di Laplace, esercizi senza numero) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L10_matrici_3.md` ```yaml corso: MDAG modulo: AG lezione: L10 titolo: Matrici III docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L10 descrizione: >- Appunti della lezione L10 di Algebra lineare e Geometria (MDAG, parte 2): come cambia il determinante con le mosse di Gauss, determinante nullo e righe dipendenti, teorema di Binet, cofattori, matrice inversa e criterio di invertibilità, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Come si calcola in fretta un determinante grande, quando vale zero, quanto vale il determinante di un prodotto e come si disfa quello che fa una matrice, trovando la sua inversa. Alla fine sai rispondere alla domanda che apre molti problemi d'esame: per quali valori del parametro la matrice è invertibile? materiale: dispense scheda: Dispense: lezione 10 · pp. 46–49 Libro: Martelli, §3.3.5, §3.3.7, §3.4.5–3.4.7 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 10 «Matrici III»; B. Martelli, Geometria e algebra lineare, §3.3.5, §3.3.7, §3.3.9 e §3.4.5–3.4.8 appunti_html: appunti/MDAG/L10_matrici_3.html genera_html: true ``` ## In breve - Ci sono tre **mosse sulle righe**, le mosse di Gauss. Scambiare due righe cambia il segno del determinante. Moltiplicare una riga per un numero moltiplica il determinante per quel numero. Aggiungere a una riga un multiplo di un'altra non lo cambia. - Il metodo pratico per i determinanti grandi: con le mosse si rende la matrice triangolare, poi si moltiplica la diagonale, cambiando segno per ogni scambio. - Il determinante è zero esattamente quando una riga è un doppione delle altre, cioè si ottiene mescolandole. Due righe uguali o proporzionali danno subito zero. - **Teorema di Binet**: il determinante di un prodotto di matrici è il prodotto dei determinanti. Per esempio il determinante del cubo di una matrice è il cubo del determinante. - Una matrice è **invertibile** quando un'altra matrice disfa quello che fa lei. Succede esattamente quando il determinante non è zero. - L'inversa si calcola con i **cofattori**. Per le $2 \times 2$: scambia la diagonale, cambia segno agli altri due numeri, dividi per il determinante. - All'esame: «per quali valori di $k$ la matrice è invertibile?» nei problemi; il determinante delle potenze con Binet e i tranelli sulle mosse di Gauss nei quiz. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Tre mosse sulle righe (p. 46) Prendi la matrice $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix},$$ che ha determinante $1 \cdot 4 - 2 \cdot 3 = 4 - 6 = -2$ (lezione L09). Ora cambio le sue righe in tre modi diversi e ricalcolo il determinante ogni volta. | Mossa | Nuova matrice | Determinante | Rispetto a $-2$ | |---|---|---|---| | scambio le due righe | $\begin{pmatrix} 3 & 4 \\ 1 & 2 \end{pmatrix}$ | $6 - 4 = 2$ | cambia segno | | moltiplico la prima riga per 5 | $\begin{pmatrix} 5 & 10 \\ 3 & 4 \end{pmatrix}$ | $20 - 30 = -10$ | moltiplicato per 5 | | tolgo 3 volte la prima riga dalla seconda | $\begin{pmatrix} 1 & 2 \\ 0 & -2 \end{pmatrix}$ | $-2 - 0 = -2$ | uguale | La terza mossa è la più preziosa. Ha creato uno zero **senza cambiare** il determinante, e la matrice è diventata triangolare: adesso il determinante si legge sulla diagonale, $1 \cdot (-2) = -2$. Succede sempre così. Le dispense lo scrivono in questo modo. > [!PROP] 10.1 · Il determinante e le mosse sulle righe > Sia $A$ una matrice $n \times n$. > 1. Se $A'$ è ottenuta da $A$ scambiando due righe, allora $\det(A') = -\det(A)$. > 2. Se $A'$ è ottenuta da $A$ moltiplicando una riga di $A$ per uno scalare $\lambda$, allora $\det(A') = \lambda \det(A)$. > 3. Se $A'$ è ottenuta da $A$ aggiungendo ad una riga il multiplo di un'altra riga, allora $\det(A') = \det A$. > > Le identiche regole valgono anche per le colonne (invece delle righe). **Come si legge.** - $A'$, «a primo», è la matrice dopo la mossa. $\lambda$, «lambda», è un numero qualsiasi. - Scambio: il determinante cambia segno. - Una riga per un numero: il determinante viene moltiplicato per lo stesso numero. È la Proposizione 9.11 della lezione L09. - Una riga più un multiplo di un'altra: il determinante non cambia. La riga che cambia è una sola; quella usata per il multiplo resta com'è. - Le stesse regole valgono per le colonne, perché la trasposta ha lo stesso determinante (Proposizione 9.5). Queste tre operazioni si chiamano **mosse di Gauss**. Nella lezione L11 diventeranno lo strumento per risolvere i sistemi di equazioni. Si scrivono con la lettera $R$, da «riga»: $R_2$ è la seconda riga. | Tipo | Mossa | Si scrive | Effetto sul determinante | |---|---|---|---| | (I) | scambiare due righe | $R_1 \leftrightarrow R_2$ | cambia segno | | (II) | moltiplicare una riga per un numero diverso da zero | $R_2 \to 5R_2$ | moltiplicato per quel numero | | (III) | aggiungere a una riga un multiplo di un'altra | $R_2 \to R_2 - 3R_1$ | invariato | La freccia $\to$ si legge «diventa»: $R_2 \to R_2 - 3R_1$ vuol dire «la seconda riga diventa la seconda riga meno 3 volte la prima». Come mossa di Gauss la (II) si usa solo con numeri diversi da zero: moltiplicare una riga per zero cancellerebbe informazione. > [!DIM] della Proposizione 10.1 > Le dispense danno una spiegazione in tre righe; eccola con tutti i passaggi. > > **(1) Scambio.** Per $n = 2$: $\det \begin{pmatrix} c & d \\ a & b \end{pmatrix} = cb - da = -(ad - bc)$. Per $n \ge 3$ si procede per induzione sull'ordine: c'è almeno una riga $i$ **non toccata** dallo scambio. Sviluppando $\det A'$ lungo quella riga, ogni sottomatrice $C'_{ij}$ è la $C_{ij}$ di $A$ con due righe scambiate, e ha ordine $n - 1$: per l'ipotesi induttiva $\det C'_{ij} = -\det C_{ij}$. Quindi ogni addendo cambia segno, e anche la somma. > > **Una conseguenza:** se $A$ ha **due righe uguali**, allora $\det A = 0$. Infatti scambiando le due righe uguali si ottiene la stessa matrice, ma per (1) il determinante cambia segno: $\det A = -\det A$, cioè $\det A = 0$. > > **(2)** È la Proposizione 9.11. > > **(3) Somma di un multiplo.** Sia $A'$ ottenuta con $R_i \to R_i + \lambda R_k$. Sviluppo $\det A'$ lungo la riga $i$; le sottomatrici $C_{ij}$ non contengono la riga $i$, quindi sono quelle di $A$: > $$\det A' = \sum_j (-1)^{i+j}(a_{ij} + \lambda a_{kj}) \det C_{ij} = \det A + \lambda \sum_j (-1)^{i+j} a_{kj} \det C_{ij}.$$ > L'ultima somma è lo sviluppo lungo la riga $i$ della matrice che ha la riga $k$ **al posto** della riga $i$: una matrice con due righe uguali, il cui determinante è $0$. Resta $\det A' = \det A$. > > **Colonne:** basta applicare tutto a ${}^tA$, perché $\det({}^tA) = \det A$. ::: prova Una matrice $3 \times 3$ ha determinante 7. Scambio la prima e la seconda riga. Quanto vale il nuovo determinante? E se poi tolgo dalla terza riga il doppio della prima? Dopo lo scambio: $-7$. Togliere un multiplo di un'altra riga non cambia niente: resta $-7$. ::: ### Il metodo di Gauss per i determinanti Ecco l'esempio delle dispense: un determinante calcolato con due mosse. > [!ESEMPIO] 10.2 · Un determinante nullo con due mosse > Sia > $$A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{pmatrix}.$$ > Se togliamo la prima riga di $A$ dalla seconda e dalla terza riga ($R_2 \to R_2 - R_1$, $R_3 \to R_3 - R_1$), otteniamo una nuova matrice > $$A' = \begin{pmatrix} 1 & 2 & 3 \\ 3 & 3 & 3 \\ 6 & 6 & 6 \end{pmatrix}.$$ > Visto che si tratta di mosse di Gauss del terzo tipo, $\det(A') = \det(A)$. Ora possiamo togliere 2 volte la seconda riga dalla terza ($R_3 \to R_3 - 2R_2$: $(6, 6, 6) - 2 \cdot (3, 3, 3) = (0, 0, 0)$). Otteniamo > $$A'' = \begin{pmatrix} 1 & 2 & 3 \\ 3 & 3 & 3 \\ 0 & 0 & 0 \end{pmatrix},$$ > con $\det(A'') = \det(A') = \det(A)$. Visto che $A''$ ha una riga con solo entrate $0$, $\det(A'') = 0$ (Proposizione 9.10), e allora anche la matrice $A$ ha determinante $0$. L'idea generale: con le mosse del terzo tipo si creano zeri sotto la diagonale, finché la matrice è triangolare. Il determinante non cambia, e alla fine si legge sulla diagonale. > [!METODO] Triangolarizzare e moltiplicare la diagonale > 1. Con mosse del tipo (III) crea zeri **sotto** la diagonale, una colonna alla volta: nella prima colonna usa la prima riga, nella seconda la seconda, e così via. Il determinante non cambia. > 2. Se sulla diagonale, dove ti serve un numero diverso da zero, c'è uno 0, **scambia** quella riga con una più in basso (tipo (I)) e **cambia il segno**. Se sotto quello 0 ci sono solo zeri, puoi fermarti: la matrice triangolare finale avrà uno 0 sulla diagonale, quindi il determinante è 0. > 3. Se usi una mossa (II) per comodità, per esempio per dividere una riga per 2, **ricorda il numero**: alla fine dovrai fare il conto al contrario. > 4. Quando la matrice è triangolare, il determinante è il prodotto della diagonale (Proposizione 9.3), con un segno meno per ogni scambio. > 5. Se a metà strada compare una riga di zeri, il determinante è 0 e puoi fermarti. > > Si può anche mescolare con Laplace: dopo aver creato zeri in una colonna, sviluppa lungo quella colonna. > [!ESEMPIO] · Una $3 \times 3$ che richiede uno scambio > $$B = \begin{pmatrix} 0 & 2 & 1 \\ 1 & 1 & 1 \\ 2 & 4 & 5 \end{pmatrix}$$ > 1. Nella casella in alto a sinistra c'è uno 0: scambio le prime due righe. Il determinante cambia segno. > $$\begin{pmatrix} 1 & 1 & 1 \\ 0 & 2 & 1 \\ 2 & 4 & 5 \end{pmatrix}$$ > 2. Tolgo dalla terza riga il doppio della prima ($R_3 \to R_3 - 2R_1$): > $$\begin{pmatrix} 1 & 1 & 1 \\ 0 & 2 & 1 \\ 0 & 2 & 3 \end{pmatrix}$$ > 3. Tolgo dalla terza riga la seconda ($R_3 \to R_3 - R_2$): > $$\begin{pmatrix} 1 & 1 & 1 \\ 0 & 2 & 1 \\ 0 & 0 & 2 \end{pmatrix}$$ > 4. Triangolare con diagonale 1, 2, 2: prodotto 4. C'è stato **uno** scambio, quindi il determinante di $B$ è $-4$. > > Controllo con Sarrus: $(0 + 4 + 4) - (2 + 0 + 10) = 8 - 12 = -4$. > [!ESEMPIO] · Una $4 \times 4$ con sole mosse del terzo tipo > $$C = \begin{pmatrix} 1 & 1 & 1 & 1 \\ 1 & 2 & 2 & 2 \\ 1 & 2 & 3 & 3 \\ 1 & 2 & 3 & 4 \end{pmatrix} \xrightarrow{\substack{R_2 \to R_2 - R_1 \\ R_3 \to R_3 - R_1 \\ R_4 \to R_4 - R_1}} \begin{pmatrix} 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 1 \\ 0 & 1 & 2 & 2 \\ 0 & 1 & 2 & 3 \end{pmatrix}$$ > $$\xrightarrow{\substack{R_3 \to R_3 - R_2 \\ R_4 \to R_4 - R_2}} \begin{pmatrix} 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & 2 \end{pmatrix} \xrightarrow{R_4 \to R_4 - R_3} \begin{pmatrix} 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{pmatrix}$$ > Nessuno scambio, diagonale di 1: il determinante è 1. Con la definizione sarebbero stati 24 prodotti. Nello strumento qui sotto c'è la matrice dell'Esempio 10.2. Premi «Calcola»: lo strumento usa mosse diverse da quelle delle dispense ($R_2 \to R_2 - 4R_1$ e $R_3 \to R_3 - 7R_1$, poi $R_3 \to R_3 - 2R_2$), ma il determinante è lo stesso, 0. Prova poi le matrici $B$ e $C$ di questa sezione (`0 2 1; 1 1 1; 2 4 5` e `1 1 1 1; 1 2 2 2; 1 2 3 3; 1 2 3 4`): nel caso di $B$ lo strumento segnala lo scambio di righe e il cambio di segno. ```widget gauss titolo: Il determinante con le mosse di Gauss matrice: 1 2 3; 4 5 6; 7 8 9 modo: determinante modi: determinante ``` > [!TRAPPOLA] La mossa «$R_2 \to 2R_2 - R_1$» non è innocua > Questa mossa ne contiene due: prima la seconda riga per 2 (tipo (II), determinante per 2), poi meno la prima riga (tipo (III), nessun effetto). Il determinante risulta **moltiplicato per 2**. Chi la usa per evitare le frazioni deve ricordarsene e dividere alla fine. Allo stesso modo, una matrice «ridotta a scalini» con mosse qualsiasi **non** ha lo stesso determinante della matrice di partenza: è un tranello classico dei quiz («Verso l'esame»). ::: prova Calcola con le mosse il determinante di $\begin{pmatrix} 2 & 4 \\ 3 & 1 \end{pmatrix}$. Tolgo dalla seconda riga $\frac 32$ volte la prima: la seconda riga diventa $(3 - 3,\ 1 - 6) = (0, -5)$. Triangolare con diagonale 2 e $-5$: determinante $-10$. Controllo: $2 \cdot 1 - 4 \cdot 3 = -10$. ::: > [!RICORDA] > - Scambio di due righe: il determinante cambia segno. Una riga per un numero: determinante per quel numero. Una riga più un multiplo di un'altra: determinante uguale. > - Metodo: si rende la matrice triangolare con le mosse e si moltiplica la diagonale, con un segno meno per ogni scambio. ## Determinante zero: una riga di troppo (p. 47) Nell'Esempio 10.2 il determinante è venuto zero. Guarda le righe: la terza si ottiene dalle altre due, $$(7, 8, 9) = 2 \cdot (4, 5, 6) - (1, 2, 3).$$ Con le parole della lezione L07: la terza riga è un **doppione**, una ricetta con le altre due. Non è un caso. Le dispense lo scrivono così. > [!PROP] 10.3 · Determinante nullo > $\det(A) = 0$ se e solo se una riga (o una colonna) di $A$ è combinazione lineare delle altre. **Come si legge.** Il determinante è zero esattamente quando una riga è un doppione delle altre, cioè si ottiene mescolandole. Lo stesso con le colonne. «Se e solo se» vuol dire che vale in tutti e due i sensi. Nel disegno della lezione L09: se una colonna è un doppione, il parallelogramma, o la scatola, si schiaccia. L'area, o il volume, è zero. Le dispense spiegano un senso: se una riga è un doppione, il determinante è zero. L'idea: con mosse del terzo tipo, che non cambiano il determinante, si toglie il doppione e resta una riga di zeri. Ecco i passaggi, quando il doppione è la prima riga. Supponiamo che esistano numeri $c_2, \dots, c_n$ con $$A_1 = c_2A_2 + \dots + c_nA_n,$$ dove $A_1, \dots, A_n$ sono le righe di $A$. 1. Sia $A'$ la matrice che si ottiene da $A$ sostituendo la prima riga con la **riga di zeri**. Per la Proposizione 9.10, $\det(A') = 0$. 2. Ora applico ad $A'$, una dopo l'altra, mosse del terzo tipo: sommo alla prima riga prima $c_2A_2$, poi $c_3A_3$, e così via fino a $c_nA_n$. Il determinante non cambia mai. 3. Alla fine la prima riga è $0 + c_2A_2 + \dots + c_nA_n = A_1$: la matrice finale è esattamente $A$. 4. Quindi $\det(A) = \det(A') = 0$. Le dispense non dimostrano l'altro senso: se il determinante è zero, allora qualche riga è un doppione. > [!NOTA] Quale «Proprietà 1»? > Nelle dispense, a p. 47, il passaggio 1 è giustificato con «per la Proprietà 1»: si tratta della prima proprietà della sezione 9.C, cioè della Proposizione 9.10 (una riga nulla dà determinante nullo), non del punto (1) della Proposizione 10.1 (lo scambio di due righe). > [!OLTRE] · l'altra direzione, e il collegamento con il rango > Martelli (Proposizione 3.3.12) dimostra che per una matrice quadrata $n \times n$ il determinante è diverso da zero esattamente quando il rango è $n$ (lezione L08). Usa le mosse di Gauss: le mosse non cambiano il rango e cambiano il determinante solo per numeri diversi da zero. Per una matrice a scalini le due condizioni dicono la stessa cosa: tutti i numeri sulla diagonale sono diversi da zero. Da qui segue l'altro senso della Proposizione 10.3. Se il determinante è zero, il rango è minore di $n$; il rango per righe è lo stesso (Proposizione 8.6), quindi le righe sono dipendenti, e una di loro è un doppione (Proposizione 7.2). Un'altra conseguenza (Martelli, Proposizione 3.3.15): **$n$ vettori di $\K^n$ formano una base esattamente quando la matrice che li ha come colonne ha determinante diverso da zero.** > [!ESEMPIO] · Determinanti nulli a colpo d'occhio > $$\det \begin{pmatrix} 1 & 5 & 1 \\ 2 & 7 & 2 \\ 3 & 0 & 3 \end{pmatrix} = 0, \qquad \det \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 5 & 1 & 9 \end{pmatrix} = 0, \qquad \det \begin{pmatrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 10 & 11 & 12 \\ 13 & 14 & 15 & 16 \end{pmatrix} = 0.$$ > - Nella prima la prima e la terza **colonna** sono uguali. > - Nella seconda la seconda riga è il doppio della prima. > - Nella terza ogni riga supera la precedente di $(4, 4, 4, 4)$. Quindi $R_2 - R_1 = R_3 - R_2$, cioè $R_3 = 2R_2 - R_1$: la terza riga è un doppione. ::: prova Il determinante di $\begin{pmatrix} 1 & 2 & 3 \\ 0 & 1 & 4 \\ 1 & 3 & 7 \end{pmatrix}$ è zero? Cerca un doppione. Sì: la terza riga è la somma delle prime due, $(1 + 0,\ 2 + 1,\ 3 + 4) = (1, 3, 7)$. È un doppione, quindi il determinante è zero. ::: > [!RICORDA] > - Determinante zero esattamente quando una riga, o una colonna, è un doppione delle altre. > - Righe uguali, proporzionali o somme di altre righe: determinante zero senza conti. ## Il determinante di un prodotto: il teorema di Binet (p. 47) Ricorda l'idea della lezione L09: una matrice ingrandisce le aree, e il determinante dice di quanto. Se prima applico una matrice che moltiplica le aree per 6, e poi una che le moltiplica per $-2$, in tutto le aree vengono moltiplicate per $6 \cdot (-2) = -12$. Lo controllo con i numeri. Prendo $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \qquad B = \begin{pmatrix} 2 & 0 \\ 1 & 3 \end{pmatrix},$$ con determinanti $-2$ e $6$. Il prodotto riga per colonna (lezione L08): $$AB = \begin{pmatrix} 1 \cdot 2 + 2 \cdot 1 & 0 + 2 \cdot 3 \\ 3 \cdot 2 + 4 \cdot 1 & 0 + 4 \cdot 3 \end{pmatrix} = \begin{pmatrix} 4 & 6 \\ 10 & 12 \end{pmatrix}.$$ Il suo determinante è $4 \cdot 12 - 6 \cdot 10 = 48 - 60 = -12$, proprio $(-2) \cdot 6$. Il determinante del prodotto è il prodotto dei determinanti. Le dispense lo scrivono così, senza dimostrazione. > [!TEOREMA] 10.4 · Teorema di Binet > Se $A$ e $B$ sono matrici quadrate dello stesso ordine, allora > $$\det(A \cdot B) = \det(A) \cdot \det(B).$$ **Come si legge.** - Servono matrici **quadrate della stessa taglia**: così il prodotto esiste ed è quadrato. - Il determinante del prodotto si calcola **senza fare il prodotto**: basta moltiplicare i due determinanti. - **L'ordine non conta**: $\det(AB) = \det(BA)$, anche se di solito le matrici $AB$ e $BA$ sono diverse. Tutti e due valgono $\det A \cdot \det B$, e tra numeri l'ordine del prodotto non conta. - **Potenze**: $A^2 = A \cdot A$, quindi $\det(A^2) = (\det A)^2$. In generale il determinante di $A^k$ è $(\det A)^k$. Per calcolare il determinante di $A^3$ **non** si calcola $A^3$. - Il teorema parla solo di prodotti. Con le somme non funziona (lezione L09). > [!DIM] · il teorema di Binet per le $2 \times 2$ > Siano $A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$ e $B = \begin{pmatrix} e & f \\ g & h \end{pmatrix}$. Allora $AB = \begin{pmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{pmatrix}$ e > $$\det(AB) = (ae + bg)(cf + dh) - (af + bh)(ce + dg).$$ > Sviluppando, i termini $aecf$ e $afce$ si cancellano, come $bgdh$ e $bhdg$. Restano > $$aedh + bgcf - afdg - bhce = ad(eh - fg) - bc(eh - fg)$$ > $$= (ad - bc)(eh - fg) = \det A \cdot \det B.$$ > La dimostrazione generale (Martelli, Teorema 3.4.7) usa la definizione con le permutazioni e il fatto che una matrice con due righe uguali ha determinante nullo. ::: prova Una matrice $3 \times 3$ ha determinante 2. Quanto vale il determinante del suo cubo? Per Binet: $2^3 = 8$. Non serve calcolare il cubo della matrice. ::: > [!RICORDA] > - Binet: il determinante di un prodotto è il prodotto dei determinanti. > - Il determinante di $A^k$ è $(\det A)^k$, e $\det(AB) = \det(BA)$. ## Disfare una matrice: l'inversa (p. 47) Con i numeri, quasi ogni moltiplicazione si può disfare. Moltiplicare per 2 si disfa moltiplicando per $\frac 12$, perché $2 \cdot \frac 12 = 1$. Il numero $\frac 12$ è l'**inverso** di 2. Il numero 0 invece non ha inverso: $0$ per qualsiasi numero fa 0, mai 1. Con le matrici succede lo stesso. Il ruolo del numero 1 lo fa la matrice identità $I_n$ (lezione L09), che non cambia niente. Una matrice che disfa $A$ è una matrice $B$ con $AB = I_n$ e $BA = I_n$. > [!OLTRE] · che cosa vuol dire «invertibile» > Le dispense usano la parola da qui in poi; la definizione è quella di Martelli (§3.4.5). Una matrice quadrata $A \in M(n)$ è **invertibile** se esiste una matrice $B \in M(n)$ con > $$AB = BA = I_n.$$ > Una matrice così è **unica** e si chiama **inversa** di $A$. Si scrive $A^{-1}$, «a alla meno uno». Unica perché, se $B$ e $B'$ vanno bene tutte e due, $B = BI_n = B(AB') = (BA)B' = I_nB' = B'$. > [!ESEMPIO] · Un'inversa e una matrice senza inversa > $A = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ ha inversa $A^{-1} = \begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix}$ (Martelli, §3.4.7). Controllo: > $$\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix} = \begin{pmatrix} 2 - 1 & -2 + 2 \\ 1 - 1 & -1 + 2 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix},$$ > e allo stesso modo $A^{-1}A = I_2$. > > $N = \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}$ invece **non** è invertibile, anche se non è la matrice nulla. Per ogni matrice $B$, il prodotto $NB$ ha la seconda riga di zeri: è 0 volte la prima riga di $B$ più 0 volte la seconda. Quindi non può essere l'identità. Nel disegno, $N$ schiaccia tutto il piano sull'asse orizzontale: due punti con la stessa prima coordinata finiscono nello stesso posto. Una volta schiacciati, non si può più tornare indietro. Binet dice subito quanto vale il determinante dell'inversa. > [!COROLLARIO] 10.5 · Determinante dell'inversa > Sia $A$ una matrice quadrata invertibile. Allora > $$\det(A^{-1}) = \frac 1{\det(A)}.$$ **Come si legge.** Il determinante dell'inversa è l'inverso del determinante. Se $A$ moltiplica le aree per 3, la sua inversa le divide per 3. La spiegazione delle dispense. Da $AA^{-1} = I_n$ e da Binet: $$1 = \det(I_n) = \det(AA^{-1}) = \det(A) \det(A^{-1}),$$ e da qui la formula. In particolare una matrice invertibile ha determinante **diverso da zero**: se fosse zero, il prodotto $\det(A) \det(A^{-1})$ varrebbe 0 e non 1. > [!TRAPPOLA] Binet vale solo per matrici quadrate > Se $A$ è $3 \times 2$, scrivere $\det(A\,{}^tA) = \det A \cdot \det({}^tA)$ non ha senso: $A$ non è quadrata, e il suo determinante non esiste. Il prodotto $A\,{}^tA$ invece è $3 \times 3$ e ha un determinante. Per esempio con $A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \\ 1 & 0 \end{pmatrix}$ si trova $\det(A\,{}^tA) = 0$: le sue colonne sono ricette con le due colonne di $A$, quindi il rango è al massimo 2. Invece ${}^tA\,A = \begin{pmatrix} 2 & 2 \\ 2 & 5 \end{pmatrix}$ ha determinante $6$. ::: prova Una matrice ha determinante 4. Quanto vale il determinante della sua inversa? $\frac 14$: l'inverso del determinante. ::: > [!RICORDA] > - L'inversa $A^{-1}$ disfa quello che fa $A$: $AA^{-1} = A^{-1}A = I_n$. > - Il determinante dell'inversa è $\frac 1{\det A}$; una matrice invertibile ha determinante diverso da zero. ## I cofattori (pp. 47–48) Per costruire l'inversa servono dei numeri che conosci già dallo sviluppo di Laplace (lezione L09). Lì ogni numero della riga scelta veniva moltiplicato per due cose: il segno della scacchiera e il determinante della sottomatrice. Il prodotto di queste due cose ha un nome: **cofattore**. Un esempio con $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$. Le sottomatrici sono numeri singoli: togliendo la riga 1 e la colonna 1 resta il 4, e così via. Con i segni della scacchiera: $$\mathrm{cof}_{11} = +4, \quad \mathrm{cof}_{12} = -3, \quad \mathrm{cof}_{21} = -2, \quad \mathrm{cof}_{22} = +1.$$ Messi nelle loro caselle formano la **matrice dei cofattori**: $$\mathrm{cof}(A) = \begin{pmatrix} 4 & -3 \\ -2 & 1 \end{pmatrix}.$$ Le dispense scrivono la definizione così. > [!DEF] 10.6 · Cofattori > Consideriamo una matrice quadrata $A$. I suoi **cofattori** $\mathrm{cof}_{ij} := (-1)^{i+j} \det(C_{ij})$ formano una matrice quadrata di ordine $n$ > $$\mathrm{cof}(A) = (\mathrm{cof}_{ij})$$ > detta **matrice dei cofattori** di $A$. **Come si legge.** - $C_{ij}$ è la sottomatrice che resta togliendo la riga $i$ e la colonna $j$ (lezione L09). - Il cofattore $\mathrm{cof}_{ij}$ è un **numero**: il determinante di $C_{ij}$, con il segno della scacchiera $(-1)^{i+j}$. - Il simbolo $:=$ si legge «è definito come». - La matrice dei cofattori ha la stessa taglia di $A$: nella casella $(i, j)$ c'è il cofattore $\mathrm{cof}_{ij}$. Con i cofattori lo sviluppo di Laplace lungo una riga $i$ diventa più corto: numeri della riga per i cofattori **della stessa riga**. $$\det A = a_{i1}\,\mathrm{cof}_{i1} + a_{i2}\,\mathrm{cof}_{i2} + \dots + a_{in}\,\mathrm{cof}_{in} = \sum_{j=1}^n a_{ij}\, \mathrm{cof}_{ij}.$$ E se invece si usano i cofattori di **un'altra** riga? Viene sempre zero. Per ogni coppia di righe diverse $i$ e $k$: $$\sum_{j=1}^n a_{ij}\, \mathrm{cof}_{kj} = 0.$$ Il motivo: questa somma è lo sviluppo lungo la riga $k$ di una matrice che ha la riga $i$ al posto della riga $k$. Quella matrice ha due righe uguali, quindi determinante zero. È lo stesso conto della dimostrazione della Proposizione 10.1, punto (3). > [!ESEMPIO] · Cofattori giusti e cofattori «sbagliati» > $$A = \begin{pmatrix} 2 & 0 & 1 \\ 1 & 1 & 0 \\ 0 & 3 & 1 \end{pmatrix}, \qquad \mathrm{cof}(A) = \begin{pmatrix} 1 & -1 & 3 \\ 3 & 2 & -6 \\ -1 & 1 & 2 \end{pmatrix}.$$ > Per esempio $\mathrm{cof}_{12} = -\det \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = -1$ e $\mathrm{cof}_{23} = -\det \begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix} = -6$. > - Riga 1 per i cofattori della riga 1: $2 \cdot 1 + 0 \cdot (-1) + 1 \cdot 3 = 5$, il determinante. > - Riga 1 per i cofattori della riga 2: $2 \cdot 3 + 0 \cdot 2 + 1 \cdot (-6) = 0$. > - Riga 3 per i cofattori della riga 3: $0 \cdot (-1) + 3 \cdot 1 + 1 \cdot 2 = 5$ di nuovo. ### Le due regole insieme Le due regole, «stessa riga dà il determinante» e «riga diversa dà zero», si possono scrivere in una volta con un prodotto di matrici. Le dispense lo fanno così. > [!PROP] 10.7 > $$A \cdot {}^t(\mathrm{cof}(A)) = \det(A) \cdot I_n = {}^t(\mathrm{cof}(A)) \cdot A.$$ **Come si legge.** Si prende la matrice dei cofattori e la si traspone, cioè si scambiano righe e colonne. Moltiplicata per $A$, dà una matrice con il determinante di $A$ su tutta la diagonale e zeri altrove. Con la matrice dell'esempio: $$A \cdot {}^t(\mathrm{cof}(A)) = \begin{pmatrix} 5 & 0 & 0 \\ 0 & 5 & 0 \\ 0 & 0 & 5 \end{pmatrix} = 5I_3.$$ > [!DIM] della Proposizione 10.7 > La dimostrazione delle dispense, passo per passo. > 1. Sia $K = A \cdot {}^t(\mathrm{cof}(A))$. Il suo numero nella casella $(i, j)$ è la riga $i$ di $A$ per la colonna $j$ di ${}^t(\mathrm{cof}(A))$, che è la **riga** $j$ di $\mathrm{cof}(A)$: > $$k_{ij} = \sum_\ell a_{i\ell}\, \mathrm{cof}_{j\ell}.$$ > 2. Se $i = j$, questo è lo sviluppo di Laplace di $\det(A)$ lungo la riga $i$: $k_{ii} = \det A$. > 3. Se $i$ e $j$ sono diversi, è il determinante della matrice ottenuta sostituendo la riga $j$ con la riga $i$: è nullo, perché quella matrice ha due righe uguali. > 4. Quindi $K$ ha $\det A$ sulla diagonale e 0 altrove: $K = \det(A) I_n$. Allo stesso modo, con le colonne, si dimostra ${}^t(\mathrm{cof}(A))A = \det(A) I_n$. ::: prova Qual è la matrice dei cofattori di $\begin{pmatrix} 5 & 2 \\ 1 & 3 \end{pmatrix}$? Togliendo riga e colonna resta un numero; poi il segno della scacchiera: $\mathrm{cof}_{11} = 3$, $\mathrm{cof}_{12} = -1$, $\mathrm{cof}_{21} = -2$, $\mathrm{cof}_{22} = 5$. La matrice è $\begin{pmatrix} 3 & -1 \\ -2 & 5 \end{pmatrix}$. ::: > [!RICORDA] > - Il cofattore $\mathrm{cof}_{ij}$ è il determinante della sottomatrice senza riga $i$ e colonna $j$, con il segno della scacchiera. > - Riga per i cofattori della stessa riga: il determinante. Riga per i cofattori di un'altra riga: zero. ## La formula dell'inversa (p. 48) Ormai manca un solo passo per avere l'inversa. Nella sezione di prima, la trasposta dei cofattori moltiplicata per $A$ dava il determinante sulla diagonale. Se il determinante non è zero, basta dividere tutto per lui: viene l'identità. Quindi la trasposta dei cofattori, divisa per il determinante, è l'inversa. Le dispense lo scrivono così. > [!PROP] 10.8 · Invertibilità e formula dell'inversa > Sia $A$ una matrice quadrata di ordine $n \ge 2$. La matrice $A$ è invertibile se e solo se $\det(A) \neq 0$. Se $A$ è invertibile, allora > $$A^{-1} = \frac 1{\det(A)} \cdot {}^t(\mathrm{cof}(A)).$$ **Come si legge.** - Una matrice quadrata ha l'inversa **esattamente** quando il suo determinante non è zero. - In quel caso l'inversa si costruisce così: matrice dei cofattori, trasposta, divisa per il determinante. - È come con i numeri: tutti hanno l'inverso, tranne lo zero. La dimostrazione delle dispense, nei due sensi. - **Se $A$ è invertibile, il determinante non è zero.** C'è una matrice $B$ con $AB = I_n$. Per Binet $\det(A) \cdot \det(B) = \det(I_n) = 1$. Un prodotto che fa 1 non può avere un fattore zero. - **Se il determinante non è zero, $A$ è invertibile.** Chiamo $B$ la trasposta dei cofattori divisa per $\det A$. Per la Proposizione 10.7, $A \cdot {}^t(\mathrm{cof}(A)) = \det(A) \cdot I_n$, e lo stesso nell'altro ordine. Divido per $\det A$, che non è zero: $AB = I_n = BA$. Quindi $B$ è l'inversa. L'ipotesi $n \ge 2$ serve solo perché i cofattori richiedono di togliere una riga e una colonna. Per le matrici $1 \times 1$ tutto è più facile: la matrice $(a)$ è invertibile quando $a$ non è zero, e l'inversa è $\left(\frac 1a\right)$. ### Le $2 \times 2$ Per le matrici $2 \times 2$ la formula diventa una regola da ricordare a memoria. > [!ESEMPIO] · La formula per le $2 \times 2$ > Per $A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$ i cofattori sono $\mathrm{cof}_{11} = d$, $\mathrm{cof}_{12} = -c$, $\mathrm{cof}_{21} = -b$, $\mathrm{cof}_{22} = a$. Trasponendo e dividendo per il determinante: > $$A^{-1} = \frac 1{ad - bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}, \qquad \text{se } ad - bc \neq 0.$$ > In parole: **scambia i due numeri della diagonale, cambia segno agli altri due, dividi per il determinante**. Per esempio > $$\begin{pmatrix} 3 & 1 \\ 5 & 2 \end{pmatrix}^{-1} = \frac 1{6 - 5} \begin{pmatrix} 2 & -1 \\ -5 & 3 \end{pmatrix} = \begin{pmatrix} 2 & -1 \\ -5 & 3 \end{pmatrix}.$$ > Controllo: $\begin{pmatrix} 3 & 1 \\ 5 & 2 \end{pmatrix} \begin{pmatrix} 2 & -1 \\ -5 & 3 \end{pmatrix} = \begin{pmatrix} 6 - 5 & -3 + 3 \\ 10 - 10 & -5 + 6 \end{pmatrix} = I_2$. ::: prova Trova l'inversa di $\begin{pmatrix} 2 & 1 \\ 3 & 2 \end{pmatrix}$. Determinante $4 - 3 = 1$. Scambio la diagonale e cambio segno agli altri due: $\begin{pmatrix} 2 & -1 \\ -3 & 2 \end{pmatrix}$, diviso per 1. Controllo: $\begin{pmatrix} 2 & 1 \\ 3 & 2 \end{pmatrix}\begin{pmatrix} 2 & -1 \\ -3 & 2 \end{pmatrix} = \begin{pmatrix} 4 - 3 & -2 + 2 \\ 6 - 6 & -3 + 4 \end{pmatrix} = I_2$. ::: ### Le $3 \times 3$ > [!METODO] L'inversa di una $3 \times 3$ con i cofattori > 1. Calcola il determinante. Se è 0, la matrice **non è invertibile**: fermati. > 2. Calcola i nove determinanti $2 \times 2$ delle sottomatrici: togli la riga $i$ e la colonna $j$. > 3. Metti i segni della scacchiera: ottieni la matrice dei cofattori. > 4. **Trasponi**: scambia righe e colonne. > 5. Dividi tutto per il determinante. > 6. Controlla almeno una riga di $A \cdot A^{-1}$: deve venire la riga corrispondente dell'identità. > [!ESEMPIO] · Un'inversa $3 \times 3$ passo per passo > $$A = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \end{pmatrix}$$ > **1.** Lungo la prima riga: $\det A = 1 \cdot (1 - 0) - 2 \cdot (0 - 1) + 0 = 1 + 2 = 3$. Non è zero: $A$ è invertibile. > > **2–3.** I nove cofattori (determinante della sottomatrice, poi segno): > > | | colonna 1 | colonna 2 | colonna 3 | > |---|---|---|---| > | riga 1 | $+\det \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = 1$ | $-\det \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix} = 1$ | $+\det \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = -1$ | > | riga 2 | $-\det \begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix} = -2$ | $+\det \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix} = 1$ | $-\det \begin{pmatrix} 1 & 2 \\ 1 & 0 \end{pmatrix} = 2$ | > | riga 3 | $+\det \begin{pmatrix} 2 & 0 \\ 1 & 1 \end{pmatrix} = 2$ | $-\det \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = -1$ | $+\det \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix} = 1$ | > > **4–5.** $\mathrm{cof}(A) = \begin{pmatrix} 1 & 1 & -1 \\ -2 & 1 & 2 \\ 2 & -1 & 1 \end{pmatrix}$; trasposta e divisa per 3: > $$A^{-1} = \frac 13 \begin{pmatrix} 1 & -2 & 2 \\ 1 & 1 & -1 \\ -1 & 2 & 1 \end{pmatrix}.$$ > **6.** Riga 1 di $A$, cioè $(1, 2, 0)$, per le colonne della trasposta dei cofattori: $1 + 2 = 3$, poi $-2 + 2 = 0$, poi $2 - 2 = 0$. Diviso per 3 dà $(1, 0, 0)$, la prima riga dell'identità. Nello strumento qui sotto c'è la matrice dell'Esercizio 10.10. Lo strumento calcola l'inversa con un altro metodo, le mosse di Gauss sulla matrice affiancata $(A \mid I_3)$ (Martelli, §3.4.7; lo capirai del tutto con i sistemi lineari, lezioni L11–L13). Il risultato è lo stesso che si trova con i cofattori, perché l'inversa è unica: confrontalo con la soluzione dell'esercizio. Prova anche una matrice con determinante nullo, come `1 2 3; 4 5 6; 7 8 9`. ```widget gauss titolo: La matrice inversa, con i passaggi matrice: 2 -1 0; -2 1 1; 1 -1 3 modo: inversa modi: inversa ``` > [!TRAPPOLA] Quattro errori sull'inversa > - **Dimenticare di trasporre** la matrice dei cofattori: per le matrici non simmetriche il risultato è sbagliato. Nel quiz di questa lezione la matrice dei cofattori non trasposta è una delle risposte sbagliate. > - Dimenticare i segni della scacchiera, o dividere per il determinante solo alcune caselle. > - Invertire casella per casella: l'inversa di $\begin{pmatrix} 3 & 1 \\ 5 & 2 \end{pmatrix}$ **non** è $\begin{pmatrix} 1/3 & 1 \\ 1/5 & 1/2 \end{pmatrix}$. > - Pensare che l'inversa di una somma sia la somma delle inverse, o che $(AB)^{-1} = A^{-1}B^{-1}$. L'ordine giusto è $(AB)^{-1} = B^{-1}A^{-1}$ (esercizio 16): per disfare «prima $B$, poi $A$» si disfa prima $A$ e poi $B$, come quando ti togli le scarpe e poi le calze. > [!OLTRE] · tante facce della stessa proprietà > Per una matrice quadrata $A \in M(n, \K)$ queste frasi dicono tutte la stessa cosa: > - $A$ è invertibile; > - il determinante di $A$ non è zero (Proposizione 10.8); > - nessuna riga, e nessuna colonna, è un doppione delle altre (Proposizione 10.3); > - il rango di $A$ è $n$ (Martelli, Proposizione 3.3.12); > - le colonne di $A$ formano una base di $\K^n$ (Martelli, Proposizione 3.3.15); > - per ogni $b \in \K^n$ il sistema $Ax = b$ ha una e una sola soluzione, $x = A^{-1}b$ (Martelli, §3.4.8; lezioni L11–L13). > > Nelle domande d'esame si passa continuamente da una all'altra. > [!OLTRE] · dove trovarlo nel libro > Nel libro di Martelli: il determinante e le mosse di Gauss nel §3.3.5 (pp. 97–98, Proposizione 3.3.7); determinante e rango massimo nel §3.3.7 (pp. 99–100, Proposizione 3.3.12); basi e determinante nel §3.3.9 (p. 101, Proposizione 3.3.15); matrici invertibili nel §3.4.5 (pp. 106–107, Proposizione 3.4.5); il teorema di Binet e il determinante dell'inversa nel §3.4.6 (pp. 107–108, Teorema 3.4.7 e Corollario 3.4.8); l'inversa con le mosse di Gauss e con i cofattori nel §3.4.7 (pp. 108–110, Proposizioni 3.4.10–3.4.12, Esempio 3.4.13); i sistemi con matrice invertibile e la regola di Cramer nel §3.4.8 (p. 110). > [!RICORDA] > - Una matrice quadrata è invertibile esattamente quando il determinante non è zero. > - L'inversa è la trasposta dei cofattori divisa per il determinante. Per le $2 \times 2$: scambia la diagonale, cambia segno agli altri due, dividi per $ad - bc$. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $R_2$ | «erre due» | la seconda riga della matrice | | | $R_1 \leftrightarrow R_2$ | «scambio la riga 1 e la riga 2» | mossa di tipo (I) | | | $R_2 \to R_2 - 3R_1$ | «la riga 2 diventa la riga 2 meno 3 volte la riga 1» | mossa di tipo (III) | | | $A'$ | «a primo» | la matrice dopo una mossa | | | $\det(AB)$ | «determinante di a b» | il determinante del prodotto | $\det(AB) = \det A \cdot \det B$ | | $A^k$ | «a alla kappa» | $A$ moltiplicata per sé stessa $k$ volte | $A^2 = A \cdot A$ | | $I_n$ | «i con enne» | la matrice identità | $I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ | | $A^{-1}$ | «a alla meno uno», «inversa di a» | la matrice che disfa $A$ | $AA^{-1} = I_n$ | | $\mathrm{cof}_{ij}$ | «cofattore i j» | segno della scacchiera per il determinante della sottomatrice | | | $\mathrm{cof}(A)$ | «matrice dei cofattori di a» | tutti i cofattori, ognuno nella sua casella | | | ${}^t(\mathrm{cof}(A))$ | «trasposta dei cofattori» | righe e colonne scambiate | | | $:=$ | «è definito come» | si dà un nome a una cosa | | | $\rk A$ | «rango di a» | quante righe indipendenti ha $A$ (lezione L08) | | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 quiz a 5 risposte e 2 problemi da 11 punti. I problemi si correggono solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice e con solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. I dettagli sono nella lezione L01. Questa lezione è tra le più presenti all'esame: | Tipo di domanda | Appelli (numero) | Che cosa serve | |---|---|---| | «Il determinante di $A^3$ (o $A^4$) è…» | 06/09/2024 (4), 07/02/2025 (5), 05/02/2026 (5), 03/07/2026 (6) | Binet: $(\det A)^3$ | | determinante e traccia di un prodotto | 16/01/2025 (3) | Binet, matrici triangolari | | determinante di $A\,{}^tA$ con $A$ non quadrata | 03/06/2025 (9) | Binet non si applica; rango | | matrice «ridotta a scalini», che cosa si può dedurre | 06/09/2024 (7) | Proposizione 10.1 | | problema: «per quali $k$ la matrice è invertibile?» o «calcolare il determinante» | 24/01/2024, 06/09/2024, 07/02/2025, 15/01/2026, 05/02/2026, 03/07/2026 (problema 11, punto 1) | determinante con un parametro | | problema: la matrice dell'applicazione inversa | 10/07/2024 (problema 11, punto 2) | inversa con i cofattori | ### Una domanda vera, letta insieme **Appello del 15/01/2026, problema 11, punto (1).** Il testo: «Si consideri la matrice $A = \begin{pmatrix} 1 & k^2 & 0 \\ k & k + 1 & k \\ 0 & k & 1 \end{pmatrix}$ in $M(3, \R)$, dove $k$ è un parametro reale. Determinare per quali valori di $k$ la matrice $A$ è invertibile». **In pratica chiede:** la matrice contiene una lettera, $k$. Per quali numeri messi al posto di $k$ il determinante non è zero? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: che cosa calcolare.** Per la Proposizione 10.8, $A$ è invertibile esattamente quando il determinante non è zero. Calcolo il determinante, con $k$ dentro. > > **Passo 2: Laplace lungo la prima riga**, che ha uno zero in fondo (segni $+, -, +$): > $$\det A = 1 \cdot \det \begin{pmatrix} k + 1 & k \\ k & 1 \end{pmatrix} - k^2 \cdot \det \begin{pmatrix} k & k \\ 0 & 1 \end{pmatrix} + 0.$$ > > **Passo 3: i due determinanti $2 \times 2$.** Il primo è $(k + 1) \cdot 1 - k \cdot k = k + 1 - k^2$. Il secondo è $k \cdot 1 - k \cdot 0 = k$. > > **Passo 4: metto insieme.** $\det A = (k + 1 - k^2) - k^2 \cdot k = -k^3 - k^2 + k + 1$. > > **Passo 5: scompongo.** Raccolgo a coppie: $-k^2(k + 1) + (k + 1) = (k + 1)(1 - k^2)$. E $1 - k^2 = (1 - k)(1 + k)$. Quindi > $$\det A = (k + 1)(1 - k)(1 + k) = -(k - 1)(k + 1)^2.$$ > > **Passo 6: quando fa zero?** Un prodotto fa zero quando uno dei fattori fa zero: $k = 1$ oppure $k = -1$. > > **La risposta:** $A$ è invertibile per tutti i valori di $k$ **tranne** $k = 1$ e $k = -1$. > > **Controllo con $k = 1$.** La matrice diventa $\begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 1 \\ 0 & 1 & 1 \end{pmatrix}$, e la seconda riga è la somma delle altre due: un doppione, quindi determinante zero. ### Altre due domande vere > [!ESAME] Appello del 06/09/2024, domanda 7 > **Testo.** «Sia $A$ una matrice quadrata che, ridotta a scalini tramite l'algoritmo di Gauss, diventa $\begin{pmatrix} 1 & 1 & 1 \\ 0 & 2 & 3 \\ 0 & 0 & 1 \end{pmatrix}$. Quale delle seguenti **non** è necessariamente verificata? (a) $\det A = 2$; (b) $\dim \Ker A = 0$; (c) $A$ è invertibile; (d) per ogni $b \in \R^3$ il sistema $Ax = b$ ammette un'unica soluzione; (e) $\mathrm{rank}(A) = 3$». > > **Soluzione.** È la (a). > 1. La matrice a scalini ha determinante $1 \cdot 2 \cdot 1 = 2$. > 2. Ma l'algoritmo di Gauss può usare scambi, che cambiano il segno, e righe moltiplicate per un numero, che moltiplicano il determinante. Quindi il determinante di $A$ può essere diverso da 2. > 3. Quello che resta vero: ogni mossa moltiplica il determinante per un numero **diverso da zero**. Quindi il determinante di $A$ non è zero. > 4. Allora $A$ è invertibile (c) e ha rango 3 (e). Le affermazioni (b) e (d), che vedrai nelle lezioni L11–L16, sono conseguenze dell'invertibilità. > [!ESAME] Appello del 03/07/2026, domanda 6 > Sia $A \in M(3, \R)$ la matrice $A = \begin{pmatrix} 1 & 0 & 2 \\ 3 & -1 & 1 \\ 2 & 0 & 5 \end{pmatrix}$. Il determinante di $A^3$ è: (a) $-8$; (b) $-1$; (c) $0$; (d) $1$; (e) $8$. > > **Soluzione.** È la (b). > 1. Non si calcola $A^3$: per Binet il suo determinante è il cubo del determinante di $A$. > 2. La seconda colonna ha un solo numero diverso da zero: il $-1$ nella casella $(2, 2)$, segno più. Sviluppo lungo la seconda colonna: > $$\det A = -1 \cdot \det \begin{pmatrix} 1 & 2 \\ 2 & 5 \end{pmatrix} = -(5 - 4) = -1.$$ > 3. Il cubo: $(-1)^3 = -1$. > > Le risposte $\pm 8$ sono per chi confonde con il determinante di $2A$ o sbaglia il segno. > [!METODO] «Per quali $k$ la matrice è invertibile?» > 1. Scrivi il determinante con $k$ dentro: Laplace lungo la riga o la colonna con più zeri, oppure prima qualche mossa del terzo tipo per creare zeri (non cambia il determinante). > 2. **Scomponi** il polinomio in $k$: raccogli i fattori comuni, prova i valori facili ($k = 0$, $1$, $-1$, $2$, $-2$) e dividi con Ruffini (lezione L04). > 3. Rispondi così: «$A$ è invertibile per tutti i $k$ tranne…». I valori esclusi sono quelli che poi, nel resto del problema, vanno studiati a parte. > [!METODO] Il determinante di potenze, inverse e multipli > Calcola solo il determinante di $A$, poi combina le regole: > - potenze: $\det(A^k) = (\det A)^k$; > - inversa: $\det(A^{-1}) = \frac 1{\det A}$; > - multiplo di una $n \times n$: $\det(cA) = c^n \det A$ (lezione L09); > - trasposta: $\det({}^tA) = \det A$. > > Per esempio, se $A$ è $3 \times 3$ con determinante 4: $\det(2A^{-1}) = 2^3 \cdot \frac 14 = 2$. **Errori da evitare.** - Scrivere che il determinante di $A^3$ è 3 volte quello di $A$: è il cubo. - Credere che la matrice a scalini abbia lo stesso determinante della matrice di partenza. - Usare Binet con matrici non quadrate. - Dimenticare la trasposizione nella formula dell'inversa, o i segni dei cofattori. - Rispondere «invertibile per ogni $k$» senza aver scomposto il determinante. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: la tabella delle tre mosse e del loro effetto sul determinante; due righe proporzionali: determinante zero; Binet $\det(AB) = \det A \det B$, $\det(A^k) = (\det A)^k$, $\det(A^{-1}) = 1/\det A$; $\mathrm{cof}_{ij} = (-1)^{i+j}\det C_{ij}$; $A^{-1} = \frac 1{\det A}\,{}^t(\mathrm{cof}(A))$; la formula dell'inversa $2 \times 2$; «invertibile, determinante diverso da zero e rango $n$ sono la stessa cosa». ## Quiz ```quiz D: Sia $A$ una matrice quadrata che, ridotta a scalini con l'algoritmo di Gauss, diventa $\begin{pmatrix} 2 & 1 & 3 \\ 0 & 1 & 4 \\ 0 & 0 & 3 \end{pmatrix}$. Quale delle seguenti affermazioni **non** è necessariamente vera? + $\det A = 6$. - $\det A \neq 0$. - $A$ è invertibile. - $\rk A = 3$. - Le righe di $A$ sono linearmente indipendenti. = Gli scambi di righe cambiano il segno del determinante, e le righe moltiplicate per un numero lo moltiplicano: quindi il determinante di $A$ può essere diverso da $2 \cdot 1 \cdot 3 = 6$. Ogni mossa però moltiplica il determinante per un numero diverso da zero, e la matrice a scalini ha determinante 6, non zero. Quindi il determinante di $A$ non è zero, e le altre quattro affermazioni sono vere: $A$ è invertibile, ha rango 3 e righe indipendenti. Simile all'appello del 06/09/2024, domanda 7. D: Sia $A = \begin{pmatrix} 1 & 0 & 2 \\ 2 & -2 & 1 \\ 1 & 0 & 3 \end{pmatrix}$. Il determinante di $A^3$ è: + $-8$ - $8$ - $-6$ - $-2$ - $64$ = Si sviluppa lungo la seconda colonna, che ha solo il $-2$ nella casella $(2, 2)$, segno più: $\det A = -2 \cdot \det \begin{pmatrix} 1 & 2 \\ 1 & 3 \end{pmatrix} = -2 \cdot 1 = -2$. Per Binet il determinante del cubo è $(-2)^3 = -8$. La risposta più insidiosa è $-6$: è 3 volte il determinante, l'errore di chi moltiplica invece di elevare al cubo. $-2$ dimentica la potenza, $8$ sbaglia il segno. Simile agli appelli del 03/07/2026 (domanda 6), del 05/02/2026 (domanda 5) e del 07/02/2025 (domanda 5). D: Siano $A = \begin{pmatrix} 2 & 5 & -1 \\ 0 & 1 & 3 \\ 0 & 0 & 1 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & 0 & 0 \\ 4 & 3 & 0 \\ 7 & -2 & 1 \end{pmatrix}$. Quanto vale $\det(AB)$? + $6$ - $5$ - $1$ - $36$ - $0$ = $A$ è triangolare superiore con diagonale 2, 1, 1: determinante 2. $B$ è triangolare inferiore con diagonale 1, 3, 1: determinante 3. Per Binet il determinante del prodotto è $2 \cdot 3 = 6$, senza calcolare il prodotto. La risposta più insidiosa è 5, la somma dei due determinanti invece del prodotto. Simile all'appello del 16/01/2025, domanda 3. D: Sia $A$ una matrice $3 \times 3$ con $\det A = 4$. Quanto vale $\det(2A^{-1})$? + $2$ - $\frac 12$ - $8$ - $\frac 18$ - $32$ = Il determinante dell'inversa è $\frac 14$ (Corollario 10.5). Moltiplicare tutta la matrice $3 \times 3$ per 2 moltiplica il determinante per $2^3 = 8$ (Corollario 9.12). In tutto $8 \cdot \frac 14 = 2$. La risposta più insidiosa è $\frac 12$, cioè $2 \cdot \frac 14$: dimentica che il 2 moltiplica tutte e tre le righe. $32 = 8 \cdot 4$ dimentica l'inversa. D: L'inversa di $\begin{pmatrix} 3 & 1 \\ 5 & 2 \end{pmatrix}$ è: + $\begin{pmatrix} 2 & -1 \\ -5 & 3 \end{pmatrix}$ - $\begin{pmatrix} 2 & -5 \\ -1 & 3 \end{pmatrix}$ - $\begin{pmatrix} -2 & 1 \\ 5 & -3 \end{pmatrix}$ - $\begin{pmatrix} 1/3 & 1 \\ 1/5 & 1/2 \end{pmatrix}$ - $\begin{pmatrix} 3 & -1 \\ -5 & 2 \end{pmatrix}$ = Il determinante è $6 - 5 = 1$. Si scambiano i numeri della diagonale, si cambia segno agli altri due e si divide per 1. Le risposte sbagliate: $\begin{pmatrix} 2 & -5 \\ -1 & 3 \end{pmatrix}$ è la matrice dei cofattori non trasposta, la più insidiosa; quella con $\frac 13$ e $\frac 15$ inverte casella per casella; $\begin{pmatrix} 3 & -1 \\ -5 & 2 \end{pmatrix}$ non scambia la diagonale; $\begin{pmatrix} -2 & 1 \\ 5 & -3 \end{pmatrix}$ ha tutti i segni girati. Controllo: $\begin{pmatrix} 3 & 1 \\ 5 & 2 \end{pmatrix}\begin{pmatrix} 2 & -1 \\ -5 & 3 \end{pmatrix} = I_2$. D: Per quali $k \in \R$ la matrice $A = \begin{pmatrix} 1 & 0 & k \\ 0 & k & 1 \\ k & 1 & 0 \end{pmatrix}$ è invertibile? + Per ogni $k \neq -1$. - Per ogni $k \neq 1$. - Per ogni $k \neq 0$ e $k \neq \pm 1$. - Per nessun $k$. - Per ogni $k \in \R$. = Lungo la prima riga: $\det A = 1 \cdot (0 - 1) - 0 + k \cdot (0 - k^2) = -1 - k^3$. Si scompone come $-(k + 1)(k^2 - k + 1)$, e il secondo fattore non fa mai zero tra i reali (il discriminante è $1 - 4$, negativo). Quindi il determinante fa zero solo per $k = -1$. La risposta più insidiosa è «per ogni $k$ diverso da 1»: chi sbaglia un segno trova $1 - k^3$ e quindi $k = 1$. Con $k = 0$ la matrice è invertibile, determinante $-1$. Simile ai problemi 11 degli appelli del 07/02/2025 e del 03/07/2026. D: Sia $A$ una matrice $3 \times 3$ con $\det A = 5$. Si scambiano la prima e la terza riga, poi si fa $R_2 \to R_2 - 4R_1$, poi $R_3 \to 2R_3$. Quanto vale il determinante della matrice ottenuta? + $-10$ - $10$ - $-5$ - $5$ - $-40$ = Si segue l'effetto di ogni mossa (Proposizione 10.1). Lo scambio cambia il segno: $-5$. Togliere un multiplo di un'altra riga non cambia niente: resta $-5$. La terza riga per 2 raddoppia: $-10$. La risposta più insidiosa è $-40$: è di chi pensa che anche $R_2 \to R_2 - 4R_1$ moltiplichi per 4. 10 dimentica lo scambio. D: Quale di queste affermazioni vale per tutte le matrici $A, B \in M(n)$? + $\det(AB) = \det(BA)$. - $AB = BA$. - $\det(A + B) = \det A + \det B$. - $\det(2A) = 2\det A$. - Se $A$ e $B$ sono invertibili, $(AB)^{-1} = A^{-1}B^{-1}$. = Per Binet $\det(AB) = \det A \cdot \det B = \det B \cdot \det A = \det(BA)$, anche se le due matrici $AB$ e $BA$ sono di solito diverse. Per questo la risposta più insidiosa è $AB = BA$: vale per i determinanti, non per le matrici. Le altre sono false: il determinante non si spezza sulle somme, $\det(2A) = 2^n \det A$, e l'inversa di un prodotto è $B^{-1}A^{-1}$, con l'ordine rovesciato. D: Data $A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \\ 1 & 0 \end{pmatrix}$, il determinante di $A \cdot {}^tA$ è: + $0$ - $6$ - Non si può calcolare, poiché $A$ non è quadrata. - $36$ - $1$ = Il prodotto $A\,{}^tA$ è $3 \times 3$, quindi il suo determinante esiste, anche se $A$ non è quadrata: per questo «non si può calcolare» è la risposta più insidiosa. Ogni colonna di $A\,{}^tA$ è $A$ per un vettore, cioè una ricetta con le due colonne di $A$. Quindi tre colonne vivono in un piano: sono dipendenti, e il determinante è 0 (Proposizione 10.3). Il 6 è il determinante di ${}^tA\,A$, il prodotto nell'altro ordine, che è $2 \times 2$. Simile all'appello del 03/06/2025, domanda 9. D: Sia $A = \begin{pmatrix} 2 & 1 & 0 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \end{pmatrix}$. Quanto vale l'elemento di posto $(1, 3)$ di $A^{-1}$? Scrivi una frazione. N: 1/3 = Il determinante, lungo la prima riga, è $2 \cdot 1 - 1 \cdot (0 - 1) + 0 = 3$. Nella formula dell'inversa c'è la trasposta dei cofattori: nella casella $(1, 3)$ dell'inversa va il cofattore $\mathrm{cof}_{31}$, con gli indici scambiati. $\mathrm{cof}_{31} = +\det \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix} = 1$, quindi la risposta è $\frac 13$. Chi dimentica la trasposizione usa $\mathrm{cof}_{13} = -1$ e trova $-\frac 13$, che è invece il numero nella casella $(3, 1)$. ``` ## Esercizi ::: esercizio base Riscaldamento: tre mosse su una $2 \times 2$ La matrice $\begin{pmatrix} 2 & 1 \\ 4 & 3 \end{pmatrix}$ ha determinante 2. Senza fare il conto, quanto vale il determinante dopo ciascuna mossa? (a) Scambio le due righe. (b) Moltiplico la prima riga per 3. (c) Tolgo dalla seconda riga il doppio della prima. Poi controlla la (c) con il conto. ::: soluzione 1. (a) Scambio: cambia segno, $-2$. 2. (b) Una riga per 3: $3 \cdot 2 = 6$. 3. (c) Una riga meno un multiplo di un'altra: resta 2. Controllo della (c): la seconda riga diventa $(4 - 4,\ 3 - 2) = (0, 1)$. La matrice $\begin{pmatrix} 2 & 1 \\ 0 & 1 \end{pmatrix}$ è triangolare, con determinante $2 \cdot 1 = 2$. ::: ::: esercizio base Riscaldamento: l'inversa di una $2 \times 2$ Trova l'inversa di $\begin{pmatrix} 4 & 3 \\ 1 & 1 \end{pmatrix}$ e controlla il risultato. ::: soluzione 1. Determinante: $4 \cdot 1 - 3 \cdot 1 = 1$. Non è zero: c'è l'inversa. 2. Scambio la diagonale (4 e 1) e cambio segno agli altri due: $\begin{pmatrix} 1 & -3 \\ -1 & 4 \end{pmatrix}$. 3. Divido per il determinante, 1: resta uguale. Controllo: $\begin{pmatrix} 4 & 3 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 1 & -3 \\ -1 & 4 \end{pmatrix} = \begin{pmatrix} 4 - 3 & -12 + 12 \\ 1 - 1 & -3 + 4 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$. ::: ::: esercizio base Riscaldamento: Binet Due matrici $3 \times 3$ hanno determinanti $\det A = 3$ e $\det B = -2$. Calcola il determinante di $AB$, di $A^2$ e di $A^{-1}$. ::: soluzione 1. $\det(AB) = 3 \cdot (-2) = -6$. 2. $\det(A^2) = 3^2 = 9$. 3. $\det(A^{-1}) = \frac 13$. ::: ::: esercizio base Riscaldamento: invertibile o no? Quali di queste matrici sono invertibili? $\begin{pmatrix} 2 & 4 \\ 1 & 2 \end{pmatrix}$, $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$, $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$. ::: soluzione 1. $2 \cdot 2 - 4 \cdot 1 = 0$: **non** invertibile. Infatti la prima riga è il doppio della seconda. 2. $4 - 6 = -2$: invertibile. 3. $0 - 1 = -1$: invertibile. Questa matrice scambia le due coordinate, e scambiandole di nuovo si torna indietro: è l'inversa di sé stessa. ::: ::: esercizio base Determinanti con le mosse di Gauss Calcola con le mosse di Gauss: (a) $\det \begin{pmatrix} 0 & 2 & 1 \\ 1 & 1 & 1 \\ 2 & 4 & 5 \end{pmatrix}$; (b) $\det \begin{pmatrix} 1 & 2 & 1 & 0 \\ 2 & 5 & 3 & 1 \\ 1 & 2 & 2 & 1 \\ 0 & 1 & 1 & 3 \end{pmatrix}$. ::: soluzione (a) È la matrice $B$ della sezione sul metodo. Uno scambio $R_1 \leftrightarrow R_2$, poi $R_3 \to R_3 - 2R_1$ e $R_3 \to R_3 - R_2$ portano a una triangolare con diagonale 1, 2, 2. Determinante: $-(1 \cdot 2 \cdot 2) = -4$, con il meno per lo scambio. (b) Solo mosse del terzo tipo, che non cambiano il determinante: $$\xrightarrow{\substack{R_2 \to R_2 - 2R_1 \\ R_3 \to R_3 - R_1}} \begin{pmatrix} 1 & 2 & 1 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 1 & 1 & 3 \end{pmatrix} \xrightarrow{R_4 \to R_4 - R_2} \begin{pmatrix} 1 & 2 & 1 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 2 \end{pmatrix}.$$ Triangolare con diagonale 1, 1, 1, 2: il determinante è 2. ::: ::: esercizio base Determinanti nulli senza conti Spiega perché queste matrici hanno determinante nullo, senza calcolarlo: $$A = \begin{pmatrix} 3 & 1 & 4 \\ 1 & 5 & 9 \\ 3 & 1 & 4 \end{pmatrix}, \quad B = \begin{pmatrix} 2 & -6 & 1 \\ 1 & -3 & 7 \\ 0 & 0 & 2 \end{pmatrix}, \quad C = \begin{pmatrix} 1 & 0 & 1 \\ 2 & 1 & 3 \\ 3 & 1 & 4 \end{pmatrix}.$$ ::: soluzione - $A$: la prima e la terza riga sono uguali. La prima è un doppione della terza, quindi il determinante è zero (Proposizione 10.3). Oppure: $R_3 \to R_3 - R_1$ crea una riga di zeri senza cambiare il determinante. - $B$: la seconda colonna è $-3$ volte la prima, perché $(-6, -3, 0) = -3 \cdot (2, 1, 0)$. Una colonna doppione: determinante zero. - $C$: la terza riga è la somma delle prime due, $(1 + 2,\ 0 + 1,\ 1 + 3) = (3, 1, 4)$. Quindi il determinante è zero. Qui anche la terza colonna è la somma delle prime due. In generale, se le righe di una matrice quadrata sono dipendenti lo sono anche le colonne, perché rango per righe e rango per colonne coincidono (Proposizione 8.6). La ricetta tra le colonne però può avere dosi diverse. ::: ::: esercizio medio Esercizio 10.9 delle dispense: un'inversa con parametro Determinare per quali valori del parametro $k \in \R$ la matrice $A = \begin{pmatrix} k - 5 & 3 \\ -2 & k \end{pmatrix}$ è invertibile. Per ogni $k$ per cui la matrice risulta invertibile, trovare la matrice inversa. ::: soluzione **Determinante.** $\det A = (k - 5) \cdot k - 3 \cdot (-2) = k^2 - 5k + 6$. È un polinomio di secondo grado con radici $k = \frac{5 \pm \sqrt{25 - 24}}2 = \frac{5 \pm 1}2$, cioè $k = 3$ e $k = 2$: $$\det A = (k - 2)(k - 3).$$ **Invertibilità.** Per la Proposizione 10.8, $A$ è invertibile quando il determinante non è zero: **per tutti i $k$ tranne 2 e 3**. **Inversa.** Con la regola delle $2 \times 2$: scambio la diagonale, cambio segno agli altri due, divido per il determinante. $$A^{-1} = \frac 1{(k - 2)(k - 3)} \begin{pmatrix} k & -3 \\ 2 & k - 5 \end{pmatrix}.$$ **Controllo:** $$\begin{pmatrix} k - 5 & 3 \\ -2 & k \end{pmatrix} \begin{pmatrix} k & -3 \\ 2 & k - 5 \end{pmatrix} = \begin{pmatrix} k^2 - 5k + 6 & -3(k - 5) + 3(k - 5) \\ -2k + 2k & 6 + k^2 - 5k \end{pmatrix} = (k^2 - 5k + 6)\, I_2,$$ e dividendo per $(k - 2)(k - 3) = k^2 - 5k + 6$ si ottiene l'identità. Per esempio con $k = 0$: $A = \begin{pmatrix} -5 & 3 \\ -2 & 0 \end{pmatrix}$ e $A^{-1} = \frac 16 \begin{pmatrix} 0 & -3 \\ 2 & -5 \end{pmatrix}$. ::: ::: esercizio medio Esercizio 10.10 delle dispense: una $3 \times 3$ intera Dimostrare che la matrice $B = \begin{pmatrix} 2 & -1 & 0 \\ -2 & 1 & 1 \\ 1 & -1 & 3 \end{pmatrix}$ è invertibile e calcolarne l'inversa. ::: soluzione **Invertibilità.** Lungo la prima riga (segni $+, -, +$, e l'ultimo numero è 0): $$\det B = 2 \det \begin{pmatrix} 1 & 1 \\ -1 & 3 \end{pmatrix} - (-1) \det \begin{pmatrix} -2 & 1 \\ 1 & 3 \end{pmatrix} + 0 = 2 \cdot (3 + 1) + (-6 - 1) = 8 - 7 = 1.$$ Il determinante è 1, non zero: $B$ è invertibile, e l'inversa è la trasposta dei cofattori (si divide per 1). **I nove cofattori.** | | colonna 1 | colonna 2 | colonna 3 | |---|---|---|---| | riga 1 | $+\det \begin{pmatrix} 1 & 1 \\ -1 & 3 \end{pmatrix} = 4$ | $-\det \begin{pmatrix} -2 & 1 \\ 1 & 3 \end{pmatrix} = 7$ | $+\det \begin{pmatrix} -2 & 1 \\ 1 & -1 \end{pmatrix} = 1$ | | riga 2 | $-\det \begin{pmatrix} -1 & 0 \\ -1 & 3 \end{pmatrix} = 3$ | $+\det \begin{pmatrix} 2 & 0 \\ 1 & 3 \end{pmatrix} = 6$ | $-\det \begin{pmatrix} 2 & -1 \\ 1 & -1 \end{pmatrix} = 1$ | | riga 3 | $+\det \begin{pmatrix} -1 & 0 \\ 1 & 1 \end{pmatrix} = -1$ | $-\det \begin{pmatrix} 2 & 0 \\ -2 & 1 \end{pmatrix} = -2$ | $+\det \begin{pmatrix} 2 & -1 \\ -2 & 1 \end{pmatrix} = 0$ | Per esempio $\mathrm{cof}_{12}$: tolgo la riga 1 e la colonna 2, resta $\begin{pmatrix} -2 & 1 \\ 1 & 3 \end{pmatrix}$ con determinante $-6 - 1 = -7$. Il segno della casella $(1, 2)$ è meno, quindi $\mathrm{cof}_{12} = 7$. **Trasposta.** $$\mathrm{cof}(B) = \begin{pmatrix} 4 & 7 & 1 \\ 3 & 6 & 1 \\ -1 & -2 & 0 \end{pmatrix}, \qquad \text{quindi} \qquad B^{-1} = {}^t(\mathrm{cof}(B)) = \begin{pmatrix} 4 & 3 & -1 \\ 7 & 6 & -2 \\ 1 & 1 & 0 \end{pmatrix}.$$ **Controllo** di $BB^{-1}$, riga per riga: - riga $(2, -1, 0)$: $8 - 7 = 1$, poi $6 - 6 = 0$, poi $-2 + 2 = 0$; - riga $(-2, 1, 1)$: $-8 + 7 + 1 = 0$, poi $-6 + 6 + 1 = 1$, poi $2 - 2 + 0 = 0$; - riga $(1, -1, 3)$: $4 - 7 + 3 = 0$, poi $3 - 6 + 3 = 0$, poi $-1 + 2 + 0 = 1$. Viene l'identità. Siccome il determinante è 1, l'inversa ha tutti numeri interi. ::: ::: esercizio medio Esercizio 10.11 delle dispense: un'inversa complessa Si calcoli l'inversa della matrice $C = \begin{pmatrix} 2 - i & 0 \\ 3 & 2 + i \end{pmatrix}$. ::: soluzione **Determinante.** $C$ è triangolare inferiore: $\det C = (2 - i)(2 + i) = 4 - i^2 = 4 + 1 = 5$. Non è zero, quindi $C$ è invertibile. La Proposizione 10.8 vale anche con i numeri complessi. **Inversa** con la regola delle $2 \times 2$ ($a = 2 - i$, $b = 0$, $c = 3$, $d = 2 + i$): $$C^{-1} = \frac 15 \begin{pmatrix} 2 + i & 0 \\ -3 & 2 - i \end{pmatrix} = \begin{pmatrix} \frac 25 + \frac 15 i & 0 \\ -\frac 35 & \frac 25 - \frac 15 i \end{pmatrix}.$$ **Controllo:** $$\begin{pmatrix} 2 - i & 0 \\ 3 & 2 + i \end{pmatrix} \begin{pmatrix} 2 + i & 0 \\ -3 & 2 - i \end{pmatrix} = \begin{pmatrix} (2 - i)(2 + i) & 0 \\ 3(2 + i) - 3(2 + i) & (2 + i)(2 - i) \end{pmatrix} = \begin{pmatrix} 5 & 0 \\ 0 & 5 \end{pmatrix},$$ e diviso per 5 dà l'identità. Nota che l'inversa di una triangolare inferiore è ancora triangolare inferiore, con gli inversi sulla diagonale: $\frac 1{2 - i} = \frac{2 + i}5$. ::: ::: esercizio medio Binet e le sue conseguenze Siano $A, B \in M(3, \R)$ con $\det A = 2$ e $\det B = -3$. Calcola: (a) $\det(AB)$; (b) $\det(A^2B)$; (c) $\det(A^{-1})$; (d) $\det({}^tA\,B^{-1})$; (e) $\det(3AB)$; (f) $\det(B^4)$. ::: soluzione (a) Binet: $2 \cdot (-3) = -6$. (b) $\det(A^2B) = (\det A)^2 \det B = 4 \cdot (-3) = -12$. (c) $\det(A^{-1}) = \frac 12$ (Corollario 10.5). (d) La trasposta ha determinante 2, e $\det(B^{-1}) = -\frac 13$. Quindi $\det({}^tA\,B^{-1}) = 2 \cdot \left(-\frac 13\right) = -\frac 23$. (e) $3AB$ è $3 \times 3$, quindi il 3 esce tre volte: $3^3 \det(AB) = 27 \cdot (-6) = -162$. (f) $\det(B^4) = (-3)^4 = 81$. ::: ::: esercizio medio La Proposizione 10.7 su un esempio Sia $A = \begin{pmatrix} 2 & 0 & 1 \\ 1 & 1 & 0 \\ 0 & 3 & 1 \end{pmatrix}$. (a) Calcola $\mathrm{cof}(A)$. (b) Verifica che $A \cdot {}^t(\mathrm{cof}(A)) = \det(A) I_3$. (c) Scrivi $A^{-1}$. ::: soluzione (a) Cofattore per cofattore: tolgo la riga $i$ e la colonna $j$, poi il segno della scacchiera. - riga 1: $+\det \begin{pmatrix} 1 & 0 \\ 3 & 1 \end{pmatrix} = 1$, poi $-\det \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = -1$, poi $+\det \begin{pmatrix} 1 & 1 \\ 0 & 3 \end{pmatrix} = 3$; - riga 2: $-\det \begin{pmatrix} 0 & 1 \\ 3 & 1 \end{pmatrix} = -(0 - 3) = 3$, poi $+\det \begin{pmatrix} 2 & 1 \\ 0 & 1 \end{pmatrix} = 2$, poi $-\det \begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix} = -6$; - riga 3: $+\det \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = -1$, poi $-\det \begin{pmatrix} 2 & 1 \\ 1 & 0 \end{pmatrix} = -(0 - 1) = 1$, poi $+\det \begin{pmatrix} 2 & 0 \\ 1 & 1 \end{pmatrix} = 2$. $$\mathrm{cof}(A) = \begin{pmatrix} 1 & -1 & 3 \\ 3 & 2 & -6 \\ -1 & 1 & 2 \end{pmatrix}, \qquad {}^t(\mathrm{cof}(A)) = \begin{pmatrix} 1 & 3 & -1 \\ -1 & 2 & 1 \\ 3 & -6 & 2 \end{pmatrix}.$$ (b) Il determinante è $2 \cdot 1 - 0 + 1 \cdot 3 = 5$: prima riga per i suoi cofattori. Il prodotto, riga per colonna: - riga $(2, 0, 1)$: $2 + 3 = 5$, poi $6 - 6 = 0$, poi $-2 + 2 = 0$; - riga $(1, 1, 0)$: $1 - 1 = 0$, poi $3 + 2 = 5$, poi $-1 + 1 = 0$; - riga $(0, 3, 1)$: $-3 + 3 = 0$, poi $6 - 6 = 0$, poi $3 + 2 = 5$. Viene $5I_3$. Sulla diagonale ci sono gli sviluppi di Laplace; fuori dalla diagonale le somme con i cofattori «di un'altra riga», che fanno zero. (c) $A^{-1} = \frac 15 \begin{pmatrix} 1 & 3 & -1 \\ -1 & 2 & 1 \\ 3 & -6 & 2 \end{pmatrix}$. ::: ::: esercizio esame Invertibilità con parametro e inversa Si consideri la matrice $A = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 2 & 2 \\ k & 0 & 3 \end{pmatrix}$, con $k \in \R$ (Foglio di esercizi 1 del tutorato 2025, esercizio 9). (1) Determinare per quali $k$ la matrice è invertibile. (2) Per tali valori calcolare $A^{-1}$. (3) Verificare $AA^{-1} = I_3$ per $k = 0$. ::: soluzione (1) Lungo la prima colonna (segni $+, -, +$, e il numero centrale è 0): $$\det A = 1 \cdot \det \begin{pmatrix} 2 & 2 \\ 0 & 3 \end{pmatrix} - 0 + k \det \begin{pmatrix} 1 & 0 \\ 2 & 2 \end{pmatrix} = 6 + 2k = 2(k + 3).$$ $A$ è invertibile per tutti i $k$ tranne $k = -3$. (2) I cofattori: - riga 1: $+\det \begin{pmatrix} 2 & 2 \\ 0 & 3 \end{pmatrix} = 6$, poi $-\det \begin{pmatrix} 0 & 2 \\ k & 3 \end{pmatrix} = -(0 - 2k) = 2k$, poi $+\det \begin{pmatrix} 0 & 2 \\ k & 0 \end{pmatrix} = -2k$; - riga 2: $-\det \begin{pmatrix} 1 & 0 \\ 0 & 3 \end{pmatrix} = -3$, poi $+\det \begin{pmatrix} 1 & 0 \\ k & 3 \end{pmatrix} = 3$, poi $-\det \begin{pmatrix} 1 & 1 \\ k & 0 \end{pmatrix} = -(0 - k) = k$; - riga 3: $+\det \begin{pmatrix} 1 & 0 \\ 2 & 2 \end{pmatrix} = 2$, poi $-\det \begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix} = -2$, poi $+\det \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix} = 2$. Trasponendo e dividendo per $2(k + 3)$: $$A^{-1} = \frac 1{2(k + 3)} \begin{pmatrix} 6 & -3 & 2 \\ 2k & 3 & -2 \\ -2k & k & 2 \end{pmatrix}, \qquad k \neq -3.$$ (3) Con $k = 0$: $A = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 2 & 2 \\ 0 & 0 & 3 \end{pmatrix}$ e $A^{-1} = \frac 16 \begin{pmatrix} 6 & -3 & 2 \\ 0 & 3 & -2 \\ 0 & 0 & 2 \end{pmatrix}$. Il prodotto $A \cdot \begin{pmatrix} 6 & -3 & 2 \\ 0 & 3 & -2 \\ 0 & 0 & 2 \end{pmatrix}$, riga per riga: - riga $(1, 1, 0)$: $6$, poi $-3 + 3 = 0$, poi $2 - 2 = 0$; - riga $(0, 2, 2)$: $0$, poi $6$, poi $-4 + 4 = 0$; - riga $(0, 0, 3)$: $0$, $0$, $6$. È $6I_3$, e diviso per 6 dà l'identità. ::: ::: esercizio esame Per quali $k$ è invertibile? E l'inversa per $k = 1$ Sia $A = \begin{pmatrix} 1 & k & 0 \\ k & 1 & k \\ 0 & k & 1 \end{pmatrix}$ con $k \in \R$. (1) Determinare per quali $k$ la matrice $A$ è invertibile. (2) Posto $k = 1$, calcolare $A^{-1}$. ::: soluzione (1) Lungo la prima riga: $$\det A = 1 \cdot \det \begin{pmatrix} 1 & k \\ k & 1 \end{pmatrix} - k \det \begin{pmatrix} k & k \\ 0 & 1 \end{pmatrix} + 0 = (1 - k^2) - k \cdot k = 1 - 2k^2.$$ Fa zero quando $k^2 = \frac 12$, cioè $k = \frac{\sqrt 2}2$ oppure $k = -\frac{\sqrt 2}2$. **$A$ è invertibile per tutti i $k$ tranne questi due.** (2) Con $k = 1$: $A = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 1 & 1 \\ 0 & 1 & 1 \end{pmatrix}$ e il determinante è $1 - 2 = -1$. I cofattori: - riga 1: $+(1 - 1) = 0$, poi $-(1 - 0) = -1$, poi $+(1 - 0) = 1$; - riga 2: $-(1 - 0) = -1$, poi $+(1 - 0) = 1$, poi $-(1 - 0) = -1$; - riga 3: $+(1 - 0) = 1$, poi $-(1 - 0) = -1$, poi $+(1 - 1) = 0$. La matrice dei cofattori $\begin{pmatrix} 0 & -1 & 1 \\ -1 & 1 & -1 \\ 1 & -1 & 0 \end{pmatrix}$ è simmetrica, come $A$, quindi trasporre non cambia niente. Divido per $-1$: $$A^{-1} = \begin{pmatrix} 0 & 1 & -1 \\ 1 & -1 & 1 \\ -1 & 1 & 0 \end{pmatrix}.$$ Controllo della prima riga di $AA^{-1}$: $(1, 1, 0)$ per le colonne dà $0 + 1 = 1$, poi $1 - 1 = 0$, poi $-1 + 1 = 0$. ::: ::: esercizio esame La matrice di una trasformazione e la sua inversa Sia $A = \begin{pmatrix} 1 & 0 & 1 \\ 2 & 1 & 0 \\ 0 & 1 & 1 \end{pmatrix}$, la matrice che manda il vettore ${}^t(x, y, z)$ in ${}^t(x + z,\ 2x + y,\ y + z)$. (1) Stabilire se $A$ è invertibile. (2) Calcolare $A^{-1}$. (3) Trovare il vettore ${}^t(x, y, z)$ che viene mandato in ${}^t(1, 1, 1)$. ::: soluzione (1) Lungo la prima riga: $\det A = 1 \cdot (1 - 0) - 0 + 1 \cdot (2 - 0) = 3$. Non è zero: invertibile. (2) I cofattori: - riga 1: $+\det \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix} = 1$, poi $-\det \begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix} = -2$, poi $+\det \begin{pmatrix} 2 & 1 \\ 0 & 1 \end{pmatrix} = 2$; - riga 2: $-\det \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix} = 1$, poi $+\det \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = 1$, poi $-\det \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = -1$; - riga 3: $+\det \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = -1$, poi $-\det \begin{pmatrix} 1 & 1 \\ 2 & 0 \end{pmatrix} = 2$, poi $+\det \begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix} = 1$. $$\mathrm{cof}(A) = \begin{pmatrix} 1 & -2 & 2 \\ 1 & 1 & -1 \\ -1 & 2 & 1 \end{pmatrix}, \qquad A^{-1} = \frac 13 \begin{pmatrix} 1 & 1 & -1 \\ -2 & 1 & 2 \\ 2 & -1 & 1 \end{pmatrix}.$$ Controllo della prima riga di $AA^{-1}$, senza il $\frac 13$: $(1, 0, 1)$ per le colonne dà $1 + 2 = 3$, poi $1 - 1 = 0$, poi $-1 + 1 = 0$. (3) Cerco $v$ con $Av = {}^t(1, 1, 1)$. Moltiplico a sinistra per l'inversa, che disfa $A$: $$v = A^{-1}\,{}^t(1, 1, 1) = \frac 13\,{}^t(1 + 1 - 1,\ -2 + 1 + 2,\ 2 - 1 + 1) = {}^t\left(\frac 13, \frac 13, \frac 23\right).$$ Verifica: $x + z = \frac 13 + \frac 23 = 1$, $2x + y = \frac 23 + \frac 13 = 1$, $y + z = \frac 13 + \frac 23 = 1$. Nelle lezioni L14–L16 questa matrice sarà la matrice di un'applicazione lineare, e $A^{-1}$ quella dell'applicazione inversa, come nel problema 11 dell'appello del 10/07/2024. ::: ::: esercizio difficile Matrici con $A^2 = A$ e con $A^2 = 0$ (a) Dimostra che se $A^2 = 0$ allora $A$ non è invertibile, e trova un esempio $2 \times 2$ con $A \neq 0$. (b) Dimostra che se $A^2 = A$ allora $\det A$ vale $0$ oppure $1$. (c) Dimostra che se $A^2 = A$ e $A$ è invertibile, allora $A = I_n$. ::: soluzione (a) Per Binet $(\det A)^2 = \det(A^2) = \det(0) = 0$, quindi il determinante di $A$ è zero e $A$ non è invertibile (Proposizione 10.8). Un esempio: $A = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}$, con $A^2 = \begin{pmatrix} 0 \cdot 0 + 1 \cdot 0 & 0 \cdot 1 + 1 \cdot 0 \\ 0 & 0 \end{pmatrix} = 0$. (b) Per Binet $(\det A)^2 = \det(A^2) = \det A$. Porto tutto da una parte: $\det A \cdot (\det A - 1) = 0$. Un prodotto fa zero quando uno dei fattori fa zero: il determinante è 0 oppure 1. (c) Moltiplico $A^2 = A$ a sinistra per l'inversa: $A^{-1}(AA) = A^{-1}A$. 1. A sinistra, raggruppando diversamente: $(A^{-1}A)A = I_nA = A$. 2. A destra: $A^{-1}A = I_n$. Quindi $A = I_n$. Un esempio di $A^2 = A$ non invertibile: $\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}$, che ha determinante 0. ::: ::: esercizio difficile L'inversa di un prodotto e della trasposta Siano $A, B \in M(n)$ invertibili. Dimostra che (a) $AB$ è invertibile e $(AB)^{-1} = B^{-1}A^{-1}$; (b) ${}^tA$ è invertibile e $({}^tA)^{-1} = {}^t(A^{-1})$ (Martelli, Esercizio 3.9). ::: soluzione (a) Basta controllare che $B^{-1}A^{-1}$ funziona da inversa, da tutti e due i lati (Martelli, Proposizione 3.4.5): $$(AB)(B^{-1}A^{-1}) = A(BB^{-1})A^{-1} = AI_nA^{-1} = AA^{-1} = I_n,$$ $$(B^{-1}A^{-1})(AB) = B^{-1}(A^{-1}A)B = B^{-1}B = I_n.$$ Si usa solo il fatto che le parentesi si possono spostare. Con i determinanti si vede anche che $\det(AB) = \det A \det B$ non è zero. (b) Uso la regola della trasposta di un prodotto, ${}^t(XY) = {}^tY\,{}^tX$ (Esercizio 8.14): $${}^tA\ {}^t(A^{-1}) = {}^t(A^{-1}A) = {}^tI_n = I_n, \qquad {}^t(A^{-1})\ {}^tA = {}^t(AA^{-1}) = {}^tI_n = I_n.$$ Quindi ${}^t(A^{-1})$ è l'inversa di ${}^tA$. ::: ## Domande di ripasso ::: domanda Come cambia il determinante con le tre mosse di Gauss? Scambiare due righe lo cambia di segno. Moltiplicare una riga per un numero lo moltiplica per quel numero. Aggiungere a una riga un multiplo di un'altra non lo cambia. Le stesse regole valgono per le colonne. ::: ::: domanda Perché una matrice con due righe uguali ha determinante nullo? Scambiando le due righe uguali la matrice resta la stessa, ma il determinante cambia segno. Un numero uguale al suo opposto è zero. ::: ::: domanda Come si calcola un determinante con il metodo di Gauss? Si rende la matrice triangolare con mosse del terzo tipo, e scambi se serve. Poi si moltiplica la diagonale e si cambia segno per ogni scambio. Se si sono usate righe moltiplicate per un numero, alla fine si divide per quel numero. ::: ::: domanda Che cosa dice la Proposizione 10.3? Il determinante è zero esattamente quando una riga, o una colonna, è un doppione delle altre, cioè si ottiene mescolandole. ::: ::: domanda Enuncia il teorema di Binet e due sue conseguenze. Per matrici quadrate della stessa taglia, il determinante del prodotto è il prodotto dei determinanti. Conseguenze: il determinante di $A^k$ è $(\det A)^k$, e $\det(AB) = \det(BA)$. Inoltre il determinante dell'inversa è $\frac 1{\det A}$. ::: ::: domanda Che cosa vuol dire che una matrice è invertibile? Che è quadrata e c'è un'altra matrice che la disfa: moltiplicate tra loro, in tutti e due gli ordini, danno l'identità. Questa matrice è unica e si scrive $A^{-1}$. ::: ::: domanda Perché una matrice invertibile ha determinante diverso da zero? Da $AA^{-1} = I_n$ e Binet viene $\det A \cdot \det(A^{-1}) = 1$, e un prodotto che fa 1 non può avere un fattore zero. ::: ::: domanda Che cos'è il cofattore $\mathrm{cof}_{ij}$? Il determinante della sottomatrice senza la riga $i$ e la colonna $j$, con il segno della scacchiera. Con i cofattori lo sviluppo di Laplace diventa: numeri della riga per i cofattori della stessa riga. ::: ::: domanda Quanto fa una riga moltiplicata per i cofattori di un'altra riga, e perché? Zero. È lo sviluppo di una matrice con due righe uguali, che ha determinante zero. ::: ::: domanda Che cosa dice la Proposizione 10.7? La matrice $A$ per la trasposta dei suoi cofattori dà il determinante di $A$ sulla diagonale e zeri altrove, cioè $\det(A) I_n$. Lo stesso nell'altro ordine. ::: ::: domanda Quando una matrice quadrata è invertibile, e qual è la formula dell'inversa? Esattamente quando il determinante non è zero. L'inversa è la trasposta della matrice dei cofattori, divisa per il determinante. ::: ::: domanda Qual è l'inversa di una $2 \times 2$? Si scambiano i due numeri della diagonale, si cambia segno agli altri due e si divide per $ad - bc$, se non è zero: $\frac 1{ad - bc}\begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$. ::: ::: domanda Come si risponde a «per quali $k$ la matrice è invertibile»? Si calcola il determinante con $k$ dentro, lo si scompone in fattori, si trovano i $k$ che lo fanno zero e si risponde: «invertibile per tutti i $k$ tranne quei valori». ::: ## Glossario ```glossario Mossa di Gauss | Una delle tre operazioni sulle righe: scambiare due righe, moltiplicare una riga per un numero diverso da zero, aggiungere a una riga un multiplo di un'altra. Effetto sul determinante | Scambio: cambia segno. Riga per un numero: determinante per quel numero. Riga più un multiplo di un'altra: invariato. Metodo di Gauss per il determinante | Rendere la matrice triangolare con le mosse e moltiplicare la diagonale, contando gli scambi. Righe dipendenti | Righe tra cui una è un doppione delle altre. Succede esattamente quando il determinante è zero. Teorema di Binet | Il determinante di un prodotto di matrici quadrate è il prodotto dei determinanti. Matrice invertibile | Una matrice quadrata che ha un'inversa: un'altra matrice che la disfa. Matrice inversa $A^{-1}$ | L'unica matrice con $AA^{-1} = A^{-1}A = I_n$. Il suo determinante è $1/\det A$. Cofattore $\mathrm{cof}_{ij}$ | Il determinante della sottomatrice senza riga $i$ e colonna $j$, con il segno della scacchiera. Matrice dei cofattori $\mathrm{cof}(A)$ | La matrice che ha nella casella $(i, j)$ il cofattore $\mathrm{cof}_{ij}$. Proposizione 10.7 | $A$ per la trasposta dei suoi cofattori dà $\det(A) I_n$, in tutti e due gli ordini. Criterio di invertibilità | Una matrice quadrata è invertibile esattamente quando il determinante non è zero. Formula dell'inversa | La trasposta dei cofattori divisa per il determinante; per le $2 \times 2$, $\frac 1{ad - bc}\begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$. Inversa di un prodotto | $(AB)^{-1} = B^{-1}A^{-1}$, con l'ordine rovesciato. Rango massimo | Una matrice quadrata $n \times n$ ha rango $n$ esattamente quando il determinante non è zero. ``` ## Checklist ```checklist - So come cambia il determinante con ciascuna delle tre mosse di Gauss, per righe e per colonne. - So calcolare un determinante $3 \times 3$ o $4 \times 4$ rendendo la matrice triangolare, contando gli scambi. - Riconosco a colpo d'occhio righe o colonne uguali, proporzionali o somme di altre, e so che allora il determinante è zero. - So enunciare il teorema di Binet e usarlo per il determinante di potenze e prodotti. - So che cosa vuol dire invertibile e che il determinante dell'inversa è $1/\det A$. - So calcolare la matrice dei cofattori e verificare la Proposizione 10.7 su un esempio. - So invertire una $2 \times 2$ a memoria e una $3 \times 3$ con i cofattori, con il controllo finale. - So dire per quali valori di un parametro una matrice è invertibile, scomponendo il determinante. - So evitare i tranelli: matrice a scalini, Binet con matrici non quadrate, trasposizione dimenticata. - So combinare multipli, potenze e inverse in un'unica formula, come per $\det(2A^{-1})$. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 10 «Matrici III», pp. 46–49: le sezioni 10.A (altre proprietà del determinante), 10.B (cofattori), 10.C (l'inversa di una matrice) e 10.D (esercizi) sono seguite in ordine, con la pagina accanto a ogni titolo; proposizioni, teoremi, esempi ed esercizi mantengono la loro numerazione (Proposizioni 10.1, 10.3, 10.7, 10.8, Teorema 10.4, Corollario 10.5, Definizione 10.6, Esempio 10.2, Esercizi 10.9, 10.10, 10.11, svolti come esercizi 7, 8 e 9). Per i richiami: lezione 9 (Proposizioni 9.3, 9.5, 9.10, 9.11, Corollario 9.12) e lezione 11 (notazione delle mosse di Gauss, Definizione 11.2). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §3.3.5 (Proposizione 3.3.7), §3.3.7 (Proposizione 3.3.12), §3.3.9 (Proposizione 3.3.15), §3.4.5 (matrici invertibili, Proposizione 3.4.5), §3.4.6 (Teorema 3.4.7, Corollario 3.4.8), §3.4.7 (Proposizioni 3.4.10–3.4.12, Esempio 3.4.13), §3.4.8, Esercizio 3.9. - **Esame**: testi degli appelli di Algebra lineare dal 24/01/2024 al 07/09/2026 (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); riportati con soluzione propria il problema 11 (punto 1) del 15/01/2026 e le domande 7 del 06/09/2024 e 6 del 03/07/2026; le altre sono citate per numero. Foglio di esercizi 1 del tutorato (27/10/2025), esercizio 9. - Le parti **«Oltre le dispense»** (definizione di matrice invertibile e unicità dell'inversa, collegamento con il rango, verifica di Binet per le $2 \times 2$, metodi per l'esame, esercizi senza numero) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L11_sistemi_lineari_1.md` ```yaml corso: MDAG modulo: AG lezione: L11 titolo: Sistemi lineari I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L11 descrizione: >- Appunti della lezione L11 di Algebra lineare e Geometria (MDAG, parte 2): sistemi lineari e matrice completa, mosse di Gauss, pivot e matrici a scalini, algoritmi di Gauss e di Gauss–Jordan, come si scrivono tutte le soluzioni di un sistema, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Un metodo che risolve qualsiasi sistema di equazioni, con qualunque numero di equazioni e di incognite. Si scrivono i numeri in una tabella, la si riordina con tre mosse e alla fine la risposta si legge: una soluzione, nessuna oppure infinite. È il conto che torna in quasi ogni prova d'esame. materiale: dispense scheda: Dispense: lezione 11 · pp. 50–55 Libro: Martelli, §3.1 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 3–4 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 11 «Sistemi lineari I»; B. Martelli, Geometria e algebra lineare, §3.1 appunti_html: appunti/MDAG/L11_sistemi_lineari_1.html genera_html: true ``` ## In breve - Un **sistema lineare** è un indovinello con più indizi: cerchi dei numeri che rispettano tutte le condizioni insieme. Ogni indizio è un'**equazione**. I numeri da trovare si chiamano **incognite**. - Per fare i conti si scrivono solo i numeri, in una tabella: la **matrice completa**. Ogni riga della tabella è un'equazione. - Tre **mosse di Gauss** cambiano le righe senza cambiare le soluzioni: scambiare due righe, moltiplicare una riga per un numero diverso da zero, sommare a una riga un multiplo di un'altra riga. - Con le mosse si porta la tabella **a scalini**: una forma a scala in cui il sistema si risolve dal basso. Il primo numero diverso da zero di ogni riga si chiama **pivot**. - I finali possibili sono tre. **Nessuna soluzione**, se compare una riga impossibile come «0 = 5». **Una sola**, se ogni incognita ha il suo pivot. **Infinite**, se qualche incognita resta libera: il suo valore lo scegli tu. - All'esame il quiz «quante soluzioni ha il sistema?» è uscito in 9 appelli su 15, e quasi ogni problema aperto finisce con questi conti. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Un indovinello con più indizi: il sistema (p. 50) Partiamo da un indovinello: penso a due numeri, la loro somma fa 5 e la loro differenza fa 1. Quali sono? Ci sono due numeri da trovare e due **indizi**. La risposta deve rispettare tutti e due gli indizi insieme. ### Dare un nome ai numeri da trovare Un numero che non conosci ancora si chiama **incognita**. Per poterne parlare gli si dà un nome: una lettera. Qui i numeri da trovare sono due, quindi servono due lettere. Chiamiamo $x$ il primo numero e $y$ il secondo. Adesso ogni indizio si scrive in breve. | L'indizio a parole | Scritto con le lettere | |---|---| | la somma dei due numeri fa 5 | $x + y = 5$ | | il primo meno il secondo fa 1 | $x - y = 1$ | Ognuna di queste due scritture è un'**equazione**. > [!RIPASSO] che cos'è un'equazione > Un'**equazione** è un'uguaglianza con dentro una o più lettere. Dice: «quello che sta a sinistra dell'uguale e quello che sta a destra sono lo stesso numero». > > **Risolvere** un'equazione vuol dire trovare il numero che, messo al posto della lettera, la rende vera. > > Un esempio: $2x = 6$. La scrittura $2x$ vuol dire «2 per $x$»: tra un numero e una lettera il segno «per» non si scrive. La domanda è: quale numero, moltiplicato per 2, dà 6? Il 3. Quindi $x = 3$. > > La regola per risolvere: puoi fare **la stessa operazione sui due lati** dell'uguale. Se i due lati erano uguali prima, restano uguali dopo. Nell'esempio dividi per 2 tutti e due i lati. A sinistra $2x$ diventa $x$. A destra 6 diventa 3. > > Un altro esempio: $x + 4 = 9$. Togli 4 da tutti e due i lati. A sinistra resta $x$. A destra resta $9 - 4 = 5$. Quindi $x = 5$. Quando più equazioni devono valere **insieme**, si scrivono una sotto l'altra, con una graffa a sinistra: $$\begin{cases} x + y = 5 \\ x - y = 1 \end{cases}$$ La graffa si legge «tutte insieme». Un gruppo di equazioni da rispettare tutte insieme si chiama **sistema**. ### Risolvere l'indovinello ragionando Proviamo a trovare i due numeri senza andare a tentativi. La prima equazione dice che $x + y$ e 5 sono lo stesso numero. La seconda dice che $x - y$ e 1 sono lo stesso numero. Se a due cose uguali sommi due cose uguali, ottieni ancora due cose uguali. Quindi possiamo **sommare le due equazioni**: i lati sinistri tra loro e i lati destri tra loro. 1. **Lati sinistri.** La somma è $(x + y) + (x - y)$. Ci sono due $x$, che insieme fanno $2x$. C'è un $+y$ e c'è un $-y$, che si cancellano. Resta $2x$. 2. **Lati destri.** La somma è $5 + 1 = 6$. 3. **L'equazione nuova** è $2x = 6$. Dividi per 2 i due lati: $x = 3$. 4. **Il secondo numero.** Torna alla prima equazione e metti 3 al posto di $x$. Diventa $3 + y = 5$. Togli 3 dai due lati: $y = 2$. I due numeri sono 3 e 2. Controlliamo con gli indizi di partenza. - La somma: $3 + 2 = 5$. Giusto. - La differenza: $3 - 2 = 1$. Giusto. ### Che cos'è una soluzione Una **soluzione** del sistema è una scelta dei numeri che rende vere **tutte** le equazioni. Qui la soluzione è «$x$ vale 3 e $y$ vale 2». Per scriverla in breve si mettono i due numeri in una lista, tra parentesi tonde: $(3, 2)$. Il primo posto è per $x$, il secondo per $y$. Una lista ordinata di numeri è un **vettore** (lezione L05). L'ordine conta: la lista $(2, 3)$ vorrebbe dire che $x$ vale 2 e $y$ vale 3, ed è un'altra cosa. Proviamo un'altra lista: $(4, 1)$. - Prima equazione: $4 + 1 = 5$. Vera. - Seconda equazione: $4 - 1 = 3$, ma doveva fare 1. Falsa. Quindi $(4, 1)$ **non** è una soluzione. Basta un solo indizio non rispettato per scartare una lista. Tutte le soluzioni di un sistema, messe insieme, formano un insieme. Le dispense lo chiamano $S$, come «soluzioni». L'indovinello ha una soluzione sola, quindi il suo insieme $S$ ha un solo elemento: $$S = \{(3, 2)\}$$ Le graffe sono quelle degli insiemi (lezione L01): in mezzo c'è l'elenco degli elementi. Risolvere un sistema vuol dire trovare **tutto** l'insieme $S$. Non basta una soluzione qualsiasi: servono tutte. ### I nomi dei pezzi di un'equazione Guarda questa equazione con tre incognite: $$2x - 3y + z = 7$$ - I numeri che moltiplicano le incognite si chiamano **coefficienti**. Qui sono 2, $-3$ e 1. - Il numero a destra dell'uguale si chiama **termine noto**. «Noto» vuol dire «conosciuto». Qui è 7. Due avvisi sui coefficienti. - Davanti a $z$ non c'è scritto niente. Allora il coefficiente è 1, perché $z$ è lo stesso di $1 \cdot z$. Il puntino $\cdot$ è il segno «per». - Il segno meno fa parte del coefficiente: quello di $y$ è $-3$, non 3. Se davanti a una lettera c'è solo il segno meno, come in $-y$, il coefficiente è $-1$. ### Tante incognite: i numerini in basso Con tre incognite bastano le lettere $x$, $y$ e $z$. Con sei incognite le lettere finiscono. Allora si usa una lettera sola, con un numerino scritto in basso: $$x_1, \quad x_2, \quad x_3, \quad x_4, \quad \dots$$ Si legge «ics uno», «ics due», «ics tre». Il numerino si chiama **indice**. È solo un'etichetta: dice quale incognita è. Non è una potenza, e con lui non si fanno conti. Le incognite $x_1$ e $x_2$ sono due numeri diversi, come $x$ e $y$. ### Che cosa vuol dire «lineare» Gli indizi di questa lezione sono tutti dello stesso tipo. Ogni incognita può essere solo **moltiplicata per un numero**. Poi i pezzi si **sommano**. Nient'altro. Un'equazione fatta così si chiama **lineare**. Non sono permesse tre cose: un'incognita moltiplicata per sé stessa, due incognite moltiplicate tra loro, un'incognita chiusa dentro un'altra operazione. | Equazione | Lineare? | Perché | |---|---|---| | $2x - 3y + z = 7$ | sì | ogni incognita è solo moltiplicata per un numero | | $x_1 + x_4 = 0$ | sì | le incognite che non compaiono contano come moltiplicate per 0 | | $\sqrt 2\, x - \pi y = \frac 13$ | sì | i coefficienti e il termine noto possono essere numeri qualsiasi: qui la radice di 2, pi greco e un terzo | | $x^2 + y = 1$ | no | $x^2$ vuol dire $x \cdot x$: l'incognita è moltiplicata per sé stessa | | $xy = 4$ | no | $xy$ vuol dire $x \cdot y$: due incognite moltiplicate tra loro | | $x + \sin y = 0$ | no | l'incognita $y$ sta dentro la funzione seno (lezione L03) | Un **sistema lineare** è un sistema in cui tutte le equazioni sono lineari. Il metodo di questa lezione funziona solo per questi sistemi. ::: prova La lista $(1, 4)$ è una soluzione del sistema dell'indovinello? No. Prima equazione: $1 + 4 = 5$, vera. Seconda equazione: $1 - 4 = -3$, ma doveva fare 1. Un indizio non è rispettato, quindi la lista si scarta. ::: ::: prova Quali di queste equazioni sono lineari? (a) $3x - y = 2$; (b) $x \cdot y = 1$; (c) $x + y + z = 0$; (d) $x^2 = 9$. (a) Sì: le incognite sono solo moltiplicate per numeri e sommate. (b) No: due incognite sono moltiplicate tra loro. (c) Sì. (d) No: $x^2$ è $x$ per $x$. ::: ::: prova Nell'equazione $5x - y + 2z = 8$, quali sono i coefficienti? Qual è il termine noto? I coefficienti sono 5, $-1$ e 2. Davanti a $y$ c'è solo il segno meno, quindi il suo coefficiente è $-1$. Il termine noto è 8. ::: > [!RICORDA] > - Un **sistema** è un gruppo di equazioni da rispettare tutte insieme. Una **soluzione** è una lista di numeri che le rende vere tutte. > - **Lineare** vuol dire: le incognite sono solo moltiplicate per numeri e poi sommate. > - I numeri davanti alle incognite sono i **coefficienti**. Il numero a destra dell'uguale è il **termine noto**. > - $S$ è l'insieme di tutte le soluzioni. Risolvere un sistema vuol dire trovarle tutte. ## Una, nessuna, infinite: tre finali in un disegno (oltre le dispense) Un indovinello può finire in tre modi: con una risposta sola, con nessuna risposta, con infinite risposte. Quando le incognite sono due, i tre finali si vedono in un disegno. > [!RIPASSO] punti e rette sul foglio a quadretti > Prendi un foglio a quadretti e disegna due righe numerate che si incrociano: una orizzontale e una verticale. Si chiamano **assi**. Il punto in cui si incrociano è lo zero di tutti e due. > > Una coppia di numeri come $(3, 2)$ indica un **punto** del foglio. Parti dall'incrocio, fai 3 passi a destra e poi 2 passi in su. Il primo numero è la $x$, il secondo è la $y$. Con un numero negativo vai dalla parte opposta: a sinistra oppure in giù. > > Adesso prendi un'equazione lineare con due incognite, per esempio $x + y = 5$. Le coppie che la rendono vera sono tante: $(0, 5)$, poi $(1, 4)$, poi $(2, 3)$, poi $(5, 0)$ e infinite altre, anche con la virgola. Se segni tutti questi punti sul foglio, stanno in fila su una **retta**. > > Quindi un'equazione lineare con due incognite è una retta. I punti della retta sono le coppie che rispettano l'equazione. Un sistema di due equazioni è fatto di due rette. Una soluzione deve rispettare tutte e due le equazioni. Quindi è un punto che sta su **tutte e due** le rette. Due rette sullo stesso foglio possono stare in tre modi. **Primo finale: le rette si incrociano.** È il caso dell'indovinello. Guarda la figura: le due rette hanno un solo punto in comune, quello della soluzione $(3, 2)$. Il sistema ha **una sola soluzione**. ```grafico titolo: $x + y = 5$ e $x - y = 1$ si incontrano in un punto: una sola soluzione, $(3, 2)$ x: -1 6 y: -2 5 retta: 0 5 4.5 0.5 | accento | $x + y = 5$ | ne retta: 1 0 4 3 | blu | $x - y = 1$ | se punto: 3 2 | ambra | $(3, 2)$ | e ``` **Secondo finale: le rette sono parallele.** Prendi questi due indizi: «la somma fa 2» e «la somma fa 4». La somma di due numeri non può fare 2 e 4 nello stesso momento. I due indizi si contraddicono. Guarda la figura: le due rette non si toccano mai. Il sistema **non ha nessuna soluzione**. ```grafico titolo: $x + y = 2$ e $x + y = 4$ sono parallele: nessun punto comune, nessuna soluzione x: -1 5 y: -1 5 retta: 2 0 0 2 | accento | $x + y = 2$ | ne retta: 4 0 0.5 3.5 | blu | $x + y = 4$ | ne ``` **Terzo finale: le rette coincidono.** Prendi «la somma fa 2» e «il doppio della somma fa 4». Il secondo indizio ripete il primo con altre parole: non aggiunge niente. Guarda la figura: le due rette stanno una sopra l'altra. Ogni punto della retta è una soluzione: $(2, 0)$, poi $(1, 1)$, poi $(0, 2)$ e tutti gli altri. Il sistema ha **infinite soluzioni**. ```grafico titolo: $x + y = 2$ e $2x + 2y = 4$ sono la stessa retta: infinite soluzioni x: -1 5 y: -1 5 retta: 2 0 0 2 | accento | spesso | $x + y = 2$ | ne retta: 0 2 1.5 0.5 | blu | tratteggio | $2x + 2y = 4$ | ne ``` Con due rette non esistono altri casi. Per esempio le soluzioni non sono mai esattamente due. Due rette con due punti in comune sono per forza la stessa retta, e allora i punti in comune sono infiniti. Con tre o più incognite il disegno non si riesce più a fare. Ma i finali restano questi tre: nessuna soluzione, una sola, infinite. Lo dimostra il teorema di Rouché–Capelli, nella lezione L12. Il metodo di questa lezione dice ogni volta in quale dei tre finali sei. ::: prova Senza fare conti: quante soluzioni ha il sistema con gli indizi «la somma fa 3» e «la somma fa 7»? Nessuna. La somma di due numeri non può fare 3 e 7 nello stesso momento. Nel disegno sono due rette parallele. ::: ::: prova Quante soluzioni ha il sistema $x + y = 3$, $3x + 3y = 9$? Infinite. La seconda equazione è la prima moltiplicata per 3: a sinistra $3 \cdot (x + y)$ fa $3x + 3y$, a destra $3 \cdot 3$ fa 9. Non dice niente di nuovo. Resta un solo indizio, $x + y = 3$. Le coppie che lo rispettano sono infinite: $(0, 3)$, $(1, 2)$, $(3, 0)$ e così via. Nel disegno le due rette coincidono. ::: > [!RICORDA] > - Un sistema lineare può avere **una** soluzione, **nessuna** oppure **infinite**. Con i numeri reali non ne ha mai esattamente due o tre (lezione L12). > - Nessuna soluzione: due indizi si contraddicono. > - Infinite soluzioni: un indizio ripete gli altri, e qualcosa resta libero. ## Scrivere solo i numeri: la matrice completa (p. 50) Rileggi come abbiamo risolto l'indovinello: le lettere non hanno fatto nessun lavoro. I conti li hanno fatti i numeri: quelli davanti alle incognite e quelli a destra dell'uguale. Le lettere servivano solo a tenere ogni numero al suo posto. Allora conviene scrivere **solo i numeri**, in una tabella. Sarà il posto nella tabella a dire a quale incognita appartiene ogni numero. > [!RIPASSO] che cos'è una matrice > Una **matrice** è una tabella di numeri chiusa tra due parentesi tonde (lezione L08). Le **righe** sono le file orizzontali e si contano dall'alto. Le **colonne** sono le file verticali e si contano da sinistra. > > $$\begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}$$ > > Questa matrice ha 2 righe e 3 colonne. Si scrive «matrice $2 \times 3$» e si legge «due per tre»: prima le righe, poi le colonne. La riga 2 è fatta dei numeri 4, 5 e 6. La colonna 3 è fatta dei numeri 3 e 6. Il numero nella riga 2 e nella colonna 1 è il 4. ### Dall'indovinello alla tabella Il sistema dell'indovinello è questo: $$\begin{cases} x + y = 5 \\ x - y = 1 \end{cases}$$ Per ogni equazione leggi tre numeri: quello davanti a $x$, quello davanti a $y$ e quello a destra dell'uguale. | Equazione | Numero davanti a $x$ | Numero davanti a $y$ | Numero a destra | |---|---|---|---| | $x + y = 5$ | $1$ | $1$ | $5$ | | $x - y = 1$ | $1$ | $-1$ | $1$ | Nella seconda equazione davanti a $y$ c'è solo il segno meno: il coefficiente è $-1$. Ora togli le intestazioni e metti le parentesi. Ottieni una matrice: $$\left(\begin{array}{cc|c} 1 & 1 & 5 \\ 1 & -1 & 1 \end{array}\right)$$ La barra verticale sta **al posto dell'uguale**. Separa i coefficienti, a sinistra, dai termini noti, a destra. Non è un'operazione: è solo un promemoria. Questa tabella si chiama **matrice completa** del sistema. Si legge così: - ogni **riga** è un'equazione; - ogni **colonna** prima della barra è un'incognita: la prima colonna è quella di $x$, la seconda è quella di $y$; - l'**ultima colonna**, dopo la barra, contiene i termini noti. ### I tre nomi Le dispense danno un nome a ogni pezzo della tabella. - La parte a sinistra della barra è la **matrice dei coefficienti**. Si indica con la lettera $A$. - La colonna a destra della barra è il **vettore dei termini noti**. Si indica con la lettera $b$. È un vettore scritto in verticale: un **vettore colonna**. - La tabella intera è la **matrice completa**. Si indica con la lettera $C$. Per l'indovinello: $$A = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \qquad b = \begin{pmatrix} 5 \\ 1 \end{pmatrix} \qquad C = \left(\begin{array}{cc|c} 1 & 1 & 5 \\ 1 & -1 & 1 \end{array}\right)$$ Per dire che la matrice completa è fatta dei coefficienti con accanto i termini noti, le dispense scrivono $C = (A \mid b)$. Si legge «ci uguale a barra bi». > [!ESEMPIO] Un sistema con tre equazioni e tre incognite > $$\begin{cases} x + y + 2z = 9 \\ 2x + 4y - 3z = 1 \\ 3x + 6y - 5z = 0 \end{cases}$$ > Le incognite sono tre: $x$, $y$ e $z$. Quindi prima della barra servono tre colonne. Per esempio nella seconda equazione davanti a $x$ c'è 2, davanti a $y$ c'è 4 e davanti a $z$ c'è $-3$. A destra dell'uguale c'è 1. > > La matrice completa è > $$C = \left(\begin{array}{ccc|c} 1 & 1 & 2 & 9 \\ 2 & 4 & -3 & 1 \\ 3 & 6 & -5 & 0 \end{array}\right).$$ > Ha 3 righe, perché le equazioni sono 3. Ha 4 colonne: 3 per le incognite e 1 per i termini noti. Questo sistema viene risolto per intero nell'esercizio 6. > [!TRAPPOLA] Prima di scrivere la matrice, metti in ordine il sistema > La tabella funziona solo se ogni numero sta nella colonna giusta. Le regole sono tre. > > 1. Le incognite vanno scritte **nello stesso ordine** in ogni riga: prima $x$, poi $y$, poi $z$. > 2. Un'incognita che **manca** in un'equazione ha coefficiente 0. Lo 0 va scritto nella matrice: il posto non si lascia vuoto. > 3. Le incognite vanno tutte **a sinistra** dell'uguale. I numeri senza incognita vanno tutti **a destra**. Chi cambia lato cambia segno. > > La terza regola viene da quella dei due lati. Per togliere un $-z$ dal lato destro sommi $z$ a tutti e due i lati: a destra sparisce, a sinistra compare $+z$. > > Un sistema con tutti e tre i problemi: > $$\begin{cases} 2x - y = 3 - z \\ x = 4y \\ 5 + z = 2 \end{cases}$$ > - **Prima equazione.** A destra c'è $-z$. Lo porti a sinistra e diventa $+z$. Viene $2x - y + z = 3$. > - **Seconda equazione.** A destra c'è $4y$. Lo porti a sinistra e diventa $-4y$. Viene $x - 4y = 0$. Manca $z$: il suo coefficiente è 0. > - **Terza equazione.** A sinistra c'è il numero 5. Lo porti a destra e diventa $-5$. Viene $z = 2 - 5$, cioè $z = -3$. Mancano $x$ e $y$: due zeri. > > Il sistema in ordine, e la sua matrice completa: > $$\begin{cases} 2x - y + z = 3 \\ x - 4y = 0 \\ z = -3 \end{cases} \qquad \left(\begin{array}{ccc|c} 2 & -1 & 1 & 3 \\ 1 & -4 & 0 & 0 \\ 0 & 0 & 1 & -3 \end{array}\right)$$ ### Quando equazioni e incognite sono tante Un sistema può avere un numero qualsiasi di equazioni e di incognite. I due numeri possono anche essere diversi: 2 equazioni con 4 incognite, oppure 3 equazioni con 2 incognite. Le dispense usano due lettere per dirlo. - La lettera $k$ è il numero di **equazioni**. - La lettera $n$ è il numero di **incognite**. Nell'indovinello le equazioni sono 2 e le incognite sono 2. Nell'esempio qui sopra sono 3 e 3. Anche i coefficienti sono tanti, e serve un modo per indicarli tutti. Le dispense li chiamano tutti $a$, con **due** numerini in basso. Il primo dice la riga, cioè l'equazione. Il secondo dice la colonna, cioè l'incognita. Proviamo sulla matrice dell'esempio con tre equazioni. - $a_{23}$ si legge «a due tre», non «a ventitré». È il numero nella riga 2 e nella colonna 3: vale $-3$. - $a_{31}$ è il numero nella riga 3 e nella colonna 1: vale 3. I termini noti si chiamano $b$, con un numerino solo: quello della riga. Nell'esempio $b_2$ è il termine noto della seconda equazione: vale 1. Le dispense lo scrivono così. > [!DEF] 11.1 · Sistema lineare > Un **sistema lineare** è un insieme di $k$ equazioni lineari in $n$ variabili > $$\begin{cases} a_{11}x_1 + \cdots + a_{1n}x_n = b_1, \\ \qquad \vdots \\ a_{k1}x_1 + \cdots + a_{kn}x_n = b_k. \end{cases}$$ > I numeri $a_{ij}$ sono i **coefficienti** e i $b_i$ sono i **termini noti** del sistema. Sia i coefficienti sia i termini noti sia le variabili sono in un certo campo fissato $\K$. Possiamo raggruppare i coefficienti e i termini noti in una matrice $k \times n$ e in un vettore colonna: > $$A = \begin{pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{k1} & \cdots & a_{kn} \end{pmatrix}, \qquad b = \begin{pmatrix} b_1 \\ \vdots \\ b_k \end{pmatrix}.$$ > Parliamo della **matrice dei coefficienti** e del **vettore dei termini noti**. Possiamo poi unire tutto in un'unica matrice $k \times (n + 1)$ > $$C = (A \mid b),$$ > chiamata **matrice completa**. **Come si legge.** Un pezzo alla volta. - «Variabili» è un altro nome per le incognite. - La prima riga dentro la graffa è la prima equazione. Comincia con il primo coefficiente per la prima incognita. I tre puntini $\cdots$ vogliono dire «e avanti così, con le incognite che stanno in mezzo». Finisce con l'ultimo coefficiente della riga per l'ultima incognita, che è $x_n$. A destra dell'uguale c'è $b_1$, il primo termine noto. - I puntini verticali $\vdots$ vogliono dire «e avanti così, con le equazioni che stanno in mezzo». L'ultima riga è l'equazione numero $k$. - $a_{ij}$ sta per un coefficiente qualsiasi: quello nella riga $i$ e nella colonna $j$. Le lettere $i$ e $j$ stanno al posto di due numeri. - $\K$ è il **campo**, cioè l'insieme dei numeri che si usano. Le dispense scrivono $\K$ per dire «$\R$ oppure $\C$»: i numeri reali oppure i numeri complessi (lezioni L01 e L02). In questi appunti i numeri sono quasi sempre reali. - «Matrice $k \times n$» vuol dire: una matrice con $k$ righe e $n$ colonne. È la matrice dei coefficienti: una riga per ogni equazione, una colonna per ogni incognita. I puntini in diagonale $\ddots$ riempiono il centro della tabella. - La matrice completa ha una colonna in più, quella dei termini noti. Per questo le sue colonne sono $n + 1$. Subito dopo la definizione le dispense dichiarano lo scopo della lezione: trovare l'insieme $S \subset \K^n$ delle soluzioni. Anche questa scrittura si legge a pezzi. - $\K^n$ è l'insieme di tutte le liste di $n$ numeri. Con 2 incognite e i numeri reali è $\R^2$: tutte le coppie, come $(3, 2)$. - Il simbolo $\subset$ si legge «è contenuto in» (lezione L01). - Tutta insieme: le soluzioni sono liste di $n$ numeri, un numero per ogni incognita. ::: prova Scrivi la matrice completa del sistema $x + 2y = 7$, $3x - y = 0$. $$\left(\begin{array}{cc|c} 1 & 2 & 7 \\ 3 & -1 & 0 \end{array}\right)$$ Prima riga: 1 davanti a $x$, 2 davanti a $y$, 7 a destra. Seconda riga: 3 davanti a $x$, $-1$ davanti a $y$, 0 a destra. ::: ::: prova Quale sistema corrisponde alla matrice completa $\left(\begin{array}{cc|c} 2 & 0 & 6 \\ 1 & 1 & 5 \end{array}\right)$? La prima riga è $2x + 0y = 6$, cioè $2x = 6$. La seconda riga è $x + y = 5$. ::: ::: prova Una matrice completa ha 2 righe e 4 colonne. Quante sono le equazioni? Quante le incognite? Le equazioni sono 2, una per riga. Le colonne sono 4, ma l'ultima è quella dei termini noti. Le incognite sono $4 - 1 = 3$. ::: > [!RICORDA] > - La **matrice completa** è il sistema scritto con i soli numeri: una riga per ogni equazione, una colonna per ogni incognita, e l'ultima colonna per i termini noti. > - La barra verticale sta al posto dell'uguale. > - Prima di scriverla metti in ordine il sistema: incognite nello stesso ordine, 0 per quelle che mancano, numeri senza incognita a destra. > - Le incognite sono le colonne **prima** della barra. L'ultima colonna non è un'incognita. ## Riscrivere gli indizi: le mosse di Gauss (pp. 50–51) Per risolvere l'indovinello hai sommato le due equazioni. In pratica hai **riscritto gli indizi** in un'altra forma, più comoda, e la risposta è rimasta la stessa. Questa è l'idea di tutta la lezione. La soluzione non si cerca a tentativi. Si riscrivono gli indizi, un passo alla volta, finché la soluzione si legge. L'importante è usare solo riscritture che **non cambiano le soluzioni**. Le riscritture sicure sono tre. Si chiamano **mosse di Gauss**, dal nome del matematico tedesco Carl Friedrich Gauss. Le hai già incontrate nella lezione L10, dove servivano per calcolare i determinanti. Qui servono per risolvere i sistemi. Ogni mossa lavora sulle **righe** della matrice completa, cioè sulle equazioni. Per parlare delle righe si usa la lettera $R$, che sta per «riga»: $R_1$ è la riga 1, $R_2$ è la riga 2, e così via. ### Prima mossa: scambiare due righe Dire gli indizi in un altro ordine non cambia l'indovinello. «La somma fa 5 e la differenza fa 1» è lo stesso di «la differenza fa 1 e la somma fa 5». Sulla matrice completa vuol dire scambiare di posto due righe intere: $$\left(\begin{array}{cc|c} 1 & 1 & 5 \\ 1 & -1 & 1 \end{array}\right) \longrightarrow \left(\begin{array}{cc|c} 1 & -1 & 1 \\ 1 & 1 & 5 \end{array}\right)$$ La mossa si scrive $R_1 \leftrightarrow R_2$. La freccia a due punte si legge «si scambia con». ### Seconda mossa: moltiplicare una riga per un numero «La somma fa 5» e «il doppio della somma fa 10» dicono la stessa cosa. Chi conosce una delle due frasi conosce anche l'altra. Sulla matrice vuol dire moltiplicare per lo stesso numero **tutti** i numeri di una riga, compreso quello dopo la barra. Moltiplichiamo per 2 la prima riga dell'indovinello. | | colonna di $x$ | colonna di $y$ | termine noto | |---|---|---|---| | riga 1 | $1$ | $1$ | $5$ | | 2 volte la riga 1 | $2 \cdot 1 = 2$ | $2 \cdot 1 = 2$ | $2 \cdot 5 = 10$ | La nuova riga 1 è $(2, 2 \mid 10)$: i due coefficienti, la barra e il termine noto. È l'equazione $2x + 2y = 10$. La soluzione dell'indovinello la rispetta ancora: $$2 \cdot 3 + 2 \cdot 2 = 6 + 4 = 10$$ La mossa si scrive $R_1 \to 2R_1$. La freccia si legge «diventa»: «la riga 1 diventa 2 volte la riga 1». C'è un solo divieto: il numero non può essere **zero**. Prova a moltiplicare per 0 la riga dell'indizio «la somma fa 5». Tutti i suoi numeri diventano 0, e la riga diventa l'equazione $0 = 0$. È vera, ma non dice più niente. L'indizio è andato perso, e non c'è modo di recuperarlo. Si può invece moltiplicare per una frazione. Moltiplicare per $\frac 12$ vuol dire dividere per 2: serve a rimpicciolire i numeri di una riga. ### Terza mossa: sommare a una riga un multiplo di un'altra È la mossa dell'indovinello, ed è quella che fa quasi tutto il lavoro. Hai due indizi veri. Ne sommi uno all'altro, e ottieni un indizio nuovo, vero anche lui. Prima di usarla conviene ricordare come si fanno i conti con il segno meno, perché qui compaiono di continuo. > [!RIPASSO] i conti con i numeri negativi > - **Sottrarre un numero più grande** dà un risultato negativo: $1 - 5 = -4$. Hai 1 euro e ne spendi 5: sei sotto di 4. > - **Sommare un numero negativo** è come sottrarre: $3 + (-2) = 3 - 2 = 1$. > - **Sottrarre un numero negativo** è come sommare: $5 - (-2) = 5 + 2 = 7$. Togliere un debito è un guadagno. > - **Nei prodotti e nelle divisioni** contano i segni. Segni uguali danno più: $(-2) \cdot (-3) = 6$. Segni diversi danno meno: $2 \cdot (-3) = -6$. Sulla matrice dell'indovinello facciamo questa mossa: alla riga 2 **togliamo** la riga 1. Togliere è un caso della terza mossa: è come sommare la riga 1 moltiplicata per $-1$. Perché proprio questa mossa? Perché in tutte e due le righe il primo numero è 1. Se li sottrai viene $1 - 1 = 0$. Uno zero nella colonna di $x$ vuol dire che l'incognita $x$ sparisce dalla riga 2. Il conto si fa un numero alla volta. Ogni numero si combina con quello che sta nella sua stessa colonna. | | colonna di $x$ | colonna di $y$ | termine noto | |---|---|---|---| | riga 2 | $1$ | $-1$ | $1$ | | riga 1 | $1$ | $1$ | $5$ | | riga 2 meno riga 1 | $1 - 1 = 0$ | $-1 - 1 = -2$ | $1 - 5 = -4$ | La nuova riga 2 è $(0, -2 \mid -4)$. La riga 1 **non cambia**: è servita per il conto, ma resta com'era. $$\left(\begin{array}{cc|c} 1 & 1 & 5 \\ 1 & -1 & 1 \end{array}\right) \longrightarrow \left(\begin{array}{cc|c} 1 & 1 & 5 \\ 0 & -2 & -4 \end{array}\right)$$ La nuova riga 2 è l'equazione $-2y = -4$. Dentro c'è una sola incognita. Dividi i due lati per $-2$ e ottieni $y = 2$: è il secondo numero dell'indovinello. La mossa si scrive $R_2 \to R_2 - R_1$. Si legge: «la riga 2 diventa la riga 2 meno la riga 1». Spesso la riga da togliere va prima moltiplicata per un numero. Il numero si sceglie in modo che compaia uno zero dove serve. > [!ESEMPIO] Scegliere quante volte togliere > $$\left(\begin{array}{cc|c} 1 & 2 & 3 \\ 4 & 9 & 7 \end{array}\right)$$ > Vogliamo far diventare 0 il 4 della riga 2. Sopra di lui, nella riga 1, c'è un 1. > > Alla riga 2 togliamo 4 volte la riga 1. Perché 4 volte? Perché $4 - 4 \cdot 1 = 0$. > > La mossa si scrive $R_2 \to R_2 - 4R_1$. Si legge: «la riga 2 diventa la riga 2 meno 4 volte la riga 1». > > | | colonna 1 | colonna 2 | termine noto | > |---|---|---|---| > | riga 2 | $4$ | $9$ | $7$ | > | 4 volte la riga 1 | $4 \cdot 1 = 4$ | $4 \cdot 2 = 8$ | $4 \cdot 3 = 12$ | > | differenza | $4 - 4 = 0$ | $9 - 8 = 1$ | $7 - 12 = -5$ | > > La nuova riga 2 è $(0, 1 \mid -5)$. La riga 1 resta $(1, 2 \mid 3)$. > $$\left(\begin{array}{cc|c} 1 & 2 & 3 \\ 0 & 1 & -5 \end{array}\right)$$ ### Le tre mosse, come le scrivono le dispense Ora che le tre mosse sono chiare, ecco la definizione con le parole delle dispense. > [!DEF] 11.2 · Mosse di Gauss > Le mosse che non cambiano l'insieme delle soluzioni sono le seguenti e sono note come **mosse di Gauss**: > - (I) scambiare due righe; > - (II) moltiplicare una riga per un numero $\lambda \neq 0$; > - (III) aggiungere ad una riga un'altra riga moltiplicata per $\lambda$ qualsiasi. > > Indicando con $R_i$ la $i$-esima riga di $C$, possiamo scrivere le mosse così: > $$\text{(I)}\ R_i \longleftrightarrow R_j, \qquad \text{(II)}\ R_i \longrightarrow \lambda R_i,\ \lambda \neq 0, \qquad \text{(III)}\ R_i \longrightarrow R_i + \lambda R_j.$$ **Come si legge.** - $\lambda$ è la lettera greca *lambda*. Sta al posto di un numero qualsiasi, come 2 oppure $-3$. - $\lambda \neq 0$ si legge «lambda diverso da zero». È il divieto della seconda mossa. - $R_i$ e $R_j$ sono due righe qualsiasi. Le lettere $i$ e $j$ stanno al posto dei numeri delle due righe. «La $i$-esima riga» vuol dire «la riga numero $i$». - Le frecce sono quelle di prima, disegnate più lunghe: «si scambia con» e «diventa». - La scrittura della mossa (I) dice: la riga $i$ e la riga $j$ si scambiano. - La scrittura della mossa (II) dice: la riga $i$ diventa $\lambda$ volte sé stessa. - La scrittura della mossa (III) dice: alla riga $i$ sommi $\lambda$ volte la riga $j$. Se $\lambda$ è negativo stai togliendo. Per esempio con $\lambda = -4$ la riga $i$ diventa «la riga $i$ meno 4 volte la riga $j$». Nella terza mossa le due righe devono essere **diverse**. Cambia solo la riga scritta a sinistra della freccia. L'altra resta ferma. > [!ESEMPIO] 11.3 · Tre mosse in fila > Le dispense fanno una mossa di ogni tipo su una matrice con 3 righe e 2 colonne. La mossa è scritta sopra ogni freccia. > $$\begin{pmatrix} 1 & 2 \\ 3 & 0 \\ 4 & -2 \end{pmatrix} \xrightarrow{R_1 \leftrightarrow R_3} \begin{pmatrix} 4 & -2 \\ 3 & 0 \\ 1 & 2 \end{pmatrix}$$ > $$\xrightarrow{R_1 \to \frac 12 R_1} \begin{pmatrix} 2 & -1 \\ 3 & 0 \\ 1 & 2 \end{pmatrix} \xrightarrow{R_2 \to R_2 + 2R_3} \begin{pmatrix} 2 & -1 \\ 5 & 4 \\ 1 & 2 \end{pmatrix}.$$ > Guardiamole una alla volta. > > 1. **Mossa (I): la riga 1 si scambia con la riga 3.** La riga 1 è $(1, 2)$ e la riga 3 è $(4, -2)$. Si scambiano di posto. La riga 2 non si muove. > 2. **Mossa (II): la riga 1 diventa metà di sé stessa.** Ora la riga 1 è $(4, -2)$. Moltiplicare per $\frac 12$ vuol dire dividere per 2. Primo numero: $4 : 2 = 2$. Secondo numero: $-2 : 2 = -1$. La nuova riga 1 è $(2, -1)$. > 3. **Mossa (III): alla riga 2 sommi 2 volte la riga 3.** La riga 3 è $(1, 2)$, e 2 volte la riga 3 fa $(2, 4)$. La riga 2 è $(3, 0)$. Primo numero: $3 + 2 = 5$. Secondo numero: $0 + 4 = 4$. La nuova riga 2 è $(5, 4)$. La riga 3 è servita per il conto e resta com'era. ### Perché le mosse non cambiano le soluzioni Tutto il metodo si regge su una promessa: dopo una mossa le soluzioni sono **le stesse** di prima. Nessuna in più, nessuna in meno. Nell'indovinello l'hai visto con la riga moltiplicata per 2: la soluzione la rispettava ancora. Il motivo per cui succede sempre è questo. > [!IDEA] ogni mossa si può disfare > Ogni mossa di Gauss ha una mossa che la annulla e rimette la matrice com'era. > > - Uno scambio si annulla rifacendo lo stesso scambio. > - Moltiplicare una riga per 2 si annulla moltiplicandola per $\frac 12$. Ecco perché lo zero è vietato: moltiplicare per 0 non si può disfare. > - Sommare a una riga 4 volte un'altra si annulla togliendo 4 volte quella stessa riga. > > Una riscrittura che si può sempre disfare non perde informazione e non ne inventa. Quindi non può né perdere né creare soluzioni. Le dispense lo scrivono così. > [!PROP] 11.4 > Le mosse di Gauss su $C = (A \mid b)$ non cambiano l'insieme $S \subset \K^n$ delle soluzioni del sistema lineare. **Come si legge.** $C = (A \mid b)$ è la matrice completa. $S$ è l'insieme delle soluzioni, che sono liste di $n$ numeri. La frase dice: fai una mossa di Gauss sulla matrice completa, e le liste che risolvono il sistema restano le stesse di prima. > [!NOTA] Serve per capire, non per l'esame > La dimostrazione qui sotto è in un riquadro chiuso, che si apre con un clic. All'esame non viene chiesta. Da ricordare c'è il risultato: le tre mosse sono sicure. > [!DIM] perché le mosse non cambiano le soluzioni > Si controllano le tre mosse una alla volta. Ogni volta servono due cose: chi risolveva il sistema vecchio risolve quello nuovo, e chi risolve il nuovo risolveva il vecchio. > > 1. **Mossa (I).** Scambiare due righe vuol dire scrivere le stesse equazioni in un altro ordine. Una lista di numeri le rende vere tutte prima dello scambio esattamente quando le rende vere tutte dopo. > 2. **Mossa (II).** La riga $i$ è l'equazione $a_{i1}x_1 + \cdots + a_{in}x_n = b_i$. Dopo la mossa diventa > $$\lambda a_{i1}x_1 + \cdots + \lambda a_{in}x_n = \lambda b_i.$$ > Se una lista risolve l'equazione vecchia, moltiplicando i due lati per $\lambda$ risolve la nuova. Se risolve la nuova, moltiplicando i due lati per $\frac 1\lambda$ torna la vecchia. Qui serve $\lambda \neq 0$: altrimenti $\frac 1\lambda$ non esiste. Le altre equazioni non cambiano. > 3. **Mossa (III).** Cambia solo la riga $i$: la nuova equazione $i$ è la vecchia più $\lambda$ volte l'equazione $j$, cioè > $$(a_{i1} + \lambda a_{j1})x_1 + \cdots + (a_{in} + \lambda a_{jn})x_n = b_i + \lambda b_j.$$ > Se una lista risolve le due vecchie, risolve anche la loro somma: quindi risolve la nuova riga $i$. Se una lista risolve le due nuove, togli dalla nuova riga $i$ la riga $j$ moltiplicata per $\lambda$: ritrovi la vecchia riga $i$. Funziona perché la riga $j$ è rimasta intatta. Per questo le due righe devono essere diverse. > 4. In tutti e tre i casi le liste che risolvono il sistema sono le stesse prima e dopo la mossa. Quindi $S$ non cambia. ### L'indovinello risolto solo con le mosse Adesso rifacciamo l'indovinello dall'inizio alla fine, senza scrivere nessuna lettera: solo mosse sulla matrice completa. > [!ESEMPIO] L'indovinello risolto con le mosse > $$\left(\begin{array}{cc|c} 1 & 1 & 5 \\ 1 & -1 & 1 \end{array}\right) \xrightarrow{R_2 \to R_2 - R_1} \left(\begin{array}{cc|c} 1 & 1 & 5 \\ 0 & -2 & -4 \end{array}\right)$$ > $$\xrightarrow{R_2 \to -\frac 12 R_2} \left(\begin{array}{cc|c} 1 & 1 & 5 \\ 0 & 1 & 2 \end{array}\right) \xrightarrow{R_1 \to R_1 - R_2} \left(\begin{array}{cc|c} 1 & 0 & 3 \\ 0 & 1 & 2 \end{array}\right)$$ > 1. **La riga 2 diventa la riga 2 meno la riga 1.** È il conto già fatto sopra: la riga 2 diventa $(0, -2 \mid -4)$. > 2. **La riga 2 viene moltiplicata per $-\frac 12$.** Vuol dire dividerla per $-2$. Primo numero: $0 : (-2) = 0$. Secondo numero: $-2 : (-2) = 1$. Terzo numero: $-4 : (-2) = 2$. La riga 2 diventa $(0, 1 \mid 2)$. > 3. **La riga 1 diventa la riga 1 meno la riga 2.** La riga 1 è $(1, 1 \mid 5)$ e la riga 2 adesso è $(0, 1 \mid 2)$. Primo numero: $1 - 0 = 1$. Secondo numero: $1 - 1 = 0$. Terzo numero: $5 - 2 = 3$. La riga 1 diventa $(1, 0 \mid 3)$. > > Rileggi l'ultima matrice come sistema. La riga 1 dice $1x + 0y = 3$, cioè $x = 3$. La riga 2 dice $0x + 1y = 2$, cioè $y = 2$. La soluzione si legge nell'ultima colonna. > [!TRAPPOLA] Una mossa alla volta > Non fare due mosse **insieme** usando per tutte e due le righe vecchie. > > Parti dalla matrice dell'indovinello. Fai nello stesso momento due mosse: «riga 1 meno riga 2» e «riga 2 meno riga 1», tutte e due con le righe di partenza. > > - Nuova riga 1: $(1 - 1,\ 1 - (-1) \mid 5 - 1)$, cioè $(0, 2 \mid 4)$. > - Nuova riga 2: $(1 - 1,\ -1 - 1 \mid 1 - 5)$, cioè $(0, -2 \mid -4)$. > > $$\left(\begin{array}{cc|c} 0 & 2 & 4 \\ 0 & -2 & -4 \end{array}\right)$$ > Adesso le due righe dicono la stessa cosa: che $y$ vale 2. Di $x$ non si sa più niente: può valere qualsiasi numero. Sembrano infinite soluzioni. Ma l'indovinello ne aveva **una sola**: un indizio è andato perso. > > La regola: dopo ogni mossa, la mossa seguente usa le righe **nuove**. Più mosse nello stesso passaggio vanno bene solo se la riga usata per cambiare le altre resta ferma. > [!TRAPPOLA] Solo righe, mai colonne > Per risolvere un sistema le mosse si fanno sulle **righe**. Una riga è un'equazione, e un'equazione si può riscrivere. Una colonna invece è un'incognita, oppure è la lista dei termini noti. Mescolare due colonne cambia l'indovinello. > > Un esempio. Nella matrice dell'indovinello somma la prima colonna all'ultima. Il 5 diventa $5 + 1 = 6$ e l'1 diventa $1 + 1 = 2$. Il sistema nuovo ha gli indizi «la somma fa 6» e «la differenza fa 2». La sua soluzione è $(4, 2)$, non più $(3, 2)$. ::: prova Nella matrice $\left(\begin{array}{cc|c} 1 & 3 & 2 \\ 2 & 7 & 5 \end{array}\right)$ fai la mossa $R_2 \to R_2 - 2R_1$. Quale diventa la riga 2? Due volte la riga 1 fa $(2, 6 \mid 4)$. Poi sottrai un numero alla volta: $2 - 2 = 0$, poi $7 - 6 = 1$, poi $5 - 4 = 1$. La nuova riga 2 è $(0, 1 \mid 1)$. La riga 1 non cambia. ::: ::: prova Nella matrice $\left(\begin{array}{cc|c} 1 & 4 & 3 \\ 5 & 2 & 1 \end{array}\right)$ quale mossa fa diventare 0 il 5? La mossa $R_2 \to R_2 - 5R_1$. Sopra il 5 c'è un 1, e $5 - 5 \cdot 1 = 0$. Cinque volte la riga 1 fa $(5, 20 \mid 15)$. La riga 2 diventa $(5 - 5,\ 2 - 20 \mid 1 - 15)$, cioè $(0, -18 \mid -14)$. ::: > [!RICORDA] > - Le mosse di Gauss sono tre: scambiare due righe, moltiplicare una riga per un numero **diverso da zero**, sommare a una riga un multiplo di **un'altra** riga. > - Ogni mossa vale per la riga intera, termine noto compreso. > - Le mosse non cambiano le soluzioni, perché ognuna si può disfare. > - Una mossa alla volta, e solo sulle righe. ## La forma che si risolve dal basso: gli scalini (pp. 51–52) Adesso sai riscrivere gli indizi. Resta da decidere **verso quale forma** riscriverli. La risposta: verso una forma a scala, perché un sistema fatto a scala si risolve quasi da solo. ### Un sistema già pronto Guarda questo sistema con tre incognite. $$\begin{cases} x + 2y - z = 2 \\ \phantom{x + {}} y + 3z = 5 \\ \phantom{x + y + {}} 2z = 4 \end{cases}$$ Ogni equazione ha un'incognita in meno di quella sopra. L'ultima ne ha una sola. Allora conviene partire **dal basso**. > [!RIPASSO] sostituire > **Sostituire** vuol dire mettere un numero al posto di una lettera. > > Per esempio: sai che $z$ vale 2, e hai l'equazione $y + 3z = 5$. Al posto di $z$ scrivi 2. Viene $y + 3 \cdot 2 = 5$, cioè $y + 6 = 5$. Adesso c'è una lettera sola, e l'equazione si risolve. 1. **Terza equazione.** È $2z = 4$. Dividi per 2 i due lati: $z = 2$. 2. **Seconda equazione.** È $y + 3z = 5$. Sostituisci 2 al posto di $z$: viene $y + 6 = 5$. Togli 6 dai due lati: $y = 5 - 6 = -1$. 3. **Prima equazione.** È $x + 2y - z = 2$. Sostituisci $-1$ al posto di $y$ e 2 al posto di $z$. Il pezzo $2y$ diventa $2 \cdot (-1) = -2$. Quindi viene $x - 2 - 2 = 2$, cioè $x - 4 = 2$. Somma 4 ai due lati: $x = 6$. La soluzione è $(6, -1, 2)$. Controllo nelle tre equazioni: $$6 + 2 \cdot (-1) - 2 = 6 - 2 - 2 = 2 \qquad\quad -1 + 3 \cdot 2 = -1 + 6 = 5 \qquad\quad 2 \cdot 2 = 4$$ Tutte e tre vere. Questo modo di risolvere, dal basso verso l'alto, si chiama **sostituzione all'indietro**. ### La scala nella matrice Ecco la matrice completa dello stesso sistema. I tre numeri nei riquadri sono il primo numero diverso da zero di ogni riga. $$\left(\begin{array}{ccc|c} \boxed{1} & 2 & -1 & 2 \\ 0 & \boxed{1} & 3 & 5 \\ 0 & 0 & \boxed{2} & 4 \end{array}\right)$$ I riquadri scendono verso destra, come i gradini di una scala. Sotto la scala ci sono solo zeri. Gli zeri sono le incognite che mancano: per questo ogni riga ha un'incognita in meno di quella sopra. Servono due parole nuove. La prima è **pivot**. Il pivot di una riga è il suo primo numero diverso da zero, leggendo da sinistra. È una parola francese che vuol dire «perno». | Riga | Pivot | In quale colonna | |---|---|---| | $(0, 0, 3, 5)$ | $3$ | colonna 3 | | $(2, 0, 0, 1)$ | $2$ | colonna 1 | | $(0, -4, 0, 0)$ | $-4$ | colonna 2 | | $(0, 0, 0, 0)$ | non c'è | una riga di soli zeri non ha pivot | Una riga fatta solo di zeri si chiama **riga nulla**. «Nullo» vuol dire «uguale a zero». La seconda parola è **matrice a scalini**. Una matrice è a scalini quando rispetta due regole. 1. Le righe nulle, se ci sono, stanno tutte **in fondo**. 2. Scendendo di una riga, il pivot si sposta **a destra** di almeno una colonna. Le dispense lo scrivono così. > [!DEF] 11.5 · Pivot e matrice a scalini > Sia $C$ una matrice qualsiasi. Per ogni riga $R_i$ di $C$ chiamiamo **pivot** il primo elemento non nullo della riga. Una **matrice a scalini** è una matrice in cui tutte le righe nulle sono in fondo e il pivot di ogni riga non nulla è strettamente più a destra del pivot della riga non nulla precedente. **Come si legge.** - $C$ è una matrice qualsiasi, e $R_i$ è la sua riga numero $i$. - «Elemento non nullo» vuol dire «numero diverso da zero». «Riga non nulla» vuol dire «riga con almeno un numero diverso da zero». - «Strettamente più a destra» vuol dire: almeno una colonna più a destra. La stessa colonna non basta. - «Della riga non nulla precedente» vuol dire: della riga subito sopra. Dalle due regole viene una conseguenza: **sotto ogni pivot ci sono solo zeri**. Se sotto un pivot ci fosse un numero diverso da zero, il pivot di quella riga starebbe nella stessa colonna, oppure più a sinistra. Il pivot può anche spostarsi di più colonne in un colpo solo. Gli scalini possono essere larghi. > [!ESEMPIO] 11.6 · Scalini sì, scalini no > Le dispense mostrano due matrici a scalini: > $$\begin{pmatrix} 1 & 0 & 5 \\ 0 & -1 & -1 \end{pmatrix}, \qquad \begin{pmatrix} 7 & -2 & 9 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{pmatrix}.$$ > - **Prima matrice.** Il pivot della riga 1 è 1, in colonna 1. Il pivot della riga 2 è $-1$, in colonna 2. Il secondo sta più a destra del primo: è a scalini. > - **Seconda matrice.** Il pivot della riga 1 è 7, in colonna 1. Il pivot della riga 2 è 1, in colonna 3. Lo scalino salta la colonna 2, ed è permesso. La riga nulla sta in fondo: è a scalini. > > E due matrici che **non** sono a scalini: > $$\begin{pmatrix} 1 & 2 & -1 \\ 4 & 0 & 6 \\ 0 & 7 & 0 \end{pmatrix}, \qquad \begin{pmatrix} 0 & 8 \\ 0 & 1 \\ 0 & 0 \\ 0 & 0 \end{pmatrix}.$$ > - **Terza matrice.** Il pivot della riga 1 è 1, in colonna 1. Il pivot della riga 2 è 4, anche lui in colonna 1. Non sta più a destra: non è a scalini. > - **Quarta matrice.** Il pivot della riga 1 è 8, in colonna 2. Il pivot della riga 2 è 1, anche lui in colonna 2. Stessa colonna: non è a scalini. Altre quattro matrici, per fissare le due regole. | Matrice | A scalini? | Motivo | |---|---|---| | $\begin{pmatrix} 2 & 1 & 0 & 3 \\ 0 & 0 & 5 & 1 \\ 0 & 0 & 0 & 0 \end{pmatrix}$ | sì | pivot in colonna 1 e in colonna 3, riga nulla in fondo | | $\begin{pmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & 4 & 5 \end{pmatrix}$ | no | la riga nulla non è in fondo | | $\begin{pmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}$ | no | il pivot della riga 3 (colonna 2) sta a sinistra di quello della riga 2 (colonna 3) | | $\begin{pmatrix} 0 & 3 & 1 \\ 0 & 0 & 2 \end{pmatrix}$ | sì | la prima colonna può essere tutta di zeri: i pivot sono in colonna 2 e in colonna 3 | > [!TRAPPOLA] Gli scalini non devono stare sulla diagonale > I pivot non devono per forza stare uno nella riga 1 e colonna 1, il seguente nella riga 2 e colonna 2, e così via. Conta solo che scendendo si spostino verso destra. > > Vale anche il contrario: una matrice può avere i numeri «al posto giusto» sulla diagonale e non essere a scalini. È il caso della terza matrice della tabella. ::: prova Trova il pivot di ogni riga: $(0, 5, 1)$, poi $(2, 0, 0)$, poi $(0, 0, 0)$. Nella prima riga il pivot è 5, in colonna 2. Nella seconda è 2, in colonna 1. La terza è una riga nulla: non ha pivot. ::: ::: prova La matrice $\begin{pmatrix} 3 & 1 & 2 \\ 0 & 0 & 7 \end{pmatrix}$ è a scalini? E la matrice $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$? La prima sì. Il pivot della riga 1 è 3, in colonna 1. Il pivot della riga 2 è 7, in colonna 3, più a destra. La seconda no. Il pivot della riga 1 è in colonna 2. Quello della riga 2 è in colonna 1, cioè più a sinistra. Basta scambiare le due righe e diventa a scalini. ::: ::: prova Risolvi dal basso il sistema $x + y = 7$, $2y = 6$. Seconda equazione: $2y = 6$, quindi $y = 3$. Prima equazione: $x + 3 = 7$, quindi $x = 4$. Controllo: $4 + 3 = 7$ e $2 \cdot 3 = 6$. ::: > [!RICORDA] > - Il **pivot** di una riga è il suo primo numero diverso da zero, leggendo da sinistra. > - Una matrice è **a scalini** se le righe nulle stanno in fondo e ogni pivot sta più a destra di quello della riga sopra. > - Sotto ogni pivot ci sono solo zeri. > - Un sistema a scalini si risolve dal basso: **sostituzione all'indietro**. ## Arrivare agli scalini: l'algoritmo di Gauss (pp. 52–53) Hai le mosse, e hai la forma a cui arrivare. Manca la strada: quali mosse fare, e in quale ordine. Un **algoritmo** è una ricetta: un elenco di passi precisi che, eseguiti in ordine, portano sempre al risultato. L'**algoritmo di Gauss** è la ricetta che porta a scalini una matrice qualsiasi, usando solo le tre mosse. ### L'idea: una colonna alla volta Si lavora da sinistra verso destra. 1. Guardi la prima colonna. In alto vuoi un numero diverso da zero: sarà il primo pivot. 2. Sotto il pivot vuoi solo zeri. Li ottieni con la terza mossa, una riga alla volta. 3. Ora la prima riga e la prima colonna sono a posto. Le copri con un dito e ricominci sul pezzo di matrice che resta. Vediamo il passo 2 su una matrice piccola. > [!ESEMPIO] Uno zero sotto il pivot > $$\left(\begin{array}{cc|c} 2 & 1 & 4 \\ 6 & 5 & 8 \end{array}\right)$$ > In alto a sinistra c'è 2, diverso da zero: è il pivot. Sotto c'è 6, e vogliamo farlo diventare 0. > > Quante volte va tolta la riga 1? Tante volte quante il pivot sta nel numero da eliminare: $6 : 2 = 3$. Infatti $6 - 3 \cdot 2 = 0$. La mossa è $R_2 \to R_2 - 3R_1$. > > | | colonna 1 | colonna 2 | termine noto | > |---|---|---|---| > | riga 2 | $6$ | $5$ | $8$ | > | 3 volte la riga 1 | $3 \cdot 2 = 6$ | $3 \cdot 1 = 3$ | $3 \cdot 4 = 12$ | > | differenza | $6 - 6 = 0$ | $5 - 3 = 2$ | $8 - 12 = -4$ | > > $$\left(\begin{array}{cc|c} 2 & 1 & 4 \\ 0 & 2 & -4 \end{array}\right)$$ > La matrice è a scalini. I pivot sono il 2 della riga 1, in colonna 1, e il 2 della riga 2, in colonna 2. > > Ora il sistema si risolve dal basso. La riga 2 dice $2y = -4$, quindi $y = -2$. La riga 1 dice $2x + y = 4$. Sostituisci: $2x - 2 = 4$, quindi $2x = 6$ e $x = 3$. > > Controllo nelle due equazioni di partenza: $2 \cdot 3 + (-2) = 4$ e $6 \cdot 3 + 5 \cdot (-2) = 18 - 10 = 8$. Il numero di volte si trova sempre nello stesso modo: $$\text{quante volte togliere la riga del pivot} = \frac{\text{numero da eliminare}}{\text{pivot}}$$ Se il risultato è negativo, togliere un numero negativo di volte vuol dire sommare. Lo vedrai tra poco nell'Esempio 11.7. ### Due imprevisti Nel passo 1 possono capitare due imprevisti. **In alto c'è uno zero.** Uno zero non può fare da pivot: con lui non si elimina niente. Guarda più in basso nella stessa colonna. Se trovi un numero diverso da zero, scambia le due righe: è la prima mossa. **Tutta la colonna è fatta di zeri.** Allora in quella colonna non c'è niente da fare: resta senza pivot. Passi alla colonna dopo, restando sulla stessa riga. ### La ricetta completa > [!METODO] L'algoritmo di Gauss, a parole > Parti dalla prima riga e dalla prima colonna. > > 1. **Cerca il pivot.** Guarda la colonna, dalla riga in cui sei in giù. Se il numero in alto è zero, scambia la riga con una più in basso che in quella colonna ha un numero diverso da zero. Se sono tutti zeri, passa alla colonna dopo e ripeti questo passo. > 2. **Metti gli zeri sotto.** Guarda ogni riga più in basso. Se sotto il pivot ha un numero diverso da zero, toglile la riga del pivot tante volte quanto fa «numero da eliminare diviso pivot». > 3. **Scendi.** Passa alla riga dopo e alla colonna dopo. Ricomincia dal passo 1. > 4. **Fermati** quando sono finite le righe oppure le colonne. La matrice è a scalini. > [!APPROFONDIMENTO] l'algoritmo con le parole delle dispense (p. 52) > Le dispense descrivono gli stessi passi con i simboli. > > 1. Se $C_{11} = 0$ e $C_{i1} \neq 0$ per qualche $i$, scambiamo la prima riga con una riga in modo da ottenere $C_{11} \neq 0$. Se invece $C_{i1} = 0$ per ogni $i$, continuiamo dal punto (1) lavorando sulla sottomatrice ottenuta togliendo soltanto la prima colonna. > 2. Per ogni riga $R_i$ con $i \ge 2$ e con $C_{i1} \neq 0$ sostituiamo $R_i$ con la riga > $$R_i - \frac{C_{i1}}{C_{11}} R_1.$$ > In questo modo la nuova riga $R_i$ avrà $C_{i1} = 0$. > 3. Abbiamo ottenuto $C_{i1} = 0$ per ogni $i \ge 2$. Continuiamo dal punto (1) lavorando sulla sottomatrice ottenuta togliendo la prima riga e la prima colonna. > > **Come si legge.** > > - $C_{ij}$ è il numero nella riga $i$ e nella colonna $j$ della matrice $C$. Quindi $C_{11}$ è il numero in alto a sinistra. $C_{i1}$ è il numero della riga $i$ nella prima colonna. > - $i \ge 2$ si legge «$i$ maggiore o uguale a 2». Sono le righe dalla seconda in giù. > - La frazione del passo 2 è «numero da eliminare diviso pivot». > - Una **sottomatrice** è un pezzo della matrice: quello che resta dopo aver coperto alcune righe o alcune colonne. > - Nel passo 2 la prima riga resta ferma e serve a cambiare tutte le altre. Per questo le righe sotto si possono sistemare tutte nello stesso passaggio. Adesso l'esempio delle dispense, con tutti e due gli imprevisti. > [!ESEMPIO] 11.7 · Gauss passo per passo > Le dispense applicano l'algoritmo a questa matrice, con 3 righe e 4 colonne: > $$C = \begin{pmatrix} 0 & 1 & 1 & 0 \\ 1 & 1 & 2 & -3 \\ -1 & 2 & 1 & 1 \end{pmatrix}.$$ > **Primo passo: serve uno scambio.** In alto a sinistra c'è 0, che non può fare da pivot. Nella riga 2 la prima colonna ha un 1. Scambiamo la riga 1 con la riga 2: mossa $R_1 \leftrightarrow R_2$. > $$C = \begin{pmatrix} 1 & 1 & 2 & -3 \\ 0 & 1 & 1 & 0 \\ -1 & 2 & 1 & 1 \end{pmatrix}.$$ > **Secondo passo: zeri sotto il primo pivot.** Il pivot è l'1 in alto a sinistra. Nella riga 2, sotto di lui, c'è già 0: niente da fare. Nella riga 3 c'è $-1$. > > Quante volte togliere la riga 1? Numero da eliminare diviso pivot: $-1 : 1 = -1$. Togliere $-1$ volte vuol dire sommare una volta. La mossa è $R_3 \to R_3 + R_1$. > > | | colonna 1 | colonna 2 | colonna 3 | colonna 4 | > |---|---|---|---|---| > | riga 3 | $-1$ | $2$ | $1$ | $1$ | > | riga 1 | $1$ | $1$ | $2$ | $-3$ | > | somma | $-1 + 1 = 0$ | $2 + 1 = 3$ | $1 + 2 = 3$ | $1 - 3 = -2$ | > > $$C = \begin{pmatrix} 1 & 1 & 2 & -3 \\ 0 & 1 & 1 & 0 \\ 0 & 3 & 3 & -2 \end{pmatrix}.$$ > **Terzo passo: si scende.** La prima riga e la prima colonna sono a posto. Coprile e guarda il resto. Ora sei nella riga 2 e nella colonna 2: lì c'è 1, diverso da zero. È il secondo pivot. Sotto di lui c'è 3. > > Quante volte togliere la riga 2? $3 : 1 = 3$. La mossa è $R_3 \to R_3 - 3R_2$. > > | | colonna 1 | colonna 2 | colonna 3 | colonna 4 | > |---|---|---|---|---| > | riga 3 | $0$ | $3$ | $3$ | $-2$ | > | 3 volte la riga 2 | $3 \cdot 0 = 0$ | $3 \cdot 1 = 3$ | $3 \cdot 1 = 3$ | $3 \cdot 0 = 0$ | > | differenza | $0 - 0 = 0$ | $3 - 3 = 0$ | $3 - 3 = 0$ | $-2 - 0 = -2$ | > > $$C = \begin{pmatrix} 1 & 1 & 2 & -3 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & -2 \end{pmatrix}.$$ > **Quarto passo: l'ultima riga.** Ora sei nella riga 3 e nella colonna 3. Lì c'è 0, e sotto non ci sono altre righe. La colonna 3 resta senza pivot. Passi alla colonna 4: lì c'è $-2$, che è il terzo pivot. Sotto non c'è niente da sistemare. > > La matrice è a scalini e l'algoritmo termina. I pivot sono 1, 1 e $-2$. Stanno nelle colonne 1, 2 e 4. Nello strumento qui sotto c'è la matrice dell'Esempio 11.7. Premi «Calcola»: vedi le stesse mosse delle dispense, una per riga, con le righe cambiate in evidenza. Lo strumento scrive anche «rk»: è il numero dei pivot, che nella lezione L12 si chiamerà rango. Poi cambia i numeri e riprova con una matrice tua. ```widget gauss titolo: Prova l'algoritmo sulla matrice dell'Esempio 11.7, poi cambia i numeri matrice: 0 1 1 0; 1 1 2 -3; -1 2 1 1 modo: scala modi: scala ridotta ``` Una colonna può restare senza pivot anche a metà del lavoro. Prova a scrivere nello strumento la matrice `1 1 2; 2 2 5; 3 3 1`. Dopo le prime due mosse la seconda colonna, sotto la prima riga, è tutta di zeri. L'algoritmo la salta e cerca il pivot nella terza colonna: è il secondo imprevisto. Alla fine i pivot sono due, nelle colonne 1 e 3, e in fondo c'è una riga nulla. > [!OLTRE] come fare meno conti a mano > Il libro di Martelli (§3.1.3) osserva che non serve seguire l'algoritmo alla lettera. Va bene **qualsiasi** sequenza di mosse di Gauss che arrivi a una matrice a scalini. Senza calcolatrice aiutano tre trucchi. > > 1. **Un 1 in cima.** Se nella prima colonna c'è un 1, oppure un $-1$, porta quella riga in alto con uno scambio. Dividere per 1 non crea frazioni. > 2. **Evitare le frazioni.** Il pivot è 2 e sotto c'è 3. La ricetta direbbe di togliere la riga 1 per $\frac 32$ volte. Puoi invece moltiplicare prima la riga 2 per 2, e poi togliere 3 volte la riga 1. In una scrittura sola: $R_2 \to 2R_2 - 3R_1$. Nella prima colonna viene $2 \cdot 3 - 3 \cdot 2 = 0$, senza frazioni. Sono una mossa (II) e una mossa (III), una dopo l'altra. L'esercizio 6 usa questo trucco. > 3. **Rimpicciolire.** Se tutti i numeri di una riga si dividono per lo stesso intero, dividi subito la riga: è una mossa (II). La riga $(2, 4 \mid 6)$ diventa $(1, 2 \mid 3)$, e i conti dopo sono più piccoli. ::: prova Porta a scalini la matrice $\left(\begin{array}{cc|c} 1 & 2 & 3 \\ 2 & 5 & 8 \end{array}\right)$ e risolvi il sistema. Il pivot è l'1 in alto a sinistra. Sotto c'è 2, quindi la mossa è $R_2 \to R_2 - 2R_1$. La nuova riga 2 è $(2 - 2,\ 5 - 4 \mid 8 - 6)$, cioè $(0, 1 \mid 2)$. Dal basso: la riga 2 dice $y = 2$. La riga 1 dice $x + 2y = 3$, cioè $x + 4 = 3$, quindi $x = -1$. Controllo nelle equazioni di partenza: $-1 + 2 \cdot 2 = 3$ e $2 \cdot (-1) + 5 \cdot 2 = 8$. ::: ::: prova Una matrice comincia così: $\begin{pmatrix} 0 & 2 \\ 3 & 1 \end{pmatrix}$. Qual è la prima mossa dell'algoritmo? Lo scambio $R_1 \leftrightarrow R_2$. In alto a sinistra c'è 0, che non può fare da pivot, e sotto c'è 3. Dopo lo scambio la matrice è $\begin{pmatrix} 3 & 1 \\ 0 & 2 \end{pmatrix}$, che è già a scalini. ::: > [!RICORDA] > - L'**algoritmo di Gauss** porta a scalini qualsiasi matrice: una colonna alla volta, da sinistra. > - In ogni colonna: trova il pivot, se serve con uno scambio. Poi metti zeri sotto. > - Quante volte togliere la riga del pivot: numero da eliminare diviso pivot. > - Una colonna tutta di zeri si salta: resta senza pivot. ## Pulire anche sopra i pivot: Gauss–Jordan (pp. 53–54) Una matrice a scalini si risolve già, dal basso. Ma resta ancora un po' di lavoro: le sostituzioni. Con qualche mossa in più si arriva a una forma in cui non resta nessun conto, e la soluzione si legge. L'hai già visto con l'indovinello. La matrice finale era questa: $$\left(\begin{array}{cc|c} 1 & 0 & 3 \\ 0 & 1 & 2 \end{array}\right)$$ La riga 1 dice che $x$ vale 3. La riga 2 dice che $y$ vale 2. Si legge così bene per due motivi. - Ogni pivot vale **1**. Così l'incognita compare da sola, senza un numero davanti. - Sopra e sotto ogni pivot ci sono solo **zeri**. Così ogni incognita con il pivot compare in una riga sola. Per arrivare a questa forma da una matrice a scalini servono due lavori. - **Zeri sopra i pivot.** Si ottengono con la terza mossa, come gli zeri sotto. Stavolta la riga del pivot si toglie dalle righe che stanno **sopra**. - **Pivot uguali a 1.** Si ottengono con la seconda mossa: dividi ogni riga per il suo pivot. Le dispense lo mostrano continuando l'Esempio 11.7. Nei conti compare una frazione. > [!RIPASSO] una frazione per un numero > Dividere un numero per un altro dà una frazione: $3 : 2 = \frac 32$. Se i due numeri sono tutti e due negativi il risultato è positivo: $(-3) : (-2) = \frac 32$. > > Per moltiplicare una frazione per un numero intero moltiplichi il numero sopra: $\frac 32 \cdot 4 = \frac{12}2 = 6$. Con un numero negativo il risultato è negativo: $\frac 32 \cdot (-2) = \frac{-6}2 = -3$. > [!ESEMPIO] 11.8 · Zeri sopra i pivot > Ripartiamo dalla matrice a scalini dell'Esempio 11.7. I pivot sono nei riquadri. > $$C = \begin{pmatrix} \boxed{1} & 1 & 2 & -3 \\ 0 & \boxed{1} & 1 & 0 \\ 0 & 0 & 0 & \boxed{-2} \end{pmatrix}.$$ > **Sopra il secondo pivot.** Il secondo pivot è l'1 della riga 2, in colonna 2. Sopra di lui, nella riga 1, c'è 1. Per farlo diventare 0 togli la riga 2 una volta: mossa $R_1 \to R_1 - R_2$. > > | | colonna 1 | colonna 2 | colonna 3 | colonna 4 | > |---|---|---|---|---| > | riga 1 | $1$ | $1$ | $2$ | $-3$ | > | riga 2 | $0$ | $1$ | $1$ | $0$ | > | differenza | $1 - 0 = 1$ | $1 - 1 = 0$ | $2 - 1 = 1$ | $-3 - 0 = -3$ | > > $$C = \begin{pmatrix} 1 & 0 & 1 & -3 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & -2 \end{pmatrix}.$$ > **Sopra il terzo pivot.** Il terzo pivot è il $-2$ della riga 3, in colonna 4. Sopra di lui ci sono 0, nella riga 2, e $-3$, nella riga 1. Lo 0 va già bene. Resta il $-3$. > > Quante volte togliere la riga 3? Numero da eliminare diviso pivot: $(-3) : (-2) = \frac 32$. La mossa è $R_1 \to R_1 - \frac 32 R_3$. > > La riga 3 ha un solo numero diverso da zero, l'ultimo. Quindi nella riga 1 cambia solo l'ultimo numero. Prima calcola $\frac 32 \cdot (-2) = -3$. Poi sottrai: $-3 - (-3) = -3 + 3 = 0$. > $$C = \begin{pmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & -2 \end{pmatrix}.$$ > Ora sopra ogni pivot ci sono solo zeri. > [!ESEMPIO] 11.9 · Pivot uguali a 1 > Nella matrice dell'Esempio 11.8 i primi due pivot valgono già 1. Il terzo vale $-2$. Dividiamo la riga 3 per $-2$, cioè la moltiplichiamo per $-\frac 12$. La mossa è $R_3 \to -\frac 12 R_3$. > > Gli zeri della riga 3 restano zeri. L'ultimo numero diventa $-2 : (-2) = 1$. > $$C = \begin{pmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}.$$ Le dispense danno un nome a tutto il procedimento. > [!METODO] L'algoritmo di Gauss–Jordan (p. 54) > L'algoritmo appena descritto si chiama **algoritmo di Gauss–Jordan** e consiste in due fasi: > 1. trasformare la matrice a scalini tramite l'algoritmo di Gauss; > 2. ottenere solo zeri sopra i pivot con mosse (III) e tutti i pivot uguali a 1 con mosse (II). La matrice che esce da Gauss–Jordan si chiama **forma a scalini ridotta**. Si riconosce dalle colonne dei pivot: contengono un 1, al posto del pivot, e zeri in tutte le altre caselle. Ecco un secondo esempio delle dispense, dall'inizio alla fine. > [!ESEMPIO] 11.10 · Gauss–Jordan con le mosse sopra le frecce > La mossa è scritta sopra ogni freccia. > $$\begin{pmatrix} 1 & -1 & 3 \\ 0 & 2 & 2 \\ 1 & 0 & 4 \end{pmatrix} \xrightarrow{R_3 \to R_3 - R_1} \begin{pmatrix} 1 & -1 & 3 \\ 0 & 2 & 2 \\ 0 & 1 & 1 \end{pmatrix} \xrightarrow{R_3 \to R_3 - \frac 12 R_2} \begin{pmatrix} 1 & -1 & 3 \\ 0 & 2 & 2 \\ 0 & 0 & 0 \end{pmatrix}$$ > $$\xrightarrow{R_1 \to R_1 + \frac 12 R_2} \begin{pmatrix} 1 & 0 & 4 \\ 0 & 2 & 2 \\ 0 & 0 & 0 \end{pmatrix} \xrightarrow{R_2 \to \frac 12 R_2} \begin{pmatrix} 1 & 0 & 4 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{pmatrix}$$ > **Fase 1: a scalini.** > > 1. **Prima freccia.** Il primo pivot è l'1 in alto a sinistra. Nella riga 2 sotto di lui c'è già 0. Nella riga 3 c'è 1: togli la riga 1 una volta. Primo numero: $1 - 1 = 0$. Secondo numero: $0 - (-1) = 0 + 1 = 1$. Terzo numero: $4 - 3 = 1$. La riga 3 diventa $(0, 1, 1)$. > 2. **Seconda freccia.** Il secondo pivot è il 2 della riga 2. Sotto c'è 1. Quante volte togliere la riga 2? $1 : 2 = \frac 12$. Metà della riga 2 è $(0, 1, 1)$. Togliendola dalla riga 3 viene $(0 - 0,\ 1 - 1,\ 1 - 1)$, cioè $(0, 0, 0)$. La riga 3 è diventata nulla, e la matrice è a scalini. I pivot sono 1 e 2, nelle colonne 1 e 2. > > **Fase 2: zeri sopra i pivot e pivot uguali a 1.** > > 3. **Terza freccia.** Sopra il secondo pivot c'è $-1$. Numero da eliminare diviso pivot: $-1 : 2 = -\frac 12$. Togliere $-\frac 12$ volte vuol dire sommare metà della riga 2, che è $(0, 1, 1)$. Primo numero: $1 + 0 = 1$. Secondo numero: $-1 + 1 = 0$. Terzo numero: $3 + 1 = 4$. La riga 1 diventa $(1, 0, 4)$. > 4. **Quarta freccia.** Il secondo pivot vale 2: dividi la riga 2 per 2. Viene $(0, 1, 1)$. > > L'ultima matrice è la forma a scalini ridotta. > [!OLTRE] la forma a scalini non è unica, quella ridotta sì > Con mosse diverse si arriva a matrici a scalini diverse. Nell'Esempio 11.7 puoi moltiplicare alla fine la riga 2 per 5: ottieni un'altra matrice a scalini, valida quanto la prima. > > La forma ridotta di Gauss–Jordan invece è **sempre la stessa**, qualunque strada tu segua. È un teorema che nel corso non si dimostra. > > C'è poi una cosa che non cambia mai, neanche tra forme a scalini diverse: **quanti** sono i pivot e in quali **colonne** stanno. Nella lezione L12 il numero dei pivot prenderà un nome: rango. ::: prova Porta alla forma ridotta la matrice $\left(\begin{array}{cc|c} 1 & 2 & 5 \\ 0 & 1 & 2 \end{array}\right)$ e leggi la soluzione. I pivot valgono già 1. Sopra il secondo pivot c'è 2, quindi la mossa è $R_1 \to R_1 - 2R_2$. La nuova riga 1 è $(1 - 0,\ 2 - 2 \mid 5 - 4)$, cioè $(1, 0 \mid 1)$. La forma ridotta è $\left(\begin{array}{cc|c} 1 & 0 & 1 \\ 0 & 1 & 2 \end{array}\right)$. Si legge $x = 1$ e $y = 2$. ::: ::: prova Quali mosse portano la matrice $\left(\begin{array}{cc|c} 2 & 0 & 6 \\ 0 & 3 & 9 \end{array}\right)$ alla forma ridotta? Sopra e sotto i pivot ci sono già zeri. Basta dividere ogni riga per il suo pivot. La riga 1 divisa per 2 diventa $(1, 0 \mid 3)$. La riga 2 divisa per 3 diventa $(0, 1 \mid 3)$. Quindi $x = 3$ e $y = 3$. ::: > [!RICORDA] > - **Gauss–Jordan** è Gauss con due ritocchi: zeri anche **sopra** i pivot, e pivot uguali a **1**. > - Il risultato è la **forma a scalini ridotta**: nella colonna di ogni pivot c'è un 1, e per il resto zeri. > - Per contare le soluzioni basta la forma a scalini. Per scriverle conviene la forma ridotta. ## Leggere la risposta: nessuna, una, infinite (pp. 54–55) Adesso hai tutti i pezzi. Scrivi la matrice completa, la porti nella forma ridotta con Gauss–Jordan, e poi guardi **dove sono i pivot**. La posizione dei pivot dice in quale dei tre finali sei. Vediamo i tre finali uno alla volta, ognuno su una matrice che hai già visto ridurre. ### Primo finale: un pivot dopo la barra > [!ESEMPIO] La matrice dell'Esempio 11.7 come sistema > Rileggi la matrice dell'Esempio 11.7 come matrice completa: tre colonne per le incognite $x$, $y$, $z$ e l'ultima per i termini noti. > $$\begin{cases} y + z = 0 \\ x + y + 2z = -3 \\ -x + 2y + z = 1 \end{cases} \qquad \left(\begin{array}{ccc|c} 0 & 1 & 1 & 0 \\ 1 & 1 & 2 & -3 \\ -1 & 2 & 1 & 1 \end{array}\right)$$ > Gli Esempi 11.7, 11.8 e 11.9 l'hanno portata alla forma ridotta: > $$\left(\begin{array}{ccc|c} 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right)$$ > Guarda l'ultima riga. Tradotta in equazione dice $0x + 0y + 0z = 1$. A sinistra viene 0, qualunque numero tu metta al posto delle tre incognite. Quindi la riga dice $0 = 1$, che è falsa sempre. > > Un indizio impossibile rende impossibile tutto l'indovinello: il sistema **non ha soluzioni**. Il segnale è questo: un **pivot nell'ultima colonna**, quella dopo la barra. Vuol dire che una riga ha tutti zeri prima della barra e un numero diverso da zero dopo. Per accorgersene non serve arrivare alla forma ridotta. Già la forma a scalini dell'Esempio 11.7 aveva la riga $(0, 0, 0 \mid -2)$, cioè l'equazione $0 = -2$. Appena compare una riga così ci si può fermare. Quando non ci sono soluzioni l'insieme $S$ è vuoto. Si scrive $S = \emptyset$. Il simbolo $\emptyset$ è l'**insieme vuoto**, cioè l'insieme senza elementi (lezione L01). Attenzione a due righe che si assomigliano e dicono cose opposte. | Riga | Equazione | Che cosa dice | |---|---|---| | $(0, 0, 0 \mid 0)$ | $0 = 0$ | è sempre vera: non toglie soluzioni e si ignora | | $(0, 0, 0 \mid 5)$ | $0 = 5$ | è sempre falsa: il sistema non ha soluzioni | ### Secondo finale: un pivot per ogni incognita > [!ESEMPIO] Una sola soluzione: la matrice dell'Esempio 11.10 > Rileggi la matrice dell'Esempio 11.10 come matrice completa. Le colonne sono 3: due per le incognite $x$ e $y$, una per i termini noti. Il sistema ha 3 equazioni e 2 incognite. > $$\begin{cases} x - y = 3 \\ 2y = 2 \\ x = 4 \end{cases} \qquad \left(\begin{array}{cc|c} 1 & -1 & 3 \\ 0 & 2 & 2 \\ 1 & 0 & 4 \end{array}\right)$$ > L'Esempio 11.10 l'ha portata alla forma ridotta: > $$\left(\begin{array}{cc|c} 1 & 0 & 4 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{array}\right)$$ > - Dopo la barra non c'è nessun pivot: nessuna riga impossibile. > - La riga 1 dice $x = 4$. La riga 2 dice $y = 1$. > - La riga 3 dice $0 = 0$: è vera sempre e si ignora. > > La soluzione è **una sola**: $(4, 1)$. Controllo nelle equazioni di partenza: $4 - 1 = 3$, poi $2 \cdot 1 = 2$, poi $x = 4$. Tutte vere. > > Tre indizi per due numeri non sono troppi, se vanno d'accordo. Qui il terzo indizio non dice niente che non si sapesse già dai primi due. Il segnale è questo: nessun pivot dopo la barra, e **ogni colonna prima della barra ha il suo pivot**. Ogni incognita è fissata da una riga, e la soluzione si legge nell'ultima colonna. ### Terzo finale: un'incognita resta senza pivot > [!ESEMPIO] Infinite soluzioni con un parametro > $$\begin{cases} x + 2y + z = 1 \\ 2x + 4y + 3z = 3 \\ 3x + 6y + 5z = 5 \end{cases} \qquad \left(\begin{array}{ccc|c} 1 & 2 & 1 & 1 \\ 2 & 4 & 3 & 3 \\ 3 & 6 & 5 & 5 \end{array}\right)$$ > **Gauss, prima colonna.** Il pivot è l'1 in alto a sinistra. Sotto ci sono 2 e 3. Le mosse sono $R_2 \to R_2 - 2R_1$ e $R_3 \to R_3 - 3R_1$. La riga 1 resta ferma. > > | | colonna 1 | colonna 2 | colonna 3 | termine noto | > |---|---|---|---|---| > | riga 2 meno 2 volte la riga 1 | $2 - 2 = 0$ | $4 - 4 = 0$ | $3 - 2 = 1$ | $3 - 2 = 1$ | > | riga 3 meno 3 volte la riga 1 | $3 - 3 = 0$ | $6 - 6 = 0$ | $5 - 3 = 2$ | $5 - 3 = 2$ | > > $$\left(\begin{array}{ccc|c} 1 & 2 & 1 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 2 & 2 \end{array}\right)$$ > **Gauss, il resto.** Sotto la prima riga la colonna 2 è tutta di zeri: niente pivot, si salta. Nella colonna 3 il pivot è l'1 della riga 2. Sotto c'è 2, quindi la mossa è $R_3 \to R_3 - 2R_2$. Gli ultimi due numeri della riga 3 diventano $2 - 2 = 0$ e $2 - 2 = 0$. > $$\left(\begin{array}{ccc|c} 1 & 2 & 1 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \end{array}\right)$$ > **Gauss–Jordan.** Sopra il secondo pivot c'è 1, quindi la mossa è $R_1 \to R_1 - R_2$. La riga 1 diventa $(1 - 0,\ 2 - 0,\ 1 - 1 \mid 1 - 1)$, cioè $(1, 2, 0 \mid 0)$. > $$\left(\begin{array}{ccc|c} 1 & 2 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \end{array}\right)$$ > **Lettura.** I pivot sono nelle colonne 1 e 3. Dopo la barra non ce ne sono: il sistema ha soluzioni. Le righe dicono: > > - riga 1: $x + 2y = 0$; > - riga 2: $z = 1$; > - riga 3: $0 = 0$, che si ignora. > > La colonna 2, quella di $y$, **non ha pivot**. Nessuna riga fissa il valore di $y$. Allora $y$ è libera: quanto vale lo scegli tu. Per ricordarlo le si dà un nome nuovo, la lettera $t$, e si scrive $y = t$. > > Dalla riga 1 viene $x + 2t = 0$. Togli $2t$ dai due lati: $x = -2t$. Tutte le soluzioni sono > $$x = -2t, \qquad y = t, \qquad z = 1.$$ > Ogni valore di $t$ dà una soluzione diversa. > > | Scelgo | $x = -2t$ | $y = t$ | $z = 1$ | Soluzione | > |---|---|---|---|---| > | $t = 0$ | $0$ | $0$ | $1$ | $(0, 0, 1)$ | > | $t = 1$ | $-2$ | $1$ | $1$ | $(-2, 1, 1)$ | > | $t = 5$ | $-10$ | $5$ | $1$ | $(-10, 5, 1)$ | > > Controllo di $(-2, 1, 1)$ nelle tre equazioni di partenza: $-2 + 2 + 1 = 1$, poi $-4 + 4 + 3 = 3$, poi $-6 + 6 + 5 = 5$. Tutte vere. > > I valori possibili di $t$ sono infiniti, quindi le soluzioni sono **infinite**. Tre parole nuove. - La lettera $t$ si chiama **parametro**: è un numero che scegli tu. Le dispense scrivono $t \in \R$. Si legge «$t$ appartiene a $\R$» e vuol dire: $t$ può essere qualsiasi numero reale. - Un'incognita senza pivot, che riceve un parametro, si chiama **variabile libera**. - Un'incognita con il pivot si chiama **variabile dipendente**: il suo valore dipende dai parametri. Il segnale del terzo finale è questo: nessun pivot dopo la barra, e **almeno una colonna prima della barra senza pivot**. ### Quando le incognite libere sono più di una Le incognite libere possono essere più di una. Allora ognuna riceve il suo parametro: $t_1$, $t_2$, $t_3$. Il numerino in basso serve solo a distinguerli. > [!ESEMPIO] Sei incognite, tre parametri > Una matrice completa già in forma ridotta, con 6 incognite. Si chiamano $x_1$, $x_2$ e così via fino a $x_6$. > $$\left(\begin{array}{cccccc|c} 0 & 1 & 2 & 0 & 0 & 3 & 4 \\ 0 & 0 & 0 & 1 & 0 & 5 & 6 \\ 0 & 0 & 0 & 0 & 1 & 7 & 8 \end{array}\right)$$ > **Dove sono i pivot.** Nella riga 1 il pivot è in colonna 2. Nella riga 2 è in colonna 4. Nella riga 3 è in colonna 5. Dopo la barra non ce ne sono: il sistema ha soluzioni. > > **Chi è libero.** Le colonne senza pivot sono la 1, la 3 e la 6. Quindi le incognite libere sono $x_1$, $x_3$ e $x_6$. A ognuna diamo un parametro: > $$x_1 = t_1, \qquad x_3 = t_2, \qquad x_6 = t_3.$$ > **Le righe come equazioni.** Ogni numero va moltiplicato per l'incognita della sua colonna. Gli zeri non si scrivono. > $$\begin{cases} x_2 + 2x_3 + 3x_6 = 4 \\ x_4 + 5x_6 = 6 \\ x_5 + 7x_6 = 8 \end{cases}$$ > **Dentro i parametri.** Al posto delle incognite libere scrivi i loro parametri. > $$\begin{cases} x_2 + 2t_2 + 3t_3 = 4 \\ x_4 + 5t_3 = 6 \\ x_5 + 7t_3 = 8 \end{cases}$$ > **Parametri a destra.** In ogni riga lasci a sinistra solo l'incognita con il pivot. Tutto il resto passa a destra e cambia segno. > $$\begin{cases} x_2 = 4 - 2t_2 - 3t_3 \\ x_4 = 6 - 5t_3 \\ x_5 = 8 - 7t_3 \end{cases}$$ > **Tutte le incognite in ordine.** Aggiungi le righe delle incognite libere. > $$\begin{cases} x_1 = t_1 \\ x_2 = 4 - 2t_2 - 3t_3 \\ x_3 = t_2 \\ x_4 = 6 - 5t_3 \\ x_5 = 8 - 7t_3 \\ x_6 = t_3 \end{cases}$$ > Il sistema è risolto. I tre parametri sono liberi: ogni scelta dà una soluzione. Con tutti e tre uguali a 0 viene $(0, 4, 0, 6, 8, 0)$. Con tutti e tre uguali a 1 viene $(1, -1, 1, 1, 1, 1)$. > > Nota la prima incognita. La sua colonna è tutta di zeri: $x_1$ non compare in nessuna equazione. È libera anche lei, e riceve anche lei un parametro. Quanti sono i parametri? Uno per ogni colonna senza pivot. Nell'esempio le incognite sono 6 e i pivot sono 3: i parametri sono $6 - 3 = 3$. Vale sempre: $$\text{numero di parametri} = \text{numero di incognite} - \text{numero di pivot}$$ > [!APPROFONDIMENTO] lo stesso conto con le lettere, come nelle dispense (pp. 54–55) > Le dispense fanno lo stesso esempio senza numeri. Se l'ultima colonna contiene un pivot, una riga è l'equazione $0 = 1$ e quindi $S = \emptyset$. Se non lo contiene, la matrice ridotta è di questo tipo: > $$\left(\begin{array}{cccccc|c} 0 & 1 & a_{13} & 0 & 0 & a_{16} & b_1 \\ 0 & 0 & 0 & 1 & 0 & a_{26} & b_2 \\ 0 & 0 & 0 & 0 & 1 & a_{36} & b_3 \end{array}\right)$$ > Si dà un parametro a ogni incognita la cui colonna non ha pivot: $x_1 = t_1$, $x_3 = t_2$, $x_6 = t_3$. Poi si portano i parametri a destra dell'uguale: > $$\begin{cases} x_1 = t_1 \\ x_2 = b_1 - a_{13}t_2 - a_{16}t_3 \\ x_3 = t_2 \\ x_4 = b_2 - a_{26}t_3 \\ x_5 = b_3 - a_{36}t_3 \\ x_6 = t_3 \end{cases}$$ > I parametri sono liberi: possono assumere qualsiasi valore in $\K$. > > **Come si legge.** È l'esempio con sei incognite, con le lettere al posto dei numeri. Per esempio al posto di 2 e 3 ci sono $a_{13}$ e $a_{16}$, e al posto di 4 c'è $b_1$. Le lettere dicono che la ricetta vale con qualsiasi numero. ### La ricetta per leggere le soluzioni > [!METODO] Leggere le soluzioni dalla forma ridotta > 1. **Guarda l'ultima colonna.** Se c'è un pivot dopo la barra, il sistema non ha soluzioni. Hai finito. > 2. **Segna le colonne senza pivot** prima della barra. Se non ce ne sono, la soluzione è una sola: la leggi nell'ultima colonna. Hai finito. > 3. **Dai un parametro** a ogni incognita senza pivot. > 4. **Riscrivi ogni riga come equazione** e porta i parametri a destra, cambiando il segno. > 5. **Scrivi tutte le incognite in ordine**, comprese quelle libere. > 6. **Controlla.** Metti 0 al posto di tutti i parametri e prova la soluzione nelle equazioni di partenza. Un altro esempio con più parametri, preso dal libro. > [!ESEMPIO] Cinque incognite, tre parametri (dal libro di Martelli, Esempio 3.1.2) > Il sistema è già in forma ridotta: > $$\begin{cases} x_1 + 3x_2 + 4x_5 = 1 \\ x_3 - 2x_4 = 3 \end{cases} \qquad \left(\begin{array}{ccccc|c} 1 & 3 & 0 & 0 & 4 & 1 \\ 0 & 0 & 1 & -2 & 0 & 3 \end{array}\right)$$ > I pivot sono nelle colonne 1 e 3. Le colonne 2, 4 e 5 sono senza pivot: le incognite libere sono $x_2$, $x_4$ e $x_5$. I parametri sono $5 - 2 = 3$. > > Diamo i parametri: $x_2 = t_1$, $x_4 = t_2$, $x_5 = t_3$. Poi li portiamo a destra. Attenzione ai segni: nella riga 1 i pezzi $3t_1$ e $4t_3$ diventano negativi, nella riga 2 il pezzo $-2t_2$ diventa positivo. > $$\begin{cases} x_1 = 1 - 3t_1 - 4t_3 \\ x_2 = t_1 \\ x_3 = 3 + 2t_2 \\ x_4 = t_2 \\ x_5 = t_3 \end{cases}$$ > Controllo con tutti i parametri uguali a 0. La soluzione è $(1, 0, 3, 0, 0)$. Prima equazione: $1 + 0 + 0 = 1$. Seconda equazione: $3 - 0 = 3$. Tutte e due vere. Nello strumento qui sotto c'è il sistema dell'esempio con un parametro. L'ultima colonna è quella dei termini noti. Premi «Calcola»: lo strumento fa Gauss–Jordan, dice se ci sono soluzioni e le scrive con i parametri. Per le incognite usa una lettera sola con i numerini in basso, non tre lettere diverse. Le scritture con «rk» contano i pivot: le spiega la lezione L12. Poi cambia l'ultimo numero da 5 a 6 e ricalcola. La terza equazione non va più d'accordo con le altre due, e compare la riga impossibile. ```widget gauss titolo: Risolvi un sistema: l'ultima colonna è quella dei termini noti matrice: 1 2 1 1; 2 4 3 3; 3 6 5 5 modo: sistema ``` > [!TRAPPOLA] I parametri: quanti e a chi > **Primo errore: dimenticare un'incognita libera.** Se un'incognita non compare in nessuna equazione, la sua colonna è tutta di zeri. Non ha pivot, quindi riceve anche lei un parametro. > > Un esempio: tre incognite $x$, $y$, $z$ e la sola equazione $x + z = 1$. La matrice completa ha una riga sola: $(1, 0, 1 \mid 1)$. Il pivot è in colonna 1. Le colonne 2 e 3 sono senza pivot, quindi $y = t_1$ e $z = t_2$. Dalla riga viene $x = 1 - t_2$. I parametri sono **due**, non uno. > > **Secondo errore: contare l'ultima colonna tra le incognite.** La colonna dei termini noti non è un'incognita. Una matrice completa con 3 righe e 5 colonne ha **4** incognite, non 5. > [!OLTRE] le soluzioni scritte come vettori > Il libro di Martelli (p. 84) scrive le soluzioni anche in un altro modo, che torna utile dalla lezione L12. Si mettono le incognite in colonna e si separa il pezzo senza parametro dal pezzo con il parametro. > > Nell'esempio con un parametro le soluzioni erano $x = -2t$, $y = t$, $z = 1$: > $$\begin{pmatrix} x \\ y \\ z \end{pmatrix} = \begin{pmatrix} -2t \\ t \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} + t \begin{pmatrix} -2 \\ 1 \\ 0 \end{pmatrix}.$$ > Si legge: «parti dal punto $(0, 0, 1)$ e spostati di $t$ volte il vettore $(-2, 1, 0)$». Al variare di $t$ ottieni una **retta** nello spazio. > > Con più parametri c'è un vettore per ogni parametro. Nella lezione L12 i due pezzi avranno un nome. Il punto di partenza è una «soluzione particolare». I vettori risolvono il sistema con tutti i termini noti uguali a zero. > [!OLTRE] dove trovarlo nel libro > Tutta la lezione segue il libro di Martelli, **§3.1 «Algoritmi di risoluzione»** (pp. 79–85 del libro): mosse di Gauss e Proposizione 3.1.1 (pp. 79–80), algoritmo di Gauss (pp. 80–82), algoritmo di Gauss–Jordan (pp. 82–83), risoluzione di un sistema e soluzioni scritte come vettori (pp. 83–85, con l'Esempio 3.1.2). Nel libro le righe si chiamano $C_i$ invece di $R_i$. ::: prova La forma ridotta è $\left(\begin{array}{cc|c} 1 & 3 & 4 \\ 0 & 0 & 0 \end{array}\right)$. Scrivi tutte le soluzioni. Il pivot è in colonna 1. La colonna 2, quella di $y$, è senza pivot: $y = t$. La riga 1 dice $x + 3y = 4$, cioè $x + 3t = 4$. Porta $3t$ a destra: $x = 4 - 3t$. Le soluzioni sono $x = 4 - 3t$ e $y = t$: infinite, con un parametro. Controllo con $t$ uguale a 0: la soluzione $(4, 0)$ dà $4 + 3 \cdot 0 = 4$. ::: ::: prova Un sistema ha 5 incognite. La sua matrice a scalini ha 2 pivot, e nessuno è dopo la barra. Quanti parametri servono? $5 - 2 = 3$ parametri. Le soluzioni sono infinite. ::: > [!RICORDA] > - **Un pivot dopo la barra**: una riga dice «0 = un numero diverso da zero». Nessuna soluzione. > - **Un pivot in ogni colonna prima della barra**: una sola soluzione. > - **Qualche colonna senza pivot**: infinite soluzioni. Ogni incognita senza pivot riceve un parametro. > - Numero di parametri = numero di incognite meno numero di pivot. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $x$, $y$, $z$ | «ics», «ipsilon», «zeta» | le incognite: i numeri da trovare | $x + y = 5$ | | $2x$ | «due ics» | 2 per $x$: il segno «per» non si scrive | $2x = 6$ | | $\cdot$ | «per» | il segno della moltiplicazione | $2 \cdot 3 = 6$ | | $x_1, x_2, \dots, x_n$ | «ics uno, ics due, …, ics enne» | le incognite, quando sono tante | $x_1 + x_4 = 0$ | | $\begin{cases} \dots \\ \dots \end{cases}$ | «sistema» | le equazioni dentro la graffa valgono tutte insieme | il sistema dell'indovinello | | $k$ | «cappa» | quante sono le equazioni | nell'indovinello $k = 2$ | | $n$ | «enne» | quante sono le incognite | nell'indovinello $n = 2$ | | $a_{ij}$ | «a i gei» | il coefficiente nella riga $i$ e nella colonna $j$ | $a_{23}$: riga 2, colonna 3 | | $b_i$ | «bi i» | il termine noto dell'equazione numero $i$ | $b_2$: seconda equazione | | $A$ | «a» | la matrice dei coefficienti | $\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$ | | $b$ | «bi» | il vettore dei termini noti, scritto in colonna | $\begin{pmatrix} 5 \\ 1 \end{pmatrix}$ | | $C = (A \mid b)$ | «ci uguale a barra bi» | la matrice completa: i coefficienti e, dopo la barra, i termini noti | $(1, 1 \mid 5)$ è la sua prima riga nell'indovinello | | $k \times n$ | «cappa per enne» | una matrice con $k$ righe e $n$ colonne | $2 \times 3$: 2 righe, 3 colonne | | $C_{ij}$ | «ci i gei» | il numero di $C$ nella riga $i$ e nella colonna $j$ | $C_{11}$: in alto a sinistra | | $S$ | «esse» | l'insieme di tutte le soluzioni | $S = \{(3, 2)\}$ | | $\emptyset$ | «insieme vuoto» | l'insieme senza elementi | $S = \emptyset$: nessuna soluzione | | $\subset$ | «è contenuto in» | tutti gli elementi del primo stanno nel secondo | $S \subset \R^2$ | | $\in$ | «appartiene a» | sta dentro l'insieme | $t \in \R$ | | $\K$ | «cappa» | i numeri che si usano: $\R$ oppure $\C$ | | | $\K^n$, $\R^n$ | «cappa alla enne», «erre alla enne» | le liste di $n$ numeri | $(3, 2)$ sta in $\R^2$ | | $\neq$ | «diverso da» | non uguale | $\lambda \neq 0$ | | $\ge$ | «maggiore o uguale» | più grande, oppure uguale | $i \ge 2$ | | $\lambda$ | «lambda» | un numero qualsiasi | $\lambda = -4$ | | $R_i$ | «erre i» | la riga numero $i$ della matrice | $R_2$: la riga 2 | | $R_i \leftrightarrow R_j$ | «la riga $i$ si scambia con la riga $j$» | prima mossa di Gauss | $R_1 \leftrightarrow R_3$ | | $R_i \to \lambda R_i$ | «la riga $i$ diventa $\lambda$ volte sé stessa» | seconda mossa di Gauss | $R_1 \to \frac 12 R_1$ | | $R_i \to R_i + \lambda R_j$ | «la riga $i$ diventa la riga $i$ più $\lambda$ volte la riga $j$» | terza mossa di Gauss | $R_2 \to R_2 - 4R_1$ | | $\boxed{1}$ | «pivot» | il riquadro mette in evidenza un pivot | | | $t$, $t_1$, $t_2$ | «ti», «ti uno», «ti due» | i parametri: numeri che scegli tu | $y = t$ | | $\cdots$, $\vdots$, $\ddots$ | «e avanti così» | puntini in riga, in colonna, in diagonale | $x_1, \dots, x_n$ | ## Verso l'esame La prova scritta di Algebra lineare ha 10 quiz a 5 risposte e 2 problemi da 11 punti. I problemi vengono corretti solo a chi fa giusti almeno 6 quiz. Dura 2 ore, senza calcolatrice, con solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione viene chiesto** 1. **Il quiz «quante soluzioni?».** Il testo è quasi sempre lo stesso: «Il sistema lineare con matrice completa … ha un numero di soluzioni pari a». Nei 15 appelli dal 2023/24 al 2025/26 è uscito 9 volte: trovi l'elenco nella tabella qui sotto. 2. **Trovare tutte le soluzioni.** Nell'appello del 10/07/2024 (domanda 6) bisognava scegliere, tra cinque, la descrizione giusta di tutte le soluzioni di un sistema con 3 equazioni e 3 incognite. È lo stesso sistema dell'Esercizio 12.11 delle dispense, nella lezione L12. 3. **I problemi aperti.** I sistemi con un parametro (lezione L12) sono uno dei due problemi da 11 punti in molti appelli: 07/02/2025, 05/02/2026, 03/07/2026. Quasi tutti gli altri problemi finiscono con una riduzione di Gauss: autospazi, nuclei, intersezioni di piani. Fare Gauss senza errori di conto vale metà della prova. | Appello | Domanda | Appello | Domanda | Appello | Domanda | |---|---|---|---|---|---| | 24/01/2024 | 10 | 16/01/2025 | 10 | 02/09/2025 | 1 | | 10/06/2024 | 7 | 03/06/2025 | 4 | 15/01/2026 | 6 | | 10/07/2024 | 5 | 10/07/2025 | 5 | 03/06/2026 | 7 | Le cinque risposte sono queste: una, zero, infinite con 1 parametro, infinite con 2 parametri, un numero finito maggiore di 1. Solo nell'appello del 03/06/2025 l'ultima era scritta in un altro modo: «due soluzioni». Nell'appello del 07/09/2026 (domanda 3) la stessa idea torna con una lettera dentro la matrice: «per quale $k$ il sistema non ha soluzioni?». Si impara nella lezione L12. > [!METODO] Il quiz «quante soluzioni?» > 1. Porta la matrice completa **a scalini** con Gauss. Per contare le soluzioni non serve Gauss–Jordan. > 2. Cerca una riga con tutti zeri prima della barra e un numero diverso da zero dopo. Se c'è, la risposta è **zero**. > 3. Altrimenti conta i pivot. Poi conta le incognite: sono le colonne **prima** della barra. > 4. Se i pivot sono tanti quante le incognite, la risposta è **una**. Se sono di meno, la risposta è **infinite**: i parametri sono le incognite meno i pivot. > 5. Con i numeri reali la risposta «un numero finito, maggiore di 1» è sempre sbagliata. Il motivo è il Corollario 12.7, nella lezione L12. > 6. Prima di cominciare guarda se le righe sono una multipla dell'altra. Nell'appello del 02/09/2025 (domanda 1) le tre righe erano multiple di $(1, 4, 2 \mid 7)$. Quindi c'era un solo pivot e i parametri erano $3 - 1 = 2$, senza fare conti. ### Una domanda vera, letta insieme Appello del 16/01/2025, domanda 10: > [!ESEMPIO] Il testo della domanda > «Il sistema lineare con matrice completa > $$A = \left(\begin{array}{cccc|c} 2 & 0 & 1 & 4 & 3 \\ 1 & -1 & 0 & 2 & 1 \\ 1 & 1 & 1 & 2 & 2 \end{array}\right)$$ > ha un numero di soluzioni pari a: (a) Zero. (b) Infinite, che dipendono da 2 parametri. (c) Infinite, che dipendono da 1 parametro. (d) Un numero finito, maggiore di 1. (e) Una.» **In pratica chiede:** questa tabella è un sistema scritto con i soli numeri. Quante liste di numeri lo risolvono? Non chiede di trovarle: chiede solo di contarle. Nel testo d'esame la matrice completa si chiama $A$, ma è la tabella che in questa lezione si chiama $C$. **Primo: quante incognite?** La matrice ha 5 colonne, ma l'ultima, dopo la barra, è quella dei termini noti. Le incognite sono 4. Le righe sono 3, quindi le equazioni sono 3. **Secondo: Gauss.** Nella prima colonna c'è un 1 nella riga 2. Conviene portarlo in alto con lo scambio $R_1 \leftrightarrow R_2$: così non compaiono frazioni. $$\left(\begin{array}{cccc|c} 1 & -1 & 0 & 2 & 1 \\ 2 & 0 & 1 & 4 & 3 \\ 1 & 1 & 1 & 2 & 2 \end{array}\right)$$ Ora gli zeri sotto il primo pivot. Sotto l'1 ci sono 2 e 1, quindi le mosse sono $R_2 \to R_2 - 2R_1$ e $R_3 \to R_3 - R_1$. | | col. 1 | col. 2 | col. 3 | col. 4 | termine noto | |---|---|---|---|---|---| | riga 2 meno 2 volte la riga 1 | $2 - 2 = 0$ | $0 - (-2) = 2$ | $1 - 0 = 1$ | $4 - 4 = 0$ | $3 - 2 = 1$ | | riga 3 meno la riga 1 | $1 - 1 = 0$ | $1 - (-1) = 2$ | $1 - 0 = 1$ | $2 - 2 = 0$ | $2 - 1 = 1$ | La riga 2 e la riga 3 sono diventate uguali. Con la mossa $R_3 \to R_3 - R_2$ la riga 3 diventa nulla. $$\left(\begin{array}{cccc|c} 1 & -1 & 0 & 2 & 1 \\ 0 & 2 & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right)$$ **Terzo: lettura.** La matrice è a scalini. I pivot sono due: l'1 in colonna 1 e il 2 in colonna 2. Dopo la barra non ci sono pivot, quindi le soluzioni esistono. Le incognite sono 4 e i pivot sono 2: i parametri sono $4 - 2 = 2$. La risposta giusta è la **(b)**: infinite soluzioni, che dipendono da 2 parametri. **La risposta che tenta** è la (c). Viene fuori se al posto delle incognite conti le righe, che sono 3: $3 - 2 = 1$. Le incognite si contano dalle colonne prima della barra, non dalle righe. > [!TRAPPOLA] Gli errori che costano punti > - Fare una mossa e **dimenticare l'ultima colonna**. La mossa vale per la riga intera, termine noto compreso. > - Fare due mosse **insieme** con le righe vecchie. È la trappola «Una mossa alla volta». > - **Contare male le incognite.** Sono le colonne prima della barra. Nell'appello del 16/01/2025 (domanda 10) la matrice completa aveva 3 righe e 5 colonne: le incognite erano 4. > - **Sbagliare un segno** portando i parametri a destra dell'uguale. Il rimedio: alla fine prova una soluzione nelle equazioni di partenza, per esempio quella con tutti i parametri uguali a zero. > [!ESAME] Il foglio da 4 facciate > Da questa lezione conviene scrivere tre cose. > > - Le tre mosse di Gauss, con i due divieti: nella (II) il numero è diverso da zero, nella (III) le due righe sono diverse. > - Che cos'è un pivot, e quando una matrice è a scalini. > - La regola di lettura. Pivot dopo la barra: nessuna soluzione. Altrimenti i parametri sono le incognite meno i pivot, uno per ogni colonna senza pivot. ## Quiz ```quiz D: Quale di queste è una mossa di Gauss sulla matrice completa di un sistema lineare? + La mossa $R_2 \to R_2 - 3R_1$. - La mossa $R_2 \to 0 \cdot R_2$. - Sommare $1$ a tutti i numeri della prima riga. - Scambiare la prima e l'ultima colonna. - Elevare al quadrato tutti i numeri della seconda riga. = Nella prima risposta alla riga 2 togli 3 volte la riga 1: è la terza mossa. Moltiplicare una riga per 0 è vietato: la riga diventerebbe $0 = 0$ e un'equazione andrebbe persa. Sommare 1 a tutti i numeri, oppure elevarli al quadrato, non è nessuna delle tre mosse. Lo scambio di due colonne tenta, perché assomiglia alla prima mossa: ma le mosse si fanno sulle righe. D: Quale di queste cinque matrici è a scalini? $M_1 = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & 4 & 5 \end{pmatrix}$, $M_2 = \begin{pmatrix} 2 & 1 & 0 & 3 \\ 0 & 0 & 5 & 1 \\ 0 & 0 & 0 & 0 \end{pmatrix}$, $M_3 = \begin{pmatrix} 1 & 2 \\ 3 & 0 \end{pmatrix}$, $M_4 = \begin{pmatrix} 0 & 1 & 2 \\ 0 & 3 & 4 \\ 0 & 0 & 5 \end{pmatrix}$, $M_5 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}$. - La prima. + La seconda. - La terza. - La quarta. - La quinta. = Servono due cose: righe nulle in fondo, e ogni pivot più a destra di quello della riga sopra. Nella seconda matrice i pivot sono 2, in colonna 1, e 5, in colonna 3, e la riga nulla è in fondo: va bene. Nella prima la riga nulla sta in mezzo. Nella terza il pivot della riga 2 è in colonna 1, come quello della riga 1. La quarta tenta, perché sembra una scala: ma i pivot delle prime due righe, 1 e 3, sono tutti e due in colonna 2. Nella quinta il pivot della riga 3 sta a sinistra di quello della riga 2. D: Il sistema lineare con matrice completa $\left(\begin{array}{ccc|c} 1 & 2 & 3 & 10 \\ 4 & 5 & 6 & 11 \\ 7 & 8 & 9 & 12 \end{array}\right)$ ha un numero di soluzioni pari a: - Una. + Infinite, che dipendono da 1 parametro. - Zero. - Infinite, che dipendono da 2 parametri. - Un numero finito, maggiore di 1. = È la domanda 10 dell'appello del 24/01/2024. Chiede di contare le soluzioni, quindi basta la forma a scalini. Togli 4 volte la riga 1 dalla riga 2: diventa $(0, -3, -6 \mid -29)$. Togli 7 volte la riga 1 dalla riga 3: diventa $(0, -6, -12 \mid -58)$. La riga 3 è il doppio della riga 2, quindi togliendo 2 volte la riga 2 diventa nulla. Restano 2 pivot, nessuno dopo la barra, e le incognite sono 3: i parametri sono $3 - 2 = 1$. La risposta «Una» tenta, perché le equazioni sono tante quante le incognite: ma la terza non aggiungeva niente alle prime due. D: Il sistema lineare con matrice completa $\left(\begin{array}{ccc|c} 3 & 12 & 6 & 21 \\ 5 & 20 & 10 & 35 \\ 4 & 16 & 8 & 28 \end{array}\right)$ ha un numero di soluzioni pari a: - Zero. + Infinite, che dipendono da 2 parametri. - Un numero finito, maggiore di 1. - Una. - Infinite, che dipendono da 1 parametro. = È la domanda 1 dell'appello del 02/09/2025. Prima di fare conti guarda le righe. La prima è 3 volte $(1, 4, 2 \mid 7)$, la seconda è 5 volte la stessa riga, la terza è 4 volte. Sono tre volte lo stesso indizio. Dopo Gauss resta una sola riga non nulla, con un solo pivot, e nessun pivot dopo la barra. Le incognite sono 3, quindi i parametri sono $3 - 1 = 2$. La risposta con 1 parametro è sbagliata perché qui il pivot è uno solo, non due. D: Il sistema lineare con matrice completa $\left(\begin{array}{ccc|c} 1 & 2 & 3 & 4 \\ 2 & 3 & 4 & 5 \\ 3 & 4 & 5 & 7 \end{array}\right)$ ha un numero di soluzioni pari a: + Zero. - Una. - Infinite, che dipendono da 1 parametro. - Infinite, che dipendono da 2 parametri. - Un numero finito, maggiore di 1. = Simile alla domanda 5 dell'appello del 10/07/2024. Togli 2 volte la riga 1 dalla riga 2: diventa $(0, -1, -2 \mid -3)$. Togli 3 volte la riga 1 dalla riga 3: diventa $(0, -2, -4 \mid -5)$. Ora togli 2 volte la riga 2 dalla riga 3. Prima della barra vengono tutti zeri. Dopo la barra viene $-5 - 2 \cdot (-3) = -5 + 6 = 1$. La riga $(0, 0, 0 \mid 1)$ dice $0 = 1$, che è impossibile: zero soluzioni. L'errore tipico è guardare solo gli zeri prima della barra e rispondere «infinite»: conta anche il numero dopo la barra. D: La forma ridotta della matrice completa di un sistema nelle incognite $x, y, z$ è $\left(\begin{array}{ccc|c} 1 & 0 & 2 & 3 \\ 0 & 1 & -1 & 1 \end{array}\right)$. Qual è l'insieme di tutte le soluzioni ($t \in \R$)? + $x = 3 - 2t,\ y = 1 + t,\ z = t$ - $x = 3 + 2t,\ y = 1 - t,\ z = t$ - Solo $x = 3,\ y = 1,\ z = 0$ - $x = -2t,\ y = t,\ z = t$ - Il sistema non ha soluzioni. = Simile alla domanda 6 dell'appello del 10/07/2024. I pivot sono nelle colonne 1 e 2. La colonna 3, quella di $z$, è senza pivot: $z = t$. La riga 1 dice $x + 2z = 3$, quindi $x = 3 - 2t$. La riga 2 dice $y - z = 1$, quindi $y = 1 + t$. La seconda risposta ha i segni al contrario: quando porti $t$ a destra dell'uguale il segno cambia. La terza è una soluzione vera, quella con $t$ uguale a 0, ma è una sola: la domanda le chiede tutte. D: Riducendo a scalini la matrice completa di un sistema in 3 incognite compare la riga $(0, 0, 0 \mid 5)$. Che cosa puoi concludere? + Il sistema non ha soluzioni. - $z = 5$. - Il sistema ha infinite soluzioni. - La riga si può cancellare e si continua. - L'unica soluzione è $x = y = z = 0$. = Rileggi la riga come equazione: $0x + 0y + 0z = 5$. A sinistra viene 0, qualunque numero tu metta al posto delle incognite. Quindi la riga dice $0 = 5$, falsa sempre: nessuna soluzione. La risposta «$z = 5$» tenta, ma davanti a $z$ c'è 0, non 1. Si può cancellare solo una riga $(0, 0, 0 \mid 0)$, che dice $0 = 0$. D: Nella matrice $\left(\begin{array}{cc|c} 1 & 2 & 4 \\ 3 & 1 & 7 \end{array}\right)$ si fa la mossa $R_2 \to R_2 - 3R_1$. Quale diventa la seconda riga? + $(0, -5 \mid -5)$ - $(0, -5 \mid 5)$ - $(0, 5 \mid 5)$ - $(0, -5 \mid 19)$ - $(2, -1 \mid 3)$ = Tre volte la riga 1 fa $(3, 6 \mid 12)$. Poi sottrai dalla riga 2, un numero alla volta: $3 - 3 = 0$, poi $1 - 6 = -5$, poi $7 - 12 = -5$. La mossa vale anche per il numero dopo la barra. Chi lì somma al posto di sottrarre trova 19. Chi sbaglia il segno trova 5. L'ultima risposta è la riga 2 meno la riga 1 una volta sola, non 3 volte. D: Un sistema di 3 equazioni in 5 incognite, ridotto a scalini, ha 3 pivot e nessuno di questi è nell'ultima colonna. Quante sono le soluzioni? + Infinite, che dipendono da 2 parametri. - Infinite, che dipendono da 3 parametri. - Una. - Zero. - Infinite, che dipendono da 5 parametri. = Simile alla domanda 10 dell'appello del 16/01/2025, dove le incognite erano 4. Nessun pivot sta nell'ultima colonna, quindi le soluzioni esistono. I parametri sono tanti quante le incognite senza pivot: $5 - 3 = 2$. La risposta con 3 parametri tenta, ma 3 è il numero dei pivot, non quello delle incognite libere. D: Risolvi il sistema a scalini $x - y + 2z = 5$, $3y - z = 1$, $2z = 4$. Quanto vale $x$? N: 2 = Il sistema è a scalini, quindi si risolve dal basso. Terza equazione: $2z = 4$, quindi $z = 2$. Seconda equazione: $3y - 2 = 1$, cioè $3y = 3$, quindi $y = 1$. Prima equazione: $x - 1 + 2 \cdot 2 = 5$, cioè $x + 3 = 5$, quindi $x = 2$. ``` ## Esercizi ::: esercizio base È una soluzione? Guarda il sistema $$\begin{cases} x + y = 7 \\ 2x - y = 2 \end{cases}$$ Quali di queste tre liste sono soluzioni: $(4, 3)$, $(3, 4)$, $(5, 2)$? ::: soluzione Una lista è una soluzione solo se rende vere **tutte e due** le equazioni. In ogni lista il primo numero va al posto di $x$ e il secondo al posto di $y$. | Lista | Prima equazione | Seconda equazione | È una soluzione? | |---|---|---|---| | $(4, 3)$ | $4 + 3 = 7$, vera | $2 \cdot 4 - 3 = 5$, doveva fare 2: falsa | no | | $(3, 4)$ | $3 + 4 = 7$, vera | $2 \cdot 3 - 4 = 2$, vera | sì | | $(5, 2)$ | $5 + 2 = 7$, vera | $2 \cdot 5 - 2 = 8$, doveva fare 2: falsa | no | L'unica soluzione tra le tre è $(3, 4)$. Le altre due rispettano il primo indizio ma non il secondo, e un solo indizio falso basta per scartarle. ::: ::: esercizio base Una mossa sola Nella matrice completa $$\left(\begin{array}{cc|c} 1 & -2 & 4 \\ 3 & 1 & 5 \end{array}\right)$$ fai la mossa $R_2 \to R_2 - 3R_1$. Poi risolvi il sistema. ::: soluzione 1. **Che cosa fa la mossa.** Alla riga 2 toglie 3 volte la riga 1. Serve a far diventare 0 il 3 della riga 2, perché $3 - 3 \cdot 1 = 0$. 2. **Il conto**, un numero alla volta. Attenzione alla colonna 2: togliere $-6$ vuol dire sommare 6. | | colonna 1 | colonna 2 | termine noto | |---|---|---|---| | riga 2 | $3$ | $1$ | $5$ | | 3 volte la riga 1 | $3 \cdot 1 = 3$ | $3 \cdot (-2) = -6$ | $3 \cdot 4 = 12$ | | differenza | $3 - 3 = 0$ | $1 - (-6) = 7$ | $5 - 12 = -7$ | 3. **La nuova matrice.** La riga 1 non cambia. $$\left(\begin{array}{cc|c} 1 & -2 & 4 \\ 0 & 7 & -7 \end{array}\right)$$ 4. **Dal basso.** La riga 2 dice $7y = -7$. Dividi per 7 i due lati: $y = -1$. 5. **Poi la riga 1.** Dice $x - 2y = 4$. Sostituisci $-1$ al posto di $y$: il pezzo $-2y$ diventa $-2 \cdot (-1) = 2$. Viene $x + 2 = 4$, quindi $x = 2$. La soluzione è $(2, -1)$. **Controllo** nelle equazioni di partenza: $2 - 2 \cdot (-1) = 2 + 2 = 4$ e $3 \cdot 2 + (-1) = 5$. Tutte e due vere. ::: ::: esercizio base Tre matrici a scalini: quante soluzioni? Ognuna di queste matrici complete è già a scalini. Le incognite sono $x$ e $y$. Per ognuna di' quante soluzioni ha il sistema. $$\text{(a)} \left(\begin{array}{cc|c} 1 & 2 & 3 \\ 0 & 1 & 1 \end{array}\right) \qquad \text{(b)} \left(\begin{array}{cc|c} 1 & 2 & 3 \\ 0 & 0 & 4 \end{array}\right) \qquad \text{(c)} \left(\begin{array}{cc|c} 1 & 2 & 3 \\ 0 & 0 & 0 \end{array}\right)$$ ::: soluzione In tutti e tre i casi le incognite sono 2: le colonne prima della barra. Si guarda dove stanno i pivot. (a) **Una sola soluzione.** I pivot sono due, nelle colonne 1 e 2. Nessuno è dopo la barra, e ogni incognita ha il suo. Dal basso: la riga 2 dice $y = 1$. La riga 1 dice $x + 2y = 3$, cioè $x + 2 = 3$, quindi $x = 1$. La soluzione è $(1, 1)$. (b) **Nessuna soluzione.** La riga 2 ha tutti zeri prima della barra e 4 dopo. Il suo pivot è nell'ultima colonna. La riga dice $0 = 4$, che è impossibile. (c) **Infinite soluzioni, con 1 parametro.** C'è un solo pivot, in colonna 1. La riga 2 dice $0 = 0$ e si ignora. La colonna 2 è senza pivot, quindi $y = t$. La riga 1 dice $x + 2t = 3$, quindi $x = 3 - 2t$. I parametri sono $2 - 1 = 1$. **Controllo** di (c) con $t$ uguale a 0: la soluzione $(3, 0)$ dà $3 + 2 \cdot 0 = 3$. Vera. ::: ::: esercizio base Dal sistema alla matrice completa Scrivi la matrice dei coefficienti, il vettore dei termini noti e la matrice completa dei sistemi $$\text{(a)} \begin{cases} 3x - z = 2 \\ y + 4z = -1 \end{cases} \qquad \text{(b)} \begin{cases} x_1 + x_2 = x_3 \\ 2x_3 - 7 = x_1 \\ x_2 = 5 \end{cases}$$ Quante sono le equazioni e quante le incognite? ::: soluzione **(a)** Le equazioni sono 2. Le incognite sono 3: nell'ordine $x$, $y$, $z$. 1. **Prima equazione.** Davanti a $x$ c'è 3. L'incognita $y$ manca: coefficiente 0. Davanti a $z$ c'è $-1$. A destra c'è 2. 2. **Seconda equazione.** L'incognita $x$ manca: coefficiente 0. Davanti a $y$ c'è 1. Davanti a $z$ c'è 4. A destra c'è $-1$. $$A = \begin{pmatrix} 3 & 0 & -1 \\ 0 & 1 & 4 \end{pmatrix}, \quad b = \begin{pmatrix} 2 \\ -1 \end{pmatrix}, \quad C = \left(\begin{array}{ccc|c} 3 & 0 & -1 & 2 \\ 0 & 1 & 4 & -1 \end{array}\right).$$ **(b)** Le equazioni sono 3 e le incognite sono 3. Prima va messo in ordine il sistema: incognite a sinistra, numeri a destra. 1. **Prima equazione.** A destra c'è $x_3$. Lo porti a sinistra e diventa $-x_3$. Viene $x_1 + x_2 - x_3 = 0$. 2. **Seconda equazione.** A destra c'è $x_1$: lo porti a sinistra e diventa $-x_1$. A sinistra c'è $-7$: lo porti a destra e diventa $+7$. Viene $-x_1 + 2x_3 = 7$. Manca $x_2$: coefficiente 0. 3. **Terza equazione.** È già in ordine. Mancano $x_1$ e $x_3$: due zeri. $$\begin{cases} x_1 + x_2 - x_3 = 0 \\ -x_1 + 2x_3 = 7 \\ x_2 = 5 \end{cases} \qquad C = \left(\begin{array}{ccc|c} 1 & 1 & -1 & 0 \\ -1 & 0 & 2 & 7 \\ 0 & 1 & 0 & 5 \end{array}\right).$$ La matrice dei coefficienti è la parte prima della barra. Il vettore dei termini noti è l'ultima colonna, fatta dei numeri 0, 7 e 5. ::: ::: esercizio base Pivot e scalini Per ciascuna matrice di' se è a scalini e, se lo è, indica i pivot e le colonne in cui stanno. $$M_1 = \begin{pmatrix} 0 & 2 & 1 & 4 \\ 0 & 0 & 0 & 3 \\ 0 & 0 & 0 & 0 \end{pmatrix}, \quad M_2 = \begin{pmatrix} 1 & 5 \\ 0 & 0 \\ 0 & 2 \end{pmatrix}, \quad M_3 = \begin{pmatrix} 3 & 1 & 1 \\ 0 & 0 & 0 \end{pmatrix}, \quad M_4 = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 0 & 6 & 7 \end{pmatrix}.$$ ::: soluzione Le regole sono due: le righe nulle stanno in fondo, e ogni pivot sta più a destra di quello della riga sopra. - **$M_1$: sì.** Il pivot della riga 1 è 2, in colonna 2. Il pivot della riga 2 è 3, in colonna 4, più a destra. La riga nulla è in fondo. La prima colonna tutta di zeri non dà fastidio. - **$M_2$: no.** La riga 2 è nulla, ma sotto di lei c'è la riga $(0, 2)$, che ha un pivot. La riga nulla non è in fondo. Scambiando le ultime due righe la matrice diventa a scalini. - **$M_3$: sì.** C'è un solo pivot, il 3 in colonna 1. La riga nulla è in fondo. - **$M_4$: no.** Il pivot della riga 2 è 4, in colonna 2. Il pivot della riga 3 è 6, anche lui in colonna 2. Stessa colonna: non va bene. Per sistemare $M_4$ serve una mossa. Numero da eliminare diviso pivot: $6 : 4 = \frac 32$. La mossa è $R_3 \to R_3 - \frac 32 R_2$. Nella colonna 2 viene $6 - \frac 32 \cdot 4 = 6 - 6 = 0$. Nella colonna 3 viene $7 - \frac 32 \cdot 5 = 7 - \frac{15}2 = -\frac 12$. La riga 3 diventa $(0, 0, -\frac 12)$ e la matrice è a scalini. ::: ::: esercizio medio Esercizio 11.11 delle dispense: un sistema 3 × 3 Risolvi il sistema lineare $$\begin{cases} x + y + 2z = 9 \\ 2x + 4y - 3z = 1 \\ 3x + 6y - 5z = 0 \end{cases}$$ ::: soluzione 1. **La matrice completa.** Una riga per equazione, e l'ultima colonna per i termini noti. $$\left(\begin{array}{ccc|c} 1 & 1 & 2 & 9 \\ 2 & 4 & -3 & 1 \\ 3 & 6 & -5 & 0 \end{array}\right)$$ 2. **Zeri sotto il primo pivot.** Il pivot è l'1 in alto a sinistra. Sotto ci sono 2 e 3. Le mosse sono $R_2 \to R_2 - 2R_1$ e $R_3 \to R_3 - 3R_1$. La riga 1 resta ferma. - Riga 2 meno 2 volte la riga 1: $(2 - 2,\ 4 - 2,\ -3 - 4 \mid 1 - 18) = (0, 2, -7 \mid -17)$. - Riga 3 meno 3 volte la riga 1: $(3 - 3,\ 6 - 3,\ -5 - 6 \mid 0 - 27) = (0, 3, -11 \mid -27)$. 3. **Zero sotto il secondo pivot.** Il secondo pivot è il 2 della riga 2. Sotto c'è 3. La ricetta direbbe di togliere la riga 2 per $\frac 32$ volte. Per non avere frazioni uso il trucco: prima raddoppio la riga 3, poi tolgo 3 volte la riga 2. La mossa è $R_3 \to 2R_3 - 3R_2$. - 2 volte la riga 3: $(0, 6, -22 \mid -54)$. - 3 volte la riga 2: $(0, 6, -21 \mid -51)$. - Differenza: $(0,\ 6 - 6,\ -22 + 21 \mid -54 + 51) = (0, 0, -1 \mid -3)$. $$\left(\begin{array}{ccc|c} 1 & 1 & 2 & 9 \\ 0 & 2 & -7 & -17 \\ 0 & 0 & -1 & -3 \end{array}\right)$$ 4. **Lettura.** La matrice è a scalini. I pivot sono tre, nelle colonne 1, 2 e 3. Dopo la barra non ce ne sono, e ogni incognita ha il suo: la soluzione è una sola. 5. **Dal basso, riga 3.** Dice $-z = -3$. Cambia segno ai due lati: $z = 3$. 6. **Riga 2.** Dice $2y - 7z = -17$. Sostituisci 3 al posto di $z$: viene $2y - 21 = -17$. Somma 21 ai due lati: $2y = 4$, quindi $y = 2$. 7. **Riga 1.** Dice $x + y + 2z = 9$. Sostituisci: viene $x + 2 + 6 = 9$, quindi $x = 1$. La soluzione è $(1, 2, 3)$, come indicano le dispense. **Controllo** nelle equazioni di partenza: $1 + 2 + 6 = 9$, poi $2 + 8 - 9 = 1$, poi $3 + 12 - 15 = 0$. Tutte vere. Una nota. Seguendo l'algoritmo alla lettera, con la mossa $R_3 \to R_3 - \frac 32 R_2$, la riga 3 viene $(0, 0, -\frac 12 \mid -\frac 32)$. È la stessa equazione divisa per 2, e porta alla stessa soluzione. ::: ::: esercizio medio Gauss–Jordan completo, con una colonna senza pivot Risolvi con l'algoritmo di Gauss–Jordan il sistema con matrice completa $$\left(\begin{array}{ccc|c} 1 & 2 & -1 & 3 \\ 2 & 4 & 1 & 0 \\ 1 & 2 & 2 & -3 \end{array}\right).$$ ::: soluzione Le incognite sono 3: le chiamo $x$, $y$, $z$. 1. **Fase 1, prima colonna.** Il pivot è l'1 in alto a sinistra. Sotto ci sono 2 e 1. Le mosse sono $R_2 \to R_2 - 2R_1$ e $R_3 \to R_3 - R_1$. Attenzione alla colonna 3: togliere un numero negativo vuol dire sommare. - Riga 2 meno 2 volte la riga 1: $(2 - 2,\ 4 - 4,\ 1 - (-2) \mid 0 - 6) = (0, 0, 3 \mid -6)$. - Riga 3 meno la riga 1: $(1 - 1,\ 2 - 2,\ 2 - (-1) \mid -3 - 3) = (0, 0, 3 \mid -6)$. 2. **Fase 1, il resto.** Sotto la prima riga la colonna 2 è tutta di zeri: resta senza pivot. Nella colonna 3 il pivot è il 3 della riga 2. Sotto c'è un altro 3. La mossa $R_3 \to R_3 - R_2$ dà la riga nulla, perché le due righe sono uguali. $$\left(\begin{array}{ccc|c} 1 & 2 & -1 & 3 \\ 0 & 0 & 3 & -6 \\ 0 & 0 & 0 & 0 \end{array}\right)$$ 3. **Fase 2, pivot uguale a 1.** Divido la riga 2 per 3, con la mossa $R_2 \to \frac 13 R_2$. Viene $(0, 0, 1 \mid -2)$. 4. **Fase 2, zero sopra il pivot.** Sopra il secondo pivot c'è $-1$. Per farlo diventare 0 sommo la riga 2: mossa $R_1 \to R_1 + R_2$. Terzo numero: $-1 + 1 = 0$. Ultimo numero: $3 + (-2) = 1$. La riga 1 diventa $(1, 2, 0 \mid 1)$. $$\left(\begin{array}{ccc|c} 1 & 2 & 0 & 1 \\ 0 & 0 & 1 & -2 \\ 0 & 0 & 0 & 0 \end{array}\right)$$ 5. **Lettura.** I pivot sono nelle colonne 1 e 3. Dopo la barra non ce ne sono: le soluzioni esistono. La colonna 2 è senza pivot, quindi $y = t$. 6. **Le righe come equazioni.** La riga 2 dice $z = -2$. La riga 1 dice $x + 2y = 1$, cioè $x + 2t = 1$. Porto $2t$ a destra: $x = 1 - 2t$. Le soluzioni sono infinite, con un parametro: $$(x, y, z) = (1 - 2t,\ t,\ -2), \qquad t \in \R.$$ **Controllo** con $t$ uguale a 0, cioè con $(1, 0, -2)$. Le tre equazioni di partenza danno: $1 + 0 + 2 = 3$, poi $2 + 0 - 2 = 0$, poi $1 + 0 - 4 = -3$. Tutte vere. ::: ::: esercizio medio Due equazioni, quattro incognite Trova tutte le soluzioni di $$\begin{cases} x_1 + x_2 - x_3 + 2x_4 = 1 \\ 2x_1 + 2x_2 + x_3 + x_4 = 5 \end{cases}$$ ::: soluzione 1. **La matrice completa.** Le incognite sono 4, quindi le colonne prima della barra sono 4. $$\left(\begin{array}{cccc|c} 1 & 1 & -1 & 2 & 1 \\ 2 & 2 & 1 & 1 & 5 \end{array}\right)$$ 2. **Zero sotto il primo pivot.** Sotto l'1 c'è 2. La mossa è $R_2 \to R_2 - 2R_1$. Il conto: $(2 - 2,\ 2 - 2,\ 1 - (-2),\ 1 - 4 \mid 5 - 2) = (0, 0, 3, -3 \mid 3)$. 3. **Pivot uguale a 1.** Il pivot della riga 2 è 3, in colonna 3. Divido la riga per 3: viene $(0, 0, 1, -1 \mid 1)$. 4. **Zero sopra il secondo pivot.** Sopra c'è $-1$. Sommo la riga 2 alla riga 1: mossa $R_1 \to R_1 + R_2$. Terzo numero: $-1 + 1 = 0$. Quarto numero: $2 + (-1) = 1$. Ultimo numero: $1 + 1 = 2$. $$\left(\begin{array}{cccc|c} 1 & 1 & 0 & 1 & 2 \\ 0 & 0 & 1 & -1 & 1 \end{array}\right)$$ 5. **Lettura.** I pivot sono nelle colonne 1 e 3. Le colonne 2 e 4 sono senza pivot. Do due parametri: $x_2 = s$ e $x_4 = t$. 6. **Riga 1.** Dice $x_1 + x_2 + x_4 = 2$, cioè $x_1 + s + t = 2$. Porto i parametri a destra: $x_1 = 2 - s - t$. 7. **Riga 2.** Dice $x_3 - x_4 = 1$, cioè $x_3 - t = 1$. Porto $t$ a destra: $x_3 = 1 + t$. $$x_1 = 2 - s - t, \qquad x_2 = s, \qquad x_3 = 1 + t, \qquad x_4 = t, \qquad s, t \in \R.$$ Le soluzioni sono infinite. I parametri sono $4 - 2 = 2$. **Controllo** con i due parametri uguali a 0, cioè con $(2, 0, 1, 0)$. Prima equazione: $2 + 0 - 1 + 0 = 1$. Seconda equazione: $4 + 0 + 1 + 0 = 5$. Tutte e due vere. ::: ::: esercizio medio Un sistema impossibile Mostra che il sistema $\begin{cases} x + y + z = 1 \\ x - y + 2z = 0 \\ 2x + 3z = 2 \end{cases}$ non ha soluzioni. ::: soluzione 1. **La matrice completa.** Nella terza equazione manca $y$: coefficiente 0. $$\left(\begin{array}{ccc|c} 1 & 1 & 1 & 1 \\ 1 & -1 & 2 & 0 \\ 2 & 0 & 3 & 2 \end{array}\right)$$ 2. **Zeri sotto il primo pivot.** Sotto l'1 ci sono 1 e 2. Le mosse sono $R_2 \to R_2 - R_1$ e $R_3 \to R_3 - 2R_1$. - Riga 2 meno la riga 1: $(1 - 1,\ -1 - 1,\ 2 - 1 \mid 0 - 1) = (0, -2, 1 \mid -1)$. - Riga 3 meno 2 volte la riga 1: $(2 - 2,\ 0 - 2,\ 3 - 2 \mid 2 - 2) = (0, -2, 1 \mid 0)$. 3. **Zero sotto il secondo pivot.** Il secondo pivot è il $-2$ della riga 2. Sotto c'è un altro $-2$. La mossa è $R_3 \to R_3 - R_2$. Prima della barra viene $(0,\ -2 + 2,\ 1 - 1)$, cioè tutti zeri. Dopo la barra viene $0 - (-1) = 1$. $$\left(\begin{array}{ccc|c} 1 & 1 & 1 & 1 \\ 0 & -2 & 1 & -1 \\ 0 & 0 & 0 & 1 \end{array}\right)$$ 4. **Lettura.** L'ultima riga ha tutti zeri prima della barra e 1 dopo. Dice $0 = 1$. C'è un pivot nell'ultima colonna: il sistema non ha soluzioni, cioè $S = \emptyset$. Si poteva vedere anche dalle equazioni. Somma le prime due: a sinistra viene $2x + 3z$, perché $y$ e $-y$ si cancellano. A destra viene $1 + 0 = 1$. Ma la terza equazione dice che $2x + 3z$ fa 2. Lo stesso numero non può fare 1 e 2 insieme. ::: ::: esercizio medio Dove sta l'errore? Uno studente risolve $\begin{cases} 2x + y = 4 \\ x + 3y = 7 \end{cases}$ facendo nello stesso passaggio $R_1 \to R_1 - 2R_2$ e $R_2 \to R_2 - \frac 12 R_1$, tutte e due con le righe di partenza. Che cosa ottiene? Perché è sbagliato? Risolvi correttamente. ::: soluzione **Il conto dello studente.** Le righe di partenza sono $(2, 1 \mid 4)$ e $(1, 3 \mid 7)$. - Riga 1 meno 2 volte la riga 2: $(2 - 2,\ 1 - 6 \mid 4 - 14) = (0, -5 \mid -10)$. - Riga 2 meno metà della riga 1: $(1 - 1,\ 3 - \frac 12 \mid 7 - 2) = (0, \frac 52 \mid 5)$. Tutte e due le righe nuove dicono la stessa cosa: che $y$ vale 2. Infatti $-10 : (-5) = 2$ e $5 : \frac 52 = 2$. Di $x$ non resta nessuna informazione. Allo studente sembra che $x$ sia libera e che le soluzioni siano infinite. **Perché è sbagliato.** Ognuna delle due mosse, da sola, è permessa. Insieme no. Dopo la prima mossa la riga 1 è cambiata, e la seconda mossa doveva usare la riga 1 nuova. Lo studente ha usato quella vecchia. Il risultato non si può più disfare: un'equazione è andata persa. **Il conto giusto**, una mossa alla volta. 1. Scambio le righe, per avere un 1 in alto a sinistra: mossa $R_1 \leftrightarrow R_2$. $$\left(\begin{array}{cc|c} 1 & 3 & 7 \\ 2 & 1 & 4 \end{array}\right)$$ 2. Tolgo 2 volte la riga 1 dalla riga 2: mossa $R_2 \to R_2 - 2R_1$. Il conto: $(2 - 2,\ 1 - 6 \mid 4 - 14) = (0, -5 \mid -10)$. 3. Dal basso. La riga 2 dice $-5y = -10$, quindi $y = 2$. La riga 1 dice $x + 3y = 7$, cioè $x + 6 = 7$, quindi $x = 1$. La soluzione è una sola: $(1, 2)$. **Controllo**: $2 \cdot 1 + 2 = 4$ e $1 + 3 \cdot 2 = 7$. Tutte e due vere. ::: ::: esercizio medio Il sistema omogeneo dell'Esempio 11.10 Usa la matrice dell'Esempio 11.10 come matrice dei coefficienti del sistema in tre incognite con tutti i termini noti uguali a zero: $$\begin{cases} x_1 - x_2 + 3x_3 = 0 \\ 2x_2 + 2x_3 = 0 \\ x_1 + 4x_3 = 0 \end{cases}$$ Trova tutte le soluzioni. ::: soluzione 1. **L'ultima colonna resta di zeri.** I termini noti sono tutti 0. Una mossa di Gauss somma, toglie o moltiplica questi zeri tra loro, e il risultato è sempre 0. Quindi basta lavorare sulla matrice dei coefficienti. 2. **La riduzione è già fatta.** L'Esempio 11.10 ha portato questa matrice alla forma ridotta: $$\begin{pmatrix} 1 & -1 & 3 \\ 0 & 2 & 2 \\ 1 & 0 & 4 \end{pmatrix} \longrightarrow \begin{pmatrix} 1 & 0 & 4 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{pmatrix}.$$ 3. **Lettura.** I pivot sono nelle colonne 1 e 2. La colonna 3 è senza pivot, quindi $x_3 = t$. 4. **Riga 1.** Dice $x_1 + 4x_3 = 0$, cioè $x_1 + 4t = 0$. Porto $4t$ a destra: $x_1 = -4t$. 5. **Riga 2.** Dice $x_2 + x_3 = 0$, cioè $x_2 + t = 0$. Porto $t$ a destra: $x_2 = -t$. $$(x_1, x_2, x_3) = (-4t, -t, t), \qquad t \in \R.$$ **Controllo** con $t$ uguale a 1, cioè con $(-4, -1, 1)$: $-4 + 1 + 3 = 0$, poi $-2 + 2 = 0$, poi $-4 + 4 = 0$. Tutte vere. Ogni soluzione è $t$ volte il vettore $(-4, -1, 1)$: le soluzioni sono tutti i multipli di un solo vettore, cioè una retta che passa per l'origine. Un sistema con tutti i termini noti uguali a zero si chiama **omogeneo**, ed è il primo argomento della lezione L12. ::: ::: esercizio difficile Quando il sistema dipende da un numero Per quali valori di $a \in \R$ il sistema $\begin{cases} x + y = 1 \\ x + ay = 2 \end{cases}$ ha soluzioni? Quando ce ne sono, trovale. ::: soluzione Qui uno dei coefficienti non è un numero fissato: è la lettera $a$. La domanda chiede che cosa succede per ogni valore possibile di $a$. 1. **La matrice completa.** $$\left(\begin{array}{cc|c} 1 & 1 & 1 \\ 1 & a & 2 \end{array}\right)$$ 2. **Zero sotto il primo pivot.** La mossa è $R_2 \to R_2 - R_1$. Primo numero: $1 - 1 = 0$. Secondo numero: $a - 1$. Terzo numero: $2 - 1 = 1$. $$\left(\begin{array}{cc|c} 1 & 1 & 1 \\ 0 & a - 1 & 1 \end{array}\right)$$ 3. **Il punto delicato.** Nella riga 2 c'è $a - 1$. È un pivot solo se è diverso da zero. E vale zero quando $a$ è 1. Quindi servono due casi. 4. **Primo caso: $a$ vale 1.** La riga 2 è $(0, 0 \mid 1)$ e dice $0 = 1$. Nessuna soluzione. Infatti il sistema diventa «la somma fa 1» e «la somma fa 2»: due rette parallele. 5. **Secondo caso: $a$ è diverso da 1.** Ora $a - 1$ è diverso da zero, e posso dividere. La riga 2 dice $(a - 1) \cdot y = 1$, quindi $$y = \frac 1{a - 1}.$$ 6. **Poi la riga 1.** Dice $x + y = 1$, quindi $x = 1 - y$. Per fare la sottrazione scrivo 1 come frazione con lo stesso numero sotto: $$x = \frac{a - 1}{a - 1} - \frac 1{a - 1} = \frac{a - 2}{a - 1}.$$ Risposta: il sistema ha soluzioni per ogni $a$ diverso da 1, e allora la soluzione è una sola. Per $a$ uguale a 1 non ne ha nessuna. **Controllo** nella seconda equazione. Le due frazioni hanno lo stesso numero sotto, quindi si sommano i numeri sopra: $$x + ay = \frac{a - 2}{a - 1} + \frac a{a - 1} = \frac{2a - 2}{a - 1} = \frac{2 \cdot (a - 1)}{a - 1} = 2.$$ **Controllo con un numero.** Con $a$ uguale a 3 viene $y = \frac 12$ e $x = \frac 12$. Prima equazione: $\frac 12 + \frac 12 = 1$. Seconda equazione: $\frac 12 + 3 \cdot \frac 12 = \frac 12 + \frac 32 = 2$. L'errore tipico è dividere per $a - 1$ senza chiedersi se può valere zero. Ogni volta che un pivot contiene una lettera, il caso in cui si annulla va studiato a parte. È il metodo della lezione L12. ::: ::: esercizio esame Come all'esame: quante soluzioni? (appello del 15/01/2026, domanda 6) Il sistema lineare con matrice completa $$\left(\begin{array}{ccc|c} 0 & 1 & 2 & 3 \\ 4 & 5 & 6 & 7 \\ 8 & 9 & 10 & 11 \end{array}\right)$$ ha un numero di soluzioni pari a: (a) un numero finito, maggiore di 1; (b) zero; (c) infinite, che dipendono da 2 parametri; (d) infinite, che dipendono da 1 parametro; (e) una. Trova poi tutte le soluzioni. ::: soluzione **In pratica chiede:** quante liste di tre numeri risolvono il sistema scritto in questa tabella? Le incognite sono 3, perché le colonne prima della barra sono 3. 1. **Serve uno scambio.** In alto a sinistra c'è 0, che non può fare da pivot. Scambio le prime due righe: mossa $R_1 \leftrightarrow R_2$. $$\left(\begin{array}{ccc|c} 4 & 5 & 6 & 7 \\ 0 & 1 & 2 & 3 \\ 8 & 9 & 10 & 11 \end{array}\right)$$ 2. **Zeri sotto il primo pivot.** Il pivot è 4. Nella riga 2 sotto c'è già 0. Nella riga 3 c'è 8. Quante volte togliere la riga 1? $8 : 4 = 2$. La mossa è $R_3 \to R_3 - 2R_1$. Due volte la riga 1 fa $(8, 10, 12 \mid 14)$. Il conto: $(8 - 8,\ 9 - 10,\ 10 - 12 \mid 11 - 14) = (0, -1, -2 \mid -3)$. 3. **Zero sotto il secondo pivot.** Il secondo pivot è l'1 della riga 2. La riga 3 è diventata l'opposto della riga 2. Sommandole viene la riga nulla: mossa $R_3 \to R_3 + R_2$. $$\left(\begin{array}{ccc|c} 4 & 5 & 6 & 7 \\ 0 & 1 & 2 & 3 \\ 0 & 0 & 0 & 0 \end{array}\right)$$ 4. **Risposta al quiz.** I pivot sono due, nelle colonne 1 e 2. Dopo la barra non ce ne sono. Le incognite sono 3, quindi i parametri sono $3 - 2 = 1$. La risposta giusta è la **(d)**. **Tutte le soluzioni.** Chiamo le incognite $x$, $y$, $z$. 5. **L'incognita libera.** La colonna 3 è senza pivot: $z = t$. 6. **Riga 2.** Dice $y + 2z = 3$, cioè $y + 2t = 3$. Quindi $y = 3 - 2t$. 7. **Riga 1.** Dice $4x + 5y + 6z = 7$. Sostituisco $y$ e $z$: viene $4x + 5 \cdot (3 - 2t) + 6t = 7$. Il prodotto fa $15 - 10t$. Quindi $4x + 15 - 10t + 6t = 7$, cioè $4x + 15 - 4t = 7$. 8. **Isolo $x$.** Tolgo 15 e sommo $4t$ ai due lati: $4x = -8 + 4t$. Divido per 4: $x = -2 + t$. $$(x, y, z) = (-2 + t,\ 3 - 2t,\ t), \qquad t \in \R.$$ **Controllo** con $t$ uguale a 0, cioè con $(-2, 3, 0)$, nelle tre equazioni di partenza: $0 + 3 + 0 = 3$, poi $-8 + 15 + 0 = 7$, poi $-16 + 27 + 0 = 11$. Tutte vere. ::: ::: esercizio esame Come all'esame: trovare tutte le soluzioni Trova tutte le soluzioni del sistema $$\begin{cases} x + 2y + 3z = 1 \\ 2x + 5y + 7z = 3 \\ x + 3y + 4z = 2 \end{cases}$$ e scegli la risposta giusta tra: (a) nessuna soluzione; (b) $x = -1 - t,\ y = 1 - t,\ z = t$; (c) $x = 1,\ y = 0,\ z = 0$; (d) $x = -1 + t,\ y = 1 + t,\ z = t$; (e) $x = 1 - 2s,\ y = s,\ z = 0$. ::: soluzione 1. **La matrice completa.** $$\left(\begin{array}{ccc|c} 1 & 2 & 3 & 1 \\ 2 & 5 & 7 & 3 \\ 1 & 3 & 4 & 2 \end{array}\right)$$ 2. **Zeri sotto il primo pivot.** Sotto l'1 ci sono 2 e 1. Le mosse sono $R_2 \to R_2 - 2R_1$ e $R_3 \to R_3 - R_1$. - Riga 2 meno 2 volte la riga 1: $(2 - 2,\ 5 - 4,\ 7 - 6 \mid 3 - 2) = (0, 1, 1 \mid 1)$. - Riga 3 meno la riga 1: $(1 - 1,\ 3 - 2,\ 4 - 3 \mid 2 - 1) = (0, 1, 1 \mid 1)$. 3. **Zero sotto il secondo pivot.** Le due righe nuove sono uguali. La mossa $R_3 \to R_3 - R_2$ dà la riga nulla. 4. **Zero sopra il secondo pivot.** Sopra l'1 della riga 2 c'è 2. La mossa è $R_1 \to R_1 - 2R_2$. Secondo numero: $2 - 2 = 0$. Terzo numero: $3 - 2 = 1$. Ultimo numero: $1 - 2 = -1$. $$\left(\begin{array}{ccc|c} 1 & 0 & 1 & -1 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 0 & 0 \end{array}\right)$$ 5. **Lettura.** I pivot sono nelle colonne 1 e 2. La colonna 3 è senza pivot: $z = t$. 6. **Riga 1.** Dice $x + z = -1$, cioè $x + t = -1$. Quindi $x = -1 - t$. 7. **Riga 2.** Dice $y + z = 1$, cioè $y + t = 1$. Quindi $y = 1 - t$. La risposta giusta è la **(b)**. **Come scartare le altre senza rifare Gauss.** Nel quiz conviene: basta provare una soluzione nelle equazioni. - (c) Provo $(1, 0, 0)$. Prima equazione: $1 + 0 + 0 = 1$, vera. Seconda equazione: $2 + 0 + 0 = 2$, ma doveva fare 3. Scartata. - (d) Con $t$ uguale a 1 dà $(0, 2, 1)$. Prima equazione: $0 + 4 + 3 = 7$, ma doveva fare 1. Scartata. - (e) Con $s$ uguale a 0 dà $(1, 0, 0)$, che ho già scartato. - (a) È falsa perché la (b) funziona. Con $t$ uguale a 0 dà $(-1, 1, 0)$: viene $-1 + 2 = 1$, poi $-2 + 5 = 3$, poi $-1 + 3 = 2$. Tutte vere. ::: ## Domande di ripasso ::: domanda Che cos'è un sistema lineare e che cos'è la sua matrice completa? Un sistema lineare è un gruppo di equazioni lineari nelle stesse incognite, da rispettare tutte insieme. «Lineare» vuol dire che le incognite sono solo moltiplicate per numeri e poi sommate. La matrice completa è il sistema scritto con i soli numeri. Ha una riga per ogni equazione e una colonna per ogni incognita, con dentro i coefficienti. In più ha un'ultima colonna, dopo la barra, con i termini noti. ::: ::: domanda Che cos'è l'insieme $S$ delle soluzioni? È l'insieme di tutte le liste di numeri che rendono vere tutte le equazioni del sistema insieme. Ogni lista ha un numero per ogni incognita. L'insieme può essere vuoto, avere un solo elemento oppure averne infiniti. ::: ::: domanda Quali sono le tre mosse di Gauss? La prima: scambiare due righe. La seconda: moltiplicare una riga per un numero diverso da zero. La terza: sommare a una riga un'altra riga moltiplicata per un numero qualsiasi. Si scrivono $R_i \leftrightarrow R_j$, poi $R_i \to \lambda R_i$, poi $R_i \to R_i + \lambda R_j$. Nella terza le due righe devono essere diverse. ::: ::: domanda Perché nella mossa (II) serve $\lambda \neq 0$? Perché moltiplicando una riga per 0 l'equazione diventa $0 = 0$. L'informazione che conteneva va persa, e le soluzioni possono aumentare. Con un numero diverso da zero invece la mossa si può disfare: basta moltiplicare la riga per $\frac 1\lambda$. ::: ::: domanda Perché le mosse di Gauss non cambiano le soluzioni (Proposizione 11.4)? Per due motivi insieme. Ogni mossa trasforma equazioni vere in equazioni vere. E ogni mossa si può disfare con un'altra mossa dello stesso tipo: lo stesso scambio, la moltiplicazione per $\frac 1\lambda$, la mossa $R_i \to R_i - \lambda R_j$. Quindi una lista di numeri risolve il sistema prima della mossa esattamente quando lo risolve dopo. ::: ::: domanda Che cos'è un pivot? Quando una matrice è a scalini? Il pivot di una riga è il suo primo numero diverso da zero, leggendo da sinistra. Una riga nulla non ha pivot. Una matrice è a scalini quando le righe nulle stanno in fondo e ogni pivot sta più a destra del pivot della riga sopra. ::: ::: domanda Come funziona l'algoritmo di Gauss? Si lavora una colonna alla volta, da sinistra. 1. Cerchi un numero diverso da zero nella colonna e, se serve, lo porti in alto con uno scambio. Se la colonna è tutta di zeri passi alla colonna dopo. 2. Metti zeri sotto il pivot. A ogni riga più in basso togli la riga del pivot, tante volte quanto fa «numero da eliminare diviso pivot». 3. Copri la riga e la colonna del pivot e ripeti sul pezzo che resta. ::: ::: domanda Che cosa aggiunge l'algoritmo di Gauss–Jordan? Dopo la forma a scalini fa due ritocchi. Mette zeri anche sopra i pivot, con la terza mossa. Rende tutti i pivot uguali a 1, con la seconda mossa. Il risultato è la forma a scalini ridotta. Da lì le soluzioni si leggono senza altri conti. ::: ::: domanda Come si riconosce dalla forma a scalini che un sistema non ha soluzioni? C'è un pivot nell'ultima colonna, quella dei termini noti. Vuol dire che una riga ha tutti zeri prima della barra e un numero diverso da zero dopo, come $(0, 0, 0 \mid 5)$. Quella riga è l'equazione $0 = 5$, che è impossibile. Allora $S = \emptyset$. ::: ::: domanda Se non c'è un pivot nell'ultima colonna, come si scrivono le soluzioni? Dai un parametro a ogni incognita la cui colonna non ha pivot. Poi rileggi ogni riga come equazione e porti i parametri a destra dell'uguale, cambiando il segno. Così ricavi le incognite con il pivot. I parametri sono tanti quante le incognite meno i pivot. Se ogni incognita ha il suo pivot non ci sono parametri, e la soluzione è una sola. ::: ::: domanda Che differenza c'è tra una riga $(0, 0, 0 \mid 0)$ e una riga $(0, 0, 0 \mid 3)$? La prima dice $0 = 0$. È sempre vera: non toglie soluzioni e si può ignorare. La seconda dice $0 = 3$. È sempre falsa: il sistema non ha soluzioni. ::: ::: domanda Perché non si possono fare insieme $R_1 \to R_1 - R_2$ e $R_2 \to R_2 - R_1$? Perché la seconda mossa userebbe la riga 1 vecchia, che nel frattempo è cambiata. Il risultato non è una sequenza di mosse di Gauss. Le due righe nuove vengono una l'opposto dell'altra: dicono la stessa cosa, e un'equazione va persa. Dopo ogni mossa si lavora con le righe nuove. ::: ## Glossario ```glossario Sistema lineare | Un gruppo di equazioni lineari nelle stesse incognite, da rispettare tutte insieme. È un indovinello con più indizi. Incognita | Un numero da trovare, indicato con una lettera: $x$, $y$, oppure $x_1$, $x_2$ e così via. Equazione lineare | Un'equazione in cui le incognite sono solo moltiplicate per numeri e poi sommate, come $2x - 3y = 7$. Coefficiente $a_{ij}$ | Il numero che moltiplica un'incognita. $a_{ij}$ è quello dell'equazione numero $i$ davanti all'incognita numero $j$. Termine noto $b_i$ | Il numero a destra dell'uguale nell'equazione numero $i$. Matrice dei coefficienti $A$ | La tabella dei soli coefficienti: una riga per ogni equazione, una colonna per ogni incognita. Vettore dei termini noti $b$ | La colonna con i termini noti, uno per ogni equazione. Matrice completa $C = (A \mid b)$ | La matrice dei coefficienti con accanto, dopo la barra, la colonna dei termini noti. Soluzione | Una lista di numeri, uno per ogni incognita, che rende vere tutte le equazioni del sistema. Insieme delle soluzioni $S$ | L'insieme di tutte le soluzioni. Può essere vuoto, avere un solo elemento oppure averne infiniti. Mosse di Gauss | Tre riscritture che non cambiano le soluzioni: scambiare due righe, moltiplicare una riga per un numero diverso da zero, sommare a una riga un multiplo di un'altra. Pivot | Il primo numero diverso da zero di una riga, leggendo da sinistra. Una riga di soli zeri non ha pivot. Riga nulla | Una riga fatta solo di zeri. Come equazione dice $0 = 0$. Matrice a scalini | Una matrice con le righe nulle in fondo e ogni pivot più a destra del pivot della riga sopra. Sostituzione all'indietro | Risolvere un sistema a scalini partendo dall'ultima equazione e risalendo. Algoritmo di Gauss | La ricetta che porta a scalini qualsiasi matrice: una colonna alla volta, un pivot in alto e zeri sotto. Algoritmo di Gauss–Jordan | L'algoritmo di Gauss, e poi due ritocchi: zeri anche sopra i pivot, e pivot uguali a 1. Forma a scalini ridotta | Il risultato di Gauss–Jordan: ogni pivot vale 1 ed è l'unico numero diverso da zero della sua colonna. Variabile libera (parametro) | Un'incognita la cui colonna non ha pivot. Il suo valore lo scegli tu: le si dà un parametro, come $t$. Sistema impossibile | Un sistema senza soluzioni. Nella forma a scalini ha un pivot nell'ultima colonna, cioè una riga come $0 = 5$. ``` ## Checklist ```checklist - So scrivere la matrice completa di un sistema, mettendo in ordine le incognite, gli zeri e i termini noti. - So elencare le tre mosse di Gauss con i loro due divieti: mai moltiplicare per zero, e nella terza mossa le due righe sono diverse. - So spiegare perché le mosse di Gauss non cambiano l'insieme delle soluzioni. - So trovare i pivot e dire se una matrice è a scalini. - So applicare l'algoritmo di Gauss, anche quando in alto c'è uno zero o una colonna è tutta di zeri. - So completare con Gauss–Jordan: zeri sopra i pivot e pivot uguali a 1. - So riconoscere un sistema impossibile da una riga con tutti zeri prima della barra e un numero diverso da zero dopo. - So scrivere tutte le soluzioni con i parametri, uno per ogni colonna senza pivot. - So rispondere in pochi minuti al quiz «quante soluzioni?» contando pivot e incognite. - So controllare una soluzione sostituendola nelle equazioni di partenza. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 11 «Sistemi Lineari I», pp. 50–55: le sezioni 11.A–11.E sono seguite in ordine, con la pagina indicata accanto a ogni titolo; definizioni, proposizione ed esempi mantengono la loro numerazione (Definizioni 11.1, 11.2 e 11.5, Proposizione 11.4, Esempi 11.3 e 11.6–11.10, Esercizio 11.11). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §3.1 «Algoritmi di risoluzione» (pp. 79–85), da cui vengono anche l'Esempio 3.1.2, la scrittura delle soluzioni come vettori e l'osservazione sulla libertà nella scelta delle mosse. - **Appelli d'esame** di Algebra lineare 2023/24–2025/26 con soluzioni ufficiali (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): riportate le domande 10 del 24/01/2024, 10 del 16/01/2025, 1 del 02/09/2025 e 6 del 15/01/2026; citate le domande sul numero di soluzioni degli altri appelli e la domanda 6 del 10/07/2024. Le soluzioni qui sono scritte da capo. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (i tre finali nel disegno, i trucchi per i conti a mano, la forma ridotta che è sempre la stessa, le soluzioni scritte come vettori) collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L12_sistemi_lineari_2.md` ```yaml corso: MDAG modulo: AG lezione: L12 titolo: Sistemi lineari II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L12 descrizione: >- Appunti della lezione L12 di Algebra lineare e Geometria (MDAG, parte 2): sistema omogeneo associato, soluzione particolare, sottospazi affini, rango e pivot, teorema di Rouché–Capelli, sistemi quadrati e sistemi con un parametro, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Perché un sistema lineare ha sempre zero, una o infinite soluzioni, e mai due? Tutte le soluzioni sono una soluzione di partenza più gli spostamenti permessi, e contando i pivot si sa in anticipo quante sono. In fondo, il metodo per i sistemi con un parametro, uno dei due problemi da 11 punti in molti appelli. materiale: dispense scheda: Dispense: lezione 12 · pp. 56–61 Libro: Martelli, §3.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 12 «Sistemi lineari II»; B. Martelli, Geometria e algebra lineare, §3.2 appunti_html: appunti/MDAG/L12_sistemi_lineari_2.html genera_html: true ``` ## In breve - Un sistema è un indovinello con più indizi. Il **sistema omogeneo associato** ha gli stessi indizi, ma tutti finiscono con «= 0». La soluzione zero c'è sempre, e le sue soluzioni formano un **sottospazio**. - **Tutte le soluzioni** di un sistema sono: una soluzione di partenza, la **soluzione particolare**, più tutte le soluzioni del sistema omogeneo, cioè gli spostamenti permessi. - Un insieme così, un sottospazio spostato, si chiama **sottospazio affine**: un punto, una retta o un piano che non passa per forza per l'origine. - Il **rango** di una matrice si conta con i pivot di una forma a scalini. - **Teorema di Rouché–Capelli**: confrontando il rango della matrice dei coefficienti con quello della matrice completa si sa se ci sono soluzioni, e quante incognite restano libere. - Le soluzioni sono zero, una o infinite: mai due, mai «un numero finito maggiore di 1». - Con una matrice quadrata: una sola soluzione esattamente quando il determinante non è zero. Se è zero, le soluzioni sono zero **oppure** infinite. - Nei sistemi con un parametro si cercano i valori speciali della lettera e si studiano a parte. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Gli indizi che finiscono con zero (p. 56) Nella lezione L11 hai imparato a **risolvere** un sistema con le mosse di Gauss. Questa lezione guarda il problema dall'alto: che **forma** ha l'insieme delle soluzioni, e come si capisce in anticipo se ci sono e quante. Parti da un indizio solo: «due numeri la cui somma fa 2», cioè $x + y = 2$. Le soluzioni sono tante: $$(2, 0), \quad (1, 1), \quad (0, 2), \quad (3, -1), \quad \dots$$ In generale, se il secondo numero è $t$, il primo è $2 - t$. Nel disegno sono i punti di una retta. Ora cambia l'indizio mettendo zero al posto del 2: $x + y = 0$. Le soluzioni sono $(0, 0)$, $(-1, 1)$, $(1, -1)$, …: se il secondo è $t$, il primo è $-t$. Un'altra retta, **parallela** alla prima, che passa per l'origine. ```grafico titolo: Le soluzioni di $x + y = 2$ (retta $S$) sono quelle di $x + y = 0$ (retta $S_0$) spostate del vettore $(2, 0)$ x: -3 4 y: -3 4 retta: 2 0 0 2 | accento | $S$ | ne retta: 0 0 -2 2 | blu | $S_0$ | ne vettore: 2 0 | ambra | $(2, 0)$ | se vettore: 0 0 -1 1 | verde | $(-1, 1)$ | so vettore: 2 0 1 1 | verde | tratteggio ``` Guarda il disegno. Ogni soluzione della prima retta si ottiene da una della seconda aggiungendo $(2, 0)$, che è a sua volta una soluzione della prima, perché $2 + 0 = 2$. Con i numeri: $$(2 - t,\ t) = (2, 0) + (-t,\ t).$$ Tutta la lezione è in questa riga. ### Il nome Il sistema generale, come nella lezione L11, ha $k$ equazioni e $n$ incognite: $$\begin{cases} a_{11}x_1 + \cdots + a_{1n}x_n = b_1, \\ \qquad \vdots \\ a_{k1}x_1 + \cdots + a_{kn}x_n = b_k. \end{cases} \qquad (12.1)$$ I numeri $b_1, \dots, b_k$ a destra sono i **termini noti**. Mettendoli tutti a zero si ottiene un nuovo sistema. Le dispense lo chiamano così. > [!DEF] 12.1 · Sistema omogeneo associato > Il **sistema omogeneo associato** è quello ottenuto semplicemente mettendo a zero tutti i termini noti $b_i$, cioè: > $$\begin{cases} a_{11}x_1 + \cdots + a_{1n}x_n = 0, \\ \qquad \vdots \\ a_{k1}x_1 + \cdots + a_{kn}x_n = 0. \end{cases} \qquad (12.2)$$ **Come si legge.** - **Omogeneo** vuol dire «con tutti i termini noti uguali a zero». I numeri a sinistra restano **gli stessi** del sistema di partenza: cambia solo la colonna di destra. - Se $A$ è la matrice dei coefficienti e $b$ la colonna dei termini noti, il sistema di partenza ha matrice completa $(A \mid b)$. Il sistema omogeneo ha matrice completa $(A \mid 0)$, o più in breve solo $A$: la colonna di zeri non cambia con le mosse di Gauss, quindi non serve scriverla. - Le dispense chiamano $S$ l'insieme delle soluzioni del sistema di partenza e $S_0$ quello delle soluzioni del sistema omogeneo. > [!ESEMPIO] Un sistema e il suo omogeneo > $$\begin{cases} x + 2y - z = 3 \\ 2x + 4y + z = 3 \end{cases} \quad \longrightarrow \quad \begin{cases} x + 2y - z = 0 \\ 2x + 4y + z = 0 \end{cases}$$ > Le matrici sono $(A \mid b) = \left(\begin{array}{ccc|c} 1 & 2 & -1 & 3 \\ 2 & 4 & 1 & 3 \end{array}\right)$ e $(A \mid 0) = \left(\begin{array}{ccc|c} 1 & 2 & -1 & 0 \\ 2 & 4 & 1 & 0 \end{array}\right)$: la stessa $A$, un'altra colonna a destra. ### Le soluzioni dell'omogeneo formano un sottospazio Per l'omogeneo, la soluzione con tutti zeri c'è sempre. E le soluzioni si possono sommare e moltiplicare senza perdere niente. Le dispense lo scrivono così. > [!PROP] 12.2 > Le soluzioni $S_0 \subset \K^n$ formano un sottospazio vettoriale di $\K^n$. **Come si legge.** $S_0$ è una «stanza» nel senso della lezione L06: contiene lo zero, e sommando o moltiplicando per un numero delle soluzioni dell'omogeneo si resta tra le soluzioni. Bisogna controllare le tre condizioni di sottospazio (Definizione 6.2, lezione L06). Prendo una delle equazioni, $a_{i1}x_1 + \cdots + a_{in}x_n = 0$. 1. **Lo zero è una soluzione.** Con tutte le incognite a zero: $a_{i1} \cdot 0 + \cdots + a_{in} \cdot 0 = 0$. 2. **Somma.** Se $x$ e $y$ sono soluzioni, anche $x + y$ lo è. Raccogliendo: $$a_{i1}(x_1 + y_1) + \cdots + a_{in}(x_n + y_n) = (a_{i1}x_1 + \cdots + a_{in}x_n) + (a_{i1}y_1 + \cdots + a_{in}y_n) = 0 + 0 = 0.$$ 3. **Multipli.** Se $x$ è una soluzione e $\lambda$ un numero, anche $\lambda x$ lo è: $$a_{i1}(\lambda x_1) + \cdots + a_{in}(\lambda x_n) = \lambda(a_{i1}x_1 + \cdots + a_{in}x_n) = \lambda \cdot 0 = 0.$$ Lo stesso vale per tutte le equazioni, quindi $S_0$ è un sottospazio. ### Il sistema di partenza invece no Con termini noti diversi da zero le cose cambiano. Se un termine noto $b_i$ non è zero, mettendo tutte le incognite a zero l'equazione dice $0 = b_i$: falso. Quindi lo zero **non** è una soluzione, e l'insieme $S$ non è un sottospazio. Si rompe anche la somma. Nell'esempio di prima, $(3, 0, 0)$ e $(1, 1, 0)$ risolvono la prima equazione, $x + 2y - z = 3$. La loro somma $(4, 1, 0)$ dà $4 + 2 - 0 = 6$, non 3. > [!TRAPPOLA] Il sistema omogeneo non è mai impossibile > Un sistema omogeneo ha **sempre** almeno la soluzione zero: non può mai avere nessuna soluzione. Nella forma a scalini la colonna di destra resta tutta di zeri, quindi non c'è mai un pivot nell'ultima colonna. Per un sistema omogeneo la domanda interessante è un'altra: c'è **solo** la soluzione zero, o ce ne sono altre? ::: prova Scrivi il sistema omogeneo associato a $x - y = 4$, $3x + y = 1$. Lo zero risolve il sistema di partenza? E l'omogeneo? L'omogeneo è $x - y = 0$, $3x + y = 0$. Lo zero non risolve il sistema di partenza ($0 - 0 = 0$, non 4), ma risolve l'omogeneo. ::: > [!RICORDA] > - Il sistema omogeneo associato ha gli stessi numeri a sinistra e tutti zeri a destra. > - Le soluzioni dell'omogeneo formano un sottospazio; quelle del sistema di partenza, con termini noti non tutti zero, no. ## Una soluzione più gli spostamenti permessi (pp. 57–58) Torna al disegno iniziale: la retta delle soluzioni di $x + y = 2$ è la retta dell'omogeneo, spostata. Succede sempre così. Le dispense lo scrivono in questo modo. > [!PROP] 12.3 > Se $S \neq \emptyset$, allora $S$ è ottenuto prendendo una qualsiasi soluzione $x \in S$ e aggiungendo a questa tutti i vettori di $S_0$. **Come si legge.** $\emptyset$ è l'insieme vuoto: «se ci sono soluzioni». Allora tutte le soluzioni si ottengono così: se ne prende una qualsiasi, e le si aggiungono, una alla volta, tutte le soluzioni dell'omogeneo. Le soluzioni dell'omogeneo sono gli **spostamenti permessi**: muovendosi così si passa da una soluzione all'altra. Perché vale, in due passi. Fisso una soluzione $x$ del sistema di partenza. 1. **Una soluzione più uno spostamento permesso è ancora una soluzione.** Se $x'$ risolve l'omogeneo, allora in ogni equazione $$a_{i1}(x_1 + x'_1) + \cdots + a_{in}(x_n + x'_n) = (a_{i1}x_1 + \cdots + a_{in}x_n) + (a_{i1}x'_1 + \cdots + a_{in}x'_n) = b_i + 0 = b_i.$$ 2. **Ogni soluzione si ottiene così.** Se $x''$ è un'altra soluzione, la differenza $x' = x'' - x$ risolve l'omogeneo: $$a_{i1}(x''_1 - x_1) + \cdots + a_{in}(x''_n - x_n) = b_i - b_i = 0.$$ Quindi $x'' = x + x'$, con $x'$ soluzione dell'omogeneo. Il punto 1 dice che tutte le somme «soluzione più spostamento» sono soluzioni; il punto 2 dice che non ce ne sono altre. La soluzione fissata si chiama **soluzione particolare**. > [!IDEA] la formula da ricordare > **Tutte le soluzioni = una soluzione particolare + tutte le soluzioni del sistema omogeneo associato.** In simboli $S = x + S_0$, quando ci sono soluzioni. La soluzione particolare può essere **qualsiasi**: cambiandola, l'insieme delle soluzioni resta lo stesso. > [!ESEMPIO] 12.4 · Una retta di soluzioni in $\R^3$ > Prendiamo il sistema in $\R^3$ > $$\begin{cases} x - y + z = 1 \\ y - z = 2 \end{cases}$$ > **Il sistema omogeneo associato** è $x - y + z = 0$, $y - z = 0$. Dalla seconda $y = z$; nella prima $x - z + z = 0$, cioè $x = 0$. Con $z = t$ le soluzioni sono precisamente i vettori > $$S_0 = \left\{ \begin{pmatrix} 0 \\ t \\ t \end{pmatrix} \ \middle|\ t \in \R \right\} = \Span\left(\begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}\right).$$ > **Una soluzione particolare** è $(3, 0, -2)$: controllo $3 - 0 + (-2) = 1$ e $0 - (-2) = 2$. > > **Tutte le soluzioni** si ottengono sommando: > $$\begin{pmatrix} 3 \\ 0 \\ -2 \end{pmatrix} + \begin{pmatrix} 0 \\ t \\ t \end{pmatrix} = \begin{pmatrix} 3 \\ t \\ t - 2 \end{pmatrix}, \qquad t \in \R.$$ Da dove viene la soluzione particolare? Dalle mosse di Gauss, come nella lezione L11: $$\left(\begin{array}{ccc|c} 1 & -1 & 1 & 1 \\ 0 & 1 & -1 & 2 \end{array}\right) \xrightarrow{R_1 \to R_1 + R_2} \left(\begin{array}{ccc|c} 1 & 0 & 0 & 3 \\ 0 & 1 & -1 & 2 \end{array}\right)$$ La colonna di $z$ non ha pivot, quindi $z$ è libera: $z = u$. Poi $x = 3$ e $y = 2 + u$. Separando la parte con $u$: $$\begin{pmatrix} 3 \\ 2 + u \\ u \end{pmatrix} = \begin{pmatrix} 3 \\ 2 \\ 0 \end{pmatrix} + u \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}.$$ Con $u = 0$ si trova la soluzione particolare $(3, 2, 0)$, diversa da quella delle dispense. La parte con $u$ è proprio $S_0$. L'insieme è **lo stesso** di prima: la soluzione $(3, 0, -2)$ delle dispense è quella con $u = -2$ (Martelli, p. 87, fa proprio questo confronto). > [!METODO] Soluzione particolare e spostamenti in un colpo solo > Risolvi il sistema con Gauss e scrivi le soluzioni separando la parte di ogni lettera libera: $x = x_0 + t_1 v_1 + \cdots + t_h v_h$. Allora: > 1. $x_0$, con tutte le lettere a zero, è una soluzione particolare; > 2. le soluzioni dell'omogeneo sono lo Span di $v_1, \dots, v_h$. ::: prova Le soluzioni di un sistema sono $(1 + t,\ 2,\ -t)$ al variare di $t$. Scrivi una soluzione particolare e le soluzioni dell'omogeneo. Con $t = 0$: la soluzione particolare $(1, 2, 0)$. La parte con $t$ è $t(1, 0, -1)$: le soluzioni dell'omogeneo sono lo Span di $(1, 0, -1)$. ::: ### Sottospazi affini Una retta che non passa per l'origine non è un sottospazio, ma è un sottospazio **spostato**. Le dispense danno un nome a questi insiemi. > [!DEF] 12.5 · Sottospazio affine > Geometricamente, $S$ è un sottospazio affine. Sia $V$ uno spazio vettoriale. Un **sottospazio affine** di $V$ è un qualsiasi sottoinsieme del tipo > $$S = \{x + v \mid v \in W\} =: x + W$$ > dove $x$ è un punto fissato di $V$ e $W \subset V$ è un sottospazio vettoriale. La **dimensione di $S$** è la dimensione del sottospazio $W$. **Come si legge.** - $x + W$ è il sottospazio $W$ **spostato** del vettore $x$: a ogni vettore di $W$ si somma $x$. - Il simbolo $=:$ vuol dire «e chiamiamo questo insieme»: è il nome abbreviato $x + W$. - La dimensione è quella di $W$ e non dipende da $x$: spostare una retta non la fa diventare un piano. - Casi tipici: con $W$ fatto solo dallo zero si ottiene un **punto** (dimensione 0); con $W$ lo Span di un vettore diverso da zero, una **retta** (dimensione 1); con $W$ lo Span di due vettori indipendenti, un **piano** (dimensione 2). - Martelli chiama $W$ la **giacitura**: la direzione, senza la posizione. Per le soluzioni di un sistema la giacitura è $S_0$. > [!ESEMPIO] La stessa retta scritta in due modi (dal libro di Martelli, Esempio 3.2.5) > Sia $W = \Span\big((1, 1)\big)$ in $\R^2$. Le due rette affini > $$r_1 = (1, 0) + W = \{(1 + t,\ t) \mid t \in \R\},$$ > $$r_2 = (0, -1) + W = \{(u,\ u - 1) \mid u \in \R\}$$ > sono **la stessa retta**, di equazione $y = x - 1$: nella prima $y = t = x - 1$, nella seconda $y = u - 1 = x - 1$. Il punto di partenza cambia, la giacitura no. Funziona perché la differenza dei due punti, $(1, 0) - (0, -1) = (1, 1)$, sta in $W$. ```grafico titolo: La retta $y = x - 1$ è $(1, 0) + W$ ma anche $(0, -1) + W$, con $W = \Span((1, 1))$ tratteggiato x: -3 4 y: -3 4 retta: 0 0 1 1 | grigio | tratteggio | $W$ | no retta: 1 0 3 2 | accento | $y = x - 1$ | se punto: 1 0 | blu | $(1, 0)$ | se punto: 0 -1 | blu | $(0, -1)$ | e vettore: 1 0 2 1 | ambra | $(1, 1)$ | n ``` > [!APPROFONDIMENTO] quando un sottospazio affine è un sottospazio vettoriale > $x + W$ passa per l'origine esattamente quando $x$ sta in $W$, e in quel caso $x + W = W$: è un sottospazio vettoriale. Per esempio $(2, 2) + \Span\big((1, 1)\big)$ è la retta $y = x$, che passa per l'origine. Per i sistemi: $S$ è un sottospazio vettoriale esattamente quando contiene lo zero, cioè quando il sistema è omogeneo. > [!RICORDA] > - Tutte le soluzioni = una soluzione particolare + le soluzioni dell'omogeneo. > - Un sottospazio affine è un sottospazio spostato; la sua dimensione è quella del sottospazio. ## Il sistema letto per colonne (p. 58) Riprendi l'indovinello della lezione L11: «due numeri, la somma fa 5, la differenza fa 1». Cioè $x + y = 5$ e $x - y = 1$. Lo riscrivo mettendo in evidenza le colonne dei numeri: $$x \begin{pmatrix} 1 \\ 1 \end{pmatrix} + y \begin{pmatrix} 1 \\ -1 \end{pmatrix} = \begin{pmatrix} 5 \\ 1 \end{pmatrix}.$$ Letto così, il sistema chiede una **ricetta**: con quali dosi $x$ e $y$ le due colonne danno il vettore $(5, 1)$? Con $x = 3$ e $y = 2$: $3 \cdot (1, 1) + 2 \cdot (1, -1) = (5, 1)$. In generale, chiamo $A^1, \dots, A^n$ le colonne di $A$, con il numero in alto come nella lezione L08. Il sistema diventa $$x_1A^1 + \cdots + x_nA^n = b.$$ Quindi ci sono soluzioni **esattamente quando** $b$ si ottiene con una ricetta dalle colonne di $A$, cioè $$b \in \Span\left(A^1, \dots, A^n\right).$$ > [!ESEMPIO] Quando $b$ esce dallo Span delle colonne > Il sistema $x + 2y = 1$, $2x + 4y = 3$ si scrive $x(1, 2) + y(2, 4) = (1, 3)$. > 1. Le due colonne sono una multipla dell'altra: $(2, 4) = 2 \cdot (1, 2)$. Lo Span è solo la retta $y = 2x$. > 2. Il vettore $b = (1, 3)$ non sta su questa retta: dovrebbe avere seconda coordinata $2 \cdot 1 = 2$, e invece ha 3. > 3. Nessuna ricetta con le colonne dà $b$: il sistema non ha soluzioni. > > Con Gauss: $R_2 \to R_2 - 2R_1$ dà la riga $(0, 0 \mid 1)$, cioè $0 = 1$. ```grafico titolo: Le colonne $A^1 = (1, 2)$ e $A^2 = (2, 4)$ generano solo la retta tratteggiata; $b = (1, 3)$ è fuori x: -1 5 y: -1 5 retta: 0 0 1 2 | grigio | tratteggio vettore: 2 4 | blu | $A^2$ | e vettore: 1 2 | accento | spesso | $A^1$ | e vettore: 1 3 | ambra | $b$ | no ``` ### Il rango si conta con i pivot Nella lezione L08 il **rango** di una matrice è stato definito come la dimensione dello Span delle colonne, cioè quante colonne dicono davvero qualcosa di nuovo. Ora serve un modo pratico per calcolarlo. Le dispense lo ricavano in tre passi. 1. **Le mosse di Gauss non cambiano lo Span delle righe.** Ogni riga nuova è una ricetta con le righe vecchie. E ogni mossa si può disfare (lezione L11), quindi vale anche il contrario. Le mosse non cambiano il rango per righe, che è uguale al rango per colonne (Proposizione 8.6). 2. **Nella forma ridotta si vede tutto.** Alla fine di Gauss le colonne con i pivot diventano i vettori $e_1, e_2, \dots$ della base canonica. Tutte le altre colonne sono ricette con questi. 3. **Quindi** lo Span delle colonne della forma ridotta è generato da tanti vettori della base canonica quanti sono i pivot. La sua dimensione è il numero dei pivot. > [!PROP] Rango e pivot (p. 58) > Il rango di $A$ è il numero di pivot in una sua (qualsiasi) riduzione a scalini. **Come si legge.** Per calcolare il rango: mosse di Gauss fino a una forma a scalini, poi si contano i pivot. Non importa quali mosse si usano: il numero di pivot viene sempre lo stesso. > [!ESEMPIO] Il rango letto sulla forma ridotta > Nella matrice ridotta $R = \begin{pmatrix} 1 & 2 & 0 & 3 \\ 0 & 0 & 1 & 4 \\ 0 & 0 & 0 & 0 \end{pmatrix}$ i pivot sono nelle colonne 1 e 3, che sono $e_1 = (1, 0, 0)$ ed $e_2 = (0, 1, 0)$. Le altre colonne sono ricette con queste: la colonna 2 è $(2, 0, 0) = 2e_1$ e la colonna 4 è $(3, 4, 0) = 3e_1 + 4e_2$. Lo Span delle colonne è lo Span di $e_1$ ed $e_2$, di dimensione 2: il rango è 2, il numero dei pivot. > [!NOTA] Attenzione alle lettere > In questo passaggio le dispense scrivono che le colonne con i pivot diventano «i primi $k$ vettori $e_1, \dots, e_k$ della base canonica di $\K^m$»: qui $k$ è il **numero dei pivot** e $m$ il **numero delle righe** di $A$ (lo spazio in cui vivono le colonne). Nel sistema (12.1), invece, $k$ era il numero delle equazioni. È solo un cambio di lettere, ma conviene saperlo quando si rilegge la pagina 58. ```widget gauss titolo: Calcola il rango con i pivot matrice: 1 2 0 1; 2 4 1 3; 3 6 1 4 modo: rango modi: rango scala ridotta ``` Premi «Calcola»: la matrice ha 3 righe e 4 colonne, ma dopo Gauss restano solo 2 righe non nulle, quindi il rango è 2. Prova poi a cambiare l'ultimo numero da 4 a 5: la terza riga non è più la somma delle prime due e il rango sale a 3. ::: prova Qual è il rango di $\begin{pmatrix} 1 & 2 \\ 3 & 6 \end{pmatrix}$? $R_2 \to R_2 - 3R_1$ dà la riga $(0, 0)$. Resta un pivot solo: rango 1. Infatti la seconda riga è il triplo della prima. ::: > [!RICORDA] > - Un sistema ha soluzioni esattamente quando la colonna dei termini noti è una ricetta con le colonne di $A$. > - Il rango si calcola contando i pivot di una forma a scalini. ## Contare i pivot: il teorema di Rouché–Capelli (pp. 58–59) Nella lezione L11 il sistema era impossibile quando compariva un indizio assurdo. Per esempio la riga $0 = 1$: un pivot nell'ultima colonna, quella dei termini noti. E le incognite libere erano quelle senza pivot. Contando i pivot, quindi, si sa tutto. I pivot di $A$ sono il suo rango. I pivot della matrice completa, con l'ultima colonna, sono il rango di $(A \mid b)$. Ci sono due casi soltanto: - i due ranghi sono **uguali**: nessun pivot nell'ultima colonna, il sistema ha soluzioni; - quello della completa è **più grande di uno**: c'è un pivot nell'ultima colonna, il sistema è impossibile. Le dispense lo scrivono così. È il teorema più importante della lezione. > [!TEOREMA] 12.6 · Rouché–Capelli > Il sistema (12.1) ha soluzioni se e solo se > $$\rk(A \mid b) = \rk(A).$$ > In caso affermativo, lo spazio delle soluzioni $S \subset \K^n$ è un sottospazio affine di dimensione $n - \rk(A)$. **Come si legge.** - $\rk(A)$ è il rango della matrice dei coefficienti; $\rk(A \mid b)$ quello della matrice completa, che ha una colonna in più. - Una colonna in più non abbassa mai il rango, e lo alza al massimo di 1. Quindi o i due ranghi sono uguali, o quello della completa è più grande di uno. - $n$ è il numero di **incognite**, cioè di colonne di $A$. La dimensione $n - \rk(A)$ è il numero di **incognite libere**, quelle che scegli tu. - Il numero di equazioni non entra nel conto della dimensione. > [!DIM] del Teorema 12.6 > La dimostrazione delle dispense, passo per passo. > 1. Il sistema ha soluzioni esattamente quando $b$ sta nello Span delle colonne di $A$ (sezione precedente). > 2. Questo succede esattamente quando aggiungere $b$ alle colonne non allarga lo Span: > $$\Span\left(A^1, \dots, A^n, b\right) = \Span\left(A^1, \dots, A^n\right).$$ > Se $b$ è una ricetta con le colonne, ogni ricetta con le colonne e $b$ è già una ricetta con le sole colonne. Se invece non lo è, lo Span con $b$ è più grande. > 3. Due sottospazi uno dentro l'altro coincidono esattamente quando hanno la stessa dimensione, e le dimensioni qui sono i due ranghi. > 4. Se ci sono soluzioni, $S = x + S_0$ (Proposizione 12.3), quindi la dimensione di $S$ è quella di $S_0$ (Definizione 12.5). > 5. Resta da contare la dimensione di $S_0$. Con Gauss le soluzioni dell'omogeneo si scrivono $t_1v_1 + \cdots + t_hv_h$, con un vettore per ogni colonna senza pivot: $h = n - \rk(A)$. Questi vettori generano $S_0$ e sono indipendenti: $v_i$ ha un 1 al posto della $i$-esima incognita libera e 0 ai posti delle altre incognite libere. Se $t_1v_1 + \cdots + t_hv_h = 0$, guardando il posto della $i$-esima incognita libera si trova $t_i = 0$. > 6. Quindi la dimensione di $S$ è $n - \rk(A)$. > [!ESEMPIO] Tre sistemi, tre verdetti > 1. $\left(\begin{array}{cc|c} 1 & 1 & 5 \\ 1 & -1 & 1 \end{array}\right)$: i due ranghi valgono 2, e le incognite sono 2. Soluzioni, con $2 - 2 = 0$ incognite libere: un punto, $(3, 2)$. > 2. $\left(\begin{array}{cc|c} 1 & 2 & 1 \\ 2 & 4 & 3 \end{array}\right)$: dopo $R_2 \to R_2 - 2R_1$ diventa $\left(\begin{array}{cc|c} 1 & 2 & 1 \\ 0 & 0 & 1 \end{array}\right)$. $A$ ha un pivot, la completa due: ranghi 1 e 2, nessuna soluzione. > 3. Esempio 12.4: $\left(\begin{array}{ccc|c} 1 & -1 & 1 & 1 \\ 0 & 1 & -1 & 2 \end{array}\right)$ è già a scalini. I due ranghi valgono 2, le incognite sono 3: soluzioni, con $3 - 2 = 1$ incognita libera, una retta. ::: prova Un sistema ha 4 incognite, e i due ranghi valgono tutti e due 3. Ci sono soluzioni? Quante incognite libere? Sì, perché i ranghi sono uguali. Le incognite libere sono $4 - 3 = 1$: le soluzioni sono una retta. ::: ### Zero, una o infinite Da Rouché–Capelli viene subito il conteggio delle soluzioni. Qui i numeri sono quelli di sempre, reali o complessi. > [!COROLLARIO] 12.7 > Il sistema (12.1) ha $0$, $1$ oppure $\infty$ soluzioni. Più precisamente, le soluzioni sono > - $0$ se $\rk(A \mid b) > \rk A$, > - $1$ se $\rk(A \mid b) = \rk A = n$, > - $\infty$ se $\rk(A \mid b) = \rk A < n$. **Come si legge.** Se i ranghi sono diversi: nessuna soluzione. Se sono uguali e valgono quanto le incognite: nessuna incognita libera, una soluzione sola. Se sono uguali ma più piccoli del numero di incognite: almeno un'incognita libera, che può prendere infiniti valori, e valori diversi danno soluzioni diverse. | $\rk(A)$ | $\rk(A \mid b)$ | Soluzioni | Incognite libere | |---|---|---|---| | $r$ | $r + 1$ | nessuna | — | | $n$ | $n$ | una sola | 0 | | $r < n$ | $r$ | infinite | $n - r$ | > [!APPROFONDIMENTO] perché serve un campo infinito > Nella parte di Matematica Discreta si lavora anche con insiemi finiti di numeri, come $\Z_2 = \{0, 1\}$. Lì un'incognita libera può prendere solo 2 valori, e un sistema con $h$ incognite libere ha esattamente $2^h$ soluzioni: per esempio $x + y = 1$ su $\Z_2$ ha le due soluzioni $(1, 0)$ e $(0, 1)$. Con i numeri reali e complessi, quelli dell'esame, questo non succede: la risposta «un numero finito, maggiore di 1» nei quiz è sempre sbagliata. ### Sistemi quadrati Quando le equazioni sono tante quante le incognite, la matrice $A$ è quadrata e c'è un'altra strada: il determinante (lezioni L09 e L10). Le dispense lo scrivono così. > [!COROLLARIO] 12.8 > Se $A$ è una matrice quadrata (allora il numero di equazioni è uguale al numero di variabili), il sistema $Ax = b$ ha esattamente una soluzione se $\rk A = n \Leftrightarrow \det A \neq 0$. In questo caso $A$ è invertibile e la soluzione è $x = A^{-1}b$. **Come si legge.** - $Ax = b$ è il sistema scritto con il prodotto riga per colonna (lezione L08): la riga $i$ di $A$ per la colonna delle incognite dà la parte sinistra dell'equazione $i$. - La freccia doppia si legge «se e solo se»: rango $n$ e determinante diverso da zero sono la stessa cosa (lezione L10). - In quel caso c'è una sola soluzione, per **qualsiasi** colonna di termini noti: la matrice completa ha solo $n$ righe, quindi anche il suo rango è $n$. - La formula: $A$ è invertibile, e moltiplicando $Ax = b$ a sinistra per l'inversa si ottiene $x = A^{-1}b$. L'inversa disfa $A$. > [!ESEMPIO] Un sistema 2 × 2 risolto con l'inversa > $\begin{cases} x + 2y = 5 \\ 3x + 4y = 6 \end{cases}$, cioè $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ e $b = \begin{pmatrix} 5 \\ 6 \end{pmatrix}$. > 1. $\det A = 1 \cdot 4 - 2 \cdot 3 = -2$, non zero: una sola soluzione. > 2. L'inversa, con la regola delle $2 \times 2$ (lezione L10): scambio la diagonale, cambio segno agli altri due, divido per $-2$. Viene $A^{-1} = \begin{pmatrix} -2 & 1 \\ \frac 32 & -\frac 12 \end{pmatrix}$. > 3. $x = A^{-1}b = \begin{pmatrix} -2 \cdot 5 + 1 \cdot 6 \\ \frac 32 \cdot 5 - \frac 12 \cdot 6 \end{pmatrix} = \begin{pmatrix} -4 \\ \frac 92 \end{pmatrix}$. > 4. Controllo: $-4 + 2 \cdot \frac 92 = -4 + 9 = 5$ e $3 \cdot (-4) + 4 \cdot \frac 92 = -12 + 18 = 6$. > [!TRAPPOLA] Determinante zero non vuol dire «nessuna soluzione» > Il Corollario 12.8 parla solo del caso con determinante diverso da zero. Se il determinante è zero, le soluzioni sono **zero oppure infinite**, e dipende dai termini noti: bisogna confrontare i due ranghi. Con $A = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}$, che ha determinante zero: con $b = (1, 1)$ le due equazioni sono uguali e le soluzioni sono infinite; con $b = (1, 2)$ le equazioni $x + y = 1$ e $x + y = 2$ si contraddicono, e non ce n'è nessuna. > [!OLTRE] il caso omogeneo, da tenere a mente per gli autovettori > Per un sistema omogeneo $Ax = 0$ i due ranghi sono sempre uguali: la colonna di zeri non aggiunge niente. Le soluzioni ci sono sempre e formano un sottospazio di dimensione $n - \rk(A)$ (Martelli, Corollario 3.2.16). Se $A$ è quadrata, ci sono soluzioni **diverse da zero** esattamente quando il determinante è zero. Questa frase tornerà nelle lezioni L17–L18: gli autovettori sono proprio le soluzioni diverse da zero di $(A - \lambda I)x = 0$. > [!NOTA] Collegamento con l'informatica: programmazione lineare e simplesso (p. 59) > Le dispense accennano a un problema che si studia in un corso successivo di ottimizzazione: trovare il massimo di ${}^tc\,x$ tra i vettori con $Ax = b$ e $x \ge 0$ (**programmazione lineare**). Il **metodo del simplesso** usa tutti i concetti visti fin qui. Se $A$ ha $m$ righe e rango $m$, una *base* del simplesso è una scelta di $m$ colonne indipendenti di $A$: formano una matrice quadrata $A_B$ invertibile. Si mettono a zero le variabili delle altre colonne e si ricavano le variabili «di base» risolvendo $A_Bx_B = b$, cioè $x_B = A_B^{-1}b$. > > Un esempio piccolo: $A = \begin{pmatrix} 1 & 1 & 1 & 0 \\ 1 & -1 & 0 & 1 \end{pmatrix}$, $b = \begin{pmatrix} 4 \\ 2 \end{pmatrix}$. Scegliendo le colonne 1 e 2, $A_B = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$ ha determinante $-2$ e $x_B = A_B^{-1}b = (3, 1)$: il vettore $x = (3, 1, 0, 0)$ risolve $Ax = b$. Scegliendo le colonne 3 e 4, $A_B$ è l'identità e $x = (0, 0, 4, 2)$. Indipendenza, rango, matrici invertibili e sistemi lineari lavorano tutti insieme in uno degli algoritmi fondamentali dell'ottimizzazione. ::: prova Una matrice $3 \times 3$ ha determinante 0. Il sistema $Ax = b$ può avere esattamente una soluzione? No. Con determinante zero il rango è meno di 3, quindi almeno un'incognita è libera oppure il sistema è impossibile: zero o infinite soluzioni. ::: > [!RICORDA] > - Rouché–Capelli: soluzioni esattamente quando i due ranghi sono uguali; incognite libere = numero di incognite meno il rango. > - Le soluzioni sono zero, una o infinite. > - Matrice quadrata: determinante diverso da zero vuol dire una sola soluzione, $x = A^{-1}b$; determinante zero vuol dire zero o infinite. ## Quando c'è una lettera nel sistema (p. 60) All'esame i sistemi contengono spesso una lettera al posto di qualche numero. Di solito è la $k$, e la domanda è: **per ogni valore di $k$**, quante soluzioni ci sono? L'idea: per quasi tutti i valori di $k$ la risposta è la stessa; ci sono pochi **valori speciali**, quelli che fanno sparire un pivot, e vanno studiati a parte. Ecco l'esempio delle dispense. > [!ESEMPIO] 12.9 · Un sistema che dipende da $k$ > Prendiamo il sistema, dipendente da un parametro $k \in \R$, > $$\begin{cases} x + ky = 4 - k \\ kx + 4y = 4 \end{cases}$$ > (a) Vogliamo sapere al variare di $k \in \R$ se ci sono soluzioni e, in caso affermativo, che dimensione hanno. (b) Vogliamo risolvere il sistema per $k = 1$. > > **(a)** Applichiamo l'algoritmo di Gauss su $(A \mid b)$, con la mossa $R_2 \to R_2 - kR_1$: > $$\left(\begin{array}{cc|c} 1 & k & 4 - k \\ k & 4 & 4 \end{array}\right) \longrightarrow \left(\begin{array}{cc|c} 1 & k & 4 - k \\ 0 & 4 - k^2 & 4 - 4k + k^2 \end{array}\right)$$ > Il conto della seconda riga: $(k,\ 4,\ 4) - k\,(1,\ k,\ 4 - k) = (0,\ 4 - k^2,\ 4 - 4k + k^2)$. Per calcolare i ranghi basta fermarsi qui: andare avanti serve solo per scrivere le soluzioni. > > Notiamo che $4 - 4k + k^2 = (k - 2)^2$ e $4 - k^2 = (2 - k)(2 + k)$. La matrice è a scalini per ogni $k \in \R$ e ci sono sempre due pivot, tranne per $k = 2$, in cui ce n'è uno solo. Quindi il rango di $(A \mid b)$ è $1$ per $k = 2$ e $2$ per $k \neq 2$. La matrice dei coefficienti è diventata > $$\begin{pmatrix} 1 & k \\ 0 & 4 - k^2 \end{pmatrix}$$ > e ha rango $1$ per $k = \pm 2$ e rango $2$ per $k \neq \pm 2$. Quindi: > - se $k = -2$, allora $\rk(A \mid b) \neq \rk(A)$ e non ci sono soluzioni; > - se $k = 2$, allora $\rk(A \mid b) = \rk(A) = 1$, quindi le soluzioni formano un sottospazio affine di $\R^2$ di dimensione $2 - 1 = 1$, cioè una retta affine: infinite soluzioni; > - se $k \neq \pm 2$, allora $\rk(A \mid b) = \rk(A) = 2$, quindi le soluzioni formano un sottospazio affine di $\R^2$ di dimensione $2 - 2 = 0$, cioè un punto: una soluzione sola. > > **(b)** Per $k = 1$ la matrice ridotta diventa $\left(\begin{array}{cc|c} 1 & 1 & 3 \\ 0 & 3 & 1 \end{array}\right)$. Dalla seconda riga $3y = 1$, quindi $y = \frac 13$; dalla prima $x = 3 - y = 3 - \frac 13 = \frac 83$. I due valori speciali, scritti per esteso: - $k = -2$: la seconda riga diventa $(0,\ 4 - 4,\ 4 + 8 + 4) = (0, 0 \mid 16)$, cioè $0 = 16$. Un indizio assurdo: nessuna soluzione. - $k = 2$: la seconda riga diventa $(0, 0 \mid 0)$ e resta la sola equazione $x + 2y = 2$. Con $y = t$, le soluzioni sono $(2 - 2t,\ t)$: la retta $(2, 0) + \Span\big((-2, 1)\big)$. Controllo di (b) nel sistema di partenza con $k = 1$: $\frac 83 + \frac 13 = 3 = 4 - 1$ e $\frac 83 + \frac 43 = 4$. > [!APPROFONDIMENTO] la soluzione per ogni $k$ diverso da $\pm 2$, e un controllo con il determinante > La matrice $A$ è quadrata e $\det A = 1 \cdot 4 - k \cdot k = 4 - k^2$: per il Corollario 12.8 c'è una sola soluzione esattamente quando $k$ non è $2$ né $-2$, come trovato sopra. Finendo i conti, per questi $k$: > $$y = \frac{(k - 2)^2}{(2 - k)(2 + k)} = \frac{2 - k}{2 + k}, \qquad x = 4 - k - ky = \frac 8{2 + k}.$$ > Con $k = 1$ si ritrovano $x = \frac 83$ e $y = \frac 13$. > [!METODO] Discutere un sistema con un parametro $k$ > 1. **Se $A$ è quadrata**, parti dal determinante: per i $k$ che non lo annullano la soluzione è una sola (Corollario 12.8). Restano da studiare solo i valori che lo annullano. > 2. **Altrimenti**, o per controllo, fai Gauss su $(A \mid b)$ tenendo $k$ come una lettera. Scegli i pivot tra i numeri **senza** $k$ quando puoi: si evitano divisioni pericolose. > 3. Guarda i pivot che contengono $k$ e trova i valori di $k$ che li annullano. Sono i **valori speciali**. > 4. Per ogni valore speciale **sostituisci il numero** nella matrice e rifai il conto: confronta i due ranghi. > 5. Scrivi la conclusione per **tutti** i $k$: nessuna soluzione per…, infinite con … incognite libere per…, una sola per tutti gli altri valori. > [!TRAPPOLA] Dividere per un'espressione che può valere zero > Scrivere $y = \frac{(k - 2)^2}{4 - k^2}$ senza commenti è l'errore tipico: per $k = 2$ e $k = -2$ quella divisione non si può fare, e sono proprio i casi interessanti. Ogni volta che dividi per un'espressione con $k$, prima metti da parte i valori che la fanno zero. ```widget gauss titolo: Il sistema dell'appello del 05/02/2026 con $k = 1$ (prova anche $k = -1$ e $k = 2$) matrice: 1 2 1 1; -1 1 -1 2; 1 1 1 0 modo: sistema ``` Nello strumento c'è la matrice completa del sistema $x + 2y + kz = 1$, $-x + y - kz = 2$, $kx + ky + z = k - 1$ (problema 11 dell'appello del 05/02/2026, svolto negli esercizi) con $k = 1$: infinite soluzioni. Sostituisci $k = -1$, cioè `1 2 -1 1; -1 1 1 2; -1 -1 1 -2`: compare la riga $0 = 1$. Con $k = 2$, cioè `1 2 2 1; -1 1 -2 2; 2 2 1 1`, la soluzione è una sola. ::: prova Nel sistema $x + y = 1$, $x + y = k$, per quali $k$ ci sono soluzioni? Togliendo la prima equazione dalla seconda viene $0 = k - 1$. Se $k = 1$ l'indizio dice $0 = 0$: infinite soluzioni. Per ogni altro $k$ dice qualcosa di falso: nessuna soluzione. ::: > [!OLTRE] dove trovarlo nel libro > Tutta la lezione segue il libro di Martelli, **§3.2 «Teorema di Rouché–Capelli»** (pp. 85–93 del libro): sistema omogeneo associato e Proposizione 3.2.1 (pp. 85–86), sottospazi affini e giacitura (pp. 87–88, con gli Esempi 3.2.2 e 3.2.5), rango e pivot (Proposizione 3.2.9 e Corollario 3.2.10, p. 89), Rouché–Capelli con il Corollario 3.2.14 e l'esempio con il parametro (pp. 90–91), sistemi omogenei (Corollario 3.2.16, p. 91). > [!RICORDA] > - Con un parametro: si trovano i valori speciali, quelli che annullano un pivot o il determinante, e si studiano uno per uno. > - Per tutti gli altri valori la risposta è la stessa. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $(A \mid b)$ | «a barra b» | la matrice completa: coefficienti e termini noti | | | $S$ | «esse» | tutte le soluzioni del sistema | | | $S_0$ | «esse zero» | tutte le soluzioni del sistema omogeneo | | | $\emptyset$ | «insieme vuoto» | nessun elemento | $S = \emptyset$: nessuna soluzione | | $x + W$ | «x più w» | il sottospazio $W$ spostato di $x$ | $(1, 0) + \Span((1, 1))$ | | $=:$ | «e lo chiamiamo» | dà un nome a quello che sta a sinistra | | | $A^1, \dots, A^n$ | «a uno, …, a enne» | le colonne di $A$ | | | $\rk(A)$ | «rango di a» | quanti pivot ha una forma a scalini | | | $\Leftrightarrow$ | «se e solo se» | le due cose vanno sempre insieme | | | $Ax = b$ | «a per x uguale b» | il sistema scritto con il prodotto | | | $\infty$ | «infinite» | infinite soluzioni | | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 quiz a 5 risposte e 2 problemi da 11 punti. I problemi si correggono solo con almeno 6 punti nel quiz. Dura 2 ore, senza calcolatrice e con solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame** 1. **Il problema da 11 punti sul sistema con parametro.** È uscito negli appelli del 07/02/2025, del 05/02/2026 e del 03/07/2026, sempre come problema 11. Le domande sono quasi fisse: (1) per quali $k$ la matrice dei coefficienti è invertibile, o quanto vale il suo determinante; (2) per ogni $k$, quante soluzioni ha il sistema; (3) le soluzioni per uno o due valori di $k$ dati. Due di questi problemi sono svolti per intero negli esercizi. 2. **Lo stesso tema nei problemi su un'applicazione lineare.** Negli appelli dell'08/02/2024 e del 10/07/2025 c'era un problema 12 su una macchina $T$. Si chiedeva di trovare **tutti** i vettori con $T(v) = w$, oppure i valori di $k$ per cui un certo $w$ sta nell'immagine. Sono sistemi, e si risolvono con Rouché–Capelli (lezione L14). 3. **I quiz.** Oltre alla domanda «quante soluzioni?» (lezione L11), nell'appello del 07/09/2026 (domanda 3) si chiedeva per quale $k$ un sistema $3 \times 3$ non ha soluzioni. Nell'appello del 10/07/2024 (domanda 6) bisognava riconoscere tutte le soluzioni del sistema dell'Esercizio 12.11 delle dispense. ### Una domanda vera, letta insieme **Appello del 07/09/2026, domanda 3.** Il testo: «Per quale $k \in \R$ il sistema lineare con matrice completa $\left(\begin{array}{ccc|c} 1 & 2 & k & 1 \\ 2 & 3 & -1 & 3 \\ 3 & 2 & 1 & 0 \end{array}\right)$ non ha soluzioni reali? (a) Il sistema ha sempre soluzioni reali; (b) $k = \pm 2$; (c) $k = -1$; (d) $k = 0$; (e) $k \in \{1, 2, 3\}$». **In pratica chiede:** c'è una lettera nel sistema. Per quale valore della lettera compare un indizio assurdo? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: la matrice è quadrata.** Tre equazioni, tre incognite. Parto dal determinante: dove non è zero, la soluzione c'è ed è una sola. > > **Passo 2: il determinante**, lungo la prima riga: > $$\det A = 1 \cdot (3 + 2) - 2 \cdot (2 + 3) + k \cdot (4 - 9) = 5 - 10 - 5k = -5(k + 1).$$ > > **Passo 3: il valore speciale.** Il determinante fa zero solo per $k = -1$. Per tutti gli altri $k$ c'è una soluzione sola: le risposte (d) ed (e) sono già sbagliate. > > **Passo 4: il caso $k = -1$.** Sostituisco e faccio Gauss: > 1. $R_2 \to R_2 - 2R_1$: $(2, 3, -1 \mid 3) - 2 \cdot (1, 2, -1 \mid 1) = (0, -1, 1 \mid 1)$; > 2. $R_3 \to R_3 - 3R_1$: $(3, 2, 1 \mid 0) - 3 \cdot (1, 2, -1 \mid 1) = (0, -4, 4 \mid -3)$; > 3. $R_3 \to R_3 - 4R_2$: $(0, -4, 4 \mid -3) - 4 \cdot (0, -1, 1 \mid 1) = (0, 0, 0 \mid -7)$. > > L'ultima riga dice $0 = -7$: un indizio assurdo. I ranghi sono 2 per $A$ e 3 per la completa. > > **La risposta** è la (c). > > **Perché la (a) è sbagliata.** Determinante zero non vuol dire automaticamente «nessuna soluzione», ma nemmeno «sempre soluzioni»: bisogna fare il conto, e qui il conto dà un indizio assurdo. > [!METODO] Il problema «discutere al variare di $k$», come va scritto sul foglio > 1. **Determinante**, se $A$ è quadrata: calcolalo e **scomponilo**, per esempio $\det A = -3(k - 1)(k + 1)$. Prima conclusione: per i $k$ diversi dalle radici, $A$ è invertibile e c'è **una sola** soluzione (Corollario 12.8). > 2. **Valori speciali**: per ogni radice sostituisci il valore di $k$, scrivi la matrice completa con i numeri e riducila a scalini. Scrivi i due ranghi e cita il teorema: «$\rk(A) = 2 < 3 = \rk(A \mid b)$, quindi per Rouché–Capelli non ci sono soluzioni» oppure «$\rk(A) = \rk(A \mid b) = 2 < 3 = n$: infinite soluzioni, con $3 - 2 = 1$ incognita libera». > 3. **Soluzioni richieste**: Gauss sulla matrice con i numeri, lettere libere alle colonne senza pivot, e un **controllo** sostituendo nel sistema di partenza. > 4. **Riassunto finale** in una riga per ogni caso: i correttori cercano la conclusione, falla trovare. > [!TRAPPOLA] Gli errori più frequenti > - Concludere «nessuna soluzione» solo perché il determinante è zero. Con determinante zero ci possono essere anche infinite soluzioni: nell'appello del 05/02/2026, per $k = 1$ infinite, per $k = -1$ nessuna, e il determinante è zero in tutti e due i casi. > - Dimenticare un valore speciale, per esempio perché si è diviso per $k - 1$ senza dirlo. > - Confondere il numero di incognite con il numero di equazioni nel conto delle incognite libere. > - Dire che le soluzioni di $Ax = b$ con $b$ diverso da zero formano un sottospazio vettoriale: sono un sottospazio **affine**. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: $S = x_0 + S_0$; l'enunciato di Rouché–Capelli con la tabella «nessuna / una / infinite» del Corollario 12.7; «$A$ quadrata: determinante diverso da zero vuol dire una sola soluzione, $x = A^{-1}b$; determinante zero vuol dire zero o infinite»; la formula dell'inversa $2 \times 2$; i cinque passi del metodo per il parametro. ## Quiz ```quiz D: Sia $Ax = b$ un sistema lineare qualsiasi e $Ax = 0$ il suo sistema omogeneo associato. Quale affermazione è sempre vera? + Il sistema omogeneo ha almeno la soluzione $x = 0$. - Il sistema omogeneo ha esattamente una soluzione. - Il sistema omogeneo ha le stesse soluzioni di $Ax = b$. - Se $Ax = b$ non ha soluzioni, neanche il sistema omogeneo ne ha. - Le soluzioni di $Ax = b$ formano sempre un sottospazio vettoriale. = Mettendo tutte le incognite a zero, ogni equazione dell'omogeneo dice $0 = 0$: lo zero è sempre una soluzione (Proposizione 12.2). La risposta più insidiosa è «esattamente una»: l'omogeneo può avere anche altre soluzioni, quando c'è un'incognita libera. Le soluzioni dei due sistemi sono diverse quando $b$ non è zero, e l'omogeneo non è mai impossibile. Le soluzioni di $Ax = b$ con $b$ diverso da zero non contengono lo zero, quindi non sono un sottospazio vettoriale. D: In un sistema in 3 incognite risulta $\rk(A) = 2$ e $\rk(A \mid b) = 3$. Il sistema ha: + Zero soluzioni. - Una soluzione. - Infinite soluzioni, che dipendono da 1 parametro. - Infinite soluzioni, che dipendono da 2 parametri. - Un numero finito di soluzioni, maggiore di 1. = I due ranghi sono diversi: per Rouché–Capelli non ci sono soluzioni. Nella forma a scalini c'è un pivot nell'ultima colonna, cioè un indizio assurdo come $0 = 1$. La risposta più insidiosa è «infinite, con 1 parametro»: è il conto $3 - 2$, che però si fa solo quando i ranghi sono uguali. «Un numero finito maggiore di 1» non è mai giusta con i numeri reali. Simile all'appello del 10/06/2024, domanda 7. D: Un sistema di 3 equazioni in 4 incognite ha $\rk(A) = \rk(A \mid b) = 2$. Le sue soluzioni formano: + Un sottospazio affine di dimensione 2. - Un sottospazio affine di dimensione 1. - Un sottospazio affine di dimensione 3. - Un solo punto. - L'insieme vuoto. = I ranghi sono uguali, quindi ci sono soluzioni. Le incognite libere sono il numero di incognite meno il rango: $4 - 2 = 2$. La risposta più insidiosa è «dimensione 1», cioè $3 - 2$: usa il numero di equazioni al posto di quello delle incognite. Il numero di equazioni non entra nel conto. Simile all'appello del 16/01/2025, domanda 10. D: Per quale $k \in \R$ il sistema lineare con matrice completa $\left(\begin{array}{ccc|c} 1 & 2 & k & 1 \\ 2 & 3 & -1 & 3 \\ 3 & 2 & 1 & 0 \end{array}\right)$ non ha soluzioni reali? - Il sistema ha sempre soluzioni reali. - $k = \pm 2$ + $k = -1$ - $k = 0$ - $k \in \{1, 2, 3\}$ = È la domanda letta insieme in «Verso l'esame». Il determinante è $1 \cdot (3 + 2) - 2 \cdot (2 + 3) + k \cdot (4 - 9) = -5(k + 1)$, quindi per ogni $k$ diverso da $-1$ la soluzione è una sola. Per $k = -1$ le mosse $R_2 - 2R_1$, $R_3 - 3R_1$ e poi $R_3 - 4R_2$ portano alla riga $(0, 0, 0 \mid -7)$: rango 2 per $A$, 3 per la completa, nessuna soluzione. La risposta più insidiosa è «ha sempre soluzioni»: chi si ferma al determinante pensa che con determinante zero ci siano comunque infinite soluzioni. Appello del 07/09/2026, domanda 3. D: Il vettore $(1, 2, 3)$ è una soluzione di $Ax = b$ e le soluzioni del sistema omogeneo associato sono $S_0 = \Span\big((1, 0, -1)\big)$. Quale di questi vettori è un'altra soluzione di $Ax = b$? + $(3, 2, 1)$ - $(1, 0, -1)$ - $(2, 4, 6)$ - $(0, 0, 0)$ - $(2, 2, 4)$ = Per la Proposizione 12.3 le soluzioni sono la soluzione particolare più gli spostamenti permessi: $(1, 2, 3) + t(1, 0, -1) = (1 + t,\ 2,\ 3 - t)$. Con $t = 2$ si ottiene $(3, 2, 1)$. La risposta più insidiosa è $(1, 0, -1)$: è uno spostamento permesso, cioè una soluzione dell'omogeneo, non del sistema. $(2, 4, 6)$ è il doppio della soluzione, e il doppio di una soluzione non risolve $Ax = b$. Per riconoscere le soluzioni: la seconda coordinata deve essere 2 e la somma di prima e terza deve essere 4. D: Sia $A \in M(3, \R)$ con $\det A = 5$. Allora il sistema $Ax = b$: + Ha esattamente una soluzione per ogni $b \in \R^3$. - Ha infinite soluzioni per ogni $b$. - Per qualche $b$ non ha soluzioni. - Ha soluzioni solo se $b = 0$. - Ha esattamente 5 soluzioni. = Il determinante non è zero, quindi la matrice è invertibile e, per il Corollario 12.8, per ogni colonna di termini noti c'è una sola soluzione: $x = A^{-1}b$. La risposta più insidiosa è «esattamente 5 soluzioni»: il valore del determinante non conta le soluzioni, conta solo se è zero o no. Simile all'appello del 07/02/2025, problema 11 (punto 1). D: Sia $A \in M(2, \R)$ con $\det A = 0$. Allora il sistema $Ax = b$: + Ha zero oppure infinite soluzioni, a seconda di $b$. - Non ha mai soluzioni. - Ha sempre infinite soluzioni. - Ha sempre una sola soluzione. - Ha esattamente due soluzioni. = Con determinante zero il rango di $A$ è meno di 2. Se il rango della completa è uguale, le soluzioni sono infinite; se è più grande, non ce ne sono. Esempio: con $A = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}$, $b = (1, 1)$ dà infinite soluzioni e $b = (1, 2)$ nessuna. Le risposte più insidiose sono «mai soluzioni» e «sempre infinite»: tutte e due dimenticano che dipende da $b$. D: Per quale valore di $k \in \R$ il sistema $\begin{cases} x + ky = 1 \\ kx + y = 1 \end{cases}$ ha infinite soluzioni? + $k = 1$ - $k = -1$ - $k = 0$ - Per ogni $k \neq \pm 1$. - Per nessun valore di $k$. = Il determinante è $1 - k^2$: per $k$ diverso da $1$ e $-1$ la soluzione è una sola. Con $k = 1$ le due equazioni sono tutte e due $x + y = 1$: infinite soluzioni. La risposta più insidiosa è $k = -1$, l'altro valore speciale: le equazioni diventano $x - y = 1$ e $-x + y = 1$, e sommandole viene $0 = 2$, nessuna soluzione. Simile all'Esempio 12.9 e all'appello del 07/09/2026, domanda 3. D: Le soluzioni di un sistema $Ax = b$ in 5 incognite, con $b \neq 0$ e $\rk(A) = \rk(A \mid b) = 3$, formano: + Un sottospazio affine di dimensione 2 che non passa per l'origine. - Un sottospazio vettoriale di dimensione 2. - Un sottospazio affine di dimensione 3. - Un sottospazio vettoriale di dimensione 3. - Un punto. = Per Rouché–Capelli le soluzioni ci sono e hanno dimensione $5 - 3 = 2$. Siccome $b$ non è zero, lo zero non è una soluzione: le soluzioni sono un sottospazio affine che non passa per l'origine. La risposta più insidiosa è «sottospazio vettoriale di dimensione 2»: la dimensione è giusta, ma un sottospazio vettoriale deve contenere lo zero. Le risposte con dimensione 3 confondono il rango con la dimensione. D: Qual è la dimensione dello spazio delle soluzioni del sistema $\begin{cases} x + y + z + w = 1 \\ x - y + z - w = 3 \end{cases}$ in $\R^4$? N: 2 = Le righe dei coefficienti $(1, 1, 1, 1)$ e $(1, -1, 1, -1)$ non sono una multipla dell'altra, quindi il rango di $A$ è 2. Anche il rango della completa è 2, perché le righe sono solo due. Le soluzioni ci sono, e le incognite libere sono $4 - 2 = 2$. ``` ## Esercizi ::: esercizio base Riscaldamento: il sistema omogeneo Scrivi il sistema omogeneo associato a $\begin{cases} x + y = 3 \\ 2x - y = 0 \end{cases}$. Controlla che $(0, 0)$ risolve l'omogeneo e non il sistema di partenza. ::: soluzione 1. L'omogeneo ha gli stessi numeri a sinistra e zeri a destra: $x + y = 0$, $2x - y = 0$. 2. Con $(0, 0)$: $0 + 0 = 0$ e $0 - 0 = 0$. Risolve l'omogeneo. 3. Nel sistema di partenza la prima equazione darebbe $0 = 3$: falso. Non lo risolve. ::: ::: esercizio base Riscaldamento: una soluzione più gli spostamenti Una soluzione di $x + y = 2$ è $(2, 0)$, e le soluzioni di $x + y = 0$ sono i multipli di $(-1, 1)$. Scrivi tre soluzioni diverse di $x + y = 2$ e controllale. ::: soluzione Aggiungo a $(2, 0)$ alcuni multipli di $(-1, 1)$: 1. con $t = 1$: $(2, 0) + (-1, 1) = (1, 1)$, e $1 + 1 = 2$; 2. con $t = 2$: $(2, 0) + (-2, 2) = (0, 2)$, e $0 + 2 = 2$; 3. con $t = -1$: $(2, 0) + (1, -1) = (3, -1)$, e $3 - 1 = 2$. ::: ::: esercizio base Riscaldamento: contare con i ranghi Un sistema ha 3 incognite. Quante soluzioni ha in ciascun caso? (a) $\rk(A) = 2$, $\rk(A \mid b) = 2$; (b) $\rk(A) = 3$, $\rk(A \mid b) = 3$; (c) $\rk(A) = 2$, $\rk(A \mid b) = 3$; (d) $\rk(A) = 1$, $\rk(A \mid b) = 1$. ::: soluzione 1. (a) Ranghi uguali, $3 - 2 = 1$ incognita libera: infinite soluzioni, una retta. 2. (b) Ranghi uguali e pari al numero di incognite: una soluzione sola. 3. (c) Ranghi diversi: nessuna soluzione. 4. (d) Ranghi uguali, $3 - 1 = 2$ incognite libere: infinite soluzioni, un piano. ::: ::: esercizio base Riscaldamento: indizi che si contraddicono Quante soluzioni hanno (a) $x + y = 3$, $2x + 2y = 5$ e (b) $x + y = 3$, $2x + 2y = 6$? ::: soluzione In tutti e due i casi tolgo dalla seconda equazione il doppio della prima ($R_2 \to R_2 - 2R_1$). 1. (a) Viene $0 = 5 - 6 = -1$: un indizio assurdo, **nessuna** soluzione. 2. (b) Viene $0 = 6 - 6 = 0$: l'indizio sparisce, resta $x + y = 3$. **Infinite** soluzioni, $(3 - t,\ t)$. ::: ::: esercizio base Esercizio 12.10 delle dispense: quante soluzioni? Quante soluzioni ha il sistema lineare con matrice completa $$\left(\begin{array}{ccc|c} 1 & 3 & 5 & 2 \\ 7 & 9 & 11 & 2 \\ 13 & 15 & 17 & 0 \end{array}\right)?$$ ::: soluzione **Gauss.** Prima $R_2 \to R_2 - 7R_1$ e $R_3 \to R_3 - 13R_1$: $$(7, 9, 11, 2) - 7(1, 3, 5, 2) = (0, -12, -24, -12), \qquad (13, 15, 17, 0) - 13(1, 3, 5, 2) = (0, -24, -48, -26).$$ Poi $R_3 \to R_3 - 2R_2$: $(0, -24, -48, -26) - 2(0, -12, -24, -12) = (0, 0, 0, -2)$. $$\left(\begin{array}{ccc|c} 1 & 3 & 5 & 2 \\ 0 & -12 & -24 & -12 \\ 0 & 0 & 0 & -2 \end{array}\right)$$ **Ranghi.** Nella parte $A$ ci sono 2 pivot: rango 2. La matrice completa ha un pivot anche nell'ultima colonna: rango 3. Per Rouché–Capelli il sistema **non ha soluzioni**: l'ultima riga dice $0 = -2$. Il motivo nascosto: la terza riga di $A$ è $2 \cdot (7, 9, 11) - (1, 3, 5) = (13, 15, 17)$, ma per i termini noti $2 \cdot 2 - 2 = 2$, non 0. Gli indizi si contraddicono. ::: ::: esercizio base Sottospazio o no? Stabilisci se sono sottospazi vettoriali di $\R^3$: (a) $U = \{(x, y, z) \mid x + y - z = 0\}$; (b) $V = \{(x, y, z) \mid x + y - z = 1\}$. Per quello che non lo è, di' che cosa è. ::: soluzione (a) $U$ è l'insieme delle soluzioni di un sistema **omogeneo**: una sola equazione, con termine noto 0. Per la Proposizione 12.2 è un sottospazio. La sua dimensione è $3 - 1 = 2$, perché la matrice $(1\ 1\ {-1})$ ha rango 1: un piano per l'origine. (b) $V$ non contiene lo zero: $0 + 0 - 0 = 0$, non 1. Quindi non è un sottospazio vettoriale. Non funziona neanche la somma: $(1, 0, 0)$ e $(0, 1, 0)$ stanno in $V$, ma $(1, 1, 0)$ dà $1 + 1 - 0 = 2$. È un **sottospazio affine**: $V = (1, 0, 0) + U$, un piano parallelo a $U$ che non passa per l'origine, di dimensione 2. ::: ::: esercizio base Il rango con i pivot Calcola il rango di $A = \begin{pmatrix} 1 & 2 & 0 & 1 \\ 2 & 4 & 1 & 3 \\ 3 & 6 & 1 & 4 \end{pmatrix}$ e trova un insieme massimo di colonne indipendenti. ::: soluzione 1. $R_2 \to R_2 - 2R_1$ dà $(0, 0, 1, 1)$. 2. $R_3 \to R_3 - 3R_1$ dà $(0, 0, 1, 1)$. 3. $R_3 \to R_3 - R_2$ dà la riga di zeri. $$\begin{pmatrix} 1 & 2 & 0 & 1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0 \end{pmatrix}$$ Due pivot: rango 2. I pivot sono nelle colonne 1 e 3, quindi le colonne 1 e 3 **della matrice di partenza**, $(1, 2, 3)$ e $(0, 1, 1)$, sono indipendenti e generano lo Span delle colonne. Infatti la colonna 2 è il doppio della 1, e la colonna 4 è la somma della 1 e della 3: $(1, 3, 4) = (1, 2, 3) + (0, 1, 1)$. Le mosse sulle righe conservano le ricette tra le colonne, per questo si leggono sulla forma a scalini: lo vedrai meglio nella lezione L13. ::: ::: esercizio medio Esercizio 12.11 delle dispense: tutte le soluzioni Trova tutte le soluzioni del sistema lineare $$\begin{cases} 2x - y - z = 3 \\ x - y + z = 2 \\ 3x - y - 3z = 4 \end{cases}$$ ::: soluzione **Gauss.** Scambio le prime due righe per avere un pivot uguale a 1, poi tolgo multipli della prima riga: $$\left(\begin{array}{ccc|c} 1 & -1 & 1 & 2 \\ 2 & -1 & -1 & 3 \\ 3 & -1 & -3 & 4 \end{array}\right) \xrightarrow[R_3 \to R_3 - 3R_1]{R_2 \to R_2 - 2R_1} \left(\begin{array}{ccc|c} 1 & -1 & 1 & 2 \\ 0 & 1 & -3 & -1 \\ 0 & 2 & -6 & -2 \end{array}\right)$$ $$\xrightarrow{R_3 \to R_3 - 2R_2} \left(\begin{array}{ccc|c} 1 & -1 & 1 & 2 \\ 0 & 1 & -3 & -1 \\ 0 & 0 & 0 & 0 \end{array}\right)$$ I conti: $(2, -1, -1, 3) - 2(1, -1, 1, 2) = (0, 1, -3, -1)$; $(3, -1, -3, 4) - 3(1, -1, 1, 2) = (0, 2, -6, -2)$; la terza riga è il doppio della seconda. **Rouché–Capelli.** I due ranghi valgono 2, le incognite sono 3: infinite soluzioni, un'incognita libera. **Soluzioni.** $R_1 \to R_1 + R_2$ dà $(1, 0, -2, 1)$. Con $z = t$: $y = -1 + 3t$ e $x = 1 + 2t$. $$(x, y, z) = (1 + 2t,\ -1 + 3t,\ t) = (1, -1, 0) + t\,(2, 3, 1), \qquad t \in \R.$$ **Controllo** con $t = 1$, cioè $(3, 2, 1)$: $6 - 2 - 1 = 3$; $3 - 2 + 1 = 2$; $9 - 2 - 3 = 4$. Le soluzioni sono una retta: il punto $(1, -1, 0)$, la soluzione particolare, più gli spostamenti permessi, lo Span di $(2, 3, 1)$. Questo stesso sistema era la domanda 6 dell'appello del 10/07/2024, con la risposta $x = 2t + 1$, $y = 3t - 1$, $z = t$. ::: ::: esercizio medio Soluzione particolare e sistema omogeneo Per il sistema $\begin{cases} x + 2y - z = 3 \\ 2x + 4y + z = 3 \end{cases}$ trova: (a) tutte le soluzioni $S$; (b) le soluzioni $S_0$ del sistema omogeneo associato; (c) una soluzione particolare, e verifica che $S = x_0 + S_0$. ::: soluzione (a) $R_2 \to R_2 - 2R_1$: $(2, 4, 1, 3) - 2(1, 2, -1, 3) = (0, 0, 3, -3)$, quindi $3z = -3$ e $z = -1$. La colonna di $y$ non ha pivot: $y = t$. Dalla prima riga $x = 3 - 2t + z = 2 - 2t$. $$S = \{(2 - 2t,\ t,\ -1) \mid t \in \R\} = (2, 0, -1) + \Span\big((-2, 1, 0)\big).$$ (b) L'omogeneo ha la stessa $A$ e zeri a destra. Con le stesse mosse: $3z = 0$, quindi $z = 0$, e $x = -2t$, $y = t$: $$S_0 = \Span\big((-2, 1, 0)\big).$$ Controllo: $-2 + 2 - 0 = 0$ e $-4 + 4 + 0 = 0$. (c) Con $t = 0$: $x_0 = (2, 0, -1)$. Controllo: $2 + 0 + 1 = 3$ e $4 + 0 - 1 = 3$. Allora $x_0 + S_0 = \{(2, 0, -1) + t(-2, 1, 0)\} = \{(2 - 2t,\ t,\ -1)\} = S$. Anche $(0, 1, -1)$, con $t = 1$, sarebbe una soluzione particolare valida. ::: ::: esercizio medio Un sistema quadrato con l'inversa Risolvi $\begin{cases} 2x + y = 3 \\ 5x + 3y = 7 \end{cases}$ usando il Corollario 12.8, poi usa la stessa inversa per risolvere il sistema con termini noti $(1, 0)$. ::: soluzione 1. $A = \begin{pmatrix} 2 & 1 \\ 5 & 3 \end{pmatrix}$, con determinante $6 - 5 = 1$: una sola soluzione per ogni colonna di termini noti. 2. L'inversa: scambio la diagonale, cambio segno agli altri due, divido per 1. $$A^{-1} = \begin{pmatrix} 3 & -1 \\ -5 & 2 \end{pmatrix}, \qquad A^{-1}\begin{pmatrix} 3 \\ 7 \end{pmatrix} = \begin{pmatrix} 9 - 7 \\ -15 + 14 \end{pmatrix} = \begin{pmatrix} 2 \\ -1 \end{pmatrix}.$$ 3. Controllo: $4 - 1 = 3$ e $10 - 3 = 7$. Con $b = (1, 0)$: $A^{-1}b = (3, -5)$, cioè la prima colonna dell'inversa. Controllo: $6 - 5 = 1$ e $15 - 15 = 0$. Il vantaggio dell'inversa: calcolata una volta, risolve il sistema per **qualsiasi** termine noto con un solo prodotto. ::: ::: esercizio esame Come all'esame: appello del 05/02/2026, problema 11 Si consideri il sistema lineare nelle incognite $x, y, z$, con un parametro $k \in \R$: $$\begin{cases} x + 2y + kz = 1 \\ -x + y - kz = 2 \\ kx + ky + z = k - 1 \end{cases}$$ (1) Calcolare il determinante della matrice $A$ dei coefficienti. (2) Al variare di $k \in \R$, discutere quante soluzioni ammette il sistema. (3) Per $k = 1$, trovare tutte le soluzioni. (4) Per $k = 2$, trovare tutte le soluzioni. ::: soluzione **(1)** Con $R_2 \to R_2 + R_1$, che non cambia il determinante (lezione L10), la seconda riga diventa $(0, 3, 0)$: $$\det \begin{pmatrix} 1 & 2 & k \\ -1 & 1 & -k \\ k & k & 1 \end{pmatrix} = \det \begin{pmatrix} 1 & 2 & k \\ 0 & 3 & 0 \\ k & k & 1 \end{pmatrix} = 3 \cdot \det \begin{pmatrix} 1 & k \\ k & 1 \end{pmatrix} = 3(1 - k^2).$$ Ho sviluppato lungo la seconda riga: l'unico numero diverso da zero è il 3 nella casella $(2, 2)$, segno più. Quindi $\det A = 3(1 - k)(1 + k)$. **(2)** Per $k$ diverso da 1 e da $-1$ il determinante non è zero: **una sola soluzione** (Corollario 12.8). Per i due valori speciali riduco la matrice completa con $k$ come lettera: 1. $R_2 \to R_2 + R_1$ dà $(0, 3, 0 \mid 3)$; 2. $R_3 \to R_3 - kR_1$ dà $(0, -k, 1 - k^2 \mid -1)$; 3. $R_3 \to R_3 + \frac k3 R_2$ dà $(0, 0, 1 - k^2 \mid k - 1)$. $$\left(\begin{array}{ccc|c} 1 & 2 & k & 1 \\ 0 & 3 & 0 & 3 \\ 0 & 0 & 1 - k^2 & k - 1 \end{array}\right)$$ - $k = 1$: l'ultima riga è $(0, 0, 0 \mid 0)$. I due ranghi valgono 2, le incognite sono 3: **infinite** soluzioni, con $3 - 2 = 1$ incognita libera. - $k = -1$: l'ultima riga è $(0, 0, 0 \mid -2)$. Rango 2 per $A$, 3 per la completa: **nessuna** soluzione. **(3)** $k = 1$: le righe non nulle dicono $x + 2y + z = 1$ e $3y = 3$. Quindi $y = 1$ e, con $z = t$, $x = 1 - 2 - t = -1 - t$: $$(x, y, z) = (-1 - t,\ 1,\ t), \qquad t \in \R.$$ Controllo con $t = 0$, cioè $(-1, 1, 0)$, nel sistema con $k = 1$: $-1 + 2 + 0 = 1$; $1 + 1 - 0 = 2$; $-1 + 1 + 0 = 0 = k - 1$. **(4)** $k = 2$: l'ultima riga è $(0, 0, -3 \mid 1)$, quindi $z = -\frac 13$. Poi $y = 1$ e $x = 1 - 2y - 2z = 1 - 2 + \frac 23 = -\frac 13$: $$(x, y, z) = \left(-\tfrac 13,\ 1,\ -\tfrac 13\right).$$ Controllo: $-\frac 13 + 2 - \frac 23 = 1$; $\frac 13 + 1 + \frac 23 = 2$; $-\frac 23 + 2 - \frac 13 = 1 = k - 1$. ::: ::: esercizio esame Come all'esame: appello del 03/07/2026, problema 11 Si consideri il sistema lineare $$\begin{cases} x + ky + z = 1 \\ (k + 1)x + (k + 1)y + 2z = k + 1 \\ x + y + kz = k^2 \end{cases}$$ (1) Determinare per quali $k \in \R$ la matrice dei coefficienti è invertibile. (2) Al variare di $k$, discutere il numero di soluzioni. (3) Trovare l'insieme delle soluzioni nei casi $k = 0$ e $k = 1$. ::: soluzione **(1)** Sviluppo lungo la prima riga: $$\det A = 1 \cdot \big((k + 1)k - 2\big) - k \cdot \big((k + 1)k - 2\big) + 1 \cdot \big((k + 1) - (k + 1)\big) = (1 - k)(k^2 + k - 2).$$ Siccome $k^2 + k - 2 = (k + 2)(k - 1)$, viene $\det A = -(k - 1)^2(k + 2)$. La matrice è **invertibile per tutti i $k$ tranne 1 e $-2$**. **(2)** Per $k$ diverso da 1 e da $-2$: **una sola soluzione**. I valori speciali: - $k = 1$: le tre equazioni diventano $x + y + z = 1$, $2x + 2y + 2z = 2$, $x + y + z = 1$, tutte la stessa. I due ranghi valgono 1: **infinite** soluzioni, con $3 - 1 = 2$ incognite libere. - $k = -2$: la matrice completa è $\left(\begin{array}{ccc|c} 1 & -2 & 1 & 1 \\ -1 & -1 & 2 & -1 \\ 1 & 1 & -2 & 4 \end{array}\right)$. Con $R_2 \to R_2 + R_1$ viene $(0, -3, 3 \mid 0)$, con $R_3 \to R_3 - R_1$ viene $(0, 3, -3 \mid 3)$, e $R_3 \to R_3 + R_2$ dà $(0, 0, 0 \mid 3)$. Rango 2 per $A$, 3 per la completa: **nessuna** soluzione. **(3)** $k = 0$: il sistema è $x + z = 1$, $x + y + 2z = 1$, $x + y = 0$. 1. Dalla terza $y = -x$. 2. Nella seconda: $x - x + 2z = 1$, quindi $z = \frac 12$. 3. Dalla prima $x = \frac 12$, e quindi $y = -\frac 12$. Soluzione unica $\left(\frac 12, -\frac 12, \frac 12\right)$; controllo nella seconda: $\frac 12 - \frac 12 + 1 = 1$. $k = 1$: resta la sola equazione $x + y + z = 1$. Le colonne senza pivot sono quelle di $y$ e $z$: $y = s$, $z = t$. $$S = \{(1 - s - t,\ s,\ t) \mid s, t \in \R\} = (1, 0, 0) + \Span\big((-1, 1, 0),\ (-1, 0, 1)\big),$$ un piano affine di $\R^3$. ::: ::: esercizio esame Come all'esame: quando ci sono infinite soluzioni Determina tutti i valori di $k \in \R$ per cui il sistema $\begin{cases} x + y + z = 1 \\ x + 2y + 3z = k \\ x + 3y + 5z = k^2 \end{cases}$ ha infinite soluzioni, e scrivile. Per gli altri valori quante soluzioni ci sono? ::: soluzione Qui la lettera è solo nei termini noti, e la matrice dei coefficienti non è invertibile: il suo determinante è zero per ogni $k$, perché la terza colonna è il doppio della seconda meno la prima. Serve Gauss. $$\left(\begin{array}{ccc|c} 1 & 1 & 1 & 1 \\ 1 & 2 & 3 & k \\ 1 & 3 & 5 & k^2 \end{array}\right) \xrightarrow[R_3 \to R_3 - R_1]{R_2 \to R_2 - R_1} \left(\begin{array}{ccc|c} 1 & 1 & 1 & 1 \\ 0 & 1 & 2 & k - 1 \\ 0 & 2 & 4 & k^2 - 1 \end{array}\right)$$ $$\xrightarrow{R_3 \to R_3 - 2R_2} \left(\begin{array}{ccc|c} 1 & 1 & 1 & 1 \\ 0 & 1 & 2 & k - 1 \\ 0 & 0 & 0 & (k - 1)^2 \end{array}\right)$$ L'ultimo numero: $k^2 - 1 - 2(k - 1) = k^2 - 2k + 1 = (k - 1)^2$. - Il rango di $A$ è 2 per ogni $k$. - Se $k$ non è 1, l'ultimo numero non è zero: rango 3 per la completa, **nessuna** soluzione. - Se $k = 1$: rango 2 anche per la completa, **infinite** soluzioni con $3 - 2 = 1$ incognita libera. Le righe dicono $x + y + z = 1$ e $y + 2z = 0$: con $z = t$, $y = -2t$ e $x = 1 + 2t - t = 1 + t$. $$S = \{(1 + t,\ -2t,\ t) \mid t \in \R\}, \qquad k = 1.$$ Controllo con $t = 1$, cioè $(2, -2, 1)$: $2 - 2 + 1 = 1$; $2 - 4 + 3 = 1 = k$; $2 - 6 + 5 = 1 = k^2$. Non esiste nessun $k$ con una sola soluzione. Lo schema è quello del problema 12 (punto 3) dell'appello del 10/07/2025. ::: ::: esercizio difficile Un sistema con parametro (Foglio 2 del tutorato, esercizio 10) Risolvi, al variare di $k \in \R$, il sistema $\begin{cases} x + 2y + 2z = 1 \\ x + 4y + 3z = k + 1 \\ -x + 2y + kz = 2 \end{cases}$ ::: soluzione **Gauss con $k$ come lettera.** $R_2 \to R_2 - R_1$ e $R_3 \to R_3 + R_1$: i pivot scelti non contengono $k$. $$\left(\begin{array}{ccc|c} 1 & 2 & 2 & 1 \\ 0 & 2 & 1 & k \\ 0 & 4 & k + 2 & 3 \end{array}\right) \xrightarrow{R_3 \to R_3 - 2R_2} \left(\begin{array}{ccc|c} 1 & 2 & 2 & 1 \\ 0 & 2 & 1 & k \\ 0 & 0 & k & 3 - 2k \end{array}\right)$$ I conti: $(1, 4, 3, k + 1) - (1, 2, 2, 1) = (0, 2, 1, k)$; $(-1, 2, k, 2) + (1, 2, 2, 1) = (0, 4, k + 2, 3)$; $(0, 4, k + 2, 3) - 2(0, 2, 1, k) = (0, 0, k, 3 - 2k)$. **Valore speciale $k = 0$.** L'ultima riga è $(0, 0, 0 \mid 3)$: rango 2 per $A$, 3 per la completa, **nessuna soluzione**. **Per $k$ diverso da zero.** Tre pivot: una sola soluzione. Dal basso: $$z = \frac{3 - 2k}k, \qquad y = \frac{k - z}2 = \frac{k^2 + 2k - 3}{2k} = \frac{(k + 3)(k - 1)}{2k}, \qquad x = 1 - 2y - 2z = \frac{-k^2 + 3k - 3}k.$$ Per il conto di $x$: $1 - \frac{k^2 + 2k - 3}k - \frac{6 - 4k}k = \frac{k - k^2 - 2k + 3 - 6 + 4k}k = \frac{-k^2 + 3k - 3}k$. **Controllo** con $k = 1$: $x = -1$, $y = 0$, $z = 1$. Nel sistema: $-1 + 0 + 2 = 1$; $-1 + 0 + 3 = 2 = k + 1$; $1 + 0 + 1 = 2$. Torna anche con il determinante: è $2k$, il prodotto dei pivot $1 \cdot 2 \cdot k$ (ho usato solo mosse del terzo tipo), e fa zero solo per $k = 0$. ::: ## Domande di ripasso ::: domanda Che cos'è il sistema omogeneo associato a un sistema lineare? È il sistema con gli stessi numeri a sinistra e tutti i termini noti uguali a zero. Se il sistema di partenza ha matrice completa $(A \mid b)$, l'omogeneo ha matrice $(A \mid 0)$, scritta anche solo $A$. ::: ::: domanda Perché le soluzioni del sistema omogeneo formano un sottospazio? Perché valgono le tre condizioni: lo zero è una soluzione; la somma di due soluzioni è una soluzione ($0 + 0 = 0$ in ogni equazione); un multiplo di una soluzione è una soluzione ($\lambda \cdot 0 = 0$). ::: ::: domanda Perché, con termini noti non tutti zero, le soluzioni non formano un sottospazio? Perché non contengono lo zero: mettendo tutte le incognite a zero in un'equazione con termine noto diverso da zero viene un'uguaglianza falsa. Inoltre la somma di due soluzioni risolve il sistema con termini noti doppi, non quello di partenza. ::: ::: domanda Come si ottengono tutte le soluzioni a partire da una sola? Si aggiungono alla soluzione particolare tutte le soluzioni del sistema omogeneo, gli spostamenti permessi: $S = x + S_0$ (Proposizione 12.3). Qualsiasi soluzione può fare da soluzione particolare. ::: ::: domanda Che cos'è un sottospazio affine e qual è la sua dimensione? Un sottospazio spostato: $x + W$, con $x$ un punto fissato e $W$ un sottospazio. La sua dimensione è quella di $W$. Punti, rette e piani qualsiasi sono sottospazi affini di dimensione 0, 1 e 2. ::: ::: domanda Come si legge un sistema per colonne, e che cosa se ne ricava? Come una ricetta: $x_1A^1 + \cdots + x_nA^n = b$. Il sistema ha soluzioni esattamente quando $b$ si ottiene con una ricetta dalle colonne di $A$, cioè sta nel loro Span. ::: ::: domanda Come si calcola il rango con Gauss, e perché funziona? Si riduce la matrice a scalini e si contano i pivot. Funziona perché le mosse di Gauss non cambiano lo Span delle righe, quindi nemmeno il rango. E nella forma ridotta le colonne dei pivot sono vettori della base canonica che generano tutte le altre colonne. ::: ::: domanda Che cosa dice il teorema di Rouché–Capelli? Il sistema ha soluzioni esattamente quando la matrice dei coefficienti e la matrice completa hanno lo stesso rango. In quel caso le soluzioni formano un sottospazio affine di dimensione «numero di incognite meno rango». ::: ::: domanda Perché un sistema reale non può avere esattamente due soluzioni? Perché se ha più di una soluzione, per Rouché–Capelli c'è almeno un'incognita libera, che può prendere infiniti valori reali. Quindi le soluzioni sono zero, una o infinite (Corollario 12.7). ::: ::: domanda Che cosa si può dire di un sistema quadrato con determinante diverso da zero? E con determinante zero? Con determinante diverso da zero: una sola soluzione per ogni colonna di termini noti, $x = A^{-1}b$ (Corollario 12.8). Con determinante zero: zero oppure infinite soluzioni, a seconda dei termini noti; si decide confrontando i due ranghi. ::: ::: domanda Come si discute un sistema con un parametro $k$? Se la matrice è quadrata si parte dal determinante: per i $k$ che non lo annullano la soluzione è una sola. Altrimenti si fa Gauss tenendo $k$ come lettera. I valori speciali, quelli che annullano il determinante o un pivot, si studiano a parte, sostituendoli e confrontando i due ranghi. ::: ::: domanda Come si trova una soluzione particolare e una base delle soluzioni dell'omogeneo dalla soluzione generale? Si scrive la soluzione generale separando la parte di ogni lettera libera: $x_0 + t_1v_1 + \cdots + t_hv_h$. Con tutte le lettere a zero viene la soluzione particolare $x_0$, e i vettori $v_1, \dots, v_h$ sono una base delle soluzioni dell'omogeneo. ::: ## Glossario ```glossario Sistema omogeneo | Sistema lineare con tutti i termini noti uguali a zero: la soluzione zero c'è sempre. Sistema omogeneo associato | Lo stesso sistema con i termini noti messi a zero; matrice $(A \mid 0)$, o anche solo $A$. $S$ e $S_0$ | Le soluzioni del sistema di partenza e quelle del suo omogeneo associato. Soluzione particolare | Una soluzione qualsiasi, fissata, del sistema di partenza. Sottospazio affine | Un sottospazio spostato: $x + W$, con $W$ sottospazio vettoriale. Punti, rette e piani qualsiasi. Giacitura | Il sottospazio $W$ di un sottospazio affine $x + W$: la direzione senza la posizione. Per le soluzioni di un sistema è $S_0$. Dimensione di un sottospazio affine | La dimensione della sua giacitura. Retta e piano affini | Sottospazi affini di dimensione 1 e 2. Colonne $A^1, \dots, A^n$ | Le colonne della matrice $A$; il sistema si legge come la ricetta $x_1A^1 + \cdots + x_nA^n = b$. Rango $\rk(A)$ | Quante colonne dicono davvero qualcosa di nuovo; si calcola contando i pivot di una forma a scalini. Teorema di Rouché–Capelli | Il sistema ha soluzioni esattamente quando i due ranghi sono uguali; allora le incognite libere sono le incognite meno il rango. Corollario 12.7 | Con i numeri reali o complessi le soluzioni sono zero, una oppure infinite. Sistema quadrato | Sistema con tante equazioni quante incognite: la matrice $A$ è quadrata. Corollario 12.8 | Se $A$ è quadrata con determinante diverso da zero, c'è una sola soluzione, $x = A^{-1}b$. Parametro di un sistema | Una lettera, di solito $k$, nei coefficienti o nei termini noti; si discute il sistema per ogni valore di $k$. Caso speciale | Un valore del parametro che annulla il determinante o un pivot: va studiato a parte. ``` ## Checklist ```checklist - So scrivere il sistema omogeneo associato e spiegare perché le sue soluzioni formano un sottospazio. - So spiegare perché le soluzioni di $Ax = b$ con $b$ diverso da zero non formano un sottospazio vettoriale. - So usare «tutte le soluzioni = una particolare + quelle dell'omogeneo», e ricavare le due parti dalla soluzione generale. - So dire che cos'è un sottospazio affine e qual è la sua dimensione, con esempi nel piano e nello spazio. - So leggere un sistema per colonne e dire quando ha soluzioni. - So calcolare il rango contando i pivot e spiegare perché le mosse di Gauss non lo cambiano. - So enunciare il teorema di Rouché–Capelli e usarlo per contare soluzioni e incognite libere. - So spiegare perché le soluzioni sono zero, una o infinite. - So risolvere un sistema quadrato con determinante diverso da zero usando l'inversa, e so che con determinante zero le soluzioni sono zero o infinite. - So discutere un sistema con un parametro, senza dimenticare i valori speciali. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 12 «Sistemi Lineari II», pp. 56–61: le sezioni 12.A–12.C sono seguite in ordine, con la pagina indicata accanto a ogni titolo; definizioni, proposizioni, teorema, corollari ed esempi mantengono la loro numerazione (Definizioni 12.1 e 12.5, Proposizioni 12.2 e 12.3, Teorema 12.6, Corollari 12.7 e 12.8, Esempi 12.4 e 12.9, Esercizi 12.10 e 12.11, svolti come esercizi 5 e 8), compreso il riquadro «Collegamento con l'informatica» sulla programmazione lineare. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §3.2 «Teorema di Rouché–Capelli» (pp. 85–93), in particolare gli Esempi 3.2.2 e 3.2.5, la giacitura, la Proposizione 3.2.9 e il Corollario 3.2.16 sui sistemi omogenei. - **Appelli d'esame** di Algebra lineare 2023/24–2025/26 con soluzioni ufficiali (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): riportati la domanda 3 del 07/09/2026 e i problemi 11 del 05/02/2026 e del 03/07/2026; citati il problema 11 del 07/02/2025, i problemi 12 dell'08/02/2024 e del 10/07/2025 e le domande del 10/06/2024, del 10/07/2024 e del 16/01/2025. Le soluzioni qui sono scritte da capo. L'esercizio con parametro è l'esercizio 10 del Foglio 2 del tutorato (Moodle MDAG2). - Le parti **«Oltre le dispense»** (sottospazi affini che passano per l'origine, campi finiti, sistemi omogenei e autovettori, la soluzione generale dell'Esempio 12.9, gli esercizi non numerati) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L13_sistemi_lineari_3.md` ```yaml corso: MDAG modulo: AG lezione: L13 titolo: Sistemi lineari III docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L13 descrizione: >- Appunti della lezione L13 di Algebra lineare e Geometria (MDAG, parte 2): indipendenza lineare, generatori, basi e coordinate rispetto a una base studiati con i sistemi lineari, il rango e il determinante, più un codice che corregge gli errori di trasmissione, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Le domande della lezione L07 sui vettori (sono indipendenti? generano tutto? sono una base?) diventano sistemi: si mettono i vettori in colonna, si fa Gauss e si contano i pivot. Poi le coordinate, cioè le dosi della ricetta rispetto a una base, e un'applicazione: due numeri in più per trovare e correggere un errore in un messaggio. materiale: dispense scheda: Dispense: lezione 13 · pp. 62–67 Libro: Martelli, §2.3 e §3.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 13 «Sistemi lineari III»; B. Martelli, Geometria e algebra lineare, §2.3 e §3.2 appunti_html: appunti/MDAG/L13_sistemi_lineari_3.html genera_html: true ``` ## In breve - Ogni domanda sui vettori diventa un sistema: si mettono i vettori **in colonna** in una matrice, si fa Gauss e si contano i pivot. - I vettori sono **indipendenti** quando c'è un pivot in ogni colonna, cioè il rango è uguale al numero di vettori. - I vettori **generano** tutto lo spazio quando c'è un pivot in ogni riga, cioè il rango è uguale al numero di coordinate. - Con tanti vettori quante coordinate la matrice è quadrata: sono una **base** esattamente quando il determinante non è zero. - Rispetto a una base ogni vettore ha **una sola ricetta**. Le dosi di questa ricetta sono le sue **coordinate**. - Le coordinate si trovano risolvendo un sistema, con Gauss oppure con l'inversa. - Collegamento con l'informatica: aggiungendo a un messaggio due numeri, scelti con un sistema, si può scoprire e correggere un errore di trasmissione. - All'esame: «generatori e/o linearmente indipendenti?», «il vettore delle coordinate è…», «il rango della matrice è…». > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## C'è un doppione? Un sistema lo dice (pp. 62–63) Nella lezione L07 hai visto che due vettori del piano sono dipendenti quando uno è multiplo dell'altro. Per esempio $(1, 2)$ e $(2, 4)$: il secondo è il doppio del primo, un doppione. Con tre vettori nello spazio però l'occhio non basta più: può darsi che nessuno sia multiplo di un altro, e che uno sia comunque una ricetta con gli altri due. Questa lezione trasforma la domanda in un **sistema**, che sai risolvere sempre (lezioni L11 e L12). Le dispense ripartono dalla definizione della lezione L07. > [!DEF] Dipendenza e indipendenza lineare (p. 62) > Sia $V$ uno spazio vettoriale su $\K$ e siano $v_1, \dots, v_k \in V$. Questi vettori sono **linearmente dipendenti** se esistono dei coefficienti $\lambda_1, \dots, \lambda_k \in \K$, non tutti nulli, tali che > $$\lambda_1v_1 + \cdots + \lambda_kv_k = 0. \qquad (13.1)$$ > Invece $v_1, \dots, v_k$ sono **linearmente indipendenti** se l'unica soluzione di (13.1) è $\lambda_1 = \cdots = \lambda_k = 0$. **Come si legge.** È la definizione della lezione L07. Dipendenti: c'è una ricetta con dosi non tutte zero che dà il vettore zero. Indipendenti: l'unica ricetta che dà zero è quella con tutte le dosi zero. ### L'idea: la ricetta è un sistema Guarda l'equazione (13.1) con occhi nuovi. I vettori sono dati; le **incognite** sono le dosi $\lambda_1, \dots, \lambda_k$. Un esempio nel piano, con i vettori $(1, 2)$ e $(3, 1)$: $$\lambda_1 \begin{pmatrix} 1 \\ 2 \end{pmatrix} + \lambda_2 \begin{pmatrix} 3 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \end{pmatrix}.$$ Coordinata per coordinata sono due equazioni: $$\begin{cases} \lambda_1 + 3\lambda_2 = 0 \\ 2\lambda_1 + \lambda_2 = 0 \end{cases}$$ La matrice di questo sistema ha **i vettori in colonna**: $\begin{pmatrix} 1 & 3 \\ 2 & 1 \end{pmatrix}$. In generale, con $k$ vettori che hanno $m$ coordinate, l'equazione (13.1) è un sistema di $m$ equazioni nelle $k$ incognite $\lambda_1, \dots, \lambda_k$. È un sistema **omogeneo**, con zeri a destra, e la sua matrice ha i vettori in colonna: $$A = (v_1 \mid v_2 \mid \cdots \mid v_k).$$ - La soluzione con tutte le dosi zero c'è sempre (lezione L12: un sistema omogeneo non è mai impossibile). - I vettori sono **indipendenti** esattamente quando questa è l'**unica** soluzione. - Per Rouché–Capelli le dosi libere sono $k - \rk(A)$: c'è solo la soluzione zero quando non ci sono dosi libere, cioè quando il rango è $k$. > [!METODO] Indipendenti o no? > 1. Scrivi la matrice $A = (v_1 \mid \cdots \mid v_k)$ con i vettori in colonna. > 2. Calcola il rango con Gauss (lezione L12). I vettori sono indipendenti esattamente quando il rango è $k$, cioè c'è un pivot in **ogni** colonna. > 3. Se i vettori sono tanti quante le coordinate, la matrice è quadrata e basta il determinante: indipendenti esattamente quando non è zero (Corollario 12.8: una sola soluzione, quella zero). > 4. Se sono dipendenti, risolvi il sistema: ogni soluzione con dosi non tutte zero è una **ricetta che dà zero**, e mostra il doppione. > [!ESEMPIO] 13.1 · Tre vettori dipendenti di $\R^3$ > Prendiamo > $$v_1 = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}, \qquad v_2 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}, \qquad v_3 = \begin{pmatrix} 1 \\ 0 \\ -1 \end{pmatrix}.$$ > Dobbiamo studiare le soluzioni di $\lambda_1v_1 + \lambda_2v_2 + \lambda_3v_3 = 0$, cioè del sistema lineare omogeneo > $$\begin{cases} \lambda_1 + \lambda_3 = 0 \\ \lambda_1 + \lambda_2 = 0 \\ \lambda_2 - \lambda_3 = 0 \end{cases} \qquad A = \begin{pmatrix} 1 & 0 & 1 \\ 1 & 1 & 0 \\ 0 & 1 & -1 \end{pmatrix} = (v_1 \mid v_2 \mid v_3).$$ > **Con il determinante.** Il sistema ha un'unica soluzione se $\det A \neq 0$. Sviluppando lungo la prima riga (il termine centrale ha il coefficiente $0$): > $$\det A = 1 \cdot \det \begin{pmatrix} 1 & 0 \\ 1 & -1 \end{pmatrix} + 1 \cdot \det \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = -1 + 1 = 0.$$ > Quindi esistono infinite soluzioni e i vettori sono **linearmente dipendenti**. > > **Con le mosse di Gauss.** > $$A \xrightarrow{A_2 \to A_2 - A_1} \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & -1 \\ 0 & 1 & -1 \end{pmatrix} \xrightarrow{A_3 \to A_3 - A_2} \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & -1 \\ 0 & 0 & 0 \end{pmatrix}$$ > $A$ ha rango $2 < 3$: di nuovo infinite soluzioni $(\lambda_1, \lambda_2, \lambda_3)$, e i vettori sono dipendenti. > > **Con lo Span.** Se $A$ ha rango 2, $\Span(v_1, v_2, v_3)$ ha dimensione 2; tre vettori indipendenti genererebbero uno spazio di dimensione 3. Quindi sono dipendenti. Qui le dispense chiamano le righe della matrice $A_1, A_2, A_3$, con il numero in basso come nella lezione L08, invece di $R_1, R_2, R_3$. La mossa $A_2 \to A_2 - A_1$ è la solita mossa del terzo tipo. Le dispense si fermano a «sono dipendenti». Vale la pena trovare **il doppione**. Dalla forma a scalini: $\lambda_3 = t$ è libera, la seconda riga dà $\lambda_2 = t$ e la prima $\lambda_1 = -t$. Con $t = 1$: $$-v_1 + v_2 + v_3 = 0, \qquad \text{cioè} \qquad v_3 = v_1 - v_2.$$ Controllo: $-(1, 1, 0) + (0, 1, 1) + (1, 0, -1) = (0, 0, 0)$. Nessuno dei tre vettori è multiplo di un altro, eppure il terzo si ottiene dai primi due. È il caso che la lezione L07 segnalava: guardare i vettori a coppie non basta. ```widget gauss titolo: Metti i vettori in colonna e conta i pivot (qui $v_1, v_2, v_3$ dell'Esempio 13.1) matrice: 1 0 1; 1 1 0; 0 1 -1 modo: rango modi: rango nucleo ``` Premi «Calcola»: due pivot, rango 2, quindi i tre vettori sono dipendenti. Scegli poi «nucleo e immagine»: il nucleo è generato da $(-1, 1, 1)$, proprio le dosi della ricetta $-v_1 + v_2 + v_3 = 0$. Prova a cambiare l'ultimo numero da $-1$ a $1$: il rango diventa 3 e i vettori diventano indipendenti. > [!TRAPPOLA] Troppi vettori sono sempre dipendenti > Una matrice con $m$ righe ha rango al massimo $m$. Quindi **più di $m$ vettori con $m$ coordinate sono sempre dipendenti**: 4 vettori dello spazio a tre coordinate non possono essere indipendenti, qualunque siano. Nel quiz non serve nessun conto per escludere l'indipendenza; resta da capire se generano. > [!TRAPPOLA] Colonne, non righe > Per l'**indipendenza** potresti mettere i vettori anche in riga, perché la trasposta ha lo stesso rango (Proposizione 8.6). Ma per i **generatori** e per le **coordinate**, dove si risolve un sistema con dei termini noti, i vettori vanno in **colonna**: le dosi moltiplicano le colonne. Abituati a metterli sempre in colonna. ::: prova I vettori $(1, 2)$ e $(3, 1)$ sono indipendenti? Usa il determinante. In colonna: $\det \begin{pmatrix} 1 & 3 \\ 2 & 1 \end{pmatrix} = 1 - 6 = -5$, non zero. Sono indipendenti. ::: > [!RICORDA] > - Vettori in colonna, Gauss, pivot: indipendenti esattamente quando c'è un pivot in ogni colonna. > - Con la matrice quadrata basta il determinante: indipendenti esattamente quando non è zero. ## Si cucina tutto? Lo Span (pp. 63–64) Ora l'altra domanda: con questi vettori si cucina **tutto** lo spazio? Le dispense ricordano che vuol dire $\Span(v_1, \dots, v_k) = V$: ogni vettore $v$ dello spazio è una ricetta con $v_1, \dots, v_k$. Cioè, per ogni $v$ ci sono delle dosi con $$\lambda_1v_1 + \cdots + \lambda_kv_k = v. \qquad (13.2)$$ Anche (13.2) è un sistema nelle dosi, con la stessa matrice $A = (v_1 \mid \cdots \mid v_k)$, ma ora con i **termini noti** dati da $v$. Quindi: - $v$ sta nello Span esattamente quando il sistema $(A \mid v)$ ha soluzione. Per Rouché–Capelli: quando $(A \mid v)$ e $A$ hanno lo stesso rango. - I vettori **generano** tutto lo spazio a $m$ coordinate esattamente quando il sistema ha soluzione **per ogni** $v$. Questo succede quando il rango di $A$ è $m$: un pivot in ogni riga. Il perché dell'ultima frase. Se il rango di $A$ è $m$, anche $(A \mid v)$ ha rango $m$: ha solo $m$ righe, quindi non può avere più di $m$ pivot. I ranghi sono uguali per ogni $v$. Se invece il rango di $A$ è più piccolo di $m$, lo Span ha dimensione più piccola di $m$ e non può essere tutto lo spazio. > [!ESEMPIO] 13.2 · Tre vettori che generano $\R^3$ > Prendiamo > $$w_1 = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}, \qquad w_2 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}, \qquad w_3 = \begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix}.$$ > Prendiamo un qualsiasi vettore $v = (a, b, c)$: dobbiamo studiare le soluzioni di $\lambda_1w_1 + \lambda_2w_2 + \lambda_3w_3 = v$, cioè del sistema > $$\begin{cases} \lambda_1 + \lambda_3 = a \\ \lambda_1 + \lambda_2 + \lambda_3 = b \\ \lambda_2 - \lambda_3 = c \end{cases} \qquad A = \begin{pmatrix} 1 & 0 & 1 \\ 1 & 1 & 1 \\ 0 & 1 & -1 \end{pmatrix} = (w_1 \mid w_2 \mid w_3).$$ > **Con il determinante**, lungo la prima riga: > $$\det A = 1 \cdot \det \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} + 1 \cdot \det \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = -2 + 1 = -1 \neq 0.$$ > $A$ è invertibile (quindi ha rango 3) e il sistema ha sempre una soluzione, per qualsiasi $v$. Allora $\Span(w_1, w_2, w_3) = \R^3$. > > **Con le mosse di Gauss.** > $$A \xrightarrow{A_2 \to A_2 - A_1} \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 1 & -1 \end{pmatrix} \xrightarrow{A_3 \to A_3 - A_2} \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & -1 \end{pmatrix}$$ > $A$ ha rango 3, quindi $\Span(w_1, w_2, w_3)$ ha dimensione 3 ed è tutto $\R^3$: ogni altro sottospazio di $\R^3$ ha dimensione strettamente minore di 3. Si può anche scrivere la ricetta **per ogni** vettore. Risolvendo il sistema con $v = (a, b, c)$ generico, oppure con l'inversa che trovi nell'Esempio 13.6: $$\lambda_1 = 2a - b + c, \qquad \lambda_2 = -a + b, \qquad \lambda_3 = -a + b - c.$$ Per esempio $(1, 0, 0) = 2w_1 - w_2 - w_3$. Controllo: $2(1, 1, 0) - (0, 1, 1) - (1, 1, -1) = (2 - 0 - 1,\ 2 - 1 - 1,\ 0 - 1 + 1) = (1, 0, 0)$. ::: prova I vettori $(1, 0, 0)$ e $(0, 1, 0)$ generano tutto lo spazio a tre coordinate? No: sono solo due, e il rango di una matrice con due colonne è al massimo 2, non 3. Generano il piano orizzontale, dove la terza coordinata è zero. ::: ### Quando i vettori non generano tutto: l'equazione dello Span I vettori $v_1, v_2, v_3$ dell'Esempio 13.1 hanno rango 2: **non** generano tutto lo spazio. Ma che cosa generano? Si scopre facendo Gauss con un vettore generico $v = (a, b, c)$ come termine noto: $$\left(\begin{array}{ccc|c} 1 & 0 & 1 & a \\ 1 & 1 & 0 & b \\ 0 & 1 & -1 & c \end{array}\right) \xrightarrow{R_2 \to R_2 - R_1} \left(\begin{array}{ccc|c} 1 & 0 & 1 & a \\ 0 & 1 & -1 & b - a \\ 0 & 1 & -1 & c \end{array}\right)$$ $$\xrightarrow{R_3 \to R_3 - R_2} \left(\begin{array}{ccc|c} 1 & 0 & 1 & a \\ 0 & 1 & -1 & b - a \\ 0 & 0 & 0 & a - b + c \end{array}\right)$$ L'ultima riga dice $0 = a - b + c$. Il sistema ha soluzione, cioè $v$ sta nello Span, **esattamente quando** $a - b + c = 0$. Quindi $$\Span(v_1, v_2, v_3) = \{(x, y, z) \in \R^3 \mid x - y + z = 0\},$$ un piano per l'origine. Controllo sui tre vettori: - $v_1$ dà $1 - 1 + 0 = 0$; - $v_2$ dà $0 - 1 + 1 = 0$; - $v_3$ dà $1 - 0 - 1 = 0$. Invece $(1, 0, 0)$ dà 1, non 0: non è una ricetta con $v_1, v_2, v_3$. > [!METODO] Un vettore sta nello Span? E che equazioni ha lo Span? > 1. Scrivi $(v_1 \mid \cdots \mid v_k \mid v)$ con $v = (a, b, c, \dots)$ **generico**. > 2. Riduci a scalini: le lettere $a, b, c$ viaggiano nell'ultima colonna. > 3. Ogni riga che a sinistra diventa tutta zero dà una condizione «espressione con $a, b, c$ = 0»: sono le **equazioni** dello Span. > 4. Un vettore con i numeri sta nello Span esattamente quando rispetta tutte le equazioni. > [!OLTRE] una base dello Span senza conti in più > Le mosse di Gauss sulle righe non cambiano le ricette tra le colonne: una ricetta $\lambda_1A^1 + \cdots + \lambda_kA^k = 0$ è una soluzione del sistema omogeneo, e le mosse non cambiano le soluzioni (Proposizione 11.4). Quindi i vettori $v_j$ le cui colonne hanno un pivot nella forma a scalini sono **una base** dello Span. Nell'Esempio 13.1 i pivot sono nelle colonne 1 e 2: $v_1, v_2$ sono una base del piano $x - y + z = 0$. Attenzione: si prendono i vettori **di partenza**, non le colonne della matrice ridotta. È l'«algoritmo di estrazione» di Martelli (§2.3.6), fatto con Gauss. > [!TRAPPOLA] Troppo pochi vettori non generano mai > Lo Span di $k$ vettori ha dimensione al massimo $k$. Quindi **meno di $m$ vettori non possono generare tutto lo spazio a $m$ coordinate**: due vettori dello spazio a tre coordinate generano al massimo un piano. > [!RICORDA] > - I vettori generano tutto lo spazio esattamente quando c'è un pivot in ogni riga. > - Gauss con un vettore generico come termine noto dà le equazioni dello Span. ## Basi (p. 64) Una base è una lista di vettori che passa tutti e due i controlli: niente doppioni, e si cucina tutto. Le dispense ricordano la definizione della lezione L07. > [!DEF] Base (p. 64) > Una sequenza $v_1, \dots, v_n \in V$ di vettori è una **base** se sono soddisfatte entrambe queste condizioni: > 1. i vettori $v_1, \dots, v_n$ sono indipendenti; > 2. i vettori $v_1, \dots, v_n$ generano $V$. > > Se sappiamo già che $V$ ha dimensione $n$, basta controllare **una** delle due proprietà: l'altra segue automaticamente (Teorema 7.12). **Come si legge.** Una base deve essere indipendente e deve generare. Ma se i vettori sono tanti quanta è la dimensione, basta un controllo solo (Teorema 7.12, lezione L07). > [!ESEMPIO] 13.3 · Una base sì, una no > $v_1, v_2, v_3$ dell'Esempio 13.1 **non** formano una base di $\R^3$, perché non sono linearmente indipendenti. Invece $w_1, w_2, w_3$ dell'Esempio 13.2 formano una base di $\R^3$: sono generatori e sono tre vettori, e $\R^3$ ha dimensione 3. Devono allora per forza essere linearmente indipendenti (Teorema 7.12), un fatto che si verifica anche in modo diretto: il sistema omogeneo con $\det A = -1 \neq 0$ ha solo la soluzione nulla. Con il rango le tre domande hanno una risposta sola. La matrice $A = (v_1 \mid \cdots \mid v_k)$ ha $k$ colonne e $m$ righe; chiamo $r$ il suo rango. | Domanda | Risposta | Serve che | |---|---|---| | indipendenti? | sì esattamente quando $r = k$ | $k \le m$ | | generano tutto? | sì esattamente quando $r = m$ | $k \ge m$ | | base? | sì esattamente quando $r = k = m$ | $k = m$, cioè determinante diverso da zero | E senza nessun conto, solo contando: | Quanti vettori, con $m$ coordinate | Indipendenti? | Generano tutto? | |---|---|---| | meno di $m$ | possibile | **mai** | | esattamente $m$ | quando il determinante non è zero | quando il determinante non è zero | | più di $m$ | **mai** | possibile | > [!ESEMPIO] Quattro polinomi di $\R_2[x]$ > I polinomi $1 + x$, $x + x^2$, $1 + x^2$, $1$ di $\R_2[x]$ (lo spazio dei polinomi di grado al massimo 2, di dimensione 3) sono generatori e/o indipendenti? Un polinomio $a_0 + a_1x + a_2x^2$ si scrive con i suoi tre coefficienti $(a_0, a_1, a_2)$: sono le sue coordinate rispetto alla base $1, x, x^2$, come nella prossima sezione. La matrice con i polinomi in colonna è > $$A = \begin{pmatrix} 1 & 0 & 1 & 1 \\ 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \end{pmatrix}.$$ > Le prime tre colonne hanno determinante $1 \cdot (1 - 0) - 0 + 1 \cdot (1 - 0) = 2$, non zero: sono già una base. Quindi il rango è 3 e i quattro polinomi **generano**. Ma sono 4 in uno spazio di dimensione 3: **non** sono indipendenti. Infatti $1 = \frac 12\big((1 + x) - (x + x^2) + (1 + x^2)\big)$. ::: prova Tre vettori con tre coordinate, messi in colonna, danno determinante 7. Sono una base? Sì: il determinante non è zero, quindi sono indipendenti, e per il Teorema 7.12 generano anche tutto. ::: > [!RICORDA] > - Base: pivot in ogni riga e in ogni colonna; con la matrice quadrata, determinante diverso da zero. > - Più vettori delle coordinate: mai indipendenti. Meno: mai generatori. ## Le dosi della ricetta: le coordinate (pp. 64–65) Una base serve a **dare un indirizzo** a ogni vettore. Nel piano prendi la base $v_1 = (1, 1)$, $v_2 = (-1, 1)$ e il vettore $w = (2, 0)$. Si può scrivere $$w = 1 \cdot v_1 + (-1) \cdot v_2, \qquad \text{infatti } (1, 1) - (-1, 1) = (2, 0).$$ Per arrivare a $w$ fai un passo lungo $v_1$ e un passo all'indietro lungo $v_2$. Le dosi della ricetta sono 1 e $-1$: nella base $v_1, v_2$ il vettore $w$ ha «indirizzo» $(1, -1)$. Sono le sue **coordinate** (esempio dal libro di Martelli, Esempio 2.3.12). ```grafico titolo: $w = (2, 0)$ si raggiunge con un passo lungo $v_1$ e un passo all'indietro lungo $v_2$: coordinate $(1, -1)$ x: -2 3 y: -1.5 2 vettore: 1 1 | accento | $v_1$ | n vettore: -1 1 | blu | $v_2$ | n vettore: 2 0 | ambra | spesso | $w$ | s vettore: 1 1 2 0 | blu | tratteggio | $-v_2$ | ne ``` Perché l'indirizzo abbia senso deve essere **uno solo**. Ed è qui che servono le due proprietà della base. Le dispense lo scrivono così. > [!PROP] 13.4 > Sia $V$ uno spazio vettoriale e sia $v_1, \dots, v_n$ una base di $V$. Ogni vettore $v \in V$ si scrive in modo unico come > $$v = \lambda_1v_1 + \cdots + \lambda_nv_n.$$ **Come si legge.** Con gli ingredienti di una base, ogni vettore ha **una e una sola** ricetta. Il perché, in tre passi. 1. **Una ricetta c'è.** I vettori della base generano tutto, quindi $v$ è una loro ricetta. 2. **Supponiamo che ce ne siano due**: $v = \lambda_1v_1 + \cdots + \lambda_nv_n = \mu_1v_1 + \cdots + \mu_nv_n$. Sottraendo: $$(\lambda_1 - \mu_1)v_1 + \cdots + (\lambda_n - \mu_n)v_n = 0.$$ 3. **I vettori sono indipendenti**, quindi tutte le dosi di questa ricetta sono zero: $\lambda_i - \mu_i = 0$, cioè $\mu_i = \lambda_i$ per ogni $i$. Le due ricette erano la stessa. Le dosi di questa ricetta hanno un nome. > [!DEF] 13.5 · Coordinate > I coefficienti $\lambda_1, \dots, \lambda_n$ sono le **coordinate** di $v$ rispetto alla base $v_1, \dots, v_n$. Il **vettore colonna di coordinate** è il vettore > $$\begin{pmatrix} \lambda_1 \\ \vdots \\ \lambda_n \end{pmatrix}.$$ **Come si legge.** - Le coordinate sono le dosi dell'unica ricetta che dà $v$ con gli ingredienti della base. - Dipendono dalla **base**: lo stesso vettore ha coordinate diverse in basi diverse. - Dipendono anche dall'**ordine** dei vettori della base: $\lambda_1$ è la dose del primo vettore, $\lambda_2$ del secondo, e così via. - Le coordinate sono **numeri**: il vettore delle coordinate è una lista di numeri anche quando $V$ è fatto di polinomi o di matrici. - Nella base canonica le coordinate sono i numeri del vettore stesso; nella base $1, x, \dots, x^n$ dei polinomi sono i coefficienti, dal termine noto in su. > [!ESEMPIO] 13.6 · Lo stesso vettore in due basi > Sia $e_1, e_2, e_3$ la base canonica di $\R^3$ e sia $v = (3, 4, 5)$. Le coordinate rispetto alla base canonica sono proprio le componenti di $v$, visto che > $$3e_1 + 4e_2 + 5e_3 = 3\begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} + 4\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} + 5\begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 3 \\ 4 \\ 5 \end{pmatrix}.$$ > Allora il vettore di coordinate di $v$ è proprio $v$. Questo non è più vero con un'altra base. Sia per esempio $w_1, w_2, w_3$ la base dell'Esempio 13.2. Per trovare le coordinate di $v$ in questa base dobbiamo risolvere il sistema > $$\lambda_1 \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix} + \lambda_2 \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix} + \lambda_3 \begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix} = \begin{pmatrix} 3 \\ 4 \\ 5 \end{pmatrix}.$$ > Nell'Esempio 13.2 abbiamo visto che la soluzione è sempre unica, perché $\det A = -1$. Il vettore di coordinate di $v$ in questa base è > $$A^{-1}\begin{pmatrix} 3 \\ 4 \\ 5 \end{pmatrix} = \begin{pmatrix} 2 & -1 & 1 \\ -1 & 1 & 0 \\ -1 & 1 & -1 \end{pmatrix}\begin{pmatrix} 3 \\ 4 \\ 5 \end{pmatrix} = \begin{pmatrix} 7 \\ 1 \\ -4 \end{pmatrix}.$$ > In alternativa si può risolvere il sistema con l'algoritmo di Gauss–Jordan. I conti che le dispense lasciano a te. - **Il prodotto:** prima riga $2 \cdot 3 - 1 \cdot 4 + 1 \cdot 5 = 7$; seconda $-3 + 4 + 0 = 1$; terza $-3 + 4 - 5 = -4$. - **L'inversa è giusta?** $A$ per l'inversa deve dare l'identità. Prima riga di $A$, $(1, 0, 1)$, per le colonne dell'inversa: $2 - 1 = 1$, poi $-1 + 1 = 0$, poi $1 - 1 = 0$. Le altre righe si controllano allo stesso modo. - **Controllo del risultato:** $7w_1 + w_2 - 4w_3 = (7, 7, 0) + (0, 1, 1) - (4, 4, -4) = (3, 4, 5)$. - **Con Gauss**, senza inversa: $$\left(\begin{array}{ccc|c} 1 & 0 & 1 & 3 \\ 1 & 1 & 1 & 4 \\ 0 & 1 & -1 & 5 \end{array}\right) \xrightarrow{R_2 \to R_2 - R_1} \left(\begin{array}{ccc|c} 1 & 0 & 1 & 3 \\ 0 & 1 & 0 & 1 \\ 0 & 1 & -1 & 5 \end{array}\right)$$ $$\xrightarrow{R_3 \to R_3 - R_2} \left(\begin{array}{ccc|c} 1 & 0 & 1 & 3 \\ 0 & 1 & 0 & 1 \\ 0 & 0 & -1 & 4 \end{array}\right)$$ Poi $R_3 \to -R_3$ dà $(0, 0, 1 \mid -4)$ e $R_1 \to R_1 - R_3$ dà $(1, 0, 0 \mid 7)$: l'ultima colonna della forma ridotta è $(7, 1, -4)$. ```widget gauss titolo: Coordinate di $v = (3, 4, 5)$ nella base $w_1, w_2, w_3$: le prime tre colonne sono la base, l'ultima è $v$ matrice: 1 0 1 3; 1 1 1 4; 0 1 -1 5 modo: sistema ``` Lo strumento risolve il sistema $(w_1 \mid w_2 \mid w_3 \mid v)$ e trova $x_1 = 7$, $x_2 = 1$, $x_3 = -4$: sono le coordinate. Cambia l'ultima colonna con un altro vettore, per esempio `1 0 0` al posto di `3 4 5`: trovi $(2, -1, -1)$, la prima colonna dell'inversa. > [!METODO] Le coordinate di un vettore rispetto a una base > 1. **Con vettori di numeri:** scrivi $(v_1 \mid \cdots \mid v_n \mid v)$ e fai Gauss fino in fondo; l'ultima colonna della forma ridotta è il vettore delle coordinate. Con due vettori, o se hai già l'inversa, usa $A^{-1}v$. > 2. **Con i polinomi:** scrivi $\lambda_1p_1 + \cdots + \lambda_np_n = p$, raccogli le potenze di $x$ e uguaglia i numeri davanti a $1, x, x^2, \dots$ a sinistra e a destra. Ne esce un sistema nelle dosi. > 3. **Controlla sempre**: rifai la ricetta $\lambda_1v_1 + \cdots + \lambda_nv_n$ e verifica che dia $v$. > [!ESEMPIO] Coordinate di un polinomio > Le coordinate di $p = 2 + 3x + 4x^2$ rispetto alla base $1,\ 1 + x,\ 1 + x + x^2$ di $\R_2[x]$. Scrivo > $$\lambda_1 \cdot 1 + \lambda_2(1 + x) + \lambda_3(1 + x + x^2) = (\lambda_1 + \lambda_2 + \lambda_3) + (\lambda_2 + \lambda_3)x + \lambda_3x^2$$ > e uguaglio i numeri con quelli di $p$: > 1. davanti a $x^2$: $\lambda_3 = 4$; > 2. davanti a $x$: $\lambda_2 + \lambda_3 = 3$, quindi $\lambda_2 = -1$; > 3. termine noto: $\lambda_1 + \lambda_2 + \lambda_3 = 2$, quindi $\lambda_1 = -1$. > > Le coordinate sono $(-1, -1, 4)$. Controllo: $-1 - (1 + x) + 4(1 + x + x^2) = 2 + 3x + 4x^2$. > [!TRAPPOLA] Le coordinate sono numeri, in ordine > Nel quiz dell'appello dell'08/02/2024 (domanda 3), tra le risposte c'erano scritture come $(2p_1, -p_2, p_3)$ e $(x^2, 2x, 1)$. Sono sbagliate per come sono fatte: le coordinate sono le **dosi**, cioè numeri, non i pezzi della ricetta né le potenze di $x$. E l'ordine conta: rispetto alla base ordinata $x^2, x, 1$ il polinomio $2 + 3x - x^2$ ha coordinate $(-1, 3, 2)$, non $(2, 3, -1)$. > [!OLTRE] la mappa delle coordinate > Fissata una base $B$ di $V$, la funzione che manda $v$ nel suo vettore di coordinate, scritto spesso $[v]_B$, rispetta le somme e i multipli: le coordinate di $v + w$ sono la somma delle coordinate, quelle di $\lambda v$ sono $\lambda$ volte quelle di $v$ (esercizio 15). È il primo esempio di **applicazione lineare** tra spazi diversi (lezione L14): grazie a lei ogni spazio di dimensione $n$ si studia come $\K^n$ (Martelli, Esempio 4.1.17). ::: prova Nella base $(1, 0), (1, 1)$ del piano, quali sono le coordinate di $(3, 2)$? Cerco $a(1, 0) + b(1, 1) = (a + b,\ b) = (3, 2)$. Quindi $b = 2$ e $a = 1$: le coordinate sono $(1, 2)$. Controllo: $(1, 0) + 2(1, 1) = (3, 2)$. ::: > [!RICORDA] > - Con una base, ogni vettore ha una sola ricetta; le sue dosi, in ordine, sono le coordinate. > - Le coordinate si trovano risolvendo un sistema; poi si controlla rifacendo la ricetta. ## Informatica: codici che correggono gli errori (pp. 66–67) Quando un messaggio viaggia, su un cavo, via radio o su un disco che si rovina, qualche numero può arrivare sbagliato. L'algebra lineare permette di aggiungere **informazione ridondante**: numeri in più, calcolati dal messaggio, che servono a **riconoscere** e in alcuni casi a **correggere** gli errori. Le dispense mostrano un modello ridotto all'osso, che qui segui passo per passo. ### Codificare: due numeri di controllo Vogliamo trasmettere i quattro numeri $2, -7, 8, -2$. Aggiungiamo due numeri $a$ e $b$, e leggiamo i sei numeri come coefficienti di un polinomio di grado 5: $$s(x) = 2x^5 - 7x^4 + 8x^3 - 2x^2 + ax + b.$$ Scegliamo $a$ e $b$ in modo che il polinomio faccia zero in 1 e in 2: sono le due **condizioni di controllo**, $s(1) = 0$ e $s(2) = 0$. - $s(1) = 2 - 7 + 8 - 2 + a + b = 1 + a + b$; - $s(2) = 2 \cdot 32 - 7 \cdot 16 + 8 \cdot 8 - 2 \cdot 4 + 2a + b = 64 - 112 + 64 - 8 + 2a + b = 8 + 2a + b$. Le condizioni danno un **sistema** nelle incognite $a$ e $b$: $$\begin{cases} a + b = -1 \\ 2a + b = -8 \end{cases}$$ Togliendo la prima equazione dalla seconda: $a = -7$; poi $b = -1 - a = 6$. Trasmettiamo quindi i sei numeri $$(2, -7, 8, -2, -7, 6).$$ Controllo: $s(1) = 2 - 7 + 8 - 2 - 7 + 6 = 0$ e $s(2) = 64 - 112 + 64 - 8 - 14 + 6 = 0$. > [!NOTA] Parentesi graffe e ordine > Le dispense scrivono i messaggi tra graffe, $\{2, -7, 8, -2\}$. Qui però **l'ordine conta** (il primo numero è il coefficiente di $x^5$, il secondo di $x^4$, …) e i numeri possono ripetersi, come i due $-7$: come ricordava la lezione L01, in un insieme ordine e ripetizioni non contano. Per questo in questi appunti i messaggi sono scritti tra parentesi tonde, come sequenze. ### Scoprire un errore Chi riceve ricostruisce il polinomio e controlla che faccia zero in 1 e in 2. Se una delle due prove fallisce, sa che c'è stato un errore. Supponiamo di ricevere $$(2, -7, 8, 4, -7, 6),$$ con il quarto numero cambiato: 4 invece di $-2$. Il polinomio ricevuto $r(x) = 2x^5 - 7x^4 + 8x^3 + 4x^2 - 7x + 6$ dà $r(1) = 6$, non zero: errore scoperto. ### Correggerlo Supponiamo di sapere che è sbagliato **un solo** numero, ma non quale. Si prova una posizione alla volta: al suo posto si mette un'incognita $k$ e si chiede di nuovo che il polinomio faccia zero in 1 e in 2. Ogni volta si ottiene un sistema di **due equazioni in un'incognita**. Con $k$ al quarto posto: $$s(x) = 2x^5 - 7x^4 + 8x^3 + kx^2 - 7x + 6, \qquad \begin{cases} s(1) = k + 2 = 0 \\ s(2) = 4k + 8 = 0 \end{cases}$$ Tutte e due le equazioni danno $k = -2$. Nelle altre posizioni le due equazioni danno valori diversi: il sistema è **impossibile**. | Posizione di $k$ | $s(1) = 0$ | $s(2) = 0$ | Esito | |---|---|---|---| | 1ª (coefficiente di $x^5$) | $k + 4 = 0$ | $32k - 40 = 0$ | $k = -4$ e $k = \frac 54$: impossibile | | 2ª ($x^4$) | $k + 13 = 0$ | $16k + 136 = 0$ | $k = -13$ e $k = -\frac{17}2$: impossibile | | 3ª ($x^3$) | $k - 2 = 0$ | $8k - 40 = 0$ | $k = 2$ e $k = 5$: impossibile | | 4ª ($x^2$) | $k + 2 = 0$ | $4k + 8 = 0$ | $k = -2$: **va bene** | | 5ª ($x$) | $k + 13 = 0$ | $2k + 38 = 0$ | $k = -13$ e $k = -19$: impossibile | | 6ª (termine noto) | $k = 0$ | $k + 18 = 0$ | $k = 0$ e $k = -18$: impossibile | Così si trova la posizione dell'errore e il valore giusto: il quarto numero era $-2$. > [!IDEA] perché funziona, in una riga > Se il numero sbagliato è il coefficiente di $x^j$ ed è sbagliato di $d$, il polinomio ricevuto è $r(x) = s(x) + d\,x^j$, quindi $r(1) = d$ e $r(2) = d \cdot 2^j$. Qui $r(1) = 6$ e $r(2) = 24$: allora $d = 6$ e $2^j = \frac{24}6 = 4$, cioè $j = 2$. Il rapporto $\frac{r(2)}{r(1)}$ dice **dove** è l'errore, $r(1)$ dice **di quanto**: il coefficiente di $x^2$ ricevuto, 4, va corretto in $4 - 6 = -2$. Aggiungendo più numeri di controllo si correggono più errori. Per esempio, con **quattro** numeri in più e le condizioni $s(1) = s(2) = s(3) = s(4) = 0$ si ottiene un sistema di quattro equazioni nei quattro numeri aggiunti. In questo modello, le quattro condizioni bastano per trovare e correggere fino a due numeri sbagliati. I **codici di Reed–Solomon**, usati tra l'altro nei QR code e in molti sistemi di memoria e di trasmissione digitale, sfruttano idee molto vicine: i dati diventano polinomi, si aggiunge ridondanza e si usano equazioni per trovare e correggere gli errori. I veri codici di Reed–Solomon lavorano con insiemi finiti di numeri, ma già questo esempio mostra il ruolo concreto di polinomi e sistemi. ::: prova Ricevi $(1, 0, 0, 0, 0, 0)$, cioè il polinomio $x^5$. Il messaggio è arrivato giusto? No: $r(1) = 1$, non zero. C'è un errore. ::: > [!OLTRE] dove trovarlo nel libro > Nel libro di Martelli: indipendenza lineare, basi e coordinate sono nel **§2.3 «Dimensione»** (pp. 60–75): dipendenza e indipendenza nel §2.3.1 (p. 60), basi nel §2.3.2 (p. 62), coordinate nel §2.3.3 con la Proposizione 2.3.11 e gli Esempi 2.3.12–2.3.15 (pp. 64–65), algoritmo di estrazione nel §2.3.6 (p. 68). L'uso del rango e di Rouché–Capelli per rispondere a queste domande è nel **§3.2** (pp. 85–93). Il codice correttore è un'aggiunta delle dispense 2026. > [!RICORDA] > - Due numeri di controllo, scelti risolvendo un sistema, fanno fare zero al polinomio in 1 e in 2. > - Per correggere un errore si prova una posizione alla volta: solo quella giusta dà un sistema possibile. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $(v_1 \mid \cdots \mid v_k)$ | «la matrice con i vettori in colonna» | i vettori messi uno accanto all'altro | $(1, 2), (3, 1)$ danno $\begin{pmatrix} 1 & 3 \\ 2 & 1 \end{pmatrix}$ | | $\lambda_1, \dots, \lambda_k$ | «lambda uno, …» | le dosi della ricetta, le incognite | | | $A_2 \to A_2 - A_1$ | «la riga 2 diventa la riga 2 meno la riga 1» | una mossa di Gauss (le dispense usano $A_i$ per le righe) | | | $(A \mid v)$ | «a barra v» | la matrice completa con $v$ come termine noto | | | $\rk(A)$ | «rango di a» | quanti pivot | | | $[v]_B$ | «coordinate di v nella base B» | il vettore delle dosi | $[(2, 0)] = (1, -1)$ nella base $(1, 1), (-1, 1)$ | | $\R_2[x]$ | «erre due di ics» | i polinomi di grado al massimo 2 | $1 + x$ | | $s(1)$ | «esse di uno» | il polinomio calcolato in 1 | | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 quiz a 5 risposte e 2 problemi da 11 punti. I problemi si correggono solo con almeno 6 punti nel quiz. Dura 2 ore, senza calcolatrice e con solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame** 1. **«Sono generatori e/o linearmente indipendenti?»** È una domanda del quiz con cinque risposte fisse: indipendenti ma non generatori; né l'una né l'altra cosa; domanda mal posta; generatori ma non indipendenti; tutte e due le cose. È uscita negli appelli del 06/09/2024 (domanda 2, quattro vettori dello spazio) e del 16/01/2025 (domanda 2, quattro polinomi). Nell'appello del 07/09/2026 (domanda 2) si chiedeva quale insieme di matrici fosse una base. 2. **«Il vettore delle coordinate di … nella base … è»**: appelli dell'08/02/2024 (domanda 3, polinomi), del 16/01/2025 (domanda 8, nel piano) e del 05/02/2026 (domanda 6, dove serve anche la lezione L14). 3. **«Determinare il rango della matrice»**: appelli del 16/01/2025 (domanda 6), del 07/02/2025 (domanda 4) e del 05/02/2026 (domanda 4). Si risponde contando i pivot (lezione L12). 4. **Nei problemi aperti** le coordinate tornano nei cambi di base e nelle matrici associate, per esempio nell'appello del 07/09/2026 (problema 11): lezioni L15 e L16. ### Una domanda vera, letta insieme **Appello dell'08/02/2024, domanda 3.** Il testo: «I polinomi $p_1(x) = x^2 + x + 1$, $p_2(x) = x^2 + x - 1$, $p_3(x) = x - 2$ formano una base di $\R_2[x]$. Il vettore delle coordinate di $q(x) = (x + 1)^2$ in questa base è: (a) $(1, 2, 1)$; (b) $(2p_1, -p_2, p_3)$; (c) $(3, -2, -1)$; (d) $(2, -1, 1)$; (e) $(x^2, 2x, 1)$». **In pratica chiede:** con quali dosi di $p_1$, $p_2$ e $p_3$ si cucina il polinomio $q$? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: scarto le risposte senza senso.** Le coordinate sono numeri. La (b) e la (e) contengono polinomi: sono sbagliate per come sono fatte. > > **Passo 2: sviluppo $q$.** $(x + 1)^2 = x^2 + 2x + 1$. > > **Passo 3: scrivo la ricetta con dosi sconosciute** $a$, $b$, $c$ e raccolgo le potenze di $x$: > $$a(x^2 + x + 1) + b(x^2 + x - 1) + c(x - 2) = (a + b)x^2 + (a + b + c)x + (a - b - 2c).$$ > > **Passo 4: uguaglio i numeri** con quelli di $x^2 + 2x + 1$: > 1. davanti a $x^2$: $a + b = 1$; > 2. davanti a $x$: $a + b + c = 2$, quindi $c = 2 - 1 = 1$; > 3. termine noto: $a - b - 2c = 1$, quindi $a - b = 3$. > > **Passo 5: risolvo.** Sommando $a + b = 1$ e $a - b = 3$: $2a = 4$, quindi $a = 2$ e $b = -1$. > > **Passo 6: controllo.** $2(x^2 + x + 1) - (x^2 + x - 1) + (x - 2) = x^2 + 2x + 1$. > > **La risposta** è la (d), $(2, -1, 1)$. > > **Perché la (a) è sbagliata.** $(1, 2, 1)$ sono le coordinate di $q$ nella base canonica $x^2, x, 1$, non nella base data. > [!METODO] Il quiz «generatori e/o indipendenti?» in tre passi > 1. Conta i vettori, $k$, e la dimensione dello spazio, $m$. Per i polinomi di grado al massimo $n$ la dimensione è $n + 1$; per le matrici $p \times q$ è $pq$. Se $k$ è più di $m$ non sono indipendenti; se è meno di $m$ non generano: metà delle risposte cade subito. > 2. Scrivi i vettori **in colonna** e calcola il rango $r$. Per i polinomi si usano i coefficienti; per le matrici $2 \times 2$ i quattro numeri. > 3. Indipendenti esattamente quando $r = k$; generano tutto esattamente quando $r = m$. La risposta «la domanda è mal posta» non è mai quella giusta: la domanda ha senso con qualsiasi numero di vettori. > [!TRAPPOLA] Gli errori da evitare > - Scambiare righe e colonne quando si impostano le coordinate: le dosi moltiplicano i **vettori della base**, che vanno in colonna. > - Rispondere con i pezzi della ricetta $\lambda_iv_i$ invece che con le dosi $\lambda_i$. > - Dimenticare l'ordine della base, soprattutto con i polinomi: una base scritta $x^2, x, 1$ non è $1, x, x^2$. > - Nel quiz sulle coordinate, non ricontrollare: rifare la ricetta costa dieci secondi ed elimina ogni dubbio. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: «vettori in colonna, poi rango $r$: indipendenti quando $r = k$, generatori quando $r = m$, base quando il determinante non è zero»; le due tabelle della sezione sulle basi; il metodo per le coordinate con i polinomi; l'inversa $2 \times 2$ per le coordinate nel piano. ## Quiz ```quiz D: I vettori $(1, 1, 1)$, $(0, 1, 2)$, $(1, 2, 3)$, $(0, 0, 1)$ di $\R^3$ sono generatori e/o linearmente indipendenti? - Sono linearmente indipendenti, ma non generatori. - Non sono né linearmente indipendenti né generatori. - La domanda è mal posta: i vettori sono 4 e non 3. + Sono generatori, ma non linearmente indipendenti. - Sono sia generatori che linearmente indipendenti. = Quattro vettori con tre coordinate non possono essere indipendenti, e infatti $(1, 2, 3) = (1, 1, 1) + (0, 1, 2)$ è un doppione. Generano: $(1, 1, 1)$, $(0, 1, 2)$ e $(0, 0, 1)$ in colonna danno una matrice triangolare con determinante $1 \cdot 1 \cdot 1 = 1$, quindi il rango è 3. La risposta più insidiosa è «mal posta»: avere più vettori della dimensione è permesso, vuol dire solo che c'è un doppione. Appello del 06/09/2024, domanda 2. D: I vettori $v_1 = (2, 3)$ e $v_2 = (3, 2)$ formano una base di $\R^2$. Il vettore delle coordinate di $w = (7, 3)$ in questa base è: - $(2, 3)$ - $(17, 23)$ - $(-17, 23)$ + $(-1, 3)$ - $(7, 3)$ = Si risolve $2\lambda_1 + 3\lambda_2 = 7$, $3\lambda_1 + 2\lambda_2 = 3$. Togliendo dalla seconda moltiplicata per 2 la prima moltiplicata per 3 si ottiene $-5\lambda_2 = -15$, quindi $\lambda_2 = 3$ e $\lambda_1 = -1$. Controllo: $-(2, 3) + 3(3, 2) = (7, 3)$. La risposta più insidiosa è $(7, 3)$: sono le coordinate nella base canonica, non in quella data. Appello del 16/01/2025, domanda 8. D: I polinomi $p_1(x) = x^2 + x + 1$, $p_2(x) = x^2 + x - 1$, $p_3(x) = x - 2$ formano una base di $\R_2[x]$. Il vettore delle coordinate di $q(x) = (x + 1)^2$ in questa base è: - $(1, 2, 1)$ - $(2p_1, -p_2, p_3)$ - $(3, -2, -1)$ + $(2, -1, 1)$ - $(x^2, 2x, 1)$ = È la domanda letta insieme in «Verso l'esame». La ricetta $ap_1 + bp_2 + cp_3 = (a + b)x^2 + (a + b + c)x + (a - b - 2c)$ deve dare $x^2 + 2x + 1$: quindi $a + b = 1$, $c = 1$, $a - b = 3$, da cui $a = 2$ e $b = -1$. La risposta più insidiosa è $(1, 2, 1)$: sono le coordinate nella base canonica. Le risposte con $p_i$ o con $x$ non sono liste di numeri. Appello dell'08/02/2024, domanda 3. D: Il rango della matrice $\begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 7 \\ 3 & 6 & 10 \end{pmatrix}$ è: - $0$ - $1$ + $2$ - $3$ - $4$ = Con le mosse $R_2 - 2R_1$ e $R_3 - 3R_1$ le due righe diventano tutte e due $(0, 0, 1)$; poi $R_3 - R_2$ dà una riga di zeri. Restano due pivot, nelle colonne 1 e 3: rango 2. La risposta più insidiosa è 1, di chi vede che la seconda colonna è il doppio della prima e si ferma lì; ma la terza colonna porta qualcosa di nuovo. Un rango 4 è impossibile per una matrice con 3 righe. Simile all'appello del 16/01/2025, domanda 6. D: Per quali $k \in \R$ i vettori $(1, 0, k)$, $(0, 1, 1)$, $(k, 1, 2)$ sono linearmente dipendenti? + $k = 1$ oppure $k = -1$ - solo $k = 0$ - solo $k = 1$ - solo $k = -1$ - per nessun valore di $k$ = Sono tre vettori con tre coordinate: si usa il determinante della matrice che li ha in colonna. Lungo la prima riga, $\det\begin{pmatrix} 1 & 0 & k \\ 0 & 1 & 1 \\ k & 1 & 2 \end{pmatrix} = 1 \cdot (2 - 1) + k \cdot (0 - k) = 1 - k^2$, che fa zero per $k = 1$ e per $k = -1$. Le risposte più insidiose sono «solo $k = 1$» e «solo $k = -1$»: dimenticano una delle due radici di $1 - k^2$. D: Sia $W = \Span(v_1, v_2, v_3)$ con $v_1 = (1, 1, 0)$, $v_2 = (0, 1, 1)$, $v_3 = (1, 0, -1)$ (Esempio 13.1). Quale di questi vettori sta in $W$? + $(1, 2, 1)$ - $(1, 0, 0)$ - $(1, 1, 1)$ - $(0, 0, 1)$ - $(2, 1, 0)$ = Con Gauss su $(v_1 \mid v_2 \mid v_3 \mid v)$ si trova che $W$ è il piano $x - y + z = 0$. Solo $(1, 2, 1)$ rispetta l'equazione: $1 - 2 + 1 = 0$, e infatti $(1, 2, 1) = v_1 + v_2$. Gli altri danno tutti 1. La risposta più insidiosa è $(1, 0, 0)$, che sembra «facile» da cucinare: ma tre vettori dipendenti non generano tutto lo spazio. D: Tre vettori di $\R^3$ linearmente indipendenti: + formano sempre una base di $\R^3$. - possono non generare $\R^3$. - generano al massimo un piano. - hanno sempre determinante nullo, messi in colonna. - sono sempre a due a due perpendicolari. = Lo spazio ha dimensione 3: per il Teorema 7.12 tre vettori indipendenti generano anche tutto, quindi sono una base. Messi in colonna hanno determinante diverso da zero, non zero. La risposta più insidiosa è «possono non generare»: con il numero giusto di vettori, l'indipendenza basta. L'indipendenza non chiede nessuna perpendicolarità: $(1, 0, 0)$, $(1, 1, 0)$, $(1, 1, 1)$ sono indipendenti e non perpendicolari. D: Rispetto alla base ordinata $x^2, x, 1$ di $\R_2[x]$, il polinomio $p(x) = 2 + 3x - x^2$ ha coordinate: - $(2, 3, -1)$ + $(-1, 3, 2)$ - $(1, 3, -2)$ - $(-x^2, 3x, 2)$ - $(3, 2, -1)$ = $p = (-1) \cdot x^2 + 3 \cdot x + 2 \cdot 1$: le dosi seguono l'ordine della base, quindi $(-1, 3, 2)$. La risposta più insidiosa è $(2, 3, -1)$: sono le coordinate nella base $1, x, x^2$, con l'ordine al contrario. $(-x^2, 3x, 2)$ contiene i pezzi della ricetta, non le dosi. Simile all'appello dell'08/02/2024, domanda 3. D: Con il codice delle dispense, per trasmettere il messaggio $(0, 0, 1, -1)$ si aggiungono $a$ e $b$ in modo che $s(x) = x^3 - x^2 + ax + b$ soddisfi $s(1) = s(2) = 0$. Quanto valgono $a$ e $b$? + $a = -4$, $b = 4$ - $a = 4$, $b = -4$ - $a = -4$, $b = -4$ - $a = 0$, $b = 0$ - $a = 4$, $b = 4$ = $s(1) = 1 - 1 + a + b = a + b$ e $s(2) = 8 - 4 + 2a + b = 4 + 2a + b$. Il sistema $a + b = 0$, $2a + b = -4$ dà $a = -4$ e $b = 4$. Controllo: $s(x) = x^3 - x^2 - 4x + 4 = (x - 1)(x - 2)(x + 2)$, che fa zero in 1 e in 2. La risposta più insidiosa è $a = 4$, $b = -4$: ha i segni girati, e dà $s(2) = 8 - 4 + 8 - 4 = 8$. D: Nella base $w_1 = (1, 1, 0)$, $w_2 = (0, 1, 1)$, $w_3 = (1, 1, -1)$ dell'Esempio 13.2, quanto vale la prima coordinata del vettore $(1, 0, 0)$? N: 2 = Con $v = (a, b, c) = (1, 0, 0)$ la formula $\lambda_1 = 2a - b + c$ della sezione sullo Span dà 2; è il primo numero della prima colonna dell'inversa. Infatti $(1, 0, 0) = 2w_1 - w_2 - w_3$. ``` ## Esercizi ::: esercizio base Riscaldamento: i vettori in colonna Scrivi la matrice che ha $(1, 2)$ e $(3, 4)$ in colonna, e scrivi il sistema che dice con quali dosi si ottiene $(5, 6)$. Poi risolvilo. ::: soluzione 1. La matrice è $\begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix}$. 2. La ricetta $\lambda_1(1, 2) + \lambda_2(3, 4) = (5, 6)$ dà il sistema $\lambda_1 + 3\lambda_2 = 5$, $2\lambda_1 + 4\lambda_2 = 6$. 3. Tolgo dalla seconda il doppio della prima: $-2\lambda_2 = -4$, quindi $\lambda_2 = 2$ e $\lambda_1 = 5 - 6 = -1$. Controllo: $-(1, 2) + 2(3, 4) = (5, 6)$. ::: ::: esercizio base Riscaldamento: contare senza conti Rispondi senza fare conti. (a) Quattro vettori con tre coordinate possono essere indipendenti? (b) Due vettori con tre coordinate possono generare tutto lo spazio? (c) Tre vettori con tre coordinate possono essere una base? ::: soluzione 1. (a) No: sono più delle coordinate, e il rango è al massimo 3. 2. (b) No: sono meno delle coordinate, e generano al massimo un piano. 3. (c) Sì, se il determinante della matrice con i vettori in colonna non è zero. ::: ::: esercizio base Riscaldamento: coordinate nella base canonica Scrivi le coordinate di $(3, -1, 2)$ nella base canonica dello spazio, e quelle di $5 - x + 2x^2$ nella base $1, x, x^2$. ::: soluzione 1. $(3, -1, 2) = 3e_1 - e_2 + 2e_3$: coordinate $(3, -1, 2)$, i numeri del vettore stesso. 2. $5 - x + 2x^2 = 5 \cdot 1 + (-1) \cdot x + 2 \cdot x^2$: coordinate $(5, -1, 2)$, i coefficienti dal termine noto in su. ::: ::: esercizio base Riscaldamento: coordinate in una base del piano Nella base $(1, 0), (1, 1)$ del piano, trova le coordinate di $(5, 3)$ e di $(0, 2)$. ::: soluzione Cerco $a(1, 0) + b(1, 1) = (a + b,\ b)$. 1. Per $(5, 3)$: $b = 3$ e $a = 5 - 3 = 2$. Coordinate $(2, 3)$. Controllo: $2(1, 0) + 3(1, 1) = (5, 3)$. 2. Per $(0, 2)$: $b = 2$ e $a = 0 - 2 = -2$. Coordinate $(-2, 2)$. Controllo: $-2(1, 0) + 2(1, 1) = (0, 2)$. ::: ::: esercizio base Indipendenti o no? E con quale relazione? Stabilisci se $v_1 = (1, 2, 1)$, $v_2 = (2, 1, 0)$, $v_3 = (-1, 4, 3)$ sono linearmente indipendenti. Se non lo sono, scrivi una relazione di dipendenza. ::: soluzione Metto i vettori in colonna e riduco: $$\begin{pmatrix} 1 & 2 & -1 \\ 2 & 1 & 4 \\ 1 & 0 & 3 \end{pmatrix} \xrightarrow[R_3 \to R_3 - R_1]{R_2 \to R_2 - 2R_1} \begin{pmatrix} 1 & 2 & -1 \\ 0 & -3 & 6 \\ 0 & -2 & 4 \end{pmatrix} \xrightarrow{R_3 \to R_3 - \frac 23 R_2} \begin{pmatrix} 1 & 2 & -1 \\ 0 & -3 & 6 \\ 0 & 0 & 0 \end{pmatrix}$$ I conti: $(2, 1, 4) - 2(1, 2, -1) = (0, -3, 6)$; $(1, 0, 3) - (1, 2, -1) = (0, -2, 4)$; $(0, -2, 4) - \frac 23(0, -3, 6) = (0, 0, 0)$. Rango 2, meno di 3: **dipendenti**. La ricetta che dà zero: 1. $\lambda_3 = t$ è libera; 2. dalla seconda riga $-3\lambda_2 + 6t = 0$, quindi $\lambda_2 = 2t$; 3. dalla prima $\lambda_1 + 4t - t = 0$, quindi $\lambda_1 = -3t$. Con $t = 1$: $$-3v_1 + 2v_2 + v_3 = 0, \qquad \text{cioè} \qquad v_3 = 3v_1 - 2v_2.$$ Controllo: $3(1, 2, 1) - 2(2, 1, 0) = (3 - 4,\ 6 - 2,\ 3 - 0) = (-1, 4, 3)$. ::: ::: esercizio base Codificare un messaggio Con il codice delle dispense, quali due numeri di controllo si aggiungono al messaggio $(0, 1, 0, -4)$? Verifica il risultato. ::: soluzione Il polinomio è $s(x) = 0 \cdot x^5 + x^4 + 0 \cdot x^3 - 4x^2 + ax + b = x^4 - 4x^2 + ax + b$. - $s(1) = 1 - 4 + a + b = -3 + a + b$; - $s(2) = 16 - 16 + 2a + b = 2a + b$. Il sistema è $a + b = 3$ e $2a + b = 0$. Togliendo la prima dalla seconda: $a = -3$; poi $b = 6$. Si trasmette $(0, 1, 0, -4, -3, 6)$. **Controllo:** $s(x) = x^4 - 4x^2 - 3x + 6$; $s(1) = 1 - 4 - 3 + 6 = 0$; $s(2) = 16 - 16 - 6 + 6 = 0$. ::: ::: esercizio medio L'equazione di uno Span Sia $W = \Span\big((1, 0, 2), (0, 1, -1)\big) \subset \R^3$. (a) Trova un'equazione di $W$. (b) Il vettore $(1, 1, 1)$ sta in $W$? E $(1, 1, 2)$? ::: soluzione (a) Riduco $(v_1 \mid v_2 \mid v)$ con $v = (a, b, c)$ generico: $$\left(\begin{array}{cc|c} 1 & 0 & a \\ 0 & 1 & b \\ 2 & -1 & c \end{array}\right) \xrightarrow{R_3 \to R_3 - 2R_1} \left(\begin{array}{cc|c} 1 & 0 & a \\ 0 & 1 & b \\ 0 & -1 & c - 2a \end{array}\right) \xrightarrow{R_3 \to R_3 + R_2} \left(\begin{array}{cc|c} 1 & 0 & a \\ 0 & 1 & b \\ 0 & 0 & c - 2a + b \end{array}\right)$$ Il sistema ha soluzione esattamente quando $c - 2a + b = 0$. Quindi $W$ è il piano $2x - y - z = 0$. Controllo sui due vettori: $2 - 0 - 2 = 0$ e $0 - 1 + 1 = 0$. (b) $(1, 1, 1)$ dà $2 - 1 - 1 = 0$: sta in $W$, e infatti $(1, 1, 1) = (1, 0, 2) + (0, 1, -1)$. $(1, 1, 2)$ dà $2 - 1 - 2 = -1$: non sta in $W$. ::: ::: esercizio medio Base e coordinate in $\R^3$ (Foglio 2 del tutorato, esercizio 6) Verifica che $v_1 = (1, 0, 1)$, $v_2 = (0, 1, 2)$, $v_3 = (2, 1, 0)$ sono una base di $\R^3$ e calcola il vettore delle coordinate di $v = (0, 9, -2)$ rispetto a questa base. ::: soluzione **Base.** Tre vettori con tre coordinate: basta il determinante della matrice con i vettori in colonna. Lungo la prima riga: $$\det\begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 1 \\ 1 & 2 & 0 \end{pmatrix} = 1 \cdot (0 - 2) - 0 + 2 \cdot (0 - 1) = -2 - 2 = -4.$$ Non è zero: sono una base. **Coordinate.** Gauss su $(v_1 \mid v_2 \mid v_3 \mid v)$: $$\left(\begin{array}{ccc|c} 1 & 0 & 2 & 0 \\ 0 & 1 & 1 & 9 \\ 1 & 2 & 0 & -2 \end{array}\right) \xrightarrow{R_3 \to R_3 - R_1} \left(\begin{array}{ccc|c} 1 & 0 & 2 & 0 \\ 0 & 1 & 1 & 9 \\ 0 & 2 & -2 & -2 \end{array}\right) \xrightarrow{R_3 \to R_3 - 2R_2} \left(\begin{array}{ccc|c} 1 & 0 & 2 & 0 \\ 0 & 1 & 1 & 9 \\ 0 & 0 & -4 & -20 \end{array}\right)$$ Dal basso: $\lambda_3 = 5$; $\lambda_2 = 9 - 5 = 4$; $\lambda_1 = 0 - 2 \cdot 5 = -10$. Coordinate $(-10, 4, 5)$. **Controllo:** $-10(1, 0, 1) + 4(0, 1, 2) + 5(2, 1, 0) = (-10 + 10,\ 4 + 5,\ -10 + 8) = (0, 9, -2)$. ::: ::: esercizio medio Coordinate di un polinomio (Foglio 2 del tutorato, esercizio 7) Data la base $p_1 = x - 1$, $p_2 = x + 1$, $p_3 = x^2 + x$ di $\R_2[x]$, calcola il vettore delle coordinate di $p = 3x^2 + 5x - 1$. ::: soluzione $$ap_1 + bp_2 + cp_3 = a(x - 1) + b(x + 1) + c(x^2 + x) = cx^2 + (a + b + c)x + (-a + b).$$ Uguaglio i numeri con quelli di $3x^2 + 5x - 1$: 1. davanti a $x^2$: $c = 3$; 2. davanti a $x$: $a + b + c = 5$, quindi $a + b = 2$; 3. termine noto: $-a + b = -1$. Sommando le ultime due: $2b = 1$, cioè $b = \frac 12$, e $a = \frac 32$. Coordinate $\left(\frac 32, \frac 12, 3\right)$. **Controllo:** $\frac 32(x - 1) + \frac 12(x + 1) + 3(x^2 + x) = 3x^2 + \left(\frac 32 + \frac 12 + 3\right)x + \left(-\frac 32 + \frac 12\right) = 3x^2 + 5x - 1$. Le coordinate possono essere frazioni anche quando tutti i dati sono interi. ::: ::: esercizio medio Tre vettori di $\R^4$ Stabilisci se $u_1 = (1, 1, 2, 3)$, $u_2 = (0, 1, -1, 0)$, $u_3 = (3, 1, 8, 9)$ sono linearmente indipendenti in $\R^4$ e se generano $\R^4$ (Foglio 2 del tutorato, esercizio 3.3). ::: soluzione **Generano?** No, senza conti: sono 3 vettori e lo spazio ha 4 coordinate. **Indipendenti?** In colonna, poi $R_2 - R_1$, $R_3 - 2R_1$, $R_4 - 3R_1$: $$\begin{pmatrix} 1 & 0 & 3 \\ 1 & 1 & 1 \\ 2 & -1 & 8 \\ 3 & 0 & 9 \end{pmatrix} \longrightarrow \begin{pmatrix} 1 & 0 & 3 \\ 0 & 1 & -2 \\ 0 & -1 & 2 \\ 0 & 0 & 0 \end{pmatrix} \xrightarrow{R_3 \to R_3 + R_2} \begin{pmatrix} 1 & 0 & 3 \\ 0 & 1 & -2 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}$$ Rango 2, meno di 3: **dipendenti**. Dalla forma ridotta: $\lambda_3 = t$, $\lambda_2 = 2t$, $\lambda_1 = -3t$. Cioè $-3u_1 + 2u_2 + u_3 = 0$, e quindi $u_3 = 3u_1 - 2u_2$. Controllo: $3(1, 1, 2, 3) - 2(0, 1, -1, 0) = (3, 1, 8, 9)$. ::: ::: esercizio medio Esercizio 13.7 delle dispense: trovare e correggere l'errore Riceviamo la sequenza di sei numeri $(1, -2, 3, 0, -1, 2)$. I primi quattro contengono l'informazione, gli ultimi due sono i numeri di controllo del codice visto sopra. I sei numeri sono i coefficienti di $s(x) = a_5x^5 + a_4x^4 + a_3x^3 + a_2x^2 + a_1x + a_0$ e, se la trasmissione è corretta, $s(1) = s(2) = 0$. Sappiamo che **esattamente uno** dei sei numeri è stato modificato. Quale? Qual è il suo valore corretto? ::: soluzione **Controllo.** Il polinomio ricevuto è $r(x) = x^5 - 2x^4 + 3x^3 - x + 2$: il coefficiente di $x^2$ è 0. Allora $$r(1) = 1 - 2 + 3 + 0 - 1 + 2 = 3, \qquad r(2) = 32 - 32 + 24 + 0 - 2 + 2 = 24.$$ $r(1)$ non è zero: c'è un errore. **Posizione per posizione.** Metto un'incognita $k$ al posto di ogni numero, a turno, e chiedo di nuovo che il polinomio faccia zero in 1 e in 2: | Posizione di $k$ | $s(1) = 0$ | $s(2) = 0$ | Esito | |---|---|---|---| | 1ª ($x^5$) | $k + 2 = 0$ | $32k - 8 = 0$ | $k = -2$ e $k = \frac 14$: impossibile | | 2ª ($x^4$) | $k + 5 = 0$ | $16k + 56 = 0$ | $k = -5$ e $k = -\frac 72$: impossibile | | 3ª ($x^3$) | $k = 0$ | $8k = 0$ | $k = 0$: **va bene** | | 4ª ($x^2$) | $k + 3 = 0$ | $4k + 24 = 0$ | $k = -3$ e $k = -6$: impossibile | | 5ª ($x$) | $k + 4 = 0$ | $2k + 26 = 0$ | $k = -4$ e $k = -13$: impossibile | | 6ª (termine noto) | $k + 1 = 0$ | $k + 22 = 0$ | $k = -1$ e $k = -22$: impossibile | Per esempio, alla terza riga: con $k$ al posto del 3, $s(1) = 1 - 2 + k + 0 - 1 + 2 = k$ e $s(2) = 32 - 32 + 8k + 0 - 2 + 2 = 8k$. **Conclusione.** Il numero sbagliato è il **terzo**, il coefficiente di $x^3$: il valore giusto è 0 invece di 3. La sequenza trasmessa era $(1, -2, 0, 0, -1, 2)$. Controllo: $s(x) = x^5 - 2x^4 - x + 2$ dà $s(1) = 1 - 2 - 1 + 2 = 0$ e $s(2) = 32 - 32 - 2 + 2 = 0$. **Con l'idea del riquadro.** $\frac{r(2)}{r(1)} = \frac{24}3 = 8 = 2^3$: l'errore è nel coefficiente di $x^3$, ed è sbagliato di $r(1) = 3$. Il valore giusto è $3 - 3 = 0$. ::: ::: esercizio esame Come all'esame: generatori e/o indipendenti? I polinomi $1 + x$, $x + x^2$, $1 + x^2$ e $1$ di $\R_2[x]$ sono: (a) linearmente indipendenti, ma non generatori; (b) né linearmente indipendenti né generatori; (c) la domanda è mal posta: i polinomi sono 4 e lo spazio ha dimensione 3; (d) generatori, ma non linearmente indipendenti; (e) sia generatori che linearmente indipendenti. ::: soluzione **Passo 1.** Quattro polinomi in uno spazio di dimensione 3: non possono essere indipendenti. Restano (b) e (d). La (c) è sbagliata perché la domanda ha senso con qualsiasi numero di vettori. **Passo 2.** In colonna i coefficienti rispetto a $1, x, x^2$: $$\begin{pmatrix} 1 & 0 & 1 & 1 \\ 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \end{pmatrix}.$$ Le prime tre colonne hanno determinante $1 \cdot (1 \cdot 1 - 0 \cdot 1) - 0 + 1 \cdot (1 \cdot 1 - 1 \cdot 0) = 2$, non zero: rango 3, quindi i polinomi **generano**. Risposta **(d)**. Il doppione: $(1 + x) - (x + x^2) + (1 + x^2) = 2$, quindi $2 \cdot 1 = (1 + x) - (x + x^2) + (1 + x^2)$. È lo schema delle domande 2 degli appelli del 06/09/2024 e del 16/01/2025. ::: ::: esercizio esame Come all'esame: il vettore delle coordinate I polinomi $q_1 = 1 + x$, $q_2 = x + x^2$, $q_3 = 1 + x^2$ formano una base di $\R_2[x]$. Il vettore delle coordinate di $p = 2 + 4x + 6x^2$ in questa base è: (a) $(2, 4, 6)$; (b) $(0, 4, 2)$; (c) $(4, 2, 0)$; (d) $(0, 4q_2, 2q_3)$; (e) $(1, 2, 3)$. ::: soluzione $$aq_1 + bq_2 + cq_3 = (a + c) + (a + b)x + (b + c)x^2.$$ Uguaglio i numeri: $a + c = 2$, $a + b = 4$, $b + c = 6$. 1. Sommando le tre equazioni: $2(a + b + c) = 12$, quindi $a + b + c = 6$. 2. Togliendo a turno ciascuna equazione: $b = 6 - 2 = 4$, $c = 6 - 4 = 2$, $a = 6 - 6 = 0$. Risposta **(b)**, $(0, 4, 2)$. **Controllo:** $0 \cdot (1 + x) + 4(x + x^2) + 2(1 + x^2) = 2 + 4x + 6x^2$. La (a) sono le coordinate nella base canonica, la (d) non è una lista di numeri, la (c) ha l'ordine sbagliato. È lo schema delle domande dell'appello dell'08/02/2024 (domanda 3) e del 16/01/2025 (domanda 8). ::: ::: esercizio difficile Una base che dipende da $k$ Per quali $k \in \R$ i vettori $u_1 = (1, k, 0)$, $u_2 = (0, 1, k)$, $u_3 = (k, 0, 1)$ formano una base di $\R^3$? Per i valori esclusi, scrivi una relazione di dipendenza. ::: soluzione Matrice con i vettori in colonna, e sviluppo lungo la prima riga: $$\det\begin{pmatrix} 1 & 0 & k \\ k & 1 & 0 \\ 0 & k & 1 \end{pmatrix} = 1 \cdot (1 - 0) - 0 + k \cdot (k^2 - 0) = 1 + k^3.$$ Si scompone: $1 + k^3 = (k + 1)(k^2 - k + 1)$. Il secondo fattore non fa mai zero tra i reali: il discriminante è $1 - 4 = -3$, negativo. Quindi il determinante fa zero solo per $k = -1$: i vettori sono una base **per tutti i $k$ tranne $-1$**. Per $k = -1$: $u_1 = (1, -1, 0)$, $u_2 = (0, 1, -1)$, $u_3 = (-1, 0, 1)$, e $u_1 + u_2 + u_3 = (0, 0, 0)$. Una ricetta che dà zero è $u_1 + u_2 + u_3 = 0$. ::: ::: esercizio difficile Le coordinate rispettano somme e multipli Sia $v_1, \dots, v_n$ una base di $V$ e indica con $[v]$ il vettore delle coordinate di $v$. Dimostra che $[v + w] = [v] + [w]$ e $[\lambda v] = \lambda[v]$ per ogni $v, w \in V$ e $\lambda \in \K$. ::: soluzione Siano $[v] = (\lambda_1, \dots, \lambda_n)$ e $[w] = (\mu_1, \dots, \mu_n)$, cioè $v = \lambda_1v_1 + \cdots + \lambda_nv_n$ e $w = \mu_1v_1 + \cdots + \mu_nv_n$. 1. Sommando e raccogliendo: $v + w = (\lambda_1 + \mu_1)v_1 + \cdots + (\lambda_n + \mu_n)v_n$. Questa è **una** ricetta per $v + w$ con la base; per la Proposizione 13.4 è **l'unica**. Quindi le coordinate di $v + w$ sono $(\lambda_1 + \mu_1, \dots, \lambda_n + \mu_n) = [v] + [w]$. 2. Allo stesso modo $\lambda v = (\lambda\lambda_1)v_1 + \cdots + (\lambda\lambda_n)v_n$, e per l'unicità $[\lambda v] = \lambda[v]$. L'unicità è il punto chiave: senza la Proposizione 13.4 si saprebbe solo che *una* ricetta per $v + w$ ha quelle dosi. Con le parole della lezione L14, la funzione che manda $v$ nelle sue coordinate è un'applicazione lineare. ::: ## Domande di ripasso ::: domanda Come si trasforma la domanda «questi vettori sono indipendenti?» in un sistema? La ricetta $\lambda_1v_1 + \cdots + \lambda_kv_k = 0$ è un sistema omogeneo nelle dosi, con la matrice che ha i vettori in colonna. I vettori sono indipendenti esattamente quando l'unica soluzione è quella con tutte le dosi zero. ::: ::: domanda Qual è il criterio con il rango per l'indipendenza? E quando si può usare il determinante? Indipendenti esattamente quando il rango è uguale al numero di vettori: un pivot in ogni colonna. Se i vettori sono tanti quante le coordinate, la matrice è quadrata, e sono indipendenti esattamente quando il determinante non è zero. ::: ::: domanda Come si trova il doppione tra vettori dipendenti? Si risolve il sistema omogeneo con Gauss: ogni soluzione con dosi non tutte zero è una ricetta che dà zero, e mostra quale vettore si ottiene dagli altri. Nell'Esempio 13.1: $-v_1 + v_2 + v_3 = 0$. ::: ::: domanda Quando dei vettori generano tutto lo spazio a $m$ coordinate? Quando il sistema con un vettore qualsiasi come termine noto ha sempre soluzione, cioè quando il rango della matrice con i vettori in colonna è $m$: un pivot in ogni riga. ::: ::: domanda Come si trova un'equazione di uno Span? Si riduce a scalini la matrice con i vettori in colonna e un vettore generico $(a, b, c, \dots)$ come ultima colonna. Ogni riga che a sinistra diventa tutta zero dà una condizione su $a, b, c, \dots$: sono le equazioni dello Span. ::: ::: domanda Perché più vettori delle coordinate sono sempre dipendenti, e meno vettori non generano mai? Perché una matrice con $m$ righe ha rango al massimo $m$: con più di $m$ colonne non può avere un pivot in ogni colonna. E lo Span di $k$ vettori ha dimensione al massimo $k$: con meno di $m$ vettori non può essere tutto lo spazio. ::: ::: domanda Che cosa dice il Teorema 7.12 e perché è comodo? Se lo spazio ha dimensione $n$, $n$ vettori sono una base appena sono indipendenti, oppure appena generano: l'altra condizione arriva da sola. Così basta un controllo solo, per esempio il determinante diverso da zero. ::: ::: domanda Enuncia e dimostra la Proposizione 13.4. Con una base, ogni vettore ha una sola ricetta. Una ricetta c'è perché i vettori della base generano. Se ce ne fossero due, sottraendole verrebbe una ricetta che dà zero, e per l'indipendenza tutte le sue dosi sono zero: le due ricette erano la stessa. ::: ::: domanda Che cosa sono le coordinate di un vettore rispetto a una base? Le dosi dell'unica ricetta che dà quel vettore con gli ingredienti della base, scritte in colonna nell'ordine della base. Cambiano se cambia la base o il suo ordine. ::: ::: domanda Come si calcolano le coordinate in pratica? Con vettori di numeri: si risolve con Gauss la matrice con la base in colonna e il vettore come ultima colonna, oppure si moltiplica per l'inversa. Con i polinomi: si uguagliano i numeri davanti alle potenze di $x$. Alla fine si rifà la ricetta per controllare. ::: ::: domanda Come fa il codice delle dispense a scoprire un errore, e come lo corregge? Il messaggio viene completato con due numeri, scelti risolvendo un sistema, in modo che il polinomio dei sei coefficienti faccia zero in 1 e in 2. Se all'arrivo una delle due prove fallisce, c'è un errore. Per correggerne uno si mette un'incognita a turno in ogni posizione e si rifanno le due prove: solo la posizione sbagliata dà un sistema possibile, e la sua soluzione è il valore giusto. ::: ## Glossario ```glossario Vettori in colonna | La matrice che ha i vettori dati come colonne: il punto di partenza di tutti i conti della lezione. Linearmente dipendenti | C'è una ricetta con dosi non tutte zero che dà il vettore zero: un doppione. Linearmente indipendenti | L'unica ricetta che dà zero ha tutte le dosi zero; con i vettori in colonna, un pivot in ogni colonna. Relazione di dipendenza | Una ricetta con dosi non tutte zero che dà zero: mostra il doppione. Generatori | Vettori con cui si cucina tutto lo spazio; con i vettori in colonna, un pivot in ogni riga. Equazioni dello Span | Le condizioni sul vettore generico che escono da Gauss con l'ultima colonna $(a, b, c, \dots)$. Base | Vettori indipendenti che generano; con tanti vettori quante coordinate, determinante diverso da zero. Teorema 7.12 | Se lo spazio ha dimensione $n$, $n$ vettori indipendenti, oppure $n$ generatori, sono già una base. Coordinate | Le dosi dell'unica ricetta che dà un vettore con gli ingredienti di una base. Vettore colonna di coordinate | Le coordinate scritte in colonna, nell'ordine della base. Base ordinata | Una base con un ordine fissato; l'ordine decide l'ordine delle coordinate. Informazione ridondante | Numeri aggiunti a un messaggio, calcolati dal messaggio stesso, per scoprire o correggere errori. Condizioni di controllo | Nel codice delle dispense: il polinomio dei numeri trasmessi deve fare zero in 1 e in 2. Codici di Reed–Solomon | Codici che correggono gli errori, usati nei QR code e nelle memorie digitali: polinomi con insiemi finiti di numeri. ``` ## Checklist ```checklist - So trasformare «indipendenti?» in un sistema omogeneo con i vettori in colonna. - So decidere l'indipendenza con il rango e, con la matrice quadrata, con il determinante. - So trovare il doppione risolvendo il sistema omogeneo. - So decidere se dei vettori generano tutto e trovare le equazioni di uno Span. - So dire senza conti che più vettori delle coordinate sono dipendenti e meno vettori non generano. - So usare il Teorema 7.12 per controllare una base con un solo criterio. - So spiegare perché le coordinate rispetto a una base sono uniche (Proposizione 13.4). - So calcolare le coordinate con Gauss, con l'inversa e, per i polinomi, uguagliando i coefficienti. - So codificare un messaggio con il codice delle dispense e correggere un errore. - So rispondere ai quiz «generatori e/o indipendenti?» e «vettore delle coordinate» senza sbagliare formato e ordine. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 13 «Sistemi Lineari III», pp. 62–67: le sezioni 13.A–13.E sono seguite in ordine, con la pagina indicata accanto a ogni titolo; proposizione, definizione ed esempi mantengono la loro numerazione (Esempi 13.1, 13.2, 13.3 e 13.6, Proposizione 13.4, Definizione 13.5, Esercizio 13.7, svolto come esercizio 11), compreso il riquadro «Collegamento con l'informatica» sui codici di correzione degli errori. I richiami di dipendenza lineare e di base riprendono le Definizioni 7.1 e 7.7 e il Teorema 7.12 della lezione 7. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §2.3 «Dimensione» (pp. 60–75: indipendenza, basi, coordinate con l'Esempio 2.3.12, algoritmo di estrazione) e §3.2 (rango e Rouché–Capelli), più l'Esempio 4.1.17 sulla mappa delle coordinate. - **Appelli d'esame** di Algebra lineare 2023/24–2025/26 con soluzioni ufficiali (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): riportate le domande 3 dell'08/02/2024, 2 del 06/09/2024 e 8 del 16/01/2025; citate le domande sul rango (16/01/2025, 07/02/2025, 05/02/2026), la domanda 2 del 16/01/2025 e del 07/09/2026, la domanda 6 del 05/02/2026 e il problema 11 del 07/09/2026. Le soluzioni qui sono scritte da capo. Gli esercizi 3.3, 6 e 7 del Foglio 2 del tutorato (Moodle MDAG2) sono svolti negli esercizi. - Le parti **«Oltre le dispense»** (la relazione di dipendenza esplicita, le equazioni dello Span, l'estrazione di una base con i pivot, le tabelle sul numero di vettori, la mappa delle coordinate, gli esercizi non numerati) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L14_applicazioni_lineari_1.md` ```yaml corso: MDAG modulo: AG lezione: L14 titolo: Applicazioni lineari I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L14 descrizione: >- Appunti della lezione L14 di Algebra lineare e Geometria (MDAG, parte 2): applicazioni lineari, esempi e non esempi, l'applicazione associata a una matrice, nucleo e immagine, iniettività e suriettività, teorema della dimensione, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Le macchine che trasformano vettori in vettori rispettando somme e multipli: come si riconoscono e perché ogni matrice ne descrive una. Poi che cosa distruggono, che cosa riescono a produrre, e una regola di conteggio che lega le due cose e all'esame fa risparmiare molti conti. materiale: dispense scheda: Dispense: lezione 14 · pp. 68–73 Libro: Martelli, §4.1 e §4.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 3–4 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 14 «Applicazioni lineari I»; B. Martelli, Geometria e algebra lineare, §4.1 e §4.2 appunti_html: appunti/MDAG/L14_applicazioni_lineari_1.html genera_html: true ``` ## In breve - Un'**applicazione lineare** è una macchina che trasforma vettori in vettori e rispetta due cose: le somme e i multipli. Per esempio: se in entrata metti il doppio, in uscita trovi il doppio. - Per scoprire che una macchina **non** è lineare basta un solo esempio con i numeri. I segnali tipici sono un numero fisso aggiunto, un quadrato, un prodotto tra le entrate. - Ogni **matrice**, cioè ogni tabella di numeri, è una macchina lineare: prende un vettore, lo moltiplica e ne restituisce un altro. Nelle colonne della tabella c'è scritto dove vanno i vettori più semplici. - Il **nucleo** è l'insieme dei vettori che la macchina schiaccia sullo zero. L'**immagine** è l'insieme dei vettori che la macchina riesce a produrre. - Una macchina è **iniettiva** se entrate diverse danno sempre uscite diverse: succede esattamente quando nel nucleo c'è solo lo zero. È **suriettiva** se riesce a produrre ogni vettore dello spazio di arrivo. - Il **teorema della dimensione** è una regola di conteggio: quello che entra è uguale a quello che si perde più quello che esce. - All'esame servono tre cose: riconoscere se una formula è lineare, trovare nucleo e immagine con Gauss, usare il teorema della dimensione per rispondere senza fare conti. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Macchine che rispettano somme e multipli (p. 68) Al mercato le mele costano 3 euro al chilo. Il banco funziona come una macchina: entra un numero di chili, esce un prezzo in euro. > [!RIPASSO] che cos'è una funzione > Una **funzione** è una macchina: metti dentro una cosa e ne esce un'altra. A ogni entrata corrisponde **una sola** uscita. > > La macchina ha un nome, di solito una lettera come $f$. La scrittura $f(2)$ si legge «effe di 2» e vuol dire: quello che esce quando entra 2. > > Per dare la regola una volta per tutte, al posto dell'entrata si mette una lettera: $f(x) = 3x$. Si legge «effe di x è uguale a 3 per x». Tra un numero e una lettera il segno «per» non si scrive. Con questa regola, se entra 2 esce $3 \cdot 2 = 6$. La macchina delle mele è proprio $f(x) = 3x$: entrano i chili, escono gli euro. Ha due proprietà che la maggior parte delle macchine non ha. **Prima proprietà: comprare in due volte o in una volta sola costa uguale.** - 2 chili costano 6 euro. 5 chili costano 15 euro. In tutto $6 + 15 = 21$ euro. - 7 chili comprati insieme costano $3 \cdot 7 = 21$ euro. **Seconda proprietà: quattro volte le mele, quattro volte il prezzo.** 2 chili costano 6 euro, e 8 chili costano $3 \cdot 8 = 24$ euro, cioè 4 volte 6. Ora due macchine che queste proprietà non le hanno. **Il taxi.** Un taxi costa 1 euro alla partenza, più 2 euro al chilometro. La regola è $g(x) = 2x + 1$, dove la lettera $x$ indica i chilometri. - Una corsa di 2 chilometri costa $2 \cdot 2 + 1 = 5$ euro. Una corsa di 5 chilometri costa $2 \cdot 5 + 1 = 11$ euro. In tutto 16 euro. - Una corsa sola di 7 chilometri costa $2 \cdot 7 + 1 = 15$ euro. Non è lo stesso. Con due corse separate paghi due volte l'euro di partenza. **La piastrella.** Una piastrella quadrata con il lato lungo $x$ ha area $x \cdot x$. La regola è $h(x) = x^2$. Il piccolo 2 in alto si legge «al quadrato» e vuol dire: il numero moltiplicato per sé stesso. - Con il lato 2 l'area è $2 \cdot 2 = 4$. Con il lato 5 l'area è $5 \cdot 5 = 25$. In tutto 29. - Con il lato 7 l'area è $7 \cdot 7 = 49$. Non è lo stesso. E se il lato diventa 4 volte più lungo, da 2 a 8, l'area passa da 4 a 64: diventa 16 volte più grande, non 4. Ecco i conti delle tre macchine, uno accanto all'altro. | Macchina | Entra $2 + 5$ | Entrano 2 e 5, poi sommi le uscite | Entra $4 \cdot 2$ | Entra 2, poi moltiplichi l'uscita per 4 | Rispetta somme e multipli? | |---|--:|--:|--:|--:|---| | mele: $f(x) = 3x$ | $21$ | $6 + 15 = 21$ | $24$ | $4 \cdot 6 = 24$ | sì | | taxi: $g(x) = 2x + 1$ | $15$ | $5 + 11 = 16$ | $17$ | $4 \cdot 5 = 20$ | no | | piastrella: $h(x) = x^2$ | $49$ | $4 + 25 = 29$ | $64$ | $4 \cdot 4 = 16$ | no | > [!IDEA] > Una macchina è **lineare** quando rispetta le somme e i multipli. Sommare prima di entrare, oppure dopo essere usciti, dà lo stesso risultato. Moltiplicare per un numero prima di entrare, oppure dopo, dà lo stesso risultato. Guarda la figura qui sotto. Una macchina sui numeri si disegna così: in orizzontale le entrate, in verticale le uscite. La macchina delle mele dà una retta che passa per l'**origine**, cioè per il punto in cui i due assi si incrociano. Anche il taxi dà una retta, ma non passa per l'origine: con zero chilometri paghi già 1 euro. Basta questo a rovinare tutto. ```grafico titolo: $f(x) = 3x$ è lineare; $g(x) = 2x + 1$ no: il grafico è una retta, ma non passa per l'origine proporzioni: libere x: -2 2 y: -4 5 retta: 0 0 1.2 3.6 | accento | $f(x) = 3x$ | o retta: 0 1 -1.2 -1.4 | blu | $g(x) = 2x + 1$ | se punto: 0 0 | accento punto: 0 1 | blu ``` ### Dalle macchine sui numeri alle macchine sui vettori Le macchine di questo corso non lavorano su un numero solo: lavorano sui vettori. Ricorda: un **vettore** è una lista di numeri, come $(3, 2)$. Puoi pensarlo come uno spostamento su una mappa a quadretti: «3 passi a destra, 2 in su» (lezione L05). I vettori fatti di due numeri reali formano l'insieme $\R^2$, che si legge «erre due». Quelli fatti di tre numeri formano $\R^3$, «erre tre». Sui vettori si fanno due operazioni. - **Somma**: si sommano i numeri che stanno nello stesso posto. Per esempio $(1, 1) + (3, 2) = (4, 3)$. - **Multiplo**: si moltiplica ogni numero del vettore per lo stesso numero. Per esempio $3 \cdot (1, 1) = (3, 3)$. Prendiamo una macchina sui vettori e chiamiamola $S$, come «stira». Entra un vettore di due numeri, esce un vettore di due numeri. La regola: il primo numero raddoppia, il secondo resta com'è. $$S(x, y) = (2x,\ y)$$ Controlliamo le somme con i vettori $(1, 1)$ e $(3, 2)$, e i multipli con il vettore $(1, 1)$ e il numero 3. Ogni volta ci sono due strade. | Strada | Conti | Risultato | |---|---|---| | prima sommo, poi entro | $(1, 1) + (3, 2) = (4, 3)$, poi $S(4, 3) = (2 \cdot 4,\ 3)$ | $(8, 3)$ | | prima entro, poi sommo | $S(1, 1) = (2, 1)$ e $S(3, 2) = (6, 2)$, poi $(2, 1) + (6, 2)$ | $(8, 3)$ | | prima moltiplico, poi entro | $3 \cdot (1, 1) = (3, 3)$, poi $S(3, 3) = (2 \cdot 3,\ 3)$ | $(6, 3)$ | | prima entro, poi moltiplico | $S(1, 1) = (2, 1)$, poi $3 \cdot (2, 1)$ | $(6, 3)$ | Le due strade portano allo stesso vettore, sia per le somme sia per i multipli. Nella prossima sezione vedi come si controlla per tutti i vettori insieme, e non solo su un esempio. ### I nomi: dominio, codominio, immagine Servono quattro nomi, che ritrovi in ogni pagina delle dispense. - Lo spazio dei vettori che **entrano** si chiama **dominio**. - Lo spazio in cui stanno i vettori che **escono** si chiama **codominio**. - L'uscita che corrisponde a un'entrata si chiama **immagine** di quell'entrata. Per la macchina che stira, l'immagine di $(1, 1)$ è $(2, 1)$. - Una macchina lineare si chiama **applicazione lineare**. In matematica «funzione», «applicazione» e «mappa» vogliono dire la stessa cosa. Per scrivere in una riga da dove parte e dove arriva una macchina si usa una freccia: $$S: \R^2 \to \R^2$$ Si legge «esse da erre due a erre due». A sinistra della freccia c'è il dominio, a destra il codominio. Una macchina che prende tre numeri e ne restituisce due si scrive con $\R^3 \to \R^2$. Dominio e codominio non devono per forza essere fatti di liste di numeri. Basta che siano **spazi vettoriali**: posti in cui si può sommare e moltiplicare per un numero senza uscire (lezione L05). Anche i polinomi e le matrici formano spazi vettoriali. Lì l'immagine dello spostamento sulla mappa non regge più: restano solo le due regole, somme e multipli. ### Come lo scrivono le dispense Ora la definizione con le parole e i simboli delle dispense. > [!DEF] 14.1 · Applicazione lineare > Siano $V$ e $W$ due spazi vettoriali sullo stesso campo $\K$. Un'**applicazione lineare** è una funzione > $$f: V \longrightarrow W$$ > tale che > 1. $f(v + w) = f(v) + f(w)$ per ogni $v, w \in V$; > 2. $f(\lambda v) = \lambda f(v)$ per ogni $v \in V$ e $\lambda \in \K$. **Come si legge.** Un pezzo alla volta. - Le lettere $V$ e $W$ sono i nomi di due spazi vettoriali: il dominio e il codominio. Negli esempi di prima erano tutti e due $\R^2$. - $\K$ si legge «cappa». Le dispense lo scrivono per dire «i numeri reali oppure i numeri complessi». «Sullo stesso campo» vuol dire: da tutte e due le parti si moltiplica per lo stesso tipo di numeri. In questi appunti pensa sempre ai numeri reali. - La riga con la freccia lunga si legge «effe da $V$ a $W$»: è la macchina. - Il simbolo $\in$ si legge «appartiene a». «Per ogni $v, w \in V$» vuol dire: qualunque coppia di vettori tu prenda nel dominio. - La condizione 1 è la regola delle somme. Si legge «effe di $v$ più $w$ è uguale a effe di $v$ più effe di $w$». A sinistra il segno più somma due vettori che entrano, a destra due vettori che escono. - $\lambda$ è la lettera greca *lambda* e indica un numero qualsiasi. Un numero che moltiplica un vettore si chiama **scalare**. - La condizione 2 è la regola dei multipli. Si legge «effe di lambda $v$ è uguale a lambda per effe di $v$». ### Prima conseguenza: lo zero va nello zero Ogni spazio vettoriale ha un vettore fatto di soli zeri: il **vettore nullo**. Tra i vettori di due numeri è $(0, 0)$. Le dispense lo scrivono con un semplice $0$. Guarda che cosa fanno le macchine di prima quando entra lo zero. - Le mele: zero chili costano $3 \cdot 0 = 0$ euro. Esce zero. - La macchina che stira: entra $(0, 0)$, esce $(2 \cdot 0,\ 0) = (0, 0)$. Esce il vettore nullo. - Il taxi: zero chilometri costano $2 \cdot 0 + 1 = 1$ euro. **Non** esce zero. E infatti il taxi non è lineare. Non è un caso. **Ogni applicazione lineare manda il vettore nullo nel vettore nullo.** Il motivo sta nella regola dei multipli, e le dispense lo scrivono in una riga: $$f(0) = f(0 \cdot 0) = 0 \cdot f(0) = 0.$$ In questa riga lo stesso simbolo indica **tre cose diverse**. Leggila da sinistra, un uguale alla volta. 1. All'inizio, lo zero tra parentesi è il vettore nullo del dominio. 2. Dopo il primo uguale è scritto come un prodotto: il **numero** zero per il vettore nullo. Non è cambiato niente, perché il numero zero per un vettore dà sempre il vettore nullo. 3. Dopo il secondo uguale il numero zero è uscito dalla macchina, per la regola dei multipli. 4. Il numero zero per un vettore qualsiasi dà il vettore nullo: questa volta quello del **codominio**. ### Seconda conseguenza: le ricette restano ricette Ricorda: una **combinazione lineare** è una ricetta fatta con dei vettori, per esempio «2 parti del primo più 3 parti del secondo» (lezione L06). I numeri della ricetta, qui 2 e 3, si chiamano **coefficienti**. > [!ESEMPIO] Dove va una ricetta > Di una macchina lineare $T$ sappiamo solo due cose. Un certo vettore $v_1$ va in $(1, 2)$. Un altro vettore $v_2$ va in $(0, 3)$. I numerini in basso servono a distinguere i due vettori: $v_1$ è «il primo», $v_2$ è «il secondo». > > Dove va la ricetta $2v_1 + 3v_2$? Non serve conoscere la formula della macchina. Bastano le due regole. > > 1. La regola delle somme spezza la ricetta in due pezzi: > $$T(2v_1 + 3v_2) = T(2v_1) + T(3v_2).$$ > 2. La regola dei multipli fa uscire i numeri 2 e 3: > $$T(2v_1) + T(3v_2) = 2 \cdot T(v_1) + 3 \cdot T(v_2).$$ > 3. Ora mettiamo le due uscite che conosciamo: > $$2 \cdot (1, 2) + 3 \cdot (0, 3).$$ > 4. Facciamo i conti: $(2, 4) + (0, 9) = (2, 13)$. > > Quindi la ricetta va in $(2, 13)$. La macchina ha trasformato «2 parti del primo vettore più 3 parti del secondo» in «2 parti della prima uscita più 3 parti della seconda uscita». **Stessi coefficienti, ingredienti trasformati.** Le dispense scrivono la stessa cosa con le lettere, per una ricetta con un numero qualsiasi di ingredienti: $$f(\lambda_1 v_1 + \cdots + \lambda_k v_k) = \lambda_1 f(v_1) + \cdots + \lambda_k f(v_k).$$ Un pezzo alla volta. - $v_1, \dots, v_k$ è un elenco di vettori. Il primo si chiama $v_1$, l'ultimo $v_k$, e la lettera $k$ dice quanti sono. - $\lambda_1, \dots, \lambda_k$ sono i coefficienti della ricetta, uno per ogni vettore. - I puntini vogliono dire «e avanti così, con la stessa regola». - Tutta la riga, a parole: una macchina lineare manda una ricetta nella ricetta con gli stessi coefficienti, fatta con le uscite. > [!ESAME] La proprietà che userai di più > Se sai dove una macchina lineare manda pochi vettori, sai dove manda tutte le loro combinazioni. Per questo negli esercizi basta conoscere la macchina sui vettori di una base. Allenati con l'esercizio 5. ::: prova La macchina $g(x) = x + 5$ rispetta le somme? Prova con 1 e 2. No. Se entra la somma: $g(1 + 2) = g(3) = 3 + 5 = 8$. Se entrano uno alla volta: $g(1) = 6$ e $g(2) = 7$, e la somma delle uscite è 13. 8 e 13 sono diversi. Si poteva capire anche dallo zero: $g(0) = 5$, non 0. ::: ::: prova Di una macchina lineare $T$ sai che $T(v) = (1, 4)$ e $T(w) = (2, 0)$. Quanto fa $T(v + w)$? E $T(3v)$? Per la regola delle somme: $T(v + w) = T(v) + T(w) = (1, 4) + (2, 0) = (3, 4)$. Per la regola dei multipli: $T(3v) = 3 \cdot T(v) = 3 \cdot (1, 4) = (3, 12)$. ::: > [!RICORDA] > - Un'**applicazione lineare** è una macchina che rispetta le somme e i multipli: sommare o moltiplicare prima di entrare, oppure dopo, è lo stesso. > - Lo spazio di partenza è il **dominio**, quello di arrivo è il **codominio**. > - Una macchina lineare manda sempre lo zero nello zero. > - Manda una ricetta nella ricetta con gli stessi coefficienti, fatta con le uscite. ## Quali macchine sono lineari e quali no (pp. 68–69) Per riconoscere una macchina lineare serve allenamento. In questa sezione trovi i quattro esempi delle dispense, tutti con vettori di due numeri, e poi una tabella per allenare l'occhio. Un avviso sulla scrittura. Le dispense scrivono spesso i vettori **in colonna**, con i numeri uno sopra l'altro: la colonna $\begin{pmatrix} a \\ b \end{pmatrix}$ e la riga $(a, b)$ sono lo stesso vettore. E chiamano spesso le macchine $T$, come «trasformazione». ### Una macchina lineare, controllata fino in fondo La prima macchina delle dispense ha questa regola: $$T(a, b) = (2a + b,\ a + 3b)$$ A parole: il primo numero in uscita è il doppio del primo numero in entrata, più il secondo. Il secondo numero in uscita è il primo numero in entrata, più il triplo del secondo. Proviamola con i numeri, sui vettori $(1, 2)$ e $(3, 1)$. | Entra | Conto | Esce | |---|---|---| | $(1, 2)$ | $(2 \cdot 1 + 2,\ 1 + 3 \cdot 2)$ | $(4, 7)$ | | $(3, 1)$ | $(2 \cdot 3 + 1,\ 3 + 3 \cdot 1)$ | $(7, 6)$ | | la loro somma, $(4, 3)$ | $(2 \cdot 4 + 3,\ 4 + 3 \cdot 3)$ | $(11, 13)$ | | il triplo del primo, $(3, 6)$ | $(2 \cdot 3 + 6,\ 3 + 3 \cdot 6)$ | $(12, 21)$ | Controlla le due regole sulla tabella. - **Somme.** Le uscite dei primi due vettori, sommate, danno $(4 + 7,\ 7 + 6) = (11, 13)$. È proprio l'uscita della somma, nella terza riga. - **Multipli.** Il triplo dell'uscita del primo vettore è $3 \cdot (4, 7) = (12, 21)$. È proprio l'uscita del triplo, nella quarta riga. Con questi numeri funziona. Ma una macchina è lineare solo se le due regole valgono per **tutti** i vettori, e non si possono provare tutti. Per questo le dispense rifanno lo stesso conto con le lettere al posto dei numeri. Una lettera sta per un numero qualsiasi, quindi il conto vale per tutti i vettori in una volta. > [!ESEMPIO] 14.2 · Una funzione lineare > La macchina è $T: \R^2 \to \R^2$, con la regola > $$T\begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} 2a + b \\ a + 3b \end{pmatrix}.$$ > Prendiamo due vettori qualsiasi e un numero qualsiasi $\lambda$: > $$v = \begin{pmatrix} a_1 \\ b_1 \end{pmatrix}, \qquad w = \begin{pmatrix} a_2 \\ b_2 \end{pmatrix}.$$ > I numerini in basso servono solo a distinguere: $a_1$ e $b_1$ sono i due numeri del primo vettore, $a_2$ e $b_2$ quelli del secondo. > > **La regola delle somme.** > > 1. Sommiamo i due vettori, posto per posto: > $$v + w = \begin{pmatrix} a_1 + a_2 \\ b_1 + b_2 \end{pmatrix}.$$ > 2. Facciamo entrare la somma. Nella regola, al posto di $a$ mettiamo $a_1 + a_2$ e al posto di $b$ mettiamo $b_1 + b_2$: > $$T(v + w) = \begin{pmatrix} 2(a_1 + a_2) + (b_1 + b_2) \\ (a_1 + a_2) + 3(b_1 + b_2) \end{pmatrix}.$$ > 3. Togliamo le parentesi, moltiplicando: > $$T(v + w) = \begin{pmatrix} 2a_1 + 2a_2 + b_1 + b_2 \\ a_1 + a_2 + 3b_1 + 3b_2 \end{pmatrix}.$$ > 4. Mettiamo da una parte i pezzi con il numerino 1 e dall'altra quelli con il numerino 2: > $$T(v + w) = \begin{pmatrix} 2a_1 + b_1 \\ a_1 + 3b_1 \end{pmatrix} + \begin{pmatrix} 2a_2 + b_2 \\ a_2 + 3b_2 \end{pmatrix}.$$ > 5. Il primo vettore è l'uscita di $v$, il secondo è l'uscita di $w$. Quindi $T(v + w) = T(v) + T(w)$. > > **La regola dei multipli.** > > 1. Moltiplichiamo il vettore $v$ per il numero $\lambda$, posto per posto: > $$\lambda v = \begin{pmatrix} \lambda a_1 \\ \lambda b_1 \end{pmatrix}.$$ > 2. Facciamolo entrare. Al posto di $a$ mettiamo $\lambda a_1$ e al posto di $b$ mettiamo $\lambda b_1$: > $$T(\lambda v) = \begin{pmatrix} 2\lambda a_1 + \lambda b_1 \\ \lambda a_1 + 3\lambda b_1 \end{pmatrix}.$$ > 3. In ogni pezzo c'è $\lambda$: lo portiamo fuori. > $$T(\lambda v) = \lambda \begin{pmatrix} 2a_1 + b_1 \\ a_1 + 3b_1 \end{pmatrix}.$$ > 4. Il vettore rimasto è l'uscita di $v$. Quindi $T(\lambda v) = \lambda T(v)$. > > Valgono tutte e due le regole. Allora $T$ è lineare. Da questo conto viene una scorciatoia. In ogni uscita della macchina ci sono solo **multipli delle entrate, sommati tra loro**. Non ci sono numeri fissi aggiunti, né quadrati, né prodotti tra le due entrate. Quando una formula è fatta così, la macchina è lineare. Nella prossima sezione vedi il motivo: è la macchina di una matrice. ### Un numero fisso aggiunto sposta lo zero La seconda macchina delle dispense assomiglia al taxi: nella regola ci sono due numeri fissi, il 2 e il $-1$. > [!ESEMPIO] 14.3 · Una traslazione non è lineare > La macchina è $T: \R^2 \to \R^2$, con la regola > $$T\begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} a + 2 \\ a + b - 1 \end{pmatrix}.$$ > Facciamo il test più veloce: mettiamo dentro il vettore nullo, cioè $a = 0$ e $b = 0$. > $$T\begin{pmatrix} 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 + 2 \\ 0 + 0 - 1 \end{pmatrix} = \begin{pmatrix} 2 \\ -1 \end{pmatrix}.$$ > Non esce il vettore nullo. Una macchina lineare manda sempre lo zero nello zero. Allora $T$ non è lineare. «Traslazione» vuol dire spostamento: i numeri fissi aggiunti spostano tutto, anche l'origine. Le dispense riassumono l'esempio con il simbolo $\neq$, un uguale sbarrato che si legge «diverso da»: $T(0) \neq 0$, allora la macchina non è lineare. ### Un quadrato rovina le somme La terza macchina assomiglia alla piastrella: nella regola c'è un quadrato. > [!ESEMPIO] 14.4 · Un quadrato rovina la somma > La macchina è $T: \R^2 \to \R^2$, con la regola > $$T\begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} a^2 \\ a + b \end{pmatrix}.$$ > Il test dello zero qui non aiuta: entra $(0, 0)$, esce $(0^2,\ 0 + 0) = (0, 0)$. Allora proviamo la regola delle somme con due vettori scelti da noi: > $$v = \begin{pmatrix} 2 \\ 1 \end{pmatrix}, \qquad w = \begin{pmatrix} 2 \\ 0 \end{pmatrix}.$$ > > **Prima strada: sommo, poi entro.** > > 1. La somma è $v + w = (2 + 2,\ 1 + 0) = (4, 1)$. > 2. La sua uscita è $T(4, 1) = (4^2,\ 4 + 1) = (16, 5)$. > > **Seconda strada: entro, poi sommo.** > > 1. $T(v) = T(2, 1) = (2^2,\ 2 + 1) = (4, 3)$. > 2. $T(w) = T(2, 0) = (2^2,\ 2 + 0) = (4, 2)$. > 3. La somma delle uscite è $(4 + 4,\ 3 + 2) = (8, 5)$. > > Le due strade danno $(16, 5)$ e $(8, 5)$: due vettori diversi. Allora $T$ non è lineare. Un esempio con i numeri in cui una regola non funziona si chiama **controesempio**. Per dire che una macchina non è lineare ne basta uno. ### Due macchine che esistono sempre Le due macchine del prossimo esempio si possono costruire con qualunque spazio vettoriale. > [!ESEMPIO] 14.5 · La funzione nulla e l'identità > Prendi due spazi vettoriali qualsiasi $V$ e $W$. La **funzione nulla** è la macchina $f: V \to W$ che manda ogni vettore nel vettore nullo: $f(v) = 0$ per ogni $v$. La funzione nulla è lineare. > > - Somme: se entra $v + w$ esce $0$. Se entrano uno alla volta escono $0$ e $0$, e la loro somma è $0$. > - Multipli: se entra $\lambda v$ esce $0$. Se entra $v$ esce $0$, e $\lambda \cdot 0 = 0$. > > Prendi uno spazio vettoriale qualsiasi $V$. La **funzione identità** è la macchina $\id: V \to V$ che manda ogni vettore in sé stesso: $\id(v) = v$ per ogni $v$ di $V$. Anche la funzione identità è lineare. > > - Somme: se entra $v + w$ esce $v + w$. Se entrano uno alla volta escono $v$ e $w$, e la loro somma è $v + w$. > - Multipli: se entra $\lambda v$ esce $\lambda v$. Se entra $v$ esce $v$, e il suo multiplo è $\lambda v$. La funzione nulla distrugge tutto. L'identità non fa niente. Il simbolo $\id$ si legge «identità». ### Macchine che si vedono: stirare, girare, fare ombra Molte macchine lineari sul piano hanno un significato geometrico. Eccone tre, e una che invece lineare non è. | Macchina | Regola | Che cosa fa | |---|---|---| | stiramento | $(x, y)$ va in $(2x,\ y)$ | allarga tutto in orizzontale, al doppio | | quarto di giro | $(x, y)$ va in $(-y,\ x)$ | gira ogni vettore di un quarto di giro, in senso antiorario | | ombra | $(x, y)$ va in $(x,\ 0)$ | schiaccia ogni vettore sull'asse orizzontale, come un'ombra a mezzogiorno | | spostamento di lato | $(x, y)$ va in $(x + 1,\ y)$ | sposta tutto di un passo a destra: **non** è lineare, perché anche l'origine si sposta | Guarda la figura: il vettore grigio $(2, 1)$ entra nelle tre macchine lineari. Lo stiramento lo manda in $(4, 1)$. Il quarto di giro lo manda in $(-1, 2)$. L'ombra lo manda in $(2, 0)$. ```grafico titolo: Il vettore $(2, 1)$ dentro tre macchine lineari: stiramento, quarto di giro, ombra x: -3 5 y: -1 3 vettore: 2 1 | grigio | spesso | $(2, 1)$ | n vettore: 4 1 | accento | $(4, 1)$ | e vettore: -1 2 | blu | $(-1, 2)$ | n vettore: 2 0 | ambra | $(2, 0)$ | s ``` ### Altri esempi per allenare l'occhio In questa tabella ogni macchina prende un vettore $(x, y)$ e restituisce un vettore di due numeri. | Dove va $(x, y)$ | Lineare? | Perché | |---|---|---| | $(x - y,\ 2y)$ | sì | ci sono solo multipli delle entrate, sommati | | $(0,\ 5x)$ | sì | anche «zero volte» va bene: il primo numero è $0x + 0y$ | | $(x + 1,\ y)$ | no | lo zero non va nello zero: $(0, 0)$ va in $(1, 0)$ | | $(xy,\ x)$ | no | c'è un prodotto tra le entrate: $(2, 2)$ va in $(4, 2)$, ma il doppio dell'uscita di $(1, 1)$ è $(2, 2)$ | | $(\lvert x \rvert,\ y)$ | no | $(-1, 0)$ va in $(1, 0)$, ma l'opposto dell'uscita di $(1, 0)$ è $(-1, 0)$ | Nell'ultima riga le barre verticali indicano il **valore assoluto**: il numero senza il segno meno. Per esempio $\lvert -1 \rvert = 1$. > [!METODO] È lineare o no? > 1. **Fai il test dello zero.** Metti dentro il vettore nullo. Se non esce il vettore nullo, la macchina **non** è lineare e hai finito (Esempio 14.3). > 2. **Guarda la formula.** Numeri fissi aggiunti, quadrati, prodotti tra le entrate, valori assoluti, radici, seni: sono i segnali di una macchina non lineare. > 3. **Se pensi che non sia lineare**, cerca un controesempio. Bastano due vettori con i numeri per cui le somme non tornano. Oppure un vettore e un numero per cui i multipli non tornano (Esempio 14.4). > 4. **Se pensi che sia lineare**, mostralo con le lettere, come nell'Esempio 14.2. Scorciatoia: se ogni numero in uscita è una somma di multipli delle entrate, la macchina è quella di una matrice ed è lineare (Esempio 14.6, nella prossima sezione). > [!TRAPPOLA] Lo zero che va nello zero non basta > Il test dello zero serve solo a **escludere**. Una macchina può mandare lo zero nello zero e non essere lineare lo stesso. È il caso dell'Esempio 14.4: lì esce $(0, 0)$, eppure le somme non tornano. ::: prova La macchina manda $(x, y)$ in $(x + y,\ 3)$. È lineare? Usa il test dello zero. No. Se entra $(0, 0)$ esce $(0 + 0,\ 3) = (0, 3)$, che non è il vettore nullo. ::: ::: prova La macchina manda $(x, y)$ in $(xy,\ y)$. Controlla i multipli con il vettore $(1, 1)$ e il numero 2. Prima moltiplico, poi entro: $2 \cdot (1, 1) = (2, 2)$, che va in $(2 \cdot 2,\ 2) = (4, 2)$. Prima entro, poi moltiplico: $(1, 1)$ va in $(1 \cdot 1,\ 1) = (1, 1)$, e il doppio è $(2, 2)$. $(4, 2)$ e $(2, 2)$ sono diversi: la macchina non è lineare. ::: ::: prova La macchina manda $(x, y)$ in $(3x,\ x - y)$. È lineare? Sì. Il primo numero in uscita è un multiplo di $x$. Il secondo è $x$ meno $y$, cioè $1x + (-1)y$. Ci sono solo multipli delle entrate, sommati. ::: > [!RICORDA] > - Per dire che una macchina **è** lineare serve un conto con le lettere, oppure la scorciatoia: in uscita solo multipli delle entrate, sommati. > - Per dire che **non** lo è basta un controesempio con i numeri. > - Se lo zero non va nello zero, la macchina non è lineare. Il contrario non vale. > - La funzione nulla e l'identità sono sempre lineari. ## Ogni matrice è una macchina (pp. 69–70) L'esempio più importante del corso è questo: ogni tabella di numeri è una macchina lineare. > [!RIPASSO] matrice per vettore > Una **matrice** è una tabella di numeri, con righe e colonne (lezione L06). Per moltiplicarla per un vettore si lavora **una riga alla volta** (lezione L08): moltiplica il primo numero della riga per il primo del vettore, il secondo per il secondo, e somma. È come il conto della spesa: quantità per prezzi, poi si somma. > > $$\begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix} \begin{pmatrix} 4 \\ 5 \end{pmatrix}$$ > > - Prima riga, fatta dai numeri 2 e 1: $2 \cdot 4 + 1 \cdot 5 = 13$. > - Seconda riga, fatta dai numeri 1 e 3: $1 \cdot 4 + 3 \cdot 5 = 19$. > > Il risultato è il vettore $(13, 19)$: un numero per ogni riga della matrice. Fissiamo una matrice e chiamiamola $A$: $$A = \begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix}$$ Con questa matrice si costruisce una macchina: entra un vettore, la macchina lo moltiplica per la matrice, esce il risultato. Se entra $(4, 5)$ esce $(13, 19)$, come nel ripasso. Che cosa esce se entra un vettore qualsiasi $(a, b)$? Stesso conto, con le lettere. - Prima riga: $2 \cdot a + 1 \cdot b = 2a + b$. - Seconda riga: $1 \cdot a + 3 \cdot b = a + 3b$. Esce $(2a + b,\ a + 3b)$. È la macchina dell'Esempio 14.2: la sua regola era, in breve, «moltiplica per questa matrice». La macchina costruita con una matrice ha un nome: $L_A$, che si legge «elle con A». Il vettore che entra si chiama di solito $x$, e l'uscita si scrive $Ax$, «A per x»: $$L_A(x) = Ax$$ ### Quanti numeri entrano e quanti escono La matrice non deve per forza essere quadrata. Prendiamone una con 2 righe e 3 colonne: $$B = \begin{pmatrix} 1 & 0 & 2 \\ 0 & 1 & 1 \end{pmatrix}$$ Ogni riga ha 3 numeri, quindi il vettore che entra deve avere 3 numeri. Le righe sono 2, quindi il vettore che esce ha 2 numeri. Proviamo con $(1, 2, 3)$. - Prima riga: $1 \cdot 1 + 0 \cdot 2 + 2 \cdot 3 = 7$. - Seconda riga: $0 \cdot 1 + 1 \cdot 2 + 1 \cdot 3 = 5$. Entra $(1, 2, 3)$, esce $(7, 5)$. Questa macchina va da $\R^3$ a $\R^2$. > [!TRAPPOLA] Le colonne dicono che cosa entra, le righe che cosa esce > Una matrice con $m$ righe e $n$ colonne si chiama «di taglia $m \times n$», che si legge «emme per enne». La sua macchina va da $\R^n$ a $\R^m$: l'ordine è rovesciato rispetto al nome della taglia. Il numero delle **colonne** dice quanti numeri entrano. Il numero delle **righe** dice quanti ne escono. ### Come lo scrivono le dispense La macchina di una matrice è sempre lineare, perché il prodotto di matrici rispetta somme e multipli (Proposizione 8.11, lezione L08). Le dispense scrivono tutto per una matrice qualsiasi, di qualunque taglia. Per questo usano lettere con due numerini in basso. > [!ESEMPIO] 14.6 · $L_A$ > Prendiamo una matrice $A = (a_{ij})$ di taglia $m \times n$. Con il prodotto fra matrici e vettori costruiamo la macchina > $$L_A: \K^n \longrightarrow \K^m, \qquad L_A(x) = Ax.$$ > Nel dettaglio: > $$L_A(x) = Ax = \begin{pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \cdots & a_{mn} \end{pmatrix} \cdot \begin{pmatrix} x_1 \\ \vdots \\ x_n \end{pmatrix} = \begin{pmatrix} a_{11}x_1 + \cdots + a_{1n}x_n \\ \vdots \\ a_{m1}x_1 + \cdots + a_{mn}x_n \end{pmatrix}.$$ > La lettera $L$ sta per *left*, «sinistra» in inglese, perché moltiplichiamo a sinistra per $A$. La macchina $L_A$ è lineare per le proprietà del prodotto di matrici: > 1. $L_A(x + x') = A(x + x') = Ax + Ax' = L_A(x) + L_A(x')$; > 2. $L_A(\lambda x) = A(\lambda x) = \lambda Ax = \lambda L_A(x)$. **Come si legge.** È il conto della spesa del ripasso, scritto con le lettere. - $a_{ij}$ è il numero che sta nella riga $i$ e nella colonna $j$ della matrice. Per esempio $a_{21}$ sta nella riga 2 e nella colonna 1. - $\K^n$ è l'insieme delle liste di $n$ numeri. Entrano $n$ numeri, tanti quante le colonne. Ne escono $m$, tanti quante le righe. - $x_1, \dots, x_n$ sono i numeri del vettore che entra. I puntini vogliono dire «e avanti così». - Il vettore a destra dell'ultimo uguale è l'uscita. In ogni sua riga c'è una riga della matrice moltiplicata per il vettore. - $x'$ si legge «x primo»: è solo il nome di un secondo vettore. - Le righe 1 e 2 in fondo sono le due regole di linearità. > [!ESEMPIO] 14.7 · La matrice dell'Esempio 14.2 > Nell'esempio precedente scegliamo la matrice con prima riga 2 e 1 e seconda riga 1 e 3. Otteniamo la macchina $L_A: \R^2 \to \R^2$ data da > $$L_A\begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix}\begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} 2a + b \\ a + 3b \end{pmatrix}.$$ > È esattamente l'applicazione lineare dell'Esempio 14.2. ### Nelle colonne c'è scritto dove vanno i vettori della base Ricorda: la **base canonica** dei vettori di due numeri è fatta dai due vettori più semplici, $e_1 = (1, 0)$ ed $e_2 = (0, 1)$ (lezione L07). Ogni vettore è una ricetta fatta con loro. Per esempio $(4, 5)$ è «4 parti di $e_1$ più 5 parti di $e_2$». Facciamo entrare questi due vettori nella macchina della matrice $A$ di prima. | Entra | Conto | Esce | |---|---|---| | $e_1 = (1, 0)$ | $(2 \cdot 1 + 1 \cdot 0,\ 1 \cdot 1 + 3 \cdot 0)$ | $(2, 1)$ | | $e_2 = (0, 1)$ | $(2 \cdot 0 + 1 \cdot 1,\ 1 \cdot 0 + 3 \cdot 1)$ | $(1, 3)$ | Ora guarda la matrice. I numeri 2 e 1 formano la sua **prima colonna**, letta dall'alto in basso. I numeri 1 e 3 formano la **seconda colonna**. > [!IDEA] > Nelle colonne di una matrice c'è scritto dove la sua macchina manda i vettori della base canonica. La prima colonna è l'uscita del primo vettore della base, la seconda colonna è l'uscita del secondo, e avanti così. Le dispense indicano le colonne con un numerino **in alto**: $A^1$ è la prima colonna, $A^2$ la seconda. Qui il numerino in alto non è una potenza. Con questa scrittura la regola diventa $$L_A(e_i) = A^i.$$ Si legge: la macchina manda il vettore numero $i$ della base canonica nella colonna numero $i$. Adesso usiamo il fatto che le ricette restano ricette. Il vettore $(4, 5)$ è «4 parti di $e_1$ più 5 parti di $e_2$». Quindi la sua uscita è «4 parti della prima colonna più 5 parti della seconda»: $$4 \cdot (2, 1) + 5 \cdot (1, 3) = (8, 4) + (5, 15) = (13, 19).$$ È lo stesso risultato del ripasso, trovato per un'altra strada. Vale per ogni matrice: **l'uscita è la ricetta fatta con le colonne, e i coefficienti sono i numeri del vettore che entra.** Con le lettere: $$Ax = x_1 A^1 + x_2 A^2 + \cdots + x_n A^n.$$ Nello strumento qui sotto la macchina della matrice $A$ trasforma la griglia a quadretti del piano in una griglia di parallelogrammi. Che cosa guardare e che cosa provare: - le rette restano rette e l'origine resta ferma; - le due frecce con le etichette «A e₁» e «A e₂» sono le due colonne della matrice; - trascina il vettore «x» e guarda dove finisce «A x»; - premi «rotazione di 90°» (il quarto di giro) e «proiezione» (l'ombra); - scrivi nelle caselle la matrice con prima riga 1 e 2 e seconda riga 2 e 4: tutto il piano viene schiacciato su una retta. Lo ritrovi nella sezione sul nucleo. ```widget matrice titolo: La matrice degli Esempi 14.2 e 14.7 come trasformazione del piano a: 2 1; 1 3 x: 1 1 raggio: 5 ``` > [!OLTRE] ogni macchina lineare tra liste di numeri viene da una matrice > Vale anche il contrario (Martelli, Proposizione 4.1.19). Ogni macchina lineare che prende liste di numeri e restituisce liste di numeri è la macchina di una matrice, e di una sola. Per trovarla, metti **in colonna** le uscite dei vettori della base canonica. > > Un esempio: la macchina che manda $(x, y, z)$ in $(x - z,\ y + 2z)$. > > 1. Entra $(1, 0, 0)$. Esce $(1 - 0,\ 0 + 2 \cdot 0) = (1, 0)$. > 2. Entra $(0, 1, 0)$. Esce $(0 - 0,\ 1 + 2 \cdot 0) = (0, 1)$. > 3. Entra $(0, 0, 1)$. Esce $(0 - 1,\ 0 + 2 \cdot 1) = (-1, 2)$. > 4. Metti le tre uscite in colonna, una accanto all'altra: > $$A = \begin{pmatrix} 1 & 0 & -1 \\ 0 & 1 & 2 \end{pmatrix}.$$ > > C'è un modo ancora più rapido: **nelle righe della matrice ci sono i numeri che moltiplicano le entrate.** La prima uscita è $1x + 0y - 1z$, e la prima riga è fatta dai numeri 1, 0 e $-1$. Negli appelli questa matrice si chiama «matrice associata rispetto alla base canonica» (lezione L15). > [!NOTA] Collegamento con l'informatica: reti neurali (p. 70) > Una delle operazioni di base di una rete neurale è la moltiplicazione di una matrice per un vettore. Un singolo strato della rete prende un vettore, lo moltiplica per una matrice e poi aggiunge un vettore fisso: > $$x \longmapsto Ax + b$$ > La freccia con il trattino all'inizio si legge «viene mandato in». I numeri della matrice e del vettore fisso sono i parametri che vengono modificati durante l'addestramento. > > Il pezzo «moltiplica per la matrice» è la macchina lineare di questa sezione. Se il vettore aggiunto non è zero, la trasformazione intera **non** è lineare: manda lo zero in $b$, come il taxi. Una macchina fatta così si chiama **affine**. Gli strati di una rete alternano trasformazioni di questo tipo e operazioni non lineari: per questo matrici e applicazioni lineari sono il linguaggio di base del *machine learning*. ::: prova Una matrice ha prima riga 1 e 2, seconda riga 0 e 1. Che cosa esce dalla sua macchina se entra $(3, 1)$? Prima riga: $1 \cdot 3 + 2 \cdot 1 = 5$. Seconda riga: $0 \cdot 3 + 1 \cdot 1 = 1$. Esce $(5, 1)$. ::: ::: prova Una matrice ha 3 righe e 2 colonne. Da dove parte e dove arriva la sua macchina? Parte da $\R^2$, perché le colonne sono 2: entrano vettori di 2 numeri. Arriva in $\R^3$, perché le righe sono 3: escono vettori di 3 numeri. ::: ::: prova Scrivi la matrice della macchina che manda $(x, y)$ in $(x + 2y,\ 3x)$. Nelle colonne vanno le uscite dei vettori della base canonica. Entra $(1, 0)$: esce $(1 + 2 \cdot 0,\ 3 \cdot 1) = (1, 3)$. È la prima colonna. Entra $(0, 1)$: esce $(0 + 2 \cdot 1,\ 3 \cdot 0) = (2, 0)$. È la seconda colonna. La matrice ha prima riga 1 e 2, seconda riga 3 e 0. Controllo con le righe: la prima uscita è $1x + 2y$, la seconda è $3x + 0y$. ::: > [!RICORDA] > - Ogni matrice dà una macchina lineare: entra un vettore, esce la matrice per il vettore. Si chiama $L_A$. > - Le **colonne** dicono quanti numeri entrano, le **righe** quanti ne escono. > - Nelle colonne della matrice ci sono le uscite dei vettori della base canonica. > - L'uscita di un vettore è la ricetta fatta con le colonne, con i numeri del vettore come coefficienti. ## Macchine che lavorano su matrici e polinomi (p. 70) Le macchine lineari non lavorano solo su liste di numeri. In entrata possono prendere una matrice intera, oppure un polinomio. Ricorda: anche le matrici di una stessa taglia formano uno spazio vettoriale (lezione L06). Si sommano casella per casella, e si moltiplicano per un numero casella per casella. ### La traccia Ricorda: la **traccia** di una matrice quadrata è la somma dei numeri sulla diagonale, quella che va dall'angolo in alto a sinistra all'angolo in basso a destra (Definizione 8.12, lezione L08). Si scrive $\tr A$ e si legge «traccia di A». La traccia è una macchina: entra una matrice, esce un numero. Proviamola con due matrici. $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}, \qquad B = \begin{pmatrix} 5 & 0 \\ 1 & -2 \end{pmatrix}$$ | Entra | Numeri sulla diagonale | Traccia | |---|---|---| | $A$ | 1 e 4 | $1 + 4 = 5$ | | $B$ | 5 e $-2$ | $5 - 2 = 3$ | | la somma $A + B = \begin{pmatrix} 6 & 2 \\ 4 & 2 \end{pmatrix}$ | 6 e 2 | $6 + 2 = 8$ | | il triplo $3A = \begin{pmatrix} 3 & 6 \\ 9 & 12 \end{pmatrix}$ | 3 e 12 | $3 + 12 = 15$ | Le tracce delle due matrici, sommate, danno $5 + 3 = 8$: è la traccia della somma. Il triplo della traccia della prima matrice è $3 \cdot 5 = 15$: è la traccia del triplo. Il motivo è che la somma di matrici si fa casella per casella. Le dispense lo scrivono per matrici di qualunque grandezza. > [!ESEMPIO] 14.8 · La traccia è lineare > La traccia $\tr: M(n, \K) \to \K$ è un'applicazione lineare. > > Prendiamo due matrici quadrate $A = (a_{ij})$ e $B = (b_{ij})$, con $n$ righe e $n$ colonne. I numeri sulla diagonale di $A$ sono quelli con i due numerini uguali: $a_{11}, a_{22}, \dots, a_{nn}$. > > 1. La somma si fa casella per casella: $A + B = (a_{ij} + b_{ij})$. Sulla sua diagonale ci sono i numeri $a_{11} + b_{11},\ \dots,\ a_{nn} + b_{nn}$. > 2. La traccia della somma è la somma di questi numeri. In una somma l'ordine non conta: mettiamo prima tutti i numeri di $A$ e poi tutti quelli di $B$. > $$\tr(A + B) = (a_{11} + b_{11}) + \cdots + (a_{nn} + b_{nn}) = \tr(A) + \tr(B)$$ > 3. La matrice $\lambda A$ ha sulla diagonale i numeri $\lambda a_{11},\ \dots,\ \lambda a_{nn}$. Li sommiamo e portiamo fuori $\lambda$: > $$\tr(\lambda A) = \lambda a_{11} + \cdots + \lambda a_{nn} = \lambda \cdot \tr(A).$$ **Come si legge.** $M(n, \K)$ è l'insieme delle matrici quadrate con $n$ righe e $n$ colonne: è il dominio. Il codominio è $\K$, cioè i numeri stessi, che formano uno spazio vettoriale di dimensione 1. Quindi la prima riga dice: la traccia prende una matrice quadrata e restituisce un numero. > [!TRAPPOLA] Il determinante non è lineare > Anche il **determinante** prende una matrice e restituisce un numero. Per due righe e due colonne è il prodotto dei numeri sulla diagonale meno il prodotto degli altri due (lezione L09). Ma **non** rispetta le somme. Controesempio con due copie della matrice identità $I_2$, che ha 1 sulla diagonale e 0 altrove. > > - Se entra la somma: $I_2 + I_2$ ha 2 sulla diagonale e 0 altrove. Il suo determinante è $2 \cdot 2 - 0 \cdot 0 = 4$. > - Se entrano una alla volta: i due determinanti valgono 1 e 1, e la loro somma è 2. > > Non rispetta nemmeno i multipli: per una matrice con $n$ righe vale $\det(\lambda A) = \lambda^n \det A$ (Corollario 9.12, lezione L09). ### Altre macchine lineari che trovi nei quiz Nei quiz compaiono spesso macchine tra spazi di matrici o di polinomi. La loro regola è scritta di solito con la freccia $\mapsto$, che si legge «viene mandato in». A sinistra c'è quello che entra, a destra quello che esce. > [!RIPASSO] i polinomi come vettori > Un **polinomio** è un'espressione come $x^2 + 1$ oppure $2x$ (lezione L04). I polinomi si sommano e si moltiplicano per un numero, quindi formano uno spazio vettoriale (lezione L05). > > $\R_2[x]$ si legge «erre due di x». È lo spazio dei polinomi di grado al massimo 2, cioè quelli del tipo $ax^2 + bx + c$. Per scriverne uno servono tre numeri, quindi la sua dimensione è 3. > > Se $p$ è un polinomio, $p(3)$ è il numero che ottieni mettendo 3 al posto di $x$. Con $p = x^2 + 1$ viene $p(3) = 3 \cdot 3 + 1 = 10$. Queste tre macchine sono lineari (Martelli, Esempi 4.1.10, 4.1.13 e 4.1.15). - **La trasposizione**, scritta $A \mapsto {}^tA$. Entra una matrice, esce la sua **trasposta**, cioè la matrice con le righe e le colonne scambiate (lezione L08). - **La valutazione**, scritta $p \mapsto p(3)$. Entra un polinomio, esce il numero che si ottiene mettendo 3 al posto di $x$. Al posto del 3 può esserci qualunque numero fissato. - **La derivata**. Entra un polinomio, esce la sua derivata. La incontri nel corso di Analisi: se non l'hai ancora vista, salta questa riga. Un controllo sulla valutazione. I polinomi $x^2 + 1$ e $2x$ valgono 10 e 6 in 3. La loro somma $x^2 + 2x + 1$ vale $9 + 6 + 1 = 16$ in 3, cioè $10 + 6$. ::: prova Quanto vale la traccia della matrice con prima riga 2 e 7, seconda riga 1 e $-5$? I numeri sulla diagonale sono 2 e $-5$. La traccia è $2 + (-5) = -3$. ::: ::: prova Una macchina prende una matrice con due righe e due colonne e restituisce il numero in alto a sinistra. È lineare? Sì. La somma di due matrici si fa casella per casella: il numero in alto a sinistra della somma è la somma dei due numeri in alto a sinistra. Lo stesso vale per i multipli. ::: ::: prova Il polinomio è $p = x^2 - 4$. Quanto vale $p(3)$? E quanto vale in 3 il polinomio $2p$? $p(3) = 3 \cdot 3 - 4 = 5$. Il doppio del polinomio è $2x^2 - 8$: in 3 vale $2 \cdot 9 - 8 = 10$, cioè il doppio di 5. ::: > [!RICORDA] > - Una macchina lineare può lavorare anche su matrici e polinomi. > - Sono lineari: la **traccia**, la **trasposizione**, la **valutazione** di un polinomio in un numero fissato, la derivata. > - **Non** è lineare il determinante. ## Che cosa va perso e che cosa esce: nucleo e immagine (pp. 70–71) Un'applicazione lineare è una macchina: metti dentro un vettore, ne esce un altro. Di ogni macchina conviene sapere due cose: che cosa distrugge e che cosa riesce a produrre. Partiamo da un esempio con i numeri. La macchina si chiama $T$. Prende un vettore fatto di due numeri e ne restituisce un altro fatto di due numeri. La regola è: $$T(x, y) = (x + y,\ 2x + 2y)$$ A parole: il primo numero in uscita è la somma dei due in entrata. Il secondo numero in uscita è il doppio di quella somma. Proviamo la macchina con qualche vettore. | Entra | Conto | Esce | |---|---|---| | $(1, 0)$ | $(1 + 0,\ 2 + 0)$ | $(1, 2)$ | | $(0, 1)$ | $(0 + 1,\ 0 + 2)$ | $(1, 2)$ | | $(2, 1)$ | $(2 + 1,\ 4 + 2)$ | $(3, 6)$ | | $(1, -1)$ | $(1 - 1,\ 2 - 2)$ | $(0, 0)$ | | $(3, -3)$ | $(3 - 3,\ 6 - 6)$ | $(0, 0)$ | Guarda la tabella: si notano due cose. **Prima cosa: alcuni vettori vengono distrutti.** Entrano $(1, -1)$ e $(3, -3)$, ed esce il vettore fatto di soli zeri. Succede ogni volta che i due numeri in entrata sono uno l'opposto dell'altro, perché allora la loro somma è zero. Tutti i vettori che la macchina manda in zero formano il **nucleo**. **Seconda cosa: non può uscire qualunque vettore.** In uscita il secondo numero è sempre il doppio del primo. Un vettore come $(1, 0)$ non esce mai. Tutti i vettori che possono uscire formano l'**immagine**. > [!IDEA] > Il **nucleo** è tutto quello che la macchina schiaccia su zero. L'**immagine** è tutto quello che la macchina riesce a produrre. Il nucleo è fatto di vettori che **entrano**. L'immagine è fatta di vettori che **escono**. Sono due posti diversi. ### Il nucleo e l'immagine di questa macchina Ricorda: lo **Span** di un vettore è l'insieme di tutti i suoi multipli (lezione L06). Sulla mappa è una retta che passa per l'origine. **Il nucleo.** Esce zero quando il secondo numero in entrata è l'opposto del primo. I vettori fatti così sono del tipo $(t, -t)$, dove la lettera $t$ sta per un numero qualsiasi. Sono i multipli di $(1, -1)$. Quindi il nucleo è $\Span\big((1, -1)\big)$: una retta per l'origine. **L'immagine.** In uscita il secondo numero è il doppio del primo: le uscite sono del tipo $(s, 2s)$, cioè i multipli di $(1, 2)$. E ogni multiplo esce davvero: se entra $(s, 0)$ esce $(s + 0,\ 2s + 0) = (s, 2s)$. Quindi l'immagine è $\Span\big((1, 2)\big)$: un'altra retta per l'origine. Guarda la figura. La retta blu è il nucleo, la retta ambra è l'immagine. Qui i vettori che entrano e quelli che escono stanno tutti e due nel piano, e per questo le due rette si possono disegnare insieme. Ma la retta blu vive tra i vettori che entrano, la retta ambra tra quelli che escono. ```grafico titolo: Per $T(x, y) = (x + y,\ 2x + 2y)$ il nucleo (blu) è la retta $y = -x$ del dominio, l'immagine (ambra) è la retta $y = 2x$ del codominio x: -3 3 y: -3 3 retta: 0 0 -1.5 1.5 | blu | spesso | $\Ker T$ | no retta: 0 0 1.2 2.4 | ambra | spesso | $\Imm T$ | e punto: 1 -1 | blu punto: 1 2 | ambra ``` ### Come lo scrivono le dispense Le dispense lo scrivono così. > [!DEF] 14.9 · Nucleo e immagine > Sia $f: V \to W$ un'applicazione lineare. Il **nucleo** di $f$ è il sottoinsieme di $V$ definito da > $$\Ker f = \{v \in V \mid f(v) = 0\}.$$ > L'**immagine** di $f$ è il sottoinsieme di $W$ definito da > $$\Imm f = \{w \in W \mid \exists\, v \in V \text{ con } f(v) = w\}.$$ **Come si legge.** - $\Ker f$ si legge «ker di effe», cioè «nucleo di effe». Viene dall'inglese *kernel*, che vuol dire «nucleo». - Le parentesi graffe racchiudono un insieme. La barretta verticale si legge «per cui»: a sinistra c'è dove si cercano gli elementi, a destra la condizione che devono rispettare. - La riga del nucleo, a parole: «i vettori $v$ di $V$ per cui $f(v)$ è zero». Sono i vettori che la macchina manda in zero. - $\Imm f$ si legge «immagine di effe». - La riga dell'immagine, a parole: «i vettori $w$ di $W$ per cui esiste un vettore $v$ di $V$ con $f(v) = w$». Il simbolo $\exists$ si legge «esiste». Sono i vettori che escono davvero da qualche entrata. Attenzione alla parola «immagine», che si usa in due modi. L'immagine **di un vettore** è la sua uscita. L'immagine **della macchina** è l'insieme di tutte le uscite. ::: prova Per la macchina $T(x, y) = (x + y,\ 2x + 2y)$: il vettore $(2, -2)$ sta nel nucleo? E $(2, 1)$? $T(2, -2) = (2 - 2,\ 4 - 4) = (0, 0)$. Esce zero, quindi $(2, -2)$ sta nel nucleo. $T(2, 1) = (2 + 1,\ 4 + 2) = (3, 6)$. Non esce zero, quindi $(2, 1)$ non sta nel nucleo. ::: ::: prova Per la stessa macchina: il vettore $(4, 8)$ sta nell'immagine? E $(4, 7)$? $(4, 8)$ sì: il secondo numero è il doppio del primo. Esce per esempio da $(4, 0)$. Invece $(4, 7)$ no: 7 non è il doppio di 4. ::: ### Nucleo e immagine sono sottospazi Ricorda: un **sottospazio** è una stanza dentro uno spazio vettoriale da cui non si esce né sommando né moltiplicando per un numero. Contiene sempre lo zero (Definizione 6.2, lezione L06). Una retta che passa per l'origine è un sottospazio. Nell'esempio il nucleo e l'immagine erano due rette per l'origine, cioè due sottospazi. Un controllo con i numeri: $(1, -1)$ e $(3, -3)$ stanno nel nucleo, e anche la loro somma $(4, -4)$ va in zero. Succede per ogni macchina lineare. > [!PROP] 14.10 > Il nucleo $\Ker f$ è un sottospazio vettoriale di $V$, l'immagine $\Imm f$ è un sottospazio di $W$. **Come si legge.** I vettori mandati in zero formano una stanza chiusa dentro lo spazio di partenza. Le uscite formano una stanza chiusa dentro lo spazio di arrivo. Il perché, a parole. Se due vettori vanno in zero, la loro somma va in «zero più zero», che è zero. Se un vettore va in zero, un suo multiplo va in un multiplo di zero, che è zero. E la somma di due uscite è l'uscita della somma delle due entrate. > [!DIM] della Proposizione 14.10 > Bisogna controllare le tre condizioni che definiscono un sottospazio (Definizione 6.2): c'è lo zero, la somma di due elementi resta dentro, un multiplo di un elemento resta dentro. > > **Per il nucleo.** > > 1. Lo zero sta nel nucleo, perché $f(0) = 0$. > 2. Se $v$ e $w$ stanno nel nucleo, allora $f(v + w) = f(v) + f(w) = 0 + 0 = 0$. Quindi anche $v + w$ sta nel nucleo. > 3. Se $v$ sta nel nucleo e $\lambda$ è un numero, allora $f(\lambda v) = \lambda f(v) = \lambda \cdot 0 = 0$. Quindi anche $\lambda v$ sta nel nucleo. > > **Per l'immagine.** > > 1. Lo zero sta nell'immagine, perché $f(0) = 0$. > 2. La somma di due uscite è $f(v) + f(v') = f(v + v')$: è l'uscita di $v + v'$, quindi sta nell'immagine. > 3. Il multiplo di un'uscita è $\lambda f(v) = f(\lambda v)$: è l'uscita di $\lambda v$, quindi sta nell'immagine. > [!TRAPPOLA] Il nucleo non è mai vuoto > Lo zero va sempre nello zero. Quindi il vettore nullo sta sempre nel nucleo, e anche nell'immagine. Nel caso più piccolo il nucleo contiene **solo** il vettore nullo: si scrive $\{0\}$. Non è l'insieme vuoto, perché un elemento c'è. > [!RICORDA] > - Il **nucleo** è l'insieme dei vettori che vanno in zero. Sta nello spazio di partenza. > - L'**immagine** è l'insieme dei vettori che escono. Sta nello spazio di arrivo. > - Tutti e due sono sottospazi, e contengono sempre il vettore nullo. ## Due domande su una macchina: iniettiva, suriettiva (p. 71) Di una macchina ci si fa spesso due domande. **Prima domanda: due entrate diverse possono dare la stessa uscita?** Se non succede mai, la macchina si chiama **iniettiva**. Con una macchina iniettiva si può tornare indietro: guardando l'uscita sai qual era l'entrata, perché non ci sono doppioni. **Seconda domanda: ogni vettore dello spazio di arrivo esce da qualche entrata?** Se sì, la macchina si chiama **suriettiva**. Una macchina suriettiva riempie tutto lo spazio di arrivo. Queste due parole valgono per tutte le funzioni, non solo per quelle lineari. Le ritrovi anche in Matematica Discreta. Ecco tre macchine a confronto. | Macchina | È iniettiva? | È suriettiva? | |---|---|---| | da $\R^2$ a $\R^3$: $(x, y)$ va in $(x, y, 0)$ | sì: i due numeri in entrata si rileggono nell'uscita | no: $(0, 0, 1)$ non esce mai, perché il terzo numero in uscita è sempre 0 | | da $\R^3$ a $\R^2$: $(x, y, z)$ va in $(x, y)$ | no: $(0, 0, 1)$ e $(0, 0, 2)$ vanno tutti e due in $(0, 0)$ | sì: per far uscire $(a, b)$ basta far entrare $(a, b, 0)$ | | da $\R^2$ a $\R^2$: $(x, y)$ va in $(x + y,\ 2x + 2y)$ | no: $(1, 0)$ e $(0, 1)$ vanno tutti e due in $(1, 2)$ | no: $(1, 0)$ non esce mai | ### La scorciatoia: guardare il nucleo Per sapere se una macchina è iniettiva sembra di dover confrontare tutte le coppie di entrate. Per le macchine lineari c'è una scorciatoia: basta guardare il nucleo. Guarda la terza macchina della tabella. Le entrate $(1, 0)$ e $(0, 1)$ danno la stessa uscita. La differenza tra le due entrate è $(1, -1)$: un vettore del nucleo. Non è un caso, e il ragionamento funziona in tutti e due i versi. - Se due entrate diverse danno la stessa uscita, la loro differenza non è zero ma va in zero. Il motivo: una macchina lineare manda la differenza di due entrate nella differenza delle due uscite, e qui le uscite sono uguali. - Al contrario, se un vettore diverso da zero va in zero, allora lui e il vettore nullo sono due entrate diverse con la stessa uscita. > [!IDEA] > Una macchina lineare è iniettiva esattamente quando l'unico vettore che manda in zero è lo zero. Per la seconda domanda non c'è niente da scoprire: «ogni vettore dello spazio di arrivo esce» vuol dire proprio che l'immagine è tutto lo spazio di arrivo. > [!PROP] 14.11 > La funzione $f: V \to W$ è iniettiva $\Longleftrightarrow \Ker f = \{0\}$. La funzione $f$ è suriettiva $\Longleftrightarrow \Imm f = W$. **Come si legge.** La doppia freccia $\Longleftrightarrow$ si legge «se e solo se», cioè «esattamente quando»: le due frasi ai suoi lati sono vere insieme oppure false insieme. Prima frase: la macchina è iniettiva esattamente quando il nucleo contiene solo il vettore nullo. Seconda frase: è suriettiva esattamente quando l'immagine è tutto lo spazio di arrivo. > [!DIM] della Proposizione 14.11 > Per la suriettività non c'è niente da dimostrare. Per l'iniettività ci sono due versi. > > **Se la macchina è iniettiva, nel nucleo c'è solo lo zero.** > > 1. Sappiamo già che $f(0) = 0$. > 2. La macchina è iniettiva: un vettore $v$ diverso da zero non può andare dove va lo zero. Quindi $f(v) \neq 0$. > 3. Allora l'unico vettore che va in zero è lo zero: $\Ker f = \{0\}$. > > **Se nel nucleo c'è solo lo zero, la macchina è iniettiva.** > > 1. Prendiamo due vettori diversi $v$ e $v'$. La loro differenza $v - v'$ non è il vettore nullo. > 2. Nel nucleo c'è solo lo zero, quindi la differenza non va in zero: $f(v - v') \neq 0$. > 3. La macchina è lineare, quindi $f(v - v') = f(v) - f(v')$. > 4. Allora $f(v) - f(v') \neq 0$, cioè $f(v) \neq f(v')$. Due entrate diverse hanno uscite diverse. Il vantaggio è grande. Per decidere se una macchina è iniettiva non servono confronti: basta cercare i vettori che vanno in zero, cioè risolvere un solo sistema. > [!NOTA] Collegamento con l'informatica: il nucleo come insieme di direzioni ammissibili (p. 71) > In molti problemi un vettore deve rispettare un **vincolo**, cioè una condizione fissa. Un esempio: tre numeri la cui somma deve fare 3. Il vettore $(1, 1, 1)$ rispetta il vincolo. > > In quali direzioni ci si può spostare senza rompere il vincolo? Proviamo a spostarci di $(1, -1, 0)$. Arriviamo in $(2, 0, 1)$, e la somma fa ancora 3. Funziona perché i numeri dello spostamento hanno somma zero. > > Le dispense lo dicono in generale. Il vincolo è un sistema, scritto $Ax = b$. Parti da una soluzione $x$ e fai $t$ passi nella direzione $y$: arrivi in $x + ty$, e > $$A(x + ty) = Ax + t\,Ay = b + t\,Ay.$$ > Il vincolo resta rispettato, per ogni numero di passi, precisamente quando $Ay = 0$. Cioè quando la direzione sta nel nucleo della macchina della matrice: le dispense scrivono $y \in \Ker A$. Il nucleo descrive tutte le direzioni lungo cui ci si può muovere mantenendo i vincoli di uguaglianza. È un'idea usata direttamente negli algoritmi di ottimizzazione lineare, ed è la Proposizione 12.3 della lezione L12 vista dalla parte del nucleo. ::: prova La macchina manda $(x, y)$ in $(x,\ 0)$: è l'ombra sull'asse orizzontale. Qual è il nucleo? È iniettiva? Esce $(0, 0)$ quando il primo numero in entrata è 0, e il secondo può essere qualsiasi. Il nucleo è fatto dai vettori $(0, t)$: è l'asse verticale. Nel nucleo non c'è solo lo zero, quindi la macchina non è iniettiva. Infatti $(0, 1)$ e $(0, 2)$ hanno la stessa uscita. ::: ::: prova La macchina manda $(x, y)$ in $(2x,\ 3y)$. Qual è il nucleo? È iniettiva? Esce $(0, 0)$ solo se $2x = 0$ e $3y = 0$, cioè solo se entra $(0, 0)$. Nel nucleo c'è solo lo zero, quindi la macchina è iniettiva. ::: > [!RICORDA] > - **Iniettiva**: entrate diverse danno sempre uscite diverse. Per una macchina lineare vuol dire: nel nucleo c'è solo lo zero. > - **Suriettiva**: ogni vettore dello spazio di arrivo esce. Vuol dire: l'immagine è tutto lo spazio di arrivo. > - Per controllare l'iniettività basta risolvere un sistema: quali vettori vanno in zero? ## Come si trovano nucleo e immagine con Gauss (p. 72) Per la macchina di una matrice, il nucleo e l'immagine si trovano con conti che conosci già. **Il nucleo è un sistema con tutti zeri a destra.** Il nucleo è fatto dai vettori $x$ che la macchina manda in zero, cioè quelli per cui $Ax = 0$. Questo è un sistema lineare **omogeneo**, cioè con tutti zeri dopo l'uguale (lezione L12). Si risolve con Gauss. **L'immagine è fatta da tutte le ricette delle colonne.** Nella sezione sulle matrici hai visto che l'uscita di un vettore è la ricetta fatta con le colonne. I coefficienti sono i numeri del vettore. Se entrano tutti i vettori possibili, escono tutte le ricette possibili. > [!IDEA] > L'immagine della macchina di una matrice è lo Span delle colonne della matrice. Riprendiamo la macchina che manda $(x, y)$ in $(x + y,\ 2x + 2y)$. La sua matrice ha prima riga 1 e 1, seconda riga 2 e 2. Le due colonne sono uguali: tutte e due sono $(1, 2)$. Il loro Span è fatto dai multipli di $(1, 2)$: è la retta ambra della figura. Ricorda: dei vettori sono **generatori** di uno spazio se con le loro ricette si ottiene tutto lo spazio (lezione L06). Le dispense dicono la stessa cosa per una macchina lineare qualsiasi, con la parola «generatori». > [!OSSERVAZIONE] Generatori dell'immagine (p. 72) > Se $v_1, \dots, v_n$ sono generatori di $V$, allora $f(v_1), \dots, f(v_n)$ sono generatori di $\Imm f$. In particolare, se $A$ è una matrice $m \times n$, l'immagine di $L_A: \K^n \to \K^m$ è lo spazio generato dalle colonne, > $$\Imm L_A = \Span\left(A^1, \dots, A^n\right),$$ > e per ogni matrice $A$ vale > $$\rk(A) = \dim \Span\left(A^1, \dots, A^n\right) = \dim \Imm L_A.$$ **Come si legge.** - La prima frase: se fai entrare dei generatori dello spazio di partenza, le loro uscite sono generatori dell'immagine. - «In particolare»: i vettori della base canonica generano lo spazio di partenza, e le loro uscite sono le colonne. Quindi le colonne generano l'immagine. - Nell'ultima riga, $\rk(A)$ si legge «rango di A» e $\dim$ si legge «dimensione di». Il **rango** di una matrice è la dimensione dello Span delle sue colonne (Definizione 8.3, lezione L08). Quindi il rango è la dimensione dell'immagine. In pratica si trova contando i pivot dopo Gauss (lezione L12). > [!DIM] perché le uscite dei generatori generano l'immagine > 1. Prendiamo un vettore $w$ dell'immagine: esiste un vettore $v$ di $V$ con $f(v) = w$. > 2. I vettori $v_1, \dots, v_n$ generano $V$. Quindi $v$ è una loro ricetta: $v = \lambda_1 v_1 + \cdots + \lambda_n v_n$. > 3. Le ricette restano ricette: $w = f(v) = \lambda_1 f(v_1) + \cdots + \lambda_n f(v_n)$. Quindi $w$ sta nello Span delle uscite. > 4. Al contrario, l'immagine è un sottospazio (Proposizione 14.10) e contiene tutte le uscite $f(v_i)$: quindi contiene anche tutte le loro ricette. In conclusione $\Imm f = \Span\big(f(v_1), \dots, f(v_n)\big)$. > [!METODO] Nucleo e immagine di $L_A$ > 1. **Riduci la matrice con Gauss–Jordan.** Segna in quali colonne stanno i pivot. > 2. **Nucleo.** Scrivi il sistema con tutti zeri a destra, usando la matrice ridotta. Ogni colonna senza pivot dà un'incognita libera. Ogni incognita libera dà un vettore della base del nucleo (lezione L12). > 3. **Immagine.** Prendi le colonne della matrice **di partenza** che stanno nei posti dei pivot (lezione L13). Formano una base dell'immagine. Sono tante quante il rango. > 4. **Controllo.** La dimensione del nucleo più quella dell'immagine deve dare il numero delle colonne. È il teorema della dimensione, nella prossima sezione. > [!ESEMPIO] Nucleo e immagine, tutto il conto > La matrice è > $$A = \begin{pmatrix} 1 & 2 & 0 \\ 2 & 4 & 1 \\ 1 & 2 & 1 \end{pmatrix}.$$ > Ha 3 righe e 3 colonne, quindi la sua macchina va da $\R^3$ a $\R^3$. > > **Passo 1: Gauss–Jordan.** Ricorda: la mossa $R_2 \to R_2 - 2R_1$ si legge «la riga 2 diventa la riga 2 meno 2 volte la riga 1» (lezione L11). Sotto l'1 in alto a sinistra ci sono un 2 e un 1: vogliamo farli diventare 0. Poi la riga 2 e la riga 3 diventano uguali, e togliamo l'una dall'altra. > > | Mossa | Conto, un numero alla volta | Nuova riga | > |---|---|---| > | $R_2 \to R_2 - 2R_1$ | $(2 - 2 \cdot 1,\ 4 - 2 \cdot 2,\ 1 - 2 \cdot 0)$ | $(0, 0, 1)$ | > | $R_3 \to R_3 - R_1$ | $(1 - 1,\ 2 - 2,\ 1 - 0)$ | $(0, 0, 1)$ | > | $R_3 \to R_3 - R_2$ | $(0 - 0,\ 0 - 0,\ 1 - 1)$ | $(0, 0, 0)$ | > > La matrice è diventata > $$\begin{pmatrix} 1 & 2 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{pmatrix}.$$ > Ricorda: il **pivot** di una riga è il suo primo numero diverso da zero. Qui i pivot sono due: l'1 della riga 1, nella colonna 1, e l'1 della riga 2, nella colonna 3. La colonna 2 non ha pivot. > > **Passo 2: il nucleo.** Il sistema con tutti zeri a destra, letto sulla matrice ridotta, è > $$\begin{cases} x_1 + 2x_2 = 0 \\ x_3 = 0 \end{cases}$$ > La colonna 2 non ha pivot, quindi l'incognita $x_2$ è libera: la chiamiamo $t$. La prima equazione dà $x_1 = -2t$. La seconda dà $x_3 = 0$. Le soluzioni sono i vettori $(-2t,\ t,\ 0)$, cioè i multipli di $(-2, 1, 0)$. > $$\Ker L_A = \Span\big((-2, 1, 0)\big)$$ > Il nucleo ha dimensione 1: è una retta. Controllo con la riga 2 della matrice di partenza: $2 \cdot (-2) + 4 \cdot 1 + 1 \cdot 0 = 0$. Anche le righe 1 e 3 danno $-2 + 2 + 0 = 0$. > > **Passo 3: l'immagine.** I pivot stanno nelle colonne 1 e 3. Prendiamo le colonne 1 e 3 **della matrice di partenza**: sono $(1, 2, 1)$ e $(0, 1, 1)$. > $$\Imm L_A = \Span\big((1, 2, 1),\ (0, 1, 1)\big)$$ > L'immagine ha dimensione 2: è un piano. La colonna 2 non serve, perché è il doppio della colonna 1. > > **Passo 4: il controllo.** $1 + 2 = 3$, che è il numero delle colonne. Lo strumento qui sotto rifà questo conto: riduce la matrice, scrive una base del nucleo e prende come base dell'immagine le colonne di partenza nei posti dei pivot. Prova a cambiare la matrice. Scrivi le due righe «1 2» e «2 4», quelle della trappola qui sotto. Poi scrivi una matrice invertibile, per esempio con le righe «2 1» e «1 3»: il nucleo si riduce al solo vettore nullo. ```widget gauss titolo: Nucleo e immagine di $L_A$ con i passaggi (qui la matrice dell'esempio) matrice: 1 2 0; 2 4 1; 1 2 1 modo: nucleo ``` > [!TRAPPOLA] L'immagine si legge sulle colonne di partenza > Le mosse di Gauss lavorano sulle righe, ma cambiano anche le colonne. E con le colonne cambia lo spazio che generano. > > Un esempio: la matrice con prima riga 1 e 2 e seconda riga 2 e 4. La mossa $R_2 \to R_2 - 2R_1$ dà la nuova seconda riga $(2 - 2,\ 4 - 4) = (0, 0)$. La prima colonna della matrice ridotta è $(1, 0)$. > > Ma l'immagine è lo Span della prima colonna **di partenza**, cioè di $(1, 2)$. Il vettore $(1, 0)$ non è un multiplo di $(1, 2)$: nell'immagine non c'è. Dalla matrice ridotta si leggono solo le **posizioni** dei pivot. ::: prova Una matrice ha prima riga 1 e 3, seconda riga 2 e 6. Trova il nucleo della sua macchina. Il sistema è $x + 3y = 0$ e $2x + 6y = 0$. La seconda equazione è il doppio della prima: resta $x + 3y = 0$. Chiamo $t$ l'incognita $y$. Allora $x = -3t$. Le soluzioni sono $(-3t,\ t)$: il nucleo è $\Span\big((-3, 1)\big)$. Controllo: riga 1, $1 \cdot (-3) + 3 \cdot 1 = 0$. Riga 2, $2 \cdot (-3) + 6 \cdot 1 = 0$. ::: ::: prova Per la stessa matrice, qual è l'immagine? Le colonne sono $(1, 2)$ e $(3, 6)$. La seconda è il triplo della prima, quindi non aggiunge niente. L'immagine è $\Span\big((1, 2)\big)$, una retta. ::: > [!RICORDA] > - Il nucleo della macchina di una matrice è l'insieme delle soluzioni del sistema con tutti zeri a destra. > - L'immagine è lo Span delle colonne. La sua dimensione è il rango, cioè il numero dei pivot. > - Una base dell'immagine: le colonne **di partenza** nei posti dei pivot. ## Entra, si perde, esce: il teorema della dimensione (p. 72) C'è una regola di conteggio che lega il nucleo e l'immagine. Prima la vediamo sugli esempi già fatti. Ricorda: la **dimensione** di uno spazio dice quanti numeri servono per dire dove sei (lezione L07). Un punto solo ha dimensione 0, una retta 1, un piano 2, lo spazio 3. Si scrive $\dim$ e si legge «dimensione di». | Macchina | Che cosa entra | Che cosa si perde: il nucleo | Che cosa esce: l'immagine | Conteggio | |---|---|---|---|---| | $(x, y)$ va in $(x + y,\ 2x + 2y)$ | un piano: 2 | una retta: 1 | una retta: 1 | $1 + 1 = 2$ | | $(x, y, z)$ va in $(x, y)$ | lo spazio: 3 | una retta, l'asse verticale: 1 | un piano: 2 | $1 + 2 = 3$ | | la matrice dell'esempio svolto | lo spazio: 3 | una retta: 1 | un piano: 2 | $1 + 2 = 3$ | | la funzione nulla, su uno spazio di dimensione $n$ | $n$ | tutto: $n$ | solo lo zero: 0 | $n + 0 = n$ | | l'identità, su uno spazio di dimensione $n$ | $n$ | solo lo zero: 0 | tutto: $n$ | $0 + n = n$ | > [!IDEA] > Quello che entra è uguale a quello che si perde più quello che esce. Le dimensioni che il nucleo schiaccia sullo zero vanno perse. Quelle che restano formano l'immagine. Le dispense lo scrivono così. > [!TEOREMA] 14.12 · Teorema della dimensione > Sia $f: V \to W$ una funzione lineare. Se $V$ ha dimensione finita $n$, allora > $$\dim \Ker f + \dim \Imm f = n.$$ **Come si legge.** La formula dice: dimensione del nucleo, più dimensione dell'immagine, uguale a $n$. - Il numero $n$ è la dimensione dello spazio di **partenza**, non di quello di arrivo. È l'errore più frequente. - Lo spazio di arrivo può essere qualsiasi. - La formula lega tre numeri. Se ne conosci due, il terzo viene con una sottrazione. Perché è vero? Le dispense danno l'idea. Scegli una base del nucleo. Poi aggiungi altri vettori, fino ad avere una base di tutto lo spazio di partenza. I vettori del nucleo vanno in zero e non producono niente. Le uscite dei vettori aggiunti formano una base dell'immagine. I passaggi completi sono nel libro di Martelli (Teorema 4.2.9). Controlliamo sulla macchina che manda $(x, y)$ in $(x + y,\ 2x + 2y)$. Una base del nucleo è $(1, -1)$. Aggiungiamo $(1, 0)$ per avere una base del piano. L'uscita del vettore aggiunto è $(1, 2)$: è proprio una base dell'immagine. ### Per le matrici è il teorema di Rouché–Capelli Guardiamo la macchina di una matrice con $n$ colonne. - La dimensione del nucleo è il numero delle incognite libere, cioè delle colonne **senza** pivot. - La dimensione dell'immagine è il rango, cioè il numero delle colonne **con** il pivot. - Ogni colonna o ha il pivot o non ce l'ha. Quindi i due numeri, sommati, danno $n$. Le dispense chiamano $S$ l'insieme delle soluzioni del sistema omogeneo e scrivono: $$\Ker L_A = \{x \in \K^n \mid L_A(x) = 0\} = \{x \in \K^n \mid Ax = 0\} = S.$$ A parole: il nucleo è fatto dai vettori che la macchina manda in zero, cioè dalle soluzioni del sistema. Il teorema della dimensione diventa $$\dim S = n - \rk(A).$$ È il teorema di Rouché–Capelli per i sistemi omogenei (Teorema 12.6, lezione L12). Due strade molto diverse, una con le mosse di Gauss e una con le basi, portano allo stesso risultato. ### Tre conseguenze Dal teorema vengono subito tre fatti. Le dispense li raccolgono in un corollario, cioè in una conseguenza diretta di un teorema. > [!COROLLARIO] 14.13 > Sia $f: V \to W$ un'applicazione lineare. Vale > $$\dim \Imm f \le \dim V.$$ > Inoltre: > 1. $f$ iniettiva $\Longleftrightarrow \dim \Imm f = \dim V$; > 2. $f$ suriettiva $\Longleftrightarrow \dim \Imm f = \dim W$. **Come si legge.** Il simbolo $\le$ si legge «minore o uguale». La doppia freccia si legge «esattamente quando». - La prima riga: l'immagine non ha mai più dimensioni dello spazio di partenza. Il motivo: la sua dimensione è quella dello spazio di partenza meno quella del nucleo. - Il punto 1: la macchina è iniettiva esattamente quando esce tutto quello che entra. Il motivo: iniettiva vuol dire che il nucleo ha dimensione 0 (Proposizione 14.11), e allora non si toglie niente. - Il punto 2: la macchina è suriettiva esattamente quando l'immagine è grande quanto lo spazio di arrivo. Il motivo: un sottospazio con la stessa dimensione dello spazio che lo contiene è tutto lo spazio. Qui, come nel teorema, le dimensioni sono finite. > [!OLTRE] tre regole per i quiz, senza conti > Dal Corollario 14.13 vengono tre regole (Martelli, Corollario 4.2.23 e Proposizione 4.2.24). Per usarle basta confrontare la dimensione dello spazio di partenza con quella dello spazio di arrivo. > > 1. **Partenza più grande dell'arrivo: la macchina non può essere iniettiva.** L'immagine sta nello spazio di arrivo, quindi è più piccola dello spazio di partenza: qualcosa va perso per forza. Esempio: da $\R^3$ a $\R^2$. > 2. **Partenza più piccola dell'arrivo: la macchina non può essere suriettiva.** L'immagine non è mai più grande dello spazio di partenza, quindi non riempie lo spazio di arrivo. Esempio: da $\R^2$ a $\R^3$. > 3. **Stessa dimensione: iniettiva esattamente quando suriettiva.** O valgono tutte e due, o nessuna delle due. > > Per la macchina di una matrice con $m$ righe e $n$ colonne (Martelli, Esempio 4.2.16): è iniettiva esattamente quando il rango è $n$, il numero delle colonne. È suriettiva esattamente quando il rango è $m$, il numero delle righe. > [!ESEMPIO] Il teorema della dimensione al posto dei conti (sul modello del libro di Martelli, Esempio 4.2.12, che usa il punto $2$) > Chiamiamo $W$ l'insieme dei polinomi di grado al massimo 2 che in 1 valgono 0: > $$W = \{p \in \R_2[x] \mid p(1) = 0\}.$$ > Quanto vale la sua dimensione? > > 1. **Riconosci un nucleo.** Prendi la macchina «calcola in 1»: entra un polinomio $p$, esce il numero $p(1)$. È una valutazione, quindi è lineare. I polinomi che manda in zero sono proprio quelli di $W$: quindi $W$ è il suo nucleo. > 2. **Conta quello che entra.** Entrano i polinomi di $\R_2[x]$, uno spazio di dimensione 3. > 3. **Conta quello che esce.** Escono numeri, ed esce ogni numero: per far uscire il numero $\lambda$ basta far entrare il polinomio costante $\lambda$. Quindi l'immagine è tutto $\R$, che ha dimensione 1. > 4. **Usa il teorema.** Quello che si perde è quello che entra meno quello che esce: $\dim W = 3 - 1 = 2$. > > **Una base.** I polinomi $x - 1$ e $x^2 - 1$ stanno in $W$: in 1 valgono $1 - 1 = 0$. Hanno grado diverso, quindi nessuno dei due è un multiplo dell'altro: sono indipendenti. Due vettori indipendenti in uno spazio di dimensione 2 formano una base (Teorema 7.12, lezione L07). Quindi $W = \Span(x - 1,\ x^2 - 1)$. > [!OLTRE] dove trovarlo nel libro > - **§4.1 «Introduzione»** (pp. 115–123). Ci sono la definizione, gli esempi di base e la macchina di una matrice (Proposizione 4.1.6, Corollario 4.1.7). Poi trasposizione, valutazione, derivata, coordinate e la Proposizione 4.1.19. Nel libro «lo zero va nello zero» è il primo assioma della definizione: le dispense invece lo ricavano dagli altri due. > - **§4.2 «Nucleo e immagine»** (pp. 123–130). Ci sono le Proposizioni 4.2.1, 4.2.2, 4.2.5 e 4.2.6 e i Corollari 4.2.7, 4.2.8 e 4.2.14. Il teorema della dimensione, con la dimostrazione completa, è il Teorema 4.2.9 (pp. 124–125). Seguono gli Esempi 4.2.10–4.2.13. ::: prova Una macchina lineare va da $\R^5$ a $\R^3$ e il suo nucleo ha dimensione 2. Che dimensione ha l'immagine? La macchina è suriettiva? Quello che esce è quello che entra meno quello che si perde: $5 - 2 = 3$. Lo spazio di arrivo $\R^3$ ha dimensione 3, come l'immagine: la macchina è suriettiva. ::: ::: prova Può esistere una macchina lineare iniettiva da $\R^3$ a $\R^2$? No. L'immagine sta in $\R^2$, quindi ha dimensione al massimo 2. Entra uno spazio di dimensione 3: il nucleo ha dimensione almeno $3 - 2 = 1$, quindi non contiene solo lo zero. ::: > [!RICORDA] > - **Teorema della dimensione**: dimensione del nucleo più dimensione dell'immagine uguale dimensione dello spazio di **partenza**. > - Per una matrice: colonne senza pivot più colonne con pivot uguale numero delle colonne. > - Da uno spazio grande a uno più piccolo una macchina lineare non è mai iniettiva. Da uno piccolo a uno più grande non è mai suriettiva. > - Con la stessa dimensione in partenza e in arrivo: iniettiva esattamente quando suriettiva. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $f(x)$ | «effe di x» | quello che esce dalla macchina $f$ quando entra $x$ | se $f(x) = 3x$, allora $f(2) = 6$ | | $\R^2$, $\R^3$, $\R^n$ | «erre due», «erre tre», «erre enne» | le liste di 2, di 3, di $n$ numeri reali | $(3, 2)$ sta in $\R^2$ | | $\K$ | «cappa» | i numeri reali oppure i numeri complessi | $\K^n$: le liste di $n$ numeri | | $\in$ | «appartiene a» | sta dentro l'insieme | $(1, 2) \in \R^2$ | | $f: V \to W$ | «effe da V a W» | la macchina prende vettori di $V$ e restituisce vettori di $W$ | $S: \R^2 \to \R^2$ | | $\mapsto$ | «viene mandato in» | a sinistra l'entrata, a destra l'uscita | $x \mapsto 3x$ | | $\lambda$ | «lambda» | un numero qualsiasi, cioè uno scalare | $\lambda = 3$ | | $0$ | «zero» | il numero zero oppure il vettore nullo: lo dice il contesto | $(0, 0)$ in $\R^2$ | | $v_1, \dots, v_k$ | «vu uno, …, vu cappa» | un elenco di $k$ vettori | $v_1 = (1, 0)$, $v_2 = (0, 1)$ | | $\begin{pmatrix} a \\ b \end{pmatrix}$ | «il vettore colonna a, b» | il vettore $(a, b)$ scritto in verticale | $\begin{pmatrix} 2 \\ 1 \end{pmatrix}$ è $(2, 1)$ | | $\id$ | «identità» | la macchina che manda ogni vettore in sé stesso | $\id(v) = v$ | | $a_{ij}$ | «a con i, j» | il numero nella riga $i$ e nella colonna $j$ di una matrice | $a_{21}$: riga 2, colonna 1 | | $m \times n$ | «emme per enne» | la taglia di una matrice: $m$ righe e $n$ colonne | $2 \times 3$: 2 righe, 3 colonne | | $L_A$ | «elle con A» | la macchina «moltiplica per la matrice $A$» | $L_A(x) = Ax$ | | $e_1, e_2$ | «e uno, e due» | i vettori della base canonica | $e_1 = (1, 0)$, $e_2 = (0, 1)$ | | $A^1, A^2$ | «la colonna 1, la colonna 2 di A» | le colonne della matrice; il numero in alto non è una potenza | $L_A(e_1) = A^1$ | | $x'$ | «x primo» | il nome di un secondo vettore | $x + x'$ | | $\tr A$ | «traccia di A» | la somma dei numeri sulla diagonale | diagonale 1 e 4: traccia 5 | | $\det A$ | «determinante di A» | per due righe e due colonne: $ad - bc$ | $\det I_2 = 1$ | | ${}^tA$ | «A trasposta» | la matrice con righe e colonne scambiate | la riga 1 diventa la colonna 1 | | $M(n, \K)$ | «emme di enne, cappa» | le matrici quadrate con $n$ righe e $n$ colonne | $M(2, \R)$: due righe, due colonne | | $\R_2[x]$ | «erre due di x» | i polinomi di grado al massimo 2 | $x^2 + 1$ | | $p(3)$ | «pi di 3» | il valore del polinomio $p$ quando al posto di $x$ c'è 3 | se $p = x^2 + 1$, $p(3) = 10$ | | $\Ker f$ | «ker di effe», «nucleo di effe» | i vettori che la macchina manda in zero | la retta dei multipli di $(1, -1)$ | | $\Imm f$ | «immagine di effe» | i vettori che escono dalla macchina | la retta dei multipli di $(1, 2)$ | | $\{0\}$ | «l'insieme con il solo zero» | l'insieme che contiene solo il vettore nullo | $\Ker f = \{0\}$ | | $\{v \in V \mid \dots\}$ | «i $v$ di $V$ per cui…» | l'insieme dei vettori che rispettano la condizione | $\{v \in V \mid f(v) = 0\}$ | | $\exists$ | «esiste» | ce n'è almeno uno | $\exists\, v$ con $f(v) = w$ | | $\neq$ | «diverso da» | non uguale | $f(v) \neq 0$ | | $\Span(\dots)$ | «span di…» | tutte le ricette fatte con quei vettori | $\Span\big((1, 2)\big)$: i multipli di $(1, 2)$ | | $\dim$ | «dimensione di» | quanti numeri servono per dire dove sei | $\dim \R^3 = 3$ | | $\rk(A)$ | «rango di A» | il numero dei pivot dopo Gauss | una matrice con due righe uguali e non nulle ha rango 1 | | $\le$ | «minore o uguale» | più piccolo, oppure uguale | $\dim \Imm f \le \dim V$ | | $\Longleftrightarrow$ | «se e solo se» | esattamente quando: vere insieme o false insieme | iniettiva $\Longleftrightarrow$ nucleo $\{0\}$ | | $\lvert x \rvert$ | «valore assoluto di x» | il numero senza il segno meno | $\lvert -1 \rvert = 1$ | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 quiz con 5 risposte ciascuno. Servono almeno 6 risposte giuste perché vengano corretti i 2 problemi da 11 punti. Dura 2 ore, senza calcolatrice, e si possono portare solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione viene chiesto** Quasi ogni appello ha almeno una domanda su questi argomenti. 1. **«È lineare?»** Appelli del 10/07/2024 (domanda 7: quale formula descrive un'applicazione lineare da $\R^3$ a $\R^2$) e del 10/07/2025 (domanda 3: la valutazione di un polinomio in 7). 2. **Il nucleo.** Appello del 24/01/2024 (domanda 8, con i polinomi di $\R_2[x]$). Appello del 08/02/2024 (domanda 6, con la macchina che manda una matrice nella somma di sé stessa e della sua trasposta). Appello del 15/01/2026 (domanda 10, il nucleo di due macchine messe una dopo l'altra). 3. **L'immagine.** Appelli del 07/02/2025 (domanda 7), del 10/07/2025 (domanda 7), del 05/02/2026 (domanda 7) e del 07/09/2026 (domanda 4): quasi sempre per una macchina che prende e restituisce polinomi di $\R_2[x]$. Appelli del 03/06/2025 (domanda 7, il rango di una macchina) e del 03/07/2026 (domanda 4, la dimensione dell'immagine). 4. **Il teorema della dimensione senza conti.** Appelli del 06/09/2024 (domanda 3, letta qui sotto) e del 02/09/2025 (domanda 5). Nell'appello del 03/07/2026 (domanda 1) si chiede la dimensione di uno spazio di polinomi che valgono 0 in 2 e in $-2$: si trova come dimensione di un nucleo, con il metodo dell'esercizio 10. 5. **Problemi aperti.** Negli appelli del 08/02/2024 e del 10/07/2025 (problema 12) si chiedono quattro cose. La matrice di una macchina rispetto alla base canonica. Il suo rango. Tutti i vettori che vanno in un vettore assegnato. I valori di un parametro per cui un vettore sta nell'immagine. Nell'appello del 06/09/2024 (problema 11) si chiede una base del nucleo di una matrice con un parametro. Gli esercizi 13 e 14 seguono questi due schemi. > [!METODO] L'immagine di una macchina tra polinomi, nel quiz > La macchina prende un polinomio con i tre numeri $a$, $b$, $c$ e ne restituisce un altro. Esempio: $ax^2 + bx + c$ va in $(a - b)x^2 + (b - a)x + c$. > > 1. **Raccogli** i numeri che compaiono in uscita. Qui $(b - a)x$ è lo stesso di $-(a - b)x$, quindi l'uscita è $(a - b)(x^2 - x) + c \cdot 1$. > 2. **Leggi i generatori.** I polinomi che restano accanto ai numeri generano l'immagine. Qui sono $x^2 - x$ e $1$. > 3. **Togli i doppioni e conta.** Se un generatore è una ricetta degli altri, toglilo. Quelli rimasti dicono la dimensione. Qui sono 2. Se viene 3, l'immagine è tutto $\R_2[x]$. > 4. **Confronta con le risposte.** Due Span sono uguali se hanno la stessa dimensione e ogni generatore dell'uno sta nell'altro. ### Una domanda vera, letta insieme Appello del 06/09/2024, domanda 3: «Sia $T: \R^6 \to \R_3[x]$ una applicazione lineare. Se $T$ è suriettiva, allora $\ker T$ ha dimensione: (a) 3. (b) 4. (c) 2. (d) 6. (e) 1.» In pratica chiede: una macchina lineare prende vettori di 6 numeri e restituisce polinomi di grado al massimo 3. Riesce a produrre tutti i polinomi di quel tipo. Quante dimensioni perde? 1. **Quello che entra.** I vettori di 6 numeri formano uno spazio di dimensione 6. 2. **Lo spazio di arrivo.** Un polinomio di grado al massimo 3 è del tipo $ax^3 + bx^2 + cx + d$. Servono 4 numeri, quindi la dimensione è 4, non 3. 3. **Quello che esce.** La macchina è suriettiva: l'immagine è tutto lo spazio di arrivo, e ha dimensione 4. 4. **Quello che si perde.** Per il teorema della dimensione il nucleo ha dimensione $6 - 4 = 2$. La risposta giusta è la (c). La (a) viene dall'errore di contare 3 per i polinomi di grado al massimo 3. La (b) è la dimensione dell'immagine, non del nucleo. La (d) è la dimensione dello spazio di partenza. Il metodo vale per tutte le domande di questo tipo: scrivi la dimensione dello spazio di partenza, usa quello che dice il testo («suriettiva», «iniettiva», il rango) e sottrai. Nelle soluzioni ufficiali degli appelli il teorema della dimensione è chiamato anche «teorema del rango». È lo stesso teorema. > [!TRAPPOLA] Gli errori da evitare > - Confondere partenza e arrivo. Il nucleo sta nello spazio di **partenza**, l'immagine in quello di **arrivo**. Nel teorema della dimensione si usa la dimensione dello spazio di partenza. > - Prendere le colonne della matrice ridotta come base dell'immagine. Vanno prese dalla matrice di partenza. > - Dire che una macchina è lineare solo perché manda lo zero nello zero. > - Sbagliare le dimensioni. $\R_n[x]$ ha dimensione $n + 1$: i polinomi di grado al massimo 3 hanno dimensione 4, non 3. Le matrici con $m$ righe e $n$ colonne hanno dimensione $m \cdot n$: quelle con due righe e due colonne hanno dimensione 4. > [!ESAME] Il foglio da 4 facciate > Da questa lezione conviene copiare cinque righe. > > - Le due regole di linearità, e il test: se lo zero non va nello zero, non è lineare. > - Per la macchina di una matrice: le colonne sono le uscite della base canonica. L'immagine è lo Span delle colonne. Il rango è la dimensione dell'immagine. Il nucleo è fatto dalle soluzioni del sistema con tutti zeri a destra. > - Il teorema della dimensione: nucleo più immagine uguale spazio di partenza. > - Iniettiva esattamente quando il nucleo contiene solo lo zero. > - Le tre regole: partenza più grande dell'arrivo, non iniettiva. Partenza più piccola dell'arrivo, non suriettiva. Stessa dimensione: iniettiva esattamente quando suriettiva. ## Quiz ```quiz D: Quale delle funzioni sotto definisce un'applicazione lineare $T: \R^3 \to \R^2$? + $T(x, y, z) = (2x + 3y,\ x + 2z)$ - $T(x, y) = (2x - 3y,\ x + 2y)$ - $T(x, y, z) = (x^2 + y,\ x - 2z^2)$ - $T(x, y, z) = (2x + 1,\ y + z)$ - $T(x, y) = (x + 2y,\ y + 2z,\ x - 3z)$ = Appello del 10/07/2024, domanda 7. Servono due cose insieme: la macchina deve prendere tre numeri e restituirne due, e deve essere lineare. La prima formula lo fa, e in uscita ha solo multipli delle entrate sommati: è la macchina della matrice $\begin{pmatrix} 2 & 3 & 0 \\ 1 & 0 & 2 \end{pmatrix}$. La risposta più tentatrice è la seconda: è lineare, ma prende solo due numeri, quindi parte da $\R^2$. La terza ha dei quadrati. La quarta ha un numero fisso aggiunto: manda lo zero in $(1, 0)$. L'ultima prende due numeri ma usa anche $z$, e restituisce tre numeri. D: Sia $f: V \to W$ una mappa lineare, con $\dim V = 4$ e $\dim W = 2$. Quale delle seguenti è necessariamente vera? - $f$ deve essere suriettiva. - $f$ non può essere suriettiva. + $f$ non può essere iniettiva. - $f$ deve essere iniettiva. - $f$ è un isomorfismo. = Appello del 02/09/2025, domanda 5. La macchina parte da uno spazio di dimensione 4 e arriva in uno di dimensione 2: che cosa si può dire di sicuro? L'immagine sta nello spazio di arrivo, quindi ha dimensione al massimo 2. Per il teorema della dimensione il nucleo ha dimensione almeno $4 - 2 = 2$: non contiene solo lo zero, quindi la macchina non è iniettiva. La risposta tentatrice è «deve essere suriettiva». Può esserlo, come la macchina che manda $(x_1, x_2, x_3, x_4)$ in $(x_1, x_2)$. Ma può anche non esserlo, come la funzione nulla. Un isomorfismo è una macchina iniettiva e suriettiva insieme (lezione L15): qui è impossibile. D: Il nucleo della mappa lineare $T: \R_2[x] \to \R_2[x]$, $T(ax^2 + bx + c) = bx^2 + cx$, è: - $\{\}$ - $\R_1[x]$ - $\Span(x + 1,\ x - 1)$ + $\Span(x^2)$ - $\R_2[x] \setminus \R_1[x]$ = Appello del 24/01/2024, domanda 8. Il nucleo è fatto dai polinomi che vanno nel polinomio zero. L'uscita $bx^2 + cx$ è zero quando $b = 0$ e $c = 0$, mentre $a$ può essere un numero qualsiasi. Restano i polinomi del tipo $ax^2$, cioè i multipli di $x^2$: il nucleo è $\Span(x^2)$. Le graffe vuote indicano l'insieme vuoto, ma un nucleo non è mai vuoto, perché contiene lo zero. La barra rovesciata dell'ultima risposta si legge «meno»: sono i polinomi di grado esattamente 2. Quell'insieme non contiene lo zero, quindi non può essere un nucleo. D: L'immagine dell'applicazione lineare $T: \R_2[x] \to \R_2[x]$, $T(ax^2 + bx + c) = (a - b)x^2 + (b - a)x + c$, è: - $\R_2[x]$ + $\Span(x^2 - x,\ 1)$ - $\Span(x^2,\ x)$ - $\R_1[x]$ - $\{p \in \R_2[x] \mid p(0) = 0\}$ = Simile all'appello del 07/09/2026, domanda 4. La domanda chiede quali polinomi possono uscire. Si raccoglie: $(b - a)x$ è lo stesso di $-(a - b)x$, quindi l'uscita è $(a - b)(x^2 - x) + c \cdot 1$. Ogni uscita è una ricetta dei polinomi $x^2 - x$ e $1$, con coefficienti qualsiasi: l'immagine è il loro Span, di dimensione 2. La risposta tentatrice è $\R_2[x]$, che però ha dimensione 3. La terza e la quinta risposta non contengono il polinomio $1$. La quarta non contiene $x^2 - x$. D: Sia $T: \R^5 \to \R_2[x]$ un'applicazione lineare suriettiva. Allora $\Ker T$ ha dimensione: - $1$ + $2$ - $3$ - $5$ - $0$ = Simile all'appello del 06/09/2024, domanda 3. Entra uno spazio di dimensione 5. Lo spazio di arrivo è fatto dai polinomi $ax^2 + bx + c$: servono 3 numeri, quindi ha dimensione 3. La macchina è suriettiva, quindi l'immagine ha dimensione 3. Per il teorema della dimensione il nucleo ha dimensione $5 - 3 = 2$. La risposta tentatrice è 3: è la dimensione dell'immagine, non quella del nucleo. D: Quale di queste funzioni **non** è lineare? + $\det: M(2, \R) \to \R$ - $\tr: M(2, \R) \to \R$ - $M(2, \R) \to M(2, \R)$, $A \mapsto {}^tA$ - $\R_2[x] \to \R$, $p \mapsto p(3)$ - $M(2, \R) \to M(2, \R)$, $A \mapsto 2A$ = Il determinante non rispetta le somme. Controesempio con la matrice identità $I$ con due righe: $\det(I + I) = \det(2I) = 2 \cdot 2 = 4$, mentre $\det I + \det I = 1 + 1 = 2$. Le altre quattro macchine rispettano somme e multipli. La traccia è la più tentatrice, perché anche lei manda una matrice in un numero: ma somma i numeri della diagonale, non li moltiplica. D: Sia $A = \begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$. Il nucleo di $L_A: \R^2 \to \R^2$ è: + $\Span((-2, 1))$ - $\Span((1, 2))$ - $\Span((1, -2))$ - $\{0\}$ - $\R^2$ = Il nucleo è fatto dai vettori che la macchina manda in zero. Il sistema è $x_1 + 2x_2 = 0$ e $2x_1 + 4x_2 = 0$: la seconda equazione è il doppio della prima. Chiamo $t$ l'incognita $x_2$: allora $x_1 = -2t$, e le soluzioni sono i multipli di $(-2, 1)$. Controllo: la riga 1 dà $1 \cdot (-2) + 2 \cdot 1 = 0$, la riga 2 dà $2 \cdot (-2) + 4 \cdot 1 = 0$. La risposta tentatrice è $\Span((1, 2))$: quella è l'immagine, cioè lo Span delle colonne. Il vettore $(1, -2)$ non va in zero: la riga 1 dà $1 - 4 = -3$. D: Sia $A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \end{pmatrix}$. Qual è la dimensione dell'immagine di $L_A: \R^3 \to \R^2$? - $0$ + $1$ - $2$ - $3$ - $6$ = Simile all'appello del 03/07/2026, domanda 4. La dimensione dell'immagine è il rango, cioè il numero dei pivot. La seconda riga è il doppio della prima: togliendo 2 volte la riga 1 dalla riga 2 resta una riga di zeri. C'è un solo pivot, quindi il rango è 1. Le risposte tentatrici sono 2 e 3, il numero delle righe e quello delle colonne: ma il rango conta solo le righe che dicono qualcosa di nuovo. D: Sia $f: \R^3 \to \R^3$ lineare con $\Ker f = \{0\}$. Allora: + $f$ è anche suriettiva. - $f$ è la funzione nulla. - $\dim \Imm f = 0$. - $f$ non può essere suriettiva. - $\dim \Imm f = 2$. = Simile all'appello del 02/09/2025, domanda 5. Nel nucleo c'è solo lo zero, quindi il nucleo ha dimensione 0. Per il teorema della dimensione l'immagine ha dimensione $3 - 0 = 3$. Lo spazio di arrivo ha dimensione 3, quindi l'immagine lo riempie tutto: la macchina è suriettiva. Quando partenza e arrivo hanno la stessa dimensione, iniettiva e suriettiva vanno sempre insieme. D: Una matrice $A$ di taglia $3 \times 5$ ha rango 2. Qual è la dimensione del nucleo di $L_A: \R^5 \to \R^3$? N: 3 = La matrice ha 5 colonne, quindi entra uno spazio di dimensione 5. L'immagine ha dimensione 2, come il rango. Per il teorema della dimensione il nucleo ha dimensione $5 - 2 = 3$. L'errore tipico è partire dal numero delle righe e scrivere $3 - 2 = 1$: conta lo spazio di partenza, cioè il numero delle colonne. ``` ## Esercizi ::: esercizio base Far girare una macchina La macchina $T: \R^2 \to \R^2$ ha la regola $T(x, y) = (x + 2y,\ 3x)$. Calcola $T(1, 0)$, $T(0, 1)$ e $T(2, 1)$. Poi controlla che $T(2, 1) = 2 \cdot T(1, 0) + T(0, 1)$. ::: soluzione Ogni volta metto i due numeri del vettore al posto di $x$ e di $y$. 1. $T(1, 0) = (1 + 2 \cdot 0,\ 3 \cdot 1) = (1, 3)$. 2. $T(0, 1) = (0 + 2 \cdot 1,\ 3 \cdot 0) = (2, 0)$. 3. $T(2, 1) = (2 + 2 \cdot 1,\ 3 \cdot 2) = (4, 6)$. **Controllo.** $2 \cdot (1, 3) + (2, 0) = (2, 6) + (2, 0) = (4, 6)$: è uguale a $T(2, 1)$. Il motivo: $(2, 1)$ è la ricetta «2 parti di $(1, 0)$ più 1 parte di $(0, 1)$», e le ricette restano ricette. ::: ::: esercizio base Il test dello zero Per ogni macchina calcola l'uscita del vettore nullo e di' che cosa puoi concludere: (a) $T(x, y) = (x + 3,\ y)$; (b) $T(x, y) = (2x - y,\ x)$; (c) $T(x, y) = (x^2,\ y)$. ::: soluzione (a) $T(0, 0) = (0 + 3,\ 0) = (3, 0)$. Non esce il vettore nullo, quindi la macchina **non è lineare**. (b) $T(0, 0) = (2 \cdot 0 - 0,\ 0) = (0, 0)$. Il test è superato, ma da solo non basta. Guardo la formula: in uscita ci sono solo multipli delle entrate, sommati. Quindi la macchina **è lineare**. (c) $T(0, 0) = (0^2,\ 0) = (0, 0)$. Il test è superato, ma nella formula c'è un quadrato. Cerco un controesempio con i multipli. 1. Entra $(1, 0)$: esce $(1^2,\ 0) = (1, 0)$. Il doppio dell'uscita è $(2, 0)$. 2. Entra il doppio, cioè $(2, 0)$: esce $(2^2,\ 0) = (4, 0)$. $(4, 0)$ e $(2, 0)$ sono diversi, quindi la macchina **non è lineare**. ::: ::: esercizio base Contare con il teorema della dimensione (a) Una macchina lineare va da $\R^4$ a $\R^3$ e la sua immagine ha dimensione 3. Che dimensione ha il nucleo? (b) Una macchina lineare va da $\R^3$ a $\R^5$ ed è iniettiva. Che dimensione ha l'immagine? (c) Una matrice con 6 colonne ha rango 4. Che dimensione ha il nucleo della sua macchina? ::: soluzione La regola è sempre: quello che entra è uguale a quello che si perde più quello che esce. (a) Entra uno spazio di dimensione 4 ed esce uno spazio di dimensione 3. Il nucleo ha dimensione $4 - 3 = 1$. (b) La macchina è iniettiva, quindi nel nucleo c'è solo lo zero: non si perde niente. L'immagine ha dimensione $3 - 0 = 3$. (c) Le colonne sono 6, quindi entra uno spazio di dimensione 6. L'immagine ha la dimensione del rango, cioè 4. Il nucleo ha dimensione $6 - 4 = 2$. ::: ::: esercizio base Lineari o no? Stabilisci quali sono lineari; per le altre dai un controesempio. (a) $T: \R^2 \to \R^2$, $T(x, y) = (3x - y,\ 0)$. (b) $T: \R^2 \to \R^2$, $T(x, y) = (x + y,\ 1)$. (c) $T: \R^3 \to \R^2$, $T(x, y, z) = (xz,\ y)$. (d) $T: \R_2[x] \to \R$, $T(p) = p(0) \cdot p(1)$. ::: soluzione (a) **Lineare.** In uscita ci sono solo multipli delle entrate, sommati: il primo numero è $3x + (-1)y$, il secondo è $0x + 0y$. È la macchina della matrice con prima riga 3 e $-1$ e seconda riga 0 e 0. (b) **Non lineare.** Test dello zero: $T(0, 0) = (0 + 0,\ 1) = (0, 1)$. Non esce il vettore nullo. (c) **Non lineare.** Il test dello zero non basta: $T(0, 0, 0) = (0, 0)$. Ma nella formula c'è un prodotto tra due entrate. Cerco un controesempio con il vettore $(1, 0, 1)$ e il numero 2. 1. Prima moltiplico, poi entro: $T(2, 0, 2) = (2 \cdot 2,\ 0) = (4, 0)$. 2. Prima entro, poi moltiplico: $T(1, 0, 1) = (1 \cdot 1,\ 0) = (1, 0)$, e il doppio è $(2, 0)$. $(4, 0)$ e $(2, 0)$ sono diversi. (d) **Non lineare.** La macchina prende un polinomio, lo calcola in 0 e in 1, e moltiplica i due numeri. Uso il polinomio costante $1$, che vale 1 dappertutto, e il numero 2. 1. Entra il polinomio $1$: esce $1 \cdot 1 = 1$. Il doppio dell'uscita è 2. 2. Entra il doppio, cioè il polinomio costante $2$: esce $2 \cdot 2 = 4$. 4 e 2 sono diversi. Anche qui il polinomio zero va in $0 \cdot 0 = 0$: il test dello zero non bastava. ::: ::: esercizio base Conoscere $T$ dai valori sulla base (a) $T: \R^2 \to \R^2$ è lineare, con $T(1, 0) = (2, 1)$ e $T(0, 1) = (-1, 3)$. Calcola $T(3, -2)$ e la matrice $A$ con $T = L_A$. (b) Se invece si sa che $T(1, 1) = (3, 0)$ e $T(1, -1) = (1, 2)$, quanto vale $T(1, 0)$? ::: soluzione (a) Scrivo $(3, -2)$ come ricetta dei due vettori di cui conosco l'uscita. 1. La ricetta è $(3, -2) = 3 \cdot (1, 0) - 2 \cdot (0, 1)$. 2. Le ricette restano ricette: $T(3, -2) = 3 \cdot (2, 1) - 2 \cdot (-1, 3)$. 3. Faccio i due multipli: $3 \cdot (2, 1) = (6, 3)$ e $2 \cdot (-1, 3) = (-2, 6)$. 4. Sottraggo posto per posto: $(6 - (-2),\ 3 - 6) = (8, -3)$. Quindi $T(3, -2) = (8, -3)$. La matrice ha come colonne le uscite dei vettori della base canonica: $$A = \begin{pmatrix} 2 & -1 \\ 1 & 3 \end{pmatrix}$$ **Controllo.** Moltiplico la matrice per $(3, -2)$. Riga 1: $2 \cdot 3 + (-1) \cdot (-2) = 8$. Riga 2: $1 \cdot 3 + 3 \cdot (-2) = -3$. (b) Questa volta conosco le uscite di $(1, 1)$ e di $(1, -1)$. Devo scrivere $(1, 0)$ come loro ricetta. 1. Sommo i due vettori: $(1, 1) + (1, -1) = (2, 0)$. È il doppio di $(1, 0)$. 2. Quindi $(1, 0)$ è «mezza parte del primo più mezza parte del secondo». 3. Le ricette restano ricette: $T(1, 0) = \frac 12 \cdot (3, 0) + \frac 12 \cdot (1, 2)$. 4. Faccio i conti: $\left(\frac 32, 0\right) + \left(\frac 12, 1\right) = (2, 1)$. ::: ::: esercizio base Nucleo e immagine di una proiezione obliqua Trova nucleo e immagine di $T: \R^3 \to \R^2$, $T(x, y, z) = (x - z,\ y + z)$, e di' se $T$ è iniettiva o suriettiva. ::: soluzione 1. **La matrice.** Nelle righe metto i numeri che moltiplicano le entrate: la prima riga è fatta da 1, 0 e $-1$, la seconda da 0, 1 e 1. È già ridotta. I pivot stanno nelle colonne 1 e 2, quindi il rango è 2. 2. **Il nucleo.** Il sistema è $x - z = 0$ e $y + z = 0$. L'incognita $z$ è libera: la chiamo $t$. Allora $x = t$ e $y = -t$. Il nucleo è $\Span\big((1, -1, 1)\big)$, di dimensione 1. 3. **L'immagine.** Ha la dimensione del rango, cioè 2. Lo spazio di arrivo $\R^2$ ha dimensione 2, quindi l'immagine è tutto $\R^2$. 4. **Iniettiva o suriettiva?** È **suriettiva**, perché l'immagine è tutto lo spazio di arrivo. **Non è iniettiva**, perché nel nucleo non c'è solo lo zero. Da $\R^3$ a $\R^2$ non poteva esserlo in nessun caso. **Controllo.** $T(1, -1, 1) = (1 - 1,\ -1 + 1) = (0, 0)$. Il teorema della dimensione torna: $1 + 2 = 3$. ::: ::: esercizio medio Esercizio 14.14 delle dispense, punto 1 Sia $f_1: \R^3 \to \R^2$, $f_1(x, y, z) = (x + y + z,\ 2x + 3y + 4z)$. Controlla che $f_1$ è lineare, trova $\Ker f_1$ e $\Imm f_1$ e verifica il teorema della dimensione. ::: soluzione **È lineare.** In uscita ci sono solo multipli delle entrate, sommati. Quindi $f_1$ è la macchina di una matrice (Esempio 14.6). Nelle righe ci sono i numeri che moltiplicano le entrate: $$A = \begin{pmatrix} 1 & 1 & 1 \\ 2 & 3 & 4 \end{pmatrix}$$ **Il nucleo.** Riduco la matrice con Gauss–Jordan. 1. Mossa $R_2 \to R_2 - 2R_1$: la nuova riga 2 è $(2 - 2,\ 3 - 2,\ 4 - 2) = (0, 1, 2)$. 2. Mossa $R_1 \to R_1 - R_2$: la nuova riga 1 è $(1 - 0,\ 1 - 1,\ 1 - 2) = (1, 0, -1)$. 3. I pivot stanno nelle colonne 1 e 2. La colonna 3 non ha pivot, quindi $z$ è libera: la chiamo $t$. 4. La riga 1 dice $x - z = 0$, cioè $x = t$. La riga 2 dice $y + 2z = 0$, cioè $y = -2t$. Le soluzioni sono $(t, -2t, t)$: il nucleo è $\Span\big((1, -2, 1)\big)$, di dimensione 1. **L'immagine.** I pivot sono 2, quindi l'immagine ha dimensione 2. Lo spazio di arrivo $\R^2$ ha dimensione 2: l'immagine è tutto $\R^2$. Una base: le colonne 1 e 2 della matrice di partenza, cioè $(1, 2)$ e $(1, 3)$. **Il teorema della dimensione.** $1 + 2 = 3$, la dimensione di $\R^3$. **Controllo.** $f_1(1, -2, 1) = (1 - 2 + 1,\ 2 - 6 + 4) = (0, 0)$. ::: ::: esercizio medio Esercizio 14.14 delle dispense, punto 2 Sia $f_2: \R_2[x] \to \R$, $f_2(p(x)) = p(1) + p(-1)$. Controlla che $f_2$ è lineare, trova $\Ker f_2$ e $\Imm f_2$ e verifica il teorema della dimensione. ::: soluzione A parole: la macchina prende un polinomio di grado al massimo 2, lo calcola in 1 e in $-1$ e somma i due numeri. **Una formula comoda.** Scrivo il polinomio con tre numeri: $p = a_0 + a_1 x + a_2 x^2$. 1. In 1: $p(1) = a_0 + a_1 + a_2$. 2. In $-1$: $p(-1) = a_0 - a_1 + a_2$, perché $(-1)^2 = 1$. 3. Sommo: i due pezzi con $a_1$ si cancellano, e resta $f_2(p) = 2a_0 + 2a_2$. **È lineare.** Per calcolare in un punto la somma di due polinomi si sommano i due valori. Quindi, per due polinomi $p$ e $q$ e un numero $\lambda$: $$f_2(p + q) = p(1) + q(1) + p(-1) + q(-1) = f_2(p) + f_2(q),$$ $$f_2(\lambda p) = \lambda p(1) + \lambda p(-1) = \lambda f_2(p).$$ **Il nucleo.** Cerco i polinomi che vanno in zero. 1. La condizione è $2a_0 + 2a_2 = 0$, cioè $a_2 = -a_0$. Il numero $a_1$ è libero. 2. Sostituisco: $p = a_0 + a_1 x - a_0 x^2 = a_0 (1 - x^2) + a_1 x$. 3. I polinomi $1 - x^2$ e $x$ hanno grado diverso, quindi nessuno è un multiplo dell'altro: sono indipendenti. Il nucleo è $\Span(1 - x^2,\ x)$, di dimensione 2. **L'immagine.** Il polinomio costante $\frac 12$ va in $\frac 12 + \frac 12 = 1$. Quindi il numero 1 esce, e con lui tutti i suoi multipli, cioè tutti i numeri. L'immagine è tutto $\R$, di dimensione 1. **Il teorema della dimensione.** $2 + 1 = 3$, la dimensione di $\R_2[x]$. **Controllo.** Il polinomio $1 - x^2$ vale 0 sia in 1 sia in $-1$. Il polinomio $x$ vale 1 in 1 e $-1$ in $-1$: la somma è 0. ::: ::: esercizio medio Esercizio 14.14 delle dispense, punto 3 Sia $f_3: M_2(\R) \to M_2(\R)$, $f_3(A) = A - {}^tA$ (dove $M_2(\R) = M(2, \R)$ sono le matrici reali $2 \times 2$). Controlla che $f_3$ è lineare, trova $\Ker f_3$ e $\Imm f_3$ e verifica il teorema della dimensione. ::: soluzione A parole: la macchina prende una matrice con due righe e due colonne e le toglie la sua trasposta, cioè la matrice con righe e colonne scambiate (lezione L08). **Una formula comoda.** Nella trasposta i numeri $b$ e $c$ si scambiano di posto. $$f_3(A) = \begin{pmatrix} a & b \\ c & d \end{pmatrix} - \begin{pmatrix} a & c \\ b & d \end{pmatrix} = \begin{pmatrix} 0 & b - c \\ c - b & 0 \end{pmatrix}$$ **È lineare.** La trasposta rispetta somme e multipli (lezione L08). Quindi: $$f_3(A + B) = (A + B) - {}^t(A + B) = A - {}^tA + B - {}^tB = f_3(A) + f_3(B),$$ $$f_3(\lambda A) = \lambda A - \lambda\,{}^tA = \lambda f_3(A).$$ **Il nucleo.** Cerco le matrici che vanno nella matrice di soli zeri. 1. Dalla formula: serve $b - c = 0$, cioè $b = c$. I numeri $a$ e $d$ sono liberi. 2. Le matrici con $b = c$ sono le matrici **simmetriche**. Ognuna è una ricetta di tre matrici: $$\begin{pmatrix} a & b \\ b & d \end{pmatrix} = a\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} + b\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} + d\begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}.$$ 3. Le tre matrici sono indipendenti: ognuna ha un 1 in un posto dove le altre due hanno 0. Il nucleo ha dimensione 3. **L'immagine.** Le uscite hanno 0 sulla diagonale, un numero $s$ in alto a destra e $-s$ in basso a sinistra. Il numero $s$ può essere qualsiasi: basta scegliere $b = s$ e $c = 0$. Sono le matrici **antisimmetriche**, cioè i multipli di una sola matrice: $$\Imm f_3 = \Span\left(\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}\right).$$ **Il teorema della dimensione.** $3 + 1 = 4$, la dimensione di $M_2(\R)$: per scrivere una matrice con due righe e due colonne servono 4 numeri. ::: ::: esercizio medio Un sottospazio di polinomi come nucleo Sia $W = \{p \in \R_3[x] \mid p(0) = 0,\ p(1) = 0\}$. Trova $\dim W$ con il teorema della dimensione e poi una base di $W$. ::: soluzione A parole: $W$ è fatto dai polinomi di grado al massimo 3 che valgono 0 sia in 0 sia in 1. 1. **Riconosco un nucleo.** Prendo la macchina che manda un polinomio $p$ nel vettore $(p(0),\ p(1))$. Parte da $\R_3[x]$ e arriva in $\R^2$. È fatta di due valutazioni, quindi è lineare. I polinomi che manda in $(0, 0)$ sono proprio quelli di $W$. 2. **Conto quello che entra.** Un polinomio di grado al massimo 3 si scrive con 4 numeri: $\R_3[x]$ ha dimensione 4. 3. **Conto quello che esce.** Il polinomio $1 - x$ va in $(1 - 0,\ 1 - 1) = (1, 0)$. Il polinomio $x$ va in $(0, 1)$. Queste due uscite generano tutto $\R^2$: l'immagine ha dimensione 2. 4. **Uso il teorema.** Il nucleo ha dimensione $4 - 2 = 2$. Quindi $\dim W = 2$. **Una base.** I polinomi $x^2 - x$ e $x^3 - x$ stanno in $W$: valgono $0 - 0 = 0$ in 0 e $1 - 1 = 0$ in 1. Hanno grado diverso, quindi sono indipendenti. Due vettori indipendenti in uno spazio di dimensione 2 formano una base (Teorema 7.12, lezione L07). Quindi $W = \Span(x^2 - x,\ x^3 - x)$. È lo schema della domanda 1 dell'appello del 03/07/2026. ::: ::: esercizio difficile Esercizio 14.15 delle dispense Sia $f: \R^4 \to \R^3$ l'applicazione lineare $f(x_1, x_2, x_3, x_4) = (x_1 + x_2 + x_3,\ x_2 + x_3 + x_4,\ x_1 - x_4)$. (1) Trova una base di $\Ker f$. (2) Determina $\dim \Imm f$ con il teorema della dimensione. (3) Trova una base di $\Imm f$. (4) Stabilisci se $f$ è iniettiva e se è suriettiva. ::: soluzione **La matrice.** In ogni riga metto i numeri che moltiplicano le quattro entrate. Dove un'entrata manca, il numero è 0. $$A = \begin{pmatrix} 1 & 1 & 1 & 0 \\ 0 & 1 & 1 & 1 \\ 1 & 0 & 0 & -1 \end{pmatrix}$$ **Gauss–Jordan.** 1. Mossa $R_3 \to R_3 - R_1$: la nuova riga 3 è $(1 - 1,\ 0 - 1,\ 0 - 1,\ -1 - 0) = (0, -1, -1, -1)$. 2. È l'opposto della riga 2. Mossa $R_3 \to R_3 + R_2$: la nuova riga 3 è $(0, 0, 0, 0)$. 3. Mossa $R_1 \to R_1 - R_2$: la nuova riga 1 è $(1 - 0,\ 1 - 1,\ 1 - 1,\ 0 - 1) = (1, 0, 0, -1)$. $$\begin{pmatrix} 1 & 0 & 0 & -1 \\ 0 & 1 & 1 & 1 \\ 0 & 0 & 0 & 0 \end{pmatrix}$$ **(1) Una base del nucleo.** 1. I pivot stanno nelle colonne 1 e 2. Le incognite $x_3$ e $x_4$ sono libere: le chiamo $s$ e $t$. 2. La riga 1 dice $x_1 - x_4 = 0$, cioè $x_1 = t$. 3. La riga 2 dice $x_2 + x_3 + x_4 = 0$, cioè $x_2 = -s - t$. 4. Separo i pezzi con $s$ da quelli con $t$: $$(t,\ -s - t,\ s,\ t) = s \cdot (0, -1, 1, 0) + t \cdot (1, -1, 0, 1).$$ Una base del nucleo è fatta da $(0, -1, 1, 0)$ e $(1, -1, 0, 1)$. Il nucleo ha dimensione 2. **(2) La dimensione dell'immagine.** Entra uno spazio di dimensione 4 e il nucleo ha dimensione 2. L'immagine ha dimensione $4 - 2 = 2$. **(3) Una base dell'immagine.** Prendo le colonne 1 e 2 della matrice **di partenza**, quelle nei posti dei pivot: $(1, 0, 1)$ e $(1, 1, 0)$. Non sono uno multiplo dell'altro, e l'immagine ha dimensione 2: formano una base. **(4) Iniettiva? Suriettiva?** Non è iniettiva, perché nel nucleo non c'è solo lo zero. Non è suriettiva, perché l'immagine ha dimensione 2 e lo spazio di arrivo ha dimensione 3. Un vettore che non esce mai è $(0, 0, 1)$: le uscite $(x, y, z)$ rispettano tutte $x - y - z = 0$, e qui viene $-1$. **Controllo.** I due vettori della base del nucleo vanno in zero: - $f(0, -1, 1, 0) = (0 - 1 + 1,\ -1 + 1 + 0,\ 0 - 0) = (0, 0, 0)$; - $f(1, -1, 0, 1) = (1 - 1 + 0,\ -1 + 0 + 1,\ 1 - 1) = (0, 0, 0)$. ::: ::: esercizio difficile Che cosa fa un'applicazione lineare ai vettori dipendenti e indipendenti Sia $f: V \to W$ lineare e siano $v_1, \dots, v_k \in V$. (a) Dimostra che se $v_1, \dots, v_k$ sono dipendenti, anche $f(v_1), \dots, f(v_k)$ lo sono. (b) Dimostra che se $f$ è iniettiva e $v_1, \dots, v_k$ sono indipendenti, anche $f(v_1), \dots, f(v_k)$ sono indipendenti. (c) Mostra con un esempio che in (b) l'iniettività serve. ::: soluzione Ricorda (lezione L07): dei vettori sono **dipendenti** se una loro ricetta dà il vettore nullo anche con coefficienti non tutti zero. Sono **indipendenti** se una loro ricetta dà il vettore nullo solo quando tutti i coefficienti sono zero. (a) I passi sono quattro. 1. I vettori sono dipendenti: esistono numeri $\lambda_1, \dots, \lambda_k$, non tutti zero, con $\lambda_1 v_1 + \cdots + \lambda_k v_k = 0$. 2. Faccio entrare nella macchina i due lati. A destra entra lo zero, ed esce lo zero. 3. A sinistra le ricette restano ricette: $\lambda_1 f(v_1) + \cdots + \lambda_k f(v_k) = 0$. 4. È una ricetta delle uscite che dà zero, con coefficienti non tutti zero. Quindi le uscite sono dipendenti. (b) Anche qui quattro passi. 1. Prendo una ricetta delle uscite che dà zero: $\lambda_1 f(v_1) + \cdots + \lambda_k f(v_k) = 0$. Devo mostrare che tutti i coefficienti sono zero. 2. Le ricette restano ricette: il vettore $\lambda_1 v_1 + \cdots + \lambda_k v_k$ va in zero, cioè sta nel nucleo. 3. La macchina è iniettiva, quindi nel nucleo c'è solo lo zero (Proposizione 14.11). Allora $\lambda_1 v_1 + \cdots + \lambda_k v_k = 0$. 4. I vettori di partenza sono indipendenti: la loro ricetta dà zero solo se tutti i coefficienti sono zero. (c) Prendo la macchina che manda $(x, y)$ in $(x + y,\ 2x + 2y)$, che non è iniettiva. I vettori $(1, 0)$ e $(0, 1)$ sono indipendenti, ma le loro uscite sono tutte e due $(1, 2)$. Due vettori uguali sono dipendenti: il primo meno il secondo dà zero. ::: ::: esercizio esame Come all'esame: rango, controimmagini e immagine con un parametro Sia $T: \R^3 \to \R^3$, $T(x, y, z) = (x + y + 2z,\ 2x + y + 3z,\ x + 2y + 3z)$. (1) Scrivi la matrice $A$ con $T = L_A$ e calcola il rango di $T$. (2) Trova tutti i vettori $v$ con $T(v) = (3, 4, 5)$. (3) Per quali $k \in \R$ il vettore $(k, k^2, 2)$ appartiene all'immagine di $T$? (4) Trova una base di $\Ker T$ e di' se $T$ è iniettiva o suriettiva. ::: soluzione Una parola del titolo: i vettori che vanno in un vettore assegnato si chiamano le sue **controimmagini**. La domanda (2) chiede le controimmagini di $(3, 4, 5)$. **(1) La matrice e il rango.** Nelle righe metto i numeri che moltiplicano le entrate. Le domande (2) e (3) chiedono se certi vettori escono dalla macchina: conviene fare Gauss una volta sola, con un'uscita qualsiasi $(a, b, c)$ a destra della barra. $$\left(\begin{array}{ccc|c} 1 & 1 & 2 & a \\ 2 & 1 & 3 & b \\ 1 & 2 & 3 & c \end{array}\right)$$ 1. Mossa $R_2 \to R_2 - 2R_1$. A sinistra: $(2 - 2,\ 1 - 2,\ 3 - 4) = (0, -1, -1)$. A destra: $b - 2a$. 2. Mossa $R_3 \to R_3 - R_1$. A sinistra: $(1 - 1,\ 2 - 1,\ 3 - 2) = (0, 1, 1)$. A destra: $c - a$. 3. Mossa $R_3 \to R_3 + R_2$. A sinistra: $(0, 0, 0)$. A destra: $(c - a) + (b - 2a) = b + c - 3a$. $$\left(\begin{array}{ccc|c} 1 & 1 & 2 & a \\ 0 & -1 & -1 & b - 2a \\ 0 & 0 & 0 & b + c - 3a \end{array}\right)$$ A sinistra della barra ci sono due pivot: il rango è 2. **(2) I vettori che vanno in $(3, 4, 5)$.** Metto $a = 3$, $b = 4$, $c = 5$. 1. L'ultima riga dice $0 = 4 + 5 - 9$. È vera, quindi le soluzioni ci sono. 2. La riga 2 dice $-y - z = 4 - 6 = -2$, cioè $y + z = 2$. La riga 1 dice $x + y + 2z = 3$. 3. La colonna 3 non ha pivot: $z$ è libera, e la chiamo $t$. Dalla riga 2: $y = 2 - t$. 4. Dalla riga 1: $x = 3 - (2 - t) - 2t = 1 - t$. I vettori cercati sono $v = (1 - t,\ 2 - t,\ t)$, per ogni numero $t$. Controllo con $t = 0$: $T(1, 2, 0) = (1 + 2 + 0,\ 2 + 2 + 0,\ 1 + 4 + 0) = (3, 4, 5)$. **(3) Per quali $k$ il vettore $(k, k^2, 2)$ sta nell'immagine.** Un vettore $(a, b, c)$ esce dalla macchina quando il sistema ha soluzione, cioè quando l'ultima riga non è impossibile: $b + c - 3a = 0$. 1. Metto $a = k$, $b = k^2$, $c = 2$: la condizione diventa $k^2 - 3k + 2 = 0$. 2. Cerco due numeri che sommati danno 3 e moltiplicati danno 2: sono 1 e 2. Quindi $k^2 - 3k + 2 = (k - 1)(k - 2)$. 3. Un prodotto è zero quando uno dei due pezzi è zero: $k = 1$ oppure $k = 2$. Il vettore sta nell'immagine per **$k = 1$ e per $k = 2$**. Controllo: con $k = 1$ il vettore è $(1, 1, 2)$, e $1 + 2 - 3 = 0$. Con $k = 2$ è $(2, 4, 2)$, e $4 + 2 - 6 = 0$. **(4) Il nucleo.** Uso la stessa matrice ridotta, con $a = b = c = 0$. 1. La riga 2 dice $y = -z$. Con $z = t$ viene $y = -t$. 2. La riga 1 dice $x = -y - 2z = t - 2t = -t$. Le soluzioni sono $(-t, -t, t)$: una base del nucleo è $(-1, -1, 1)$. La macchina **non è iniettiva**, perché nel nucleo non c'è solo lo zero. **Non è suriettiva**, perché l'immagine ha dimensione 2 e lo spazio di arrivo ha dimensione 3. Controllo: $T(-1, -1, 1) = (-1 - 1 + 2,\ -2 - 1 + 3,\ -1 - 2 + 3) = (0, 0, 0)$. Il teorema della dimensione torna: $1 + 2 = 3$. Lo schema è quello dei problemi 12 degli appelli del 08/02/2024 e del 10/07/2025. ::: ::: esercizio esame Come all'esame: il nucleo al variare di $k$ Sia $A = \begin{pmatrix} 1 & 1 & k \\ 1 & k & 1 \\ k & 1 & 1 \end{pmatrix}$ con $k \in \R$. Al variare di $k$, trova una base di $\Ker L_A$ e di' per quali $k$ l'applicazione $L_A: \R^3 \to \R^3$ è iniettiva. ::: soluzione L'idea: nella matrice c'è una lettera $k$ al posto di un numero, e la matrice è quadrata. Se il suo determinante non è zero, il sistema con tutti zeri a destra ha solo la soluzione zero (lezione L12). I valori speciali di $k$ sono quelli che rendono il determinante uguale a zero. **Il determinante.** Sviluppo lungo la prima riga (lezione L09). 1. I tre pezzi: $\det A = 1 \cdot (k \cdot 1 - 1 \cdot 1) - 1 \cdot (1 \cdot 1 - 1 \cdot k) + k \cdot (1 \cdot 1 - k \cdot k)$. 2. Faccio i conti nelle parentesi: $\det A = (k - 1) - (1 - k) + k(1 - k^2)$. 3. Il pezzo $-(1 - k)$ è uguale a $k - 1$. E $1 - k^2 = -(k - 1)(k + 1)$. Quindi $\det A = 2(k - 1) - k(k - 1)(k + 1)$. 4. In tutti e due i pezzi c'è $k - 1$: lo porto fuori. $\det A = (k - 1)(2 - k - k^2)$. 5. Cambio segno alla seconda parentesi: $2 - k - k^2 = -(k^2 + k - 2) = -(k - 1)(k + 2)$. $$\det A = -(k - 1)^2 (k + 2)$$ Il determinante è zero solo per $k = 1$ e per $k = -2$. **Primo caso: $k$ diverso da 1 e da $-2$.** Il determinante non è zero. Nel nucleo c'è solo il vettore nullo: ha dimensione 0 e non ha una base. La macchina è **iniettiva**, e quindi anche suriettiva. **Secondo caso: $k = 1$.** Tutte e tre le righe sono $(1, 1, 1)$: il rango è 1. 1. Resta una sola equazione: $x + y + z = 0$. 2. Le incognite $y$ e $z$ sono libere: le chiamo $s$ e $t$. Allora $x = -s - t$. 3. Le soluzioni sono $(-s - t,\ s,\ t) = s \cdot (-1, 1, 0) + t \cdot (-1, 0, 1)$. Una base del nucleo è fatta da $(-1, 1, 0)$ e $(-1, 0, 1)$. Il nucleo ha dimensione $3 - 1 = 2$. **Terzo caso: $k = -2$.** Le righe sono $(1, 1, -2)$, $(1, -2, 1)$ e $(-2, 1, 1)$. 1. Mossa $R_2 \to R_2 - R_1$: la nuova riga 2 è $(1 - 1,\ -2 - 1,\ 1 + 2) = (0, -3, 3)$. 2. Mossa $R_3 \to R_3 + 2R_1$: la nuova riga 3 è $(-2 + 2,\ 1 + 2,\ 1 - 4) = (0, 3, -3)$. 3. Mossa $R_3 \to R_3 + R_2$: la nuova riga 3 è $(0, 0, 0)$. I pivot sono 2, quindi il rango è 2. 4. L'incognita $z$ è libera: la chiamo $t$. La riga 2 dice $-3y + 3z = 0$, cioè $y = t$. 5. La riga 1 dice $x + y - 2z = 0$, cioè $x = -t + 2t = t$. Le soluzioni sono $(t, t, t)$: una base del nucleo è $(1, 1, 1)$. Il nucleo ha dimensione $3 - 2 = 1$. Controllo: i numeri di ogni riga, sommati, danno zero. Per esempio $1 + 1 - 2 = 0$. **Conclusione.** La macchina è iniettiva esattamente per $k$ diverso da 1 e da $-2$. Lo schema è quello del problema 11, punto 2, dell'appello del 06/09/2024. ::: ## Domande di ripasso ::: domanda Che cos'è un'applicazione lineare? È una macchina che trasforma vettori in vettori rispettando due regole. Somme: far entrare una somma dà la somma delle uscite. Multipli: far entrare un multiplo dà lo stesso multiplo dell'uscita. ::: ::: domanda Perché un'applicazione lineare manda $0$ in $0$? Quali tre zeri compaiono? Il vettore nullo si può scrivere come «numero zero per vettore nullo». Per la regola dei multipli il numero zero esce dalla macchina, e il numero zero per qualunque vettore dà il vettore nullo. I tre zeri sono: il vettore nullo dello spazio di partenza, il numero zero e il vettore nullo dello spazio di arrivo. ::: ::: domanda Come si dimostra che una funzione non è lineare? Basta un controesempio con i numeri. Ci sono tre possibilità: lo zero non va nello zero; due vettori per cui le somme non tornano; un vettore e un numero per cui i multipli non tornano. Il test dello zero da solo può non bastare. ::: ::: domanda Che cos'è $L_A$ e perché è lineare? È la macchina «moltiplica per la matrice $A$». Se la matrice ha $m$ righe e $n$ colonne, entrano vettori di $n$ numeri ed escono vettori di $m$ numeri. È lineare perché il prodotto di matrici rispetta somme e multipli. ::: ::: domanda Che cosa sono le colonne di $A$ per l'applicazione $L_A$? Sono le uscite dei vettori della base canonica: il primo va nella prima colonna, il secondo nella seconda, e avanti così. L'uscita di un vettore qualsiasi è la ricetta fatta con le colonne, con i numeri del vettore come coefficienti. ::: ::: domanda Che cosa sono nucleo e immagine, e dove vivono? Il nucleo è l'insieme dei vettori che la macchina manda in zero: è un sottospazio dello spazio di partenza. L'immagine è l'insieme dei vettori che escono dalla macchina: è un sottospazio dello spazio di arrivo. ::: ::: domanda Perché $f$ è iniettiva se e solo se $\Ker f = \{0\}$? Se la macchina è iniettiva, solo lo zero può andare dove va lo zero. Al contrario, supponi che nel nucleo ci sia solo lo zero e prendi due entrate diverse. La loro differenza non è zero, quindi non va in zero. Ma l'uscita della differenza è la differenza delle uscite: quindi le due uscite sono diverse. ::: ::: domanda Come si trovano nucleo e immagine di $L_A$? Il nucleo è l'insieme delle soluzioni del sistema con tutti zeri a destra: ogni incognita libera dà un vettore della base. L'immagine è lo Span delle colonne: una base è fatta dalle colonne di partenza nei posti dei pivot. ::: ::: domanda Che cosa dice il teorema della dimensione? Qual è l'idea della dimostrazione? Dice che la dimensione del nucleo più la dimensione dell'immagine dà la dimensione dello spazio di partenza, se questa è finita. L'idea: si prende una base del nucleo e la si completa a una base di tutto lo spazio di partenza. Le uscite dei vettori aggiunti formano una base dell'immagine. ::: ::: domanda Perché per le matrici il teorema della dimensione è Rouché–Capelli? Il nucleo della macchina di una matrice è l'insieme delle soluzioni del sistema omogeneo, e la dimensione dell'immagine è il rango. Il teorema dice allora: la dimensione dello spazio delle soluzioni è il numero delle colonne meno il rango. ::: ::: domanda Se $\dim V = 4$ e $\dim W = 2$, che cosa si sa di $f: V \to W$ lineare? E se $\dim V = \dim W$? Nel primo caso la macchina non può essere iniettiva: l'immagine ha dimensione al massimo 2, quindi il nucleo ha dimensione almeno $4 - 2 = 2$. Nel secondo caso la macchina è iniettiva esattamente quando è suriettiva (Corollario 14.13). ::: ::: domanda Quali di queste sono lineari: traccia, determinante, trasposizione, valutazione di un polinomio in un punto? Traccia, trasposizione e valutazione sono lineari. Il determinante no: per la matrice identità con due righe, il determinante del suo doppio è 4, mentre la somma dei due determinanti è $1 + 1 = 2$. ::: ## Glossario ```glossario Applicazione lineare | Una macchina che trasforma vettori in vettori e rispetta somme e multipli. Esempio: quella che manda $(x, y)$ in $(2x, y)$. Dominio e codominio | Lo spazio dei vettori che entrano e lo spazio in cui stanno i vettori che escono. Nella scrittura $f: V \to W$ sono $V$ e $W$. Funzione nulla | La macchina che manda ogni vettore nel vettore nullo. È lineare. Il suo nucleo è tutto lo spazio di partenza, la sua immagine contiene solo lo zero. Identità $\id$ | La macchina che manda ogni vettore in sé stesso. È lineare. Il suo nucleo contiene solo lo zero, la sua immagine è tutto lo spazio. $L_A$ | La macchina «moltiplica per la matrice $A$». Con $m$ righe e $n$ colonne, entrano liste di $n$ numeri ed escono liste di $m$ numeri. Base canonica | I vettori con un 1 in un posto e 0 negli altri, come $(1, 0)$ e $(0, 1)$. Le loro uscite sono le colonne della matrice. Traccia | La somma dei numeri sulla diagonale di una matrice quadrata. È una macchina lineare: entra una matrice, esce un numero. Valutazione | La macchina lineare che prende un polinomio e restituisce il suo valore in un numero fissato, per esempio in 3. Applicazione affine | Una macchina che moltiplica per una matrice e poi aggiunge un vettore fisso $b$. Se $b$ non è zero non è lineare, perché manda lo zero in $b$. Controesempio | Un esempio con i numeri in cui una regola non funziona. Ne basta uno per dire che una macchina non è lineare. Nucleo $\Ker f$ | L'insieme dei vettori che la macchina manda in zero. È un sottospazio dello spazio di partenza. Immagine $\Imm f$ | L'insieme dei vettori che escono dalla macchina. È un sottospazio dello spazio di arrivo. Iniettiva | Una macchina in cui entrate diverse danno sempre uscite diverse. Se è lineare, vuol dire che nel nucleo c'è solo lo zero. Suriettiva | Una macchina che produce ogni vettore dello spazio di arrivo: l'immagine è tutto lo spazio di arrivo. Rango di $f$ | La dimensione dell'immagine. Per la macchina di una matrice è il rango della matrice, cioè il numero dei pivot. Teorema della dimensione | Dimensione del nucleo più dimensione dell'immagine uguale dimensione dello spazio di partenza, se questa è finita. Corollario 14.13 | L'immagine non ha mai più dimensioni dello spazio di partenza. Iniettiva: l'immagine ha la dimensione dello spazio di partenza. Suriettiva: ha la dimensione dello spazio di arrivo. Controimmagine | Un vettore che la macchina manda in un vettore assegnato. Le controimmagini dello zero formano il nucleo. ``` ## Checklist ```checklist - So dire che cos'è un'applicazione lineare e perché manda lo zero nello zero. - So mostrare che una macchina è lineare (con le lettere) o che non lo è (con un controesempio con i numeri). - So riconoscere a occhio le formule non lineari: numeri fissi aggiunti, quadrati, prodotti tra le entrate. - So scrivere la macchina di una matrice e so che le colonne sono le uscite dei vettori della base canonica. - So che traccia, trasposizione e valutazione sono lineari e che il determinante non lo è. - So dire che cosa sono nucleo e immagine e perché sono sottospazi. - So spiegare perché una macchina lineare è iniettiva esattamente quando nel nucleo c'è solo lo zero. - So calcolare nucleo e immagine della macchina di una matrice con Gauss, prendendo le colonne di partenza per l'immagine. - So enunciare il teorema della dimensione e usarlo per trovare una dimensione senza conti. - So rispondere ai quiz su iniettività e suriettività confrontando le dimensioni dello spazio di partenza e di quello di arrivo. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 14 «Applicazioni Lineari I», pp. 68–73: le sezioni 14.A–14.D sono seguite in ordine, con la pagina indicata accanto a ogni titolo; definizioni, proposizioni, teorema, corollario ed esempi mantengono la loro numerazione (Definizioni 14.1 e 14.9, Esempi 14.2–14.8, Proposizioni 14.10 e 14.11, Teorema 14.12, Corollario 14.13, Esercizi 14.14 e 14.15), compresi l'osservazione di p. 72 e i due riquadri «Collegamento con l'informatica» (reti neurali; il nucleo come insieme di direzioni ammissibili). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §4.1 (pp. 115–123) e §4.2 (pp. 123–130), in particolare la dimostrazione completa del Teorema 4.2.9, gli Esempi 4.1.10, 4.1.13, 4.1.15, 4.2.12 e 4.2.16, il Corollario 4.2.23 e le Proposizioni 4.1.19 e 4.2.24. - **Appelli d'esame** di Algebra lineare 2023/24–2025/26 con soluzioni ufficiali (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): riportate le domande 8 del 24/01/2024, 7 del 10/07/2024, 3 del 06/09/2024 e 5 del 02/09/2025; citate le domande su linearità, nucleo, immagine e dimensioni degli altri appelli (08/02/2024, 07/02/2025, 03/06/2025, 10/07/2025, 15/01/2026, 05/02/2026, 03/07/2026, 07/09/2026) e i problemi 12 del 08/02/2024 e del 10/07/2025 e 11 del 06/09/2024. Le soluzioni qui sono scritte da capo. - Le parti **«Oltre le dispense»** (ogni macchina lineare tra liste di numeri viene da una matrice, le tre regole per i quiz, i riferimenti al libro, gli esempi con il determinante e con i polinomi, gli esercizi non numerati) sono aggiunte di questi appunti per collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L15_applicazioni_lineari_2.md` ```yaml corso: MDAG modulo: AG lezione: L15 titolo: Applicazioni lineari II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L15 descrizione: >- Appunti della lezione L15 di Algebra lineare e Geometria (MDAG, parte 2): isomorfismi, spazi vettoriali isomorfi, coordinate e matrice associata a un'applicazione lineare rispetto a due basi, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Quando due spazi sono lo stesso spazio con nomi diversi, come un polinomio di grado 2 e la lista dei suoi tre numeri. Poi come si scrive qualsiasi macchina lineare con una tabella di numeri, scegliendo una base in partenza e una in arrivo. Da qui in poi ogni conto su polinomi o matrici diventa un conto con le tabelle. materiale: dispense scheda: Dispense: lezione 15 · pp. 74–78 Libro: Martelli, §4.2.5, §4.2.7 e §4.3 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 15 «Applicazioni lineari II»; B. Martelli, Geometria e algebra lineare, §4.2.5, §4.2.7 e §4.3 appunti_html: appunti/MDAG/L15_applicazioni_lineari_2.html genera_html: true ``` ## In breve - Un **isomorfismo** è una macchina lineare che fa da **dizionario perfetto** tra due spazi: a ogni vettore di partenza corrisponde uno e un solo vettore di arrivo, e viceversa. La macchina che torna indietro è ancora lineare. - Le dimensioni dicono già molto. Una macchina lineare che non perde niente non può arrivare in uno spazio più piccolo; una che produce tutto non può partire da uno spazio più piccolo. - Due spazi sono **isomorfi**, cioè lo stesso spazio con nomi diversi, esattamente quando hanno la **stessa dimensione**. Per esempio i polinomi di grado al massimo 2 e le liste di 3 numeri. - Scelta una base in partenza e una in arrivo, ogni macchina lineare si scrive con una **matrice associata**: nella colonna $j$ ci sono le coordinate di dove va il vettore $j$ della base di partenza. - Nella scrittura $[f]^{\mathcal B}_{\mathcal C}$ la base di partenza sta **in alto**, quella di arrivo **in basso**. - Con la matrice associata ogni macchina diventa un prodotto: le coordinate dell'uscita sono la matrice per le coordinate dell'entrata. - La stessa macchina ha matrici diverse in basi diverse. L'identità, con la stessa base in partenza e in arrivo, ha sempre la matrice identità. - All'esame la matrice associata è una delle domande più frequenti del quiz. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Lo stesso spazio con nomi diversi: gli isomorfismi (p. 74) Nella lezione L14 hai visto le macchine lineari, con il loro nucleo (quello che si perde) e la loro immagine (quello che esce). Qui la domanda è: quando due spazi diversi si comportano **esattamente allo stesso modo**? Una convenzione di scrittura, come nelle dispense: i vettori di $\K^n$ sono **colonne**. Nel testo, per risparmiare spazio, li scriviamo spesso in riga, come $(1, 2)$. Negli appelli trovi anche la scrittura ${}^t(1, 2)$, «la trasposta della riga $(1, 2)$», che è di nuovo la colonna. ### Un dizionario tra polinomi e liste di numeri Prendi i polinomi di grado al massimo 2, come $1 + 2x + 3x^2$. Ognuno è deciso dai suoi tre numeri, quindi lo posso abbinare alla lista $(1, 2, 3)$. Guarda che cosa succede ai conti: | Con i polinomi | Con le liste di numeri | |---|---| | $p = 1 + 2x + 3x^2$ | $(1, 2, 3)$ | | $q = -1 + x^2$ | $(-1, 0, 1)$ | | $p + q = 2x + 4x^2$ | $(1, 2, 3) + (-1, 0, 1) = (0, 2, 4)$ | | $2q = -2 + 2x^2$ | $2 \cdot (-1, 0, 1) = (-2, 0, 2)$ | Sommare i polinomi e poi prendere i numeri dà lo stesso risultato che prendere i numeri e poi sommare le liste. Lo stesso per i multipli. E il dizionario è **perfetto**: a ogni polinomio corrisponde una sola lista, e a ogni lista un solo polinomio. Per l'algebra lineare i polinomi di grado al massimo 2 e le liste di tre numeri sono **lo stesso spazio con nomi diversi**. Il nome tecnico è *isomorfi*, dal greco «della stessa forma». ### Le parole che servono Ricorda tre parole sulle funzioni, che vedi meglio in Matematica Discreta. Una funzione $f : V \to W$ è: - **iniettiva** se entrate diverse danno sempre uscite diverse. Per una macchina lineare vuol dire che il nucleo contiene solo lo zero (Proposizione 14.11); - **suriettiva** se ogni vettore di $W$ esce da qualche entrata, cioè l'immagine è tutto $W$; - **biettiva** se è tutte e due le cose. Allora ogni vettore di $W$ esce da **una e una sola** entrata, e c'è una macchina che fa il percorso al contrario: l'**inversa** $f^{-1}$, «effe alla meno uno». Le dispense chiamano isomorfismo una macchina lineare di questo tipo. > [!DEF] 15.1 · Isomorfismo e spazi isomorfi > Un'applicazione lineare $f : V \to W$ è un **isomorfismo** se è biettiva. (Ricordiamo che una funzione $f$ è biettiva se e solo se è contemporaneamente iniettiva e suriettiva.) > > Diciamo che due spazi vettoriali $V$ e $W$ sullo stesso campo $\K$ sono **isomorfi** se esiste un isomorfismo $f : V \to W$. **Come si legge.** - Un isomorfismo è prima di tutto una macchina **lineare**. Una funzione biettiva ma non lineare non è un isomorfismo. - «Biettiva» si controlla in due metà: il nucleo è solo lo zero (iniettiva) e l'immagine è tutto lo spazio di arrivo (suriettiva). - «Sullo stesso campo»: si confrontano spazi con gli stessi numeri, per esempio due spazi reali. - Due spazi sono isomorfi quando esiste **almeno un** dizionario perfetto tra loro, anche se tante altre macchine tra gli stessi spazi non lo sono. > [!ESEMPIO] · tre macchine, un solo isomorfismo > **(a)** $f(x, y) = (2x + y,\ x + y)$, dal piano al piano. È la macchina della matrice $A = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$. > - Nucleo: $2x + y = 0$ e $x + y = 0$. Togliendo la seconda dalla prima resta $x = 0$, e poi $y = 0$. Il nucleo è solo lo zero: iniettiva. > - Per il teorema della dimensione l'immagine ha dimensione $2 - 0 = 2$: è tutto il piano, quindi suriettiva. > > È un **isomorfismo**. > > **(b)** La derivata $D$, dai polinomi di grado al massimo 2 a sé stessi. La derivata del polinomio costante 5 è 0, quindi 5 sta nel nucleo: $D$ **non** è iniettiva e non è un isomorfismo. Non è nemmeno suriettiva: la derivata ha grado al massimo 1, quindi $x^2$ non esce mai. > > **(c)** $g(x, y) = (x, y, 0)$, dal piano allo spazio. È iniettiva: se $(x, y, 0) = (0, 0, 0)$ allora $x = y = 0$. Ma non è suriettiva: $(0, 0, 1)$ non esce mai. **Non** è un isomorfismo. ::: prova La macchina $f(x, y) = (x + y,\ x + y)$ è un isomorfismo? No: $f(1, -1) = (0, 0)$, quindi $(1, -1)$ sta nel nucleo e la macchina non è iniettiva. ::: ### La macchina che torna indietro è lineare Ecco l'inversa dell'esempio (a). Per trovare $f^{-1}(a, b)$ cerco l'entrata $(x, y)$ con $f(x, y) = (a, b)$: $$\begin{cases} 2x + y = a \\ x + y = b \end{cases}$$ Togliendo la seconda dalla prima: $x = a - b$. Poi $y = b - x = -a + 2b$. Quindi $$f^{-1}(a, b) = (a - b,\ -a + 2b),$$ che è di nuovo lineare: è la macchina della matrice inversa $A^{-1} = \begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix}$ (lezione L10). Controllo: $f(3, 1) = (7, 4)$ e $f^{-1}(7, 4) = (7 - 4,\ -7 + 8) = (3, 1)$. Succede sempre. Le dispense lo scrivono così. > [!PROP] 15.2 > Se una funzione lineare $f : V \to W$ è biettiva, l'inversa $f^{-1} : W \to V$ è anch'essa lineare. **Come si legge.** Se un dizionario perfetto rispetta somme e multipli in un verso, li rispetta anche nell'altro. > [!DIM] della Proposizione 15.2 (dal libro di Martelli, §4.2.5; le dispense non la riportano) > Siano $w, w'$ due vettori di $W$ e $\lambda$ un numero. Chiamo $v = f^{-1}(w)$ e $v' = f^{-1}(w')$, cioè $f(v) = w$ e $f(v') = w'$. > 1. **Somma.** Per la linearità di $f$: $f(v + v') = f(v) + f(v') = w + w'$. Quindi $v + v'$ è *il* vettore che $f$ manda in $w + w'$: $f^{-1}(w + w') = v + v' = f^{-1}(w) + f^{-1}(w')$. > 2. **Multipli.** $f(\lambda v) = \lambda f(v) = \lambda w$, quindi $f^{-1}(\lambda w) = \lambda v = \lambda f^{-1}(w)$. > > In ogni passo si usa che $f$ è biettiva: il vettore che va in $w + w'$, o in $\lambda w$, è **unico**, quindi è proprio quello trovato. ### Che cosa dicono le dimensioni Una macchina dal piano allo spazio non può produrre tutto lo spazio: l'immagine ha dimensione al massimo 2. Una macchina dallo spazio al piano deve perdere qualcosa: il nucleo ha dimensione almeno $3 - 2 = 1$. Le dispense lo scrivono così. > [!PROP] 15.3 > Sia $f : V \to W$ un'applicazione lineare. > 1. Se $f$ è iniettiva, allora $\dim V \le \dim W$. (Infatti $\dim V = \dim \Imm f \le \dim W$.) > 2. Se $f$ è suriettiva, allora $\dim V \ge \dim W$. (Infatti $\dim V \ge \dim \Imm f = \dim W$.) > 3. Se $f$ è un isomorfismo, allora $\dim V = \dim W$. (Dai due punti precedenti.) **Come si legge.** Le spiegazioni tra parentesi usano il **teorema della dimensione** della lezione L14: quello che entra è uguale a quello che si perde più quello che esce, $\dim V = \dim \Ker f + \dim \Imm f$. 1. Se $f$ è iniettiva, non si perde niente: il nucleo ha dimensione 0, quindi $\dim V$ è la dimensione dell'immagine. E l'immagine sta dentro $W$, quindi non è più grande di $W$. 2. Se $f$ è suriettiva, l'immagine è tutto $W$, quindi $\dim V = \dim \Ker f + \dim W$, che è almeno $\dim W$. 3. Un isomorfismo è tutte e due le cose, quindi valgono tutte e due le disuguaglianze. In pratica, **guardando solo le dimensioni** si escludono molte cose: | Dimensioni | Può essere iniettiva? | Può essere suriettiva? | Può essere un isomorfismo? | |---|---|---|---| | partenza più piccola (per esempio dal piano allo spazio) | sì | **mai** | **mai** | | partenza più grande (per esempio da 4 a 2 dimensioni) | **mai** | sì | **mai** | | stessa dimensione | sì | sì | sì | > [!TRAPPOLA] Le dimensioni escludono, non garantiscono > Partire da uno spazio più piccolo **non** basta per essere iniettiva. La macchina nulla dal piano allo spazio, che manda tutto in zero, ha partenza più piccola ma nucleo uguale a tutto il piano. La Proposizione 15.3 dice solo che cosa succede **se** $f$ è iniettiva, o suriettiva. Per dimostrare che una macchina precisa è iniettiva bisogna calcolare il nucleo. ::: prova Una macchina lineare va da uno spazio di dimensione 5 a uno di dimensione 3. Può essere iniettiva? Può essere suriettiva? Iniettiva no: il nucleo ha dimensione almeno $5 - 3 = 2$. Suriettiva sì, può esserlo. ::: ### Stessa dimensione, spazi isomorfi Vale anche il contrario dell'ultimo punto. Le dispense lo scrivono così. > [!PROP] 15.4 > Siano $V$ e $W$ due spazi vettoriali di dimensione finita. Allora > $$V \text{ e } W \text{ sono isomorfi} \iff \dim V = \dim W.$$ > In particolare, tutti gli spazi vettoriali su $\K$ di dimensione $n$ sono isomorfi a $\K^n$. **Come si legge.** Due spazi sono lo stesso spazio con nomi diversi esattamente quando hanno la stessa dimensione. In particolare ogni spazio di dimensione $n$ è, a parte i nomi, lo spazio delle liste di $n$ numeri. Le dispense dicono anche quale dizionario usare: quello che manda ogni vettore nelle sue **coordinate** rispetto a una base (lezione L13, Definizione 13.5). Questo dizionario **dipende dalla base** scelta. > [!ESEMPIO] · lo stesso polinomio, due coordinate diverse > Tra i polinomi di grado al massimo 2 prendi la base canonica $\mathcal B = \{1, x, x^2\}$ e la base $\mathcal B' = \{1,\ x - 1,\ (x - 1)^2\}$. Il polinomio $x^2$ ha coordinate $(0, 0, 1)$ rispetto a $\mathcal B$. Rispetto a $\mathcal B'$ cerco $a$, $b$, $c$ con > $$x^2 = a \cdot 1 + b\,(x - 1) + c\,(x - 1)^2 = (a - b + c) + (b - 2c)\,x + c\,x^2.$$ > Confronto i numeri davanti alle potenze: > 1. davanti a $x^2$: $c = 1$; > 2. davanti a $x$: $b - 2c = 0$, quindi $b = 2$; > 3. termine noto: $a - b + c = 0$, quindi $a = 1$. > > Le coordinate sono $(1, 2, 1)$. Controllo: $1 + 2(x - 1) + (x - 1)^2 = 1 + 2x - 2 + x^2 - 2x + 1 = x^2$. > > Le due basi danno due dizionari diversi: il primo traduce $x^2$ in $(0, 0, 1)$, il secondo in $(1, 2, 1)$. Alcune coppie di spazi isomorfi che incontrerai spesso: | Spazio | Dimensione | È isomorfo a | |---|--:|---| | $\R_n[x]$ (polinomi di grado al massimo $n$) | $n + 1$ | $\R^{n+1}$ | | $M(m, n, \R)$ (matrici $m \times n$) | $mn$ | $\R^{mn}$ | | $M(2, \R)$ | 4 | $\R^4$, e anche $\R_3[x]$ | | $\C$ visto come spazio **sui reali** | 2 | $\R^2$ (il piano dei numeri complessi, lezione L02) | | il piano $\{(x, y, z) \in \R^3 \mid x + y + z = 0\}$ | 2 | $\R^2$ | > [!OLTRE] come si costruisce il dizionario, e una scorciatoia utile > **Perché stessa dimensione basta** (Martelli, Proposizione 4.2.30). Supponi che $V$ e $W$ abbiano tutti e due dimensione $n$. Scegli una base di $V$, $v_1, \dots, v_n$, e una base di $W$, $w_1, \dots, w_n$. Definisci la macchina mandando $v_i$ in $w_i$ e ogni ricetta nella ricetta con le stesse dosi: $f(\lambda_1 v_1 + \dots + \lambda_n v_n) = \lambda_1 w_1 + \dots + \lambda_n w_n$ (Martelli, Proposizione 4.1.18). L'immagine contiene tutti i $w_i$, quindi è tutto $W$; per il teorema della dimensione il nucleo ha dimensione $n - n = 0$. Quindi $f$ è biettiva. > > **La scorciatoia** (Martelli, Proposizione 4.2.24). Se partenza e arrivo hanno la stessa dimensione, per una macchina lineare «iniettiva», «suriettiva» e «isomorfismo» vogliono dire la stessa cosa: basta controllarne una (esercizio 15). Per la macchina di una matrice quadrata: è un isomorfismo esattamente quando il determinante non è zero, cioè quando il rango è $n$. > [!RICORDA] > - Un isomorfismo è una macchina lineare biettiva: un dizionario perfetto. La sua inversa è lineare. > - Due spazi sono isomorfi esattamente quando hanno la stessa dimensione. > - Partenza più piccola: mai suriettiva. Partenza più grande: mai iniettiva. ## Coordinate di un vettore (p. 74) Tutto il resto della lezione usa le coordinate, quindi rivediamole con calma. Con una base $\mathcal B = \{v_1, \dots, v_n\}$, ogni vettore $v$ ha **una sola** ricetta (Proposizione 13.4): $$v = \lambda_1 v_1 + \dots + \lambda_n v_n.$$ Le dosi, scritte in colonna, sono il **vettore delle coordinate** di $v$ rispetto a $\mathcal B$: $$[v]_{\mathcal B} = \begin{pmatrix} \lambda_1 \\ \vdots \\ \lambda_n \end{pmatrix}.$$ > [!ESEMPIO] · coordinate in una base non canonica del piano > Sia $\mathcal B = \{v_1, v_2\}$ con $v_1 = (1, 1)$ e $v_2 = (1, -1)$, e sia $v = (3, 1)$. Cerco le dosi con $\lambda_1 (1, 1) + \lambda_2 (1, -1) = (3, 1)$: > $$\begin{cases} \lambda_1 + \lambda_2 = 3 \\ \lambda_1 - \lambda_2 = 1 \end{cases}$$ > Sommando le equazioni: $2\lambda_1 = 4$, cioè $\lambda_1 = 2$; poi $\lambda_2 = 3 - 2 = 1$. Quindi $[v]_{\mathcal B} = (2, 1)$: per arrivare in $v$ si fanno due passi lungo $v_1$ e uno lungo $v_2$. ```grafico titolo: $v = (3, 1)$ ha coordinate $(2, 1)$ rispetto a $\mathcal B = \{v_1, v_2\}$ x: -1 4 y: -2 3 freccia: 0 0 2 2 | accento | tratteggio | $2v_1$ | no freccia: 2 2 3 1 | blu | tratteggio | $+\,v_2$ | ne vettore: 1 1 | accento | spesso | $v_1$ | se vettore: 1 -1 | blu | spesso | $v_2$ | se vettore: 3 1 | ambra | spesso | $v = 2v_1 + v_2$ | se ``` > [!TRAPPOLA] L'ordine dei vettori della base conta > Per le coordinate una base è una lista **in ordine**. Con $\mathcal B' = \{v_2, v_1\}$, stessi vettori in ordine scambiato, lo stesso $v$ ha coordinate $(1, 2)$. Per questo, anche se si scrive con le graffe, $\mathcal B = \{v_1, \dots, v_n\}$ va letta come una lista in quell'ordine. ::: prova Quali sono le coordinate di $(5, 1)$ nella base $(1, 1), (1, -1)$? $\lambda_1 + \lambda_2 = 5$ e $\lambda_1 - \lambda_2 = 1$. Sommando: $\lambda_1 = 3$, poi $\lambda_2 = 2$. Coordinate $(3, 2)$; controllo: $3(1, 1) + 2(1, -1) = (5, 1)$. ::: > [!RICORDA] > - Le coordinate rispetto a una base sono le dosi della ricetta, scritte in colonna, nell'ordine della base. > - Si trovano risolvendo un sistema. ## La macchina scritta con i numeri (pp. 74–75) Nella lezione L14 hai visto che una macchina lineare rispetta le ricette: $$f(\lambda_1 v_1 + \dots + \lambda_n v_n) = \lambda_1 f(v_1) + \dots + \lambda_n f(v_n).$$ Quindi, se sai dove vanno i vettori di una base, sai dove va **tutto**. Ogni uscita $f(v_j)$ è un vettore dello spazio di arrivo, e la scrivo con le sue coordinate rispetto a una base di arrivo. Ottengo una colonna di numeri per ogni vettore della base di partenza: una tabella. Questa tabella è la matrice associata. Un esempio piccolo. La macchina $f(x, y) = (x + 2y,\ 3y)$, con le basi canoniche: 1. $f(1, 0) = (1, 0)$: è la prima colonna; 2. $f(0, 1) = (2, 3)$: è la seconda colonna. La matrice è $\begin{pmatrix} 1 & 2 \\ 0 & 3 \end{pmatrix}$: nelle colonne c'è scritto dove vanno i vettori della base. Le dispense scrivono la definizione così. > [!DEF] 15.5 · Matrice associata > Sia $f : V \to W$ un'applicazione lineare fra spazi vettoriali definiti su $\K$. Siano inoltre > $$\mathcal B = \{v_1, \dots, v_n\}, \qquad \mathcal C = \{w_1, \dots, w_m\}$$ > due basi rispettivamente di $V$ e di $W$. Sappiamo che > $$\begin{aligned} f(v_1) &= a_{11} w_1 + \dots + a_{m1} w_m, \\ &\ \ \vdots \\ f(v_n) &= a_{1n} w_1 + \dots + a_{mn} w_m \end{aligned}$$ > per qualche insieme di coefficienti $a_{ij} \in \K$. Definiamo la **matrice associata** a $f$ nelle basi $\mathcal B$ e $\mathcal C$ come la matrice $m \times n$ > $$A = (a_{ij})$$ > che raggruppa questi coefficienti, e la indichiamo con il simbolo $A = [f]^{\mathcal B}_{\mathcal C}$. **Come si legge.** - **Taglia**: tante **righe** quanta è la dimensione dello spazio **di arrivo**, tante **colonne** quanta è la dimensione dello spazio **di partenza**. - **Il numero $a_{ij}$** è la coordinata numero $i$ dell'uscita $f(v_j)$. L'indice $j$ dice quale vettore della base di partenza entra; l'indice $i$ dice quale coordinata dell'uscita stai leggendo. - **La scrittura** $[f]^{\mathcal B}_{\mathcal C}$ ricorda che la matrice dipende da tre cose: la macchina e le due basi. La base di partenza $\mathcal B$ sta **in alto**, quella di arrivo $\mathcal C$ **in basso**. - **La colonna $j$**, che le dispense chiamano $A^j$, contiene le coordinate di $f(v_j)$ rispetto a $\mathcal C$: $$A^j = \begin{pmatrix} a_{1j} \\ \vdots \\ a_{mj} \end{pmatrix} = [f(v_j)]_{\mathcal C}.$$ > [!TRAPPOLA] Le coordinate vanno in colonna, non in riga > Nella definizione la prima equazione, quella di $f(v_1)$, riempie la **prima colonna**. Se scrivi le coordinate di $f(v_1)$ nella prima **riga** ottieni la trasposta, che è sbagliata. Negli appelli la trasposta compare quasi sempre tra le risposte sbagliate. > [!METODO] La matrice associata in tre passi > 1. Calcola le uscite $f(v_1), \dots, f(v_n)$ dei vettori della base **di partenza**, nell'ordine dato. > 2. Scrivi ogni uscita con le coordinate rispetto alla base **di arrivo** $\mathcal C$. Se $\mathcal C$ è la base canonica, le coordinate sono i numeri stessi del vettore; altrimenti risolvi un sistema. > 3. Metti le coordinate di $f(v_j)$ nella colonna $j$. > > Controllo veloce: la matrice deve avere tante righe quanta è la dimensione di arrivo e tante colonne quanta è quella di partenza. ::: prova Qual è la matrice di $f(x, y) = (3x - y,\ x + 2y)$ con le basi canoniche? $f(1, 0) = (3, 1)$ è la prima colonna, $f(0, 1) = (-1, 2)$ la seconda: $\begin{pmatrix} 3 & -1 \\ 1 & 2 \end{pmatrix}$. ::: ### Il caso delle basi canoniche Con le basi canoniche la matrice di una macchina data da una matrice è la matrice stessa. Le dispense lo scrivono così. > [!ESEMPIO] 15.6 · La matrice di $L_A$ > La matrice associata a $L_A$ rispetto alle basi canoniche di $\K^n$ e $\K^m$ è proprio $A$. Infatti, per costruzione, $f(e_j) = a_{1j} e_1 + \dots + a_{mj} e_m$. Con i numeri: $A = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 1 & 3 \end{pmatrix}$ dà la macchina $L_A$ dallo spazio al piano. $L_A(e_1) = Ae_1$ è la prima colonna di $A$, cioè $(1, 0)$; nella base canonica le sue coordinate sono $(1, 0)$, e finiscono nella prima colonna. Lo stesso per $e_2$ ed $e_3$: si ritrova $A$. Per questo, con le basi canoniche, la matrice di $f(x, y, z) = (x + 2y,\ y + 3z)$ si legge dai numeri davanti alle lettere: prima riga $1, 2, 0$, seconda riga $0, 1, 3$. ### Un esempio con i polinomi Ecco l'esempio delle dispense: una macchina che prende un polinomio e restituisce due numeri. > [!ESEMPIO] 15.7 · Valori di un polinomio in $2$ e in $-2$ > Prendiamo l'applicazione lineare > $$f : \R_2[x] \longrightarrow \R^2, \qquad f(p) = \begin{pmatrix} p(2) \\ p(-2) \end{pmatrix}$$ > che assegna a ogni polinomio i suoi valori in $2$ e in $-2$. Scriviamo la matrice associata a $f$ nelle basi canoniche $\mathcal B = \{1, x, x^2\}$ di $\R_2[x]$ e $\mathcal C = \{e_1, e_2\}$ di $\R^2$. > > **Passo 1**, le immagini della base di partenza: > - $p = 1$ (il polinomio costante): $p(2) = 1$ e $p(-2) = 1$, quindi $f(1) = (1, 1)$; > - $p = x$: $p(2) = 2$ e $p(-2) = -2$, quindi $f(x) = (2, -2)$; > - $p = x^2$: $p(2) = 4$ e $p(-2) = (-2)^2 = 4$, quindi $f(x^2) = (4, 4)$. > > **Passo 2**: la base di arrivo è quella canonica, quindi le coordinate sono le componenti stesse. > > **Passo 3**, le tre colonne una accanto all'altra: > $$[f]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & 2 & 4 \\ 1 & -2 & 4 \end{pmatrix}.$$ > È $2 \times 3$: $\dim \R^2 = 2$ righe, $\dim \R_2[x] = 3$ colonne. ### Stessa macchina, altra base in arrivo Ora la stessa macchina, ma con un'altra base in arrivo. Cambia solo il passo 2. > [!ESEMPIO] 15.8 · Cambiamo la base di arrivo > Prendiamo l'applicazione lineare $f$ e la base $\mathcal B$ come nell'esempio precedente, ma in arrivo prendiamo la base > $$\mathcal C' = \left\{ \begin{pmatrix} 1 \\ -1 \end{pmatrix}, \begin{pmatrix} 0 \\ 1 \end{pmatrix} \right\}$$ > invece della base canonica $\mathcal C$. Le immagini sono le stesse di prima; cambia il passo 2: bisogna calcolare le coordinate di ciascuna immagine rispetto a $\mathcal C'$, cioè trovare $a, b$ con $a (1, -1) + b (0, 1) = (a,\ -a + b)$ uguale all'immagine. > - $f(1) = (1, 1)$: prima componente $a = 1$; seconda $-1 + b = 1$, quindi $b = 2$. Quindi $(1, 1) = 1 \cdot (1, -1) + 2 \cdot (0, 1)$. > - $f(x) = (2, -2)$: $a = 2$; $-2 + b = -2$, quindi $b = 0$. Quindi $(2, -2) = 2 \cdot (1, -1) + 0 \cdot (0, 1)$. > - $f(x^2) = (4, 4)$: $a = 4$; $-4 + b = 4$, quindi $b = 8$. Quindi $(4, 4) = 4 \cdot (1, -1) + 8 \cdot (0, 1)$. > > La matrice associata diventa quindi > $$[f]^{\mathcal B}_{\mathcal C'} = \begin{pmatrix} 1 & 2 & 4 \\ 2 & 0 & 8 \end{pmatrix}.$$ La stessa macchina ha due matrici diverse: **la matrice associata dipende dalle basi**. È come descrivere la stessa cosa in due lingue diverse. Nella lezione L16 vedrai la formula che passa da una all'altra con un prodotto di matrici. Nell'esercizio 9 trovi una terza base di arrivo che rende la matrice più semplice. Per risolvere i sistemi del passo 2 puoi usare lo strumento qui sotto. È già impostato sul sistema dell'Esercizio 15.13 delle dispense (esercizio 12): le prime tre colonne sono i vettori $w_1 = (1, 1, 0)$, $w_2 = (0, 1, 1)$, $w_3 = (1, 0, 1)$ della base di arrivo, l'ultima è il vettore $f(v_1) = (0, 2, 1)$ di cui cerchi le coordinate. La soluzione $(x_1, x_2, x_3)$ è la colonna $[f(v_1)]_{\mathcal C}$. Prova poi a cambiare l'ultima colonna in $(2, 2, -1)$ per ottenere la seconda colonna della matrice. ```widget gauss titolo: Coordinate rispetto alla base di arrivo = soluzione di un sistema matrice: 1 0 1 0; 1 1 0 2; 0 1 1 1 modo: sistema modi: sistema, nucleo ``` > [!RICORDA] > - Nella colonna $j$ della matrice associata ci sono le coordinate, rispetto alla base di arrivo, di dove va il vettore $j$ della base di partenza. > - Righe = dimensione di arrivo, colonne = dimensione di partenza. Partenza in alto, arrivo in basso. > - La matrice cambia se cambiano le basi. ## Far lavorare la macchina con la matrice (pp. 76–77) Con la matrice associata si calcola l'uscita di qualsiasi vettore: basta un prodotto riga per colonna (lezione L08). Le dispense lo scrivono così. > [!PROP] 15.9 > Per ogni $v \in V$ troviamo > $$[f(v)]_{\mathcal C} = [f]^{\mathcal B}_{\mathcal C} \cdot [v]_{\mathcal B}.$$ **Come si legge.** Per trovare le coordinate dell'uscita rispetto alla base di arrivo, si moltiplica la matrice associata per le coordinate dell'entrata rispetto alla base di partenza. Il perché, con i passaggi delle dispense: 1. Scrivo $v$ nella base $\mathcal B$: $v = \lambda_1 v_1 + \dots + \lambda_n v_n$, quindi $[v]_{\mathcal B} = (\lambda_1, \dots, \lambda_n)$. 2. La macchina rispetta le ricette: $f(v) = \lambda_1 f(v_1) + \dots + \lambda_n f(v_n)$. 3. Anche il passaggio alle coordinate rispetta le ricette: è il dizionario della Proposizione 15.4. Quindi $$[f(v)]_{\mathcal C} = \lambda_1 [f(v_1)]_{\mathcal C} + \dots + \lambda_n [f(v_n)]_{\mathcal C}.$$ 4. Ma $[f(v_j)]_{\mathcal C}$ è la colonna $j$ della matrice associata. E una ricetta con le colonne, con dosi $\lambda_1, \dots, \lambda_n$, è proprio il prodotto della matrice per la colonna delle dosi: la riga $i$ del prodotto è $a_{i1}\lambda_1 + \dots + a_{in}\lambda_n$. > [!OSSERVAZIONE] Ogni applicazione lineare, in coordinate, è una $L_A$ > Se scriviamo $x = [v]_{\mathcal B}$, $A = [f]^{\mathcal B}_{\mathcal C}$ e $y = [f(v)]_{\mathcal C}$, allora > $$y = Ax = L_A(x).$$ > Questo vuol dire che, dopo aver scelto due basi per $V$ e $W$, qualsiasi applicazione lineare $V \to W$ può essere interpretata in coordinate come un'applicazione del tipo $L_A : \K^n \to \K^m$. È sufficiente sostituire i vettori $v$ e $f(v)$ con le loro coordinate $x$ e $y$, e usare la matrice associata $A$. Lo schema qui sotto riassume l'osservazione: da $v$ alle coordinate di $f(v)$ ci sono due strade, e il risultato è lo stesso. In alto si lavora con i vettori veri (polinomi, matrici, …), in basso solo con colonne di numeri. ```grafico titolo: Due strade, stesso risultato: prima $f$ poi le coordinate, oppure prima le coordinate poi $A$ assi: no griglia: no x: 0 10 y: 0 4.4 testo: 2 3.6 | $v \in V$ testo: 8 3.6 | $f(v) \in W$ testo: 2 0.8 | $[v]_{\mathcal B} \in \K^n$ testo: 8 0.8 | $[f(v)]_{\mathcal C} \in \K^m$ freccia: 3.1 3.6 6.8 3.6 | accento | spesso freccia: 3.4 0.8 6.5 0.8 | blu | spesso freccia: 2 3.1 2 1.3 | grigio freccia: 8 3.1 8 1.3 | grigio testo: 4.95 4.05 | accento | $f$ testo: 4.95 0.35 | blu | $A = [f]^{\mathcal B}_{\mathcal C}$ testo: 3.1 2.2 | "coordinate" testo: 6.9 2.2 | "coordinate" ``` > [!ESEMPIO] 15.10 · L'immagine di un polinomio calcolata con la matrice > Riprendiamo la matrice associata rispetto alle basi canoniche > $$[f]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & 2 & 4 \\ 1 & -2 & 4 \end{pmatrix}.$$ > Usiamola per calcolare in coordinate l'immagine di $p(x) = 3x^2 + 5x + 1$, che ha come coordinate rispetto a $\mathcal B = \{1, x, x^2\}$ i suoi coefficienti **in ordine inverso**: $[p]_{\mathcal B} = (1, 5, 3)$. Quindi $f(p)$ ha coordinate > $$\begin{pmatrix} 1 & 2 & 4 \\ 1 & -2 & 4 \end{pmatrix} \begin{pmatrix} 1 \\ 5 \\ 3 \end{pmatrix} = \begin{pmatrix} 1 \cdot 1 + 2 \cdot 5 + 4 \cdot 3 \\ 1 \cdot 1 - 2 \cdot 5 + 4 \cdot 3 \end{pmatrix} = \begin{pmatrix} 1 + 10 + 12 \\ 1 - 10 + 12 \end{pmatrix} = \begin{pmatrix} 23 \\ 3 \end{pmatrix}.$$ > Verifichiamo con la definizione di $f$: $p(2) = 3 \cdot 4 + 5 \cdot 2 + 1 = 23$ e $p(-2) = 3 \cdot 4 - 10 + 1 = 3$. Quindi $f(p) = (23, 3)$. > [!NOTA] Un rimando da correggere > Nelle dispense, a p. 77, l'Esempio 15.10 comincia con «Nell'Esempio 15.8 sopra, abbiamo ottenuto la matrice associata … rispetto alle basi canoniche». La matrice rispetto alle basi canoniche, $\begin{pmatrix} 1 & 2 & 4 \\ 1 & -2 & 4 \end{pmatrix}$, è quella dell'Esempio **15.7**; l'Esempio 15.8 usa in arrivo la base $\mathcal C'$. > [!ESEMPIO] · lo stesso conto con la base $\mathcal C'$ > Con la matrice dell'Esempio 15.8: > $$[f(p)]_{\mathcal C'} = \begin{pmatrix} 1 & 2 & 4 \\ 2 & 0 & 8 \end{pmatrix} \begin{pmatrix} 1 \\ 5 \\ 3 \end{pmatrix} = \begin{pmatrix} 1 + 10 + 12 \\ 2 + 0 + 24 \end{pmatrix} = \begin{pmatrix} 23 \\ 26 \end{pmatrix}.$$ > Attenzione: $(23, 26)$ **non** è $f(p)$, sono le sue coordinate rispetto a $\mathcal C'$. Per tornare al vettore si rifà la ricetta: $23 \cdot (1, -1) + 26 \cdot (0, 1) = (23,\ -23 + 26) = (23, 3)$. Stesso risultato di prima, come deve essere. > [!TRAPPOLA] Coordinate o vettore? > Il prodotto della matrice per le coordinate dà le **coordinate** dell'uscita rispetto a $\mathcal C$. Coincidono con l'uscita solo se $\mathcal C$ è la base canonica. E prima di moltiplicare bisogna mettere l'entrata **in coordinate** rispetto a $\mathcal B$: per un polinomio, i numeri nell'ordine della base (per $\{1, x, x^2\}$: termine noto, poi $x$, poi $x^2$). ::: prova Con la matrice $\begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$ e le basi canoniche, dove va $(3, 1)$? $\begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 3 \\ 1 \end{pmatrix} = \begin{pmatrix} 3 + 2 \\ 0 + 1 \end{pmatrix} = \begin{pmatrix} 5 \\ 1 \end{pmatrix}$. ::: > [!RICORDA] > - Coordinate dell'uscita = matrice associata per coordinate dell'entrata. > - Se la base di arrivo non è quella canonica, alla fine si rifà la ricetta per avere il vettore vero. ## La macchina che non fa niente (p. 77) La macchina identità lascia ogni vettore com'è. Con la stessa base in partenza e in arrivo, ogni vettore della base va in sé stesso. Le dispense lo scrivono così. > [!PROP] 15.11 > Sia $\mathcal B$ una qualsiasi base di uno spazio $V$ di dimensione $n$. Troviamo > $$[\id]^{\mathcal B}_{\mathcal B} = I_n.$$ **Come si legge.** L'identità, con la stessa base in partenza e in arrivo, ha come matrice la matrice identità: 1 sulla diagonale e 0 altrove. Il motivo: $\id(v_j) = v_j = 0 \cdot v_1 + \dots + 1 \cdot v_j + \dots + 0 \cdot v_n$. Quindi nella colonna $j$ c'è un 1 al posto $j$ e zeri altrove. Tutte le colonne insieme formano la matrice identità. > [!TRAPPOLA] Con due basi diverse l'identità non ha la matrice identità > La Proposizione 15.11 chiede la **stessa** base in partenza e in arrivo. Con $\mathcal B = \{(1, 1), (1, -1)\}$ in partenza e la base canonica $\mathcal C$ in arrivo, le colonne sono $[\id(v_1)]_{\mathcal C} = (1, 1)$ e $[\id(v_2)]_{\mathcal C} = (1, -1)$: > $$[\id]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \neq I_2.$$ > Questa è una **matrice di cambiamento di base**, il tema della lezione L16: la stessa cosa detta in due lingue. ::: prova Qual è la matrice dell'identità dei polinomi di grado al massimo 2, con la base $\{1, x, x^2\}$ in partenza e in arrivo? La matrice identità $3 \times 3$: ogni polinomio della base va in sé stesso. ::: > [!RICORDA] > - Con la stessa base in partenza e in arrivo, l'identità ha la matrice identità. > - Con due basi diverse no: è una matrice di cambiamento di base. ## Sommare macchine (pp. 77–78) Due macchine lineari con la stessa partenza e lo stesso arrivo si possono sommare: l'uscita della somma è la somma delle uscite. Con $f$ e $g$ e un numero $\lambda$: $$(f + g)(v) = f(v) + g(v), \qquad (\lambda f)(v) = \lambda f(v).$$ Con queste due operazioni tutte le macchine lineari tra $V$ e $W$ formano uno spazio vettoriale. Lo zero è la macchina nulla, e le regole della somma vengono da quelle di $W$. > [!ESEMPIO] · sommare macchine = sommare matrici > Siano $f(x, y) = (x + y,\ 0)$ e $g(x, y) = (x,\ y)$, dal piano al piano. Allora > $$(f + g)(x, y) = (x + y + x,\ 0 + y) = (2x + y,\ y), \qquad (3f)(x, y) = (3x + 3y,\ 0).$$ > Con le basi canoniche: $[f] = \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix}$, $[g] = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ e > $$[f + g] = \begin{pmatrix} 2 & 1 \\ 0 & 1 \end{pmatrix} = [f] + [g], \qquad [3f] = \begin{pmatrix} 3 & 3 \\ 0 & 0 \end{pmatrix} = 3\,[f].$$ Succede sempre. Le dispense lo scrivono così. > [!TEOREMA] 15.12 > Siano $V, W$ due spazi vettoriali di dimensione finita con basi $\mathcal A = \{v_1, \dots, v_n\}$, $\mathcal B = \{w_1, \dots, w_m\}$, rispettivamente. Allora l'insieme delle applicazioni lineari $f : V \to W$ è uno spazio vettoriale, e la mappa > $$f \longmapsto [f]^{\mathcal A}_{\mathcal B}$$ > dall'insieme delle applicazioni lineari $f : V \to W$ a $M(m, n, \K)$ è un isomorfismo. **Come si legge.** Attenzione: qui le basi si chiamano $\mathcal A$ e $\mathcal B$, con $\mathcal B$ base dello spazio di arrivo. Una volta scelte le basi, **macchine lineari e matrici sono la stessa cosa**: ogni macchina ha una sola matrice, e ogni matrice della taglia giusta è la matrice di una sola macchina. - **Rispetta le somme**: la colonna $j$ di $[f + g]$ è $[f(v_j) + g(v_j)]_{\mathcal B} = [f(v_j)]_{\mathcal B} + [g(v_j)]_{\mathcal B}$. Quindi $[f + g] = [f] + [g]$, e allo stesso modo $[\lambda f] = \lambda [f]$. È quello che hai visto nell'esempio. - **È iniettiva**: se la matrice è tutta di zeri, tutte le uscite $f(v_j)$ sono zero, e allora $f$ è la macchina nulla. - **È suriettiva**: ogni matrice è la matrice di qualche macchina. Basta decidere dove vanno i vettori della base, $f(v_j) = a_{1j} w_1 + \dots + a_{mj} w_m$, e mandare ogni ricetta nella ricetta con le stesse dosi. > [!APPROFONDIMENTO] Hom e la sua dimensione > Nel libro di Martelli (§4.3.4) l'insieme delle macchine lineari da $V$ a $W$ si chiama $\mathrm{Hom}(V, W)$, da «omomorfismo», un altro nome per applicazione lineare. Siccome è isomorfo allo spazio delle matrici $m \times n$, ha dimensione $mn$ (Corollario 4.3.12). Per esempio le macchine lineari dallo spazio al piano formano uno spazio di dimensione $2 \cdot 3 = 6$. Un modo per vedere la matrice associata in azione è lo strumento qui sotto: una matrice $2 \times 2$ come trasformazione del piano. Con $A = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$, l'isomorfismo dell'esempio (a), le colonne sono le uscite di $e_1$ ed $e_2$, e il quadrato di lato 1 diventa un parallelogramma di area $|\det A| = 1$. Prova poi a scrivere $A = \begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$: il piano si schiaccia su una retta, il nucleo non è più solo lo zero e la macchina non è un isomorfismo. ```widget matrice titolo: Una matrice $2 \times 2$ come applicazione lineare del piano a: 2 1; 1 1 x: 1 1 raggio: 4 ``` > [!OLTRE] dove trovarlo nel libro > Nel libro di Martelli: §4.2.5 «Isomorfismi» (pp. 127–128, con la dimostrazione della Proposizione 15.2 e la scorciatoia della Proposizione 4.2.24), §4.2.7 «Spazi vettoriali isomorfi» (p. 129), §4.3 «Matrice associata» fino a §4.3.4 «Hom» (pp. 130–135). Gli Esempi 4.3.2 e 4.3.3 del libro sono gli Esempi 15.7–15.8 e l'Esercizio 15.13 delle dispense. ::: prova Due macchine dal piano al piano hanno matrici $\begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix}$ e $\begin{pmatrix} 0 & 3 \\ 1 & 1 \end{pmatrix}$. Qual è la matrice della loro somma? La somma delle matrici, casella per casella: $\begin{pmatrix} 1 & 3 \\ 3 & 2 \end{pmatrix}$. ::: > [!RICORDA] > - Le macchine lineari si sommano e si moltiplicano per un numero, come le loro matrici. > - Scelte le basi, macchine lineari e matrici sono la stessa cosa. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $f : V \to W$ | «effe da vu a vu doppio» | la macchina $f$ parte da $V$ e arriva in $W$ | | | $f^{-1}$ | «effe alla meno uno» | la macchina inversa, che torna indietro | $f^{-1}(7, 4) = (3, 1)$ | | $\Ker f$, $\Imm f$ | «nucleo», «immagine» | quello che si perde, quello che esce (lezione L14) | | | $\cong$ | «è isomorfo a» | stesso spazio con nomi diversi | $\R_2[x] \cong \R^3$ | | $[v]_{\mathcal B}$ | «coordinate di v nella base B» | le dosi della ricetta, in colonna | | | $[f]^{\mathcal B}_{\mathcal C}$ | «matrice di f, da B a C» | la macchina scritta con i numeri; partenza in alto, arrivo in basso | | | $A^j$ | «a alla j» | la colonna $j$ della matrice | | | $L_A$ | «elle a» | la macchina che moltiplica per la matrice $A$ | $L_A(x) = Ax$ | | $\id$ | «identità» | la macchina che lascia tutto com'è | $[\id]^{\mathcal B}_{\mathcal B} = I_n$ | | $\mathrm{Hom}(V, W)$ | «hom di vu, vu doppio» | tutte le macchine lineari da $V$ a $W$ | dimensione $mn$ | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame** 1. **La matrice associata** è una delle domande più frequenti del quiz. Negli appelli 2023–2026 compare così: la matrice di una macchina dal piano al piano rispetto a una base non canonica (appelli del 24/01/2024, domanda 3, e del 15/01/2026, domanda 8); le coordinate dell'uscita di un vettore (05/02/2026, domanda 6); la matrice di due macchine una dopo l'altra (16/01/2025, domanda 5, che vedrai nella lezione L16). Il foglio 3 del tutorato, esercizi 4 e 5, allena proprio questo. 2. **Gli argomenti di dimensione** della Proposizione 15.3 danno la risposta in una riga: appello del 02/09/2025, domanda 5. 3. **Nei problemi aperti** si chiede spesso di scrivere la matrice di una macchina nella base canonica e di dire se è biettiva (appello del 10/07/2024, problema 11). Oppure si chiede di calcolare nucleo e immagine a partire dalla matrice. 4. **Tutta la parte sugli autovalori** (lezioni L17–L18) usa la matrice associata: per una macchina sui polinomi di grado al massimo 2 si lavora con la sua matrice $3 \times 3$. ### Una domanda vera, letta insieme **Appello del 15/01/2026, domanda 8.** Il testo: «La matrice associata a $T : \R^2 \to \R^2$, $T(x, y) = (2x, 3y)$, rispetto alla base $\mathcal B = \{(0, 1), (1, 2)\}$ è…». Si intende la stessa base in partenza e in arrivo. **In pratica chiede:** la macchina raddoppia la prima coordinata e triplica la seconda. Scritta con la base $(0, 1), (1, 2)$ invece che con quella canonica, che tabella diventa? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: dove vanno i vettori della base.** > - $T(0, 1) = (2 \cdot 0,\ 3 \cdot 1) = (0, 3)$; > - $T(1, 2) = (2 \cdot 1,\ 3 \cdot 2) = (2, 6)$. > > **Passo 2: le coordinate delle uscite rispetto alla stessa base.** Una ricetta con la base è $a(0, 1) + b(1, 2) = (b,\ a + 2b)$. > - Per $(0, 3)$: la prima coordinata dice $b = 0$, la seconda $a = 3$. Coordinate $(3, 0)$. > - Per $(2, 6)$: $b = 2$, poi $a + 4 = 6$, quindi $a = 2$. Coordinate $(2, 2)$. > > **Passo 3: le colonne.** > $$[T]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 3 & 2 \\ 0 & 2 \end{pmatrix}.$$ > > **Controllo** sulla seconda colonna: $2 \cdot (0, 1) + 2 \cdot (1, 2) = (2, 6)$. > > **Le due trappole classiche** tra le risposte: $\begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix}$ è la matrice nella base canonica; $\begin{pmatrix} 0 & 1 \\ 1 & 2 \end{pmatrix}$ ha i vettori della base, non le loro uscite. ### Altre due domande vere > [!ESAME] Appello del 05/02/2026, domanda 6 > *Data $T(x, y) = (3x,\ x + 2y)$ e la base $\mathcal B = \{v_1 = (0, 1),\ v_2 = (1, 1)\}$, il vettore di coordinate $[T(v_1)]_{\mathcal B}$ è …* > > **Soluzione.** > 1. $T(v_1) = T(0, 1) = (0, 2)$. > 2. Cerco $a$ e $b$ con $a(0, 1) + b(1, 1) = (b,\ a + b) = (0, 2)$: $b = 0$ e $a = 2$. > > Quindi $[T(v_1)]_{\mathcal B} = (2, 0)$. La risposta sbagliata più attraente era $(0, 2)$, cioè $T(v_1)$ stesso: ma la domanda chiede le **coordinate**. > [!ESAME] Appello del 02/09/2025, domanda 5 > *Sia $f : V \to W$ lineare con $\dim V = 4$ e $\dim W = 2$. Quale è necessariamente vera?* > > **Soluzione.** Per il teorema della dimensione il nucleo ha dimensione $4 - \dim \Imm f$, e l'immagine ha dimensione al massimo 2. Quindi il nucleo ha dimensione almeno 2, e non è mai solo lo zero: **$f$ non può essere iniettiva**. È il punto 1 della Proposizione 15.3 letto al contrario. Le altre risposte («deve essere suriettiva», «non può essere suriettiva», «deve essere iniettiva», «è un isomorfismo») sono false: la macchina nulla non è suriettiva, mentre $(x_1, x_2, x_3, x_4) \mapsto (x_1, x_2)$ lo è. **Errori da evitare.** - Scrivere le uscite **in riga** invece che in colonna: si ottiene la trasposta. - Mettere nella colonna l'uscita $f(v_j)$ invece delle sue **coordinate** rispetto alla base di arrivo. - Sbagliare la taglia: la matrice ha tante righe quanta è la dimensione di arrivo e tante colonne quanta è quella di partenza. - Cambiare l'ordine della base: l'ordine delle colonne segue la base di partenza, quello delle righe la base di arrivo. - Per i polinomi, dimenticare che le coordinate rispetto a $\{1, x, x^2\}$ sono i numeri **dal termine noto in su**. > [!ESAME] Il foglio da 4 facciate > Da questa lezione bastano tre righe: «colonna $j$ di $[f]^{\mathcal B}_{\mathcal C}$ = $[f(v_j)]_{\mathcal C}$, partenza in alto, arrivo in basso»; «$[f(v)]_{\mathcal C} = [f]^{\mathcal B}_{\mathcal C} [v]_{\mathcal B}$»; «iniettiva: partenza non più grande dell'arrivo; suriettiva: partenza non più piccola; isomorfi esattamente con la stessa dimensione». ## Quiz ```quiz D: Sia $f : \R^2 \to \R^3$ un'applicazione lineare. Quale affermazione è necessariamente vera? - $f$ deve essere iniettiva. + $f$ non può essere suriettiva. - $f$ non può essere iniettiva. - $f$ è un isomorfismo. - $f$ deve essere suriettiva. = L'immagine ha dimensione al massimo 2, quella del piano di partenza, mentre lo spazio di arrivo ha dimensione 3: l'immagine non è mai tutto lo spazio, quindi $f$ non è mai suriettiva (Proposizione 15.3, punto 2). La risposta più insidiosa è «deve essere iniettiva»: può esserlo, come $(x, y) \mapsto (x, y, 0)$, ma non deve, come la macchina nulla. Simile all'appello del 02/09/2025, domanda 5. D: Quale coppia di spazi vettoriali reali è formata da spazi isomorfi? + $\R_2[x]$ e $\R^3$ - $\R_2[x]$ e $\R^2$ - $M(2, \R)$ e $\R^3$ - $\R^2$ e $\R^3$ - $M(2, 3, \R)$ e $\R^5$ = Due spazi sono isomorfi esattamente quando hanno la stessa dimensione (Proposizione 15.4). I polinomi di grado al massimo 2 hanno dimensione 3, come $\R^3$. La risposta più insidiosa è $\R_2[x]$ e $\R^2$: chi conta 2 per i polinomi di grado 2 dimentica il termine noto. Nelle altre coppie le dimensioni sono 4 e 3, 2 e 3, 6 e 5. D: La matrice associata a $f : \R^3 \to \R^2$, $f(x, y, z) = (x - z,\ 2y + z)$, rispetto alle basi canoniche è: + $\begin{pmatrix} 1 & 0 & -1 \\ 0 & 2 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 \\ 0 & 2 \\ -1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & -1 \\ 2 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 & 1 \\ 0 & 2 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 & 0 \\ 0 & 1 & -1 \end{pmatrix}$ = Le colonne sono le uscite della base canonica: $f(e_1) = (1, 0)$, $f(e_2) = (0, 2)$, $f(e_3) = (-1, 1)$. La matrice è $2 \times 3$, perché si arriva nel piano partendo dallo spazio, e si legge dai numeri davanti alle lettere riga per riga. La risposta più insidiosa è la seconda, la trasposta, con le uscite messe in riga. La quarta sbaglia il segno di $-z$. D: La matrice della derivata $D : \R_2[x] \to \R_1[x]$, $D(p) = p'$, rispetto alle basi $\{1, x, x^2\}$ e $\{1, x\}$ è: + $\begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 2 \end{pmatrix}$ - $\begin{pmatrix} 0 & 0 \\ 1 & 0 \\ 0 & 2 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 2 \\ 0 & 0 & 0 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \end{pmatrix}$ - $\begin{pmatrix} 0 & 2 & 0 \\ 0 & 0 & 1 \end{pmatrix}$ = $D(1) = 0$ ha coordinate $(0, 0)$, $D(x) = 1$ ha coordinate $(1, 0)$, $D(x^2) = 2x$ ha coordinate $(0, 2)$: sono le tre colonne. La taglia è $2 \times 3$, perché l'arrivo ha dimensione 2 e la partenza 3. La seconda risposta è la trasposta; la terza, la più insidiosa, ha la taglia di una macchina che arriva nei polinomi di grado al massimo 2, non 1. D: Sia $T : \R^2 \to \R^2$, $T(x, y) = (x + y,\ 2x)$, e sia $\mathcal B = \{v_1 = (1, 0),\ v_2 = (1, 1)\}$. Il vettore di coordinate $[T(v_1)]_{\mathcal B}$ è: + $(-1, 2)$ - $(1, 2)$ - $(2, -1)$ - $(1, 0)$ - $(2, 2)$ = $T(v_1) = (1, 2)$. Le coordinate: $a(1, 0) + b(1, 1) = (a + b,\ b) = (1, 2)$ dà $b = 2$ e $a = -1$. La risposta più insidiosa è $(1, 2)$: è $T(v_1)$ stesso, non le sue coordinate. $(2, -1)$ ha le coordinate in ordine scambiato. Simile all'appello del 05/02/2026, domanda 6. D: Sia $T(x, y) = (y, x)$ e sia $\mathcal B = \{(1, 2), (0, 1)\}$. La matrice $[T]^{\mathcal B}_{\mathcal B}$ è: + $\begin{pmatrix} 2 & 1 \\ -3 & -2 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 2 & -3 \\ 1 & -2 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 1 \\ 1 & 0 \end{pmatrix}$ = $T(1, 2) = (2, 1) = 2(1, 2) - 3(0, 1)$ e $T(0, 1) = (1, 0) = 1(1, 2) - 2(0, 1)$: le colonne sono $(2, -3)$ e $(1, -2)$. La risposta più insidiosa è la seconda, la matrice nella base canonica. La terza è la trasposta; la quinta mette le uscite senza passare alle coordinate; la quarta ha i vettori della base. Simile agli appelli del 24/01/2024 (domanda 3) e del 15/01/2026 (domanda 8). D: Sia $f(p) = (p(2), p(-2))$ con matrice $\begin{pmatrix} 1 & 2 & 4 \\ 1 & -2 & 4 \end{pmatrix}$ rispetto a $\{1, x, x^2\}$ e alla base canonica. Quanto vale $f(1 - x + x^2)$? + $(3, 7)$ - $(3, -1)$ - $(7, 3)$ - $(1, 7)$ - $(4, 4)$ = Le coordinate del polinomio nella base $\{1, x, x^2\}$ sono $(1, -1, 1)$, e il prodotto dà $(1 - 2 + 4,\ 1 + 2 + 4) = (3, 7)$. Controllo diretto: $p(2) = 1 - 2 + 4 = 3$ e $p(-2) = 1 + 2 + 4 = 7$. La risposta più insidiosa è $(7, 3)$, con i due valori scambiati. D: I polinomi $(x + 1)^2$, $x + 1$, $1$ formano una base di $\R_2[x]$. Le coordinate di $q(x) = (x - 1)^2$ in questa base sono: + $(1, -4, 4)$ - $(1, -2, 1)$ - $(1, 4, 4)$ - $(4, -4, 1)$ - $(1, 0, 0)$ = Si scrive $x - 1 = (x + 1) - 2$. Allora $(x - 1)^2 = (x + 1)^2 - 4(x + 1) + 4 \cdot 1$. Controllo: $x^2 + 2x + 1 - 4x - 4 + 4 = x^2 - 2x + 1$. La risposta più insidiosa è $(1, -2, 1)$: sono le coordinate nella base $\{x^2, x, 1\}$, non in quella data. $(4, -4, 1)$ ha l'ordine al contrario. Simile all'appello del 06/09/2024, domanda 9. D: La matrice associata all'inversa di $f = L_A : \R^2 \to \R^2$, con $A = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$, rispetto alla base canonica è: + $\begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}$ - $\begin{pmatrix} 2 & -1 \\ -1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1/2 & 1 \\ 1 & 1 \end{pmatrix}$ - $f$ non è invertibile. = Il determinante è $2 - 1 = 1$, non zero: $f$ è un isomorfismo, e la sua inversa è la macchina della matrice inversa. Con la regola delle $2 \times 2$ (lezione L10): scambio la diagonale, cambio segno agli altri due, divido per 1. Viene $\begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix}$; controllo: $A A^{-1} = I_2$. La risposta più insidiosa è la terza, che cambia i segni ma non scambia la diagonale. La quarta inverte casella per casella. Simile all'appello del 10/07/2024, problema 11, punto 2. D: Qual è la dimensione dello spazio vettoriale di tutte le applicazioni lineari $\R^3 \to \R^2$? N: 6 = Per il Teorema 15.12, scelte le basi, le macchine lineari dallo spazio al piano sono la stessa cosa delle matrici $2 \times 3$. Lo spazio delle matrici $2 \times 3$ ha dimensione $2 \cdot 3 = 6$. ``` ## Esercizi ::: esercizio base Riscaldamento: stessa dimensione? Quali coppie di spazi sono isomorfe? (a) $\R^3$ e i polinomi di grado al massimo 2; (b) $\R^4$ e le matrici $2 \times 2$; (c) il piano e lo spazio; (d) i polinomi di grado al massimo 3 e le matrici $2 \times 2$. ::: soluzione Si confrontano le dimensioni. 1. (a) 3 e 3: isomorfi. 2. (b) 4 e 4: isomorfi. 3. (c) 2 e 3: non isomorfi. 4. (d) 4 e 4: isomorfi. ::: ::: esercizio base Riscaldamento: la matrice nelle basi canoniche Scrivi la matrice di $f(x, y) = (2x + y,\ x - 3y,\ 4y)$ con le basi canoniche. ::: soluzione 1. $f(1, 0) = (2, 1, 0)$: prima colonna. 2. $f(0, 1) = (1, -3, 4)$: seconda colonna. La matrice è $\begin{pmatrix} 2 & 1 \\ 1 & -3 \\ 0 & 4 \end{pmatrix}$: 3 righe, perché si arriva nello spazio, e 2 colonne, perché si parte dal piano. ::: ::: esercizio base Riscaldamento: righe e colonne Quante righe e quante colonne ha la matrice associata di una macchina lineare (a) da $\R^4$ a $\R^2$; (b) dai polinomi di grado al massimo 2 a quelli di grado al massimo 3; (c) dalle matrici $2 \times 2$ a $\R$? ::: soluzione Righe = dimensione di arrivo, colonne = dimensione di partenza. 1. (a) 2 righe e 4 colonne. 2. (b) 4 righe e 3 colonne. 3. (c) 1 riga e 4 colonne. ::: ::: esercizio base Riscaldamento: dalla matrice all'uscita Una macchina ha matrice $\begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$ con le basi canoniche. Dove va $(3, 1)$? E $(0, 2)$? ::: soluzione 1. $\begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 3 \\ 1 \end{pmatrix} = \begin{pmatrix} 3 + 2 \\ 1 \end{pmatrix} = \begin{pmatrix} 5 \\ 1 \end{pmatrix}$. 2. $\begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 0 \\ 2 \end{pmatrix} = \begin{pmatrix} 0 + 4 \\ 2 \end{pmatrix} = \begin{pmatrix} 4 \\ 2 \end{pmatrix}$. ::: ::: esercizio base Isomorfismo oppure no? Per ciascuna applicazione lineare di' se è un isomorfismo, motivando: (a) $f : \R^2 \to \R^2$, $f(x, y) = (x + y,\ x - y)$; (b) $g : \R^3 \to \R^2$, $g(x, y, z) = (x, y)$; (c) $h : \R_2[x] \to \R^3$, $h(p) = (p(0), p(1), p(2))$; (d) $k : M(2, \R) \to M(2, \R)$, $k(A) = A - {}^tA$. ::: soluzione (a) **Sì.** Nucleo: $x + y = 0$ e $x - y = 0$; sommando, $2x = 0$, quindi $x = 0$ e $y = 0$. Il nucleo è solo lo zero: iniettiva. Partenza e arrivo hanno la stessa dimensione 2, quindi per il teorema della dimensione l'immagine ha dimensione 2: suriettiva. Oppure: $\det \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} = -2$, non zero. (b) **No.** La partenza ha dimensione 3 e l'arrivo 2: per la Proposizione 15.3 un isomorfismo vuole dimensioni uguali. Con i numeri: $g(0, 0, 1) = (0, 0)$, quindi $g$ non è iniettiva. (c) **Sì.** Con la base $\{1, x, x^2\}$ in partenza e quella canonica in arrivo: $h(1) = (1, 1, 1)$, $h(x) = (0, 1, 2)$, $h(x^2) = (0, 1, 4)$. Quindi $$[h] = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & 1 \\ 1 & 2 & 4 \end{pmatrix}, \qquad \det [h] = 1 \cdot (1 \cdot 4 - 1 \cdot 2) = 2,$$ sviluppando lungo la prima riga. Il determinante non è zero: il rango è 3, il nucleo è solo lo zero e l'immagine è tutto lo spazio. A parole: un polinomio di grado al massimo 2 è deciso dai suoi valori in tre punti. (d) **No.** Se $A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$, allora $k(A) = \begin{pmatrix} 0 & b - c \\ c - b & 0 \end{pmatrix}$. Tutte le matrici simmetriche ($b = c$) vanno in zero, per esempio $k(I_2) = 0$. Il nucleo non è solo lo zero (ha dimensione 3), quindi $k$ non è iniettiva. ::: ::: esercizio base Coordinate in basi non canoniche (a) Trova le coordinate di $v = (5, 1)$ rispetto a $\mathcal B = \{(1, 1), (1, -1)\}$. (b) Trova le coordinate di $p(x) = 2x^2 - x + 3$ rispetto a $\{1, x, x^2\}$ e rispetto a $\mathcal B' = \{1,\ x - 1,\ (x - 1)^2\}$. ::: soluzione (a) $\lambda_1 (1, 1) + \lambda_2 (1, -1) = (5, 1)$ dà $\lambda_1 + \lambda_2 = 5$ e $\lambda_1 - \lambda_2 = 1$. Sommando: $2\lambda_1 = 6$, quindi $\lambda_1 = 3$; poi $\lambda_2 = 2$. Coordinate $(3, 2)$. Controllo: $3(1, 1) + 2(1, -1) = (5, 1)$. (b) Rispetto a $\{1, x, x^2\}$ bastano i numeri dal termine noto in su: $(3, -1, 2)$. Rispetto a $\mathcal B'$ cerco $a$, $b$, $c$ con $$a + b(x - 1) + c(x - 1)^2 = (a - b + c) + (b - 2c)\,x + c\,x^2 = 3 - x + 2x^2.$$ 1. Davanti a $x^2$: $c = 2$. 2. Davanti a $x$: $b - 2c = -1$, quindi $b = 3$. 3. Termine noto: $a - b + c = 3$, quindi $a = 3 + 3 - 2 = 4$. Coordinate $(4, 3, 2)$. Controllo: $4 + 3(x - 1) + 2(x^2 - 2x + 1) = 4 + 3x - 3 + 2x^2 - 4x + 2 = 2x^2 - x + 3$. ::: ::: esercizio base Matrice nelle basi canoniche e immagine di un vettore Sia $f : \R^3 \to \R^2$, $f(x, y, z) = (x + 2y,\ y - z)$. Scrivi la matrice associata rispetto alle basi canoniche e usala per calcolare $f(1, 1, 1)$ e $f(2, -1, 3)$. ::: soluzione Le colonne sono le uscite della base canonica: $f(e_1) = (1, 0)$, $f(e_2) = (2, 1)$, $f(e_3) = (0, -1)$. Quindi $$[f] = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 1 & -1 \end{pmatrix}.$$ Con le basi canoniche coordinate e vettori coincidono: $$[f]\begin{pmatrix} 1 \\ 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 1 + 2 + 0 \\ 0 + 1 - 1 \end{pmatrix} = \begin{pmatrix} 3 \\ 0 \end{pmatrix}, \qquad [f]\begin{pmatrix} 2 \\ -1 \\ 3 \end{pmatrix} = \begin{pmatrix} 2 - 2 + 0 \\ 0 - 1 - 3 \end{pmatrix} = \begin{pmatrix} 0 \\ -4 \end{pmatrix}.$$ Controllo diretto: $f(2, -1, 3) = (2 - 2,\ -1 - 3) = (0, -4)$. ::: ::: esercizio medio La matrice della derivata Sia $D : \R_3[x] \to \R_2[x]$, $D(p) = p'$. Scrivi $[D]$ rispetto alle basi $\{1, x, x^2, x^3\}$ e $\{1, x, x^2\}$, e usala per calcolare la derivata di $q(x) = 1 + 2x - x^2 + 4x^3$. Quanto valgono $\dim \Ker D$ e $\dim \Imm D$? ::: soluzione Le uscite della base di partenza: $D(1) = 0$, $D(x) = 1$, $D(x^2) = 2x$, $D(x^3) = 3x^2$. Le loro coordinate rispetto a $\{1, x, x^2\}$: $(0, 0, 0)$, $(1, 0, 0)$, $(0, 2, 0)$, $(0, 0, 3)$. Quindi $$[D] = \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 3 \end{pmatrix}.$$ Le coordinate di $q$ sono $(1, 2, -1, 4)$, e $$[D]\begin{pmatrix} 1 \\ 2 \\ -1 \\ 4 \end{pmatrix} = \begin{pmatrix} 2 \\ -2 \\ 12 \end{pmatrix},$$ cioè $q'(x) = 2 - 2x + 12x^2$. Controllo diretto: la derivata di $1 + 2x - x^2 + 4x^3$ è $2 - 2x + 12x^2$. La matrice ha rango 3, con tre pivot, quindi l'immagine ha dimensione 3: $D$ è suriettiva. Per il teorema della dimensione il nucleo ha dimensione $4 - 3 = 1$: sono i polinomi costanti. ::: ::: esercizio medio Una base di arrivo che semplifica la matrice Riprendi $f : \R_2[x] \to \R^2$, $f(p) = (p(2), p(-2))$, con $\mathcal B = \{1, x, x^2\}$ in partenza. (a) Calcola $[f]^{\mathcal B}_{\mathcal C''}$ con $\mathcal C'' = \{(1, 1), (1, -1)\}$ in arrivo. (b) Usala per ritrovare $f(3x^2 + 5x + 1) = (23, 3)$. ::: soluzione (a) Le uscite sono $f(1) = (1, 1)$, $f(x) = (2, -2)$, $f(x^2) = (4, 4)$. Rispetto a $\mathcal C''$: - $(1, 1) = 1 \cdot (1, 1) + 0 \cdot (1, -1)$, coordinate $(1, 0)$; - $(2, -2) = 0 \cdot (1, 1) + 2 \cdot (1, -1)$, coordinate $(0, 2)$; - $(4, 4) = 4 \cdot (1, 1) + 0 \cdot (1, -1)$, coordinate $(4, 0)$. $$[f]^{\mathcal B}_{\mathcal C''} = \begin{pmatrix} 1 & 0 & 4 \\ 0 & 2 & 0 \end{pmatrix}.$$ Ci sono molti zeri: la prima riga vede solo le potenze pari del polinomio ($1$ e $x^2$), la seconda solo quella dispari ($x$). (b) Le coordinate del polinomio sono $(1, 5, 3)$, e $$\begin{pmatrix} 1 & 0 & 4 \\ 0 & 2 & 0 \end{pmatrix}\begin{pmatrix} 1 \\ 5 \\ 3 \end{pmatrix} = \begin{pmatrix} 13 \\ 10 \end{pmatrix}.$$ Sono le coordinate rispetto a $\mathcal C''$. Rifaccio la ricetta: $13 (1, 1) + 10 (1, -1) = (23, 3)$. ::: ::: esercizio medio Un isomorfismo costruito con una base In $\R_1[x]$ considera la base $\mathcal B = \{1 + x,\ 1 - x\}$. Scrivi esplicitamente l'isomorfismo $\Phi : \R_1[x] \to \R^2$ che manda $p$ in $[p]_{\mathcal B}$, e la sua inversa. Quanto vale $\Phi(3 + x)$? ::: soluzione Sia $p = a + bx$. Cerco $\alpha$ e $\beta$ con $\alpha(1 + x) + \beta(1 - x) = (\alpha + \beta) + (\alpha - \beta)x = a + bx$: $$\begin{cases} \alpha + \beta = a \\ \alpha - \beta = b \end{cases}$$ Sommando: $\alpha = \frac{a + b}{2}$. Togliendo: $\beta = \frac{a - b}{2}$. Quindi $$\Phi(a + bx) = \left(\frac{a + b}{2},\ \frac{a - b}{2}\right), \qquad \Phi^{-1}(\alpha, \beta) = \alpha(1 + x) + \beta(1 - x) = (\alpha + \beta) + (\alpha - \beta)x.$$ Tutte e due sono lineari, come prevede la Proposizione 15.2. Per $p = 3 + x$: $\Phi(3 + x) = (2, 1)$. Controllo: $2(1 + x) + 1 \cdot (1 - x) = 3 + x$. ::: ::: esercizio medio Una matrice da $M(2, \R)$ a $\R_2[x]$ (foglio 3 del tutorato, esercizio 4) Calcola la matrice associata a $T : M(2, \R) \to \R_2[x]$, $$T\begin{pmatrix} a & b \\ c & d \end{pmatrix} = ax^2 + (b + c)x + d,$$ dalla base $\mathcal A = \left\{ \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}, \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}, \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \right\}$ alla base $\mathcal B = \{1, x, x^2\}$. Che cosa puoi dire di $\Ker T$ e di $\Imm T$? ::: soluzione La matrice sarà $3 \times 4$: l'arrivo ha dimensione 3 e la partenza 4. Chiamo $A_1, \dots, A_4$ le matrici della base. - $T(A_1)$: $a = 1$, $b = c = 0$, $d = -1$, quindi $T(A_1) = x^2 - 1$, coordinate $(-1, 0, 1)$ (termine noto, $x$, $x^2$). - $T(A_2)$: $a = 0$, $b = c = 1$, $d = 0$, quindi $T(A_2) = 2x$, coordinate $(0, 2, 0)$. - $T(A_3)$: $a = 0$, $b = 1$, $c = -1$, $d = 0$, quindi $T(A_3) = 0$, coordinate $(0, 0, 0)$. - $T(A_4)$: $a = 1$, $b = c = 0$, $d = 1$, quindi $T(A_4) = x^2 + 1$, coordinate $(1, 0, 1)$. $$[T]^{\mathcal A}_{\mathcal B} = \begin{pmatrix} -1 & 0 & 0 & 1 \\ 0 & 2 & 0 & 0 \\ 1 & 0 & 0 & 1 \end{pmatrix}.$$ Le colonne 1, 2 e 4 sono indipendenti: la 1 e la 4 hanno somma $(0, 0, 2)$ e differenza $(2, 0, 0)$, e la 2 è $(0, 2, 0)$. Quindi il rango è 3: $T$ è suriettiva, l'immagine è tutto lo spazio dei polinomi di grado al massimo 2. Per il teorema della dimensione il nucleo ha dimensione $4 - 3 = 1$, e la colonna di zeri dice che $A_3$ sta nel nucleo: il nucleo è lo Span di $A_3$, le matrici antisimmetriche. ::: ::: esercizio medio Esercizio 15.13 delle dispense: una matrice con basi non canoniche su $\C$ Consideriamo l'applicazione lineare $$f : \C^2 \longrightarrow \C^3, \qquad f\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} x - y \\ 2x \\ y \end{pmatrix}.$$ Trovare la matrice associata a $f$ rispetto alle basi $v_1 = (1, 1)$, $v_2 = (1, -1)$ in partenza e $w_1 = (1, 1, 0)$, $w_2 = (0, 1, 1)$, $w_3 = (1, 0, 1)$ in arrivo. ::: soluzione I numeri sono complessi, ma tutti quelli in gioco sono reali: i conti sono quelli di sempre. **Passo 1**, le uscite: $$f(v_1) = f(1, 1) = (1 - 1,\ 2,\ 1) = (0, 2, 1), \qquad f(v_2) = f(1, -1) = (1 + 1,\ 2,\ -1) = (2, 2, -1).$$ **Passo 2**, coordinate rispetto a $w_1, w_2, w_3$. Una ricetta con la base di arrivo è $a w_1 + b w_2 + c w_3 = (a + c,\ a + b,\ b + c)$. Per $f(v_1) = (0, 2, 1)$: $$\begin{cases} a + c = 0 \\ a + b = 2 \\ b + c = 1 \end{cases}$$ 1. Dalla prima, $c = -a$; la terza diventa $b - a = 1$. 2. Sommandola alla seconda: $2b = 3$, quindi $b = \frac 32$. 3. Poi $a = 2 - \frac 32 = \frac 12$ e $c = -\frac 12$. Coordinate $\left(\frac 12, \frac 32, -\frac 12\right)$. Per $f(v_2) = (2, 2, -1)$: $$\begin{cases} a + c = 2 \\ a + b = 2 \\ b + c = -1 \end{cases}$$ 1. Togliendo la seconda dalla prima: $c - b = 0$, cioè $b = c$. 2. La terza dà $2c = -1$, quindi $b = c = -\frac 12$. 3. Poi $a = 2 - c = \frac 52$. Coordinate $\left(\frac 52, -\frac 12, -\frac 12\right)$. **Passo 3**, le colonne: $$[f]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1/2 & 5/2 \\ 3/2 & -1/2 \\ -1/2 & -1/2 \end{pmatrix} = \frac 12 \begin{pmatrix} 1 & 5 \\ 3 & -1 \\ -1 & -1 \end{pmatrix}.$$ È il risultato indicato nelle dispense. Controllo sulla prima colonna: $\frac 12 (1, 1, 0) + \frac 32 (0, 1, 1) - \frac 12 (1, 0, 1) = \left(\frac 12 - \frac 12,\ \frac 12 + \frac 32,\ \frac 32 - \frac 12\right) = (0, 2, 1)$. Nella lezione L16 ritroverai lo stesso risultato con la formula del cambiamento di base. ::: ::: esercizio esame Come all'esame: una base che rende la matrice semplice Sia $f : \R_2[x] \to \R^2$, $f(p) = (p(1),\ p'(1))$. (1) Scrivi la matrice associata a $f$ rispetto alle basi $\mathcal B = \{1, x, x^2\}$ e $\mathcal C = \{e_1, e_2\}$. (2) Trova $\Ker f$ e $\Imm f$; $f$ è iniettiva? È suriettiva? (3) Scrivi la matrice di $f$ rispetto a $\mathcal B' = \{1,\ x - 1,\ (x - 1)^2\}$ in partenza e $\mathcal C$ in arrivo. ::: soluzione (1) Le uscite: - $f(1) = (1, 0)$: il polinomio costante vale 1 in 1, e la sua derivata è 0; - $f(x) = (1, 1)$; - $f(x^2) = (1, 2)$, perché la derivata $2x$ vale 2 in 1. $$[f]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & 1 & 1 \\ 0 & 1 & 2 \end{pmatrix}.$$ (2) La matrice è già a scalini con due pivot: rango 2. L'immagine ha dimensione 2 ed è tutto il piano: **$f$ è suriettiva**. Per il teorema della dimensione il nucleo ha dimensione $3 - 2 = 1$: **non è iniettiva**. Il nucleo, con $p = a + bx + cx^2$: $a + b + c = 0$ e $b + 2c = 0$. Con $c = t$: $b = -2t$ e $a = -b - c = t$. Quindi $p = t(1 - 2x + x^2) = t(x - 1)^2$, e il nucleo è lo Span di $(x - 1)^2$. Controllo: $(x - 1)^2$ vale 0 in 1, e la sua derivata $2(x - 1)$ vale 0 in 1. (3) Le uscite della nuova base: - $f(1) = (1, 0)$; - $f(x - 1) = (0, 1)$: $x - 1$ vale 0 in 1 e ha derivata 1; - $f((x - 1)^2) = (0, 0)$, per il punto (2). $$[f]^{\mathcal B'}_{\mathcal C} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}.$$ Con la base «centrata in 1» la matrice è quasi l'identità: si legge subito che $f$ è suriettiva e che il terzo vettore della base genera il nucleo. ::: ::: esercizio esame Come all'esame: basi non canoniche in partenza e in arrivo Sia $T : \R^3 \to \R^2$, $T(a, b, c) = (a + b,\ b - c)$, e siano $\mathcal B = \{(1, 0, 0), (1, 1, 0), (1, 1, 1)\}$ base di $\R^3$ e $\mathcal C = \{(1, 1), (0, 1)\}$ base di $\R^2$. (1) Calcola $[T]^{\mathcal B}_{\mathcal C}$. (2) Calcola $[v]_{\mathcal B}$ per $v = (2, 3, 4)$. (3) Usa la Proposizione 15.9 per calcolare $T(v)$, e controlla il risultato con la definizione. ::: soluzione (1) Le uscite: $T(1, 0, 0) = (1, 0)$, $T(1, 1, 0) = (2, 1)$, $T(1, 1, 1) = (2, 0)$. Una ricetta con la base di arrivo è $\alpha (1, 1) + \beta (0, 1) = (\alpha,\ \alpha + \beta)$: quindi $\alpha$ è la prima coordinata del vettore, e $\beta$ è la seconda meno $\alpha$. - $(1, 0)$: $\alpha = 1$, $\beta = -1$; - $(2, 1)$: $\alpha = 2$, $\beta = -1$; - $(2, 0)$: $\alpha = 2$, $\beta = -2$. $$[T]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & 2 & 2 \\ -1 & -1 & -2 \end{pmatrix}.$$ (2) $x (1, 0, 0) + y (1, 1, 0) + z (1, 1, 1) = (x + y + z,\ y + z,\ z) = (2, 3, 4)$. Dall'ultima $z = 4$, poi $y = 3 - 4 = -1$, poi $x = 2 - (-1) - 4 = -1$. Quindi $[v]_{\mathcal B} = (-1, -1, 4)$. (3) $$[T(v)]_{\mathcal C} = \begin{pmatrix} 1 & 2 & 2 \\ -1 & -1 & -2 \end{pmatrix}\begin{pmatrix} -1 \\ -1 \\ 4 \end{pmatrix} = \begin{pmatrix} -1 - 2 + 8 \\ 1 + 1 - 8 \end{pmatrix} = \begin{pmatrix} 5 \\ -6 \end{pmatrix}.$$ Sono coordinate rispetto a $\mathcal C$; rifaccio la ricetta: $T(v) = 5 (1, 1) - 6 (0, 1) = (5, -1)$. Controllo con la definizione: $T(2, 3, 4) = (2 + 3,\ 3 - 4) = (5, -1)$. ::: ::: esercizio difficile Iniettiva se e solo se suriettiva Sia $f : V \to W$ lineare con $\dim V = \dim W = n$. Dimostra che $f$ è iniettiva se e solo se è suriettiva. Poi mostra con un esempio che l'ipotesi $\dim V = \dim W$ non si può togliere. ::: soluzione Per il teorema della dimensione, $n = \dim \Ker f + \dim \Imm f$. **Se $f$ è iniettiva, è suriettiva.** Il nucleo è solo lo zero, quindi l'immagine ha dimensione $n$, come $W$. Un sottospazio di $W$ con la stessa dimensione di $W$ è tutto $W$: una sua base è fatta di $n$ vettori indipendenti di $W$, che per il Teorema 7.12 sono una base di $W$. Quindi l'immagine è tutto $W$. **Se $f$ è suriettiva, è iniettiva.** L'immagine è tutto $W$, quindi ha dimensione $n$. Allora il nucleo ha dimensione $n - n = 0$: è solo lo zero. Senza l'ipotesi non funziona: $g(x, y) = (x, y, 0)$, dal piano allo spazio, è iniettiva ma non suriettiva; $h(x, y, z) = (x, y)$, dallo spazio al piano, è suriettiva ma non iniettiva. ::: ## Domande di ripasso ::: domanda Che cos'è un isomorfismo? Quando due spazi sono isomorfi? Una macchina lineare biettiva: iniettiva, cioè con nucleo fatto solo dallo zero, e suriettiva, cioè con immagine uguale a tutto l'arrivo. Due spazi sullo stesso campo sono isomorfi se esiste almeno un isomorfismo fra loro: sono lo stesso spazio con nomi diversi. ::: ::: domanda L'inversa di un isomorfismo è lineare? Perché? Sì (Proposizione 15.2). Se $f(v) = w$ e $f(v') = w'$, allora $f(v + v') = w + w'$ e $f(\lambda v) = \lambda w$. Siccome $f$ è biettiva, il vettore che va in $w + w'$ è unico, quindi $f^{-1}(w + w') = v + v'$; lo stesso per i multipli. ::: ::: domanda Che cosa si deduce sulle dimensioni se una macchina è iniettiva? E se è suriettiva? Iniettiva: la partenza non è più grande dell'arrivo. Suriettiva: la partenza non è più piccola dell'arrivo. Isomorfismo: stessa dimensione. Tutto viene dal teorema della dimensione. ::: ::: domanda Quando due spazi vettoriali di dimensione finita sono isomorfi? Esattamente quando hanno la stessa dimensione (Proposizione 15.4). In particolare ogni spazio di dimensione $n$ è isomorfo allo spazio delle liste di $n$ numeri. ::: ::: domanda Quale dizionario con le liste di numeri indicano le dispense, e da che cosa dipende? Quello che manda ogni vettore nelle sue coordinate rispetto a una base. Dipende dalla base: per esempio $x^2$ è $(0, 0, 1)$ nella base $\{1, x, x^2\}$ e $(1, 2, 1)$ nella base $\{1, x - 1, (x - 1)^2\}$. ::: ::: domanda Come è fatta la matrice associata $[f]^{\mathcal B}_{\mathcal C}$? Ha tante righe quanta è la dimensione di arrivo e tante colonne quanta è quella di partenza. Nella colonna $j$ ci sono le coordinate, rispetto alla base di arrivo, di dove va il vettore $j$ della base di partenza. La base di partenza sta in alto, quella di arrivo in basso. ::: ::: domanda Qual è la matrice associata a $L_A$ rispetto alle basi canoniche? È $A$ stessa (Esempio 15.6): $L_A(e_j)$ è la colonna $j$ di $A$, e le sue coordinate nella base canonica sono i suoi numeri. ::: ::: domanda Come si calcola l'uscita di un vettore usando la matrice associata? Si scrive l'entrata in coordinate rispetto alla base di partenza; si moltiplica la matrice per quelle coordinate; se la base di arrivo non è quella canonica, si rifà la ricetta con i vettori di arrivo e le dosi trovate. ::: ::: domanda Perché la stessa macchina ha matrici diverse? Perché la matrice registra le coordinate delle uscite, e le coordinate dipendono dalle basi scelte in partenza e in arrivo (Esempi 15.7 e 15.8). È la stessa macchina descritta in lingue diverse. ::: ::: domanda Quanto vale $[\id]^{\mathcal B}_{\mathcal B}$? E con due basi diverse? Con la stessa base in partenza e in arrivo è la matrice identità (Proposizione 15.11). Con due basi diverse di solito no: le sue colonne sono le coordinate dei vettori della prima base rispetto alla seconda. È la matrice di cambiamento di base della lezione L16. ::: ::: domanda Come si sommano due macchine lineari, e che cosa succede alle matrici? L'uscita della somma è la somma delle uscite, e l'uscita di $\lambda f$ è $\lambda$ volte l'uscita di $f$. Scelte le basi, la matrice della somma è la somma delle matrici, e quella di $\lambda f$ è $\lambda$ volte la matrice di $f$. ::: ::: domanda Che cosa dice il Teorema 15.12? Che le macchine lineari da $V$ a $W$ formano uno spazio vettoriale e che, scelte le basi, passare alla matrice associata è un isomorfismo con le matrici $m \times n$: ogni matrice è la matrice di una e una sola macchina lineare. ::: ## Glossario ```glossario Iniettiva | Entrate diverse danno uscite diverse; per una macchina lineare, il nucleo è solo lo zero. Suriettiva | Ogni vettore dello spazio di arrivo esce da qualche entrata: l'immagine è tutto l'arrivo. Biettiva | Iniettiva e suriettiva; allora c'è la macchina inversa $f^{-1}$. Isomorfismo | Una macchina lineare biettiva (Definizione 15.1): un dizionario perfetto. La sua inversa è lineare. Spazi isomorfi | Spazi sullo stesso campo tra cui c'è un isomorfismo; in dimensione finita, spazi con la stessa dimensione. Coordinate $[v]_{\mathcal B}$ | Le dosi della ricetta che dà $v$ con la base $\mathcal B$, in colonna e nell'ordine della base. Base ordinata | Una base usata come lista: l'ordine dei vettori decide l'ordine delle coordinate e delle colonne. Matrice associata $[f]^{\mathcal B}_{\mathcal C}$ | La macchina scritta con i numeri: la colonna $j$ è $[f(v_j)]_{\mathcal C}$ (Definizione 15.5). Base di partenza / di arrivo | La base dello spazio da cui si parte (in alto nella scrittura) e quella dello spazio in cui si arriva (in basso). $L_A$ | La macchina che moltiplica per la matrice $A$; la sua matrice nelle basi canoniche è $A$. Formula delle coordinate | Coordinate dell'uscita = matrice associata per coordinate dell'entrata (Proposizione 15.9). Matrice dell'identità | Con la stessa base in partenza e in arrivo è la matrice identità (Proposizione 15.11). Somma di applicazioni | L'uscita della somma è la somma delle uscite; la matrice della somma è la somma delle matrici. $\mathrm{Hom}(V, W)$ | Il nome del libro di Martelli per lo spazio delle macchine lineari da $V$ a $W$; ha dimensione $\dim V \cdot \dim W$. Teorema della dimensione | Quello che entra = quello che si perde + quello che esce (lezione L14): da qui vengono tutte le regole sulle dimensioni. ``` ## Checklist ```checklist - So dire che cos'è un isomorfismo e controllare se una macchina lo è, con il nucleo, l'immagine o il determinante. - So spiegare perché l'inversa di un isomorfismo è lineare. - So usare le dimensioni per escludere iniettività, suriettività o isomorfismo (Proposizione 15.3). - So che due spazi sono isomorfi esattamente quando hanno la stessa dimensione, e so fare esempi. - So calcolare le coordinate di un vettore o di un polinomio rispetto a una base non canonica, risolvendo un sistema. - So scrivere la matrice associata in tre passi, con le coordinate in colonna e la taglia giusta. - So usare la formula «coordinate dell'uscita = matrice per coordinate dell'entrata» e ricostruire il vettore vero. - So che la matrice associata dipende dalle basi e che l'identità, con la stessa base, ha la matrice identità. - So sommare macchine lineari e so che, scelte le basi, macchine e matrici si corrispondono una a una. - Riconosco al volo le trappole del quiz: trasposta, uscite al posto delle coordinate, ordine della base. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 15 «Applicazioni lineari II», pp. 74–78: le sezioni 15.A (isomorfismi) e 15.B (matrice associata) sono seguite in ordine, con la pagina accanto a ogni titolo; definizioni, proposizioni ed esempi mantengono la loro numerazione (Definizioni 15.1 e 15.5, Proposizioni 15.2–15.4, 15.9, 15.11, Esempi 15.6–15.8 e 15.10, Teorema 15.12); l'Esercizio 15.13 della sezione 15.C è svolto come esercizio 12. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §4.2.5 e §4.2.7 (isomorfismi, con la dimostrazione della Proposizione 15.2 e la Proposizione 4.2.24), §4.3.1–4.3.4 (matrice associata, proprietà, Hom). - **Esame**: appelli del 24/01/2024 (domanda 3), 10/07/2024 (problema 11), 06/09/2024 (domanda 9), 16/01/2025 (domanda 5), 02/09/2025 (domanda 5), 15/01/2026 (domanda 8), 05/02/2026 (domanda 6); foglio 3 del tutorato 2025/26 (esercizi 4 e 5). Testi e soluzioni ufficiali sul Moodle 2025/26 ([id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); le soluzioni riportate qui sono scritte da capo. - Le parti **«Oltre le dispense»** (la dimostrazione della Proposizione 15.2, la costruzione dell'isomorfismo, la scorciatoia per dimensioni uguali, Hom, gli esempi e gli esercizi aggiunti) servono a collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L16_applicazioni_lineari_3.md` ```yaml corso: MDAG modulo: AG lezione: L16 titolo: Applicazioni lineari III docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L16 descrizione: >- Appunti della lezione L16 di Algebra lineare e Geometria (MDAG, parte 2): matrice di cambiamento di base, composizione di applicazioni lineari e prodotto di matrici, endomorfismi e matrici simili, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Lo stesso vettore si può dire in lingue diverse, come una lunghezza in metri o in piedi: la matrice di cambiamento di base fa da traduttore. Poi perché mettere due macchine una dopo l'altra vuol dire moltiplicare le loro matrici, e quando due matrici descrivono la stessa macchina in due lingue: le matrici simili. materiale: dispense scheda: Dispense: lezione 16 · pp. 79–84 Libro: Martelli, §4.2.4, §4.3.3, §4.3.5 e §4.4 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 16 «Applicazioni lineari III»; B. Martelli, Geometria e algebra lineare, §4.2.4, §4.3 e §4.4 appunti_html: appunti/MDAG/L16_applicazioni_lineari_3.html genera_html: true ``` ## In breve - Le coordinate di un vettore dipendono dalla base, come una misura dipende dall'unità. La **matrice di cambiamento di base** è il traduttore: prende le coordinate in una base e restituisce quelle nell'altra. - Se la base di arrivo è quella canonica, il traduttore si scrive subito: i vettori della base di partenza **in colonna**. Per tradurre nel verso opposto si usa la matrice inversa. - Mettere due macchine lineari **una dopo l'altra** dà ancora una macchina lineare, e la sua matrice è il **prodotto** delle due matrici. La macchina che agisce per prima sta **a destra**. - Una macchina è un isomorfismo esattamente quando la sua matrice è invertibile; la matrice della macchina inversa è la matrice inversa. - Un **endomorfismo** è una macchina che parte e arriva nello stesso spazio. Cambiando base, la sua matrice cambia secondo la formula $M^{-1}AM$. - Due matrici sono **simili** quando descrivono la stessa macchina in due basi diverse. Hanno lo stesso rango, lo stesso determinante e la stessa traccia, ma questo non basta per dire che sono simili. - All'esame: matrici di cambiamento di base, matrici di una composizione e matrici in una base data sono tra le domande più frequenti. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Il traduttore tra due basi (pp. 79–80) Una stanza è lunga 3 metri, cioè circa 9,84 piedi. La lunghezza è la stessa; cambiano i numeri, perché cambia l'unità di misura. Con i vettori succede lo stesso: un vettore resta lo stesso, ma le sue **coordinate** cambiano se cambia la base (lezione L15). Come nelle dispense, i vettori di $\K^n$ sono colonne; nel testo li scriviamo in riga, $(1, 2)$, per risparmiare spazio. ### Un esempio per cominciare Nel piano prendi due basi. La prima, che chiamo $\mathcal B$, è fatta dai vettori $(1, 1)$ e $(1, -1)$. La seconda è la base canonica, che chiamo $\mathcal C$. Un vettore ha coordinate $(2, 1)$ nella prima base: si arriva con due passi lungo $(1, 1)$ e un passo lungo $(1, -1)$. Che vettore è? Basta rifare la ricetta: $$v = 2 \cdot (1, 1) + 1 \cdot (1, -1) = (3, 1).$$ Nella base canonica le coordinate sono i numeri stessi del vettore: $(3, 1)$. Lo stesso conto si scrive come un prodotto, mettendo **in colonna** i vettori di $\mathcal B$: $$\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\begin{pmatrix} 2 \\ 1 \end{pmatrix} = \begin{pmatrix} 2 + 1 \\ 2 - 1 \end{pmatrix} = \begin{pmatrix} 3 \\ 1 \end{pmatrix}.$$ La matrice che ha in colonna i due vettori della prima base traduce le coordinate da quella base alla base canonica. È la matrice della macchina **identità**, quella che lascia ogni vettore com'è, scritta con $\mathcal B$ in partenza e $\mathcal C$ in arrivo: la colonna $j$ è $[\id(v_j)]_{\mathcal C} = [v_j]_{\mathcal C}$. Le dispense le danno un nome. > [!DEF] 16.1 · Matrice di cambiamento di base > Sia $V$ uno spazio vettoriale e $\mathcal B = \{v_1, \dots, v_n\}$ e $\mathcal C = \{w_1, \dots, w_n\}$ due basi di $V$. La **matrice di cambiamento di base da $\mathcal B$ a $\mathcal C$** è la matrice > $$A = [\id]^{\mathcal B}_{\mathcal C}.$$ **Come si legge.** - È la matrice della macchina identità, con $\mathcal B$ in partenza (in alto) e $\mathcal C$ in arrivo (in basso). È quadrata $n \times n$. - **Ogni colonna** contiene le coordinate di un vettore della base di partenza, scritte nella base di arrivo: $A^j = [v_j]_{\mathcal C}$. - **L'inversa** è il traduttore nel verso opposto: $A^{-1} = [\id]^{\mathcal C}_{\mathcal B}$. Che sia proprio l'inversa lo dimostra il Corollario 16.7, più avanti. Dalla Proposizione 15.9 della lezione L15, con la macchina identità, viene subito la regola per tradurre. > [!PROP] 16.2 > Per ogni $v \in V$ vale > $$[v]_{\mathcal C} = A \cdot [v]_{\mathcal B}.$$ **Come si legge.** Le coordinate nella base $\mathcal C$ sono il traduttore per le coordinate nella base $\mathcal B$. > [!NOTA] Un rimando da correggere > Nelle dispense, a p. 79, la Proposizione 16.2 è introdotta con «Dalla Proposizione 15.10 ricaviamo». Il risultato usato è la **Proposizione 15.9** ($[f(v)]_{\mathcal C} = [f]^{\mathcal B}_{\mathcal C}[v]_{\mathcal B}$); il numero 15.10 è un esempio. > [!TRAPPOLA] In quale verso traduce la matrice? > $[\id]^{\mathcal B}_{\mathcal C}$ **prende** coordinate rispetto a $\mathcal B$ (in alto) e **restituisce** coordinate rispetto a $\mathcal C$ (in basso). Nelle colonne ha i vettori **di $\mathcal B$** scritti nella base $\mathcal C$. L'errore tipico è usare la matrice con i vettori di $\mathcal B$ in colonna per passare dalle coordinate canoniche a quelle rispetto a $\mathcal B$: per quello serve l'**inversa**. > > Nell'esempio, per tornare indietro si usa l'inversa $\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}^{-1} = \frac 12 \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$, e infatti $\frac 12 (3 + 1,\ 3 - 1) = (2, 1)$: sono di nuovo le coordinate nella prima base. > [!METODO] La matrice di cambiamento di base, due casi > 1. **La base di arrivo è quella canonica.** Le coordinate di un vettore nella base canonica sono i suoi numeri, quindi il traduttore si scrive subito: **i vettori della base di partenza in colonna**, nell'ordine. Per il verso opposto si calcola l'inversa. > 2. **Nessuna delle due basi è canonica.** Si risolve un sistema per ogni vettore della base di partenza, come nella Soluzione 1 qui sotto. Oppure si passa dalla base canonica $\mathcal E$: $[\id]^{\mathcal B}_{\mathcal C} = [\id]^{\mathcal E}_{\mathcal C}\,[\id]^{\mathcal B}_{\mathcal E} = \big([\id]^{\mathcal C}_{\mathcal E}\big)^{-1}[\id]^{\mathcal B}_{\mathcal E}$. È la regola delle macchine una dopo l'altra, che vedi nella prossima sezione. ::: prova Nella base $\{(2, 1), (1, 1)\}$ un vettore ha coordinate $(1, 3)$. Chi è il vettore? Il traduttore verso la base canonica ha i due vettori in colonna: $\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 1 \\ 3 \end{pmatrix} = \begin{pmatrix} 2 + 3 \\ 1 + 3 \end{pmatrix} = \begin{pmatrix} 5 \\ 4 \end{pmatrix}$. ::: ### Un esempio svolto in due modi Le dispense chiamano questo esempio «Esercizio 16.3» e lo risolvono nel testo, con due metodi. > [!ESEMPIO] Esercizio 16.3 · Dalla base canonica alla base $\mathcal B$ > Siano $\mathcal A = \{e_1, e_2, e_3\}$ la base canonica di $\R^3$ e $\mathcal B = \{w_1, w_2, w_3\}$ definita da > $$w_1 = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}, \qquad w_2 = \begin{pmatrix} 0 \\ 2 \\ 1 \end{pmatrix}, \qquad w_3 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}.$$ > Vogliamo trovare la matrice di cambiamento di base $A = [\id]^{\mathcal A}_{\mathcal B}$. > > **Soluzione 1.** Per costruzione $A = (a_{ij})$, dove gli $a_{ij}$ sono le soluzioni del sistema > $$\begin{cases} e_1 = a_{11} w_1 + a_{21} w_2 + a_{31} w_3 \\ e_2 = a_{12} w_1 + a_{22} w_2 + a_{32} w_3 \\ e_3 = a_{13} w_1 + a_{23} w_2 + a_{33} w_3. \end{cases}$$ > La prima equazione, componente per componente, diventa > $$\begin{cases} a_{11} = 1 \\ 2a_{11} + 2a_{21} + a_{31} = 0 \\ 3a_{11} + a_{21} + a_{31} = 0 \end{cases}$$ > Con $a_{11} = 1$: $2a_{21} + a_{31} = -2$ e $a_{21} + a_{31} = -3$. Sottraendo, $a_{21} = 1$, e poi $a_{31} = -3 - 1 = -4$. Allo stesso modo: > - per $e_2$: $a_{12} = 0$, $2a_{22} + a_{32} = 1$, $a_{22} + a_{32} = 0$, quindi $a_{22} = 1$ e $a_{32} = -1$; > - per $e_3$: $a_{13} = 0$, $2a_{23} + a_{33} = 0$, $a_{23} + a_{33} = 1$, quindi $a_{23} = -1$ e $a_{33} = 2$. > > Mettendo le soluzioni in colonna: > $$A = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & -1 \\ -4 & -1 & 2 \end{pmatrix}.$$ > > **Soluzione 2.** Calcoliamo prima $A^{-1} = [\id]^{\mathcal B}_{\mathcal A}$. La sua colonna $j$ è $[w_j]_{\mathcal A}$, e siccome $\mathcal A$ è la base canonica $[w_j]_{\mathcal A} = w_j$. Quindi > $$A^{-1} = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 2 & 1 \\ 3 & 1 & 1 \end{pmatrix}, \qquad A = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 2 & 1 \\ 3 & 1 & 1 \end{pmatrix}^{-1} = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & -1 \\ -4 & -1 & 2 \end{pmatrix}.$$ L'inversa della Soluzione 2 si calcola con i cofattori (lezione L10). Il determinante, lungo la prima riga, è $1 \cdot (2 \cdot 1 - 1 \cdot 1) = 1$. La trasposta dei cofattori, divisa per 1, dà proprio $A$. Controllo sulla prima colonna: $1 \cdot w_1 + 1 \cdot w_2 - 4 \cdot w_3 = (1 + 0 - 0,\ 2 + 2 - 4,\ 3 + 1 - 4) = (1, 0, 0) = e_1$. Nello strumento qui sotto la matrice è già $A^{-1}$: i vettori di $\mathcal B$ in colonna, cioè scritti per righe come $1\ 0\ 0;\ 2\ 2\ 1;\ 3\ 1\ 1$. Premi il pulsante e guarda le mosse di Gauss che trasformano $(A^{-1} \mid I)$ in $(I \mid A)$. ```widget gauss titolo: L'inversa di $[\id]^{\mathcal B}_{\mathcal A}$ è $[\id]^{\mathcal A}_{\mathcal B}$ matrice: 1 0 0; 2 2 1; 3 1 1 modo: inversa modi: inversa, determinante ``` > [!RICORDA] > - La matrice di cambiamento di base traduce le coordinate da una base all'altra. Nelle colonne ha i vettori della base di partenza, scritti nella base di arrivo. > - Verso la base canonica: i vettori in colonna. Nel verso opposto: l'inversa. ## Due macchine una dopo l'altra (pp. 80–81) Oltre a sommarle (lezione L15), le macchine lineari si possono mettere **in fila**: prima agisce $f$, poi sull'uscita agisce $g$. La nuova macchina si chiama **composizione** e si scrive $g \circ f$, che si legge «g dopo f». > [!ESEMPIO] · comporre e moltiplicare > Siano $f(x, y) = (x + y,\ y)$ e $g(u, v) = (2u,\ u - v)$, dal piano al piano. Allora > $$(g \circ f)(x, y) = g(x + y,\ y) = \big(2(x + y),\ (x + y) - y\big) = (2x + 2y,\ x).$$ > Le matrici nelle basi canoniche sono $[f] = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ e $[g] = \begin{pmatrix} 2 & 0 \\ 1 & -1 \end{pmatrix}$, e il prodotto > $$[g]\,[f] = \begin{pmatrix} 2 & 0 \\ 1 & -1 \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 2 \cdot 1 + 0 \cdot 0 & 2 \cdot 1 + 0 \cdot 1 \\ 1 \cdot 1 - 1 \cdot 0 & 1 \cdot 1 - 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 2 & 2 \\ 1 & 0 \end{pmatrix}$$ > è proprio la matrice di $g \circ f$. Controllo su un vettore: $f(3, 5) = (8, 5)$ e $g(8, 5) = (16, 3)$; con la matrice, $(2 \cdot 3 + 2 \cdot 5,\ 3) = (16, 3)$. Per prima cosa, la nuova macchina è ancora lineare. Le dispense lo scrivono così. > [!PROP] 16.4 > Se $f : V \to W$ e $g : W \to Z$ sono funzioni lineari, anche la composizione > $$g \circ f : V \to Z$$ > lo è. **Come si legge.** Due macchine che rispettano somme e multipli, messe in fila, danno una macchina che rispetta somme e multipli. > [!DIM] della Proposizione 16.4 (le dispense non la riportano) > Per $v, v'$ in $V$ e un numero $\lambda$: > $$(g \circ f)(v + v') = g\big(f(v) + f(v')\big) = g(f(v)) + g(f(v')), \qquad (g \circ f)(\lambda v) = g\big(\lambda f(v)\big) = \lambda\, g(f(v)).$$ > Nel primo passaggio di ciascuna catena si usa la linearità di $f$, nel secondo quella di $g$. Per le macchine date da una matrice, la composizione è proprio il prodotto delle matrici. Le dispense lo scrivono così. > [!PROP] 16.5 > Siano $A \in M(k, m, \K)$ e $B \in M(m, n, \K)$. Consideriamo > $$L_A : \K^m \to \K^k, \qquad L_B : \K^n \to \K^m.$$ > Vale la relazione > $$L_A \circ L_B = L_{AB}.$$ **Come si legge.** Moltiplicare prima per una matrice e poi per un'altra è come moltiplicare una volta sola per il loro prodotto. Il motivo, per ogni colonna $x$: $$L_A(L_B(x)) = A(Bx) = (AB)x = L_{AB}(x).$$ Il passaggio in mezzo è la regola delle parentesi del prodotto di matrici (lezione L08). Anche le taglie tornano. Per esempio, se $B$ è $3 \times 2$ trasforma coppie di numeri in terne. Se poi $A$ è $4 \times 3$, trasforma le terne in liste di 4 numeri. Il prodotto $AB$ è $4 \times 2$: va direttamente dalle coppie alle liste di 4 numeri. Lo stesso vale con basi qualsiasi. Le dispense lo scrivono così. > [!PROP] 16.6 > Siano $f : U \to V$ e $g : V \to W$ due applicazioni lineari. Siano $\mathcal B$, $\mathcal C$ e $\mathcal D$ basi di $U$, $V$ e $W$. Troviamo > $$[g \circ f]^{\mathcal B}_{\mathcal D} = [g]^{\mathcal C}_{\mathcal D}\,[f]^{\mathcal B}_{\mathcal C}.$$ **Come si legge.** La matrice delle due macchine in fila è il prodotto delle due matrici, con quella della prima macchina a destra. La base $\mathcal C$ dello spazio di mezzo compare in tutte e due le matrici e «sparisce» nel risultato. La dimostrazione delle dispense, con i passaggi: 1. Sia $\mathcal B = \{v_1, \dots, v_n\}$. Nella colonna $i$ della matrice di $g \circ f$ ci sono le coordinate di $g(f(v_i))$. 2. Per la Proposizione 15.9, con la macchina $g$ e il vettore $f(v_i)$: $[g(f(v_i))]_{\mathcal D} = [g]^{\mathcal C}_{\mathcal D}\,[f(v_i)]_{\mathcal C}$. 3. Ma le coordinate di $f(v_i)$ sono proprio la colonna $i$ della matrice di $f$. E una colonna di un prodotto di due matrici è la prima matrice per la colonna corrispondente della seconda. 4. Quindi le due matrici hanno le stesse colonne: sono uguali. > [!TRAPPOLA] L'ordine: si legge da destra a sinistra > «g dopo f» vuol dire che agisce prima $f$, e nel prodotto la sua matrice sta **a destra**: $[g][f]$. Il prodotto di matrici non rispetta lo scambio, quindi $[f][g]$ di solito è un'altra matrice, o non si può nemmeno calcolare se le taglie non tornano. Un aiuto: nella formula le basi si incastrano come tessere del domino, $[g]^{\mathcal C}_{\mathcal D}[f]^{\mathcal B}_{\mathcal C}$, e la base $\mathcal C$ in mezzo deve essere la stessa sopra e sotto. > [!ESEMPIO] · composizione con i polinomi > Siano $f : \R^2 \to \R_2[x]$, $f(u, v) = u x^2 + v$, e $g : \R_2[x] \to \R^2$, $g(p) = (p(1),\ p(2))$. Con le basi canoniche $\mathcal E$ di $\R^2$ e $\mathcal B = \{1, x, x^2\}$ dei polinomi: > - $f(e_1) = x^2$ e $f(e_2) = 1$, con coordinate $(0, 0, 1)$ e $(1, 0, 0)$, quindi $[f]^{\mathcal E}_{\mathcal B} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \\ 1 & 0 \end{pmatrix}$; > - $g(1) = (1, 1)$, $g(x) = (1, 2)$, $g(x^2) = (1, 4)$, quindi $[g]^{\mathcal B}_{\mathcal E} = \begin{pmatrix} 1 & 1 & 1 \\ 1 & 2 & 4 \end{pmatrix}$. > > Per la Proposizione 16.6: > $$[g \circ f]^{\mathcal E}_{\mathcal E} = \begin{pmatrix} 1 & 1 & 1 \\ 1 & 2 & 4 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 0 & 0 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 4 & 1 \end{pmatrix}.$$ > Controllo diretto: $(g \circ f)(u, v) = g(ux^2 + v) = (u + v,\ 4u + v)$, che ha proprio questa matrice. ::: prova Siano $f(x, y) = (2x, y)$ e $g(x, y) = (y, x)$. Qual è la matrice di $g \circ f$? $[g][f] = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 2 & 0 \end{pmatrix}$. Controllo: $g(f(x, y)) = g(2x, y) = (y, 2x)$. ::: ### Isomorfismi e matrici invertibili Una macchina ha un'inversa, cioè si può disfare, esattamente quando la sua matrice si può invertire. Le dispense lo scrivono così. > [!COROLLARIO] 16.7 > La funzione $f$ è un isomorfismo se e solo se la matrice associata $[f]^{\mathcal B}_{\mathcal C}$ è invertibile, e in questo caso la sua inversa è > $$\big[f^{-1}\big]^{\mathcal C}_{\mathcal B}.$$ **Come si legge.** Per sapere se una macchina è un isomorfismo, basta guardare la sua matrice: deve essere quadrata con determinante diverso da zero. E la matrice della macchina inversa è la matrice inversa. > [!DIM] del Corollario 16.7 > La dimostrazione delle dispense, spiegata. > 1. **Se $f$ è un isomorfismo, la matrice è invertibile.** C'è la macchina inversa $f^{-1}$, con $f^{-1} \circ f = \id_V$ e $f \circ f^{-1} = \id_W$. Per la Proposizione 16.6 e la Proposizione 15.11 ($[\id]^{\mathcal B}_{\mathcal B} = I_n$): > $$[f^{-1}]^{\mathcal C}_{\mathcal B}\,[f]^{\mathcal B}_{\mathcal C} = [f^{-1} \circ f]^{\mathcal B}_{\mathcal B} = I_n \qquad\text{e}\qquad [f]^{\mathcal B}_{\mathcal C}\,[f^{-1}]^{\mathcal C}_{\mathcal B} = [f \circ f^{-1}]^{\mathcal C}_{\mathcal C} = I_n,$$ > quindi $[f^{-1}]^{\mathcal C}_{\mathcal B}$ è l'inversa di $[f]^{\mathcal B}_{\mathcal C}$. > 2. **Se la matrice è invertibile, $f$ è un isomorfismo.** Sia $A = [f]^{\mathcal B}_{\mathcal C}$. Per il Teorema 15.12 ogni matrice è la matrice di una macchina lineare: c'è $g$ con $[g]^{\mathcal C}_{\mathcal B} = A^{-1}$. Allora $[g \circ f]^{\mathcal B}_{\mathcal B} = A^{-1}A = I_n = [\id_V]^{\mathcal B}_{\mathcal B}$, e siccome la matrice decide la macchina, $g \circ f = \id_V$. Allo stesso modo $f \circ g = \id_W$. Quindi $g$ è l'inversa di $f$. > [!ESEMPIO] · un isomorfismo tra polinomi e coppie di numeri > Sia $f(p) = (p(0),\ p(1))$, dai polinomi di grado al massimo 1 al piano. Con la base $\{1, x\}$ e la base canonica: $f(1) = (1, 1)$ e $f(x) = (0, 1)$, quindi > $$[f] = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}, \qquad \det [f] = 1.$$ > Il determinante non è zero: $f$ è un isomorfismo. La matrice dell'inversa è la matrice inversa: con la regola delle $2 \times 2$ (lezione L10), $[f^{-1}] = \begin{pmatrix} 1 & 0 \\ -1 & 1 \end{pmatrix}$. Quindi $f^{-1}(a, b)$ ha coordinate $(a,\ b - a)$: > $$f^{-1}(a, b) = a + (b - a)x.$$ > È il polinomio di grado al massimo 1 che vale $a$ in 0 e $b$ in 1. Controllo: $p(0) = a$ e $p(1) = a + b - a = b$. ### Cambiare le basi di una macchina Con la regola delle macchine in fila si può cambiare base a qualsiasi macchina: la si scrive come «traduci, applica, traduci di nuovo». Le dispense lo scrivono così. > [!COROLLARIO] 16.8 > Sia $f : V \to W$ un'applicazione lineare. Siano $\mathcal B_1, \mathcal B_2$ due basi di $V$ e $\mathcal C_1, \mathcal C_2$ due basi di $W$. Applicando la Proposizione 16.6 troviamo > $$[f]^{\mathcal B_2}_{\mathcal C_2} = [\id_W]^{\mathcal C_1}_{\mathcal C_2} \cdot [f]^{\mathcal B_1}_{\mathcal C_1} \cdot [\id_V]^{\mathcal B_2}_{\mathcal B_1}.$$ **Come si legge.** Per passare dalla matrice in certe basi alla matrice in altre basi, si moltiplica a sinistra e a destra per due traduttori. Il motivo: $f = \id_W \circ f \circ \id_V$, e le basi si incastrano come nel domino. Si legge da destra a sinistra: 1. il traduttore a destra porta le coordinate di partenza dalla base nuova a quella che conosci; 2. $[f]^{\mathcal B_1}_{\mathcal C_1}$ applica la macchina nelle basi che conosci già; 3. il traduttore a sinistra porta il risultato nella nuova base di arrivo. > [!ESEMPIO] · l'Esempio 15.8 rifatto con il Corollario 16.8 > Nella lezione L15 la macchina $f(p) = (p(2), p(-2))$, dai polinomi di grado al massimo 2 al piano, aveva matrice $\begin{pmatrix} 1 & 2 & 4 \\ 1 & -2 & 4 \end{pmatrix}$ con la base canonica $\mathcal C$ in arrivo. La base $\mathcal C' = \{(1, -1), (0, 1)\}$ in arrivo richiedeva tre sistemi. Con il corollario la base di partenza non cambia, quindi il traduttore a destra è l'identità: > - $[\id]^{\mathcal C'}_{\mathcal C} = \begin{pmatrix} 1 & 0 \\ -1 & 1 \end{pmatrix}$, con i vettori di $\mathcal C'$ in colonna; quindi $[\id]^{\mathcal C}_{\mathcal C'} = \begin{pmatrix} 1 & 0 \\ -1 & 1 \end{pmatrix}^{-1} = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}$; > - $$[f]^{\mathcal B}_{\mathcal C'} = [\id]^{\mathcal C}_{\mathcal C'}\,[f]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 1 & 2 & 4 \\ 1 & -2 & 4 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 4 \\ 2 & 0 & 8 \end{pmatrix}.$$ > > È la matrice dell'Esempio 15.8. Lo stesso conto è l'Esempio 4.3.14 del libro di Martelli. > [!RICORDA] > - Due macchine in fila: la matrice è il prodotto, con la prima macchina a destra. > - Una macchina è un isomorfismo esattamente quando la sua matrice è invertibile. > - Per cambiare base: traduttore a sinistra, matrice, traduttore a destra. ## La stessa macchina in due lingue: le matrici simili (pp. 81–83) Molte macchine partono e arrivano nello stesso spazio: girare il piano, derivare i polinomi, trasporre le matrici quadrate. Le dispense danno loro un nome. > [!DEF] 16.9 · Endomorfismo > Sia $V$ uno spazio vettoriale. Un **endomorfismo** è un'applicazione lineare > $$f : V \to V.$$ **Come si legge.** Un endomorfismo è una macchina lineare che parte e arriva nello **stesso** spazio. Esempi che conosci già: la macchina di una matrice quadrata; la derivata, dai polinomi di grado al massimo $n$ a sé stessi; la trasposta, dalle matrici quadrate a sé stesse; la moltiplicazione per un numero fisso, $v \mapsto \lambda v$. Per un endomorfismo è naturale usare **la stessa base** in partenza e in arrivo. Con una base $\mathcal B$, ogni endomorfismo ha una matrice quadrata $[f]^{\mathcal B}_{\mathcal B}$, e due endomorfismi in fila hanno come matrice il prodotto (Proposizione 16.6 con tre basi uguali): $$[f \circ g]^{\mathcal B}_{\mathcal B} = [f]^{\mathcal B}_{\mathcal B}\,[g]^{\mathcal B}_{\mathcal B}.$$ ### Come cambia la matrice di un endomorfismo Siano $\mathcal B$ e $\mathcal C$ due basi dello stesso spazio, e sia $$M = [\id]^{\mathcal B}_{\mathcal C}$$ il traduttore da $\mathcal B$ a $\mathcal C$. Allora $$[f]^{\mathcal B}_{\mathcal B} = M^{-1}\,[f]^{\mathcal C}_{\mathcal C}\,M.$$ Da dove viene: è il Corollario 16.8 con $\mathcal B_1 = \mathcal C_1 = \mathcal C$ e $\mathcal B_2 = \mathcal C_2 = \mathcal B$: $$[f]^{\mathcal B}_{\mathcal B} = [\id]^{\mathcal C}_{\mathcal B}\,[f]^{\mathcal C}_{\mathcal C}\,[\id]^{\mathcal B}_{\mathcal C} = M^{-1}\,[f]^{\mathcal C}_{\mathcal C}\,M,$$ perché il traduttore nel verso opposto è l'inverso di $M$. A parole, leggendo da destra: traduci dalla base nuova a quella vecchia, applica la macchina nella base vecchia, traduci il risultato nella base nuova. > [!METODO] Cambio di base per un endomorfismo, in quattro passi > 1. $A = [f]^{\mathcal C}_{\mathcal C}$ nella base canonica $\mathcal C$: si legge dai numeri davanti alle lettere. > 2. $M = [\id]^{\mathcal B}_{\mathcal C}$: i vettori della nuova base $\mathcal B$ **in colonna**. > 3. L'inversa $M^{-1}$: per una $2 \times 2$ scambia la diagonale, cambia segno agli altri due e dividi per il determinante; per una $3 \times 3$ usa i cofattori o Gauss. > 4. $[f]^{\mathcal B}_{\mathcal B} = M^{-1}AM$. **Controllo** senza inversa: la colonna $j$ deve dare le coordinate di $f(v_j)$ nella nuova base. Oppure moltiplica: $M$ per il risultato deve essere uguale ad $A$ per $M$. Ecco l'esempio delle dispense: una base in cui la matrice della macchina si legge a colpo d'occhio. > [!ESEMPIO] 16.10 · Una base in cui la matrice diventa diagonale > Prendiamo $f : \R^2 \to \R^2$ dato da > $$f\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} x + y \\ -y \end{pmatrix}.$$ > Rispetto alla base canonica $\mathcal C = \{e_1, e_2\}$ troviamo > $$[f]^{\mathcal C}_{\mathcal C} = \begin{pmatrix} 1 & 1 \\ 0 & -1 \end{pmatrix}.$$ > Prendiamo adesso come base > $$\mathcal B = \left\{ \begin{pmatrix} 1 \\ 0 \end{pmatrix}, \begin{pmatrix} -1 \\ 2 \end{pmatrix} \right\}.$$ > La matrice di cambiamento di base da $\mathcal B$ a $\mathcal C$ ha in colonna i vettori di $\mathcal B$: > $$M = [\id]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & -1 \\ 0 & 2 \end{pmatrix},$$ > e la sua inversa ($\det M = 2$) è > $$M^{-1} = [\id]^{\mathcal C}_{\mathcal B} = \frac 12 \begin{pmatrix} 2 & 1 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 1/2 \\ 0 & 1/2 \end{pmatrix}.$$ > Quindi la matrice associata a $f$ nella base $\mathcal B$ è > $$[f]^{\mathcal B}_{\mathcal B} = M^{-1}[f]^{\mathcal C}_{\mathcal C}M = \begin{pmatrix} 1 & 1/2 \\ 0 & 1/2 \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 0 & -1 \end{pmatrix}\begin{pmatrix} 1 & -1 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}.$$ > Passaggio intermedio: $[f]^{\mathcal C}_{\mathcal C}M = \begin{pmatrix} 1 & 1 \\ 0 & -2 \end{pmatrix}$, e $M^{-1}$ per questa dà $\begin{pmatrix} 1 + 0 & 1 - 1 \\ 0 & -1 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$. > > Possiamo verificare direttamente il risultato: il primo vettore della base $\mathcal B$ viene mandato in se stesso, mentre il secondo viene mandato nel suo opposto: > $$f\begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 0 \end{pmatrix}, \qquad f\begin{pmatrix} -1 \\ 2 \end{pmatrix} = \begin{pmatrix} 1 \\ -2 \end{pmatrix}.$$ > [!NOTA] Un simbolo mancante > Nelle dispense, a p. 82, l'ultima formula dell'Esempio 16.10 comincia con «${}^{\mathcal B}_{\mathcal B} = M^{-1}[f]^{\mathcal C}_{\mathcal C}M$»: manca il $[f]$ davanti, va letto $[f]^{\mathcal B}_{\mathcal B} = M^{-1}[f]^{\mathcal C}_{\mathcal C}M$. Nel disegno $f$ è uno **specchio** obliquo (nel libro di Martelli è l'Esempio 4.4.2): lascia ferma la retta di $(1, 0)$ e ribalta la retta di $(-1, 2)$. Nella base canonica la matrice non lo mostra. Nella base $\mathcal B$, fatta di vettori speciali per $f$, la matrice è diagonale e si legge tutto. È proprio l'idea degli **autovettori** della lezione L17. ```grafico titolo: $f(x, y) = (x + y, -y)$ fissa $v_1$ e ribalta $v_2$: nella base $\{v_1, v_2\}$ la matrice è diagonale x: -2.5 2.5 y: -2.5 2.5 retta: 0 0 1 0 | accento | tratteggio | sottile retta: 0 0 -1 2 | viola | tratteggio | sottile vettore: 1 0 | accento | spesso | $v_1 = f(v_1)$ | n vettore: -1 2 | viola | spesso | $v_2$ | o vettore: 1 -2 | rosa | spesso | $f(v_2) = -v_2$ | e ``` Nello strumento qui sotto la matrice è quella dell'Esempio 16.10 nella base canonica. Le due rette tratteggiate che compaiono sono quelle su cui $f$ agisce senza girare i vettori: sono proprio le rette dei due vettori della nuova base, $(1, 0)$ e $(-1, 2)$. Trascina il vettore $x$ su una di queste rette e guarda $Ax$. ```widget matrice titolo: La riflessione dell'Esempio 16.10 a: 1 1; 0 -1 x: -1 2 raggio: 3 ``` ### Il nome: matrici simili Le due matrici dell'Esempio 16.10 descrivono la stessa macchina, in due lingue. Le dispense danno un nome a questa parentela. > [!DEF] 16.11 · Matrici simili > Sia $M(n)$ l'insieme delle matrici quadrate $n \times n$. Diciamo che due matrici $A, B \in M(n)$ sono **simili** (o **coniugate**) se esiste una matrice invertibile $M \in M(n)$ tale che > $$A = M^{-1}BM.$$ > Se $A$ e $B$ sono simili scriviamo $A \sim B$. **Come si legge.** - Due matrici simili descrivono **la stessa macchina in due basi diverse**. - $M$ deve essere **invertibile**: è un traduttore, e le sue colonne formano una base. - Nella formula $A = M^{-1}BM$, la matrice $B$ descrive la macchina nella base «vecchia». La matrice $A$ la descrive nella base nuova, quella che ha i vettori nelle colonne di $M$. - Il simbolo $\sim$ si legge «è simile a». Nell'Esempio 16.10: $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \sim \begin{pmatrix} 1 & 1 \\ 0 & -1 \end{pmatrix}$, con $M = \begin{pmatrix} 1 & -1 \\ 0 & 2 \end{pmatrix}$. Le dispense osservano che essere simili è una parentela «ben fatta». > [!PROP] 16.12 > La similitudine è una relazione di equivalenza in $M(n)$. **Come si legge.** Ci sono tre regole. Ogni matrice è simile a sé stessa. Se una matrice è simile a una seconda, anche la seconda è simile alla prima. Se la prima è simile alla seconda e la seconda a una terza, la prima è simile alla terza. Quindi le matrici quadrate si dividono in famiglie separate: ogni famiglia raccoglie tutte le matrici della stessa macchina, al variare della base (lezione D03 di Matematica Discreta). > [!DIM] della Proposizione 16.12 (dal libro di Martelli, Proposizione 4.4.5) > Bisogna controllare le tre proprietà di una relazione di equivalenza. > 1. **Riflessiva**, ogni $A$ è simile a sé stessa: con $M = I_n$ viene $A = I_n^{-1} A I_n$. > 2. **Simmetrica**, se $A$ è simile a $B$ allora $B$ è simile ad $A$: da $A = M^{-1}BM$, moltiplicando a sinistra per $M$ e a destra per $M^{-1}$, viene $B = MAM^{-1}$. Con $N = M^{-1}$, che è invertibile, $B = N^{-1}AN$. > 3. **Transitiva**, se $A$ è simile a $B$ e $B$ a $C$ allora $A$ è simile a $C$: da $A = M^{-1}BM$ e $B = N^{-1}CN$ viene > $$A = M^{-1}N^{-1}CNM = (NM)^{-1}\,C\,(NM),$$ > perché $(NM)^{-1} = M^{-1}N^{-1}$. E $NM$ è invertibile, prodotto di invertibili. ### Che cosa hanno in comune le matrici simili Se due matrici descrivono la stessa macchina, le proprietà della macchina devono vedersi in tutte e due. Per esempio di quanto la macchina ingrandisce le aree, cioè il determinante. Le dispense lo scrivono così. > [!PROP] 16.13 > Se $A \sim B$ allora > $$\rk(A) = \rk(B), \qquad \det(A) = \det(B).$$ > In particolare > $$A \text{ è invertibile} \iff B \text{ è invertibile}.$$ **Come si legge.** Matrici simili hanno lo stesso rango e lo stesso determinante. Quindi sono tutte e due invertibili o tutte e due no. Il perché, con i passaggi delle dispense. Sia $A = M^{-1}BM$. 1. **Determinante.** Per il teorema di Binet (lezione L10) e il Corollario 10.5, il determinante di $M^{-1}$ è $\frac{1}{\det M}$: $$\det A = \det(M^{-1})\,\det B\,\det M = \frac{1}{\det M}\,\det B\,\det M = \det B.$$ 2. **Rango.** Moltiplicare a sinistra o a destra per una matrice invertibile non cambia il rango, quindi $\rk(A) = \rk(M^{-1}BM) = \rk(B)$. 3. **Invertibilità.** Una matrice quadrata è invertibile esattamente quando ha determinante diverso da zero (Proposizione 10.8), e i due determinanti sono uguali. > [!ESEMPIO] · simili oppure no? > - $\begin{pmatrix} 1 & 2 \\ 1 & 1 \end{pmatrix}$ e $\begin{pmatrix} -1 & 2 \\ 1 & 1 \end{pmatrix}$ **non** sono simili: i determinanti sono $1 - 2 = -1$ e $-1 - 2 = -3$. > - $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ e $\begin{pmatrix} 4 & 3 \\ 2 & 1 \end{pmatrix}$ **sono** simili. Con $M = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$, che scambia l'ordine dei due vettori della base e ha $M^{-1} = M$, viene $M^{-1}\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}M = \begin{pmatrix} 4 & 3 \\ 2 & 1 \end{pmatrix}$ (esercizio 10). > [!TRAPPOLA] Stesso rango e stesso determinante non bastano > La Proposizione 16.13 va in un verso solo. Un controesempio: $I_2$ e $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ hanno tutte e due rango 2 e determinante 1, ma **non** sono simili. Infatti $I_2$ è simile solo a sé stessa: $M^{-1}I_2M = M^{-1}M = I_2$ per ogni $M$ invertibile. La macchina identità lascia tutto com'è, in qualsiasi lingua. Lo stesso vale per ogni multiplo $\lambda I_n$. > [!OLTRE] anche la traccia non cambia > Anche la **traccia**, la somma dei numeri sulla diagonale (lezione L08), è la stessa per matrici simili. Si usa la regola $\tr(XY) = \tr(YX)$ della Proposizione 8.13, con $X = M^{-1}$ e $Y = BM$: > $$\tr(M^{-1}BM) = \tr(BMM^{-1}) = \tr(B).$$ > Nel quiz è un modo veloce per escludere risposte: due matrici con tracce diverse non sono simili. Nella lezione L17 vedrai il controllo più potente, il polinomio caratteristico. > [!OLTRE] dove trovarlo nel libro > Nel libro di Martelli: §4.2.4 «Composizione di applicazioni lineari» (pp. 126–127), §4.3.3 (pp. 132–134: composizione e Corollario 4.3.10, che è il nostro 16.7), §4.3.5 «Matrice di cambiamento di base» (pp. 135–137, con gli Esempi 4.3.14 e 4.3.15 che rifanno gli esempi della lezione L15), §4.4.1–4.4.3 «Endomorfismi» e «Similitudine fra matrici» (pp. 137–140), §4.4.5 sulla traccia (p. 141). ::: prova Le matrici $\begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}$ e $\begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix}$ sono simili? No: i determinanti sono 2 e 4, diversi. ::: > [!RICORDA] > - Un endomorfismo parte e arriva nello stesso spazio; cambiando base la sua matrice diventa $M^{-1}AM$. > - Matrici simili = stessa macchina in due basi. Hanno stesso rango, determinante e traccia, ma queste uguaglianze non bastano per essere simili. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\id$ | «identità» | la macchina che lascia tutto com'è | | | $[\id]^{\mathcal B}_{\mathcal C}$ | «matrice di cambiamento di base da B a C» | il traduttore delle coordinate | vettori di $\mathcal B$ in colonna, se $\mathcal C$ è canonica | | $g \circ f$ | «g dopo f» | prima agisce $f$, poi $g$ | | | $L_A$ | «elle a» | la macchina che moltiplica per $A$ | $L_A \circ L_B = L_{AB}$ | | $f^{-1}$ | «effe alla meno uno» | la macchina inversa | | | $M^{-1}AM$ | «emme alla meno uno, a, emme» | la matrice della stessa macchina nella base nuova | | | $\sim$ | «è simile a» | stessa macchina in due basi | $A \sim B$ | | $\tr$ | «traccia» | somma dei numeri sulla diagonale | $\tr \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = 5$ | | $\rk$ | «rango» | quante colonne dicono qualcosa di nuovo | | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame.** I cambi di base e le matrici associate sono tra gli esercizi più ricorrenti di Algebra lineare. Negli appelli 2023–2026: | Tipo di domanda | Dove | |---|---| | matrice di cambiamento di base nel piano, nello spazio o tra polinomi | 10/06/2024 d. 8; 06/09/2024 d. 5; 10/07/2025 d. 6 (basi canoniche permutate); 02/09/2025 d. 8 (tre basi) | | matrice di due macchine in fila, o formula della composizione | 08/02/2024 d. 5; 16/01/2025 d. 5; 15/01/2026 d. 10 (nucleo di $S \circ T$); 03/07/2026 d. 5 ($T \circ S = 0$) | | matrice $[T]^{\mathcal B}_{\mathcal B}$ in una base data, o $A$ ricavata da $[L_A]^{\mathcal B}_{\mathcal B}$ | 24/01/2024 d. 3; 03/06/2025 d. 5; 15/01/2026 d. 8 | | problema aperto: matrici di cambiamento di base, $[T]^{\mathcal A}_{\mathcal A}$ e $[T]^{\mathcal B}_{\mathcal B}$ | 07/09/2026 problema 11; matrice della macchina inversa: 10/07/2024 problema 11 | ### Una domanda vera, letta insieme **Appello del 24/01/2024, domanda 3** (anche foglio 3 del tutorato, esercizio 5). Il testo: «La matrice associata a $T(x, y) = (2x + y,\ x + 2y)$ rispetto alla base $\mathcal B = \{(0, 1), (1, 2)\}$ è…». **In pratica chiede:** la stessa macchina, scritta nella lingua della base $(0, 1), (1, 2)$ invece che in quella canonica. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: la matrice nella base canonica.** Dai numeri davanti alle lettere: $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$. > > **Passo 2: il traduttore.** I vettori della base in colonna: $M = \begin{pmatrix} 0 & 1 \\ 1 & 2 \end{pmatrix}$, con determinante $0 - 1 = -1$. > > **Passo 3: l'inversa.** Scambio la diagonale, cambio segno agli altri due, divido per $-1$: $M^{-1} = \begin{pmatrix} -2 & 1 \\ 1 & 0 \end{pmatrix}$. > > **Passo 4: il prodotto, un pezzo alla volta.** > $$AM = \begin{pmatrix} 1 & 4 \\ 2 & 5 \end{pmatrix}, \qquad M^{-1}(AM) = \begin{pmatrix} -2 + 2 & -8 + 5 \\ 1 & 4 \end{pmatrix} = \begin{pmatrix} 0 & -3 \\ 1 & 4 \end{pmatrix}.$$ > > **Passo 5: controllo senza inversa.** $T(0, 1) = (1, 2)$, che è il secondo vettore della base: coordinate $(0, 1)$, la prima colonna. $T(1, 2) = (4, 5) = -3 \cdot (0, 1) + 4 \cdot (1, 2)$: coordinate $(-3, 4)$, la seconda colonna. > > **La risposta** è $\begin{pmatrix} 0 & -3 \\ 1 & 4 \end{pmatrix}$. Tra le risposte c'era anche la trasposta $\begin{pmatrix} 0 & 1 \\ -3 & 4 \end{pmatrix}$: le coordinate vanno in colonna. ### Altre due domande vere > [!ESAME] Appello del 16/01/2025, domanda 5 > *Siano $f : \R^2 \to \R_2[x]$, $f(u, v) = ux^2 + vx$, e $g : \R_2[x] \to \R^2$, $g(p) = (p(1) + p(2),\ p(1) - p(-1))$. La matrice di $g \circ f$ rispetto alle basi canoniche è …* > > **Soluzione.** La via più corta è far lavorare le due macchine in fila sui vettori della base. > 1. $g(f(e_1)) = g(x^2) = (1 + 4,\ 1 - 1) = (5, 0)$. > 2. $g(f(e_2)) = g(x) = (1 + 2,\ 1 - (-1)) = (3, 2)$. > > Quindi la matrice è $\begin{pmatrix} 5 & 3 \\ 0 & 2 \end{pmatrix}$. Con il prodotto: $[g] = \begin{pmatrix} 2 & 3 & 5 \\ 0 & 2 & 0 \end{pmatrix}$ (colonne $g(1), g(x), g(x^2)$), $[f] = \begin{pmatrix} 0 & 0 \\ 0 & 1 \\ 1 & 0 \end{pmatrix}$, e $[g][f] = \begin{pmatrix} 5 & 3 \\ 0 & 2 \end{pmatrix}$. Una delle risposte sbagliate conteneva le lettere $u$ e $v$: una matrice associata contiene solo numeri. > [!ESAME] Appello del 07/09/2026, problema 11 (punti 1–3) > *$\mathcal A$ base canonica di $\R^3$; $\mathcal B = \{v_1, v_2, v_3\}$ con* > $$v_1 = (1, 1, 0), \quad v_2 = (1, 0, 1), \quad v_3 = (1, 1, 1);$$ > *$T(a, b, c) = (2a + c,\ a + b,\ -a + b + 3c)$. (1) Determinare $[\id]^{\mathcal B}_{\mathcal A}$ e $[\id]^{\mathcal A}_{\mathcal B}$. (2) Trovare $[T]^{\mathcal A}_{\mathcal A}$. (3) Trovare $[T]^{\mathcal B}_{\mathcal B}$.* > > **Soluzione.** > 1. $M = [\id]^{\mathcal B}_{\mathcal A} = \begin{pmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 0 & 1 & 1 \end{pmatrix}$, con i $v_j$ in colonna. Il determinante è $-1$, e $[\id]^{\mathcal A}_{\mathcal B} = M^{-1} = \begin{pmatrix} 1 & 0 & -1 \\ 1 & -1 & 0 \\ -1 & 1 & 1 \end{pmatrix}$. Controllo: $MM^{-1} = I_3$. > 2. Dai numeri davanti alle lettere: $[T]^{\mathcal A}_{\mathcal A} = \begin{pmatrix} 2 & 0 & 1 \\ 1 & 1 & 0 \\ -1 & 1 & 3 \end{pmatrix}$. > 3. $[T]^{\mathcal B}_{\mathcal B} = M^{-1}[T]^{\mathcal A}_{\mathcal A}M = \begin{pmatrix} 2 & 1 & 0 \\ 0 & 2 & 1 \\ 0 & 0 & 2 \end{pmatrix}$. Controllo senza inverse: $T(v_1) = (2, 2, 0) = 2v_1$; $T(v_2) = (3, 1, 2) = v_1 + 2v_2$; $T(v_3) = (3, 2, 3) = v_2 + 2v_3$. Le coordinate sono proprio le colonne. > > Il punto (4), gli autovalori, si risolve con la lezione L17: la matrice nella base $\mathcal B$ è triangolare, con 2 sulla diagonale. **Errori da evitare.** - Confondere il traduttore con il suo inverso: i vettori di $\mathcal B$ in colonna portano dalle coordinate in $\mathcal B$ a quelle canoniche, non il contrario. - Scrivere $MAM^{-1}$ al posto di $M^{-1}AM$, o il contrario. Con $M$ che ha in colonna la base nuova, la matrice nella base nuova è $M^{-1}AM$. Nel dubbio, controlla una colonna calcolando $f(v_1)$. - Invertire l'ordine nella composizione: la matrice di $g \circ f$ è $[g][f]$. - Dimenticare che l'ordine dei vettori di una base cambia l'ordine delle righe e delle colonne. - Pensare che rango e determinante uguali bastino per essere simili. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: «colonne di $[\id]^{\mathcal B}_{\mathcal C}$ = vettori di $\mathcal B$ in coordinate $\mathcal C$; $[v]_{\mathcal C} = [\id]^{\mathcal B}_{\mathcal C}[v]_{\mathcal B}$»; «$[g \circ f] = [g][f]$, basi come nel domino»; «$[f]^{\mathcal B}_{\mathcal B} = M^{-1}[f]^{\mathcal C}_{\mathcal C}M$ con $M = [\id]^{\mathcal B}_{\mathcal C}$»; l'inversa $2 \times 2$; «matrici simili: stesso rango, determinante e traccia». ## Quiz ```quiz D: In $\R_1[x]$, la matrice di cambiamento di base $[\id]^{\mathcal B}_{\mathcal C}$ da $\mathcal B = \{3x, 2\}$ a $\mathcal C = \{x + 1, x - 1\}$ è: + $\begin{pmatrix} 3/2 & 1 \\ 3/2 & -1 \end{pmatrix}$ - $\begin{pmatrix} 3/2 & 3/2 \\ 1 & -1 \end{pmatrix}$ - $\begin{pmatrix} 1/3 & 1/3 \\ 1/2 & -1/2 \end{pmatrix}$ - $\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$ - $\begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix}$ = Nelle colonne vanno le coordinate dei vettori di $\mathcal B$ rispetto a $\mathcal C$. Per $3x = a(x + 1) + b(x - 1)$ servono $a + b = 3$ e $a - b = 0$, cioè $a = b = \frac 32$. Per $2 = a(x + 1) + b(x - 1)$ servono $a + b = 0$ e $a - b = 2$, cioè $a = 1$ e $b = -1$. La risposta più insidiosa è la seconda, la trasposta, con le coordinate in riga. La terza è il traduttore nel verso opposto, $[\id]^{\mathcal C}_{\mathcal B}$. Simile all'appello del 10/06/2024, domanda 8. D: La matrice di cambiamento di base $[\id]^{\mathcal B}_{\mathcal C}$ da $\mathcal B = \{e_3, e_1, e_2\}$ a $\mathcal C = \{e_1, e_2, e_3\}$ in $\R^3$ è: + $\begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix}$ - $\begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \end{pmatrix}$ - Il problema non è ben definito. = La colonna $j$ contiene le coordinate del vettore $j$ di $\mathcal B$ nella base canonica: $e_3$ dà $(0, 0, 1)$, $e_1$ dà $(1, 0, 0)$, $e_2$ dà $(0, 1, 0)$. La risposta più insidiosa è la seconda, la trasposta, che è il traduttore nel verso opposto. L'identità sarebbe giusta solo con le due basi nello stesso ordine. Simile all'appello del 10/07/2025, domanda 6. D: Siano $\mathcal A, \mathcal B, \mathcal C$ tre basi di $\R^2$ con $[\id]^{\mathcal A}_{\mathcal B} = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ e $[\id]^{\mathcal C}_{\mathcal B} = \begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix}$. Allora $[\id]^{\mathcal A}_{\mathcal C}$ è: + $\begin{pmatrix} 1 & 1 \\ -2 & -1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 2 & 3 \end{pmatrix}$ - $\begin{pmatrix} -1 & 1 \\ -2 & 1 \end{pmatrix}$ - $\begin{pmatrix} -1 & -1 \\ 2 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ = Le basi si incastrano come nel domino: $[\id]^{\mathcal A}_{\mathcal C} = [\id]^{\mathcal B}_{\mathcal C}[\id]^{\mathcal A}_{\mathcal B}$. Il primo fattore è il traduttore inverso di quello dato: $\begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix}^{-1} = \begin{pmatrix} 1 & 0 \\ -2 & 1 \end{pmatrix}$. Il prodotto è $\begin{pmatrix} 1 & 1 \\ -2 & -1 \end{pmatrix}$. La risposta più insidiosa è la seconda: è il prodotto delle due matrici date, senza invertire. Le altre vengono da prodotti nell'ordine sbagliato. Simile all'appello del 02/09/2025, domanda 8. D: Siano $f : \R^2 \to \R_2[x]$, $f(u, v) = ux^2 + v$, e $g : \R_2[x] \to \R^2$, $g(p) = (p(1),\ p(2))$. La matrice di $g \circ f$ rispetto alla base canonica di $\R^2$ è: + $\begin{pmatrix} 1 & 1 \\ 4 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 4 \\ 1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 & 1 \\ 1 & 2 & 4 \end{pmatrix}$ - $\begin{pmatrix} u & 1 \\ v & 4 \end{pmatrix}$ - $\begin{pmatrix} 2 & 1 \\ 5 & 2 \end{pmatrix}$ = Le due macchine in fila sui vettori della base: $(g \circ f)(e_1) = g(x^2) = (1, 4)$ e $(g \circ f)(e_2) = g(1) = (1, 1)$. Sono le due colonne. La risposta più insidiosa è la seconda, la trasposta. In una matrice associata non compaiono le lettere $u$ e $v$; la terza risposta è la sola matrice di $g$, che è $2 \times 3$. Simile all'appello del 16/01/2025, domanda 5. D: Sia $\mathcal B = \{(1, 1), (0, 1)\}$ e sia $A \in M(2, \R)$ tale che $[L_A]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$. Allora $A$ è: + $\begin{pmatrix} -1 & 2 \\ -2 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 3 & 2 \\ -2 & -1 \end{pmatrix}$ - $\begin{pmatrix} -1 & -2 \\ 2 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 \\ 1 & 3 \end{pmatrix}$ = Il traduttore ha i vettori di $\mathcal B$ in colonna, $M = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}$, e vale $[L_A]^{\mathcal B}_{\mathcal B} = M^{-1}AM$. Per ricavare $A$ si gira la formula: $A = M\,[L_A]^{\mathcal B}_{\mathcal B}\,M^{-1} = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 1 & 0 \\ -1 & 1 \end{pmatrix} = \begin{pmatrix} -1 & 2 \\ -2 & 3 \end{pmatrix}$. Controllo: $A(1, 1) = (1, 1)$, con coordinate $(1, 0)$ nella base $\mathcal B$, la prima colonna data. La risposta più insidiosa è la terza, che usa la formula al contrario, $M^{-1}\,[L_A]^{\mathcal B}_{\mathcal B}\,M$. Simile all'appello del 03/06/2025, domanda 5. D: Se $A, B \in M(2, \R)$ sono simili, quale affermazione è necessariamente vera? + $\det A = \det B$ - $A = B$ - $AB = BA$ - $A$ e $B$ hanno la stessa prima riga. - $\rk(A) = \rk(B) + 1$ = Per la Proposizione 16.13 matrici simili hanno lo stesso determinante e lo stesso rango; quindi l'ultima risposta è sempre falsa. Le altre tre non sono obbligatorie: $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$ e $\begin{pmatrix} 1 & 1 \\ 0 & -1 \end{pmatrix}$ sono simili (Esempio 16.10), ma sono diverse, non si scambiano nel prodotto e hanno prima riga diversa. La più insidiosa è $A = B$: simili vuol dire stessa macchina, non stessa matrice. D: Quale di queste matrici è simile alla matrice identità $I_2$? + $\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 0 \\ 0 & 1/2 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} -1 & 0 \\ 0 & -1 \end{pmatrix}$ = Per ogni $M$ invertibile, $M^{-1}I_2M = I_2$: l'identità è simile solo a sé stessa. La macchina che lascia tutto com'è resta così in qualsiasi base. Le altre quattro hanno tutte rango 2 e determinante $1$ o $-1$; la più insidiosa è $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$, che ha anche la stessa traccia e lo stesso determinante: ma queste uguaglianze non bastano. D: Siano $f, g : \R^3 \to \R^3$ lineari con $g \circ f = 0$ (l'applicazione nulla) e $f \neq 0$. Quale affermazione è sempre vera? + $\Imm f \subseteq \Ker g$ - $\Ker g = \{0\}$ - $g$ è un isomorfismo. - $\Imm g \subseteq \Ker f$ - $f$ è suriettiva. = Per ogni $v$, $g(f(v)) = 0$: ogni uscita di $f$ viene schiacciata da $g$, cioè sta nel nucleo di $g$. Se il nucleo di $g$ fosse solo lo zero, o se $g$ fosse un isomorfismo, allora tutte le uscite di $f$ sarebbero zero, contro $f \neq 0$. La risposta più insidiosa è quella con i ruoli scambiati: con $f(x, y, z) = (0, x, 0)$ e $g(x, y, z) = (x, 0, 0)$ viene $g \circ f = 0$, ma $f(g(e_1)) = e_2$, non zero. E questa $f$ non è suriettiva. Simile all'appello del 03/07/2026, domanda 5. D: Siano $T : \R^2 \to \R^3$, $T(x, y) = (x,\ x + y,\ y)$, e $S : \R^3 \to \R^2$, $S(a, b, c) = (a - b,\ b + c)$. La composizione $S \circ T$ è: + $(x, y) \mapsto (-y,\ x + 2y)$ - $(x, y, z) \mapsto (x - y,\ y + z)$ - $(x, y) \mapsto (x - y,\ 2y)$ - $(x, y, z) \mapsto (x - y,\ x + z,\ y + z)$ - Non è ben definita. = Prima agisce $T$, poi $S$: $S(T(x, y)) = S(x,\ x + y,\ y) = \big(x - (x + y),\ (x + y) + y\big) = (-y,\ x + 2y)$. È una macchina dal piano al piano, quindi le risposte con tre lettere in entrata sono sbagliate già per la partenza. La più insidiosa è la seconda, che è $S$ da sola. Simile all'appello dell'08/02/2024, domanda 5. D: Sia $T(x, y) = (4x - 2y,\ x + y)$ e sia $\mathcal B = \{(1, 1), (2, 1)\}$. La matrice $[T]^{\mathcal B}_{\mathcal B}$ è: + $\begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix}$ - $\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$ - $\begin{pmatrix} 4 & -2 \\ 1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 6 \\ 2 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 \\ 1 & 1 \end{pmatrix}$ = $T(1, 1) = (2, 2) = 2 \cdot (1, 1)$ e $T(2, 1) = (6, 3) = 3 \cdot (2, 1)$: le coordinate sono $(2, 0)$ e $(0, 3)$. La risposta più insidiosa è $\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$: i numeri giusti, ma l'ordine sulla diagonale segue l'ordine della base. La quarta mette le uscite senza passare alle coordinate; la terza è la matrice nella base canonica. ``` ## Esercizi ::: esercizio base Riscaldamento: la base in colonna Nella base $\mathcal B = \{(2, 1), (1, 1)\}$ del piano scrivi il traduttore $[\id]^{\mathcal B}_{\mathcal C}$ verso la base canonica $\mathcal C$. Poi trova il vettore che ha coordinate $(1, 3)$ nella base $\mathcal B$. ::: soluzione 1. La base di arrivo è canonica: i vettori di $\mathcal B$ in colonna, $[\id]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$. 2. $\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 1 \\ 3 \end{pmatrix} = \begin{pmatrix} 2 + 3 \\ 1 + 3 \end{pmatrix} = \begin{pmatrix} 5 \\ 4 \end{pmatrix}$. Controllo con la ricetta: $1 \cdot (2, 1) + 3 \cdot (1, 1) = (5, 4)$. ::: ::: esercizio base Riscaldamento: due macchine in fila Siano $f(x, y) = (2x, y)$ e $g(x, y) = (y, x)$. Scrivi le loro matrici nella base canonica e la matrice di $g \circ f$. Controlla con la formula. ::: soluzione 1. $[f] = \begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix}$ e $[g] = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$. 2. $[g \circ f] = [g][f] = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 2 & 0 \end{pmatrix}$. 3. Controllo: $g(f(x, y)) = g(2x, y) = (y, 2x)$, che ha proprio questa matrice. ::: ::: esercizio base Riscaldamento: l'ordine conta Con le macchine dell'esercizio precedente, calcola la matrice di $f \circ g$. È uguale a quella di $g \circ f$? ::: soluzione 1. $[f \circ g] = [f][g] = \begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix}$. 2. Controllo: $f(g(x, y)) = f(y, x) = (2y, x)$. È diversa da $\begin{pmatrix} 0 & 1 \\ 2 & 0 \end{pmatrix}$: mettere le macchine in fila in un altro ordine dà un'altra macchina. ::: ::: esercizio base Riscaldamento: simili o no? (a) $\begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}$ e $\begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix}$ sono simili? (b) E $\begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}$ e $\begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix}$? ::: soluzione 1. (a) No: i determinanti sono 2 e 4. 2. (b) Sì. È la stessa macchina con i due vettori della base in ordine scambiato. Con $M = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$, che è l'inversa di sé stessa: $M^{-1}\begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}M = \begin{pmatrix} 0 & 2 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix}$. ::: ::: esercizio base Cambiamento di base in $\R^3$ (foglio 3 del tutorato, esercizio 1) Siano $v_1 = (1, 0, 2)$, $v_2 = (2, 0, 1)$, $v_3 = (0, 1, 1)$. Verifica che $\mathcal B = \{v_1, v_2, v_3\}$ è una base di $\R^3$ e trova la matrice di cambiamento di base da $\mathcal B$ alla base canonica $\mathcal E$ e viceversa. ::: soluzione Il traduttore verso la base canonica ha i vettori in colonna: $M = [\id]^{\mathcal B}_{\mathcal E} = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 0 & 1 \\ 2 & 1 & 1 \end{pmatrix}$. Sviluppo lungo la seconda riga, che ha un solo numero diverso da zero (casella $(2, 3)$, segno meno): $$\det M = -1 \cdot \det\begin{pmatrix} 1 & 2 \\ 2 & 1 \end{pmatrix} = -(1 - 4) = 3.$$ Il determinante non è zero: i tre vettori sono indipendenti e, siccome sono tre nello spazio, formano una base (Teorema 7.12). Il traduttore nel verso opposto, $[\id]^{\mathcal E}_{\mathcal B}$, è l'inversa, con i cofattori o con Gauss: $$M^{-1} = \frac 13 \begin{pmatrix} -1 & -2 & 2 \\ 2 & 1 & -1 \\ 0 & 3 & 0 \end{pmatrix}.$$ Controllo su una colonna: la prima colonna di $M^{-1}$ deve dare le coordinate di $e_1$: $-\frac 13 v_1 + \frac 23 v_2 + 0 v_3 = \left(-\frac 13 + \frac 43,\ 0,\ -\frac 23 + \frac 23\right) = (1, 0, 0)$. ::: ::: esercizio base Composizioni nei due ordini Siano $f : \R^2 \to \R^3$, $f(x, y) = (x,\ x + y,\ 2y)$, e $g : \R^3 \to \R^2$, $g(a, b, c) = (a + c,\ b - c)$. Calcola le matrici di $g \circ f$ e di $f \circ g$ nelle basi canoniche, e controlla il risultato con le formule. ::: soluzione $[f] = \begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 0 & 2 \end{pmatrix}$ è $3 \times 2$, $[g] = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & -1 \end{pmatrix}$ è $2 \times 3$. $$[g \circ f] = [g][f] = \begin{pmatrix} 1 + 0 + 0 & 0 + 0 + 2 \\ 0 + 1 + 0 & 0 + 1 - 2 \end{pmatrix} = \begin{pmatrix} 1 & 2 \\ 1 & -1 \end{pmatrix}.$$ Controllo: $g(f(x, y)) = g(x,\ x + y,\ 2y) = (x + 2y,\ x + y - 2y) = (x + 2y,\ x - y)$. $$[f \circ g] = [f][g] = \begin{pmatrix} 1 & 0 & 1 \\ 1 & 1 & 0 \\ 0 & 2 & -2 \end{pmatrix}.$$ Controllo: $f(g(a, b, c)) = f(a + c,\ b - c) = (a + c,\ a + b,\ 2b - 2c)$. Nota che $f \circ g$ passa per il piano, quindi la sua immagine ha dimensione al massimo 2. Infatti il determinante di $[f \circ g]$ è $1 \cdot (-2 - 0) - 0 + 1 \cdot (2 - 0) = 0$, e il rango è 2. ::: ::: esercizio medio Esercizio 16.14 delle dispense: un endomorfismo che diventa diagonale Consideriamo l'endomorfismo $f : \R^2 \to \R^2$ definito da $f(x, y) = (2x + y,\ x + 2y)$. Siano $\mathcal C = \{e_1, e_2\}$ la base canonica e $\mathcal B = \{v_1, v_2\}$ con $v_1 = (1, 1)$, $v_2 = (1, -1)$. (1) Trovare la matrice $A = [f]^{\mathcal C}_{\mathcal C}$. (2) Trovare la matrice di cambiamento di base $M = [\id]^{\mathcal B}_{\mathcal C}$. (3) Calcolare $[f]^{\mathcal B}_{\mathcal B}$ usando la formula di cambiamento di base. (4) Verificare il risultato calcolando direttamente $f(v_1)$ e $f(v_2)$. ::: soluzione (1) Dai numeri davanti alle lettere: $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$, con colonne $f(e_1) = (2, 1)$ e $f(e_2) = (1, 2)$. (2) La base di arrivo è canonica: i vettori di $\mathcal B$ in colonna, $M = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$. (3) Il determinante di $M$ è $-1 - 1 = -2$, quindi $$M^{-1} = \frac{1}{-2}\begin{pmatrix} -1 & -1 \\ -1 & 1 \end{pmatrix} = \begin{pmatrix} 1/2 & 1/2 \\ 1/2 & -1/2 \end{pmatrix}.$$ Poi, un prodotto alla volta: $$M^{-1}A = \begin{pmatrix} 3/2 & 3/2 \\ 1/2 & -1/2 \end{pmatrix}, \qquad (M^{-1}A)M = \begin{pmatrix} 3/2 & 3/2 \\ 1/2 & -1/2 \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}.$$ Quindi $[f]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}$. (4) $f(v_1) = f(1, 1) = (3, 3) = 3v_1 + 0v_2$ e $f(v_2) = f(1, -1) = (1, -1) = 0v_1 + 1v_2$. Le coordinate $(3, 0)$ e $(0, 1)$ sono le colonne trovate. Nella base $\mathcal B$ la macchina allunga di 3 la direzione $(1, 1)$ e lascia ferma la direzione $(1, -1)$. ::: ::: esercizio medio Polinomi centrati in 1 (foglio 3 del tutorato, esercizio 2) In $\R_3[x]$ calcola la matrice del cambio di base da $\mathcal B = \{1,\ x - 1,\ (x - 1)^2,\ (x - 1)^3\}$ alla base canonica $\mathcal C = \{1, x, x^2, x^3\}$, e viceversa. ::: soluzione **Da $\mathcal B$ a $\mathcal C$**: sviluppo ogni polinomio di $\mathcal B$ e leggo i numeri (termine noto, $x$, $x^2$, $x^3$): - $1$ dà $(1, 0, 0, 0)$; - $x - 1$ dà $(-1, 1, 0, 0)$; - $(x - 1)^2 = 1 - 2x + x^2$ dà $(1, -2, 1, 0)$; - $(x - 1)^3 = -1 + 3x - 3x^2 + x^3$ dà $(-1, 3, -3, 1)$. $$[\id]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & -1 & 1 & -1 \\ 0 & 1 & -2 & 3 \\ 0 & 0 & 1 & -3 \\ 0 & 0 & 0 & 1 \end{pmatrix}.$$ **Da $\mathcal C$ a $\mathcal B$**: invece di invertire, scrivo $x = (x - 1) + 1$ e sviluppo le potenze: - $1$ dà $(1, 0, 0, 0)$; - $x = 1 + (x - 1)$ dà $(1, 1, 0, 0)$; - $x^2 = \big(1 + (x - 1)\big)^2 = 1 + 2(x - 1) + (x - 1)^2$ dà $(1, 2, 1, 0)$; - $x^3 = 1 + 3(x - 1) + 3(x - 1)^2 + (x - 1)^3$ dà $(1, 3, 3, 1)$. $$[\id]^{\mathcal C}_{\mathcal B} = \begin{pmatrix} 1 & 1 & 1 & 1 \\ 0 & 1 & 2 & 3 \\ 0 & 0 & 1 & 3 \\ 0 & 0 & 0 & 1 \end{pmatrix}.$$ Nelle colonne compaiono i numeri del triangolo di Tartaglia. Controllo: il prodotto delle due matrici è $I_4$. ::: ::: esercizio medio Un isomorfismo e la sua inversa con le matrici Sia $f : \R_2[x] \to \R^3$, $f(p) = (p(-1),\ p(0),\ p(1))$. (a) Scrivi $[f]$ rispetto a $\{1, x, x^2\}$ e alla base canonica e mostra che $f$ è un isomorfismo. (b) Usa il Corollario 16.7 per scrivere $f^{-1}(a, b, c)$. (c) Qual è il polinomio di grado al massimo 2 che vale $1$ in $-1$, $0$ in $0$ e $3$ in $1$? ::: soluzione (a) Le uscite: $f(1) = (1, 1, 1)$, $f(x) = (-1, 0, 1)$, $f(x^2) = (1, 0, 1)$. $$[f] = \begin{pmatrix} 1 & -1 & 1 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \end{pmatrix}.$$ Sviluppo lungo la seconda riga, con un solo numero diverso da zero (casella $(2, 1)$, segno meno): $\det [f] = -1 \cdot \det\begin{pmatrix} -1 & 1 \\ 1 & 1 \end{pmatrix} = -(-1 - 1) = 2$. Non è zero: la matrice è invertibile e $f$ è un isomorfismo. (b) $[f^{-1}] = [f]^{-1} = \frac 12 \begin{pmatrix} 0 & 2 & 0 \\ -1 & 0 & 1 \\ 1 & -2 & 1 \end{pmatrix}$; controllo: $[f]\,[f]^{-1} = I_3$. Le coordinate di $f^{-1}(a, b, c)$ sono $\left(b,\ \frac{c - a}{2},\ \frac{a - 2b + c}{2}\right)$, quindi $$f^{-1}(a, b, c) = b + \frac{c - a}{2}\,x + \frac{a - 2b + c}{2}\,x^2.$$ Controllo: in 0 vale $b$; in 1 vale $b + \frac{c - a}{2} + \frac{a - 2b + c}{2} = b + \frac{2c - 2b}{2} = c$; in $-1$ vale $b - \frac{c - a}{2} + \frac{a - 2b + c}{2} = b + \frac{2a - 2b}{2} = a$. (c) $a = 1$, $b = 0$, $c = 3$: $p = 0 + \frac{3 - 1}{2}x + \frac{1 - 0 + 3}{2}x^2 = x + 2x^2$. Controllo: $p(-1) = -1 + 2 = 1$, $p(0) = 0$, $p(1) = 3$. ::: ::: esercizio medio Simili oppure no (a) Mostra che $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ e $B = \begin{pmatrix} 4 & 3 \\ 2 & 1 \end{pmatrix}$ sono simili, trovando $M$. (b) Mostra che $A$ e $C = \begin{pmatrix} 1 & 2 \\ 3 & 5 \end{pmatrix}$ non sono simili. (c) $A$ e $D = \begin{pmatrix} 4 & 2 \\ 3 & 1 \end{pmatrix}$ possono essere simili? ::: soluzione (a) Pensa ad $A$ come alla matrice di $L_A$ nella base $\{e_1, e_2\}$, e prova la base in ordine inverso, $\{e_2, e_1\}$. Il traduttore è $M = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$, e $M^{-1} = M$: scambiare due volte non cambia niente. Allora $$M^{-1}AM = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 3 & 4 \\ 1 & 2 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 4 & 3 \\ 2 & 1 \end{pmatrix} = B.$$ Moltiplicare a sinistra per $M$ scambia le righe, a destra scambia le colonne. (b) $\det A = 4 - 6 = -2$ e $\det C = 5 - 6 = -1$: determinanti diversi, quindi non simili (Proposizione 16.13). (c) Qui i controlli visti finora non aiutano: $\det D = 4 - 6 = -2 = \det A$, il rango è 2 per tutte e due, e anche la traccia è la stessa ($1 + 4 = 5$ e $4 + 1 = 5$). Quindi possono essere simili, ma queste uguaglianze da sole non lo dimostrano. Nella lezione L17 vedrai che hanno lo stesso polinomio caratteristico, $\lambda^2 - 5\lambda - 2$, con due radici reali diverse. Nella lezione L18 vedrai che per questo sono tutte e due simili alla stessa matrice diagonale, e quindi, per la proprietà transitiva, simili fra loro. ::: ::: esercizio medio Una matrice con basi diverse in partenza e in arrivo (foglio 3 del tutorato, esercizio 3) Sia $T : \R^3 \to \R^3$, $T(x_1, x_2, x_3) = (3x_1 + x_2,\ x_1 + x_3,\ x_2 - x_3)$. Siano $\mathcal A$ la base canonica, $\mathcal B = \{(1, -1, 1), (0, 3, 1), (0, 2, 1)\}$ e $\mathcal C = \{(1, 2, 3), (0, 2, 1), (0, 1, 1)\}$. Trova $[T]^{\mathcal A}_{\mathcal A}$ e $[T]^{\mathcal B}_{\mathcal C}$. ::: soluzione Dai numeri davanti alle lettere: $[T]^{\mathcal A}_{\mathcal A} = \begin{pmatrix} 3 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & -1 \end{pmatrix}$. Per il Corollario 16.8: $[T]^{\mathcal B}_{\mathcal C} = [\id]^{\mathcal A}_{\mathcal C}\,[T]^{\mathcal A}_{\mathcal A}\,[\id]^{\mathcal B}_{\mathcal A}$. La base $\mathcal C$ è quella dell'Esercizio 16.3, quindi il traduttore $[\id]^{\mathcal A}_{\mathcal C} = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & -1 \\ -4 & -1 & 2 \end{pmatrix}$ è già pronto. Invece di moltiplicare tre matrici, conviene calcolare le uscite dei vettori di $\mathcal B$ e poi tradurle nella base $\mathcal C$: - $T(1, -1, 1) = (3 - 1,\ 1 + 1,\ -1 - 1) = (2, 2, -2)$, tradotto: $(2,\ 2 + 2 + 2,\ -8 - 2 - 4) = (2, 6, -14)$; - $T(0, 3, 1) = (3, 1, 2)$, tradotto: $(3,\ 3 + 1 - 2,\ -12 - 1 + 4) = (3, 2, -9)$; - $T(0, 2, 1) = (2, 1, 1)$, tradotto: $(2,\ 2 + 1 - 1,\ -8 - 1 + 2) = (2, 2, -7)$. $$[T]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 2 & 3 & 2 \\ 6 & 2 & 2 \\ -14 & -9 & -7 \end{pmatrix}.$$ Controllo sulla prima colonna: $2(1, 2, 3) + 6(0, 2, 1) - 14(0, 1, 1) = (2,\ 4 + 12 - 14,\ 6 + 6 - 14) = (2, 2, -2)$. ::: ::: esercizio esame Come all'esame: due basi e un endomorfismo di $\R^3$ Sia $\mathcal A$ la base canonica di $\R^3$ e sia $\mathcal B = \{v_1, v_2, v_3\}$ con $v_1 = (1, 0, 1)$, $v_2 = (0, 1, 1)$, $v_3 = (1, 1, 1)$. Sia $T : \R^3 \to \R^3$, $T(a, b, c) = (2a + 2b - c,\ a + 3b - c,\ 2b + c)$. (1) Determina $[\id]^{\mathcal B}_{\mathcal A}$ e $[\id]^{\mathcal A}_{\mathcal B}$. (2) Scrivi $[T]^{\mathcal A}_{\mathcal A}$. (3) Calcola $[T]^{\mathcal B}_{\mathcal B}$ con la formula del cambiamento di base. (4) Controlla il risultato calcolando $T(v_1)$, $T(v_2)$, $T(v_3)$, e verifica che $\det [T]^{\mathcal A}_{\mathcal A} = \det [T]^{\mathcal B}_{\mathcal B}$. ::: soluzione (1) $M = [\id]^{\mathcal B}_{\mathcal A} = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 1 & 1 \end{pmatrix}$. Determinante lungo la prima riga: $1 \cdot (1 - 1) - 0 + 1 \cdot (0 - 1) = -1$. L'inversa, con i cofattori divisi per $-1$: $$[\id]^{\mathcal A}_{\mathcal B} = M^{-1} = \begin{pmatrix} 0 & -1 & 1 \\ -1 & 0 & 1 \\ 1 & 1 & -1 \end{pmatrix}.$$ Controllo: la prima riga di $M$ per le colonne di $M^{-1}$ dà $(0 + 0 + 1,\ -1 + 0 + 1,\ 1 + 0 - 1) = (1, 0, 0)$, e così via. (2) $A = [T]^{\mathcal A}_{\mathcal A} = \begin{pmatrix} 2 & 2 & -1 \\ 1 & 3 & -1 \\ 0 & 2 & 1 \end{pmatrix}$. (3) Prima $AM$, colonna per colonna: $Av_1 = (2 - 1,\ 1 - 1,\ 0 + 1) = (1, 0, 1)$, $Av_2 = (2 - 1,\ 3 - 1,\ 2 + 1) = (1, 2, 3)$, $Av_3 = (2 + 2 - 1,\ 1 + 3 - 1,\ 2 + 1) = (3, 3, 3)$. Poi $M^{-1}$ per ciascuna colonna: - $M^{-1}(1, 0, 1) = (0 + 0 + 1,\ -1 + 0 + 1,\ 1 + 0 - 1) = (1, 0, 0)$; - $M^{-1}(1, 2, 3) = (0 - 2 + 3,\ -1 + 0 + 3,\ 1 + 2 - 3) = (1, 2, 0)$; - $M^{-1}(3, 3, 3) = (0 - 3 + 3,\ -3 + 0 + 3,\ 3 + 3 - 3) = (0, 0, 3)$. $$[T]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 3 \end{pmatrix}.$$ (4) $T(v_1) = (1, 0, 1) = v_1$; $T(v_2) = (1, 2, 3) = v_1 + 2v_2$, infatti $(1, 0, 1) + (0, 2, 2) = (1, 2, 3)$; $T(v_3) = (3, 3, 3) = 3v_3$. Le coordinate $(1, 0, 0)$, $(1, 2, 0)$, $(0, 0, 3)$ sono le colonne trovate. Determinanti: quello di $[T]^{\mathcal B}_{\mathcal B}$ è $1 \cdot 2 \cdot 3 = 6$ (triangolare), e $\det A = 2(3 + 2) - 2(1 - 0) + (-1)(2 - 0) = 10 - 2 - 2 = 6$. Uguali, come vuole la Proposizione 16.13. ::: ::: esercizio esame Come all'esame: la traslazione dei polinomi Sia $f : \R_2[x] \to \R_2[x]$, $f(p)(x) = p(x + 1)$ (per esempio $f(x^2) = (x + 1)^2$). (1) Mostra che $f$ è lineare e scrivi la sua matrice rispetto a $\mathcal B = \{1, x, x^2\}$. (2) Mostra che $f$ è un isomorfismo e scrivi la matrice di $f^{-1}$; quanto vale $f^{-1}(x^2)$? (3) Scrivi la matrice di $f \circ f$ e spiega il risultato. ::: soluzione (1) Linearità: $f(p + q)(x) = (p + q)(x + 1) = p(x + 1) + q(x + 1)$ e $f(\lambda p)(x) = \lambda p(x + 1)$. Le uscite della base: $f(1) = 1$, $f(x) = x + 1$, $f(x^2) = x^2 + 2x + 1$, con coordinate $(1, 0, 0)$, $(1, 1, 0)$, $(1, 2, 1)$: $$[f]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 1 & 1 & 1 \\ 0 & 1 & 2 \\ 0 & 0 & 1 \end{pmatrix}.$$ (2) La matrice è triangolare con determinante $1 \cdot 1 \cdot 1 = 1$: non è zero, quindi $f$ è un isomorfismo (Corollario 16.7). L'inversa è lo spostamento all'indietro, $p(x) \mapsto p(x - 1)$: $1$ va in $1$, $x$ va in $x - 1$, $x^2$ va in $x^2 - 2x + 1$. Quindi $$[f^{-1}]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 1 & -1 & 1 \\ 0 & 1 & -2 \\ 0 & 0 & 1 \end{pmatrix},$$ e il prodotto con $[f]$ è $I_3$. Allora le coordinate di $f^{-1}(x^2)$ sono $[f^{-1}](0, 0, 1) = (1, -2, 1)$, cioè $f^{-1}(x^2) = 1 - 2x + x^2 = (x - 1)^2$. (3) $[f \circ f] = [f]^2 = \begin{pmatrix} 1 & 2 & 4 \\ 0 & 1 & 4 \\ 0 & 0 & 1 \end{pmatrix}$. Spostare due volte di 1 è spostare di 2: $f(f(p))(x) = p(x + 2)$. Infatti $(x + 2)^2 = 4 + 4x + x^2$ ha coordinate $(4, 4, 1)$, la terza colonna. ::: ::: esercizio difficile Similitudine: equivalenza e traccia (a) Dimostra la Proposizione 16.12 (la similitudine è una relazione di equivalenza). (b) Dimostra che matrici simili hanno la stessa traccia. (c) Trova due matrici $2 \times 2$ con la stessa traccia e lo stesso determinante che non sono simili. ::: soluzione (a) Riflessiva con $M = I_n$. Simmetrica: da $A = M^{-1}BM$ viene $B = MAM^{-1}$, cioè $B = N^{-1}AN$ con $N = M^{-1}$. Transitiva: da $A = M^{-1}BM$ e $B = N^{-1}CN$ viene $A = (NM)^{-1}C(NM)$. I dettagli sono nel riquadro della dimostrazione, nella sezione sulle matrici simili. (b) Con la regola $\tr(XY) = \tr(YX)$ (Proposizione 8.13), $X = M^{-1}$ e $Y = BM$: $\tr(M^{-1}BM) = \tr(BMM^{-1}) = \tr B$. (c) $I_2$ e $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$: traccia 2 e determinante 1 per tutte e due, ma $I_2$ è simile solo a sé stessa. ::: ## Domande di ripasso ::: domanda Che cos'è la matrice di cambiamento di base da $\mathcal B$ a $\mathcal C$, e com'è fatta? È $[\id]^{\mathcal B}_{\mathcal C}$, la matrice della macchina identità con $\mathcal B$ in partenza e $\mathcal C$ in arrivo: il traduttore. La colonna $j$ contiene le coordinate del vettore $j$ di $\mathcal B$ rispetto a $\mathcal C$. ::: ::: domanda A che cosa serve? Scrivi la formula. A tradurre le coordinate: $[v]_{\mathcal C} = [\id]^{\mathcal B}_{\mathcal C}[v]_{\mathcal B}$ (Proposizione 16.2). Per il verso opposto si usa l'inversa, $[\id]^{\mathcal C}_{\mathcal B}$. ::: ::: domanda Come si scrive in fretta il traduttore se la base di arrivo è quella canonica? Mettendo in colonna i vettori della base di partenza, nell'ordine: nella base canonica le coordinate sono i numeri del vettore. ::: ::: domanda Perché la composizione di macchine lineari è lineare? Perché $(g \circ f)(v + v') = g(f(v) + f(v')) = g(f(v)) + g(f(v'))$ e $(g \circ f)(\lambda v) = g(\lambda f(v)) = \lambda g(f(v))$: si usa prima la linearità di $f$, poi quella di $g$. ::: ::: domanda Qual è la matrice di una composizione? Il prodotto delle due matrici, con la macchina che agisce per prima a destra: $[g \circ f]^{\mathcal B}_{\mathcal D} = [g]^{\mathcal C}_{\mathcal D}[f]^{\mathcal B}_{\mathcal C}$ (Proposizione 16.6). La base dello spazio in mezzo è la stessa nei due fattori. Per le macchine delle matrici: $L_A \circ L_B = L_{AB}$. ::: ::: domanda Come si riconosce un isomorfismo dalla matrice, e qual è la matrice dell'inversa? È un isomorfismo esattamente quando la sua matrice è invertibile: quadrata, con determinante diverso da zero. La matrice della macchina inversa è la matrice inversa (Corollario 16.7). ::: ::: domanda Come si passa dalla matrice in certe basi alla matrice in altre basi? Moltiplicando a sinistra e a destra per due traduttori: $[f]^{\mathcal B_2}_{\mathcal C_2} = [\id_W]^{\mathcal C_1}_{\mathcal C_2}[f]^{\mathcal B_1}_{\mathcal C_1}[\id_V]^{\mathcal B_2}_{\mathcal B_1}$ (Corollario 16.8). ::: ::: domanda Che cos'è un endomorfismo? Come cambia la sua matrice con la base? Una macchina lineare che parte e arriva nello stesso spazio. Con la stessa base in partenza e in arrivo, se $M = [\id]^{\mathcal B}_{\mathcal C}$ allora $[f]^{\mathcal B}_{\mathcal B} = M^{-1}[f]^{\mathcal C}_{\mathcal C}M$. ::: ::: domanda Quando due matrici sono simili, e che cosa significa? Quando $A = M^{-1}BM$ per qualche $M$ invertibile. Significa che $A$ e $B$ descrivono la stessa macchina in due basi diverse. ::: ::: domanda Perché la similitudine è una relazione di equivalenza? Riflessiva con $M = I_n$; simmetrica perché $A = M^{-1}BM$ dà $B = MAM^{-1}$; transitiva perché $A = M^{-1}BM$ e $B = N^{-1}CN$ danno $A = (NM)^{-1}C(NM)$. ::: ::: domanda Che cosa hanno in comune due matrici simili? Rango e determinante (Proposizione 16.13), quindi sono tutte e due invertibili o tutte e due no. Anche la traccia, e dalla lezione L17 il polinomio caratteristico. ::: ::: domanda Due matrici con lo stesso determinante e lo stesso rango sono simili? Non per forza: $I_2$ e $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ hanno rango 2 e determinante 1, ma $I_2$ è simile solo a sé stessa. ::: ## Glossario ```glossario Matrice di cambiamento di base | $[\id]^{\mathcal B}_{\mathcal C}$: il traduttore delle coordinate da $\mathcal B$ a $\mathcal C$; la colonna $j$ è $[v_j]_{\mathcal C}$ (Definizione 16.1). Cambiamento di base inverso | $[\id]^{\mathcal C}_{\mathcal B}$, l'inversa del traduttore: traduce nel verso opposto. Composizione | $g \circ f$: prima agisce $f$, poi $g$; è lineare se lo sono $f$ e $g$ (Proposizione 16.4). Matrice della composizione | Il prodotto delle matrici, con la prima macchina a destra: $[g \circ f] = [g][f]$; per le $L_A$, $L_A \circ L_B = L_{AB}$. Associatività | La regola delle parentesi $A(BC) = (AB)C$: è il motivo per cui $L_A(L_B(x)) = L_{AB}(x)$. Isomorfismo e matrice invertibile | Una macchina è un isomorfismo esattamente quando la sua matrice è invertibile; la matrice dell'inversa è la matrice inversa (Corollario 16.7). Formula del cambiamento di base | Traduttore a sinistra, matrice, traduttore a destra (Corollario 16.8). Endomorfismo | Una macchina lineare che parte e arriva nello stesso spazio (Definizione 16.9). Matrice di un endomorfismo | $[f]^{\mathcal B}_{\mathcal B}$, con la stessa base in partenza e in arrivo. Matrici simili (coniugate) | $A = M^{-1}BM$ con $M$ invertibile: la stessa macchina in due basi (Definizione 16.11). Relazione di equivalenza | Una parentela riflessiva, simmetrica e transitiva; la similitudine lo è (Proposizione 16.12). Invarianti per similitudine | Numeri uguali per matrici simili: rango, determinante, traccia (e il polinomio caratteristico, lezione L17). Teorema di Binet | Il determinante di un prodotto è il prodotto dei determinanti (lezione L10); da qui $\det(M^{-1}BM) = \det B$. Inversa di una $2 \times 2$ | Scambia la diagonale, cambia segno agli altri due, dividi per $ad - bc$, se non è zero. ``` ## Checklist ```checklist - So scrivere la matrice di cambiamento di base e so in quale verso traduce le coordinate. - So scrivere in un attimo il traduttore verso la base canonica, e ottenere quello nel verso opposto con l'inversa. - So passare da una base non canonica a un'altra, risolvendo sistemi oppure passando dalla base canonica. - So spiegare perché due macchine lineari in fila danno una macchina lineare e perché $L_A \circ L_B = L_{AB}$. - So calcolare la matrice di una composizione nell'ordine giusto e con le taglie giuste. - So riconoscere un isomorfismo dalla matrice e scrivere la matrice dell'inversa. - So usare la formula «traduttore, matrice, traduttore» per cambiare le basi di una macchina. - So calcolare $M^{-1}AM$ per un endomorfismo e controllare il risultato con le uscite dei vettori della base. - So la definizione di matrici simili e perché la similitudine è una relazione di equivalenza. - So che matrici simili hanno stesso rango, determinante e traccia, e che il contrario è falso. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 16 «Applicazioni lineari III», pp. 79–84: le sezioni 16.A (matrice di cambiamento di base), 16.B (composizione), 16.C (endomorfismi e similitudine) sono seguite in ordine, con la pagina accanto a ogni titolo; definizioni, proposizioni ed esempi mantengono la loro numerazione (Definizioni 16.1, 16.9, 16.11; Proposizioni 16.2, 16.4–16.6, 16.12, 16.13; Corollari 16.7 e 16.8; Esempio 16.10); l'Esercizio 16.3, risolto nel testo delle dispense, è riportato come esempio, e l'Esercizio 16.14 della sezione 16.D è svolto come esercizio 7. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §4.2.4 (composizione), §4.3.3 e §4.3.5 (proprietà della matrice associata, cambiamento di base, Esempi 4.3.14–4.3.15), §4.4.1–4.4.3 (endomorfismi e similitudine, con la dimostrazione della Proposizione 16.12 e l'Esempio 4.4.2 della riflessione), §4.4.5 (traccia). - **Esame**: appelli del 24/01/2024 (domanda 3), 08/02/2024 (domanda 5), 10/06/2024 (domanda 8), 10/07/2024 (problema 11), 06/09/2024 (domanda 5), 16/01/2025 (domanda 5), 03/06/2025 (domanda 5), 10/07/2025 (domanda 6), 02/09/2025 (domanda 8), 15/01/2026 (domande 8 e 10), 03/07/2026 (domanda 5), 07/09/2026 (problema 11); foglio 3 del tutorato 2025/26 (esercizi 1, 2, 3 e 5). Testi e soluzioni ufficiali sul Moodle 2025/26 ([id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); le soluzioni riportate qui sono scritte da capo. - Le parti **«Oltre le dispense»** (la dimostrazione della Proposizione 16.4, quella della 16.12 dal libro, la traccia come invariante, gli esempi e gli esercizi aggiunti) servono a collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L17_autovalori_autovettori_1.md` ```yaml corso: MDAG modulo: AG lezione: L17 titolo: Autovalori e autovettori I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L17 descrizione: >- Appunti della lezione L17 di Algebra lineare e Geometria (MDAG, parte 2): autovettori e autovalori di un endomorfismo, endomorfismi e matrici diagonalizzabili, potenze di matrici e polinomio caratteristico, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Una matrice trasforma i vettori, e di solito li fa girare. Lungo certe direzioni però si limita ad allungarli o ad accorciarli. Qui impari a riconoscere queste direzioni, a trovarle con un conto e a usarle per rendere i calcoli molto più corti. È un argomento presente in ogni appello d'esame. materiale: dispense scheda: Dispense: lezione 17 · pp. 85–89 Libro: Martelli, §5.1 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 3–4 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 17 «Autovalori e autovettori I»; B. Martelli, Geometria e algebra lineare, §5.1 appunti_html: appunti/MDAG/L17_autovalori_autovettori_1.html genera_html: true ``` ## In breve - Una matrice è una macchina che trasforma vettori in vettori. Quasi sempre li fa girare. Un **autovettore** è un vettore, diverso da zero, che la macchina non gira: lo allunga, lo accorcia o lo ribalta, ma lo lascia sulla sua retta. - L'**autovalore** è il numero che dice di quanto: 3 vuol dire «tre volte più lungo», $-1$ vuol dire «ribaltato». Può essere anche zero. - Una **rotazione** gira tutti i vettori. Per questo non ha autovettori fatti di numeri reali. - Una macchina è **diagonalizzabile** quando esiste una base fatta tutta di autovettori. In quella base la sua matrice è **diagonale**: ha numeri solo sulla diagonale e zeri in tutti gli altri posti. - Con le matrici diagonali i conti sono corti. Per questo anche la potenza numero 100 di una matrice diagonalizzabile si calcola in poche righe. - Per trovare gli autovalori c'è uno strumento, il **polinomio caratteristico**: gli autovalori sono i numeri che lo fanno diventare zero. - All'esame serve in ogni appello: riconoscere un autovettore, trovare gli autovalori di una matrice con 2 o 3 righe, scrivere le due matrici della diagonalizzazione. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Le direzioni che non girano: autovettori (p. 85) Una matrice quadrata è una macchina: entra un vettore, ne esce un altro dello stesso tipo. In questa sezione guardiamo che cosa succede alla **direzione** dei vettori quando passano nella macchina. In tutta la lezione le macchine sono **lineari**: rispettano le somme e i multipli (lezione L14). Per esempio, se in entrata metti il doppio di un vettore, in uscita trovi il doppio. Le macchine fatte con una matrice sono sempre lineari. Prima due avvisi su come sono scritti i vettori. - Nelle dispense i vettori sono scritti in colonna, con i numeri uno sotto l'altro. In queste pagine, dentro le frasi, li scriviamo in riga per risparmiare spazio: $(1, 2)$ è il vettore con 1 sopra e 2 sotto. - Due vettori del piano hanno un nome fisso: $e_1 = (1, 0)$ ed $e_2 = (0, 1)$. Sono «un passo a destra» e «un passo in su». Insieme formano la **base canonica** del piano (lezione L07). > [!RIPASSO] matrice per vettore > Per far passare un vettore in una matrice si lavora **una riga alla volta**. Si moltiplica ogni numero della riga per il numero del vettore nello stesso posto, poi si sommano i risultati. È il conto della spesa della lezione L08: quantità per prezzi, poi si somma. > > Esempio: la matrice ha le righe $(3, 4)$ e $(0, 2)$, e il vettore è $(5, 1)$. > > $$\begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} 5 \\ 1 \end{pmatrix} = \begin{pmatrix} 3 \cdot 5 + 4 \cdot 1 \\ 0 \cdot 5 + 2 \cdot 1 \end{pmatrix} = \begin{pmatrix} 19 \\ 2 \end{pmatrix}$$ > > Prima riga: 3 per 5 fa 15, 4 per 1 fa 4, e la somma è 19. Seconda riga: 0 per 5 fa 0, 2 per 1 fa 2, e la somma è 2. Esce il vettore $(19, 2)$. > > Se la matrice si chiama $A$ e il vettore si chiama $v$, il risultato si scrive $Av$. Si legge «$A$ per $v$». ### Una macchina alla prova Prendiamo la matrice del ripasso e chiamiamola $A$: $$A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$$ Facciamo entrare quattro vettori e guardiamo che cosa esce. | Entra | Conto | Esce | Esce un multiplo di quello che è entrato? | |---|---|---|---| | $(1, 0)$ | $(3 \cdot 1 + 4 \cdot 0,\ 0 \cdot 1 + 2 \cdot 0)$ | $(3, 0)$ | sì: è 3 volte $(1, 0)$ | | $(0, 1)$ | $(3 \cdot 0 + 4 \cdot 1,\ 0 \cdot 0 + 2 \cdot 1)$ | $(4, 2)$ | no | | $(-4, 1)$ | $(3 \cdot (-4) + 4 \cdot 1,\ 0 \cdot (-4) + 2 \cdot 1)$ | $(-8, 2)$ | sì: è 2 volte $(-4, 1)$ | | $(1, 1)$ | $(3 \cdot 1 + 4 \cdot 1,\ 0 \cdot 1 + 2 \cdot 1)$ | $(7, 2)$ | no | L'ultima colonna è quella che conta. Per riempirla serve ricordare che cos'è un multiplo. > [!RIPASSO] multiplo di un vettore > Un **multiplo** di un vettore si ottiene moltiplicando **tutti** i suoi numeri per lo stesso numero. Per esempio 2 volte $(-4, 1)$ è $(-8, 2)$. > > Sulla mappa a quadretti i multipli di un vettore stanno tutti sulla **stessa retta** che passa per l'origine. Un multiplo positivo punta dalla stessa parte del vettore. Un multiplo negativo punta dalla parte opposta. > > Per controllare se un vettore è multiplo di un altro, cerca il numero giusto guardando il primo posto. Poi controlla se lo stesso numero funziona anche negli altri posti. > > - $(7, 2)$ è un multiplo di $(1, 1)$? Nel primo posto servirebbe «per 7», nel secondo «per 2». I due numeri sono diversi, quindi no. > - $(4, 2)$ è un multiplo di $(0, 1)$? Un multiplo di $(0, 1)$ ha sempre 0 nel primo posto. Qui c'è 4, quindi no. Guarda la tabella: si notano due cose. **Quasi tutti i vettori escono girati.** Entra $(1, 1)$ ed esce $(7, 2)$, che punta in un'altra direzione. Lo stesso succede a $(0, 1)$. **Due vettori invece restano sulla loro retta.** Entra $(1, 0)$ ed esce il suo triplo. Entra $(-4, 1)$ ed esce il suo doppio. La macchina li ha allungati, ma non li ha girati. > [!IDEA] > Un **autovettore** è un vettore che la macchina non gira: esce un suo multiplo. Il numero che dice «quante volte» è l'**autovalore**. Guarda la figura. Le frecce chiare sono i vettori che entrano, quelle scure i vettori che escono. Nella figura $u$ è il vettore $(-4, 1)$. La freccia di $e_1$ e quella che esce stanno sulla stessa retta tratteggiata. Lo stesso vale per le due frecce viola. La freccia ambra invece esce dalla sua retta: il vettore $e_2$ viene girato. ```grafico titolo: $A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$: $e_1$ e $(-4, 1)$ restano sulla loro retta, $e_2$ no x: -9 5 y: -2 4 retta: 0 0 1 0 | accento | tratteggio | sottile retta: 0 0 -4 1 | viola | tratteggio | sottile vettore: 1 0 | accento | tenue | $e_1$ | s vettore: 3 0 | accento | spesso | $Ae_1 = 3e_1$ | n vettore: -4 1 | viola | tenue | $u$ | s vettore: -8 2 | viola | spesso | $Au = 2u$ | n vettore: 0 1 | ambra | tenue | $e_2$ | e vettore: 4 2 | ambra | spesso | $Ae_2$ | e ``` ### I nomi e i simboli Servono quattro parole nuove. - **Autovettore** e **autovalore**. Il pezzo «auto» traduce il tedesco *eigen*, che vuol dire «proprio»: sono i vettori «propri» della macchina, e i suoi numeri «propri». - **Scalare**. È un numero normale, come 3 o $-2$. Si chiama così per distinguerlo dai vettori. - **Endomorfismo**. È una macchina lineare in cui i vettori che escono sono dello stesso tipo di quelli che entrano: entra un vettore del piano, esce un vettore del piano (lezione L16). Deve essere così, altrimenti non avrebbe senso chiedersi se quello che esce è un multiplo di quello che è entrato. L'autovalore si indica con la lettera greca $\lambda$, che si legge «lambda». È un numero. La frase «esce un multiplo di quello che è entrato» si scrive così: $$Av = \lambda v$$ Si legge «$A$ per $v$ è uguale a lambda per $v$». A sinistra c'è quello che esce dalla macchina quando entra $v$. A destra c'è $v$ moltiplicato per il numero $\lambda$. Con la matrice di prima e il vettore $(1, 0)$ la riga dice: esce 3 volte $(1, 0)$. Qui $\lambda$ vale 3. Le dispense usano altri tre simboli. - $T : V \to V$ è la macchina. Si chiama $T$, prende i vettori da uno **spazio vettoriale** $V$ e li restituisce nello stesso spazio. Uno spazio vettoriale è un insieme di vettori in cui si può sommare e moltiplicare per un numero senza uscire (lezione L05): per esempio il piano. La freccia si legge «da $V$ a $V$». La scrittura $T(v)$ si legge «$T$ di $v$»: è il vettore che esce quando entra $v$. - $L_A$ è la macchina «moltiplica per la matrice $A$» (lezione L14). Quindi $L_A(v)$ e $Av$ sono la stessa cosa. - $\K$ è un modo breve per dire «i numeri reali oppure i numeri complessi». In questa lezione i numeri sono quasi sempre reali. Ecco l'esempio delle dispense. La matrice e i vettori sono quelli della tabella di prima, dove trovi tutti i conti. Nel titolo, $2 \times 2$ si legge «due per due»: vuol dire una matrice con 2 righe e 2 colonne. > [!ESEMPIO] 17.2 · Due autovettori di una matrice $2 \times 2$ > Prendiamo la macchina $L_A$ che lavora sui vettori del piano, con > $$A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}.$$ > > - Da $e_1$ esce $(3, 0)$, cioè 3 volte $e_1$. Quindi $e_1$ è un autovettore di $L_A$ con autovalore 3. > - Da $e_2$ esce $(4, 2)$. Un multiplo di $e_2$ ha 0 nel primo posto, e qui c'è 4. Quindi $(4, 2)$ non è un multiplo di $e_2$, qualunque numero si provi: $e_2$ non è un autovettore. > - Da $(-4, 1)$ esce il suo doppio: > $$L_A\begin{pmatrix} -4 \\ 1 \end{pmatrix} = \begin{pmatrix} -8 \\ 2 \end{pmatrix} = 2\begin{pmatrix} -4 \\ 1 \end{pmatrix}$$ > Quindi $(-4, 1)$ è un autovettore con autovalore 2. Le dispense scrivono la definizione così. > [!DEF] 17.1 · Autovettore e autovalore > Sia $T : V \to V$ un endomorfismo di uno spazio vettoriale $V$ definito su un campo $\K$. Un **autovettore** di $T$ è un vettore $v \neq 0$ in $V$ per cui > $$T(v) = \lambda v$$ > per qualche scalare $\lambda \in \K$, che chiameremo **autovalore** di $T$ relativo a $v$. > > Notiamo che $\lambda$ può essere qualsiasi scalare, anche zero. D'altro canto, l'autovettore $v$ non può essere zero per definizione. In parole: un autovettore è un vettore (diverso da zero) che viene mandato da $T$ in un multiplo di se stesso. **Come si legge.** - «Un endomorfismo di uno spazio vettoriale $V$ definito su un campo $\K$»: la macchina $T$ lavora dentro un solo spazio, e i numeri che si usano sono reali oppure complessi. - $v \neq 0$ si legge «$v$ diverso da zero». Qui lo zero è il **vettore nullo**, quello fatto di soli zeri, come $(0, 0)$. - $T(v) = \lambda v$: dalla macchina esce $v$ moltiplicato per il numero $\lambda$. - $\lambda \in \K$ si legge «lambda appartiene a $\K$»: vuol dire che $\lambda$ è un numero, reale o complesso. «Per qualche scalare» vuol dire che basta trovarne uno. - «Relativo a $v$»: ogni autovettore ha il suo autovalore. Tutta insieme: un autovettore è un vettore non nullo che la macchina manda in un suo multiplo. L'autovalore è il numero per cui viene moltiplicato. ### Due zeri da non confondere **Il vettore nullo non è mai un autovettore.** Il motivo è questo. Da una macchina lineare, se entra il vettore nullo esce il vettore nullo. E il vettore nullo è multiplo di sé stesso con qualunque numero: 3 volte zero fa zero, 7 volte zero fa zero. Se lo accettassimo come autovettore, ogni numero sarebbe un autovalore, e la parola non vorrebbe più dire niente. **L'autovalore invece può essere zero.** Vuol dire che entra un vettore non nullo ed esce il vettore nullo: la macchina lo schiaccia su zero. I vettori che la macchina schiaccia su zero formano il **nucleo** (lezione L14). Quindi gli autovettori con autovalore 0 sono i vettori non nulli del nucleo. > [!TRAPPOLA] Zero sì, zero no > Nella definizione ci sono due zeri diversi. L'autovettore **non** può essere il vettore nullo. L'autovalore **può** essere il numero zero. All'esame una frase come «zero non è mai un autovalore» è sbagliata. **Un autovettore ha un solo autovalore.** Se da un vettore esce il suo triplo, non può uscire anche il suo doppio. Il triplo e il doppio di un vettore non nullo sono due vettori diversi. > [!OLTRE] autovalore 0 e autovalore 1 > Il libro di Martelli (Osservazioni 5.1.5 e 5.1.6) mette in evidenza due autovalori speciali. > > - Autovalore 0: il vettore viene schiacciato su zero. Sta nel nucleo. > - Autovalore 1: il vettore esce uguale a com'è entrato. Si chiama **punto fisso**. > > Un esempio con tutti e due. La macchina «ombra sull'asse orizzontale» tiene il primo numero e mette 0 al posto del secondo: > $$T(x, y) = (x, 0)$$ > Il vettore $(3, 0)$ esce uguale: è un autovettore con autovalore 1. Il vettore $(0, 2)$ esce nullo, cioè 0 volte sé stesso: è un autovettore con autovalore 0. ### Cercare gli autovettori con lo strumento Nello strumento qui sotto trascina il vettore $x$. In ambra vedi il vettore $Ax$ che esce dalla macchina. Quando $Ax$ cade sulla stessa retta di $x$ hai trovato un autovettore, e lo strumento lo segnala. Le due rette tratteggiate sono le direzioni degli autovettori. Due cose da provare. 1. Porta $x$ su $(1, 0)$ e poi su $(-4, 1)$: sono i due autovettori dell'Esempio 17.2. 2. Scegli dai pulsanti la matrice di rotazione di 90°: le rette tratteggiate spariscono. Il perché è nella sezione sulle rotazioni. ```widget matrice titolo: Cerca gli autovettori di $A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$ a: 3 4; 0 2 x: -2 1 raggio: 5 ``` ::: prova Con la matrice $A$ dell'Esempio 17.2: il vettore $(2, 0)$ è un autovettore? Con quale autovalore? Lo faccio passare nella macchina: $A(2, 0) = (3 \cdot 2 + 4 \cdot 0,\ 0 \cdot 2 + 2 \cdot 0) = (6, 0)$. $(6, 0)$ è 3 volte $(2, 0)$. Quindi sì: è un autovettore con autovalore 3. ::: ::: prova La matrice $B$ ha le righe $(2, 0)$ e $(0, 5)$. Il vettore $(0, 1)$ è un autovettore di $B$? E il vettore $(1, 1)$? $B(0, 1) = (2 \cdot 0 + 0 \cdot 1,\ 0 \cdot 0 + 5 \cdot 1) = (0, 5)$. È 5 volte $(0, 1)$: autovettore con autovalore 5. $B(1, 1) = (2 \cdot 1 + 0 \cdot 1,\ 0 \cdot 1 + 5 \cdot 1) = (2, 5)$. Nel primo posto servirebbe «per 2», nel secondo «per 5». Non è un multiplo di $(1, 1)$, quindi non è un autovettore. ::: ::: prova Il vettore $(0, 0)$ può essere un autovettore? No, mai: la definizione chiede un vettore diverso da zero. ::: > [!RICORDA] > - Un **autovettore** è un vettore non nullo che la macchina manda in un suo multiplo: $Av = \lambda v$. > - Il numero $\lambda$ è l'**autovalore**. Può essere zero; l'autovettore no. > - Per controllare se un vettore è un autovettore basta un prodotto: calcola $Av$ e guarda se è un multiplo di $v$. ## Con le coordinate bastano le matrici (p. 85) Non tutte le macchine lavorano su liste di numeri: alcune lavorano su polinomi, altre su matrici. Questa sezione mostra che non è un problema. Con le coordinate ogni macchina diventa una matrice, e gli autovettori si cercano lì. ### Una macchina che lavora sui polinomi Prendiamo i polinomi di grado al massimo 1. Sono fatti così: un numero, più un numero per $x$. Per esempio $2 + 5x$. Le dispense chiamano $\R_1[x]$ l'insieme di questi polinomi (lezione L05). La macchina si chiama $T$ e **scambia i due numeri** del polinomio: $$T(a + bx) = b + ax$$ Per esempio da $2 + 5x$ esce $5 + 2x$. Anche qui ha senso cercare gli autovettori: i polinomi da cui esce un loro multiplo. | Entra | Esce | Esce un multiplo di quello che è entrato? | |---|---|---| | $2 + 5x$ | $5 + 2x$ | no | | $1 + x$ | $1 + x$ | sì: è 1 volta $1 + x$ | | $1 - x$ | $-1 + x$ | sì: è $-1$ volte $1 - x$ | Guarda l'ultima riga. I due numeri del polinomio sono 1 e $-1$. Scambiati diventano $-1$ e 1. Il polinomio che esce è quello di partenza con tutti i segni cambiati. Quindi $1 + x$ è un autovettore con autovalore 1, e $1 - x$ è un autovettore con autovalore $-1$. Qui la parola «vettore» indica un polinomio. L'immagine della freccia sulla mappa non funziona più, ma la regola «esce un multiplo» sì. ### Lo stesso conto con le coordinate Ricorda dalla lezione L15: un polinomio come $a + bx$ si può scrivere come la lista dei suoi due numeri, $(a, b)$. Sono le sue **coordinate** rispetto alla base fatta dai polinomi $1$ e $x$. Per esempio $2 + 5x$ diventa $(2, 5)$. Con le coordinate la macchina diventa una matrice. Ricorda come si costruisce: nelle colonne si scrive dove vanno i vettori della base. 1. Il primo vettore della base è il polinomio $1$, cioè $1 + 0x$. Scambiando i numeri esce $0 + 1x$. Le sue coordinate sono $(0, 1)$: è la prima colonna. 2. Il secondo vettore della base è il polinomio $x$, cioè $0 + 1x$. Scambiando i numeri esce $1 + 0x$. Le sue coordinate sono $(1, 0)$: è la seconda colonna. La matrice è $$A = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$$ Ora il conto sui polinomi diventa un conto «matrice per vettore». > [!ESEMPIO] · autovettori tra i polinomi > La macchina è $T(a + bx) = b + ax$, e la sua matrice nella base fatta da $1$ e $x$ è quella appena trovata. > > **Il polinomio $1 + x$** ha coordinate $(1, 1)$. > $$\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \cdot 1 + 1 \cdot 1 \\ 1 \cdot 1 + 0 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$$ > Esce lo stesso vettore: è un autovettore con autovalore 1. Tradotto in polinomi: $T(1 + x) = 1 + x$. > > **Il polinomio $1 - x$** ha coordinate $(1, -1)$. > $$\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 1 \\ -1 \end{pmatrix} = \begin{pmatrix} 0 \cdot 1 + 1 \cdot (-1) \\ 1 \cdot 1 + 0 \cdot (-1) \end{pmatrix} = \begin{pmatrix} -1 \\ 1 \end{pmatrix} = -1 \cdot \begin{pmatrix} 1 \\ -1 \end{pmatrix}$$ > Esce il vettore con i segni cambiati: è un autovettore con autovalore $-1$. Tradotto in polinomi: $T(1 - x) = -1 + x = -(1 - x)$. > > Il metodo è sempre questo: si lavora sulla matrice, poi si traducono le coordinate in polinomi. ### Come lo scrivono le dispense Le dispense riassumono tutto in un'osservazione. Per leggerla servono due scritture della lezione L15. - $[v]_{\mathcal B}$ si legge «le coordinate di $v$ nella base $\mathcal B$». È la lista di numeri che descrive il vettore. La lettera $\mathcal B$ è una B scritta in corsivo: è il nome della base. - $[T]^{\mathcal B}_{\mathcal B}$ si legge «la matrice di $T$ nella base $\mathcal B$». È la tabella che descrive la macchina quando i vettori che entrano e quelli che escono sono scritti con le coordinate di quella base. > [!OSSERVAZIONE] Autovettori in coordinate > Prendiamo un endomorfismo $T : V \to V$ e una base $\mathcal B$ di $V$. Chiamiamo $A$ la matrice di $T$ in quella base, cioè $A = [T]^{\mathcal B}_{\mathcal B}$. Chiamiamo $x$ la lista delle coordinate di un vettore $v$, cioè $x = [v]_{\mathcal B}$. Allora le due uguaglianze qui sotto sono vere insieme oppure false insieme: > $$T(v) = \lambda v \qquad\qquad Ax = \lambda x$$ > Quella di sinistra parla di vettori qualsiasi. Quella di destra parla solo di liste di numeri. Per questo, dicono le dispense, basta capire bene il caso in cui la macchina è del tipo $L_A$. Il motivo, in due frasi. Le coordinate di quello che esce si calcolano moltiplicando la matrice per le coordinate di quello che entra: è la Proposizione 15.9 della lezione L15. E due vettori sono uguali esattamente quando hanno le stesse coordinate. Da qui in poi parleremo di **autovalori e autovettori di una matrice**. Vuol dire: quelli della macchina «moltiplica per quella matrice». ::: prova Per la macchina $T(a + bx) = b + ax$: il polinomio $3 + 3x$ è un autovettore? E il polinomio $2 - 2x$? Da $3 + 3x$ esce $3 + 3x$: i due numeri sono uguali, e scambiarli non cambia niente. È un autovettore con autovalore 1. Da $2 - 2x$ esce $-2 + 2x$, cioè $-1$ volte $2 - 2x$. È un autovettore con autovalore $-1$. ::: ::: prova Quali sono le coordinate del polinomio $4 - 3x$ nella base fatta da $1$ e $x$? Che cosa esce dalla macchina $T$? È un autovettore? Le coordinate sono $(4, -3)$. La macchina scambia i due numeri: esce $(-3, 4)$, cioè il polinomio $-3 + 4x$. Non è un multiplo di $4 - 3x$. Per passare da 4 a $-3$ nel primo posto servirebbe «per $-\frac 34$». Per passare da $-3$ a 4 nel secondo servirebbe «per $-\frac 43$». Quindi $4 - 3x$ non è un autovettore. ::: > [!RICORDA] > - Con le coordinate ogni endomorfismo diventa una matrice quadrata. > - Gli autovettori della macchina corrispondono agli autovettori della matrice, e gli autovalori sono gli stessi. > - Per questo si lavora sempre sulle matrici. Alla fine si traducono le coordinate nei vettori di partenza. ## Le rotazioni girano tutto: nessun autovettore (p. 85) Esistono macchine che non hanno nessun autovettore. L'esempio più chiaro è una **rotazione**: la macchina che fa girare tutto il piano intorno all'origine, di un angolo fisso. > [!RIPASSO] gli angoli in radianti > Nel corso gli angoli si misurano in **radianti** (lezione L03). Il giro intero vale $2\pi$. > > | Angolo | In gradi | In radianti | > |---|---|---| > | nessuna rotazione | 0° | $0$ | > | un quarto di giro | 90° | $\frac{\pi}{2}$ | > | mezzo giro | 180° | $\pi$ | > > La lettera greca $\vartheta$, che si legge «theta», indica un angolo. ### Un quarto di giro, con i numeri Prendiamo la rotazione di un quarto di giro in senso antiorario, cioè nel verso opposto a quello delle lancette dell'orologio. Sulla mappa a quadretti la regola è questa: il vettore $(x, y)$ va in $(-y, x)$. | Entra | Esce | Esce un multiplo di quello che è entrato? | |---|---|---| | $(1, 0)$ | $(0, 1)$ | no: da «a destra» diventa «in su» | | $(0, 1)$ | $(-1, 0)$ | no: da «in su» diventa «a sinistra» | | $(2, 1)$ | $(-1, 2)$ | no | Nessuno dei tre esce sulla sua retta. E non è un caso. ### Perché non può esserci nessun autovettore I multipli di un vettore stanno tutti sulla sua retta. Un multiplo positivo punta dalla stessa parte del vettore: tra i due c'è un angolo di 0. Un multiplo negativo punta dalla parte opposta: tra i due c'è un angolo di mezzo giro. Non ci sono altri casi. Una rotazione sposta **ogni** vettore non nullo dello stesso angolo. Se l'angolo non è 0 e non è mezzo giro, il vettore esce dalla sua retta. Quindi quello che esce non è mai un multiplo di quello che è entrato. > [!ESEMPIO] 17.3 · Una rotazione > Prendiamo la macchina $L_A$ sui vettori del piano, dove $A = \mathrm{Rot}_\vartheta$ è la matrice di una rotazione di angolo $\vartheta \neq 0, \pi$. Questa scrittura vuol dire: l'angolo non è 0 e non è $\pi$. > > Ogni vettore $v$ del piano diverso da zero viene ruotato di un angolo che non è 0 e non è $\pi$. Quindi il vettore che esce, $L_A(v)$, non sta sulla retta di $v$: non può essere un multiplo di $v$. > > Conclusione: l'endomorfismo $L_A$ non ha autovettori. Guarda la figura: il vettore $v$ viene ruotato di 60°. La retta tratteggiata è la retta di $v$, dove stanno tutti i suoi multipli. Il vettore ruotato, in ambra, è fuori da quella retta. ```grafico titolo: Ruotando di $60°$, $v$ esce dalla sua retta: nessun multiplo di $v$ è uguale a $\mathrm{Rot}_{60°}\,v$ x: -3 3 y: -1.5 3 retta: 0 0 2 1 | accento | tratteggio | sottile vettore: 2 1 | accento | spesso | $v$ | e vettore: 0.134 2.232 | ambra | spesso | $\mathrm{Rot}_{60°}\,v$ | n arco: 0 0 0.9 0.4636 1.5108 | grigio testo: 0.85 0.95 | $60°$ ``` ### I due angoli speciali Restano i due casi esclusi. - **Angolo 0.** Non si muove niente: ogni vettore esce uguale a com'è entrato. Ogni vettore non nullo è un autovettore con autovalore 1. - **Angolo $\pi$, cioè mezzo giro.** Ogni vettore esce ribaltato: diventa il suo opposto. Ogni vettore non nullo è un autovettore con autovalore $-1$. > [!OLTRE] la matrice di rotazione > La matrice della rotazione antioraria di angolo $\vartheta$ si studia nella lezione L22. È questa: > $$\mathrm{Rot}_\vartheta = \begin{pmatrix} \cos\vartheta & -\sin\vartheta \\ \sin\vartheta & \cos\vartheta \end{pmatrix}$$ > Per il quarto di giro il coseno vale 0 e il seno vale 1. La matrice diventa > $$\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$$ > e manda $(x, y)$ in $(-y, x)$, come nella tabella. Che questa matrice non abbia autovalori reali si può controllare anche con un conto: lo trovi nell'ultima sezione, dopo il polinomio caratteristico. Tutto questo vale con i numeri reali. Con i numeri complessi le rotazioni hanno autovalori: lo vedi nell'ultima sezione e nell'esercizio 10. ::: prova La rotazione di mezzo giro manda ogni vettore nel suo opposto. Che cosa esce se entra $(2, 3)$? È un autovettore? Con quale autovalore? Esce $(-2, -3)$, cioè $-1$ volte $(2, 3)$. Quindi è un autovettore, con autovalore $-1$. ::: ::: prova La rotazione di un quarto di giro manda $(x, y)$ in $(-y, x)$. Che cosa esce se entra $(3, 1)$? È un multiplo di $(3, 1)$? Esce $(-1, 3)$. Per passare da 3 a $-1$ nel primo posto servirebbe «per $-\frac 13$». Per passare da 1 a 3 nel secondo posto servirebbe «per 3». I due numeri sono diversi: non è un multiplo. ::: > [!RICORDA] > - Una rotazione di angolo diverso da 0 e da $\pi$ gira tutti i vettori: **non ha autovettori reali**. > - Con angolo 0 ogni vettore non nullo è un autovettore con autovalore 1. Con angolo $\pi$ ogni vettore non nullo è un autovettore con autovalore $-1$. ## Tutta una retta di autovettori: i multipli (p. 86) Gli autovettori non arrivano mai da soli: insieme a un autovettore trovi sempre tutta la sua retta. Lo vediamo su una matrice con tre righe e tre colonne. ### Un esempio con tre numeri Un vettore con tre numeri, come $(0, 1, 1)$, è uno spostamento nello spazio: avanti, di lato, in alto. Il prodotto «matrice per vettore» funziona come prima, una riga alla volta. Solo che ogni riga ha tre numeri. I tre vettori «un passo lungo un asse» hanno un nome fisso anche qui: $e_1 = (1, 0, 0)$, poi $e_2 = (0, 1, 0)$, poi $e_3 = (0, 0, 1)$. > [!ESEMPIO] 17.4 · Un autovettore di una matrice $3 \times 3$ > Prendiamo la macchina $L_A$ che lavora sui vettori dello spazio, con > $$A = \begin{pmatrix} 1 & 1 & -1 \\ 2 & 1 & 1 \\ 3 & 0 & 2 \end{pmatrix}.$$ > > **Il vettore $e_1 = (1, 0, 0)$.** > $$A e_1 = \begin{pmatrix} 1 \cdot 1 + 1 \cdot 0 + (-1) \cdot 0 \\ 2 \cdot 1 + 1 \cdot 0 + 1 \cdot 0 \\ 3 \cdot 1 + 0 \cdot 0 + 2 \cdot 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}$$ > Esce la prima colonna di $A$. Un multiplo di $e_1$ ha 0 nel secondo e nel terzo posto, e qui ci sono 2 e 3. Quindi $e_1$ non è un autovettore. > > **Il vettore $v = (0, 1, 1)$.** > $$A v = \begin{pmatrix} 1 \cdot 0 + 1 \cdot 1 + (-1) \cdot 1 \\ 2 \cdot 0 + 1 \cdot 1 + 1 \cdot 1 \\ 3 \cdot 0 + 0 \cdot 1 + 2 \cdot 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 2 \\ 2 \end{pmatrix} = 2\begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}$$ > Esce 2 volte $v$. Quindi $v$ è un autovettore con autovalore 2. > > **Il vettore $w = (0, 3, 3)$.** Rifacciamo il conto anche per lui. > $$A w = \begin{pmatrix} 1 \cdot 0 + 1 \cdot 3 + (-1) \cdot 3 \\ 2 \cdot 0 + 1 \cdot 3 + 1 \cdot 3 \\ 3 \cdot 0 + 0 \cdot 3 + 2 \cdot 3 \end{pmatrix} = \begin{pmatrix} 0 \\ 6 \\ 6 \end{pmatrix} = 2\begin{pmatrix} 0 \\ 3 \\ 3 \end{pmatrix}$$ > Esce 2 volte $w$. Anche $w$ è un autovettore con autovalore 2. > > Notiamo che $w$ è il triplo di $v$, cioè $w = 3v$. ### Perché succede con ogni multiplo Nell'esempio $w$ è il triplo di $v$, ed è un autovettore con lo stesso autovalore. Non è una coincidenza. Una macchina lineare rispetta i multipli (lezione L14): se in entrata metti il triplo, in uscita trovi il triplo. Dal vettore $v$ esce il suo doppio. Allora dal triplo di $v$ esce il triplo di quel doppio, cioè 6 volte $v$. E 6 volte $v$ è proprio il doppio del triplo di $v$. Il ragionamento funziona con qualunque numero al posto di 3, tranne lo zero. Con lo zero otterresti il vettore nullo, che non è un autovettore. > [!IDEA] > Se un vettore è un autovettore, lo sono anche tutti i suoi multipli non nulli, con lo stesso autovalore. Gli autovettori si trovano a rette intere. Le dispense lo scrivono con una catena di uguaglianze. Usano due simboli in più. - $\mu$ è la lettera greca **mi**. Come $\lambda$, indica un numero. Qui è il numero per cui si moltiplica il vettore: nell'esempio vale 3. - $\Span(v)$ si legge «span di $v$». È l'insieme di tutti i multipli di $v$, cioè la retta di $v$ (lezione L06). > [!OSSERVAZIONE] I multipli di un autovettore > Prendiamo un endomorfismo $f : V \to V$ e un suo autovettore $v$, con autovalore $\lambda$. Allora ogni multiplo $w = \mu v$ con $\mu \neq 0$ è anche lui un autovettore, con lo stesso autovalore $\lambda$. Il conto è > $$f(\mu v) = \mu f(v) = \mu \lambda v = \lambda (\mu v).$$ > In altre parole: tutti i vettori non nulli della retta $\Span(v)$ sono autovettori con lo stesso autovalore. La catena ha tre passaggi. 1. Il primo uguale usa il fatto che la macchina rispetta i multipli: il numero $\mu$ esce fuori. 2. Il secondo uguale usa che $v$ è un autovettore: al posto di $f(v)$ si scrive $\lambda v$. 3. Il terzo uguale cambia solo l'ordine dei due numeri che si moltiplicano. All'inizio della catena c'è quello che esce quando entra il multiplo $\mu v$. Alla fine c'è lo stesso multiplo, moltiplicato per $\lambda$. Quindi anche lui è un autovettore con autovalore $\lambda$. ### Che cosa cambia negli esercizi Quando un esercizio chiede «un autovettore», la risposta **non è unica**: va bene qualunque multiplo non nullo. Conviene scegliere quello con i numeri più comodi. Per esempio al posto di $\left(\frac 12, 1\right)$ si prende il suo doppio, $(1, 2)$. Per lo stesso motivo, nel quiz la risposta giusta può essere un multiplo del vettore che hai trovato tu. > [!TRAPPOLA] La somma di due autovettori non è sempre un autovettore > I multipli restano autovettori. Le somme, in generale, no. > > Torna alla matrice $A$ dell'Esempio 17.2. I vettori $(1, 0)$ e $(-4, 1)$ sono autovettori, con autovalori 3 e 2. La loro somma è $(-3, 1)$. Facciamola passare nella macchina: > $$A\begin{pmatrix} -3 \\ 1 \end{pmatrix} = \begin{pmatrix} 3 \cdot (-3) + 4 \cdot 1 \\ 0 \cdot (-3) + 2 \cdot 1 \end{pmatrix} = \begin{pmatrix} -5 \\ 2 \end{pmatrix}$$ > Nel secondo posto si passa da 1 a 2: servirebbe «per 2». Ma 2 volte $-3$ fa $-6$, non $-5$. Quindi quello che esce non è un multiplo di $(-3, 1)$. > > Il motivo: i due pezzi vengono allungati in modo diverso, uno di 3 e l'altro di 2, e la somma cambia direzione. Se invece due autovettori hanno lo **stesso** autovalore, la loro somma (quando non è nulla) è ancora un autovettore con quell'autovalore. Da questa idea nasce l'autospazio della lezione L18. ::: prova Dall'Esempio 17.4 sai che $(0, 1, 1)$ è un autovettore con autovalore 2. Senza fare conti: $(0, -2, -2)$ è un autovettore? Con quale autovalore? Sì. $(0, -2, -2)$ è $-2$ volte $(0, 1, 1)$, quindi è un multiplo non nullo di un autovettore. L'autovalore resta 2: non diventa $-4$. ::: ::: prova Hai trovato l'autovettore $\left(\frac 13, \frac 23\right)$. Quale multiplo con numeri interi puoi usare al suo posto? Moltiplica per 3: viene $(1, 2)$. È un autovettore con lo stesso autovalore. ::: > [!RICORDA] > - I multipli non nulli di un autovettore sono autovettori con lo **stesso** autovalore. > - Per questo l'autovettore di un autovalore non è uno solo: si sceglie quello con i numeri più comodi. > - La somma di autovettori con autovalori diversi in genere non è un autovettore. ## Una base di autovettori: diagonalizzare (pp. 86–87) Adesso arriva il motivo per cui si cercano gli autovettori: servono a descrivere la macchina con la tabella più corta possibile. ### La stessa macchina, vista dagli autovettori Ricorda due cose delle lezioni precedenti. - Una **base** è un gruppo di vettori con cui si costruiscono tutti gli altri, senza doppioni (lezione L07). Nel piano servono due vettori che non stanno sulla stessa retta. - La **matrice di una macchina in una base** si costruisce una colonna alla volta (lezione L15). Nella colonna 1 si scrive dove va il primo vettore della base, nella colonna 2 dove va il secondo. Tutto va scritto come ricetta: «tanti del primo vettore, tanti del secondo». Prendiamo la macchina dell'Esempio 17.2 e i suoi due autovettori. Diamo loro un nome: $$v_1 = (1, 0) \qquad\qquad v_2 = (-4, 1)$$ Non stanno sulla stessa retta, quindi formano una base del piano. Costruiamo la matrice della macchina in questa base. 1. **Colonna 1: dove va $v_1$.** Dalla macchina esce 3 volte $v_1$. Come ricetta: 3 del primo vettore, 0 del secondo. La colonna è $(3, 0)$. 2. **Colonna 2: dove va $v_2$.** Dalla macchina esce 2 volte $v_2$. Come ricetta: 0 del primo vettore, 2 del secondo. La colonna è $(0, 2)$. La matrice della macchina nella base degli autovettori è $$\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$$ Confrontala con la matrice $A$ di partenza. È la stessa macchina, ma adesso la tabella si legge a colpo d'occhio. Lungo il primo autovettore la macchina allunga di 3, lungo il secondo allunga di 2, e non fa nient'altro. Una matrice così si chiama **diagonale**. Ha numeri solo sulla **diagonale principale**, quella che va dall'angolo in alto a sinistra all'angolo in basso a destra. In tutti gli altri posti c'è 0. > [!IDEA] > In una base fatta di autovettori la macchina allunga soltanto gli assi. La sua matrice è diagonale, e sulla diagonale ci sono gli autovalori. Quando una base di autovettori esiste, la macchina si chiama **diagonalizzabile**. Le dispense lo scrivono così. > [!DEF] 17.5 · Endomorfismo diagonalizzabile > Un endomorfismo $T : V \to V$ è **diagonalizzabile** se $V$ ha una base $\mathcal B = \{v_1, \dots, v_n\}$ composta da autovettori per $T$. **Come si legge.** - $\mathcal B = \{v_1, \dots, v_n\}$ è una base, cioè un elenco di vettori. Il primo si chiama $v_1$, l'ultimo $v_n$, e $n$ è quanti sono. I puntini stanno per «e avanti così». - «Composta da autovettori per $T$» vuol dire che **ogni** vettore dell'elenco è un autovettore della macchina. Gli autovalori possono cambiare da un vettore all'altro. Nel piano servono due autovettori che non stanno sulla stessa retta. Nello spazio ne servono tre. Il nome «diagonalizzabile» viene dal fatto seguente, che le dispense chiamano cruciale. > [!PROP] 17.6 > Sia $\mathcal B = \{v_1, \dots, v_n\}$ una base qualsiasi di $V$. La matrice associata $A = [T]^{\mathcal B}_{\mathcal B}$ è diagonale se e solo se i vettori $v_1, \dots, v_n$ sono tutti autovettori per $T$. **Come si legge.** «Se e solo se» vuol dire che le due cose succedono insieme. Se la base è fatta di autovettori, la matrice in quella base è diagonale: è il conto che abbiamo appena fatto. E al contrario: se la matrice in una base è diagonale, i vettori di quella base sono tutti autovettori. Il secondo verso si vede leggendo una colonna. Se la colonna 1 è $(3, 0)$, la ricetta di quello che esce dal primo vettore è «3 del primo, 0 del secondo». Quindi dal primo vettore esce il suo triplo: è un autovettore. > [!DIM] della Proposizione 17.6, con una base di $n$ vettori > Si guarda una colonna alla volta. Chiamiamo $v_i$ il vettore numero $i$ della base. > > 1. $v_i$ è un autovettore quando $T(v_i) = \lambda_i v_i$ per qualche numero $\lambda_i$. Il numerino $i$ in basso dice che ogni vettore ha il suo autovalore. > 2. Scritta come ricetta nella base, l'uguaglianza diventa $T(v_i) = 0 \cdot v_1 + \dots + \lambda_i v_i + \dots + 0 \cdot v_n$. Quindi le coordinate di $T(v_i)$ sono una colonna con $\lambda_i$ al posto $i$ e 0 negli altri posti. In simboli: $[T(v_i)]_{\mathcal B} = \lambda_i e_i$, dove $e_i$ è la colonna con 1 al posto $i$ e 0 altrove. > 3. La colonna $i$ della matrice $A$ contiene proprio le coordinate di $T(v_i)$ (lezione L15). > 4. Quindi tutti i vettori della base sono autovettori esattamente quando ogni colonna di $A$ ha un solo numero, quello sulla diagonale. Cioè quando $A$ è diagonale, con gli autovalori sulla diagonale principale: > > $$A = \begin{pmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{pmatrix}.$$ Le dispense riassumono così. Un endomorfismo è diagonalizzabile se e solo se esiste una base in cui la sua matrice è diagonale. Succede proprio quando la base è fatta di autovettori. E i numeri sulla diagonale sono i loro autovalori. ### La stessa idea per le matrici Finora abbiamo parlato di macchine. Per le matrici c'è una definizione che dice la stessa cosa con un prodotto. Servono quattro richiami. > [!RIPASSO] determinante, identità, inversa, matrici simili > **Determinante** (lezione L09). È un numero che si calcola da una matrice quadrata. Se è zero, la matrice schiaccia tutto lo spazio su qualcosa di più piccolo. Con 2 righe la regola è «diagonale meno l'altra diagonale»: il prodotto dei due numeri sulla diagonale principale, meno il prodotto degli altri due. > $$\det\begin{pmatrix} a & b \\ c & d \end{pmatrix} = a \cdot d - b \cdot c$$ > Per la matrice con le righe $(1, 2)$ e $(3, 4)$ il conto è 1 per 4, meno 2 per 3. Viene $-2$. > > **Matrice identità.** È la matrice con 1 sulla diagonale e 0 altrove. Si scrive $I$, oppure $I_n$ se ha $n$ righe. Moltiplicare per l'identità non cambia niente, come moltiplicare un numero per 1. > > **Matrice inversa** (lezione L10). L'inversa di $M$ si scrive $M^{-1}$ e si legge «$M$ alla meno uno». È la matrice che disfa quello che fa $M$: il prodotto $M^{-1}M$ dà l'identità. Esiste solo se il determinante di $M$ non è zero. Una matrice che ha l'inversa si chiama **invertibile**. > > Per una matrice con 2 righe c'è una ricetta veloce: scambia i due numeri sulla diagonale, cambia segno agli altri due, dividi tutto per il determinante. > > **Matrici simili** (lezione L16). Due matrici sono simili quando descrivono la stessa macchina in due basi diverse. In formule: $B = M^{-1}AM$, dove $M$ è una matrice invertibile. La matrice $M$ è il traduttore tra le due basi: nelle sue colonne ci sono i vettori della base nuova. Proviamo con la nostra matrice. Mettiamo i due autovettori **in colonna** in una matrice e chiamiamola $M$: $$M = \begin{pmatrix} 1 & -4 \\ 0 & 1 \end{pmatrix}$$ Poi calcoliamo $M^{-1}AM$ e guardiamo che cosa viene. > [!ESEMPIO] · il prodotto $M^{-1}AM$, un passo alla volta > **Passo 1: l'inversa di $M$.** Il determinante di $M$ è $1 \cdot 1 - (-4) \cdot 0 = 1$. Scambio i due numeri sulla diagonale: sono 1 e 1, quindi non cambia niente. Cambio segno agli altri due: $-4$ diventa 4, e 0 resta 0. Divido per il determinante, che è 1. > $$M^{-1} = \begin{pmatrix} 1 & 4 \\ 0 & 1 \end{pmatrix}$$ > > **Passo 2: il prodotto $AM$.** Ogni numero del risultato è una riga di $A$ per una colonna di $M$. > $$AM = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} 1 & -4 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 3 \cdot 1 + 4 \cdot 0 & 3 \cdot (-4) + 4 \cdot 1 \\ 0 \cdot 1 + 2 \cdot 0 & 0 \cdot (-4) + 2 \cdot 1 \end{pmatrix} = \begin{pmatrix} 3 & -8 \\ 0 & 2 \end{pmatrix}$$ > > **Passo 3: si moltiplica a sinistra per $M^{-1}$.** > $$M^{-1}(AM) = \begin{pmatrix} 1 & 4 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 3 & -8 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 1 \cdot 3 + 4 \cdot 0 & 1 \cdot (-8) + 4 \cdot 2 \\ 0 \cdot 3 + 1 \cdot 0 & 0 \cdot (-8) + 1 \cdot 2 \end{pmatrix} = \begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$$ > > Viene la matrice diagonale con gli autovalori 3 e 2: la stessa trovata prima con le ricette. Questa matrice diagonale si indica di solito con la lettera $D$. Le dispense danno la definizione per le matrici così. > [!DEF] 17.7 · Matrice diagonalizzabile > Una matrice $A \in M(n, \K)$ è **diagonalizzabile** se è simile a una matrice diagonale $D$. Quindi $A$ è diagonalizzabile $\iff$ esiste una matrice invertibile $M$ tale che > $$D = M^{-1}AM$$ > è diagonale. **Come si legge.** - $A \in M(n, \K)$ si legge «$A$ appartiene a $M$ di $n$, $\K$». Vuol dire: $A$ è una matrice quadrata con $n$ righe e $n$ colonne, fatta di numeri reali o complessi. - La freccia doppia $\iff$ si legge «se e solo se». - La formula al centro dice: c'è un traduttore $M$ per cui il prodotto $M^{-1}AM$ è una matrice diagonale. Quella matrice diagonale si chiama $D$. A parole: una matrice è diagonalizzabile quando, cambiando base, la si può far diventare diagonale. Le due definizioni, quella per le macchine e quella per le matrici, dicono la stessa cosa. > [!PROP] 17.8 > Sia $\mathcal B$ una base di $V$. Un endomorfismo $T : V \to V$ è diagonalizzabile $\iff$ la matrice associata $A = [T]^{\mathcal B}_{\mathcal B}$ è diagonalizzabile. **Come si legge.** Scegli una base qualsiasi e scrivi la matrice della macchina in quella base. La macchina è diagonalizzabile esattamente quando lo è la matrice. Quindi per decidere se una macchina è diagonalizzabile basta lavorare su una sua matrice, in qualunque base. Il perché, a parole. Passare da una base a un'altra vuol dire passare da una matrice a una matrice simile (lezione L16). Se tra tutte le basi ce n'è una di autovettori, tra tutte le matrici simili ce n'è una diagonale. E vale anche il contrario. > [!DIM] della Proposizione 17.8 > Serve una scrittura della lezione L16: $[\id]^{\mathcal C}_{\mathcal B}$ è la matrice di cambiamento di base, cioè il traduttore che trasforma le coordinate rispetto alla base $\mathcal C$ nelle coordinate rispetto alla base $\mathcal B$. > > **Primo verso: se $T$ è diagonalizzabile, anche $A$ lo è.** > > 1. Se $T$ è diagonalizzabile, esiste una base di autovettori. Chiamiamola $\mathcal C$. In quella base la matrice $D = [T]^{\mathcal C}_{\mathcal C}$ è diagonale (Proposizione 17.6). > 2. Chiamiamo $M = [\id]^{\mathcal C}_{\mathcal B}$ la matrice di cambiamento di base da $\mathcal C$ a $\mathcal B$. > 3. La formula della lezione L16 per cambiare la base di un endomorfismo dice che $[T]^{\mathcal C}_{\mathcal C} = M^{-1}[T]^{\mathcal B}_{\mathcal B}M$. Cioè $D = M^{-1}AM$: la matrice $A$ è diagonalizzabile. > > **Secondo verso: se $A$ è diagonalizzabile, anche $T$ lo è.** > > 1. Se $A$ è diagonalizzabile, c'è una matrice invertibile $M$ per cui $D = M^{-1}AM$ è diagonale. > 2. Costruiamo una base $\mathcal C$ di $V$: i suoi vettori sono quelli che hanno come coordinate, rispetto a $\mathcal B$, le colonne di $M$. Sono una base perché $M$ è invertibile. > 3. Per come è costruita la base, $M = [\id]^{\mathcal C}_{\mathcal B}$. Quindi $[T]^{\mathcal C}_{\mathcal C} = M^{-1}AM = D$ è diagonale. > 4. Per la Proposizione 17.6 la base $\mathcal C$ è fatta di autovettori: $T$ è diagonalizzabile. Ecco i due esempi delle dispense. > [!ESEMPIO] 17.9 · $A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$ è diagonalizzabile > La macchina $L_A$ dell'Esempio 17.2 è diagonalizzabile. Il motivo, in tre passi: > > 1. $v_1 = (1, 0)$ e $v_2 = (-4, 1)$ sono tutti e due autovettori; > 2. sono **linearmente indipendenti**, cioè nessuno dei due è multiplo dell'altro (lezione L07); > 3. quindi formano una base del piano. > > I loro autovalori sono 3 e 2. Prendendo la base $\mathcal B = \{v_1, v_2\}$ si ottiene > $$[L_A]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}.$$ > [!ESEMPIO] 17.10 · Le rotazioni > La rotazione di angolo $\vartheta$ dell'Esempio 17.3 **non** è diagonalizzabile quando l'angolo non è 0 e non è $\pi$. Non ha nessun autovettore, quindi non può avere una base di autovettori. > > Per $\vartheta = 0$ la rotazione lascia fermo ogni vettore: $f(v) = v$. Per $\vartheta = \pi$ manda ogni vettore nel suo opposto: $f(v) = -v$. In questi due casi ogni vettore non nullo è un autovettore. Quindi ogni base è una base di autovettori, e la rotazione è diagonalizzabile. ### Costruire le due matrici: il metodo All'esame ti chiedono spesso di scrivere le due matrici $M$ e $D$. Una volta trovati gli autovettori non c'è nessun conto da fare: bisogna solo metterli al posto giusto. > [!METODO] Da una base di autovettori alle matrici $M$ e $D$ > 1. Scrivi gli autovettori **in colonna** dentro $M$, nell'ordine che preferisci. > 2. Scrivi gli autovalori sulla diagonale di $D$, **nello stesso ordine**: alla prima colonna di $M$ corrisponde il primo numero di $D$, e avanti così. > 3. Controlla che $M$ sia invertibile: il suo determinante non deve essere zero. Vuol dire che gli autovettori scelti sono indipendenti. > 4. Allora vale $D = M^{-1}AM$. Per il controllo usa la forma senza inversa: $AM = MD$. **Perché il controllo funziona.** La forma senza inversa si ottiene moltiplicando a sinistra per $M$ i due lati della formula del passo 4. E si capisce guardando le colonne. - La colonna 1 di $AM$ è la matrice $A$ per il primo autovettore. - La colonna 1 di $MD$ è il primo autovettore moltiplicato per il suo autovalore. Le due colonne sono uguali proprio perché il vettore è un autovettore. Lo stesso vale per le altre colonne. > [!ESEMPIO] · il controllo $AM = MD$ sull'Esempio 17.9 > Il prodotto $AM$ è già stato calcolato sopra: > $$AM = \begin{pmatrix} 3 & -8 \\ 0 & 2 \end{pmatrix}$$ > Calcoliamo $MD$: > $$MD = \begin{pmatrix} 1 & -4 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 1 \cdot 3 + (-4) \cdot 0 & 1 \cdot 0 + (-4) \cdot 2 \\ 0 \cdot 3 + 1 \cdot 0 & 0 \cdot 0 + 1 \cdot 2 \end{pmatrix} = \begin{pmatrix} 3 & -8 \\ 0 & 2 \end{pmatrix}$$ > Le due matrici sono uguali: $M$ e $D$ sono giuste. > [!TRAPPOLA] L'ordine di $D$ deve seguire le colonne di $M$ > Se scambi le colonne di $M$, devi scambiare anche i numeri di $D$. Con gli autovettori nell'ordine opposto le matrici giuste sono > $$M = \begin{pmatrix} -4 & 1 \\ 1 & 0 \end{pmatrix} \qquad\qquad D = \begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix}$$ > Seconda attenzione: le colonne di $M$ devono essere autovettori **indipendenti**. I vettori $(0, 1, 1)$ e $(0, 3, 3)$ dell'Esempio 17.4 sono due autovettori, ma uno è multiplo dell'altro. Non possono stare insieme in una base. ::: prova Una matrice $2 \times 2$ ha l'autovettore $(1, 1)$ con autovalore 5 e l'autovettore $(1, -2)$ con autovalore 2. Scrivi $M$ e $D$. Autovettori in colonna, autovalori sulla diagonale nello stesso ordine: $$M = \begin{pmatrix} 1 & 1 \\ 1 & -2 \end{pmatrix} \qquad\qquad D = \begin{pmatrix} 5 & 0 \\ 0 & 2 \end{pmatrix}$$ Controllo che $M$ sia invertibile: il determinante è $1 \cdot (-2) - 1 \cdot 1 = -3$, diverso da zero. ::: ::: prova Nella risposta precedente scambia le due colonne di $M$. Come diventa $D$? Adesso la prima colonna è $(1, -2)$, che ha autovalore 2. Quindi il 2 va al primo posto della diagonale. $$M = \begin{pmatrix} 1 & 1 \\ -2 & 1 \end{pmatrix} \qquad\qquad D = \begin{pmatrix} 2 & 0 \\ 0 & 5 \end{pmatrix}$$ ::: ::: prova La matrice $\begin{pmatrix} 7 & 0 \\ 0 & -1 \end{pmatrix}$ è diagonale? E la matrice $\begin{pmatrix} 0 & 7 \\ -1 & 0 \end{pmatrix}$? La prima sì: fuori dalla diagonale principale ci sono solo zeri. La seconda no: i numeri diversi da zero stanno sull'altra diagonale. ::: > [!RICORDA] > - Una macchina è **diagonalizzabile** quando esiste una base fatta di autovettori. In quella base la sua matrice è diagonale. > - Per le matrici: $A$ è diagonalizzabile quando $D = M^{-1}AM$ è diagonale per qualche matrice invertibile $M$. > - $M$ ha gli autovettori in colonna, $D$ ha gli autovalori sulla diagonale, **nello stesso ordine**. > - Controllo veloce, senza inversa: $AM = MD$. ## Perché le matrici diagonali sono comode (p. 88) Le dispense si chiedono perché preferiamo le matrici diagonali, e rispondono: perché sono molto più maneggevoli. Ci sono quattro conti che con una matrice qualsiasi sono lunghi. Con una matrice diagonale si fanno un numero alla volta. In tutta la sezione usiamo la matrice diagonale dell'Esempio 17.9: $$D = \begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$$ ### Primo conto: matrice per vettore Ogni numero del vettore viene moltiplicato per il numero della diagonale che sta nello stesso posto. $$\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} 5 \\ -1 \end{pmatrix} = \begin{pmatrix} 3 \cdot 5 + 0 \cdot (-1) \\ 0 \cdot 5 + 2 \cdot (-1) \end{pmatrix} = \begin{pmatrix} 15 \\ -2 \end{pmatrix}$$ Gli zeri cancellano tutto il resto. Il primo numero del vettore è diventato 3 volte più grande, il secondo 2 volte. ### Secondo conto: il determinante Il determinante di una matrice diagonale è il prodotto dei numeri sulla diagonale. Per la nostra matrice è 3 per 2, cioè 6. Lo puoi controllare con la regola «diagonale meno l'altra diagonale» della lezione L09: $$3 \cdot 2 - 0 \cdot 0 = 6$$ ### Terzo conto: il prodotto di due matrici diagonali Il prodotto di due matrici diagonali è ancora una matrice diagonale. Sulla diagonale ci sono i prodotti dei numeri che stanno nello stesso posto. $$\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} 5 & 0 \\ 0 & 4 \end{pmatrix} = \begin{pmatrix} 3 \cdot 5 + 0 \cdot 0 & 3 \cdot 0 + 0 \cdot 4 \\ 0 \cdot 5 + 2 \cdot 0 & 0 \cdot 0 + 2 \cdot 4 \end{pmatrix} = \begin{pmatrix} 15 & 0 \\ 0 & 8 \end{pmatrix}$$ ### Quarto conto: le potenze > [!RIPASSO] potenza di una matrice > La potenza di una matrice funziona come quella di un numero. Il quadrato $A^2$ è la matrice moltiplicata per sé stessa. Il cubo $A^3$ è il prodotto di tre copie della matrice. Il numerino in alto dice quante copie ci sono nel prodotto, e si chiama **esponente**. > > Pensando alla macchina: $A^3$ vuol dire far passare il vettore nella macchina tre volte di seguito. Per una matrice diagonale basta usare più volte la regola del terzo conto. Il risultato: **per fare una potenza si eleva ogni numero della diagonale**. $$\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}^3 = \begin{pmatrix} 3^3 & 0 \\ 0 & 2^3 \end{pmatrix} = \begin{pmatrix} 27 & 0 \\ 0 & 8 \end{pmatrix}$$ Anche la potenza numero 100 si scrive subito: sulla diagonale ci sono $3^{100}$ e $2^{100}$. ### Le stesse regole con le lettere Le dispense scrivono i quattro conti per una matrice diagonale con $n$ righe. I numeri sulla diagonale si chiamano $\lambda_1, \lambda_2, \dots, \lambda_n$. Il numerino in basso dice in quale posto della diagonale sta il numero. I puntini dentro le matrici vogliono dire «e avanti così». Matrice per vettore: $$\begin{pmatrix} \lambda_1 & 0 & \dots & 0 \\ 0 & \lambda_2 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & \lambda_n \end{pmatrix}\begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix} = \begin{pmatrix} \lambda_1 x_1 \\ \lambda_2 x_2 \\ \vdots \\ \lambda_n x_n \end{pmatrix}$$ Determinante (la scrittura $\det A$ si legge «determinante di $A$»): $$\det A = \lambda_1 \cdots \lambda_n$$ Prodotto di due matrici diagonali. Gli spazi vuoti sono zeri, e i numeri della seconda matrice si chiamano $\mu_1, \dots, \mu_n$: $$\begin{pmatrix} \lambda_1 & & \\ & \ddots & \\ & & \lambda_n \end{pmatrix}\begin{pmatrix} \mu_1 & & \\ & \ddots & \\ & & \mu_n \end{pmatrix} = \begin{pmatrix} \lambda_1\mu_1 & & \\ & \ddots & \\ & & \lambda_n\mu_n \end{pmatrix}$$ Potenze, con un esponente $k$ qualsiasi: $$\begin{pmatrix} \lambda_1 & & \\ & \ddots & \\ & & \lambda_n \end{pmatrix}^k = \begin{pmatrix} \lambda_1^k & & \\ & \ddots & \\ & & \lambda_n^k \end{pmatrix}$$ ### Le potenze di una matrice diagonalizzabile E se la matrice non è diagonale, ma è diagonalizzabile? Allora le potenze si calcolano passando per la matrice diagonale $D$. Il trucco sta in due passaggi. **Primo passaggio: scrivere $A$ con $M$ e $D$.** Sappiamo che $D = M^{-1}AM$. Moltiplichiamo i due lati a sinistra per $M$ e a destra per $M^{-1}$. Dal lato di $D$ viene $MDM^{-1}$. Dall'altro lato compaiono due coppie fatte da $M$ e dalla sua inversa: danno l'identità e spariscono, e resta solo $A$. Quindi $$A = MDM^{-1}$$ **Secondo passaggio: moltiplicare $A$ per sé stessa.** Guarda che cosa succede con l'esponente 2: $$A^2 = (MDM^{-1})(MDM^{-1}) = MD\,(M^{-1}M)\,DM^{-1} = MD^2M^{-1}$$ In mezzo si incontrano $M^{-1}$ e $M$. Il loro prodotto è l'identità, che non cambia niente: la coppia sparisce. Restano due $D$ vicine, cioè $D^2$. Con l'esponente 3 succede due volte: $$A^3 = MD\,(M^{-1}M)\,D\,(M^{-1}M)\,DM^{-1} = MD^3M^{-1}$$ Ogni volta che aggiungi un pezzo, in mezzo sparisce una coppia. Quindi per ogni esponente $k$ vale $$A^k = MD^kM^{-1}$$ > [!IDEA] > Per calcolare una potenza di una matrice diagonalizzabile si passa nella base degli autovettori, lì si eleva la matrice diagonale, e si torna indietro. I prodotti di matrici da fare sono solo due, qualunque sia l'esponente. > [!ESEMPIO] 17.11 · Il calcolo di $A^{100}$ > Prendiamo $A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$ e calcoliamo $A^{100}$. La matrice $A$ non è diagonale: fare il conto direttamente vorrebbe dire 99 prodotti di matrici. > > **Che cosa sappiamo.** Dall'Esempio 17.9, $A$ è diagonalizzabile: $M^{-1}AM = D$, con > $$D = \begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix} \qquad M = \begin{pmatrix} 1 & -4 \\ 0 & 1 \end{pmatrix} \qquad M^{-1} = \begin{pmatrix} 1 & 4 \\ 0 & 1 \end{pmatrix}$$ > Nelle colonne di $M$ ci sono gli autovettori $(1, 0)$ e $(-4, 1)$. Con i simboli della lezione L16: $M = [\id]^{\mathcal B}_{\mathcal C}$ e $M^{-1} = [\id]^{\mathcal C}_{\mathcal B}$, dove $\mathcal B$ è la base degli autovettori e $\mathcal C$ è la base canonica del piano. > > **Passo 1: la formula.** > $$A^{100} = (MDM^{-1})^{100} = MD^{100}M^{-1}$$ > > **Passo 2: la potenza di $D$.** Si eleva ogni numero della diagonale. > $$D^{100} = \begin{pmatrix} 3^{100} & 0 \\ 0 & 2^{100} \end{pmatrix}$$ > > **Passo 3: il prodotto $D^{100}M^{-1}$.** > $$\begin{pmatrix} 3^{100} & 0 \\ 0 & 2^{100} \end{pmatrix}\begin{pmatrix} 1 & 4 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 3^{100} \cdot 1 + 0 \cdot 0 & 3^{100} \cdot 4 + 0 \cdot 1 \\ 0 \cdot 1 + 2^{100} \cdot 0 & 0 \cdot 4 + 2^{100} \cdot 1 \end{pmatrix} = \begin{pmatrix} 3^{100} & 4 \cdot 3^{100} \\ 0 & 2^{100} \end{pmatrix}$$ > > **Passo 4: si moltiplica a sinistra per $M$.** Scrivo i quattro numeri del risultato uno per riga. > > - In alto a sinistra: $1 \cdot 3^{100} + (-4) \cdot 0 = 3^{100}$. > - In alto a destra: $1 \cdot 4 \cdot 3^{100} + (-4) \cdot 2^{100} = 4 \cdot 3^{100} - 4 \cdot 2^{100}$. > - In basso a sinistra: $0 \cdot 3^{100} + 1 \cdot 0 = 0$. > - In basso a destra: $0 \cdot 4 \cdot 3^{100} + 1 \cdot 2^{100} = 2^{100}$. > > **Risultato.** Nel posto in alto a destra si raccoglie il 4. > $$A^{100} = \begin{pmatrix} 3^{100} & 4 \cdot (3^{100} - 2^{100}) \\ 0 & 2^{100} \end{pmatrix}$$ > I numeri $3^{100}$ e $2^{100}$ sono enormi, e si lasciano scritti così. **Un controllo con un esponente piccolo.** La stessa formula vale con qualunque esponente al posto di 100. Proviamola con l'esponente 2, dove il conto diretto è corto. Con la formula, sulla diagonale vengono $3^2 = 9$ e $2^2 = 4$. In alto a destra viene 4 per la differenza $9 - 4$, cioè 20. Con il prodotto diretto: $$A^2 = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 3 \cdot 3 + 4 \cdot 0 & 3 \cdot 4 + 4 \cdot 2 \\ 0 \cdot 3 + 2 \cdot 0 & 0 \cdot 4 + 2 \cdot 2 \end{pmatrix} = \begin{pmatrix} 9 & 20 \\ 0 & 4 \end{pmatrix}$$ I due risultati coincidono. ::: prova Calcola $\begin{pmatrix} 2 & 0 \\ 0 & -1 \end{pmatrix}^5$. Si eleva alla quinta ogni numero della diagonale. $2^5 = 32$. E $(-1)^5 = -1$, perché un numero negativo elevato a un esponente dispari resta negativo. $$\begin{pmatrix} 32 & 0 \\ 0 & -1 \end{pmatrix}$$ ::: ::: prova Quanto vale il determinante di $\begin{pmatrix} 4 & 0 \\ 0 & -2 \end{pmatrix}$? È il prodotto dei numeri sulla diagonale: $4 \cdot (-2) = -8$. ::: ::: prova Nella formula $A^k = MD^kM^{-1}$, quale delle tre matrici va elevata alla $k$? Solo $D$, quella diagonale. Le matrici $M$ e $M^{-1}$ restano come sono. ::: > [!RICORDA] > - Con una matrice diagonale ogni conto si fa un numero alla volta: prodotto per un vettore, determinante, prodotto, potenze. > - La potenza di una matrice diagonale si ottiene elevando i numeri sulla diagonale. > - Se $A$ è diagonalizzabile, $A = MDM^{-1}$ e quindi $A^k = MD^kM^{-1}$. ## Come si trovano: il polinomio caratteristico (p. 89) Finora gli autovettori erano già pronti, e bastava controllarli. Adesso impariamo a **trovarli**. Il lavoro si fa in due tempi: prima si trovano gli autovalori, poi per ogni autovalore si trovano i suoi autovettori. ### L'idea, in tre mosse Cerchiamo un numero $\lambda$ e un vettore $v$ diverso da zero per cui $$Av = \lambda v$$ **Mossa 1: portare tutto a sinistra.** Togliamo $\lambda v$ da tutti e due i lati: $$Av - \lambda v = 0$$ **Mossa 2: raccogliere il vettore.** Vorremmo scrivere «$A$ meno $\lambda$, per $v$». Ma $A$ è una matrice e $\lambda$ è un numero: una matrice meno un numero non ha senso. Il rimedio è la matrice identità $I$, che non cambia i vettori. Al posto di $\lambda v$ scriviamo $\lambda I v$, che è lo stesso vettore, e raccogliamo: $$(A - \lambda I)\,v = 0$$ La matrice $\lambda I$ ha il numero $\lambda$ sulla diagonale e 0 altrove. Quindi $A - \lambda I$ è la matrice $A$ a cui si toglie $\lambda$ **solo sulla diagonale**. Per la nostra solita matrice: $$A - \lambda I = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix} - \begin{pmatrix} \lambda & 0 \\ 0 & \lambda \end{pmatrix} = \begin{pmatrix} 3 - \lambda & 4 \\ 0 & 2 - \lambda \end{pmatrix}$$ **Mossa 3: usare il determinante.** L'ultima equazione dice che la matrice $A - \lambda I$ manda in zero un vettore che non è zero: lo schiaccia. Ricorda dalle lezioni L09 e L10: una matrice quadrata schiaccia su zero qualche vettore non nullo esattamente quando il suo determinante è zero. Se invece il determinante non è zero, la matrice ha l'inversa, e l'unico vettore che manda in zero è il vettore nullo. > [!IDEA] > Un numero è un autovalore di $A$ esattamente quando, togliendolo sulla diagonale di $A$, si ottiene una matrice con determinante zero. ### Il primo esempio Serve il determinante di una matrice con 2 righe: è la regola «diagonale meno l'altra diagonale», ricordata nella sezione sulla diagonalizzazione. Applichiamo le tre mosse alla matrice dell'Esempio 17.2. Dovremmo ritrovare gli autovalori 3 e 2. > [!ESEMPIO] 17.14 · Gli autovalori ritrovati > Prendiamo $A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$ e calcoliamo il determinante di $A - \lambda I_2$. Il 2 in basso ricorda che la matrice identità ha 2 righe. > $$\det(A - \lambda I_2) = \det\begin{pmatrix} 3 - \lambda & 4 \\ 0 & 2 - \lambda \end{pmatrix} = (3 - \lambda)(2 - \lambda) - 4 \cdot 0 = (3 - \lambda)(2 - \lambda)$$ > Quando vale zero? Un prodotto è zero quando è zero uno dei due pezzi. > > - Il primo pezzo, $3 - \lambda$, è zero quando $\lambda = 3$. > - Il secondo pezzo, $2 - \lambda$, è zero quando $\lambda = 2$. > > Gli autovalori sono 3 e 2: proprio quelli trovati a mano nell'Esempio 17.2. > > Le dispense scrivono il risultato così: $p_A(\lambda) = (3 - \lambda)(2 - \lambda)$, e le radici di questo polinomio sono esattamente $\lambda = 2$ e $\lambda = 3$. Le parole «polinomio» e «radici» sono spiegate qui sotto. ### Il nome: polinomio caratteristico Il determinante di $A - \lambda I$ contiene la lettera $\lambda$. Se sviluppi i prodotti ottieni un'espressione con le potenze di $\lambda$. Nell'esempio: $$(3 - \lambda)(2 - \lambda) = 6 - 3\lambda - 2\lambda + \lambda^2 = \lambda^2 - 5\lambda + 6$$ Un'espressione così si chiama **polinomio** (lezione L04). Questo in particolare si chiama **polinomio caratteristico** della matrice $A$. Si indica con $p_A(\lambda)$, che si legge «pi con $A$ di lambda». > [!RIPASSO] radici di un polinomio di secondo grado > Una **radice** di un polinomio è un numero che, messo al posto della lettera, fa venire zero (lezione L04). > > Esempio: nel polinomio $\lambda^2 - 5\lambda + 6$ metti 2 al posto di $\lambda$. Viene $4 - 10 + 6$, cioè 0. Quindi 2 è una radice. > > Per un polinomio di secondo grado le radici si trovano con una formula. Chiama $a$ il numero davanti a $\lambda^2$, chiama $b$ il numero davanti a $\lambda$, e chiama $c$ il numero da solo. Allora > $$\lambda = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$ > Il simbolo $\pm$ si legge «più o meno»: il conto si fa una volta con il più e una volta con il meno. Il numero sotto la radice si chiama **discriminante**. Se è negativo, il polinomio non ha radici reali. > > Nell'esempio $a$ vale 1, poi $b$ vale $-5$, e $c$ vale 6. Il discriminante è $25 - 24$, cioè 1, e la sua radice quadrata è 1. Le due radici sono > $$\frac{5 + 1}{2} = 3 \qquad\qquad \frac{5 - 1}{2} = 2$$ > > Se il polinomio è già scritto come prodotto, come $(3 - \lambda)(2 - \lambda)$, la formula non serve: le radici si leggono dai due pezzi. Le dispense scrivono la definizione così. > [!DEF] 17.12 · Polinomio caratteristico > Sia $A \in M(n, \K)$. Il **polinomio caratteristico** di $A = (a_{ij})$ è definito nel modo seguente: > $$p_A(\lambda) = \det(A - \lambda I_n) = \det\begin{pmatrix} a_{11} - \lambda & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} - \lambda & \dots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \dots & a_{nn} - \lambda \end{pmatrix}.$$ **Come si legge.** - $A = (a_{ij})$ è un modo breve per dare un nome ai numeri della matrice. Il numero $a_{ij}$ sta nella riga $i$ e nella colonna $j$. Per esempio $a_{12}$ sta nella riga 1 e nella colonna 2. - $I_n$ è la matrice identità con $n$ righe. - Nella matrice grande, $\lambda$ è tolto solo ai numeri sulla diagonale: $a_{11}$, poi $a_{22}$, fino ad $a_{nn}$. Tutti gli altri numeri restano come sono. - In $p_A(\lambda)$ la piccola $A$ in basso ricorda di quale matrice si parla. La lettera $\lambda$ qui è una **variabile**: un posto vuoto in cui si può mettere un numero. Si usa $\lambda$ e non $x$ perché $x$ indica già i vettori. A parole: il polinomio caratteristico è il determinante della matrice dopo aver tolto $\lambda$ sulla diagonale. > [!OSSERVAZIONE] È davvero un polinomio di grado $n$ > Il **grado** di un polinomio è la potenza più alta della variabile. Le dispense osservano che il polinomio caratteristico di una matrice con $n$ righe ha grado $n$. Una matrice con 2 righe dà un polinomio di grado 2, una con 3 righe un polinomio di grado 3. > > Il motivo: nel determinante compare il prodotto degli $n$ numeri sulla diagonale, e ognuno contiene $\lambda$ una volta. Moltiplicandoli si arriva a $\lambda$ alla potenza $n$. Negli altri pezzi del determinante $\lambda$ compare meno volte. Davanti alla potenza più alta c'è $+1$ se $n$ è pari, e $-1$ se $n$ è dispari. > [!OLTRE] la formula veloce per le matrici con 2 righe > Per una matrice con 2 righe il polinomio caratteristico si scrive subito, con la **traccia** e il determinante. La traccia è la somma dei numeri sulla diagonale (lezione L08) e si scrive $\tr(A)$. > $$p_A(\lambda) = \lambda^2 - \tr(A)\,\lambda + \det A$$ > Da dove viene. Chiama $a$ e $b$ i numeri della prima riga, $c$ e $d$ quelli della seconda. Con «diagonale meno l'altra diagonale»: > $$p_A(\lambda) = (a - \lambda)(d - \lambda) - bc = \lambda^2 - (a + d)\lambda + (ad - bc)$$ > La somma $a + d$ è la traccia, e $ad - bc$ è il determinante. > > Esempio: per la matrice con le righe $(1, 2)$ e $(3, 4)$ la traccia è 5 e il determinante è $-2$. Quindi > $$p_A(\lambda) = \lambda^2 - 5\lambda - 2$$ > Qualcosa di simile vale per una matrice con $n$ righe (Martelli, Proposizione 5.1.23). Il numero senza $\lambda$ del polinomio è il determinante della matrice. Il numero davanti a $\lambda^{n-1}$ è la traccia, con il segno $+$ se $n$ è dispari e $-$ se $n$ è pari. ### Matrici simili, stesso polinomio Ricorda: due matrici simili descrivono la stessa macchina in due basi. Gli autovalori dicono di quanto la macchina allunga certe direzioni: sono una proprietà della macchina, non della base. Quindi ci aspettiamo che due matrici simili abbiano gli stessi autovalori. Vale una cosa ancora più forte: hanno lo stesso polinomio caratteristico. Controllo con i numeri. La matrice $A$ dell'Esempio 17.2 e la matrice diagonale $D$ dell'Esempio 17.9 sono simili. Per la prima il polinomio caratteristico è quello dell'Esempio 17.14. Per la seconda il conto è $$\det\begin{pmatrix} 3 - \lambda & 0 \\ 0 & 2 - \lambda \end{pmatrix} = (3 - \lambda)(2 - \lambda) - 0 \cdot 0 = (3 - \lambda)(2 - \lambda)$$ È lo stesso polinomio. > [!OSSERVAZIONE] Matrici simili hanno lo stesso polinomio caratteristico > Se $A$ e $B$ sono simili, allora $p_A(\lambda) = p_B(\lambda)$. > > Per questo si può parlare del polinomio caratteristico di un endomorfismo $T : V \to V$. Si indica con $p_T(\lambda)$. È il polinomio caratteristico della matrice associata $A = [T]^{\mathcal B}_{\mathcal B}$, in una base $\mathcal B$ qualsiasi. Il risultato non dipende dalla base scelta: cambiando base si ottiene una matrice simile, e il polinomio resta lo stesso. Le dispense dicono che il polinomio caratteristico è **invariante per similitudine**. > [!DIM] perché matrici simili hanno lo stesso polinomio caratteristico > Partiamo da $A = M^{-1}BM$, con $M$ invertibile. Serve il Teorema di Binet (lezione L10): il determinante di un prodotto è il prodotto dei determinanti. > > 1. Riscriviamo $\lambda I_n$ in un modo utile. Siccome $M^{-1}M = I_n$, vale $\lambda I_n = \lambda M^{-1}M = M^{-1}(\lambda I_n)M$. > 2. Sostituiamo nella definizione: $p_A(\lambda) = \det(A - \lambda I_n) = \det\big(M^{-1}BM - M^{-1}(\lambda I_n)M\big)$. > 3. Raccogliamo $M^{-1}$ a sinistra e $M$ a destra: viene $\det\big(M^{-1}(B - \lambda I_n)M\big)$. > 4. Per Binet il determinante si spezza in tre: $\det(M^{-1}) \cdot \det(B - \lambda I_n) \cdot \det(M)$. > 5. Il primo e il terzo pezzo, moltiplicati, danno $\det(M^{-1}M) = \det I_n = 1$. Resta $\det(B - \lambda I_n)$, cioè $p_B(\lambda)$. ### Il risultato principale Le tre mosse dell'inizio valgono per ogni macchina, non solo per l'esempio. Le dispense lo scrivono in una riga. > [!PROP] 17.13 > Gli autovalori di $T$ sono precisamente le radici del polinomio caratteristico $p_T(\lambda)$. **Come si legge.** «Precisamente» vuol dire due cose: tutte le radici sono autovalori, e non ci sono altri autovalori. Quindi per trovare gli autovalori si calcola il polinomio caratteristico e si cercano i numeri che lo fanno diventare zero. La dimostrazione delle dispense ripete le tre mosse in ordine. > [!DIM] della Proposizione 17.13 > Scegliamo una base $\mathcal B$ e chiamiamo $A = [T]^{\mathcal B}_{\mathcal B}$ la matrice di $T$. Per l'osservazione sulle coordinate, un numero $\lambda$ è un autovalore di $T$ quando esiste una lista di numeri $x$, non tutta di zeri, con $Ax = \lambda x$. Le frasi qui sotto dicono tutte la stessa cosa: ognuna è vera esattamente quando è vera quella prima. > > 1. Esiste $x \neq 0$ con $Ax = \lambda x$. > 2. Esiste $x \neq 0$ con $(A - \lambda I_n)x = 0$. Si è portato $\lambda x = \lambda I_n x$ a sinistra. > 3. Esiste $x \neq 0$ che sta nel nucleo di $A - \lambda I_n$. È la definizione di nucleo (lezione L14): i vettori mandati in zero. > 4. La matrice $A - \lambda I_n$ non è invertibile. Una matrice quadrata è invertibile esattamente quando il suo nucleo contiene solo il vettore nullo (lezioni L10 e L14). > 5. $\det(A - \lambda I_n) = 0$. Una matrice quadrata è invertibile esattamente quando il determinante è diverso da zero (Proposizione 10.8). > 6. $p_A(\lambda) = 0$, cioè $\lambda$ è una radice del polinomio caratteristico. ### Dagli autovalori agli autovettori Trovato un autovalore, i suoi autovettori si trovano tornando alla mossa 2. Se l'autovalore è, per esempio, 3, si mette 3 al posto di $\lambda$ e si risolve $$(A - 3I)\,v = 0$$ È un **sistema omogeneo** (lezione L12): un indovinello in cui ogni indizio finisce con «= 0». Le sue soluzioni diverse da zero sono gli autovettori. Un avviso che evita molti errori: questo sistema ha **sempre infinite soluzioni**. Il motivo lo conosci già: gli autovettori si trovano a rette intere. Se come unica soluzione ti viene il vettore nullo, il numero che hai usato non è un autovalore. C'è un errore nei conti di prima. > [!METODO] Autovalori e autovettori di una matrice, passo per passo > 1. **Togli $\lambda$ sulla diagonale** e calcola il determinante: è il polinomio caratteristico. Con 3 righe sviluppa lungo la riga o la colonna con più zeri. Quando puoi, **lascia il polinomio scritto come prodotto**. > 2. **Trova le radici**: sono gli autovalori. > 3. **Per ogni autovalore**: mettilo al posto di $\lambda$ e risolvi il sistema omogeneo. Le soluzioni non nulle sono gli autovettori di quell'autovalore. > 4. **Controlla** ogni autovettore con un prodotto: dalla matrice deve uscire l'autovettore moltiplicato per il suo autovalore. > [!ESEMPIO] · tutta la ricetta su una matrice $2 \times 2$ > Prendiamo $A = \begin{pmatrix} -1 & 2 \\ -4 & 5 \end{pmatrix}$. È l'Esempio 5.1.29 del libro di Martelli. > > **Passo 1: il polinomio caratteristico.** Tolgo $\lambda$ sulla diagonale e calcolo il determinante con «diagonale meno l'altra diagonale». > $$p_A(\lambda) = \det\begin{pmatrix} -1 - \lambda & 2 \\ -4 & 5 - \lambda \end{pmatrix} = (-1 - \lambda)(5 - \lambda) - 2 \cdot (-4)$$ > Sviluppo il primo prodotto, un pezzo alla volta. > > - $(-1) \cdot 5 = -5$ > - $(-1) \cdot (-\lambda) = \lambda$ > - $(-\lambda) \cdot 5 = -5\lambda$ > - $(-\lambda) \cdot (-\lambda) = \lambda^2$ > > Il secondo prodotto è $2 \cdot (-4) = -8$. Va tolto, quindi diventa $+8$. > $$p_A(\lambda) = \lambda^2 + \lambda - 5\lambda - 5 + 8 = \lambda^2 - 4\lambda + 3$$ > Controllo con la formula veloce: la traccia è $-1 + 5 = 4$, il determinante è $(-1) \cdot 5 - 2 \cdot (-4) = 3$. Torna. > > **Passo 2: le radici.** Uso la formula con $a = 1$, $b = -4$, $c = 3$. Il discriminante è $16 - 12 = 4$, e la sua radice quadrata è 2. > $$\lambda = \frac{4 \pm 2}{2}$$ > Con il più viene 3, con il meno viene 1. Gli autovalori sono 1 e 3. > > **Passo 3: gli autovettori dell'autovalore 1.** Tolgo 1 sulla diagonale. > $$A - I = \begin{pmatrix} -2 & 2 \\ -4 & 4 \end{pmatrix}$$ > Chiamo $(x, y)$ il vettore che cerco. Il sistema ha un'equazione per ogni riga: la riga, moltiplicata per il vettore, deve dare 0. Dalla prima riga viene $-2x + 2y = 0$, dalla seconda $-4x + 4y = 0$. La seconda è il doppio della prima, quindi non dice niente di nuovo. Dalla prima: $2y = 2x$, cioè $y = x$. Gli autovettori sono i vettori con i due numeri uguali. Scelgo $(1, 1)$. > > **Passo 3, di nuovo: gli autovettori dell'autovalore 3.** Tolgo 3 sulla diagonale. > $$A - 3I = \begin{pmatrix} -4 & 2 \\ -4 & 2 \end{pmatrix}$$ > Le due righe sono uguali: resta una sola equazione, $-4x + 2y = 0$. Quindi $2y = 4x$, cioè $y = 2x$. Scelgo $x = 1$: l'autovettore è $(1, 2)$. > > **Passo 4: il controllo.** > $$A\begin{pmatrix} 1 \\ 1 \end{pmatrix} = \begin{pmatrix} -1 \cdot 1 + 2 \cdot 1 \\ -4 \cdot 1 + 5 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 \\ 1 \end{pmatrix} \qquad\qquad A\begin{pmatrix} 1 \\ 2 \end{pmatrix} = \begin{pmatrix} -1 \cdot 1 + 2 \cdot 2 \\ -4 \cdot 1 + 5 \cdot 2 \end{pmatrix} = \begin{pmatrix} 3 \\ 6 \end{pmatrix}$$ > Dal primo vettore esce 1 volta sé stesso. Dal secondo esce $(3, 6)$, cioè 3 volte sé stesso. Tutto torna. > > **In più: la diagonalizzazione.** I due autovettori non sono uno multiplo dell'altro, quindi formano una base: la matrice è diagonalizzabile. Con il metodo della sezione sulla diagonalizzazione: > $$M = \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix} \qquad\qquad D = \begin{pmatrix} 1 & 0 \\ 0 & 3 \end{pmatrix}$$ ### Con tre righe: scegli la riga con più zeri Con una matrice di 3 righe il metodo è lo stesso. Cambia solo il determinante, che è più lungo da calcolare. > [!RIPASSO] il determinante di una matrice con 3 righe > Un determinante con 3 righe si riduce a determinanti con 2 righe. È lo sviluppo di Laplace della lezione L09. > > 1. Scegli una riga o una colonna. Conviene quella con più zeri. > 2. Per ogni numero della riga scelta, cancella la riga e la colonna in cui sta. Resta una matrice con 2 righe: calcola il suo determinante. > 3. Moltiplica quel determinante per il numero e per il segno del suo posto. I segni sono messi a scacchiera: > $$\begin{pmatrix} + & - & + \\ - & + & - \\ + & - & + \end{pmatrix}$$ > 4. Somma i risultati. Un numero uguale a 0 dà 0: per questo conviene la riga con più zeri. > > Esempio. Nella matrice qui sotto la prima riga è $(2, 0, 0)$. Conta solo il 2, che sta in un posto con il segno più. Cancellando la prima riga e la prima colonna restano le righe $(3, 1)$ e $(1, 2)$. > $$\det\begin{pmatrix} 2 & 0 & 0 \\ 1 & 3 & 1 \\ 4 & 1 & 2 \end{pmatrix} = 2 \cdot \det\begin{pmatrix} 3 & 1 \\ 1 & 2 \end{pmatrix} = 2 \cdot (3 \cdot 2 - 1 \cdot 1) = 10$$ Proviamo il metodo su una domanda vera: la numero 8 dell'appello del 05/02/2026. Il testo, con i vettori scritti in riga: «Trovare l'insieme degli autovalori dell'endomorfismo $T : \R^3 \to \R^3$ dato da $T(x, y, z) = (2x + y - 2z,\ -x + 2z,\ 3z)$». La scrittura $\R^3$ indica i vettori dello spazio, fatti di tre numeri reali. In pratica la domanda chiede tre cose: scrivere la matrice della macchina, calcolare il polinomio caratteristico, trovare le sue radici. > [!ESEMPIO] · la domanda 8 del 05/02/2026, passo per passo > **Passo 1: la matrice.** Ogni posto del risultato dà una riga. Nella riga vanno i numeri che stanno davanti a $x$, a $y$ e a $z$. Dove una lettera manca va 0. > $$A = \begin{pmatrix} 2 & 1 & -2 \\ -1 & 0 & 2 \\ 0 & 0 & 3 \end{pmatrix}$$ > > **Passo 2: tolgo $\lambda$ sulla diagonale.** > $$A - \lambda I = \begin{pmatrix} 2 - \lambda & 1 & -2 \\ -1 & -\lambda & 2 \\ 0 & 0 & 3 - \lambda \end{pmatrix}$$ > > **Passo 3: il determinante.** La terza riga ha due zeri: sviluppo lungo quella. Conta solo l'ultimo numero, $3 - \lambda$, che sta in un posto con il segno più. Cancello la terza riga e la terza colonna. > $$p_A(\lambda) = (3 - \lambda) \cdot \det\begin{pmatrix} 2 - \lambda & 1 \\ -1 & -\lambda \end{pmatrix}$$ > Il determinante con 2 righe è $(2 - \lambda)(-\lambda) - 1 \cdot (-1) = -2\lambda + \lambda^2 + 1$. Messo in ordine: $\lambda^2 - 2\lambda + 1$. > $$p_A(\lambda) = (3 - \lambda)(\lambda^2 - 2\lambda + 1)$$ > Non moltiplico i due pezzi: scritto come prodotto, il polinomio è più comodo. > > **Passo 4: le radici.** Il primo pezzo è zero per $\lambda = 3$. Per il pezzo di secondo grado uso la formula con $a = 1$, $b = -2$, $c = 1$. Il discriminante è $4 - 4 = 0$: c'è una sola radice, $\frac 22 = 1$, che conta due volte. Infatti $\lambda^2 - 2\lambda + 1$ è il quadrato di $\lambda - 1$. > > **Passo 5: la risposta.** Gli autovalori sono 1 e 3. L'insieme richiesto è $\{1, 3\}$: le graffe racchiudono i numeri trovati, ognuno scritto una volta. > > **Controllo.** La traccia è $2 + 0 + 3 = 5$. La somma degli autovalori, contando due volte l'1, è $1 + 1 + 3 = 5$. Un esempio completo con 3 righe, con gli autovettori e le due matrici della diagonalizzazione, è l'esercizio 13. ### Tre scorciatoie utili all'esame > [!OLTRE] matrici triangolari: gli autovalori si leggono sulla diagonale > Una matrice è **triangolare** quando ha tutti zeri sotto la diagonale principale, oppure tutti zeri sopra. La matrice dell'Esempio 17.2 è triangolare: sotto la diagonale c'è solo uno 0. > > Per una matrice triangolare **gli autovalori sono i numeri sulla diagonale**. Non serve nessun conto. > > Il motivo (Martelli, Proposizione 5.1.34): togliendo $\lambda$ sulla diagonale la matrice resta triangolare. E il determinante di una matrice triangolare è il prodotto dei numeri sulla diagonale (lezione L09). Quindi il polinomio caratteristico è già scritto come prodotto: > $$p_A(\lambda) = (a_{11} - \lambda) \cdots (a_{nn} - \lambda)$$ > Negli appelli capita spesso: 03/07/2026, domanda 3; 07/09/2026, problema 11. > [!OLTRE] un controllo veloce: somma e prodotto degli autovalori > Quando hai trovato **tutti** gli autovalori di una matrice con $n$ righe, cioè $n$ radici contando due volte una radice doppia, valgono due uguaglianze (Martelli, Proposizione 5.2.15). > > - La **somma** degli autovalori è la traccia della matrice. > - Il **prodotto** degli autovalori è il determinante della matrice. > > Esempio con la matrice del libro di Martelli vista sopra: gli autovalori sono 1 e 3. La somma è 4, come la traccia. Il prodotto è 3, come il determinante. > > È un controllo che costa pochi secondi. In un quiz può bastare da solo a scartare le risposte sbagliate. > [!OLTRE] le rotazioni, con il polinomio caratteristico > La matrice di rotazione ha traccia $2\cos\vartheta$. Il suo determinante è $\cos^2\vartheta + \sin^2\vartheta$, che vale sempre 1. Con la formula veloce il polinomio caratteristico è > $$p(\lambda) = \lambda^2 - 2\cos\vartheta\,\lambda + 1$$ > Il discriminante è $4\cos^2\vartheta - 4$. Il coseno sta sempre tra $-1$ e 1, e arriva a quei due valori solo per gli angoli 0 e $\pi$. Per tutti gli altri angoli il discriminante è negativo: nessuna radice reale, come dice l'Esempio 17.3. > > Con i numeri complessi invece le radici ci sono. Ricorda dalla lezione L02: $i$ è il numero complesso che moltiplicato per sé stesso dà $-1$. Per il quarto di giro il polinomio è $\lambda^2 + 1$, e le sue radici sono $i$ e $-i$ (esercizio 10). Per questo, quando si parla di autovalori, bisogna sempre dire se si lavora con i numeri reali o con i numeri complessi. ### Lo strumento per fare i conti Lo strumento qui sotto calcola il polinomio caratteristico di una matrice con 2 o 3 righe, le sue radici razionali e, per ognuna, gli autovettori. È impostato sulla matrice dell'Esempio 17.4. Due cose da provare. 1. Guarda il risultato per la matrice già scritta. Trovi l'autovalore 2 con l'autovettore $(0, 1, 1)$. Resta un pezzo di secondo grado senza radici reali: lo ritrovi nell'esercizio 8. 2. Scrivi la matrice con le righe $1\ 2\ 0$, poi $2\ 1\ 0$, poi $1\ 1\ 2$. È quella dell'esercizio 13: prova prima a mano, poi controlla qui. ```widget gauss titolo: Polinomio caratteristico e autovettori matrice: 1 1 -1; 2 1 1; 3 0 2 modo: autovalori modi: autovalori, nucleo, determinante ``` > [!OLTRE] dove trovarlo nel libro > Nel libro di Martelli: §5.1.1–5.1.2 «Autovettori e autovalori», «Endomorfismi diagonalizzabili» (pp. 151–154), §5.1.3–5.1.4 «Matrici diagonali», «Matrici diagonalizzabili», con l'esempio di $A^{100}$ (pp. 154–156), §5.1.6–5.1.7 «Polinomio caratteristico», «Le radici del polinomio caratteristico» (pp. 157–161, con gli esempi $2 \times 2$ su $\R$ e su $\C$), §5.1.8 «Matrici triangolari» (p. 162). La relazione tra traccia, determinante e autovalori è la Proposizione 5.2.15 (p. 169). ::: prova Scrivi $A - \lambda I$ per la matrice $A$ con le righe $(2, 1)$ e $(1, 2)$. Poi calcola il polinomio caratteristico e gli autovalori. Tolgo $\lambda$ sulla diagonale: $$A - \lambda I = \begin{pmatrix} 2 - \lambda & 1 \\ 1 & 2 - \lambda \end{pmatrix}$$ Il determinante è $(2 - \lambda)(2 - \lambda) - 1 \cdot 1$. Il primo prodotto fa $4 - 4\lambda + \lambda^2$. Tolgo 1 e ottengo $\lambda^2 - 4\lambda + 3$. Il discriminante è $16 - 12 = 4$, con radice quadrata 2. Le radici sono $\frac{4 + 2}{2} = 3$ e $\frac{4 - 2}{2} = 1$. Gli autovalori sono 1 e 3. ::: ::: prova Il polinomio caratteristico di una matrice è $(1 - \lambda)(4 - \lambda)$. Quali sono gli autovalori? Un prodotto è zero quando è zero uno dei due pezzi: $\lambda = 1$ oppure $\lambda = 4$. Gli autovalori sono 1 e 4. ::: ::: prova Quali sono gli autovalori della matrice $\begin{pmatrix} 5 & 1 \\ 0 & -2 \end{pmatrix}$? Rispondi senza fare conti. La matrice è triangolare: sotto la diagonale c'è 0. Gli autovalori sono i numeri sulla diagonale, cioè 5 e $-2$. ::: > [!RICORDA] > - Il **polinomio caratteristico** si calcola così: togli $\lambda$ sulla diagonale e fai il determinante. In formule, $p_A(\lambda) = \det(A - \lambda I)$. > - Gli **autovalori** sono le radici del polinomio caratteristico. > - Gli **autovettori** di un autovalore sono le soluzioni non nulle del sistema omogeneo che si ottiene mettendo quel numero al posto di $\lambda$. > - Matrici simili hanno lo stesso polinomio caratteristico. In una matrice triangolare gli autovalori sono i numeri sulla diagonale. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $Av$ | «$A$ per $v$» | il vettore che esce dalla matrice $A$ quando entra il vettore $v$ | $\begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}\begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 3 \\ 0 \end{pmatrix}$ | | $\lambda$ | «lambda» | una lettera greca che indica un numero; qui di solito l'autovalore | $\lambda = 3$ | | $\lambda_1$, $\lambda_2$ | «lambda uno», «lambda due» | il primo autovalore, il secondo autovalore | $\lambda_1 = 2$ | | $\mu$ | «mi» | un'altra lettera greca che indica un numero | $\mu = 3$ nel multiplo $3v$ | | $Av = \lambda v$ | «$A$ per $v$ è uguale a lambda per $v$» | dalla macchina esce un multiplo del vettore entrato: $v$ è un autovettore | $A(1, 0) = 3 \cdot (1, 0)$ | | $v \neq 0$ | «$v$ diverso da zero» | $v$ non è il vettore nullo | $(1, 0) \neq 0$ | | $T : V \to V$ | «$T$ da $V$ a $V$» | una macchina che prende i vettori dello spazio $V$ e li restituisce in $V$: un endomorfismo | $T(x, y) = (x, 0)$ | | $T(v)$ | «$T$ di $v$» | il vettore che esce dalla macchina $T$ quando entra $v$ | $T(3, 2) = (3, 0)$ | | $L_A$ | «elle con $A$» | la macchina «moltiplica per la matrice $A$» | $L_A(v) = Av$ | | $\R$, $\C$ | «erre», «ci» | i numeri reali, i numeri complessi | $3 \in \R$, $i \in \C$ | | $\K$ | «cappa» | i numeri reali oppure i numeri complessi | $\K = \R$ | | $\R^2$, $\R^3$, $\R^n$ | «erre due», «erre tre», «erre enne» | i vettori fatti di 2, di 3, di $n$ numeri reali: il piano, lo spazio | $(1, 2) \in \R^2$ | | $2 \times 2$, $3 \times 3$ | «due per due», «tre per tre» | una matrice con 2 righe e 2 colonne, con 3 righe e 3 colonne | | | $\in$ | «appartiene a» | sta dentro l'insieme | $\lambda \in \R$ | | $e_1$, $e_2$ | «e uno», «e due» | i vettori «un passo lungo un asse» | $e_1 = (1, 0)$ | | ${}^t(x, y)$ | «$x$, $y$ trasposto» | il vettore $(x, y)$ scritto in colonna; si trova nei testi d'esame | ${}^t(1, 2)$ | | $\R_1[x]$ | «erre uno di $x$» | i polinomi di grado al massimo 1 | $2 + 5x$ | | $\mathcal B$ | «bi» | il nome di una base | $\mathcal B = \{v_1, v_2\}$ | | $\{v_1, \dots, v_n\}$ | «vu uno, eccetera, vu enne» | un elenco di $n$ vettori | $\{(1, 0), (-4, 1)\}$ | | $[v]_{\mathcal B}$ | «le coordinate di $v$ nella base $\mathcal B$» | la lista di numeri che descrive $v$ in quella base | il polinomio $2 + 5x$ ha coordinate $(2, 5)$ | | $[T]^{\mathcal B}_{\mathcal B}$ | «la matrice di $T$ nella base $\mathcal B$» | la tabella che descrive la macchina in quella base | $\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$ | | $[\id]^{\mathcal C}_{\mathcal B}$ | «la matrice di cambiamento di base da $\mathcal C$ a $\mathcal B$» | il traduttore delle coordinate da una base all'altra | la matrice $M$ | | $\vartheta$ | «theta» | una lettera greca che indica un angolo | $\vartheta = \frac{\pi}{2}$ | | $\pi$ | «pi greco» | come angolo: mezzo giro, cioè 180° | $\vartheta \neq 0, \pi$ | | $\mathrm{Rot}_\vartheta$ | «rot di theta» | la matrice della rotazione di angolo $\vartheta$ | $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ per il quarto di giro | | $\Span(v)$ | «span di $v$» | tutti i multipli di $v$: la retta di $v$ | $\Span(1, 0)$ è l'asse orizzontale | | $M(n, \K)$ | «emme di enne, cappa» | le matrici quadrate con $n$ righe e $n$ colonne | $A \in M(2, \R)$ | | $I$, $I_n$ | «i», «i con enne» | la matrice identità: 1 sulla diagonale, 0 altrove | $I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ | | $M^{-1}$ | «$M$ alla meno uno» | la matrice inversa di $M$: disfa quello che fa $M$ | $M^{-1}M = I$ | | $D$ | «di» | una matrice diagonale; nella diagonalizzazione ha gli autovalori sulla diagonale | $\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$ | | $A^k$ | «$A$ alla $k$» | la matrice $A$ moltiplicata per sé stessa $k$ volte | $A^2 = A \cdot A$ | | $\det A$ | «determinante di $A$» | il numero che si calcola con «diagonale meno l'altra diagonale» | $\det\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = -2$ | | $\tr(A)$ | «traccia di $A$» | la somma dei numeri sulla diagonale | $\tr\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = 5$ | | $a_{ij}$ | «a con i, j» | il numero che sta nella riga $i$ e nella colonna $j$ | $a_{12}$: riga 1, colonna 2 | | $A - \lambda I$ | «$A$ meno lambda $I$» | la matrice $A$ con $\lambda$ tolto sulla diagonale | $\begin{pmatrix} 3 - \lambda & 4 \\ 0 & 2 - \lambda \end{pmatrix}$ | | $p_A(\lambda)$ | «pi con $A$ di lambda» | il polinomio caratteristico della matrice $A$ | $(3 - \lambda)(2 - \lambda)$ | | $p_T(\lambda)$ | «pi con $T$ di lambda» | il polinomio caratteristico della macchina $T$: quello di una sua matrice | | | $\pm$ | «più o meno» | il conto si fa una volta con il più e una volta con il meno | $\frac{4 \pm 2}{2}$ dà 3 e 1 | | $\iff$ | «se e solo se» | le due frasi sono vere insieme oppure false insieme | | | $\Ker$ | «ker», cioè «nucleo» | i vettori che la macchina manda in zero | | | $\id$ | «identità» | la macchina che lascia ogni vettore com'è | $\id(v) = v$ | | ${}^tA$ | «$A$ trasposta» | la matrice $A$ con righe e colonne scambiate | | | $i$ | «i» | il numero complesso che moltiplicato per sé stesso dà $-1$ | $i \cdot i = -1$ | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, ognuna con 5 risposte di cui una sola giusta, e 2 problemi da 11 punti. I problemi vengono corretti solo a chi dà almeno 6 risposte giuste. La prova dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame.** Autovalori e autovettori sono presenti in **ogni** appello dal 2023 al 2026. Quasi sempre in una o due domande del quiz. Molto spesso anche in un problema aperto, che usa pure la lezione L18. | Tipo di domanda | Dove | |---|---| | quale di questi vettori è un autovettore? | 03/07/2026 d. 2 | | l'insieme degli autovalori di una matrice $3 \times 3$ | 06/09/2024 d. 10; 07/02/2025 d. 8; 05/02/2026 d. 8; 03/07/2026 d. 3 (triangolare) | | conosci un autovalore: trovare gli altri (anche complessi) | 02/09/2025 d. 4 | | la base di autovettori di una matrice $2 \times 2$ | 03/06/2026 d. 6 | | che cosa non può succedere se $\lambda$ è un autovalore | 03/06/2025 d. 8 | | problema: matrice di $T$ e autovalori | 10/07/2024 problema 11; 07/09/2026 problema 11 | ### Come si affrontano le domande Nelle domande la macchina è data quasi sempre con una formula. Il primo passo è scrivere la sua matrice. > [!METODO] Dalla formula della macchina alla matrice > 1. Ogni posto del risultato dà una **riga** della matrice. > 2. Nella riga scrivi i numeri che stanno davanti a $x$, a $y$ e a $z$, in quest'ordine. Se una lettera manca, scrivi 0. > > Esempio: se il primo posto del risultato è $2x + y$, la prima riga è $(2, 1)$. Se il secondo posto è $3y$, la seconda riga è $(0, 3)$. > [!METODO] «Quale di questi vettori è un autovettore?» > 1. Non calcolare il polinomio caratteristico: **prova le risposte**. > 2. Per ogni vettore proposto calcola che cosa esce dalla macchina. > 3. La risposta giusta è il vettore da cui esce un suo multiplo. Per la domanda «trova l'insieme degli autovalori» di una matrice con 3 righe il metodo è quello della sezione sul polinomio caratteristico: togli $\lambda$ sulla diagonale, sviluppa lungo la riga o la colonna con più zeri, tieni fuori il pezzo «numero meno $\lambda$» e trova le radici del resto. Alla fine controlla con la traccia. ### Una domanda vera, letta insieme **Appello del 03/07/2026, domanda 2.** Il testo: «Sia $T : \R^2 \to \R^2$ l'endomorfismo definito da $T({}^t(x, y)) = {}^t(2x + y,\ 3y)$. Quale dei seguenti vettori è un autovettore di $T$?». Le risposte sono i vettori $(1, 1)$, $(0, 1)$, $(2, 1)$ e $(-1, 1)$, scritti in colonna, più la frase «$T$ non ha autovettori reali». **Come si legge il testo.** La scrittura $\R^2$ indica i vettori del piano, fatti di due numeri reali. La piccola $t$ in alto a sinistra vuol dire «scritto in colonna» (lezione L08): non cambia i conti. Quindi la macchina prende $(x, y)$ e restituisce $(2x + y,\ 3y)$. **In pratica chiede:** da quale di questi quattro vettori la macchina fa uscire un multiplo del vettore stesso? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: provo i quattro vettori.** Metto i due numeri del vettore al posto di $x$ e di $y$. > > | Entra | Conto | Esce | Esce un multiplo? | > |---|---|---|---| > | $(1, 1)$ | $(2 \cdot 1 + 1,\ 3 \cdot 1)$ | $(3, 3)$ | sì: 3 volte $(1, 1)$ | > | $(0, 1)$ | $(2 \cdot 0 + 1,\ 3 \cdot 1)$ | $(1, 3)$ | no: il primo posto dovrebbe restare 0 | > | $(2, 1)$ | $(2 \cdot 2 + 1,\ 3 \cdot 1)$ | $(5, 3)$ | no: servirebbe «per $\frac 52$» e «per 3» | > | $(-1, 1)$ | $(2 \cdot (-1) + 1,\ 3 \cdot 1)$ | $(-1, 3)$ | no: servirebbe «per 1» e «per 3» | > > **Passo 2: la risposta.** È $(1, 1)$, un autovettore con autovalore 3. > > **Perché la risposta «$T$ non ha autovettori reali» è sbagliata.** La matrice della macchina ha le righe $(2, 1)$ e $(0, 3)$. È triangolare, quindi i suoi autovalori sono i numeri sulla diagonale: 2 e 3. Sono reali, e ogni autovalore ha i suoi autovettori. ### Altre due domande vere **Appello del 05/02/2026, domanda 8.** È la domanda sugli autovalori di $T(x, y, z) = (2x + y - 2z,\ -x + 2z,\ 3z)$, risolta passo per passo nella sezione sul polinomio caratteristico. Le cinque risposte erano $\{1, 2, 3\}$, poi $\{-1, \pm 2\}$, poi $\{2, 3\}$, poi $\{1, 3\}$, poi $\{\pm 1, 3\}$. Quella giusta è $\{1, 3\}$, perché il polinomio caratteristico è $(3 - \lambda)(\lambda - 1)^2$. La risposta che tenta è $\{1, 2, 3\}$: ha tre numeri diversi e sembra più completa. Ma 2 non è una radice. Mettendo 2 al posto di $\lambda$ viene $(3 - 2) \cdot (2 - 1)^2 = 1$, non 0. **Appello del 02/09/2025, domanda 4.** Il testo: l'endomorfismo $T(x, y, z) = (2x + 2y,\ -2x - 2y + 2z,\ 2x)$ «ha autovalore $\lambda_1 = 2$. Quali sono i suoi altri autovalori?». Il numerino in $\lambda_1$ dice solo che è il primo dei tre autovalori. Ecco le cinque risposte. | Risposta | I due autovalori proposti | |---|---| | (a) | $\pm(1 + i\sqrt 2)$ | | (b) | $2 \pm i\sqrt 2$ | | (c) | $1 + i\sqrt 2$ e $1 + i\sqrt 3$ | | (d) | $2 + i\sqrt 2$ e $1 - i\sqrt 3$ | | (e) | $-1 \pm i\sqrt 3$ | **In pratica chiede:** una matrice con 3 righe ha tre autovalori, se si contano anche quelli complessi. Uno te lo danno. Trova gli altri due. > [!RIPASSO] che cosa serve dei numeri complessi > Il numero $i$ è il numero complesso che moltiplicato per sé stesso dà $-1$ (lezione L02). Con lui anche i numeri negativi hanno una radice quadrata: per esempio la radice di $-12$ è $i\sqrt{12}$. > > Dalla lezione L01: $\sqrt{12} = \sqrt{4 \cdot 3} = 2\sqrt 3$. > > Una scrittura come $-1 \pm i\sqrt 3$ indica due numeri: uno con il più e uno con il meno. Sommandoli, i pezzi con la $i$ si cancellano: resta $-1 - 1 = -2$. > [!ESEMPIO] · la soluzione veloce, con la traccia > **Passo 1: la matrice.** > $$A = \begin{pmatrix} 2 & 2 & 0 \\ -2 & -2 & 2 \\ 2 & 0 & 0 \end{pmatrix}$$ > > **Passo 2: la traccia.** È la somma dei numeri sulla diagonale: $2 - 2 + 0 = 0$. > > **Passo 3: la regola.** La somma dei tre autovalori è la traccia, cioè 0. Uno dei tre è 2. Quindi gli altri due, sommati, devono dare $-2$. > > **Passo 4: sommo i due numeri di ogni risposta.** > > | Risposta | Somma dei due numeri | > |---|---| > | (a) | $(1 + i\sqrt 2) - (1 + i\sqrt 2) = 0$ | > | (b) | $2 + 2 = 4$ | > | (c) | $2 + i\sqrt 2 + i\sqrt 3$ | > | (d) | $3 + i\sqrt 2 - i\sqrt 3$ | > | (e) | $-1 - 1 = -2$ | > > Solo la risposta (e) dà $-2$. > [!ESEMPIO] · la soluzione completa, con il polinomio caratteristico > **Passo 1: tolgo $\lambda$ sulla diagonale.** > $$A - \lambda I = \begin{pmatrix} 2 - \lambda & 2 & 0 \\ -2 & -2 - \lambda & 2 \\ 2 & 0 & -\lambda \end{pmatrix}$$ > > **Passo 2: sviluppo lungo la terza riga**, che è $(2,\ 0,\ -\lambda)$. Lo 0 non conta. Restano due pezzi, tutti e due in posti con il segno più. > > - Il numero 2. Cancello la terza riga e la prima colonna: restano le righe $(2,\ 0)$ e $(-2 - \lambda,\ 2)$. Il determinante è $2 \cdot 2 - 0 \cdot (-2 - \lambda) = 4$. Il pezzo vale $2 \cdot 4 = 8$. > - Il numero $-\lambda$. Cancello la terza riga e la terza colonna: restano le righe $(2 - \lambda,\ 2)$ e $(-2,\ -2 - \lambda)$. Il determinante è $(2 - \lambda)(-2 - \lambda) - 2 \cdot (-2)$. Il primo prodotto fa $-4 - 2\lambda + 2\lambda + \lambda^2$, cioè $\lambda^2 - 4$. Sommando 4 resta $\lambda^2$. Il pezzo vale $-\lambda \cdot \lambda^2 = -\lambda^3$. > > $$p_A(\lambda) = 8 - \lambda^3$$ > > **Passo 3: uso l'autovalore che conosco.** Con $\lambda = 2$ viene $8 - 8 = 0$: torna. Siccome 2 è una radice, il polinomio si divide per $\lambda - 2$ senza resto (lezione L04). Divido con la regola di Ruffini. Scrivo il polinomio con tutte le potenze: $-\lambda^3 + 0\lambda^2 + 0\lambda + 8$. I suoi numeri sono $-1$, 0, 0 e 8. Il primo si copia. Poi, a ogni passo, si moltiplica per 2 l'ultimo numero trovato e si somma al numero successivo. > > - Primo numero: $-1$. > - Secondo: $0 + 2 \cdot (-1) = -2$. > - Terzo: $0 + 2 \cdot (-2) = -4$. > - Quarto: $8 + 2 \cdot (-4) = 0$. > > L'ultimo numero è il resto, ed è 0. Gli altri tre sono i numeri del quoziente: $-\lambda^2 - 2\lambda - 4$. > $$p_A(\lambda) = (\lambda - 2)(-\lambda^2 - 2\lambda - 4) = -(\lambda - 2)(\lambda^2 + 2\lambda + 4)$$ > > **Passo 4: le radici del pezzo di secondo grado**, cioè $\lambda^2 + 2\lambda + 4$. Il discriminante è $4 - 16 = -12$. È negativo: nessuna radice reale. Nei numeri complessi la sua radice quadrata è $i\sqrt{12} = 2i\sqrt 3$. > $$\lambda = \frac{-2 \pm 2i\sqrt 3}{2} = -1 \pm i\sqrt 3$$ > > **Risposta:** (e), come con la soluzione veloce. ### Errori da evitare - Accettare il vettore nullo come autovettore, oppure scartare lo zero come autovalore. - Togliere $\lambda$ anche fuori dalla diagonale. Va tolto **solo** sulla diagonale. - Moltiplicare tutto il determinante fino ad avere un polinomio di terzo grado, e poi non riuscire a trovarne le radici. Meglio sviluppare lungo la riga o la colonna con più zeri e tenere fuori il pezzo «numero meno $\lambda$». - Leggere gli autovalori sulla diagonale di una matrice che non è triangolare. - Dimenticare i controlli: la somma degli autovalori è la traccia, il loro prodotto è il determinante, e da ogni autovettore deve uscire un suo multiplo. - Mettere gli autovalori in $D$ in un ordine diverso da quello delle colonne di $M$. > [!ESAME] Il foglio da 4 facciate > Da questa lezione conviene copiare queste righe. > > | Che cosa | Da scrivere | > |---|---| > | autovettore | $v \neq 0$ e $T(v) = \lambda v$ | > | polinomio caratteristico | $p_A(\lambda) = \det(A - \lambda I)$ | > | matrice con 2 righe | $p_A(\lambda) = \lambda^2 - \tr(A)\,\lambda + \det A$ | > | autovalori | le radici del polinomio caratteristico | > | autovettori | le soluzioni non nulle di $(A - \lambda I)v = 0$ | > | matrice triangolare | gli autovalori sono i numeri sulla diagonale | > | controllo | somma degli autovalori = traccia, prodotto = determinante | > | diagonalizzazione | $D = M^{-1}AM$, autovettori in colonna in $M$, controllo $AM = MD$ | > | potenze | $A^k = MD^kM^{-1}$ | ## Quiz ```quiz D: Sia $T : \R^2 \to \R^2$, $T(x, y) = (x + 2y,\ 3y)$. Quale di questi vettori è un autovettore di $T$? + $(1, 1)$ - $(0, 1)$ - $(1, 2)$ - $(2, 1)$ - $T$ non ha autovettori reali. = La domanda chiede: da quale di questi vettori la macchina fa uscire un suo multiplo? Si prova una risposta alla volta, mettendo i due numeri al posto di $x$ e di $y$. Da $(1, 1)$ esce $(1 + 2 \cdot 1,\ 3 \cdot 1) = (3, 3)$, che è 3 volte $(1, 1)$: è un autovettore, con autovalore 3. Da $(0, 1)$ esce $(2, 3)$: il primo posto dovrebbe restare 0, quindi no. Da $(1, 2)$ esce $(5, 6)$: servirebbe «per 5» nel primo posto e «per 3» nel secondo, quindi no. Da $(2, 1)$ esce $(4, 3)$: servirebbe «per 2» e «per 3», quindi no. La risposta «$T$ non ha autovettori reali» è falsa. La matrice della macchina ha le righe $(1, 2)$ e $(0, 3)$: è triangolare, e i suoi autovalori sono i numeri reali 1 e 3 sulla diagonale. Domanda simile a quella dell'appello del 03/07/2026, domanda 2. D: L'insieme degli autovalori di $T : \R^3 \to \R^3$, $T(x, y, z) = (2x + z,\ x + 3y - z,\ z)$, è: + $\{1, 2, 3\}$ - $\{2, 3\}$ - $\{0, 1, 3\}$ - $\{-1, 2, 3\}$ - $\{\}$ (nessun autovalore reale) = Si scrive la matrice, si toglie $\lambda$ sulla diagonale e si calcola il determinante. Le righe della matrice sono $(2, 0, 1)$, poi $(1, 3, -1)$, poi $(0, 0, 1)$. Dopo aver tolto $\lambda$, la terza riga è $(0,\ 0,\ 1 - \lambda)$: ha due zeri, quindi si sviluppa lungo quella. Resta un solo pezzo: $1 - \lambda$ per il determinante della matrice con le righe $(2 - \lambda,\ 0)$ e $(1,\ 3 - \lambda)$. Quel determinante è $(2 - \lambda)(3 - \lambda) - 0 \cdot 1$. Quindi il polinomio caratteristico è $(1 - \lambda)(2 - \lambda)(3 - \lambda)$, e le sue radici sono 1, 2 e 3. Controllo: la somma è 6, come la traccia $2 + 3 + 1$. La risposta $\{2, 3\}$ dimentica il pezzo $1 - \lambda$ tenuto fuori. Domanda simile a quelle degli appelli del 07/02/2025 (domanda 8) e del 05/02/2026 (domanda 8). D: L'endomorfismo $T(x, y, z) = (x,\ y - 2z,\ y + z)$ di $\R^3$ ha autovalore $\lambda_1 = 1$. Quali sono gli altri autovalori (in $\C$)? + $1 \pm i\sqrt 2$ - $\pm(1 + i\sqrt 2)$ - $1 \pm \sqrt 2$ - $-1 \pm i\sqrt 2$ - $2 \pm i$ = La matrice ha tre autovalori, contando anche quelli complessi: uno è dato, si cercano gli altri due. Le righe della matrice sono $(1, 0, 0)$, poi $(0, 1, -2)$, poi $(0, 1, 1)$. Tolto $\lambda$ sulla diagonale, la prima riga è $(1 - \lambda,\ 0,\ 0)$ e si sviluppa lungo quella. Resta $1 - \lambda$ per il determinante della matrice con le righe $(1 - \lambda,\ -2)$ e $(1,\ 1 - \lambda)$, che vale $(1 - \lambda)^2 + 2$. Il primo pezzo dà l'autovalore 1. Il secondo è zero quando $(1 - \lambda)^2 = -2$. Nei numeri complessi i numeri con quadrato $-2$ sono $i\sqrt 2$ e $-i\sqrt 2$, quindi $\lambda = 1 \pm i\sqrt 2$. Controllo con la traccia: nella somma dei tre autovalori i pezzi con la $i$ si cancellano e resta $1 + 1 + 1 = 3$, proprio la traccia. La risposta $1 \pm \sqrt 2$ dimentica la $i$: darebbe due numeri reali, ma il quadrato di un numero reale non può fare $-2$. Domanda simile a quella dell'appello del 02/09/2025, domanda 4. D: $T(x, y) = (2x,\ x + 3y)$ ha autovalori 2 e 3. Una base di autovettori è: + $\{(1, -1), (0, 1)\}$ - $\{(2, 1), (0, 3)\}$ - $\{(1, 1), (0, 1)\}$ - $\{(1, 0), (0, 1)\}$ - $\{(1, -1), (2, -2)\}$ = Serve un autovettore per ogni autovalore, e i due vettori non devono stare sulla stessa retta. Si prova ogni vettore proposto nella formula della macchina. Da $(0, 1)$ esce $(0, 3)$, cioè 3 volte $(0, 1)$: è un autovettore con autovalore 3. Da $(1, -1)$ esce $(2,\ 1 - 3) = (2, -2)$, cioè 2 volte $(1, -1)$: è un autovettore con autovalore 2. I due vettori non sono uno multiplo dell'altro, quindi formano una base. Le altre risposte non vanno bene. I vettori $(2, 1)$ e $(0, 3)$ sono le colonne della matrice, e da $(2, 1)$ esce $(4, 5)$, che non è un suo multiplo. Da $(1, 1)$ esce $(2, 4)$ e da $(1, 0)$ esce $(2, 1)$: nessuno dei due è un autovettore. Nella risposta con $(1, -1)$ e $(2, -2)$ il secondo vettore è il doppio del primo: sono due autovettori sulla stessa retta, e non formano una base. Domanda simile a quella dell'appello del 03/06/2026, domanda 6. D: Sia $\lambda$ un autovalore dell'endomorfismo $T : \R^n \to \R^n$. Quale di queste affermazioni è **sempre falsa**? + $\Ker(T - \lambda\,\id) = \{0\}$ - $\lambda = 0$ - $T$ è invertibile. - $p_T(\lambda) = 0$ - $T - \lambda\,\id$ non è iniettiva. = La domanda chiede quale frase non può mai essere vera quando $\lambda$ è un autovalore. Due simboli: $\id$ è la macchina identità, che lascia ogni vettore com'è, e $\Ker$ è il nucleo, cioè l'insieme dei vettori mandati in zero. Se $\lambda$ è un autovalore, c'è un vettore non nullo $v$ con $T(v) = \lambda v$. Portando tutto a sinistra, la macchina $T - \lambda\,\id$ manda $v$ in zero. Quindi nel suo nucleo c'è un vettore non nullo: il nucleo non è mai fatto del solo vettore nullo. La frase con $\Ker$ è sempre falsa. Due frasi sono invece sempre vere. La frase «$p_T(\lambda) = 0$» lo è perché un autovalore è una radice del polinomio caratteristico (Proposizione 17.13). La frase «non è iniettiva» lo è perché una macchina che manda in zero un vettore non nullo manda due vettori diversi nello stesso vettore (lezione L14). Le altre due frasi possono succedere: l'autovalore può essere 0, e $T$ può essere invertibile quando 0 non è tra i suoi autovalori. Domanda simile a quella dell'appello del 03/06/2025, domanda 8. D: Il polinomio caratteristico di $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ è: + $\lambda^2 - 5\lambda - 2$ - $\lambda^2 + 5\lambda - 2$ - $\lambda^2 - 5\lambda + 10$ - $(1 - \lambda)(4 - \lambda)$ - $\lambda^2 - 2\lambda - 5$ = Si toglie $\lambda$ sulla diagonale e si calcola il determinante con «diagonale meno l'altra diagonale»: viene $(1 - \lambda)(4 - \lambda) - 2 \cdot 3$. Il primo prodotto fa $4 - 5\lambda + \lambda^2$. Togliendo 6 resta $\lambda^2 - 5\lambda - 2$. Controllo con la formula veloce: la traccia è $1 + 4 = 5$ e il determinante è $4 - 6 = -2$. La risposta $(1 - \lambda)(4 - \lambda)$ è la trappola: dimentica di togliere il prodotto dell'altra diagonale. Andrebbe bene solo per una matrice triangolare. D: Sia $A = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix}$. Quanto vale l'elemento di posto $(1, 2)$ di $A^{10}$? N: 1023 = L'elemento di posto $(1, 2)$ è il numero nella riga 1 e nella colonna 2. Per una potenza così alta si usa la formula $A^k = MD^kM^{-1}$. La matrice è triangolare, quindi i suoi autovalori sono 1 e 2. Da $(1, 0)$ esce $(1, 0)$: è un autovettore con autovalore 1. Da $(1, 1)$ esce $(2, 2)$: è un autovettore con autovalore 2. Quindi $M$ ha le colonne $(1, 0)$ e $(1, 1)$, e la sua inversa ha le righe $(1, -1)$ e $(0, 1)$. La matrice $D^{10}$ ha sulla diagonale 1 e $2^{10} = 1024$. Il prodotto $MD^{10}$ ha le righe $(1, 1024)$ e $(0, 1024)$. Moltiplicando per $M^{-1}$, il numero nella riga 1 e nella colonna 2 è $1 \cdot (-1) + 1024 \cdot 1 = 1023$. Controllo della stessa formula con l'esponente 2: darebbe $4 - 1 = 3$, e infatti $A^2$ ha le righe $(1, 3)$ e $(0, 4)$. D: Se $v$ è un autovettore di $T$ con autovalore $\lambda$, allora il vettore $3v$ è: + un autovettore di $T$ con autovalore $\lambda$. - un autovettore di $T$ con autovalore $3\lambda$. - un autovettore di $T$ con autovalore $\lambda / 3$. - un autovettore solo se $\lambda \neq 0$. - non è un autovettore. = È la regola dei multipli: un multiplo non nullo di un autovettore è un autovettore con lo stesso autovalore. Il conto: una macchina lineare rispetta i multipli, quindi $T(3v) = 3T(v) = 3\lambda v = \lambda \cdot (3v)$. Da $3v$ esce $\lambda$ volte $3v$, e $3v$ non è il vettore nullo. La risposta con $3\lambda$ è la trappola: il 3 moltiplica il vettore, non l'autovalore. La regola vale per ogni autovalore, anche per lo zero. È l'osservazione sui multipli che viene dopo l'Esempio 17.4. D: Quale di queste matrici reali **non** ha autovalori reali? + $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 0 \\ 0 & -3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 \\ 2 & 1 \end{pmatrix}$ = Una matrice non ha autovalori reali quando il suo polinomio caratteristico non ha radici reali. Per una matrice con 2 righe il polinomio è $\lambda^2$, meno la traccia per $\lambda$, più il determinante. La matrice con le righe $(0, -1)$ e $(1, 0)$ ha traccia 0 e determinante $0 \cdot 0 - (-1) \cdot 1 = 1$. Il suo polinomio è $\lambda^2 + 1$, che non è mai zero per un numero reale, perché un quadrato non è negativo. È la rotazione di un quarto di giro. La matrice con le righe $(0, 1)$ e $(1, 0)$ ha traccia 0 e determinante $-1$: il polinomio $\lambda^2 - 1$ ha le radici 1 e $-1$. Le due matrici con uno 0 sotto la diagonale sono triangolari, e i loro autovalori si leggono sulla diagonale: 1 per una, 2 e $-3$ per l'altra. La matrice con le righe $(1, 2)$ e $(2, 1)$ ha traccia 2 e determinante $1 - 4 = -3$: il polinomio $\lambda^2 - 2\lambda - 3$ ha discriminante $4 + 12 = 16$ e radici 3 e $-1$. D: Le matrici $A$ e $B$ sono simili e $p_A(\lambda) = \lambda^2 - 3\lambda + 2$. Quale affermazione è vera? + $B$ ha autovalori $1$ e $2$. - $B = A$. - $A$ e $B$ hanno gli stessi autovettori. - $\det B = 3$. - $\tr B = 2$. = Matrici simili hanno lo stesso polinomio caratteristico, quindi anche quello di $B$ è $\lambda^2 - 3\lambda + 2$. Il discriminante è $9 - 8 = 1$, e le radici sono $\frac{3 + 1}{2} = 2$ e $\frac{3 - 1}{2} = 1$: gli autovalori di $B$ sono 1 e 2. Dalla formula veloce si leggono anche la traccia, che è 3, e il determinante, che è 2. Le due risposte con $\det B$ e con $\tr B$ hanno questi due numeri scambiati. Simili non vuol dire uguali. E gli autovettori di solito cambiano. Nell'Esempio 16.10 il vettore $(0, 1)$ è un autovettore della matrice con le righe $(1, 0)$ e $(0, -1)$. Non lo è della matrice simile con le righe $(1, 1)$ e $(0, -1)$: da lì esce $(1, -1)$. ``` ## Esercizi ::: esercizio base Multiplo oppure no? Per ogni coppia di vettori di' se il secondo è un multiplo del primo, e di quante volte: (a) $(1, 2)$ e $(3, 6)$; (b) $(2, -1)$ e $(-4, 2)$; (c) $(1, 1)$ e $(2, 3)$; (d) $(0, 1)$ e $(4, 2)$. ::: soluzione Il metodo: cerco il numero giusto guardando il primo posto, poi controllo se funziona anche nel secondo. (a) **Sì, 3 volte.** Nel primo posto si passa da 1 a 3: serve «per 3». Nel secondo posto $2 \cdot 3 = 6$: funziona. (b) **Sì, $-2$ volte.** Nel primo posto si passa da 2 a $-4$: serve «per $-2$». Nel secondo posto $(-1) \cdot (-2) = 2$: funziona. (c) **No.** Nel primo posto serve «per 2». Nel secondo $1 \cdot 2 = 2$, ma lì c'è 3. (d) **No.** Un multiplo di $(0, 1)$ ha sempre 0 nel primo posto. Qui c'è 4. ::: ::: esercizio base Un autovettore con un solo prodotto La matrice $A$ ha le righe $(2, 1)$ e $(0, 4)$. Per ognuno dei vettori $(1, 0)$, $(1, 2)$ e $(0, 1)$ calcola $Av$ e di' se è un autovettore. Se lo è, scrivi il suo autovalore. ::: soluzione Per ogni vettore faccio il prodotto una riga alla volta, poi guardo se esce un multiplo. 1. Per $(1, 0)$: esce $(2 \cdot 1 + 1 \cdot 0,\ 0 \cdot 1 + 4 \cdot 0) = (2, 0)$. È 2 volte $(1, 0)$. **Autovettore con autovalore 2.** 2. Per $(1, 2)$: esce $(2 \cdot 1 + 1 \cdot 2,\ 0 \cdot 1 + 4 \cdot 2) = (4, 8)$. È 4 volte $(1, 2)$. **Autovettore con autovalore 4.** 3. Per $(0, 1)$: esce $(2 \cdot 0 + 1 \cdot 1,\ 0 \cdot 0 + 4 \cdot 1) = (1, 4)$. Un multiplo di $(0, 1)$ ha 0 nel primo posto, e qui c'è 1. **Non è un autovettore.** Controllo: la matrice è triangolare, quindi i suoi autovalori sono i numeri sulla diagonale, 2 e 4. Sono proprio i due trovati. ::: ::: esercizio base Dal polinomio caratteristico agli autovalori Il polinomio caratteristico di una matrice è: (a) $(5 - \lambda)(1 - \lambda)$; (b) $\lambda^2 - 6\lambda + 8$; (c) $\lambda^2 + 4$. In ogni caso trova gli autovalori reali. ::: soluzione Gli autovalori sono le radici del polinomio, cioè i numeri che lo fanno diventare zero. (a) Il polinomio è già scritto come prodotto. È zero quando è zero uno dei due pezzi: $\lambda = 5$ oppure $\lambda = 1$. **Autovalori 5 e 1.** (b) Uso la formula per il secondo grado, con $a = 1$, $b = -6$, $c = 8$. 1. Discriminante: $(-6)^2 - 4 \cdot 1 \cdot 8 = 36 - 32 = 4$. La sua radice quadrata è 2. 2. Radici: $\frac{6 + 2}{2} = 4$ e $\frac{6 - 2}{2} = 2$. **Autovalori 4 e 2.** Controllo: $4^2 - 6 \cdot 4 + 8 = 16 - 24 + 8 = 0$. (c) Qui $a = 1$, $b = 0$, $c = 4$. Il discriminante è $0 - 16 = -16$: è negativo. **Nessun autovalore reale.** Si vede anche senza formula: un quadrato non è mai negativo, quindi $\lambda^2 + 4$ vale almeno 4. ::: ::: esercizio base Controllare se un vettore è un autovettore Sia $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$. Quali tra $(1, 1)$, $(1, -1)$, $(1, 0)$ sono autovettori di $A$, e con quale autovalore? ::: soluzione Per ogni vettore calcolo $Av$, una riga alla volta, e guardo se esce un multiplo. 1. Per $(1, 1)$: esce $(2 \cdot 1 + 1 \cdot 1,\ 1 \cdot 1 + 2 \cdot 1) = (3, 3)$. È 3 volte $(1, 1)$. **Autovettore con autovalore 3.** 2. Per $(1, -1)$: esce $(2 \cdot 1 + 1 \cdot (-1),\ 1 \cdot 1 + 2 \cdot (-1)) = (1, -1)$. È 1 volta $(1, -1)$. **Autovettore con autovalore 1.** 3. Per $(1, 0)$: esce $(2 \cdot 1 + 1 \cdot 0,\ 1 \cdot 1 + 2 \cdot 0) = (2, 1)$. Un multiplo di $(1, 0)$ ha 0 nel secondo posto, e qui c'è 1. **Non è un autovettore.** Controllo con il polinomio caratteristico. La traccia è $2 + 2 = 4$ e il determinante è $2 \cdot 2 - 1 \cdot 1 = 3$. Con la formula veloce il polinomio è $\lambda^2 - 4\lambda + 3$. Il discriminante è $16 - 12 = 4$, e le radici sono $\frac{4 + 2}{2} = 3$ e $\frac{4 - 2}{2} = 1$. Sono proprio i due autovalori trovati. ::: ::: esercizio base Autovalori di una matrice triangolare Trova gli autovalori di $A = \begin{pmatrix} 2 & 5 & -1 \\ 0 & -1 & 7 \\ 0 & 0 & 3 \end{pmatrix}$ spiegando perché non serve sviluppare tutto il determinante. Poi trova un autovettore per l'autovalore $2$. ::: soluzione **Gli autovalori.** 1. La matrice è triangolare: sotto la diagonale ci sono solo zeri. Togliendo $\lambda$ sulla diagonale resta triangolare: $$A - \lambda I = \begin{pmatrix} 2 - \lambda & 5 & -1 \\ 0 & -1 - \lambda & 7 \\ 0 & 0 & 3 - \lambda \end{pmatrix}$$ 2. Il determinante di una matrice triangolare è il prodotto dei numeri sulla diagonale (lezione L09). Quindi $$p_A(\lambda) = (2 - \lambda)(-1 - \lambda)(3 - \lambda)$$ 3. Il prodotto è zero quando è zero uno dei tre pezzi. Gli autovalori sono $2$, $-1$ e $3$: i numeri sulla diagonale. **Un autovettore per l'autovalore 2.** 4. Tolgo 2 sulla diagonale: $$A - 2I = \begin{pmatrix} 0 & 5 & -1 \\ 0 & -3 & 7 \\ 0 & 0 & 1 \end{pmatrix}$$ 5. Chiamo $(x, y, z)$ il vettore che cerco. Le tre righe danno tre equazioni: $5y - z = 0$, poi $-3y + 7z = 0$, poi $z = 0$. 6. La terza dice $z = 0$. Nella prima resta $5y = 0$, quindi $y = 0$. La seconda è rispettata: $-3 \cdot 0 + 7 \cdot 0 = 0$. 7. La $x$ non compare in nessuna equazione: è libera, la scelgo io. Con $x = 1$ l'autovettore è $(1, 0, 0)$. Controllo: moltiplicare la matrice per $(1, 0, 0)$ dà la sua prima colonna, $(2, 0, 0)$. È 2 volte $(1, 0, 0)$. ::: ::: esercizio base Autovalori, autovettori, $M$ e $D$ Trova autovalori e autovettori di $A = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}$ e scrivi $M$ invertibile e $D$ diagonale con $D = M^{-1}AM$. ::: soluzione 1. **Polinomio caratteristico.** Uso la formula veloce. La traccia è $4 + 3 = 7$. Il determinante è $4 \cdot 3 - 1 \cdot 2 = 10$. Quindi $$p_A(\lambda) = \lambda^2 - 7\lambda + 10$$ 2. **Autovalori.** Il discriminante è $49 - 40 = 9$, con radice quadrata 3. Le radici sono $\frac{7 + 3}{2} = 5$ e $\frac{7 - 3}{2} = 2$. Controllo: la somma è 7 come la traccia, il prodotto è 10 come il determinante. 3. **Autovettori dell'autovalore 2.** Tolgo 2 sulla diagonale: $$A - 2I = \begin{pmatrix} 2 & 1 \\ 2 & 1 \end{pmatrix}$$ Chiamo $(x, y)$ il vettore che cerco: ogni riga, moltiplicata per il vettore, deve dare 0. Le due righe sono uguali. Resta l'equazione $2x + y = 0$, cioè $y = -2x$. Scelgo $x = 1$: l'autovettore è $(1, -2)$. 4. **Autovettori dell'autovalore 5.** Tolgo 5 sulla diagonale: $$A - 5I = \begin{pmatrix} -1 & 1 \\ 2 & -2 \end{pmatrix}$$ La seconda riga è la prima moltiplicata per $-2$. Resta l'equazione $-x + y = 0$, cioè $y = x$. Scelgo $x = 1$: l'autovettore è $(1, 1)$. 5. **Le due matrici.** Autovettori in colonna, autovalori nello stesso ordine: $$M = \begin{pmatrix} 1 & 1 \\ -2 & 1 \end{pmatrix} \qquad\qquad D = \begin{pmatrix} 2 & 0 \\ 0 & 5 \end{pmatrix}$$ 6. **$M$ è invertibile.** Il suo determinante è $1 \cdot 1 - 1 \cdot (-2) = 3$, diverso da zero. Controllo degli autovettori: da $(1, -2)$ esce $(4 - 2,\ 2 - 6) = (2, -4)$, cioè 2 volte il vettore. Da $(1, 1)$ esce $(4 + 1,\ 2 + 3) = (5, 5)$, cioè 5 volte il vettore. Controllo delle due matrici con $AM = MD$: $$AM = \begin{pmatrix} 4 \cdot 1 + 1 \cdot (-2) & 4 \cdot 1 + 1 \cdot 1 \\ 2 \cdot 1 + 3 \cdot (-2) & 2 \cdot 1 + 3 \cdot 1 \end{pmatrix} = \begin{pmatrix} 2 & 5 \\ -4 & 5 \end{pmatrix}$$ $$MD = \begin{pmatrix} 1 \cdot 2 + 1 \cdot 0 & 1 \cdot 0 + 1 \cdot 5 \\ -2 \cdot 2 + 1 \cdot 0 & -2 \cdot 0 + 1 \cdot 5 \end{pmatrix} = \begin{pmatrix} 2 & 5 \\ -4 & 5 \end{pmatrix}$$ Sono uguali. ::: ::: esercizio medio Una formula per tutte le potenze Con la matrice $A = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}$ dell'esercizio precedente, trova una formula per $A^n$ e controllala per $n = 2$. ::: soluzione Uso la formula $A^n = MD^nM^{-1}$, con le matrici $M$ e $D$ dell'esercizio 6. 1. **L'inversa di $M$.** Il determinante di $M$ è 3. Scambio i due numeri sulla diagonale: sono 1 e 1, quindi restano uguali. Cambio segno agli altri due: 1 diventa $-1$, e $-2$ diventa 2. Divido per 3. $$M^{-1} = \frac 13\begin{pmatrix} 1 & -1 \\ 2 & 1 \end{pmatrix}$$ 2. **La potenza di $D$.** Elevo i numeri sulla diagonale. $$D^n = \begin{pmatrix} 2^n & 0 \\ 0 & 5^n \end{pmatrix}$$ 3. **Il prodotto $MD^n$.** $$\begin{pmatrix} 1 & 1 \\ -2 & 1 \end{pmatrix}\begin{pmatrix} 2^n & 0 \\ 0 & 5^n \end{pmatrix} = \begin{pmatrix} 1 \cdot 2^n + 1 \cdot 0 & 1 \cdot 0 + 1 \cdot 5^n \\ -2 \cdot 2^n + 1 \cdot 0 & -2 \cdot 0 + 1 \cdot 5^n \end{pmatrix} = \begin{pmatrix} 2^n & 5^n \\ -2^{n+1} & 5^n \end{pmatrix}$$ In basso a sinistra ho scritto $-2 \cdot 2^n$ come $-2^{n+1}$: moltiplicare per 2 alza l'esponente di uno. 4. **Si moltiplica per $M^{-1}$**, tenendo fuori la frazione $\frac 13$. I quattro numeri del prodotto, uno per riga: - in alto a sinistra: $2^n \cdot 1 + 5^n \cdot 2 = 2^n + 2 \cdot 5^n$; - in alto a destra: $2^n \cdot (-1) + 5^n \cdot 1 = -2^n + 5^n$; - in basso a sinistra: $-2^{n+1} \cdot 1 + 5^n \cdot 2 = -2^{n+1} + 2 \cdot 5^n$; - in basso a destra: $-2^{n+1} \cdot (-1) + 5^n \cdot 1 = 2^{n+1} + 5^n$. 5. **La formula.** $$A^n = \frac 13\begin{pmatrix} 2^n + 2 \cdot 5^n & -2^n + 5^n \\ -2^{n+1} + 2 \cdot 5^n & 2^{n+1} + 5^n \end{pmatrix}$$ **Controllo per $n = 2$.** Servono $2^2 = 4$, poi $2^3 = 8$, poi $5^2 = 25$. La formula dà $$\frac 13\begin{pmatrix} 4 + 50 & -4 + 25 \\ -8 + 50 & 8 + 25 \end{pmatrix} = \frac 13\begin{pmatrix} 54 & 21 \\ 42 & 33 \end{pmatrix} = \begin{pmatrix} 18 & 7 \\ 14 & 11 \end{pmatrix}$$ Il prodotto diretto dà $$A^2 = \begin{pmatrix} 4 \cdot 4 + 1 \cdot 2 & 4 \cdot 1 + 1 \cdot 3 \\ 2 \cdot 4 + 3 \cdot 2 & 2 \cdot 1 + 3 \cdot 3 \end{pmatrix} = \begin{pmatrix} 18 & 7 \\ 14 & 11 \end{pmatrix}$$ I due risultati coincidono. ::: ::: esercizio medio Il polinomio caratteristico dell'Esempio 17.4 Calcola il polinomio caratteristico di $A = \begin{pmatrix} 1 & 1 & -1 \\ 2 & 1 & 1 \\ 3 & 0 & 2 \end{pmatrix}$. Quali sono gli autovalori reali? E quelli complessi? $A$ è diagonalizzabile su $\R$? ::: soluzione **Il polinomio caratteristico.** 1. Tolgo $\lambda$ sulla diagonale: $$A - \lambda I = \begin{pmatrix} 1 - \lambda & 1 & -1 \\ 2 & 1 - \lambda & 1 \\ 3 & 0 & 2 - \lambda \end{pmatrix}$$ 2. La seconda colonna, $(1,\ 1 - \lambda,\ 0)$, ha uno zero: sviluppo lungo quella. I segni dei suoi tre posti, dalla scacchiera, sono meno, più, meno. 3. Primo pezzo: il numero 1, con il segno meno. Cancello la prima riga e la seconda colonna. Restano le righe $(2,\ 1)$ e $(3,\ 2 - \lambda)$. Il determinante è $2 \cdot (2 - \lambda) - 1 \cdot 3 = 4 - 2\lambda - 3$, cioè $1 - 2\lambda$. Con il segno meno il pezzo vale $-1 + 2\lambda$. 4. Secondo pezzo: il numero $1 - \lambda$, con il segno più. Cancello la seconda riga e la seconda colonna. Restano le righe $(1 - \lambda,\ -1)$ e $(3,\ 2 - \lambda)$. Il determinante è $(1 - \lambda)(2 - \lambda) - (-1) \cdot 3$, cioè $(1 - \lambda)(2 - \lambda) + 3$. Il prodotto fa $2 - 3\lambda + \lambda^2$, quindi il determinante è $\lambda^2 - 3\lambda + 5$. 5. Moltiplico il secondo pezzo per $1 - \lambda$: $$(1 - \lambda)(\lambda^2 - 3\lambda + 5) = \lambda^2 - 3\lambda + 5 - \lambda^3 + 3\lambda^2 - 5\lambda = -\lambda^3 + 4\lambda^2 - 8\lambda + 5$$ 6. Sommo i due pezzi: $$p_A(\lambda) = -1 + 2\lambda - \lambda^3 + 4\lambda^2 - 8\lambda + 5 = -\lambda^3 + 4\lambda^2 - 6\lambda + 4$$ **Gli autovalori.** 7. Dall'Esempio 17.4 so che 2 è un autovalore. Controllo: $-8 + 16 - 12 + 4 = 0$. 8. Divido per $\lambda - 2$ con la regola di Ruffini (lezione L04). I numeri del polinomio sono $-1$, 4, $-6$ e 4. Il primo si copia. Poi a ogni passo si moltiplica per 2 l'ultimo numero trovato e si somma al successivo. - Primo numero: $-1$. - Secondo: $4 + 2 \cdot (-1) = 2$. - Terzo: $-6 + 2 \cdot 2 = -2$. - Quarto: $4 + 2 \cdot (-2) = 0$. È il resto. Il quoziente è $-\lambda^2 + 2\lambda - 2$. Quindi $$p_A(\lambda) = -(\lambda - 2)(\lambda^2 - 2\lambda + 2)$$ 9. Il pezzo di secondo grado ha discriminante $4 - 8 = -4$: è negativo, quindi non ci sono altre radici reali. Nei numeri complessi la radice quadrata di $-4$ è $2i$, e le radici sono $$\lambda = \frac{2 \pm 2i}{2} = 1 \pm i$$ **Autovalori reali:** solo 2. **Autovalori complessi:** $2$, poi $1 + i$, poi $1 - i$. Controllo: la somma dei tre è $2 + 1 + 1 = 4$, perché i pezzi con la $i$ si cancellano. La traccia è $1 + 1 + 2 = 4$. **La matrice è diagonalizzabile con i numeri reali?** 10. Con i numeri reali l'unico autovalore è 2. Cerco i suoi autovettori. Tolgo 2 sulla diagonale: $$A - 2I = \begin{pmatrix} -1 & 1 & -1 \\ 2 & -1 & 1 \\ 3 & 0 & 0 \end{pmatrix}$$ 11. Chiamo $(x, y, z)$ il vettore che cerco. La terza riga dice $3x = 0$, cioè $x = 0$. Con $x = 0$ la prima riga diventa $y - z = 0$, cioè $y = z$. La seconda diventa $-y + z = 0$: dice la stessa cosa. 12. Gli autovettori sono i multipli di $(0, 1, 1)$: una sola retta. Per una base dello spazio servono tre autovettori indipendenti. Qui tutti gli autovettori reali stanno su una retta. Quindi la matrice **non** è diagonalizzabile con i numeri reali. ::: ::: esercizio medio Un endomorfismo di $\R_1[x]$ Sia $T : \R_1[x] \to \R_1[x]$, $T(a + bx) = b + ax$. Trova autovalori e autovettori (come polinomi). $T$ è diagonalizzabile? Scrivi la matrice di $T$ in una base di autovettori. ::: soluzione 1. **La matrice.** Uso la base fatta dai polinomi $1$ e $x$. La macchina scambia i due numeri del polinomio. Da $1 = 1 + 0x$ esce $0 + 1x$, con coordinate $(0, 1)$: prima colonna. Da $x = 0 + 1x$ esce $1 + 0x$, con coordinate $(1, 0)$: seconda colonna. $$A = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$$ 2. **Il polinomio caratteristico.** La traccia è 0. Il determinante è $0 \cdot 0 - 1 \cdot 1 = -1$. Con la formula veloce il polinomio è $\lambda^2 - 1$. 3. **Gli autovalori.** $\lambda^2 - 1 = 0$ vuol dire $\lambda^2 = 1$. I numeri con quadrato 1 sono $1$ e $-1$. 4. **Autovettori dell'autovalore 1.** Tolgo 1 sulla diagonale. Chiamo $(s, t)$ le coordinate che cerco, per non confonderle con la $x$ dei polinomi. $$A - I = \begin{pmatrix} -1 & 1 \\ 1 & -1 \end{pmatrix}$$ La prima riga dice $-s + t = 0$, cioè $t = s$. La seconda dice la stessa cosa. Scelgo le coordinate $(1, 1)$: è il polinomio $1 + x$. 5. **Autovettori dell'autovalore $-1$.** Togliere $-1$ vuol dire sommare 1 sulla diagonale. $$A + I = \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}$$ Le due righe dicono $s + t = 0$, cioè $t = -s$. Scelgo le coordinate $(1, -1)$: è il polinomio $1 - x$. 6. **Diagonalizzabile?** I polinomi $1 + x$ e $1 - x$ sono due autovettori, e non sono uno multiplo dell'altro. Lo spazio $\R_1[x]$ ha dimensione 2, quindi formano una base. La macchina è diagonalizzabile. 7. **La matrice nella base degli autovettori.** È diagonale, con gli autovalori nello stesso ordine dei vettori della base: $$\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$$ Controllo sui polinomi. Da $1 + x$ esce $1 + x$: una volta sé stesso. Da $1 - x$ esce $-1 + x$, cioè $-(1 - x)$: meno una volta sé stesso. ::: ::: esercizio medio La rotazione di $90°$ su $\R$ e su $\C$ (oltre le dispense) Sia $A = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$. (a) Mostra che $L_A : \R^2 \to \R^2$ non ha autovalori. (b) Considera $L_A : \C^2 \to \C^2$ con la stessa matrice: trova autovalori e autovettori. $A$ è diagonalizzabile su $\C$? ::: soluzione Nel testo, $\R^2$ indica i vettori fatti da due numeri reali, e $\C^2$ quelli fatti da due numeri complessi. **(a) Con i numeri reali.** 1. La traccia è 0. Il determinante è $0 \cdot 0 - (-1) \cdot 1 = 1$. Con la formula veloce il polinomio caratteristico è $\lambda^2 + 1$. 2. Per un numero reale il quadrato non è mai negativo. Quindi $\lambda^2 + 1$ vale almeno 1, e non è mai zero. 3. Nessuna radice reale vuol dire nessun autovalore reale, e quindi nessun autovettore fatto di numeri reali. **(b) Con i numeri complessi.** Ricorda dalla lezione L02: con $i$ si fanno i conti come con una lettera, e ogni volta che compare $i \cdot i$ si scrive $-1$. 4. **Autovalori.** $\lambda^2 + 1 = 0$ vuol dire $\lambda^2 = -1$. I numeri complessi con quadrato $-1$ sono $i$ e $-i$. 5. **Autovettori dell'autovalore $i$.** Tolgo $i$ sulla diagonale: $$A - iI = \begin{pmatrix} -i & -1 \\ 1 & -i \end{pmatrix}$$ Chiamo $(x, y)$ il vettore che cerco. La seconda riga dice $x - iy = 0$, cioè $x = iy$. Scelgo $y = 1$: l'autovettore è $(i, 1)$. La prima riga è rispettata: $-i \cdot i - 1 = 1 - 1 = 0$. 6. **Autovettori dell'autovalore $-i$.** Togliere $-i$ vuol dire sommare $i$ sulla diagonale: $$A + iI = \begin{pmatrix} i & -1 \\ 1 & i \end{pmatrix}$$ La seconda riga dice $x + iy = 0$, cioè $x = -iy$. Scelgo $y = 1$: l'autovettore è $(-i, 1)$. La prima riga è rispettata: $i \cdot (-i) - 1 = 1 - 1 = 0$. 7. **Diagonalizzabile?** Metto i due autovettori in colonna e calcolo il determinante: $$\det\begin{pmatrix} i & -i \\ 1 & 1 \end{pmatrix} = i \cdot 1 - (-i) \cdot 1 = 2i$$ Non è zero, quindi i due autovettori sono indipendenti. Con i numeri complessi la matrice è diagonalizzabile, e la matrice diagonale è $$D = \begin{pmatrix} i & 0 \\ 0 & -i \end{pmatrix}$$ Controllo degli autovettori. Da $(i, 1)$ esce $(0 \cdot i - 1 \cdot 1,\ 1 \cdot i + 0 \cdot 1) = (-1, i)$. E $i$ volte $(i, 1)$ è $(i \cdot i,\ i) = (-1, i)$: uguali. Da $(-i, 1)$ esce $(-1, -i)$. E $-i$ volte $(-i, 1)$ è $(i \cdot i,\ -i) = (-1, -i)$: uguali. La stessa matrice è diagonalizzabile con i numeri complessi ma non con i numeri reali (Martelli, Esempio 5.1.31). Negli appelli in cui il parametro è un numero complesso questa differenza conta. ::: ::: esercizio difficile Autovalore zero, potenze e inversa Sia $A \in M(n, \K)$. (a) Dimostra che $0$ è un autovalore di $A$ se e solo se $A$ non è invertibile. (b) Dimostra che se $v$ è autovettore di $A$ con autovalore $\lambda$, allora $v$ è autovettore di $A^2$ con autovalore $\lambda^2$. (c) Se $A$ è invertibile e $Av = \lambda v$ con $v \neq 0$, dimostra che $\lambda \neq 0$ e che $v$ è autovettore di $A^{-1}$ con autovalore $\frac 1\lambda$. ::: soluzione **(a)** Tre frasi che sono vere insieme oppure false insieme. 1. Lo 0 è un autovalore esattamente quando è una radice del polinomio caratteristico (Proposizione 17.13). 2. Mettendo 0 al posto di $\lambda$ nel polinomio caratteristico viene $\det(A - 0 \cdot I) = \det A$. Quindi 0 è una radice esattamente quando $\det A = 0$. 3. Il determinante è zero esattamente quando la matrice non è invertibile (Proposizione 10.8). **(b)** Faccio passare $v$ due volte nella macchina. 1. $A^2 v$ vuol dire $A$ per $Av$. 2. Al posto di $Av$ scrivo $\lambda v$: ottengo $A(\lambda v)$. 3. Il numero $\lambda$ esce fuori: ottengo $\lambda \cdot Av$. 4. Di nuovo al posto di $Av$ scrivo $\lambda v$: ottengo $\lambda \cdot \lambda v = \lambda^2 v$. Quindi $A^2 v = \lambda^2 v$. Il vettore $v$ non è nullo, quindi è un autovettore di $A^2$ con autovalore $\lambda^2$. **(c)** Prima mostro che $\lambda$ non è zero, poi trovo l'autovalore dell'inversa. 1. Faccio finta che $\lambda$ sia 0. Allora $Av = 0$. Moltiplico a sinistra per $A^{-1}$: a sinistra resta $v$, a destra resta il vettore nullo. Quindi $v = 0$. Ma $v$ non è nullo: è impossibile. Quindi $\lambda \neq 0$. 2. Parto da $Av = \lambda v$ e moltiplico i due lati a sinistra per $A^{-1}$. A sinistra $A^{-1}A$ è l'identità, e resta $v$. A destra il numero esce fuori: $\lambda A^{-1}v$. 3. Ho ottenuto $v = \lambda A^{-1} v$. Divido per $\lambda$, che non è zero: $$A^{-1} v = \frac 1\lambda v$$ Quindi $v$ è un autovettore dell'inversa, con autovalore $\frac 1\lambda$. **Controllo con i numeri.** La matrice dell'Esempio 17.2 ha autovalori 3 e 2. - Il suo quadrato ha le righe $(9, 20)$ e $(0, 4)$. È triangolare, con autovalori 9 e 4: i quadrati di 3 e di 2. - La sua inversa. Il determinante è $3 \cdot 2 - 4 \cdot 0 = 6$. Scambio i numeri sulla diagonale, cambio segno agli altri due, divido per 6: $$A^{-1} = \frac 16\begin{pmatrix} 2 & -4 \\ 0 & 3 \end{pmatrix}$$ È triangolare, con autovalori $\frac 26 = \frac 13$ e $\frac 36 = \frac 12$: gli inversi di 3 e di 2. ::: ::: esercizio difficile Una matrice e la sua trasposta (a) Dimostra che $A$ e ${}^tA$ hanno lo stesso polinomio caratteristico. (b) Mostra con $A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$ che però non hanno gli stessi autovettori. ::: soluzione La **trasposta** di una matrice si ottiene scambiando le righe con le colonne (lezione L08). Si scrive ${}^tA$. **(a)** 1. Trasporre una matrice non cambia i numeri sulla diagonale. Quindi fare prima la trasposta e poi togliere $\lambda$ sulla diagonale dà lo stesso risultato che fare prima la sottrazione e poi la trasposta. In formule: ${}^tA - \lambda I$ è la trasposta di $A - \lambda I$. 2. Una matrice e la sua trasposta hanno lo stesso determinante (lezione L09). 3. Quindi il determinante di ${}^tA - \lambda I$ è uguale al determinante di $A - \lambda I$. Il primo è il polinomio caratteristico di ${}^tA$, il secondo quello di $A$. **(b)** 1. Scambio righe e colonne: $${}^tA = \begin{pmatrix} 3 & 0 \\ 4 & 2 \end{pmatrix}$$ È triangolare, con autovalori 3 e 2: gli stessi di $A$, come dice il punto (a). 2. Il vettore $e_1 = (1, 0)$ è un autovettore di $A$ (Esempio 17.2). Lo faccio passare nella trasposta: esce $(3 \cdot 1 + 0 \cdot 0,\ 4 \cdot 1 + 2 \cdot 0) = (3, 4)$. Un multiplo di $e_1$ ha 0 nel secondo posto, e qui c'è 4. Quindi $e_1$ **non** è un autovettore della trasposta. Per completezza, ecco gli autovettori della trasposta. 3. Autovalore 3. Tolgo 3 sulla diagonale: $${}^tA - 3I = \begin{pmatrix} 0 & 0 \\ 4 & -1 \end{pmatrix}$$ Chiamo $(x, y)$ il vettore che cerco. Resta l'equazione $4x - y = 0$, cioè $y = 4x$. Con $x = 1$ l'autovettore è $(1, 4)$. 4. Autovalore 2. Tolgo 2 sulla diagonale: $${}^tA - 2I = \begin{pmatrix} 1 & 0 \\ 4 & 0 \end{pmatrix}$$ Le due righe dicono $x = 0$. La $y$ è libera. Con $y = 1$ l'autovettore è $(0, 1)$. Controllo. Da $(1, 4)$ esce $(3 \cdot 1 + 0 \cdot 4,\ 4 \cdot 1 + 2 \cdot 4) = (3, 12)$, cioè 3 volte il vettore. Da $(0, 1)$ esce $(0, 2)$, cioè 2 volte il vettore. ::: ::: esercizio esame Come all'esame: autovalori, autovettori e diagonalizzazione in $\R^3$ Sia $T : \R^3 \to \R^3$, $T(x, y, z) = (x + 2y,\ 2x + y,\ x + y + 2z)$. (1) Scrivi la matrice $A$ di $T$ nella base canonica e calcola il polinomio caratteristico. (2) Trova gli autovalori e, per ciascuno, un autovettore. (3) Mostra che gli autovettori trovati formano una base di $\R^3$ e scrivi $M$ e $D$ con $D = M^{-1}AM$. ::: soluzione **(1) La matrice e il polinomio caratteristico.** 1. Una riga per ogni posto del risultato. Dove una lettera manca scrivo 0. $$A = \begin{pmatrix} 1 & 2 & 0 \\ 2 & 1 & 0 \\ 1 & 1 & 2 \end{pmatrix}$$ 2. Tolgo $\lambda$ sulla diagonale: $$A - \lambda I = \begin{pmatrix} 1 - \lambda & 2 & 0 \\ 2 & 1 - \lambda & 0 \\ 1 & 1 & 2 - \lambda \end{pmatrix}$$ 3. La terza colonna, $(0,\ 0,\ 2 - \lambda)$, ha due zeri: sviluppo lungo quella. Conta solo l'ultimo numero, in un posto con il segno più. Cancello la terza riga e la terza colonna. $$p_A(\lambda) = (2 - \lambda) \cdot \det\begin{pmatrix} 1 - \lambda & 2 \\ 2 & 1 - \lambda \end{pmatrix} = (2 - \lambda)\big((1 - \lambda)^2 - 4\big)$$ 4. Sviluppo il secondo pezzo: $(1 - \lambda)^2 - 4 = 1 - 2\lambda + \lambda^2 - 4 = \lambda^2 - 2\lambda - 3$. $$p_A(\lambda) = (2 - \lambda)(\lambda^2 - 2\lambda - 3)$$ **(2) Autovalori e autovettori.** 5. Il primo pezzo è zero per $\lambda = 2$. Per il secondo il discriminante è $4 + 12 = 16$, con radice quadrata 4. Le radici sono $\frac{2 + 4}{2} = 3$ e $\frac{2 - 4}{2} = -1$. Gli autovalori sono $3$, $-1$ e $2$. Scritto tutto come prodotto, il polinomio è $(2 - \lambda)(\lambda - 3)(\lambda + 1)$. 6. Controllo con la traccia: $1 + 1 + 2 = 4$, e $3 - 1 + 2 = 4$. 7. **Autovalore 3.** Tolgo 3 sulla diagonale: $$A - 3I = \begin{pmatrix} -2 & 2 & 0 \\ 2 & -2 & 0 \\ 1 & 1 & -1 \end{pmatrix}$$ Chiamo $(x, y, z)$ il vettore che cerco. La prima riga dice $-2x + 2y = 0$, cioè $y = x$. La seconda dice la stessa cosa. La terza dice $x + y - z = 0$, cioè $z = x + y = 2x$. Con $x = 1$ l'autovettore è $(1, 1, 2)$. 8. **Autovalore $-1$.** Sommo 1 sulla diagonale: $$A + I = \begin{pmatrix} 2 & 2 & 0 \\ 2 & 2 & 0 \\ 1 & 1 & 3 \end{pmatrix}$$ Le prime due righe dicono $2x + 2y = 0$, cioè $y = -x$. Nella terza, $x + y + 3z = 0$, la somma $x + y$ vale 0: resta $3z = 0$, cioè $z = 0$. Con $x = 1$ l'autovettore è $(1, -1, 0)$. 9. **Autovalore 2.** Tolgo 2 sulla diagonale: $$A - 2I = \begin{pmatrix} -1 & 2 & 0 \\ 2 & -1 & 0 \\ 1 & 1 & 0 \end{pmatrix}$$ La prima riga dice $x = 2y$. Lo metto nella seconda, $2x - y = 0$: viene $4y - y = 3y = 0$, quindi $y = 0$ e poi $x = 0$. La terza, $x + y = 0$, è rispettata. La $z$ non compare: è libera. Con $z = 1$ l'autovettore è $(0, 0, 1)$. 10. Controllo dei tre autovettori, facendoli passare nella macchina: - da $(1, 1, 2)$ esce $(1 + 2,\ 2 + 1,\ 1 + 1 + 4) = (3, 3, 6)$, cioè 3 volte il vettore; - da $(1, -1, 0)$ esce $(1 - 2,\ 2 - 1,\ 1 - 1 + 0) = (-1, 1, 0)$, cioè $-1$ volte il vettore; - da $(0, 0, 1)$ esce $(0, 0, 2)$, cioè 2 volte il vettore. **(3) La base e le due matrici.** 11. Metto i tre autovettori in colonna, e gli autovalori sulla diagonale nello stesso ordine: $$M = \begin{pmatrix} 1 & 1 & 0 \\ 1 & -1 & 0 \\ 2 & 0 & 1 \end{pmatrix} \qquad\qquad D = \begin{pmatrix} 3 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 2 \end{pmatrix}$$ 12. Calcolo il determinante di $M$ sviluppando lungo la terza colonna, $(0, 0, 1)$. Conta solo l'1, in un posto con il segno più. Cancellando la terza riga e la terza colonna restano le righe $(1, 1)$ e $(1, -1)$: $$\det M = 1 \cdot \big(1 \cdot (-1) - 1 \cdot 1\big) = -2$$ Non è zero. Quindi le tre colonne sono indipendenti e formano una base dello spazio. Vale $D = M^{-1}AM$. Controllo con $AM = MD$. Le colonne di $AM$ sono quello che esce dai tre autovettori: le ho calcolate al passo 10. Le colonne di $MD$ sono i tre autovettori moltiplicati per 3, per $-1$ e per 2. In tutti e due i casi viene $$\begin{pmatrix} 3 & -1 & 0 \\ 3 & 1 & 0 \\ 6 & 0 & 2 \end{pmatrix}$$ ::: ::: esercizio esame Come all'esame: $A = PDP^{-1}$ per una matrice triangolare Sia $A = \begin{pmatrix} 1 & 2 & 0 \\ 0 & 3 & 1 \\ 0 & 0 & -1 \end{pmatrix}$. (1) Trova gli autovalori di $A$. (2) Trova un autovettore per ciascun autovalore. (3) Trova una matrice invertibile $P$ e una diagonale $D$ tali che $A = PDP^{-1}$, e controlla il risultato senza calcolare $P^{-1}$. ::: soluzione In questo esercizio la matrice degli autovettori si chiama $P$ invece di $M$. È solo un altro nome: negli appelli si trovano tutti e due. **(1) Gli autovalori.** 1. La matrice è triangolare: sotto la diagonale ci sono solo zeri. Gli autovalori sono i numeri sulla diagonale: $1$, $3$ e $-1$. **(2) Un autovettore per ogni autovalore.** Chiamo $(x, y, z)$ il vettore che cerco. 2. **Autovalore 1.** Tolgo 1 sulla diagonale: $$A - I = \begin{pmatrix} 0 & 2 & 0 \\ 0 & 2 & 1 \\ 0 & 0 & -2 \end{pmatrix}$$ La prima riga dice $2y = 0$, cioè $y = 0$. La terza dice $-2z = 0$, cioè $z = 0$. La seconda, $2y + z = 0$, è rispettata. La $x$ è libera. Con $x = 1$ l'autovettore è $(1, 0, 0)$. 3. **Autovalore 3.** Tolgo 3 sulla diagonale: $$A - 3I = \begin{pmatrix} -2 & 2 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & -4 \end{pmatrix}$$ La seconda riga dice $z = 0$, e la terza è rispettata. La prima dice $-2x + 2y = 0$, cioè $y = x$. Con $x = 1$ l'autovettore è $(1, 1, 0)$. 4. **Autovalore $-1$.** Sommo 1 sulla diagonale: $$A + I = \begin{pmatrix} 2 & 2 & 0 \\ 0 & 4 & 1 \\ 0 & 0 & 0 \end{pmatrix}$$ La terza riga è tutta di zeri e non dice niente. La seconda dice $4y + z = 0$, cioè $z = -4y$. La prima dice $2x + 2y = 0$, cioè $x = -y$. Scelgo $y = -1$, così $x = 1$ e $z = 4$: l'autovettore è $(1, -1, 4)$. **(3) Le due matrici e il controllo.** 5. Autovettori in colonna, autovalori nello stesso ordine: $$P = \begin{pmatrix} 1 & 1 & 1 \\ 0 & 1 & -1 \\ 0 & 0 & 4 \end{pmatrix} \qquad\qquad D = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & -1 \end{pmatrix}$$ 6. $P$ è triangolare, quindi il suo determinante è il prodotto della diagonale: $1 \cdot 1 \cdot 4 = 4$. Non è zero: $P$ è invertibile. 7. Moltiplicando a destra per $P$ i due lati di $A = PDP^{-1}$ si ottiene $AP = PD$. Basta controllare questa uguaglianza, una colonna alla volta. | Colonna | In $AP$: la matrice per l'autovettore | In $PD$: l'autovettore per l'autovalore | |---|---|---| | 1 | $(1 + 0 + 0,\ 0,\ 0) = (1, 0, 0)$ | $1 \cdot (1, 0, 0) = (1, 0, 0)$ | | 2 | $(1 + 2 + 0,\ 0 + 3 + 0,\ 0) = (3, 3, 0)$ | $3 \cdot (1, 1, 0) = (3, 3, 0)$ | | 3 | $(1 - 2 + 0,\ 0 - 3 + 4,\ -4) = (-1, 1, -4)$ | $-1 \cdot (1, -1, 4) = (-1, 1, -4)$ | Le colonne coincidono: $P$ e $D$ sono giuste. ::: ## Domande di ripasso ::: domanda Che cos'è un autovettore? E un autovalore? Un autovettore di una macchina $T$ è un vettore non nullo che la macchina manda in un suo multiplo: $T(v) = \lambda v$. Il numero $\lambda$, che dice per quanto viene moltiplicato il vettore, è l'autovalore. ::: ::: domanda Perché il vettore nullo non può essere un autovettore, mentre $0$ può essere un autovalore? Dal vettore nullo esce sempre il vettore nullo, che è multiplo di sé stesso con qualunque numero. Se lo accettassimo, ogni numero sarebbe un autovalore. L'autovalore 0 invece ha un significato preciso: i suoi autovettori sono i vettori non nulli che la macchina schiaccia su zero, cioè quelli del nucleo. ::: ::: domanda Che cosa succede ai multipli di un autovettore? Ogni multiplo non nullo di un autovettore è ancora un autovettore, con lo stesso autovalore. Il motivo: la macchina rispetta i multipli, quindi $T(\mu v) = \mu T(v) = \lambda \cdot (\mu v)$. Tutta la retta dell'autovettore, tolto lo zero, è fatta di autovettori. ::: ::: domanda Perché si possono studiare gli autovettori usando solo le matrici? Perché con le coordinate ogni macchina diventa una matrice. Se $A$ è la matrice della macchina in una base e $x$ è la lista delle coordinate di $v$, allora $T(v) = \lambda v$ vale esattamente quando $Ax = \lambda x$. ::: ::: domanda Perché una rotazione di angolo $\vartheta \neq 0, \pi$ non ha autovettori reali? Perché ogni vettore non nullo viene girato di quell'angolo, ed esce dalla sua retta. I suoi multipli invece stanno tutti sulla sua retta: formano con lui un angolo di 0 oppure di mezzo giro. Con i conti: il polinomio caratteristico ha il discriminante negativo. ::: ::: domanda Quando un endomorfismo si chiama diagonalizzabile? Da dove viene il nome? Quando lo spazio ha una base fatta tutta di suoi autovettori. Il nome viene dalla Proposizione 17.6: la matrice della macchina in una base è diagonale esattamente quando la base è fatta di autovettori. Sulla diagonale ci sono gli autovalori. ::: ::: domanda Quando una matrice è diagonalizzabile, e chi sono $M$ e $D$? Quando è simile a una matrice diagonale: $D = M^{-1}AM$ per qualche matrice invertibile $M$. Le colonne di $M$ sono autovettori indipendenti. La matrice $D$ ha sulla diagonale i loro autovalori, nello stesso ordine. ::: ::: domanda Come si calcola $A^k$ se $A$ è diagonalizzabile? Si scrive $A = MDM^{-1}$. Moltiplicando $A$ per sé stessa le coppie $M^{-1}M$ in mezzo spariscono, e resta $A^k = MD^kM^{-1}$. La potenza di $D$ si ottiene elevando alla $k$ i numeri sulla diagonale. ::: ::: domanda Che cos'è il polinomio caratteristico e che grado ha? È il determinante della matrice dopo aver tolto $\lambda$ sulla diagonale: $p_A(\lambda) = \det(A - \lambda I)$. Per una matrice con $n$ righe ha grado $n$. Per una matrice con 2 righe si scrive subito: $\lambda^2$, meno la traccia per $\lambda$, più il determinante. ::: ::: domanda Perché il polinomio caratteristico di un endomorfismo non dipende dalla base? Perché cambiando base si passa a una matrice simile, e due matrici simili hanno lo stesso polinomio caratteristico. Si dimostra con il Teorema di Binet: i determinanti di $M^{-1}$ e di $M$, moltiplicati, danno 1. ::: ::: domanda Perché gli autovalori sono le radici del polinomio caratteristico? Un numero $\lambda$ è un autovalore quando c'è un vettore non nullo con $(A - \lambda I)v = 0$. Succede esattamente quando la matrice $A - \lambda I$ non è invertibile, cioè quando il suo determinante è zero. E quel determinante è il polinomio caratteristico (Proposizione 17.13). ::: ::: domanda Come si trovano gli autovettori una volta noto un autovalore $\lambda_0$? Si mette $\lambda_0$ al posto di $\lambda$ e si risolve il sistema omogeneo $(A - \lambda_0 I)v = 0$. Le soluzioni non nulle sono gli autovettori. Il sistema ha sempre infinite soluzioni: se viene solo il vettore nullo, c'è un errore nel calcolo dell'autovalore. ::: ## Glossario ```glossario Endomorfismo | Una macchina lineare in cui i vettori che escono stanno nello stesso spazio di quelli che entrano. Si scrive $T : V \to V$. Autovettore | Un vettore non nullo che la macchina manda in un suo multiplo: $T(v) = \lambda v$ (Definizione 17.1). Esempio: $(1, 0)$ per la matrice dell'Esempio 17.2. Autovalore | Il numero $\lambda$ per cui viene moltiplicato un autovettore. Dice di quanto la macchina lo allunga. Può essere 0. Retta invariante | Una retta che la macchina manda dentro sé stessa. La retta dei multipli di un vettore è invariante esattamente quando quel vettore è un autovettore. Punto fisso | Un vettore che esce dalla macchina uguale a com'è entrato. I punti fissi non nulli sono gli autovettori con autovalore 1. Endomorfismo diagonalizzabile | Una macchina per cui esiste una base fatta tutta di suoi autovettori (Definizione 17.5). Matrice diagonalizzabile | Una matrice simile a una matrice diagonale: $D = M^{-1}AM$ per qualche matrice invertibile $M$ (Definizione 17.7). Matrice diagonale | Una matrice con zeri fuori dalla diagonale principale. Prodotti, determinante e potenze si calcolano un numero alla volta. $M$ e $D$ | Le due matrici della diagonalizzazione. $M$ ha gli autovettori in colonna, $D$ ha gli autovalori sulla diagonale, nello stesso ordine. Controllo: $AM = MD$. Potenza di una diagonalizzabile | Si calcola con $A^k = MD^kM^{-1}$: si eleva solo la matrice diagonale. Polinomio caratteristico | Il determinante della matrice dopo aver tolto $\lambda$ sulla diagonale: $p_A(\lambda) = \det(A - \lambda I_n)$. Ha grado $n$ (Definizione 17.12). Invarianza per similitudine | Matrici simili hanno lo stesso polinomio caratteristico. Per questo il polinomio caratteristico di un endomorfismo non dipende dalla base. Formula $2 \times 2$ | Per una matrice con 2 righe: $p_A(\lambda) = \lambda^2 - \tr A\,\lambda + \det A$. Matrice triangolare | Una matrice con tutti zeri sotto la diagonale, oppure tutti zeri sopra. I suoi autovalori sono i numeri sulla diagonale. Rotazione $\mathrm{Rot}_\vartheta$ | La macchina che gira il piano di un angolo $\vartheta$. Se l'angolo non è 0 e non è $\pi$, non ha autovalori reali. Traccia e autovalori | Quando hai tutti gli autovalori di una matrice: la loro somma è la traccia, il loro prodotto è il determinante. Scalare | Un numero normale, come 3 o $-2$. Si chiama così per distinguerlo dai vettori. Radice di un polinomio | Un numero che, messo al posto della lettera, fa venire zero. Le radici del polinomio caratteristico sono gli autovalori. ``` ## Checklist ```checklist - So dire che cos'è un autovettore e che cos'è un autovalore, e perché l'autovettore non può essere nullo mentre l'autovalore può essere zero. - So controllare se un vettore è un autovettore, calcolando $Av$. - So che i multipli non nulli di un autovettore sono autovettori con lo stesso autovalore, e che la somma di autovettori con autovalori diversi in genere non lo è. - So spiegare perché una rotazione di angolo $\vartheta \neq 0, \pi$ non ha autovettori reali. - So la definizione di endomorfismo e di matrice diagonalizzabile, e il legame tra base di autovettori e matrice diagonale. - So costruire $M$ e $D$ da una base di autovettori e controllare con $AM = MD$. - So calcolare $A^k$ con la formula $A^k = MD^kM^{-1}$. - So calcolare il polinomio caratteristico di una matrice $2 \times 2$ (con traccia e determinante) e di una $3 \times 3$ (sviluppando lungo la riga o la colonna con più zeri). - So perché gli autovalori sono le radici del polinomio caratteristico, e trovo gli autovettori risolvendo $(A - \lambda I)v = 0$. - So leggere sulla diagonale gli autovalori di una matrice triangolare, e controllo i risultati con traccia e determinante. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 17 «Autovalori e autovettori I», pp. 85–89: le sezioni 17.A (definizione ed esempi), 17.B (endomorfismi e matrici diagonalizzabili), 17.C (matrici diagonali) e 17.D (polinomio caratteristico) sono seguite in ordine, con la pagina accanto a ogni titolo; definizioni, proposizioni ed esempi mantengono la loro numerazione (Definizioni 17.1, 17.5, 17.7, 17.12; Proposizioni 17.6, 17.8, 17.13; Esempi 17.2–17.4, 17.9–17.11, 17.14). La lezione 17 delle dispense non ha una sezione di esercizi: quelli qui sono tutti aggiunti. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §5.1.1–5.1.8 (autovettori, diagonalizzabilità, matrici diagonali e diagonalizzabili, polinomio caratteristico, esempi $2 \times 2$ su $\R$ e $\C$, matrici triangolari) e la Proposizione 5.2.15 (traccia, determinante e autovalori). - **Esame**: appelli del 10/07/2024 (problema 11), 06/09/2024 (domanda 10), 07/02/2025 (domanda 8), 03/06/2025 (domanda 8), 02/09/2025 (domanda 4), 05/02/2026 (domanda 8), 03/06/2026 (domanda 6), 03/07/2026 (domande 2 e 3), 07/09/2026 (problema 11). Testi e soluzioni ufficiali sul Moodle 2025/26 ([id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); le soluzioni riportate qui sono scritte da capo. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (autovalori 0 e 1, la matrice di rotazione, la formula per le matrici $2 \times 2$, le matrici triangolari, i controlli con traccia e determinante, la rotazione su $\C$) collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L18_autovalori_autovettori_2.md` ```yaml corso: MDAG modulo: AG lezione: L18 titolo: Autovalori e autovettori II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L18 descrizione: >- Appunti della lezione L18 di Algebra lineare e Geometria (MDAG, parte 2): indipendenza di autovettori con autovalori distinti, autospazi e somma diretta, molteplicità algebrica e geometrica, teorema di diagonalizzabilità e matrici con un parametro, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Quando una matrice è diagonalizzabile? Si contano due cose per ogni autovalore: quante volte è radice del polinomio caratteristico, e quanti autovettori indipendenti ha davvero. Se i due conti tornano per tutti, la matrice è diagonalizzabile. Con questo si risolve il problema aperto più frequente dell'esame: le matrici con un parametro. materiale: dispense scheda: Dispense: lezione 18 · pp. 90–95 Libro: Martelli, §5.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 18 «Autovalori e autovettori II»; B. Martelli, Geometria e algebra lineare, §5.1 e §5.2 appunti_html: appunti/MDAG/L18_autovalori_autovettori_2.html genera_html: true ``` ## In breve - Autovettori con **autovalori diversi** sono sempre indipendenti. Quindi, se una matrice $n \times n$ ha $n$ autovalori tutti diversi, è diagonalizzabile. Il contrario non vale: la matrice identità è diagonale e ha un solo autovalore. - Tutti gli autovettori di uno stesso autovalore, con lo zero, formano un sottospazio: l'**autospazio**. È la zona dello spazio che la macchina allunga tutta dello stesso fattore. - Per ogni autovalore si fanno **due conti**. La **molteplicità algebrica** dice quante volte è radice del polinomio caratteristico: sono i posti che **prenota** sulla diagonale. La **molteplicità geometrica** è la dimensione dell'autospazio: sono i posti che riesce a **occupare** con autovettori indipendenti. - I posti occupati sono sempre almeno 1 e mai più di quelli prenotati. Un autovalore che prenota un posto solo non dà mai problemi. - **Teorema di diagonalizzabilità**: una matrice è diagonalizzabile esattamente quando il polinomio caratteristico ha tutte le sue radici nel campo dei numeri usato, e ogni autovalore occupa tutti i posti che prenota. - Il campo conta: la rotazione di un quarto di giro è diagonalizzabile sui complessi ma non sui reali. - Con un parametro: si trovano gli autovalori in funzione del parametro. Dove sono tutti diversi la matrice è diagonalizzabile; nei valori in cui due autovalori coincidono si calcola un rango. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Autovalori diversi, autovettori indipendenti (p. 90) Nella lezione L17 hai visto che una macchina è diagonalizzabile se c'è una base fatta tutta di autovettori: in quella base la macchina allunga ogni vettore della base di un certo fattore, e la matrice è diagonale. Per costruire una base così servono autovettori **indipendenti**. Quando lo sono? Come nelle dispense, i vettori di $\K^n$ sono colonne; nel testo li scriviamo in riga, $(1, 2)$, per risparmiare spazio. Un primo esempio, dalla lezione L17. La matrice $A = \begin{pmatrix} 3 & 4 \\ 0 & 2 \end{pmatrix}$ allunga di 3 il vettore $(1, 0)$ e di 2 il vettore $(-4, 1)$. I due vettori non sono uno multiplo dell'altro: sono indipendenti. Non è un caso. Se fossero sulla stessa retta, la macchina dovrebbe allungarli dello stesso fattore. Le dispense lo scrivono così. > [!PROP] 18.1 > Se $v_1, \dots, v_k \in V$ sono autovettori per $T$ con autovalori $\lambda_1, \dots, \lambda_k$ distinti, allora sono linearmente indipendenti. **Come si legge.** Prendi autovettori che la macchina allunga di fattori tutti diversi: allora nessuno di loro si ottiene come ricetta degli altri. Il caso di **due** autovettori contiene già tutta l'idea. Siano $T(v_1) = \lambda_1 v_1$ e $T(v_2) = \lambda_2 v_2$, con $\lambda_1$ diverso da $\lambda_2$. Supponi che una ricetta dia zero: $$\alpha_1 v_1 + \alpha_2 v_2 = 0.$$ 1. Applico la macchina, che manda lo zero nello zero: $\alpha_1 \lambda_1 v_1 + \alpha_2 \lambda_2 v_2 = 0$. 2. Invece moltiplico la ricetta di partenza per $\lambda_2$: $\alpha_1 \lambda_2 v_1 + \alpha_2 \lambda_2 v_2 = 0$. 3. Tolgo la seconda dalla prima: il pezzo con $v_2$ sparisce e resta $\alpha_1(\lambda_1 - \lambda_2)v_1 = 0$. 4. Il vettore $v_1$ non è zero, perché è un autovettore, e $\lambda_1 - \lambda_2$ non è zero. Quindi $\alpha_1 = 0$. Allora resta $\alpha_2 v_2 = 0$, e siccome $v_2$ non è zero anche $\alpha_2 = 0$. L'unica ricetta che dà zero è quella con tutte le dosi zero: i due vettori sono indipendenti. Con più vettori si ripete lo stesso trucco, eliminando un vettore alla volta: è la dimostrazione per induzione delle dispense. > [!DIM] della Proposizione 18.1 (dalle dispense) > Procediamo per induzione su $k$. Se $k = 1$, il vettore $v_1$ è indipendente perché non è nullo (per definizione, un autovettore non è mai nullo). > > Diamo per buono il caso $k - 1$ e mostriamo il caso $k$. Supponiamo di avere una combinazione lineare nulla > $$\alpha_1 v_1 + \dots + \alpha_k v_k = 0.$$ > Dobbiamo dimostrare che $\alpha_i = 0$ per ogni $i$. Applicando $T$ otteniamo > $$\alpha_1 T(v_1) + \dots + \alpha_k T(v_k) = \alpha_1 \lambda_1 v_1 + \dots + \alpha_k \lambda_k v_k = T(0) = 0.$$ > Moltiplicando la prima equazione per $\lambda_k$ troviamo > $$\alpha_1 \lambda_k v_1 + \dots + \alpha_k \lambda_k v_k = 0$$ > e prendendo la differenza tra queste due equazioni deduciamo che > $$\alpha_1(\lambda_1 - \lambda_k)v_1 + \dots + \alpha_{k-1}(\lambda_{k-1} - \lambda_k)v_{k-1} = 0.$$ > Questa è una combinazione lineare nulla di $k - 1$ autovettori con autovalori distinti: per l'ipotesi induttiva tutti i coefficienti $\alpha_i(\lambda_i - \lambda_k)$ devono essere nulli. Siccome $\lambda_i \neq \lambda_k$, ne deduciamo che $\alpha_i = 0$ per ogni $i = 1, \dots, k - 1$. Nella prima equazione resta $\alpha_k v_k = 0$ con $v_k \neq 0$, quindi anche $\alpha_k = 0$. Da qui viene subito un criterio comodo. Le dispense lo scrivono così. > [!COROLLARIO] 18.2 > Se il polinomio caratteristico $p_T(\lambda)$ ha $n$ radici distinte in $\K$, l'endomorfismo $T$ è diagonalizzabile. **Come si legge.** Se una macchina su uno spazio di dimensione $n$ ha $n$ autovalori tutti diversi, è diagonalizzabile. Il perché, come nel libro di Martelli (Corollario 5.2.2): 1. ognuna delle $n$ radici è un autovalore (Proposizione 17.13), quindi ha almeno un autovettore; 2. gli $n$ autovettori così trovati sono indipendenti, per la Proposizione 18.1; 3. sono $n$ vettori indipendenti in uno spazio di dimensione $n$, quindi formano una base (Teorema 7.12). È una base di autovettori. > [!ESEMPIO] · diagonalizzabile senza cercare gli autovettori > $A = \begin{pmatrix} 1 & 7 & -1 \\ 0 & 2 & 8 \\ 0 & 0 & 3 \end{pmatrix}$ è triangolare, quindi i suoi autovalori sono i numeri sulla diagonale: $1, 2, 3$ (lezione L17). Sono tre, tutti diversi, per una matrice $3 \times 3$: per il Corollario 18.2, $A$ è diagonalizzabile. Non serve calcolare gli autovettori per saperlo. Se servono, sono $(1, 0, 0)$, $(7, 1, 0)$ e $(55, 16, 2)$. > [!TRAPPOLA] Il Corollario 18.2 va in un verso solo > «$n$ autovalori diversi» basta per essere diagonalizzabile, ma non è obbligatorio. La matrice identità $3 \times 3$ ha un solo autovalore, 1, ed è già diagonale. Quando qualche autovalore si ripete il corollario non dice niente: serve il teorema di diagonalizzabilità, più avanti. ::: prova La matrice $\begin{pmatrix} 1 & 5 & 2 \\ 0 & -2 & 7 \\ 0 & 0 & 4 \end{pmatrix}$ è diagonalizzabile? Sì. È triangolare, con autovalori $1$, $-2$ e $4$ sulla diagonale: tre autovalori diversi per una matrice $3 \times 3$. ::: > [!RICORDA] > - Autovettori con autovalori diversi sono indipendenti. > - $n$ autovalori diversi in dimensione $n$: diagonalizzabile. Se qualcuno si ripete, bisogna fare altri conti. ## La zona allungata dello stesso fattore (pp. 90–91) Se la macchina allunga di 3 due vettori, allunga di 3 anche la loro somma e i loro multipli: $T(v + w) = 3v + 3w = 3(v + w)$. Quindi tutti i vettori allungati di 3, insieme allo zero, formano un sottospazio. Può essere una retta, un piano o di più. Le dispense gli danno un nome. > [!DEF] 18.3 · Autospazio > Sia $T : V \to V$ un endomorfismo. Per ogni autovalore $\lambda$ di $T$ definiamo l'**autospazio** > $$V_\lambda = \{v \in V \mid T(v) = \lambda v\} = \Ker(T - \lambda\,\id)$$ > come l'insieme di tutti gli autovettori $v$ con autovalore $\lambda$, più l'origine $0 \in V$ (ricordiamo che $0 \in V$ non è autovettore per definizione). **Come si legge.** - $V_\lambda$, «vu lambda», raccoglie tutti i vettori che la macchina allunga di $\lambda$, più lo zero. - $T - \lambda\,\id$ è la macchina che prende $v$ e restituisce $T(v) - \lambda v$. Il suo nucleo è fatto dei vettori con $T(v) - \lambda v = 0$, cioè $T(v) = \lambda v$: per questo le due scritture dicono la stessa cosa. - **È un sottospazio**, perché ogni nucleo lo è (Proposizione 14.10). - **Con le matrici**: l'autospazio è l'insieme delle soluzioni del sistema $(A - \lambda I_n)x = 0$. Una sua base si trova con Gauss, come per ogni nucleo. - **Non è mai solo lo zero**, perché $\lambda$ è un autovalore: c'è almeno un autovettore. > [!ESEMPIO] · gli autospazi di una matrice $3 \times 3$ > Sia $A = \begin{pmatrix} 3 & 0 & 0 \\ -4 & -1 & -8 \\ 0 & 0 & 3 \end{pmatrix}$, la matrice dell'Esempio 18.11 più avanti. I suoi autovalori sono $3$ e $-1$. > - Per 3: $A - 3I_3 = \begin{pmatrix} 0 & 0 & 0 \\ -4 & -4 & -8 \\ 0 & 0 & 0 \end{pmatrix}$. Resta una sola equazione, $-4x - 4y - 8z = 0$, cioè $x = -y - 2z$. Scegliendo $y = 1, z = 0$ e poi $y = 0, z = 1$: $V_3 = \Span\big((-1, 1, 0),\ (-2, 0, 1)\big)$, un piano. > - Per $-1$: $A + I_3 = \begin{pmatrix} 4 & 0 & 0 \\ -4 & 0 & -8 \\ 0 & 0 & 4 \end{pmatrix}$. Dalla prima riga $x = 0$, dalla terza $z = 0$, e $y$ è libera. $V_{-1} = \Span\big((0, 1, 0)\big)$, una retta. > > La macchina allunga di 3 tutto un piano e ribalta una retta. ::: prova Il vettore $(-3, 1, 1)$ sta nell'autospazio $V_3$ dell'esempio? Sì: l'equazione è $x = -y - 2z$, e $-1 - 2 = -3$. Controllo: $A(-3, 1, 1) = (-9, 3, 3) = 3 \cdot (-3, 1, 1)$. ::: ### Autospazi che non si sovrappongono Per il passo successivo serve la **somma** di sottospazi: $V_1 + \dots + V_k$ è l'insieme di tutti i vettori che si scrivono come $v_1 + \dots + v_k$, con ogni $v_i$ preso nel suo sottospazio. È il più piccolo sottospazio che li contiene tutti. La somma è «pulita» quando ogni vettore si scrive in un modo solo. Le dispense la chiamano così. > [!DEF] 18.4 · Somma diretta > Siano $V_1, \dots, V_k$ sottospazi di uno spazio vettoriale $V$. Diciamo che la loro somma è **diretta** se ogni vettore > $$v \in V_1 + \dots + V_k$$ > si può scrivere in modo unico nella forma > $$v = v_1 + \dots + v_k, \qquad v_i \in V_i.$$ > In questo caso scriviamo $V_1 \oplus \dots \oplus V_k$. > > Equivalentemente, l'unica relazione $v_1 + \dots + v_k = 0$ con $v_i \in V_i$ è quella in cui $v_1 = \dots = v_k = 0$. **Come si legge.** La somma è diretta quando i sottospazi non si «pestano i piedi»: ogni vettore della somma ha una sola scomposizione in pezzi, uno per sottospazio. Il simbolo $\oplus$ si legge «somma diretta». Per controllarlo basta guardare lo zero: l'unico modo di ottenere zero deve essere con tutti i pezzi uguali a zero. > [!ESEMPIO] · rette in somma diretta, e no > Nello spazio le tre rette degli assi, $\Span(e_1)$, $\Span(e_2)$ e $\Span(e_3)$, sono in somma diretta: se $a e_1 + b e_2 + c e_3 = 0$ allora $(a, b, c) = 0$, quindi i tre pezzi sono nulli. > > Invece $\Span(e_1)$, $\Span(e_2)$ e $\Span(e_1 + e_2)$ **non** lo sono: $e_1 + e_2 + \big(-(e_1 + e_2)\big) = 0$ con pezzi non nulli. Il vettore $e_1 + e_2$ si scrive in due modi: $e_1 + e_2 + 0$ oppure $0 + 0 + (e_1 + e_2)$. Gli autospazi di una macchina non si pestano mai i piedi. Le dispense lo scrivono così. > [!PROP] 18.5 > Sia $T : V \to V$ un endomorfismo e siano $\lambda_1, \dots, \lambda_k$ i suoi autovalori. I corrispettivi autospazi sono sempre in somma diretta: > $$V_{\lambda_1} \oplus \dots \oplus V_{\lambda_k}.$$ **Come si legge.** Prendi un vettore da ogni autospazio: se la loro somma è zero, sono tutti zero. Il perché. Supponi che $v_1 + \dots + v_k = 0$, con ogni $v_i$ nel suo autospazio, e che qualcuno non sia zero. I pezzi non nulli sono autovettori con autovalori diversi. La relazione dice che la loro somma, con tutte le dosi uguali a 1, fa zero: sarebbero dipendenti. Questo va contro la Proposizione 18.1. Quindi tutti i pezzi sono zero. Ecco perché gli autospazi sono la chiave della diagonalizzazione. Le dispense lo scrivono così. > [!COROLLARIO] 18.6 > L'endomorfismo $T$ è diagonalizzabile se e solo se > $$V = V_{\lambda_1} \oplus \dots \oplus V_{\lambda_k}.$$ **Come si legge.** La macchina è diagonalizzabile esattamente quando gli autospazi, messi insieme, riempiono tutto lo spazio. La dimostrazione delle dispense, con i passaggi. Sappiamo già che la somma è diretta; resta da capire quando riempie tutto. 1. **Se gli autospazi riempiono lo spazio**, prendi una base di ogni autospazio e mettile insieme. Sono tutti autovettori. Generano la somma, cioè tutto lo spazio. E sono indipendenti. Una ricetta che dà zero si spezza in un pezzo per autospazio, e la somma diretta dice che ogni pezzo è zero. Dentro ogni autospazio i vettori scelti sono una base, quindi tutte le dosi sono zero. Quindi c'è una base di autovettori. 2. **Se c'è una base di autovettori**, ogni vettore è una ricetta di autovettori. Raggruppando quelli con lo stesso autovalore, lo scrivi come somma di un pezzo per autospazio. In pratica: **la macchina è diagonalizzabile esattamente quando le dimensioni degli autospazi sommano a $n$**. Nell'esempio sopra il piano e la retta danno $2 + 1 = 3$: quella matrice è diagonalizzabile. > [!RICORDA] > - L'autospazio di $\lambda$ è il nucleo di $A - \lambda I_n$: tutti i vettori allungati di $\lambda$, più lo zero. > - Gli autospazi sono sempre in somma diretta. > - Diagonalizzabile esattamente quando le loro dimensioni sommano a $n$. ## Due conti per ogni autovalore (pp. 91–92) Ecco il punto centrale. Se una matrice $3 \times 3$ è diagonalizzabile con autovalori 2, 2 e 5, la matrice diagonale ha 2 in **due** posti della diagonale e 5 in uno. Per riempire le due colonne del 2 servono **due** autovettori indipendenti di autovalore 2. Quindi ogni autovalore **prenota** dei posti sulla diagonale, tanti quante volte è radice del polinomio caratteristico. Poi deve **occupare** quei posti con autovettori indipendenti. A volte non ci riesce. Ricorda dalla lezione L04 (Definizione 4.3) la **molteplicità** di una radice: quante volte il fattore compare. Per esempio $(x - 1)^3(x + 1)$ ha la radice 1 con molteplicità 3 e la radice $-1$ con molteplicità 1. Le dispense danno un nome ai due conti. > [!DEF] 18.7 · Molteplicità algebrica e geometrica > Sia $T : V \to V$ un endomorfismo e sia $\lambda$ un autovalore per $T$. La **molteplicità algebrica** $m_a(\lambda)$ è la molteplicità di $\lambda$ come radice del polinomio caratteristico $p_T$. La **molteplicità geometrica** $m_g(\lambda)$ è la dimensione dell'autospazio associato a $\lambda$, cioè > $$m_g(\lambda) = \dim V_\lambda.$$ **Come si legge.** - $m_a(\lambda)$, «emme a di lambda», sono i **posti prenotati**: si legge dal polinomio scomposto. In $(3 - \lambda)^2(-1 - \lambda)$ l'autovalore 3 ha $m_a = 2$ e l'autovalore $-1$ ha $m_a = 1$. - $m_g(\lambda)$, «emme g di lambda», sono i **posti occupati**: quanti autovettori indipendenti ci sono. Si calcola con il rango, per il teorema della dimensione (lezione L14): $$m_g(\lambda) = \dim \Ker(A - \lambda I_n) = n - \rk(A - \lambda I_n).$$ - I nomi: «algebrica» perché viene dal polinomio, «geometrica» perché misura lo spazio degli autovettori, una retta, un piano, eccetera. Ecco un autovalore che non riesce a occupare tutti i suoi posti. > [!ESEMPIO] 18.8 · Le due molteplicità possono essere diverse > Sia $L_A : \R^2 \to \R^2$ l'endomorfismo dato da > $$A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}.$$ > Il polinomio caratteristico è $p_A(\lambda) = (1 - \lambda)^2 = \lambda^2 - 2\lambda + 1 = (\lambda - 1)^2$. Troviamo un solo autovalore $\lambda_1 = 1$, con molteplicità algebrica $m_a(1) = 2$. D'altra parte, > $$m_g(1) = \dim V_1 = \dim \Ker(A - I_2) = 2 - \rk(A - I_2) = 2 - \rk\begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} = 2 - 1 = 1.$$ > Abbiamo quindi trovato in questo caso $m_a(1) = 2$ e $m_g(1) = 1$. L'autovalore 1 prenota due posti ma ne occupa uno solo. Gli autovettori sono solo i multipli di $(1, 0)$: il sistema $(A - I_2)x = 0$ dice $y = 0$. Una sola retta di autovettori nel piano non basta per una base. La macchina è uno **scorrimento**: sposta ogni punto in orizzontale di quanto è alto, come le carte di un mazzo spinte di lato. Nello strumento qui sotto trascina $x$: solo sull'asse orizzontale $Ax$ resta sulla stessa retta. ```widget matrice titolo: Il taglio $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ ha una sola retta di autovettori a: 1 1; 0 1 x: 1 1 raggio: 3 ``` ### I posti occupati non superano mai quelli prenotati L'esempio mostra che i due conti possono essere diversi. Ma vanno sempre nello stesso verso. Le dispense lo scrivono così. > [!TEOREMA] 18.9 > Sia $T : V \to V$ un endomorfismo. Per ogni autovalore $\lambda_0$ di $T$ valgono le disuguaglianze > $$1 \le m_g(\lambda_0) \le m_a(\lambda_0).$$ **Come si legge.** Un autovalore occupa sempre almeno un posto, e mai più posti di quelli che ha prenotato. L'idea, dalle dispense: 1. **Almeno un posto**: un autovalore ha almeno un autovettore, quindi l'autospazio ha dimensione almeno 1. 2. **Non più di quelli prenotati**: prendi una base dell'autospazio e completala a una base di tutto lo spazio. Nella matrice in questa base compare un blocco diagonale con $\lambda_0$ ripetuto $m_g(\lambda_0)$ volte. Quindi il polinomio caratteristico contiene il fattore $(\lambda_0 - \lambda)$ almeno $m_g(\lambda_0)$ volte. > [!DIM] del Teorema 18.9, secondo punto, con i dettagli (dal libro di Martelli, Proposizione 5.2.10) > Sia $k = m_g(\lambda_0)$ e sia $\{v_1, \dots, v_k\}$ una base di $V_{\lambda_0}$, completata a una base $\mathcal B = \{v_1, \dots, v_n\}$ di $V$. Per $i \le k$ vale $T(v_i) = \lambda_0 v_i$, quindi le prime $k$ colonne di $[T]^{\mathcal B}_{\mathcal B}$ sono $\lambda_0 e_1, \dots, \lambda_0 e_k$ e la matrice ha la forma a blocchi > $$[T]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} \lambda_0 I_k & C \\ 0 & D \end{pmatrix}, \qquad D \in M(n - k).$$ > Il determinante di una matrice a blocchi di questo tipo (con il blocco in basso a sinistra nullo) è il prodotto dei determinanti dei blocchi diagonali. Quindi > $$p_T(\lambda) = \det(\lambda_0 I_k - \lambda I_k) \cdot \det(D - \lambda I_{n-k}) = (\lambda_0 - \lambda)^k \, p_D(\lambda).$$ > Il fattore $(\lambda_0 - \lambda)^k$ divide $p_T$, quindi $\lambda_0$ ha molteplicità almeno $k$: $m_a(\lambda_0) \ge k = m_g(\lambda_0)$. > [!IDEA] Gli autovalori semplici non danno mai problemi > Se un autovalore prenota un posto solo, $m_a = 1$, il Teorema 18.9 dice che ne occupa almeno 1 e al massimo 1: quindi $m_g = 1$, senza fare conti. Negli esercizi il rango di $A - \lambda I_n$ va calcolato **solo** per gli autovalori che prenotano due o più posti. ::: prova Per $A = \begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix}$, quanto valgono $m_a(2)$ e $m_g(2)$? Il polinomio è $(2 - \lambda)^2$, quindi $m_a(2) = 2$. La matrice $A - 2I_2$ è tutta zero, con rango 0, quindi $m_g(2) = 2 - 0 = 2$. ::: > [!RICORDA] > - $m_a$ = posti prenotati, dal polinomio scomposto; $m_g$ = posti occupati, $n - \rk(A - \lambda I_n)$. > - Sempre $1 \le m_g \le m_a$. Se $m_a = 1$, allora $m_g = 1$. ## Il teorema di diagonalizzabilità (pp. 92–93) Ora si può dire con precisione quando una matrice è diagonalizzabile: tutti i posti della diagonale devono essere prenotati e poi occupati. Prendiamo uno spazio $V$ di dimensione $n$ sul campo $\K$. Le dispense lo scrivono così. > [!TEOREMA] 18.10 · Teorema di diagonalizzabilità > Un endomorfismo $T : V \to V$ è diagonalizzabile se e solo se valgono entrambi i fatti seguenti: > 1. $p_T(\lambda)$ ha $n$ radici in $\K$, contate con molteplicità. > 2. $m_a(\lambda) = m_g(\lambda)$ per ogni autovalore $\lambda$ di $T$. **Come si legge.** - **Condizione 1: tutti i posti sono prenotati.** Il polinomio si scompone tutto in fattori di primo grado, con numeri del campo che stai usando. Sui complessi succede sempre (teorema fondamentale dell'algebra, lezione L04). Sui reali può mancare: un fattore come $\lambda^2 + 1$ non ha radici reali, e i suoi due posti restano senza prenotazione. - **Condizione 2: ogni autovalore occupa tutti i posti che ha prenotato.** Per gli autovalori semplici è automatica. - Insieme, le due condizioni dicono che le dimensioni degli autospazi sommano a $n$. La dimostrazione delle dispense, con i passaggi: 1. Gli autospazi sono in somma diretta (Proposizione 18.5). Chiamo $W$ la loro somma. 2. La macchina è diagonalizzabile esattamente quando $W$ è tutto lo spazio (Corollario 18.6), cioè quando $W$ ha dimensione $n$. 3. In una somma diretta le dimensioni si sommano: $$\dim W = m_g(\lambda_1) + \dots + m_g(\lambda_k) \le m_a(\lambda_1) + \dots + m_a(\lambda_k) \le n.$$ La prima disuguaglianza viene dal Teorema 18.9. La seconda viene dal fatto che il polinomio caratteristico ha grado $n$, quindi ha al massimo $n$ radici contate con molteplicità. 4. $\dim W = n$ esattamente quando tutte e due le disuguaglianze sono uguaglianze. La prima lo è quando ogni autovalore occupa tutti i suoi posti (condizione 2). La seconda quando tutti i posti sono prenotati (condizione 1). I quattro comportamenti possibili, con matrici $2 \times 2$ (dal riepilogo del libro di Martelli, §5.1.7): | Matrice | Autovalori | Diagonalizzabile sui reali? | Sui complessi? | Perché | |---|---|---|---|---| | $\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ | 1 ($m_a = m_g = 2$) | sì | sì | è già diagonale | | $\begin{pmatrix} -1 & 2 \\ -4 & 5 \end{pmatrix}$ | 1 e 3 | sì | sì | due autovalori diversi | | $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ | $\pm i$ | **no** | sì | sui reali manca la condizione 1 | | $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ | 1 ($m_a = 2$, $m_g = 1$) | **no** | **no** | manca la condizione 2 | > [!METODO] Stabilire se una matrice è diagonalizzabile > 1. **Il polinomio caratteristico scomposto**: $p_A(\lambda) = \det(A - \lambda I_n)$, sviluppato lungo la riga o la colonna con più zeri. > 2. **Condizione 1**: tutte le radici stanno nel campo? Sui reali, un fattore $\lambda^2 + b\lambda + c$ con $b^2 - 4c < 0$ basta per rispondere **no**. > 3. **I posti prenotati** dal polinomio scomposto. Se sono tutti 1, cioè gli autovalori sono tutti diversi: **sì**, per il Corollario 18.2. > 4. **Condizione 2**, solo per gli autovalori con $m_a$ almeno 2: calcola $m_g = n - \rk(A - \lambda I_n)$. Se per uno di loro $m_g < m_a$: **no**. Altrimenti: **sì**. > 5. **Se serve una base di autovettori**: una base di ogni autospazio, con Gauss su $A - \lambda I_n$, tutte insieme. $M$ ha questi vettori in colonna, $D$ i loro autovalori nello stesso ordine. Controllo: $AM = MD$. Ecco l'esempio delle dispense: un autovalore che prenota due posti e li occupa tutti e due. > [!ESEMPIO] 18.11 · Un autovalore doppio che non dà problemi > Studiamo la diagonalizzabilità su $\R$ della matrice > $$A = \begin{pmatrix} 3 & 0 & 0 \\ -4 & -1 & -8 \\ 0 & 0 & 3 \end{pmatrix}.$$ > Il polinomio caratteristico si calcola sviluppando $\det(A - \lambda I_3)$ lungo la prima riga, che ha un solo elemento non nullo, $3 - \lambda$; resta il minore $\begin{pmatrix} -1 - \lambda & -8 \\ 0 & 3 - \lambda \end{pmatrix}$, triangolare: > $$p_A(\lambda) = (3 - \lambda)(-1 - \lambda)(3 - \lambda),$$ > quindi ha radici $\lambda_1 = 3$ con $m_a(\lambda_1) = 2$ e $\lambda_2 = -1$ con $m_a(\lambda_2) = 1$. Tutte le radici di $p_A(\lambda)$ sono reali, quindi $A$ è diagonalizzabile se e solo se le molteplicità algebriche e geometriche di ciascun autovalore coincidono. Per il secondo autovalore $\lambda_2$ il Teorema 18.9 implica che $m_g(\lambda_2) = m_a(\lambda_2) = 1$, e quindi siamo a posto. > > Dobbiamo concentrarci solo sull'autovalore $\lambda_1$, che ha $m_a(\lambda_1) = 2$. Il Teorema 18.9 ci dice che $m_g(\lambda_1)$ può essere 1 oppure 2: nel primo caso $A$ non è diagonalizzabile, nel secondo sì. Facciamo i conti: > $$m_g(3) = \dim V_3 = \dim \Ker(A - 3I_3) = 3 - \rk(A - 3I_3),$$ > dove nell'ultima uguaglianza si usa il teorema della dimensione (o Rouché–Capelli). Quindi > $$m_g(3) = 3 - \rk\begin{pmatrix} 0 & 0 & 0 \\ -4 & -4 & -8 \\ 0 & 0 & 0 \end{pmatrix} = 3 - 1 = 2.$$ > Abbiamo scoperto che $m_a(\lambda_1) = m_g(\lambda_1) = 2$, e quindi $A$ è diagonalizzabile. Le dispense si fermano qui. Con gli autospazi calcolati prima si completa la diagonalizzazione: il piano dell'autovalore 3 è generato da $(-1, 1, 0)$ e $(-2, 0, 1)$, la retta dell'autovalore $-1$ da $(0, 1, 0)$. Quindi $$M = \begin{pmatrix} -1 & -2 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}, \qquad D = \begin{pmatrix} 3 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & -1 \end{pmatrix}.$$ Controllo: il determinante di $M$ è 1, quindi $M$ è invertibile. E $AM = MD$ colonna per colonna: $A(-1, 1, 0) = (-3, 3, 0)$, $A(-2, 0, 1) = (-6, 0, 3)$, $A(0, 1, 0) = (0, -1, 0)$. ::: prova La matrice $\begin{pmatrix} 2 & 3 \\ 0 & 2 \end{pmatrix}$ è diagonalizzabile? No. L'autovalore 2 prenota due posti. Ma $A - 2I_2 = \begin{pmatrix} 0 & 3 \\ 0 & 0 \end{pmatrix}$ ha rango 1, quindi $m_g(2) = 2 - 1 = 1$: ne occupa uno solo. ::: > [!RICORDA] > - Diagonalizzabile esattamente quando (1) tutte le radici del polinomio sono nel campo e (2) per ogni autovalore $m_g = m_a$. > - Il rango si calcola solo per gli autovalori multipli. ## Matrici con un parametro (pp. 94–95) Negli esami arriva spesso una matrice con dentro una lettera, e la domanda: per quali valori della lettera è diagonalizzabile? Di solito la lettera si chiama $k$. Il ragionamento è sempre lo stesso. Per quasi tutti i valori di $k$ gli autovalori sono diversi, e allora va tutto bene. Restano pochi valori speciali, quelli in cui due autovalori coincidono: lì si fa il conto del rango. Ecco l'esempio delle dispense. > [!ESEMPIO] 18.12 · Una matrice con un parametro $k$ > Studiamo la diagonalizzabilità su $\R$ della matrice > $$A = \begin{pmatrix} 3 & k + 4 & 1 \\ -1 & -3 & -1 \\ 0 & 0 & 2 \end{pmatrix}$$ > al variare del parametro $k \in \R$. > > **Il polinomio caratteristico.** La terza riga di $A - \lambda I_3$ è $(0, 0, 2 - \lambda)$: sviluppando lungo di essa, > $$p_A(\lambda) = (2 - \lambda)\det\begin{pmatrix} 3 - \lambda & k + 4 \\ -1 & -3 - \lambda \end{pmatrix} = (2 - \lambda)\big((3 - \lambda)(-3 - \lambda) + (k + 4)\big) = (2 - \lambda)(\lambda^2 + k - 5),$$ > perché $(3 - \lambda)(-3 - \lambda) = \lambda^2 - 9$ e $-9 + k + 4 = k - 5$. > > **Se $k > 5$**, il fattore $\lambda^2 + k - 5$ non ha radici reali ($\lambda^2 = 5 - k < 0$): quindi $p_A(\lambda)$ ha una radice sola in $\R$ e $A$ non è diagonalizzabile (manca la condizione 1). > > **Se $k \le 5$**, il polinomio ha tre radici reali > $$\lambda_1 = 2, \qquad \lambda_2 = \sqrt{5 - k}, \qquad \lambda_3 = -\sqrt{5 - k}.$$ > Se le tre radici sono distinte, la matrice $A$ è diagonalizzabile (Corollario 18.2). Restano da considerare i casi in cui le tre radici **non** sono distinte: > - $\lambda_2 = \lambda_3$ quando $\sqrt{5 - k} = 0$, cioè $k = 5$; > - $\lambda_2 = \lambda_1$ quando $\sqrt{5 - k} = 2$, cioè $5 - k = 4$, $k = 1$ (invece $\lambda_3 = -\sqrt{5 - k}$ non è mai uguale a 2). > > Questi due casi vanno analizzati separatamente con le tecniche dell'esempio precedente. > > **Se $k = 1$**, gli autovalori sono $\lambda_1 = 2$, $\lambda_2 = 2$ e $\lambda_3 = -2$, e la matrice è > $$A = \begin{pmatrix} 3 & 5 & 1 \\ -1 & -3 & -1 \\ 0 & 0 & 2 \end{pmatrix}.$$ > Calcoliamo la molteplicità geometrica dell'autovalore 2: > $$m_g(2) = 3 - \rk\begin{pmatrix} 1 & 5 & 1 \\ -1 & -5 & -1 \\ 0 & 0 & 0 \end{pmatrix} = 3 - 1 = 2$$ > (la seconda riga è l'opposta della prima). Otteniamo $m_g(2) = 2 = m_a(2)$, e quindi $A$ è diagonalizzabile. > > **Se $k = 5$**, gli autovalori sono $\lambda_1 = 2$, $\lambda_2 = 0$ e $\lambda_3 = 0$, e la matrice è > $$A = \begin{pmatrix} 3 & 9 & 1 \\ -1 & -3 & -1 \\ 0 & 0 & 2 \end{pmatrix}.$$ > La molteplicità geometrica dell'autovalore 0 è $m_g(0) = 3 - \rk(A) = 3 - 2 = 1 \neq 2 = m_a(0)$: le prime due colonne sono proporzionali ($(9, -3, 0) = 3 \cdot (3, -1, 0)$) ma la terza non è loro combinazione, quindi il rango è 2. Quindi $A$ non è diagonalizzabile. > > Riassumendo, la matrice $A$ è diagonalizzabile se e solo se $k < 5$. > [!TRAPPOLA] Un valore speciale non vuol dire «non diagonalizzabile» > Per $k = 1$ due autovalori coincidono, eppure la matrice è diagonalizzabile; per $k = 5$ no. Nei valori speciali **si calcola sempre** il rango, non si indovina. E il rango va calcolato **dopo** aver messo il valore di $k$ nella matrice. > [!OLTRE] la stessa matrice sui complessi > Se si studia la stessa matrice sui complessi, con $k$ reale, per $k > 5$ le radici $\pm i\sqrt{k - 5}$ esistono e sono diverse tra loro e da 2: la matrice è diagonalizzabile. La risposta diventerebbe «diagonalizzabile sui complessi esattamente quando $k$ è diverso da 5». Per questo il testo di un esercizio dice sempre su quale campo lavorare: negli appelli 2023–2026 compaiono sia $k \in \R$ sia $k \in \C$. Lo strumento qui sotto calcola autovalori, molteplicità e autospazi. È impostato sull'Esempio 18.12 con $k = 1$: guarda $m_g(2) = 2$. Poi scrivi la matrice con $k = 5$, cioè $3\ 9\ 1;\ -1\ -3\ -1;\ 0\ 0\ 2$, e guarda comparire $m_g(0) = 1$, minore di 2. ```widget gauss titolo: Molteplicità e autospazi: l'Esempio 18.12 con $k = 1$ matrice: 3 5 1; -1 -3 -1; 0 0 2 modo: autovalori modi: autovalori, rango, nucleo ``` > [!OLTRE] dove trovarlo nel libro > Nel libro di Martelli: §5.2.1 «Autovettori con autovalori distinti» (pp. 163–165), §5.2.2 «Autospazio» (pp. 165–166), §5.2.3 «Molteplicità algebrica e geometrica» (pp. 166–167, con la dimostrazione completa del Teorema 18.9), §5.2.4 «Matrici simili» (p. 167: matrici simili hanno anche le stesse molteplicità geometriche), §5.2.5–5.2.6 «Teorema di diagonalizzabilità» ed «Esempi» (pp. 167–169; il parametro lì si chiama $t$). Gli esercizi di fine capitolo (p. 170) sono un buon allenamento. ::: prova Per quali $k$ la matrice $\begin{pmatrix} 1 & k \\ 0 & 2 \end{pmatrix}$ è diagonalizzabile? Per tutti i $k$: è triangolare, con autovalori 1 e 2, diversi qualunque sia $k$. ::: > [!RICORDA] > - Con un parametro: autovalori in funzione di $k$, poi i valori di $k$ in cui due coincidono. > - Negli altri valori la matrice è diagonalizzabile; nei valori speciali si mette $k$ nella matrice e si calcola il rango. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $V_\lambda$ | «vu lambda» | l'autospazio: i vettori allungati di $\lambda$, più lo zero | $V_3 = \Span\big((-1, 1, 0), (-2, 0, 1)\big)$ | | $\Ker(A - \lambda I_n)$ | «nucleo di a meno lambda i» | lo stesso autospazio, scritto come nucleo | | | $V_1 + V_2$ | «vu uno più vu due» | tutte le somme di un vettore del primo e uno del secondo | | | $V_1 \oplus V_2$ | «somma diretta» | una somma in cui ogni vettore si scompone in un modo solo | | | $m_a(\lambda)$ | «molteplicità algebrica» | posti prenotati: quante volte $\lambda$ è radice | in $(\lambda - 2)^2$, $m_a(2) = 2$ | | $m_g(\lambda)$ | «molteplicità geometrica» | posti occupati: $n - \rk(A - \lambda I_n)$ | | | $p_A(\lambda)$ | «pi di a» | il polinomio caratteristico, $\det(A - \lambda I_n)$ (lezione L17) | | | $\mathrm{diag}(1, 2, 3)$ | «diagonale uno, due, tre» | la matrice diagonale con quei numeri sulla diagonale | | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione serve all'esame.** La diagonalizzabilità è **il** problema aperto più frequente: negli appelli 2023–2026 compare come problema 11 in almeno otto appelli su quindici. | Appello | Che cosa chiede il problema 11 | |---|---| | 24/01/2024 | per $k = 1$: autovalori con $m_a$ e $m_g$, diagonalizzabile? | | 08/02/2024 | $k \in \C$: autovalori al variare di $k$, per quali $k$ è diagonalizzabile, base di autovettori per $k = i$ | | 10/06/2024 | $k = i$: autovalori con $m_a$, $m_g$; per quali $k \in \C$ è diagonalizzabile | | 06/09/2024 | $k \in \R$: invertibilità, base di $\Ker A$, per quali $k$ è diagonalizzabile | | 16/01/2025 | base di $\Ker(A - kI)$, per quali $k$ è diagonalizzabile, $P$ e $D$ per $k = 0$ | | 03/06/2025 | autovalori $1, k, k^2$; base dell'autospazio di 1; molteplicità; per quali $k$ | | 10/07/2025 | matrice triangolare con $k$: molteplicità, diagonalizzabilità, $P$ e $D$ per $k = 1$ | | 03/06/2026 | $k = i$: autovalori, molteplicità, basi degli autospazi; per quali $k \in \C$ | Nel quiz compaiono: l'autospazio di un autovalore dato (24/01/2024 d. 9; 10/06/2024 d. 6; 07/02/2025 d. 9; 05/02/2026 d. 9, gli ultimi tre per macchine sui polinomi di grado al massimo 2); che cosa segue dal polinomio caratteristico (10/07/2024 d. 8); per quale $k$ una matrice triangolare è diagonalizzabile (02/09/2025 d. 6). Il foglio 3 del tutorato, esercizi 7–10, è tutto su questo. > [!METODO] Il problema con il parametro, passo per passo > 1. **Il polinomio caratteristico in funzione di $k$, scomposto.** Sviluppa lungo la riga o la colonna con più zeri: spesso un fattore come $(a - \lambda)$ si raccoglie subito. > 2. **Gli autovalori in funzione di $k$.** Sui reali, se un fattore di secondo grado non ha radici reali per certi $k$, per quei $k$ la risposta è «non diagonalizzabile». > 3. **I valori speciali**: per ogni coppia di autovalori, cerca i $k$ in cui sono uguali. Per tutti gli altri $k$ gli autovalori sono diversi e la matrice è diagonalizzabile. > 4. **Per ogni valore speciale**: metti $k$ nella matrice, trova l'autovalore multiplo e calcola $m_g = n - \rk(A - \lambda I_n)$. > 5. **La conclusione in una frase**: «$A$ è diagonalizzabile esattamente quando $k \neq \dots$», oppure «quando $k < \dots$». > 6. **Se chiesto**, le basi degli autospazi, $P$ (o $M$) e $D$, con il controllo $AP = PD$. ### Una domanda vera, letta insieme **Appello del 02/09/2025, domanda 6.** Il testo: «Per quale valore di $k$ la matrice $\begin{pmatrix} 4 & k - 1 & k - 3 \\ 0 & 4 & 1 \\ 0 & 0 & 2 \end{pmatrix}$ è diagonalizzabile?». Le risposte erano $k = 1, 2, 4, 0, 3$. **In pratica chiede:** l'autovalore che si ripete riesce a occupare tutti i suoi posti? E per quale $k$? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: gli autovalori.** La matrice è triangolare, quindi gli autovalori sono sulla diagonale: 4, 4 e 2. Il 4 prenota due posti, il 2 uno solo. > > **Passo 2: chi va controllato.** Il 2 è semplice: va sempre bene. Si controlla solo il 4: servono due autovettori indipendenti, cioè $\rk(A - 4I_3) = 3 - 2 = 1$. > > **Passo 3: la matrice da guardare.** > $$A - 4I_3 = \begin{pmatrix} 0 & k - 1 & k - 3 \\ 0 & 0 & 1 \\ 0 & 0 & -2 \end{pmatrix}.$$ > La terza riga è $-2$ volte la seconda. Il rango è 1 esattamente quando anche la prima riga è un multiplo di $(0, 0, 1)$. > > **Passo 4: il valore di $k$.** Serve che il numero al secondo posto della prima riga sia zero: $k - 1 = 0$, cioè $k = 1$. Allora la prima riga è $(0, 0, -2)$ e il rango è 1. Per ogni altro $k$ la prima riga ha un numero diverso da zero al secondo posto, la seconda riga no: sono indipendenti e il rango è 2. > > **La risposta** è $k = 1$. La risposta più attraente tra le sbagliate è $k = 3$: annulla l'ultimo numero della prima riga, ma non quello che conta. ### Altre due domande vere > [!ESAME] Appello del 24/01/2024, domanda 9 > *La matrice $A = \begin{pmatrix} 3 & -4 & 4 \\ 2 & -3 & 2 \\ 0 & 0 & -1 \end{pmatrix}$ ha autovalore $\lambda = -1$. Qual è l'autospazio?* Tra le risposte: $\Span\big((2, 1, -1), (2, 1, 0)\big)$, $\Span\big((2, 1, -1)\big)$, $\Span\big((1, 0, -1), (1, 1, 0)\big)$ e altre. > > **Soluzione.** > 1. $A + I_3 = \begin{pmatrix} 4 & -4 & 4 \\ 2 & -2 & 2 \\ 0 & 0 & 0 \end{pmatrix}$ ha rango 1, quindi l'autospazio ha dimensione $3 - 1 = 2$. > 2. La risposta è lo Span di **due** vettori indipendenti che soddisfano l'unica equazione, $x - y + z = 0$. > 3. $(1, 0, -1)$ dà $1 - 0 - 1 = 0$, sì; $(1, 1, 0)$ dà $1 - 1 + 0 = 0$, sì. Invece $(2, 1, 0)$ dà $2 - 1 = 1$: no. > > La risposta giusta è $\Span\big((1, 0, -1), (1, 1, 0)\big)$. > [!ESAME] Appello del 10/07/2024, domanda 8 > *Sia $A$ una matrice quadrata con polinomio caratteristico $t(t - 1)^2(t - 2)$. Quale delle seguenti non è automaticamente verificata?* Le risposte: «$A$ non è invertibile»; «$A$ ha autovalori $0, 1, 2$»; «$A$ ha un autovalore con molteplicità algebrica 2»; «$A$ ammette una base di autovettori»; «$A$ è $4 \times 4$». > > **Soluzione.** Dal polinomio si legge molto: ha grado 4, quindi $A$ è $4 \times 4$; le radici sono $0, 1, 2$, con l'1 che prenota due posti; 0 è un autovalore, quindi il determinante è zero e $A$ non è invertibile. Ma l'autovalore 1 potrebbe occupare un posto solo, $m_g(1) = 1$, e allora non c'è una base di autovettori. Quindi **«$A$ ammette una base di autovettori» non è automatica**. **Errori da evitare.** - Concludere «non diagonalizzabile» appena due autovalori coincidono: bisogna calcolare $m_g$. - Calcolare $m_g$ per gli autovalori semplici, che è tempo perso perché vale 1, e dimenticarlo per quelli multipli. - Calcolare il rango di $A - \lambda I$ con $k$ ancora generico invece di mettere il valore speciale. - Dimenticare la condizione 1 sui reali: con un fattore $\lambda^2 + 1$ la matrice non è diagonalizzabile sui reali, anche se tutto il resto va bene. - Scrivere un autospazio con il numero sbagliato di generatori: $n - \rk(A - \lambda I)$ dice quanti vettori servono. - Nei problemi sui complessi, sbagliare i conti con $i$: ricorda $i^2 = -1$ e $\frac 1i = -i$. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: «autovalori diversi: autovettori indipendenti; $n$ autovalori diversi: diagonalizzabile»; «$V_\lambda = \Ker(A - \lambda I)$, $m_g = n - \rk(A - \lambda I)$»; «$1 \le m_g \le m_a$»; «diagonalizzabile esattamente con (1) tutte le radici nel campo e (2) $m_a = m_g$ per ogni $\lambda$»; la ricetta del problema con parametro in sei righe. ## Quiz ```quiz D: La matrice $A = \begin{pmatrix} 1 & 2 & -2 \\ 0 & 3 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ ha autovalore $\lambda = 3$. Qual è l'autospazio $V_3$? + $\Span\big((1, 1, 0), (-1, 0, 1)\big)$ - $\Span\big((1, 1, 0)\big)$ - $\Span\big((1, 0, 0)\big)$ - $\Span\big((1, 1, 0), (1, 0, 1)\big)$ - $\Span\big((1, 0, 0), (0, 1, 1)\big)$ = $A - 3I_3 = \begin{pmatrix} -2 & 2 & -2 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}$ ha rango 1, quindi l'autospazio ha dimensione 2 e l'unica equazione è $x = y - z$. I vettori $(1, 1, 0)$ e $(-1, 0, 1)$ la soddisfano e sono indipendenti. La risposta più insidiosa è la quarta: $(1, 1, 0)$ va bene, ma $(1, 0, 1)$ dà $1 = 0 - 1$, falso. La seconda ha il vettore giusto ma una retta sola, e ne servono due. $(1, 0, 0)$ è un autovettore, ma di autovalore 1. Simile all'appello del 24/01/2024, domanda 9. D: L'endomorfismo $T : \R_2[x] \to \R_2[x]$, $T(a + bx + cx^2) = (a + c) + 2bx + (a + c)x^2$, ha autovalore $2$. Qual è l'autospazio $V_2$? + $\Span(x,\ 1 + x^2)$ - $\Span(1 + x^2)$ - $\Span(x,\ 1 - x^2)$ - $\Span(1,\ x^2)$ - $\Span(x)$ = Nella base $\{1, x, x^2\}$ la matrice è $\begin{pmatrix} 1 & 0 & 1 \\ 0 & 2 & 0 \\ 1 & 0 & 1 \end{pmatrix}$, e $A - 2I_3 = \begin{pmatrix} -1 & 0 & 1 \\ 0 & 0 & 0 \\ 1 & 0 & -1 \end{pmatrix}$ dà l'equazione $a = c$, con $b$ libero. Le soluzioni $(0, 1, 0)$ e $(1, 0, 1)$ sono i polinomi $x$ e $1 + x^2$. Controllo: $T(x) = 2x$ e $T(1 + x^2) = 2 + 2x^2$. La risposta più insidiosa è la terza: $T(1 - x^2) = 0$, quindi $1 - x^2$ è un autovettore, ma di autovalore 0. Simile agli appelli del 10/06/2024 (domanda 6), del 07/02/2025 (domanda 9) e del 05/02/2026 (domanda 9). D: Una matrice $A$ ha polinomio caratteristico $p_A(\lambda) = (\lambda - 2)^2(\lambda + 1)(\lambda - 3)$. Quale affermazione **non** è necessariamente vera? + $A$ è diagonalizzabile. - $A$ è una matrice $4 \times 4$. - $A$ è invertibile. - $A$ ha un autovalore con molteplicità algebrica 2. - $\det A = -12$. = Il polinomio ha grado 4, quindi $A$ è $4 \times 4$. Il determinante è il polinomio calcolato in 0: $4 \cdot 1 \cdot (-3) = -12$, che non è zero, quindi $A$ è invertibile. L'autovalore 2 prenota due posti. Ma potrebbe occuparne uno solo: con un blocco $\begin{pmatrix} 2 & 1 \\ 0 & 2 \end{pmatrix}$ sulla diagonale la matrice non è diagonalizzabile. La risposta sbagliata più insidiosa è «invertibile», che sembra dubbia ma segue dal determinante. Simile all'appello del 10/07/2024, domanda 8. D: Per quale valore di $k$ la matrice $\begin{pmatrix} 3 & k - 2 & k \\ 0 & 3 & 1 \\ 0 & 0 & 1 \end{pmatrix}$ è diagonalizzabile? + $k = 2$ - $k = 0$ - $k = 3$ - $k = 1$ - $k = -2$ = Gli autovalori sono 3, che prenota due posti, e 1. Serve $\rk(A - 3I_3) = 1$, con $A - 3I_3 = \begin{pmatrix} 0 & k - 2 & k \\ 0 & 0 & 1 \\ 0 & 0 & -2 \end{pmatrix}$. Se $k$ è diverso da 2, le prime due righe sono indipendenti e il rango è 2. Se $k = 2$ tutte le righe sono multiple di $(0, 0, 1)$: rango 1, e il 3 occupa tutti e due i posti. La risposta più insidiosa è $k = 0$, che annulla l'ultimo numero della prima riga ma non quello che conta. Simile all'appello del 02/09/2025, domanda 6. D: Per $A = \begin{pmatrix} 2 & 1 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 2 \end{pmatrix}$, le molteplicità dell'autovalore 2 sono: + $m_a(2) = 3$, $m_g(2) = 2$ - $m_a(2) = 3$, $m_g(2) = 3$ - $m_a(2) = 3$, $m_g(2) = 1$ - $m_a(2) = 2$, $m_g(2) = 2$ - $m_a(2) = 1$, $m_g(2) = 1$ = Il polinomio è $(2 - \lambda)^3$, quindi il 2 prenota tre posti. $A - 2I_3 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}$ ha rango 1, quindi $m_g(2) = 3 - 1 = 2$: ne occupa due, e la matrice non è diagonalizzabile. La risposta più insidiosa è $m_g(2) = 1$, che viene dal confondere il rango con la molteplicità geometrica. D: Sia $A = \begin{pmatrix} 5 & 1 & 0 \\ 0 & 5 & 0 \\ 0 & 0 & 5 \end{pmatrix}$. Quanto vale $\dim \Ker(A - 5I_3)$? N: 2 = $A - 5I_3 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}$ ha rango 1, quindi il nucleo ha dimensione $3 - 1 = 2$. È la molteplicità geometrica di 5, e una base è $e_1, e_3$. Simile al punto (1) del problema 11 dell'appello del 16/01/2025, che chiede una base di $\Ker(A - kI)$. D: Quale di queste affermazioni è vera? + Se $A \in M(3, \R)$ ha tre autovalori reali distinti, allora $A$ è diagonalizzabile. - Se $A \in M(n, \R)$ è diagonalizzabile, allora ha $n$ autovalori distinti. - La molteplicità geometrica di un autovalore può essere 0. - Può capitare che $m_g(\lambda) > m_a(\lambda)$. - Gli autospazi di un endomorfismo $T : V \to V$ hanno sempre somma uguale a $V$. = La prima è il Corollario 18.2. La più insidiosa è la seconda, che è il corollario letto al contrario: la matrice identità è diagonale e ha un solo autovalore. Per il Teorema 18.9 la molteplicità geometrica è almeno 1 e non supera quella algebrica. E per $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ l'unico autospazio è una retta del piano. D: Quale di queste matrici è diagonalizzabile su $\C$ ma **non** su $\R$? + $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}$ - $\begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ = Il polinomio della prima è $\lambda^2 + 1$, con radici $\pm i$ diverse: diagonalizzabile sui complessi, e sui reali manca la condizione 1. La più insidiosa è la seconda, che non è diagonalizzabile sui reali ma nemmeno sui complessi: il suo autovalore doppio occupa un posto solo, e lo stesso vale per la quarta. La terza (autovalori 1 e 2) e la quinta (autovalori 1 e 3) lo sono su tutti e due i campi. D: Sia $A = \begin{pmatrix} k & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{pmatrix}$ con $k \in \C$. Per quali $k$ la matrice è diagonalizzabile su $\C$? + Per ogni $k \in \C$. - Per ogni $k \neq \pm i$. - Per nessun $k$. - Solo per $k \in \R$. - Solo per $k = 0$. = Il polinomio è $(k - \lambda)(\lambda^2 + 1)$: autovalori $k$, $i$ e $-i$. Se $k$ è diverso da $\pm i$ sono tutti diversi. Se $k = i$, l'autovalore $i$ prenota due posti, e $A - iI_3 = \begin{pmatrix} 0 & 0 & 0 \\ 0 & -i & -1 \\ 0 & 1 & -i \end{pmatrix}$ ha rango 1, perché la seconda riga è la terza per $-i$: occupa due posti, diagonalizzabile. Lo stesso per $k = -i$. La risposta più insidiosa è «per ogni $k \neq \pm i$», che esclude i valori speciali senza calcolare il rango. Simile ai problemi 11 degli appelli del 10/06/2024 e del 03/06/2026, dove però per $k = i$ il rango era 2 e la matrice non era diagonalizzabile: nei valori speciali bisogna sempre calcolare. D: Sia $A \in M(4, \R)$ con $\rk(A - 3I_4) = 1$. Quale affermazione è necessariamente vera? + $3$ è un autovalore con $m_a(3) \ge 3$. - $A$ è diagonalizzabile. - $A$ non è invertibile. - $m_g(3) = 1$. - $3$ non è un autovalore. = La molteplicità geometrica è $4 - 1 = 3$, e quella algebrica è almeno altrettanto, per il Teorema 18.9. Non segue altro. La risposta più insidiosa è «diagonalizzabile»: $\mathrm{diag}(3, 3, 3, 5)$ lo è, ed è anche invertibile. Ma prendi $3I_4$ con un 1 al posto $(3, 4)$: anche lì $A - 3I_4$ ha rango 1, e il 3 prenota quattro posti e ne occupa tre. Quella matrice non è diagonalizzabile. ``` ## Esercizi ::: esercizio base Riscaldamento: autovalori diversi Stabilisci se $A = \begin{pmatrix} 2 & 5 \\ 0 & -1 \end{pmatrix}$ è diagonalizzabile e trova un autovettore per ogni autovalore. ::: soluzione 1. È triangolare: gli autovalori sono 2 e $-1$, diversi. Quindi è diagonalizzabile (Corollario 18.2). 2. Per 2: $A - 2I_2 = \begin{pmatrix} 0 & 5 \\ 0 & -3 \end{pmatrix}$ dà $y = 0$. Autovettore $(1, 0)$. 3. Per $-1$: $A + I_2 = \begin{pmatrix} 3 & 5 \\ 0 & 0 \end{pmatrix}$ dà $3x + 5y = 0$. Autovettore $(5, -3)$. Controllo: $A(5, -3) = (10 - 15,\ 3) = (-5, 3) = -1 \cdot (5, -3)$. ::: ::: esercizio base Riscaldamento: leggere i posti prenotati Una matrice ha polinomio caratteristico $(\lambda - 2)^3(\lambda + 1)(\lambda - 4)^2$. Quanto è grande? Quali sono le molteplicità algebriche? Che cosa sai già delle molteplicità geometriche? ::: soluzione 1. Il grado è $3 + 1 + 2 = 6$: la matrice è $6 \times 6$. 2. $m_a(2) = 3$, $m_a(-1) = 1$, $m_a(4) = 2$. 3. Per il Teorema 18.9: $m_g(-1) = 1$ sicuramente; $m_g(2)$ è 1, 2 o 3; $m_g(4)$ è 1 o 2. Per decidere servono i ranghi. ::: ::: esercizio base Riscaldamento: posti occupati con il rango Per $A = \begin{pmatrix} 3 & 1 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ calcola $m_a(3)$ e $m_g(3)$. È diagonalizzabile? ::: soluzione 1. È triangolare con 3 tre volte sulla diagonale: $m_a(3) = 3$. 2. $A - 3I_3 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}$ ha rango 1, quindi $m_g(3) = 3 - 1 = 2$. 3. Il 3 prenota tre posti e ne occupa due: **non** è diagonalizzabile. ::: ::: esercizio base Riscaldamento: è un autovettore? Sia $A = \begin{pmatrix} 1 & 2 \\ 2 & 1 \end{pmatrix}$. Quali tra $(1, 1)$, $(1, -1)$ e $(1, 0)$ sono autovettori, e di quale autovalore? ::: soluzione 1. $A(1, 1) = (3, 3) = 3 \cdot (1, 1)$: autovettore di autovalore 3. 2. $A(1, -1) = (1 - 2,\ 2 - 1) = (-1, 1) = -1 \cdot (1, -1)$: autovettore di autovalore $-1$. 3. $A(1, 0) = (1, 2)$, che non è un multiplo di $(1, 0)$: non è un autovettore. I due autovettori hanno autovalori diversi, quindi sono una base: $A$ è diagonalizzabile. ::: ::: esercizio base Un autovalore doppio con una sola retta di autovettori Stabilisci se $A = \begin{pmatrix} 5 & -1 \\ 1 & 3 \end{pmatrix}$ è diagonalizzabile. ::: soluzione La traccia è 8 e il determinante $15 + 1 = 16$, quindi $p_A(\lambda) = \lambda^2 - 8\lambda + 16 = (\lambda - 4)^2$: un solo autovalore, 4, che prenota due posti. $A - 4I_2 = \begin{pmatrix} 1 & -1 \\ 1 & -1 \end{pmatrix}$ ha rango 1, perché le righe sono uguali. Quindi $m_g(4) = 2 - 1 = 1$, meno di 2: non è diagonalizzabile. Gli autovettori sono i multipli non nulli di $(1, 1)$. Un'altra via: se fosse diagonalizzabile con l'unico autovalore 4, sarebbe simile a $4I_2$, e quindi uguale a $4I_2$ (esercizio 14). Ma $A$ non è $4I_2$. ::: ::: esercizio medio Esercizio 18.13 delle dispense: autospazi e base di autovettori Consideriamo la matrice $A = \begin{pmatrix} 2 & 1 & 1 \\ 0 & 3 & 0 \\ 0 & 0 & 3 \end{pmatrix}$. (1) Calcolare il polinomio caratteristico di $A$ e determinare gli autovalori. (2) Trovare gli autospazi corrispondenti. (3) Calcolare la molteplicità algebrica e geometrica di ogni autovalore. (4) Stabilire se $A$ è diagonalizzabile. (5) In caso affermativo, trovare una base di $\R^3$ formata da autovettori. ::: soluzione (1) $A$ è triangolare, quindi $p_A(\lambda) = (2 - \lambda)(3 - \lambda)^2$. Autovalori: 2 e 3. (2) Per 2: $A - 2I_3 = \begin{pmatrix} 0 & 1 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$. Dalla terza riga $z = 0$, dalla seconda $y = 0$; $x$ è libera. $V_2 = \Span\big((1, 0, 0)\big)$. Per 3: $A - 3I_3 = \begin{pmatrix} -1 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}$. Una sola equazione, $-x + y + z = 0$, cioè $x = y + z$. Con $(y, z) = (1, 0)$ e $(0, 1)$: $V_3 = \Span\big((1, 1, 0), (1, 0, 1)\big)$. (3) $m_a(2) = 1 = m_g(2)$. $m_a(3) = 2$ e $m_g(3) = 3 - \rk(A - 3I_3) = 3 - 1 = 2$. (4) Tutte le radici sono reali e ogni autovalore occupa tutti i suoi posti: per il Teorema 18.10 $A$ è diagonalizzabile. (5) $\mathcal B = \{(1, 0, 0), (1, 1, 0), (1, 0, 1)\}$. Controllo: $A(1, 1, 0) = (3, 3, 0)$ e $A(1, 0, 1) = (3, 0, 3)$. Con $M$ che ha questi vettori in colonna (determinante 1) e $D = \mathrm{diag}(2, 3, 3)$ vale $AM = MD$. ::: ::: esercizio medio Esercizio 18.14 delle dispense: stesso polinomio, comportamento diverso Consideriamo le due matrici $A = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{pmatrix}$ e $B = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{pmatrix}$. (1) Verificare che $A$ e $B$ hanno lo stesso polinomio caratteristico. (2) Calcolare la molteplicità geometrica dell'autovalore 1 per entrambe le matrici. (3) Stabilire quale delle due matrici è diagonalizzabile. ::: soluzione (1) Tutte e due sono triangolari con diagonale $1, 1, 2$: il polinomio è $(1 - \lambda)^2(2 - \lambda)$ per entrambe. (2) $A - I_3 = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}$ ha rango 1: per $A$, $m_g(1) = 3 - 1 = 2$. $B - I_3 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}$ ha rango 2: per $B$, $m_g(1) = 3 - 2 = 1$. (3) In tutte e due l'1 prenota due posti. In $A$ li occupa tutti e due ($A$ è già diagonale). In $B$ ne occupa uno solo, quindi $B$ **non** è diagonalizzabile. Conseguenza: $A$ e $B$ **non sono simili**, anche se hanno lo stesso polinomio caratteristico, quindi stessi autovalori, traccia e determinante. Se lo fossero, $B$ sarebbe simile a una matrice diagonale, cioè diagonalizzabile. Il polinomio caratteristico non basta a riconoscere le matrici simili. ::: ::: esercizio medio Un autovalore doppio che va bene: trova $M$ e $D$ Sia $A = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 3 & 0 \\ -2 & 0 & 3 \end{pmatrix}$. Mostra che è diagonalizzabile e trova $M$ e $D$ con $D = M^{-1}AM$. ::: soluzione $A$ è triangolare: $p_A(\lambda) = (1 - \lambda)(3 - \lambda)^2$. Autovalori 1 (un posto) e 3 (due posti). $A - 3I_3 = \begin{pmatrix} -2 & 0 & 0 \\ 2 & 0 & 0 \\ -2 & 0 & 0 \end{pmatrix}$: tutte le righe sono multiple di $(1, 0, 0)$, rango 1, quindi $m_g(3) = 2 = m_a(3)$. $A$ è diagonalizzabile. L'unica equazione è $x = 0$: $V_3 = \Span(e_2, e_3)$. $A - I_3 = \begin{pmatrix} 0 & 0 & 0 \\ 2 & 2 & 0 \\ -2 & 0 & 2 \end{pmatrix}$: $x + y = 0$ e $-x + z = 0$, cioè $y = -x$ e $z = x$. $V_1 = \Span\big((1, -1, 1)\big)$. $$M = \begin{pmatrix} 1 & 0 & 0 \\ -1 & 1 & 0 \\ 1 & 0 & 1 \end{pmatrix}, \qquad D = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 3 \end{pmatrix}.$$ Il determinante di $M$ è 1. Controllo $AM = MD$: $A(1, -1, 1) = (1,\ 2 - 3,\ -2 + 3) = (1, -1, 1)$, $Ae_2 = (0, 3, 0)$, $Ae_3 = (0, 0, 3)$. ::: ::: esercizio medio Un parametro fuori dalla diagonale (foglio 3 del tutorato, esercizio 7) Determina per quali $k \in \R$ la matrice $A = \begin{pmatrix} 1 & 1 & k \\ 0 & 1 & 0 \\ 0 & 1 & 2 \end{pmatrix}$ è diagonalizzabile. ::: soluzione Sviluppo $\det(A - \lambda I_3)$ lungo la prima colonna, $(1 - \lambda, 0, 0)$: $$p_A(\lambda) = (1 - \lambda)\det\begin{pmatrix} 1 - \lambda & 0 \\ 1 & 2 - \lambda \end{pmatrix} = (1 - \lambda)^2(2 - \lambda).$$ Gli autovalori non dipendono da $k$: 1 prenota due posti, 2 uno. Tutto si decide su $m_g(1)$: $$A - I_3 = \begin{pmatrix} 0 & 1 & k \\ 0 & 0 & 0 \\ 0 & 1 & 1 \end{pmatrix}.$$ Le righe non nulle sono $(0, 1, k)$ e $(0, 1, 1)$: sono proporzionali, anzi uguali, solo se $k = 1$. Quindi il rango è 1 se $k = 1$, e 2 altrimenti. - $k = 1$: $m_g(1) = 2 = m_a(1)$, **diagonalizzabile**. Gli autospazi sono $V_1 = \Span\big((1, 0, 0), (0, -1, 1)\big)$ e $V_2 = \Span\big((1, 0, 1)\big)$. - $k \neq 1$: $m_g(1) = 1$, meno di 2, non diagonalizzabile. $A$ è diagonalizzabile esattamente quando $k = 1$. ::: ::: esercizio medio La trasposizione come endomorfismo (foglio 3 del tutorato, esercizio 8.1) Sia $T : M(2, \R) \to M(2, \R)$, $T(A) = {}^tA$. Trova autovalori e autospazi e stabilisci se $T$ è diagonalizzabile. ::: soluzione Uso la base $E_{11}, E_{12}, E_{21}, E_{22}$, dove $E_{ij}$ ha un 1 al posto $(i, j)$ e zeri altrove. La trasposta scambia solo $E_{12}$ ed $E_{21}$, quindi $$[T] = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}, \qquad p_T(\lambda) = (1 - \lambda)^2(\lambda^2 - 1) = (\lambda - 1)^3(\lambda + 1).$$ Il blocco centrale $\begin{pmatrix} -\lambda & 1 \\ 1 & -\lambda \end{pmatrix}$ ha determinante $\lambda^2 - 1$. Senza conti, dall'equazione ${}^tA = \lambda A$: - $\lambda = 1$: ${}^tA = A$, le matrici **simmetriche**. $V_1 = \Span\left(\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}, \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\right)$, dimensione 3. - $\lambda = -1$: ${}^tA = -A$, le matrici **antisimmetriche**. $V_{-1} = \Span\left(\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}\right)$, dimensione 1. Ogni autovalore occupa tutti i posti che prenota: $T$ è diagonalizzabile, e nella base formata da queste quattro matrici $[T] = \mathrm{diag}(1, 1, 1, -1)$ (è l'Esempio 5.1.14 del libro di Martelli). In particolare ogni matrice $2 \times 2$ è in un solo modo somma di una simmetrica e di una antisimmetrica: $M(2, \R) = V_1 \oplus V_{-1}$. ::: ::: esercizio medio Un endomorfismo di $\R_2[x]$ con autovalori complessi (foglio 3 del tutorato, esercizio 8.2) Sia $T : \R_2[x] \to \R_2[x]$, $T(p) = p(0) + p(1)\,x + p(-1)\,x^2$. Trova gli autovalori reali e i relativi autovettori. $T$ è diagonalizzabile? ::: soluzione Nella base $\{1, x, x^2\}$: $T(1) = 1 + x + x^2$, $T(x) = 0 + x - x^2$, $T(x^2) = 0 + x + x^2$, quindi $$[T] = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & 1 \\ 1 & -1 & 1 \end{pmatrix}.$$ Sviluppo lungo la prima riga, $(1 - \lambda, 0, 0)$: $$p_T(\lambda) = (1 - \lambda)\det\begin{pmatrix} 1 - \lambda & 1 \\ -1 & 1 - \lambda \end{pmatrix} = (1 - \lambda)\big((1 - \lambda)^2 + 1\big).$$ Il secondo fattore non è mai zero sui reali, perché è almeno 1: le sue radici sono $1 \pm i$. L'unico autovalore reale è 1. $[T] - I_3 = \begin{pmatrix} 0 & 0 & 0 \\ 1 & 0 & 1 \\ 1 & -1 & 0 \end{pmatrix}$ dà, con le coordinate $x, y, z$, le equazioni $x + z = 0$ e $x - y = 0$. Soluzione $(1, 1, -1)$: il polinomio $1 + x - x^2$. Controllo: con $p = 1 + x - x^2$ viene $p(0) = 1$, $p(1) = 1$, $p(-1) = 1 - 1 - 1 = -1$, e $T(p) = 1 + x - x^2 = p$. $T$ **non** è diagonalizzabile sui reali: manca la condizione 1 del Teorema 18.10. ::: ::: esercizio esame Come all'esame: un parametro reale Si consideri la matrice $A = \begin{pmatrix} k & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 2 \end{pmatrix}$ con $k \in \R$. (1) Calcolare gli autovalori di $A$ al variare di $k$. (2) Determinare per quali valori di $k$ la matrice è diagonalizzabile. (3) Per $k = 0$, trovare $M$ invertibile e $D$ diagonale con $D = M^{-1}AM$. ::: soluzione (1) Sviluppo $\det(A - \lambda I_3)$ lungo la prima colonna, $(k - \lambda, 0, 0)$: $$p_A(\lambda) = (k - \lambda)\det\begin{pmatrix} 1 - \lambda & 0 \\ 1 & 2 - \lambda \end{pmatrix} = (k - \lambda)(1 - \lambda)(2 - \lambda).$$ Autovalori: $k$, 1 e 2. (2) Sono tutti reali. Se $k$ è diverso da 1 e da 2 sono diversi: diagonalizzabile. I valori speciali: - $k = 1$: l'1 prenota due posti. $A - I_3 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 1 & 1 \end{pmatrix}$ ha le righe non nulle $(0, 1, 0)$ e $(0, 1, 1)$, indipendenti: rango 2, $m_g(1) = 1$. **Non** diagonalizzabile. - $k = 2$: il 2 prenota due posti. $A - 2I_3 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & -1 & 0 \\ 0 & 1 & 0 \end{pmatrix}$ ha tutte le righe multiple di $(0, 1, 0)$: rango 1, $m_g(2) = 2$. Diagonalizzabile. Conclusione: $A$ è diagonalizzabile esattamente quando $k$ è diverso da 1. (3) Con $k = 0$ gli autovalori sono 0, 1 e 2. - Per 0: $A = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 2 \end{pmatrix}$ dà $y = 0$, poi $2z = 0$; $x$ è libera. Autovettore $(1, 0, 0)$. - Per 1: $A - I_3 = \begin{pmatrix} -1 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 1 & 1 \end{pmatrix}$ dà $y = x$ e $z = -y$. Autovettore $(1, 1, -1)$. - Per 2: $A - 2I_3 = \begin{pmatrix} -2 & 1 & 0 \\ 0 & -1 & 0 \\ 0 & 1 & 0 \end{pmatrix}$ dà $y = 0$, poi $x = 0$; $z$ è libera. Autovettore $(0, 0, 1)$. $$M = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & -1 & 1 \end{pmatrix}, \qquad D = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{pmatrix}.$$ Il determinante di $M$ è 1. Controllo $AM = MD$: $A(1, 0, 0) = (0, 0, 0)$, $A(1, 1, -1) = (1, 1, -1)$, $A(0, 0, 1) = (0, 0, 2)$. ::: ::: esercizio esame Come all'esame: un parametro complesso Si consideri $A = \begin{pmatrix} k & 0 & 0 \\ 1 & 0 & -4 \\ 0 & 1 & 0 \end{pmatrix} \in M(3, \C)$ con $k \in \C$. (1) Posto $k = 2i$, calcolare gli autovalori con molteplicità algebrica e geometrica e una base di ogni autospazio. $A$ è diagonalizzabile? (2) Determinare per quali $k \in \C$ la matrice è diagonalizzabile su $\C$. E su $\R$, per $k$ reale? ::: soluzione Il polinomio caratteristico, sviluppando lungo la prima riga $(k - \lambda, 0, 0)$: $$p_A(\lambda) = (k - \lambda)\det\begin{pmatrix} -\lambda & -4 \\ 1 & -\lambda \end{pmatrix} = (k - \lambda)(\lambda^2 + 4).$$ Da $\lambda^2 = -4$ vengono $\lambda = \pm 2i$. Autovalori: $k$, $2i$ e $-2i$. (1) Con $k = 2i$: l'autovalore $2i$ prenota due posti e $-2i$ uno solo, quindi $m_g(-2i) = 1$. $$A - 2iI_3 = \begin{pmatrix} 0 & 0 & 0 \\ 1 & -2i & -4 \\ 0 & 1 & -2i \end{pmatrix}.$$ Le righe $(1, -2i, -4)$ e $(0, 1, -2i)$ sono indipendenti: la seconda ha 0 al primo posto, la prima no. Rango 2, quindi $m_g(2i) = 3 - 2 = 1$, meno di 2. **Non** diagonalizzabile. Le basi. Dalla terza riga $y = 2iz$; dalla seconda $x = 2iy + 4z = 2i \cdot 2iz + 4z = -4z + 4z = 0$. Con $z = 1$: $V_{2i} = \Span\big((0, 2i, 1)\big)$. Per $-2i$: $A + 2iI_3 = \begin{pmatrix} 4i & 0 & 0 \\ 1 & 2i & -4 \\ 0 & 1 & 2i \end{pmatrix}$ dà $x = 0$ e $y = -2iz$; la seconda riga torna, perché $2i \cdot (-2i) - 4 = 4 - 4 = 0$. $V_{-2i} = \Span\big((0, -2i, 1)\big)$. Controllo: $A(0, 2i, 1) = (0,\ -4,\ 2i) = 2i\,(0, 2i, 1)$. (2) Sui complessi la condizione 1 vale sempre. Se $k$ è diverso da $\pm 2i$, gli autovalori sono diversi: diagonalizzabile. Per $k = 2i$ no, per il punto (1). Per $k = -2i$, con lo stesso conto, $A + 2iI_3 = \begin{pmatrix} 0 & 0 & 0 \\ 1 & 2i & -4 \\ 0 & 1 & 2i \end{pmatrix}$ ha rango 2 e $m_g(-2i) = 1$: no. Quindi è diagonalizzabile sui complessi esattamente quando $k$ è diverso da $\pm 2i$. Sui reali, con $k$ reale, **mai**: il fattore $\lambda^2 + 4$ non ha radici reali. Confronta con la domanda 9 del quiz: lì, nel valore speciale, la matrice era diagonalizzabile. La differenza è l'1 al posto $(2, 1)$, che qui c'è e nel quiz no. Senza di lui la seconda riga di $A - 2iI_3$ sarebbe $(0, -2i, -4) = -2i \cdot (0, 1, -2i)$: il rango scenderebbe a 1 e $m_g(2i)$ salirebbe a 2. ::: ::: esercizio difficile Un solo autovalore e diagonalizzabile: allora è $\lambda I$ (a) Dimostra che se $A \in M(n, \K)$ ha un solo autovalore $\lambda$ ed è diagonalizzabile, allora $A = \lambda I_n$. (b) Deduci in una riga che $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ non è diagonalizzabile. ::: soluzione (a) Se $A$ è diagonalizzabile, $M^{-1}AM = D$ con $D$ diagonale. Sulla diagonale di $D$ ci sono gli autovalori, quindi solo $\lambda$: $D = \lambda I_n$. Allora $$A = MDM^{-1} = M(\lambda I_n)M^{-1} = \lambda MM^{-1} = \lambda I_n.$$ Un altro modo: $m_g(\lambda) = m_a(\lambda) = n$, quindi l'autospazio è tutto lo spazio e $Av = \lambda v$ per ogni $v$. (b) Ha il solo autovalore 1 e non è $I_2$: se fosse diagonalizzabile sarebbe $I_2$. ::: ::: esercizio difficile Due autospazi hanno intersezione nulla Siano $\lambda \neq \mu$ due autovalori di $T$. (a) Dimostra direttamente che $V_\lambda \cap V_\mu = \{0\}$. (b) Deduci che $V_\lambda$ e $V_\mu$ sono in somma diretta. (c) Perché con tre autospazi non basta controllare le intersezioni a due a due? ::: soluzione (a) Se $v$ sta in tutti e due gli autospazi, allora $T(v) = \lambda v$ e $T(v) = \mu v$. Togliendo, $(\lambda - \mu)v = 0$. Siccome $\lambda - \mu$ non è zero, $v = 0$. (b) Se $v_1 + v_2 = 0$ con $v_1$ nel primo autospazio e $v_2$ nel secondo, allora $v_1 = -v_2$ sta in tutti e due, perché un autospazio contiene gli opposti dei suoi vettori. Per il punto (a) $v_1 = 0$, e poi $v_2 = 0$. È la forma equivalente della Definizione 18.4. (c) Per tre sottospazi le intersezioni a due a due possono essere nulle senza che la somma sia diretta. Le rette $\Span(e_1)$, $\Span(e_2)$ e $\Span(e_1 + e_2)$ dello spazio si incontrano a due a due solo nello zero, ma $e_1 + e_2 - (e_1 + e_2) = 0$. Per gli autospazi la somma è comunque diretta, ma serve la Proposizione 18.1, con la sua induzione, non solo il punto (a). ::: ## Domande di ripasso ::: domanda Perché autovettori con autovalori diversi sono indipendenti? Da una ricetta che dà zero si applica la macchina e si toglie $\lambda_k$ volte la ricetta: sparisce $v_k$ e restano dosi $\alpha_i(\lambda_i - \lambda_k)$ su $k - 1$ autovettori. Per induzione sono zero, e siccome $\lambda_i$ è diverso da $\lambda_k$ tutti gli $\alpha_i$ sono zero (Proposizione 18.1). ::: ::: domanda Che cosa dice il Corollario 18.2, e vale il contrario? Se il polinomio caratteristico ha $n$ radici diverse nel campo, la macchina è diagonalizzabile. Il contrario è falso: la matrice identità è diagonale e ha un solo autovalore. ::: ::: domanda Che cos'è l'autospazio $V_\lambda$? Perché è un sottospazio? È l'insieme dei vettori che la macchina allunga di $\lambda$, più lo zero: il nucleo di $T - \lambda\,\id$. È un nucleo, quindi un sottospazio. ::: ::: domanda Quando una somma di sottospazi è diretta? Quando ogni vettore della somma si scrive in un solo modo come somma di un pezzo per sottospazio. Basta controllarlo sullo zero: l'unico modo di ottenere zero è con tutti i pezzi uguali a zero. ::: ::: domanda Che legame c'è tra autospazi e diagonalizzabilità? Gli autospazi sono sempre in somma diretta (Proposizione 18.5). La macchina è diagonalizzabile esattamente quando la loro somma è tutto lo spazio, cioè quando le loro dimensioni sommano a $n$ (Corollario 18.6). ::: ::: domanda Che differenza c'è tra molteplicità algebrica e geometrica? Come si calcolano? La algebrica conta quante volte l'autovalore è radice del polinomio caratteristico: i posti prenotati sulla diagonale. Si legge dal polinomio scomposto. La geometrica è la dimensione dell'autospazio: i posti occupati. Si calcola come $n - \rk(A - \lambda I_n)$. ::: ::: domanda Che cosa dice il Teorema 18.9? Che conseguenza pratica ha? $1 \le m_g \le m_a$: un autovalore occupa almeno un posto e mai più di quelli prenotati. Quindi per un autovalore semplice $m_g = 1$ subito, e il rango va calcolato solo per gli autovalori multipli. ::: ::: domanda Enuncia il teorema di diagonalizzabilità. Una macchina su uno spazio di dimensione $n$ è diagonalizzabile esattamente quando valgono due cose. (1) Il polinomio caratteristico ha $n$ radici nel campo, contate con molteplicità. (2) Per ogni autovalore la molteplicità algebrica è uguale a quella geometrica. ::: ::: domanda Perché la stessa matrice può essere diagonalizzabile sui complessi e non sui reali? Perché la condizione 1 dipende dal campo: $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ ha polinomio $\lambda^2 + 1$, senza radici reali ma con due radici complesse diverse, $\pm i$. ::: ::: domanda Come si affronta una matrice con un parametro $k$? Si scrive il polinomio caratteristico scomposto in funzione di $k$ e si trovano gli autovalori. Si cercano i $k$ in cui due autovalori coincidono e, sui reali, quelli in cui mancano radici reali. Per gli altri $k$ la matrice è diagonalizzabile; nei valori speciali si mette $k$ nella matrice e si calcola $m_g = n - \rk(A - \lambda I_n)$. ::: ::: domanda Nell'Esempio 18.12, perché per $k = 1$ la matrice è diagonalizzabile e per $k = 5$ no? Per $k = 1$ l'autovalore 2 prenota due posti e $A - 2I_3$ ha rango 1, quindi li occupa tutti e due. Per $k = 5$ l'autovalore 0 prenota due posti ma $A$ ha rango 2, quindi ne occupa uno solo. ::: ::: domanda Due matrici con lo stesso polinomio caratteristico sono simili? Non sempre: $\mathrm{diag}(1, 1, 2)$ e $\begin{pmatrix} 1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{pmatrix}$ hanno lo stesso polinomio, ma la prima è diagonalizzabile e la seconda no (Esercizio 18.14). ::: ## Glossario ```glossario Autovettori indipendenti | Autovettori con autovalori diversi sono sempre indipendenti (Proposizione 18.1). Criterio degli autovalori distinti | $n$ radici diverse del polinomio caratteristico nel campo: diagonalizzabile (Corollario 18.2). Il contrario non vale. Autospazio $V_\lambda$ | I vettori allungati di $\lambda$, più lo zero: il nucleo di $T - \lambda\,\id$ (Definizione 18.3). Somma di sottospazi | $V_1 + \dots + V_k$: tutte le somme di un vettore per ogni sottospazio. Somma diretta $\oplus$ | Una somma in cui ogni vettore si scompone in un modo solo; basta che lo zero si ottenga solo con tutti i pezzi nulli (Definizione 18.4). Molteplicità di una radice | Quante volte il fattore $(x - a)$ compare nel polinomio (Definizione 4.3). Molteplicità algebrica $m_a(\lambda)$ | Quante volte $\lambda$ è radice del polinomio caratteristico: i posti prenotati sulla diagonale. Molteplicità geometrica $m_g(\lambda)$ | La dimensione dell'autospazio, $n - \rk(A - \lambda I_n)$: i posti occupati. Autovalore semplice | Un autovalore con $m_a = 1$; allora anche $m_g = 1$. Disuguaglianze delle molteplicità | $1 \le m_g(\lambda) \le m_a(\lambda)$ (Teorema 18.9). Teorema di diagonalizzabilità | Diagonalizzabile esattamente quando tutte le radici sono nel campo e ogni autovalore ha $m_a = m_g$ (Teorema 18.10). Taglio (shear) | $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$: un autovalore doppio con una sola retta di autovettori; non diagonalizzabile. Valore speciale del parametro | Un valore di $k$ in cui due autovalori coincidono: lì si decide calcolando un rango. Campo degli scalari | Reali o complessi: la diagonalizzabilità dipende dal campo, perché sui reali possono mancare radici. Base di autovettori | Le basi degli autospazi messe insieme; esiste esattamente quando la macchina è diagonalizzabile. ``` ## Checklist ```checklist - So dimostrare che due autovettori con autovalori diversi sono indipendenti, e so enunciare il caso generale. - So usare il criterio «$n$ autovalori diversi: diagonalizzabile» e so che il contrario è falso. - So trovare una base dell'autospazio risolvendo $(A - \lambda I)x = 0$. - So che cos'è una somma diretta e perché gli autospazi sono sempre in somma diretta. - So leggere $m_a$ dal polinomio scomposto e calcolare $m_g = n - \rk(A - \lambda I)$. - So che $1 \le m_g \le m_a$, e quindi calcolo il rango solo per gli autovalori multipli. - So enunciare il teorema di diagonalizzabilità e applicarlo passo per passo, sui reali e sui complessi. - So risolvere un problema con parametro: autovalori in funzione di $k$, valori speciali, ranghi, conclusione. - So costruire una base di autovettori, $M$ e $D$, e controllare con $AM = MD$. - So spiegare perché matrici con lo stesso polinomio caratteristico possono non essere simili. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 18 «Autovalori e autovettori II», pp. 90–95: le sezioni 18.A (autovettori con autovalori distinti), 18.B (autospazio), 18.C (molteplicità) e 18.D (teorema di diagonalizzabilità) sono seguite in ordine, con la pagina accanto a ogni titolo; definizioni, proposizioni ed esempi mantengono la loro numerazione (Proposizioni 18.1, 18.5; Corollari 18.2, 18.6; Definizioni 18.3, 18.4, 18.7; Teoremi 18.9, 18.10; Esempi 18.8, 18.11, 18.12); gli Esercizi 18.13 e 18.14 della sezione 18.E sono svolti come esercizi 6 e 7. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §5.1.7 (riepilogo degli esempi $2 \times 2$ sui reali e sui complessi), §5.2.1–5.2.6 (autovettori con autovalori distinti, autospazi, molteplicità con la dimostrazione completa del Teorema 18.9, teorema di diagonalizzabilità ed esempi), Esempio 5.1.14 (la trasposizione). - **Esame**: problemi 11 degli appelli del 24/01/2024, 08/02/2024, 10/06/2024, 06/09/2024, 16/01/2025, 03/06/2025, 10/07/2025, 03/06/2026; domande 9 del 24/01/2024, 6 del 10/06/2024, 8 del 10/07/2024, 9 del 07/02/2025, 6 del 02/09/2025, 9 del 05/02/2026; foglio 3 del tutorato 2025/26 (esercizi 7–10). Testi e soluzioni ufficiali sul Moodle 2025/26 ([id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)); le soluzioni riportate qui sono scritte da capo. - Le parti **«Oltre le dispense»** (la dimostrazione completa del Teorema 18.9, la tabella dei quattro comportamenti, la matrice sui complessi, gli esempi e gli esercizi aggiunti) servono a collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L19_prodotti_scalari_1.md` ```yaml corso: MDAG modulo: AG lezione: L19 titolo: Prodotti scalari I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L19 descrizione: >- Appunti della lezione L19 di Algebra lineare e Geometria (MDAG, parte 2): che cos'è un prodotto scalare, prodotti degeneri e definiti positivi, il prodotto scalare euclideo, le matrici simmetriche e la matrice associata a un prodotto scalare in una base, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Finora con i vettori sapevi fare due cose: sommarli e moltiplicarli per un numero. Qui impari a moltiplicare due vettori tra loro ottenendo un numero solo: il prodotto scalare. Da questo attrezzo nelle prossime lezioni nascono lunghezze, angoli e perpendicolarità, e all'esame va saputo riassumere in una tabella di numeri. materiale: dispense scheda: Dispense: lezione 19 · pp. 96–99 Libro: Martelli, §7.1 e §7.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 19 «Prodotti scalari I»; B. Martelli, Geometria e algebra lineare, §7.1 e §7.2 appunti_html: appunti/MDAG/L19_prodotti_scalari_1.html genera_html: true ``` ## In breve - Un **prodotto scalare** è una regola che prende due vettori e restituisce **un numero solo**. Un vettore è una lista di numeri. - Il più usato è quello **euclideo**: moltiplichi i numeri che stanno nello stesso posto e sommi i risultati, come nel conto della spesa. Per i vettori $(1, 3)$ e $(-2, 1)$ il risultato è 1. - Il segno del risultato dice come sono messi i due vettori: positivo se puntano più o meno dalla stessa parte, zero se sono perpendicolari, negativo se puntano da parti opposte. - In generale un prodotto scalare è qualunque regola che rispetta tre richieste: una somma si può spezzare, un numero si può portare fuori, l'ordine dei due vettori non conta. - Un prodotto scalare è **definito positivo** se ogni vettore non nullo, moltiplicato per sé stesso, dà un numero positivo. È **degenere** se c'è un vettore non nullo che dà zero con tutti gli altri. - Una **matrice simmetrica**, cioè una tabella di numeri uguale alla sua immagine allo specchio, dà un prodotto scalare. E ogni prodotto scalare, scelta una base, si riassume in una tabella: la **matrice associata**. - All'esame la domanda tipica è: calcolare la matrice associata a un prodotto scalare in una base data. Si fa una casella alla volta. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Da due vettori a un numero: il conto della spesa (p. 96) Al mercato compri 2 chili di mele e 3 chili di pere. Le mele costano 4 euro al chilo, le pere 1 euro al chilo. Quanto spendi? Il conto lo sai già fare. Nei conti il puntino $\cdot$ è il segno «per». 1. Le mele: $2 \cdot 4 = 8$ euro. 2. Le pere: $3 \cdot 1 = 3$ euro. 3. Il totale: $8 + 3 = 11$ euro. Guarda che cosa hai usato. Avevi due liste di numeri: la lista delle quantità e la lista dei prezzi. $$\text{quantità: } (2, 3) \qquad\qquad \text{prezzi: } (4, 1)$$ Hai moltiplicato i numeri che stanno **nello stesso posto**: il primo con il primo, il secondo con il secondo. Poi hai sommato i risultati. Da due liste è uscito **un numero solo**: 11. Questo conto è un **prodotto scalare**. È l'operazione di cui parla tutta la lezione. ### Le liste sono vettori Nel corso una lista ordinata di numeri si chiama **vettore** (lezione L05). Un vettore fatto di due numeri si può leggere come uno spostamento su una mappa a quadretti. Per esempio $(2, 3)$ vuol dire «2 passi a destra e 3 in su». I vettori fatti di due numeri reali formano un insieme che si scrive $\R^2$ e si legge «erre due». Quelli fatti di tre numeri formano $\R^3$. Quelli fatti di $n$ numeri formano $\R^n$, «erre enne»: la lettera $n$ dice quanti numeri ci sono nella lista. Rifacciamo il conto con i due vettori dell'esempio delle dispense. Il primo lo chiamiamo $u$, il secondo $v$. $$u = (1, 3) \qquad\qquad v = (-2, 1)$$ 1. Primo posto: $1 \cdot (-2) = -2$. 2. Secondo posto: $3 \cdot 1 = 3$. 3. Somma: $-2 + 3 = 1$. Il prodotto scalare di $u$ e $v$ è 1. ### Come si scrive Il prodotto scalare di due vettori si scrive mettendo i due vettori tra parentesi a punta, separati da una virgola. $$\langle u, v\rangle = 1$$ Si legge «prodotto scalare di $u$ e $v$». Le parentesi a punta si chiamano anche parentesi angolari. Alcuni libri scrivono $u \cdot v$, con un puntino: è la stessa cosa. Perché «scalare»? Nel corso **scalare** vuol dire «numero» (lezione L05). Il prodotto scalare si chiama così perché il suo risultato è uno scalare, cioè un numero, e non un vettore. ### Che cosa dice il segno Il numero che esce non è un numero qualunque. Il suo **segno** dice come sono messi i due vettori, uno rispetto all'altro. > [!RIPASSO] angolo acuto, retto, ottuso > Due frecce che partono dallo stesso punto formano un angolo. > > - **Angolo retto**: è quello dell'angolo di un foglio, 90 gradi. Due frecce che formano un angolo retto sono **perpendicolari**. > - **Angolo acuto**: è più stretto di un angolo retto. Le due frecce puntano più o meno dalla stessa parte. > - **Angolo ottuso**: è più largo di un angolo retto. Le due frecce puntano da parti quasi opposte. Facciamo una prova. Teniamo fisso il vettore $u = (2, 1)$ e cambiamo il secondo vettore tre volte. | Secondo vettore | Conto | Prodotto con $u$ | Nel disegno | |---|---|--:|---| | $a = (1, 2)$ | $2 \cdot 1 + 1 \cdot 2$ | $4$ | $a$ forma con $u$ un angolo **acuto** | | $b = (-1, 2)$ | $2 \cdot (-1) + 1 \cdot 2$ | $0$ | $b$ è **perpendicolare** a $u$ | | $c = (-2, 1)$ | $2 \cdot (-2) + 1 \cdot 1$ | $-3$ | $c$ forma con $u$ un angolo **ottuso** | Guarda la figura. La freccia spessa è $u$. Le altre tre sono i vettori della tabella: confronta l'angolo che ognuna forma con $u$ e il segno del prodotto. ```grafico titolo: Con $u = (2, 1)$: $\langle u, a\rangle = 4 > 0$, $\langle u, b\rangle = 0$, $\langle u, c\rangle = -3 < 0$ x: -3 3 y: -1 3 vettore: 2 1 | accento | spesso | $u$ | se vettore: 1 2 | verde | $a$ | ne vettore: -1 2 | blu | $b$ | n vettore: -2 1 | rosa | $c$ | no ``` > [!IDEA] > Il prodotto scalare dice quanto due vettori puntano dalla stessa parte. **Positivo**: angolo acuto. **Zero**: perpendicolari. **Negativo**: angolo ottuso. Per ora è un'osservazione su tre esempi. La formula precisa per l'angolo arriva nella lezione L20. Prima bisogna capire bene l'attrezzo: quali regole rispetta questo conto, e quali altri conti gli assomigliano. > [!NOTA] Perché da qui in poi i numeri sono solo reali > Le dispense cominciano la lezione con un avviso. Nelle lezioni precedenti i numeri potevano essere reali oppure complessi: le dispense scrivevano $\K$ per dire «$\R$ oppure $\C$». In tutte le lezioni sui prodotti scalari i numeri sono **solo reali**, per due motivi. > > - Serve l'**ordine**: bisogna poter dire che un numero è positivo. Tra i numeri complessi non ha senso dire che uno è maggiore di un altro (lezione L02). > - Serve la **radice quadrata** di un numero positivo, per calcolare le lunghezze nella lezione L20. Tra le frazioni certe radici mancano, per esempio $\sqrt 2$ (lezione L01). > > Quindi tutti gli spazi di vettori di queste lezioni sono **reali**. La versione con i numeri complessi si chiama prodotto hermitiano e arriva nella lezione L25. ::: prova Calcola il prodotto scalare di $(3, 1)$ e $(2, 5)$. Primo posto: $3 \cdot 2 = 6$. Secondo posto: $1 \cdot 5 = 5$. Somma: $6 + 5 = 11$. ::: ::: prova Calcola $\langle (1, 2), (4, -2)\rangle$. Che cosa dice il risultato sui due vettori? Primo posto: $1 \cdot 4 = 4$. Secondo posto: $2 \cdot (-2) = -4$. Somma: $4 - 4 = 0$. Il prodotto è zero, quindi i due vettori sono perpendicolari. ::: > [!RICORDA] > - Il **prodotto scalare** prende due vettori e restituisce **un numero**. > - Quello del conto della spesa: moltiplica i numeri nello stesso posto e somma. Si scrive $\langle u, v\rangle$. > - Positivo: angolo acuto. Zero: perpendicolari. Negativo: angolo ottuso. > - In queste lezioni i numeri sono sempre reali. ## Le tre regole di un prodotto scalare (p. 96) Il conto della spesa rispetta tre regole che usi senza pensarci. Le vediamo prima con i numeri. Poi diventano una definizione: in matematica si chiama prodotto scalare **qualunque** operazione che rispetta quelle tre regole, non solo il conto della spesa. I dati sono quelli di prima: mele a 4 euro e pere a 1 euro, cioè il vettore dei prezzi $(4, 1)$. ### Prima regola: due scontrini oppure uno solo Lunedì compri 2 chili di mele e 3 di pere. Martedì compri 1 chilo di mele e 1 di pere. Quanto hai speso in tutto? Puoi fare il conto in due modi. | Modo | Conto | Totale | |---|---|--:| | due scontrini: lunedì | $2 \cdot 4 + 3 \cdot 1$ | $11$ | | due scontrini: martedì | $1 \cdot 4 + 1 \cdot 1$ | $5$ | | due scontrini: somma | $11 + 5$ | $16$ | | uno scontrino solo, con le quantità sommate $(3, 4)$ | $3 \cdot 4 + 4 \cdot 1$ | $16$ | Viene lo stesso numero. A parole: **sommare i vettori e poi fare il prodotto dà lo stesso risultato di fare i due prodotti e poi sommare**. Con le parentesi a punta la regola si scrive così. $$\langle (2, 3) + (1, 1),\ (4, 1)\rangle = \langle (2, 3), (4, 1)\rangle + \langle (1, 1), (4, 1)\rangle$$ ### Seconda regola: il triplo della spesa costa il triplo Compri il triplo di tutto: 6 chili di mele e 9 di pere. Il vettore delle quantità è il triplo di quello di prima. $$3 \cdot (2, 3) = (6, 9)$$ Il conto diretto dà $6 \cdot 4 + 9 \cdot 1 = 33$ euro. È il triplo degli 11 euro di prima. A parole: **un numero che moltiplica un vettore si può portare fuori dal prodotto scalare**. $$\langle 3 \cdot (2, 3),\ (4, 1)\rangle = 3 \cdot \langle (2, 3), (4, 1)\rangle$$ ### Terza regola: l'ordine non conta Scambia le due liste: prima i prezzi, poi le quantità. Il conto diventa $4 \cdot 2 + 1 \cdot 3 = 11$. È lo stesso di prima, perché nei prodotti tra numeri l'ordine non conta. $$\langle (2, 3), (4, 1)\rangle = \langle (4, 1), (2, 3)\rangle$$ > [!IDEA] > Un **prodotto scalare** è una regola che da due vettori dà un numero e rispetta tre richieste: una somma si può spezzare, un numero si può portare fuori, l'ordine non conta. ### Come lo scrivono le dispense Le dispense scrivono le tre regole con le lettere, perché devono valere per tutti i vettori e non solo per quelli della spesa. Prima di leggere la definizione, ecco le lettere che usano. - $V$ è uno **spazio vettoriale reale**: un insieme di vettori che si possono sommare tra loro e moltiplicare per un numero reale (lezione L05). Per ora pensa a $\R^2$. - $v$ e $w$ sono due vettori di $V$. - Anche $v'$ e $w'$ sono vettori. L'apostrofo si legge «primo»: $v'$ è «vu primo». Serve solo a dare un nome a un altro vettore. - $\lambda$ è la lettera greca *lambda*. Qui indica un numero reale qualsiasi. > [!DEF] 19.1 · Prodotto scalare > Sia $V$ uno spazio vettoriale reale. Un **prodotto scalare** su $V$ è un'applicazione > $$V \times V \longrightarrow \R, \qquad (v, w) \longmapsto \langle v, w\rangle$$ > che soddisfa i seguenti assiomi: > 1. $\langle v + v', w\rangle = \langle v, w\rangle + \langle v', w\rangle$, > 2. $\langle \lambda v, w\rangle = \lambda\langle v, w\rangle$, > 3. $\langle v, w\rangle = \langle w, v\rangle$, > > per ogni $v, v', w, w' \in V$ e ogni $\lambda \in \R$. **Come si legge.** - «Un'applicazione» è una macchina: qualcosa entra, qualcosa esce (lezione L14). - $V \times V$ si legge «$V$ per $V$». È l'insieme delle **coppie** di vettori di $V$. Dice che cosa entra nella macchina: due vettori, un primo e un secondo. - La freccia lunga $\longrightarrow$ si legge «va in». Dopo la freccia c'è $\R$: dalla macchina esce un numero reale. - La freccia con la barretta $\longmapsto$ si legge «viene mandato in». La coppia $(v, w)$ viene mandata nel numero $\langle v, w\rangle$. - «Assiomi» vuol dire «regole richieste». - L'assioma (1) è la regola dei due scontrini: una somma nel primo posto si può spezzare. - L'assioma (2) è la regola del triplo. La scrittura $\lambda v$ vuol dire «il vettore $v$ moltiplicato per il numero $\lambda$». Il numero esce fuori. - L'assioma (3) è la regola dell'ordine. Ha un nome: **simmetria**. - Nell'ultima riga il simbolo $\in$ si legge «appartiene a». La riga dice che le regole devono valere per tutti i vettori dello spazio e per tutti i numeri reali, non solo in qualche caso fortunato. > [!TRAPPOLA] Prodotto scalare e prodotto per scalare > I due nomi si assomigliano, ma sono due operazioni diverse. > > - Il **prodotto per uno scalare** (lezione L05) prende un numero e un vettore e restituisce un **vettore**: $3 \cdot (1, 2) = (3, 6)$. > - Il **prodotto scalare** prende due vettori e restituisce un **numero**: $\langle (1, 2), (3, 6)\rangle = 3 + 12 = 15$. ### Le stesse regole valgono nel secondo posto Gli assiomi (1) e (2) parlano solo del **primo** vettore. Ma le stesse due regole valgono anche per il **secondo**. Controllo con la spesa. Raddoppiano i prezzi: da $(4, 1)$ a $(8, 2)$. Le quantità restano $(2, 3)$. Il conto diventa $2 \cdot 8 + 3 \cdot 2 = 22$ euro: il doppio di 11. Il motivo è la simmetria. Scambi i due vettori, così quello che stava al secondo posto passa al primo. Lì usi la regola che conosci già. Poi scambi di nuovo. Le dispense numerano (4) e (5) queste due regole «a destra». $$\text{(4)}\quad \langle v, w + w'\rangle = \langle v, w\rangle + \langle v, w'\rangle \qquad\qquad \text{(5)}\quad \langle v, \lambda w\rangle = \lambda\langle v, w\rangle$$ > [!DIM] le regole (4) e (5), un passo alla volta > **Regola (4).** > > 1. Parto da $\langle v, w + w'\rangle$. Per la simmetria (3) scambio i due posti e ottengo $\langle w + w', v\rangle$. > 2. Ora la somma sta nel primo posto. Per l'assioma (1) la spezzo: $\langle w, v\rangle + \langle w', v\rangle$. > 3. Per la simmetria (3) scambio di nuovo i posti in tutti e due i pezzi: $\langle v, w\rangle + \langle v, w'\rangle$. > > **Regola (5).** > > 1. Parto da $\langle v, \lambda w\rangle$. Per la simmetria (3) scambio i due posti: $\langle \lambda w, v\rangle$. > 2. Ora il numero sta nel primo posto. Per l'assioma (2) esce fuori: $\lambda\langle w, v\rangle$. > 3. Per la simmetria (3) scambio di nuovo: $\lambda\langle v, w\rangle$. Due parole da conoscere, perché le dispense le usano spesso. - Le regole (1), (2), (4) e (5) insieme dicono che il prodotto è **bilineare**. «Bi» vuol dire «due volte»: le regole della somma e del multiplo valgono due volte, nel primo posto e nel secondo. - La regola (3) dice che il prodotto è **simmetrico**. Quindi, in breve: un prodotto scalare è una regola **bilineare e simmetrica** che da due vettori dà un numero. ### Con il vettore nullo viene sempre zero Il **vettore nullo** è il vettore fatto di soli zeri, per esempio $(0, 0)$. Si scrive $0$, come il numero zero: dal contesto si capisce quale dei due è. Nel conto della spesa: se non compri niente, non paghi niente. Le quantità sono $(0, 0)$ e il totale è $0 \cdot 4 + 0 \cdot 1 = 0$. Le dispense notano che succede con **ogni** prodotto scalare, qualunque sia il vettore $v$. $$\langle v, 0\rangle = 0$$ Il perché sta in tre righe. 1. Il vettore nullo sommato a sé stesso dà ancora il vettore nullo. Quindi al posto di $0$ posso scrivere $0 + 0$. 2. Per la regola (4) la somma nel secondo posto si spezza: $$\langle v, 0\rangle = \langle v, 0 + 0\rangle = \langle v, 0\rangle + \langle v, 0\rangle$$ 3. Chiama $a$ il numero $\langle v, 0\rangle$. La riga sopra dice che $a = a + a$. Togli $a$ da tutti e due i lati: resta $0 = a$. Per la simmetria vale anche con i posti scambiati: $\langle 0, v\rangle = 0$. A che cosa serve? A scartare in fretta le formule che **non** sono prodotti scalari. Se una formula dà un numero diverso da zero quando uno dei due vettori è nullo, non è un prodotto scalare. ### Un nome per il prodotto A volte nello stesso discorso ci sono più prodotti scalari diversi, e le parentesi a punta non bastano per distinguerli. Allora si dà un nome al prodotto: una lettera, di solito $g$. Al posto di $\langle v, w\rangle$ si scrive $g(v, w)$, che si legge «gi di $v$ e $w$». Le dispense scrivono $g : V \times V \to \R$. Si legge «$g$ va da $V$ per $V$ a $\R$»: la macchina $g$ prende una coppia di vettori e restituisce un numero reale. La freccia corta $\to$ vuol dire lo stesso della freccia lunga di prima: «va in». > [!OLTRE] · il quadrato di una somma, con i vettori > Con i numeri il quadrato di una somma si apre così: $(a + b)^2 = a^2 + 2ab + b^2$. Con un prodotto scalare succede la stessa cosa, se al posto del quadrato metti il prodotto di un vettore con sé stesso. > $$\langle v + w, v + w\rangle = \langle v, v\rangle + 2\langle v, w\rangle + \langle w, w\rangle$$ > Il motivo: la somma si spezza nel primo posto e poi nel secondo, e vengono quattro pezzi. I due pezzi misti sono uguali per la simmetria. I passaggi sono nella lezione L20, dove la formula serve per la disuguaglianza triangolare. ::: prova Sai che $\langle v, w\rangle = 5$ e che $\langle v', w\rangle = -2$. Quanto valgono $\langle 2v, w\rangle$, $\langle w, v\rangle$ e $\langle v + v', w\rangle$? $\langle 2v, w\rangle = 2 \cdot 5 = 10$: il numero 2 esce fuori (assioma 2). $\langle w, v\rangle = 5$: l'ordine non conta (assioma 3). $\langle v + v', w\rangle = 5 + (-2) = 3$: la somma nel primo posto si spezza (assioma 1). ::: ::: prova Che differenza c'è tra $2 \cdot (1, 3)$ e $\langle (2, 0), (1, 3)\rangle$? Il primo è un prodotto per uno scalare e dà un vettore: $(2, 6)$. Il secondo è un prodotto scalare e dà un numero: $2 \cdot 1 + 0 \cdot 3 = 2$. ::: > [!RICORDA] > - Un prodotto scalare è una regola che da due vettori dà un numero. È **bilineare** (somme e multipli si spezzano, in tutti e due i posti) e **simmetrica** (l'ordine non conta). > - Si scrive $\langle v, w\rangle$ oppure, con un nome, $g(v, w)$. > - Con il vettore nullo il risultato è sempre zero. > - Non confonderlo con il prodotto per uno scalare, che dà un vettore. ## Questa formula è un prodotto scalare? (p. 96) Il conto della spesa non è l'unico prodotto scalare. Cambiando la formula si ottengono altre regole che da due vettori danno un numero. Alcune rispettano i tre assiomi, altre no. In questa sezione impari a distinguerle: è una domanda possibile del quiz d'esame. ### I nomi dei numeri dentro un vettore Per scrivere una formula che valga per tutti i vettori servono dei nomi per i numeri che stanno dentro il vettore. Un vettore di $\R^2$ si scrive così. $$x = (x_1, x_2)$$ Il numerino in basso si chiama **indice** e dice il posto. La scrittura $x_1$ si legge «x con uno» ed è il primo numero del vettore. La scrittura $x_2$ si legge «x con due» ed è il secondo. Per il vettore $(5, 7)$ il primo numero è 5 e il secondo è 7. Un secondo vettore si scrive $y = (y_1, y_2)$. Con questi nomi il conto della spesa diventa una formula. $$\langle x, y\rangle = x_1y_1 + x_2y_2$$ Si legge: «il primo di $x$ per il primo di $y$, più il secondo di $x$ per il secondo di $y$». Due lettere attaccate, come $x_1y_1$, sono moltiplicate tra loro: il puntino non si scrive. ### Una formula che funziona Cambiamo un po' la formula del conto della spesa. Moltiplichiamo il primo pezzo per 2 e il secondo per 3. Il risultato lo chiamiamo $g$. $$g(x, y) = 2x_1y_1 + 3x_2y_2$$ È come un conto in cui il primo pezzo «pesa» il doppio e il secondo il triplo. Facciamo un conto di prova, con i vettori $(1, 1)$ e $(1, -1)$. $$g\big((1, 1), (1, -1)\big) = 2 \cdot 1 \cdot 1 + 3 \cdot 1 \cdot (-1) = 2 - 3 = -1$$ È un prodotto scalare? Per dirlo bisogna controllare i tre assiomi. Il controllo completo è nel riquadro. > [!ESEMPIO] Una formula che funziona: $g(x, y) = 2x_1y_1 + 3x_2y_2$ su $\R^2$ > **Assioma (3): l'ordine non conta.** Scambio $x$ e $y$. La formula diventa $2y_1x_1 + 3y_2x_2$. È lo stesso numero di prima, perché nei prodotti tra numeri l'ordine non conta: $y_1x_1 = x_1y_1$. > > **Assioma (2): un numero esce fuori.** Al posto di $x$ metto il vettore $\lambda x$, cioè $(\lambda x_1, \lambda x_2)$. > $$g(\lambda x, y) = 2\lambda x_1y_1 + 3\lambda x_2y_2$$ > Il numero $\lambda$ compare in tutti e due i pezzi, quindi lo raccolgo. > $$g(\lambda x, y) = \lambda\,(2x_1y_1 + 3x_2y_2) = \lambda\, g(x, y)$$ > > **Assioma (1): una somma si spezza.** Al posto di $x$ metto la somma $x + x'$, dove $x' = (x_1', x_2')$ è un altro vettore. I numeri della somma sono $x_1 + x_1'$ e $x_2 + x_2'$. > $$g(x + x', y) = 2(x_1 + x_1')y_1 + 3(x_2 + x_2')y_2$$ > Apro le parentesi. > $$g(x + x', y) = 2x_1y_1 + 2x_1'y_1 + 3x_2y_2 + 3x_2'y_2$$ > Metto insieme i pezzi senza apostrofo e, a parte, quelli con l'apostrofo. > $$g(x + x', y) = (2x_1y_1 + 3x_2y_2) + (2x_1'y_1 + 3x_2'y_2) = g(x, y) + g(x', y)$$ > > I tre assiomi valgono: $g$ è un prodotto scalare. Che cosa ha fatto funzionare tutto? Ogni pezzo della formula ha la stessa forma: un numero fisso, per **un** numero di $x$, per **un** numero di $y$. È la forma giusta. In più, scambiando $x$ con $y$ la formula non cambia. ### Tre formule che non funzionano Per dire che una formula **non** è un prodotto scalare basta **un** esempio con i numeri in cui **una** regola fallisce. Negli esempi tornano utili due vettori speciali di $\R^2$. $$e_1 = (1, 0) \qquad\qquad e_2 = (0, 1)$$ Si leggono «e con uno» ed «e con due». Sulla mappa il primo è un passo a destra, il secondo è un passo in su. Insieme formano la **base canonica** di $\R^2$ (lezione L07). > [!ESEMPIO] Tre formule che non funzionano > **Prima formula: $g(x, y) = x_1y_2$.** Non è simmetrica. > > - Metto $x = e_1 = (1, 0)$ e $y = e_2 = (0, 1)$. Allora $x_1 = 1$ e $y_2 = 1$, quindi $g(e_1, e_2) = 1 \cdot 1 = 1$. > - Scambio i posti: $x = e_2 = (0, 1)$ e $y = e_1 = (1, 0)$. Allora $x_1 = 0$ e $y_2 = 0$, quindi $g(e_2, e_1) = 0 \cdot 0 = 0$. > > I due risultati sono diversi: l'assioma (3) fallisce. > > **Seconda formula: $g(x, y) = x_1y_1 + x_2y_2 + 1$.** Non dà zero con il vettore nullo. > > - Metto il vettore nullo al posto di $x$ e di $y$: $g(0, 0) = 0 + 0 + 1 = 1$. > > Un prodotto scalare con il vettore nullo dà sempre 0. Qui dà 1, quindi la formula non è bilineare. > > **Terza formula: $g(x, y) = x_1^2y_1^2$.** Un numero non esce fuori. Il piccolo 2 in alto è il quadrato: $x_1^2$ vuol dire $x_1 \cdot x_1$. > > - Con $x = e_1$ e $y = e_1$: $g(e_1, e_1) = 1^2 \cdot 1^2 = 1$. > - Raddoppio il primo vettore: $2e_1 = (2, 0)$. Allora $g(2e_1, e_1) = 2^2 \cdot 1^2 = 4$. > > Per l'assioma (2) doveva venire il doppio di 1, cioè 2. È venuto 4: l'assioma (2) fallisce. > [!METODO] Decidere se una formula è un prodotto scalare > 1. Guarda ogni pezzo della formula. Deve essere fatto così: un numero fisso, per **un** numero di $x$, per **un** numero di $y$. Un pezzo con una $x$ da sola, un numero da solo come $+1$, un pezzo con due $x$ o con un quadrato dicono che la formula non è bilineare. > 2. Controlla la simmetria: il numero davanti a $x_1y_2$ deve essere uguale al numero davanti a $x_2y_1$. > 3. Se un controllo fallisce, scrivi un esempio con i numeri che lo mostra. Quasi sempre bastano i due vettori della base canonica e il vettore nullo. ::: prova La formula $g(x, y) = x_1y_1 + 5$ è un prodotto scalare? No. Con il vettore nullo al posto di $x$ e di $y$ viene $g(0, 0) = 0 \cdot 0 + 5 = 5$. Un prodotto scalare deve dare 0. ::: ::: prova La formula $g(x, y) = 4x_1y_1 + x_2y_2$ è un prodotto scalare? Quanto vale per $x = (1, 2)$ e $y = (3, 1)$? Sì. Ogni pezzo è un numero fisso per un numero di $x$ per un numero di $y$. Scambiando $x$ con $y$ la formula non cambia. Il valore: $4 \cdot 1 \cdot 3 + 2 \cdot 1 = 12 + 2 = 14$. ::: > [!RICORDA] > - Una formula è un prodotto scalare se ogni pezzo è «numero fisso per un numero di $x$ per un numero di $y$» e se, scambiando $x$ con $y$, non cambia. > - Per dire di no basta un esempio con i numeri. > - Primo controllo veloce: con il vettore nullo deve venire 0. ## Due parole nuove: degenere e definito positivo (p. 96) Non tutti i prodotti scalari si comportano bene come il conto della spesa. Le dispense danno un nome a un pregio e a un difetto. Il pregio si chiama «definito positivo», il difetto «degenere». All'esame bisogna saperli distinguere. ### Il pregio: un vettore con sé stesso dà un numero positivo Prendi un vettore e fai il conto della spesa del vettore **con sé stesso**. Per esempio con il vettore $v = (3, 4)$. $$\langle v, v\rangle = 3 \cdot 3 + 4 \cdot 4 = 9 + 16 = 25$$ Ogni numero del vettore viene moltiplicato per sé stesso: esce una somma di quadrati. Un quadrato non è mai negativo. Quindi il risultato non è mai negativo, ed è zero solo quando tutti i numeri del vettore sono zero. Questo risultato ha un significato geometrico: è il quadrato della **lunghezza** della freccia. > [!RIPASSO] il teorema di Pitagora > In un triangolo con un angolo retto, i due lati corti si chiamano *cateti* e il lato lungo si chiama *ipotenusa*. Il quadrato dell'ipotenusa è la somma dei quadrati dei due cateti. > > Il vettore $(3, 4)$ è «3 passi a destra e 4 in su». La freccia è l'ipotenusa di un triangolo con i cateti lunghi 3 e 4. Il quadrato della sua lunghezza è $3^2 + 4^2 = 25$, quindi la lunghezza è $\sqrt{25} = 5$. Guarda la figura: i due cateti sono i passi a destra e i passi in su, la freccia è l'ipotenusa. ```grafico titolo: Il vettore $(3, 4)$ è lungo 5. Con sé stesso dà $9 + 16 = 25$, il quadrato di 5 x: -1 5 y: -1 5 segmento: 0 0 3 0 | blu | spesso | $3$ | s segmento: 3 0 3 4 | blu | spesso | $4$ | e vettore: 3 4 | accento | spesso | $v = (3, 4)$ | no ``` Un prodotto scalare con questo pregio si chiama **definito positivo**: ogni vettore diverso dal vettore nullo, moltiplicato per sé stesso, dà un numero positivo. Sono i prodotti scalari con cui le lunghezze hanno senso. La lezione L20 parte da qui. ### Il difetto: un vettore che il prodotto non vede Ora un prodotto difettoso. Su $\R^2$ prendi questa formula. $$g(x, y) = x_1y_1$$ Usa solo i primi numeri dei due vettori e ignora i secondi. È un prodotto scalare: ha un solo pezzo, della forma giusta, e scambiando $x$ con $y$ non cambia. Guarda che cosa succede al vettore $e_2 = (0, 1)$, che ha il primo numero uguale a zero. Proviamo a moltiplicarlo con quattro vettori diversi. | Secondo vettore | Conto | Risultato | |---|---|--:| | $(1, 0)$ | $0 \cdot 1$ | $0$ | | $(5, 2)$ | $0 \cdot 5$ | $0$ | | $(-3, 7)$ | $0 \cdot (-3)$ | $0$ | | $(0, 1)$, cioè $e_2$ stesso | $0 \cdot 0$ | $0$ | Viene sempre zero, con qualunque vettore. Per questo prodotto il vettore $e_2$ è invisibile: si comporta come il vettore nullo, anche se non lo è. Un prodotto scalare che ha un vettore così si chiama **degenere**. > [!IDEA] > **Definito positivo**: ogni vettore non nullo, moltiplicato per sé stesso, dà un numero positivo. **Degenere**: c'è un vettore non nullo che il prodotto non vede, perché dà zero con tutti. Le dispense lo scrivono così. > [!DEF] 19.2 · Degenere, definito positivo > Un prodotto scalare su $V$ è: > - **degenere** se esiste $v \neq 0$ tale che $\langle v, w\rangle = 0$ per ogni $w \in V$; > - **definito positivo** se $\langle v, v\rangle > 0$ per ogni $v \in V$ non nullo. **Come si legge.** - $v \neq 0$ si legge «$v$ diverso da zero». Vuol dire che $v$ non è il vettore nullo. - La riga di «degenere» dice: esiste un vettore non nullo $v$ per cui $\langle v, w\rangle$ fa zero, qualunque sia il vettore $w$. Fai attenzione a due parole. **Esiste** un $v$: ne basta uno. **Per ogni** $w$: deve dare zero con tutti i vettori, compreso sé stesso. - La riga di «definito positivo» dice: il prodotto di $v$ con sé stesso è maggiore di zero. Il simbolo $>$ si legge «maggiore di». Deve valere per **tutti** i vettori tranne quello nullo. Per il vettore nullo viene sempre zero. - Un prodotto che non è degenere si chiama **non degenere**. Vuol dire che nessun vettore è invisibile: per ogni vettore non nullo c'è almeno un vettore con cui il prodotto non fa zero. Le due definizioni guardano cose diverse. «Degenere» guarda il prodotto di un vettore con **tutti gli altri**. «Definito positivo» guarda solo il prodotto di ogni vettore **con sé stesso**. ### Definito positivo è più forte di non degenere Le due proprietà sono legate: un prodotto definito positivo di sicuro non è degenere. Il motivo a parole. Un vettore invisibile dà zero con tutti, quindi anche con sé stesso. Ma in un prodotto definito positivo nessun vettore non nullo dà zero con sé stesso. Quindi di vettori invisibili non ce ne sono. > [!PROP] 19.3 > Un prodotto scalare definito positivo non è degenere. > [!DIM] la spiegazione delle dispense, un passo alla volta > È un ragionamento per assurdo (lezione L01): si fa finta che sia vero il contrario e si arriva a una cosa impossibile. > > 1. Faccio finta che il prodotto sia definito positivo **e anche** degenere. > 2. Siccome è degenere, esiste un vettore $v \neq 0$ che dà zero con **ogni** vettore $w$. > 3. Tra tutti i vettori $w$ posso scegliere proprio $v$. Quindi $\langle v, v\rangle = 0$. > 4. Ma il prodotto è definito positivo e $v$ non è nullo, quindi $\langle v, v\rangle > 0$. > 5. Lo stesso numero non può essere uguale a zero e insieme maggiore di zero. L'ipotesi del passo 1 è impossibile: il prodotto non è degenere. ### Il contrario non vale: tre prodotti a confronto Attenzione: il contrario è falso. Un prodotto può essere non degenere senza essere definito positivo. Il riquadro mette a confronto tre prodotti su $\R^2$. > [!ESEMPIO] Tre prodotti scalari su $\R^2$ a confronto > **Primo prodotto: $g(x, y) = x_1y_1 + x_2y_2$**, il conto della spesa. È **definito positivo**. > > Un vettore con sé stesso dà $g(x, x) = x_1^2 + x_2^2$: una somma di due quadrati. Se il vettore non è nullo, almeno uno dei suoi due numeri non è zero, e il suo quadrato è positivo. Per esempio $g\big((3, 4), (3, 4)\big) = 9 + 16 = 25$. > > **Secondo prodotto: $g(x, y) = x_1y_1$.** È **degenere**. > > Il vettore $e_2 = (0, 1)$ non è nullo. Il suo primo numero è 0, quindi $g(e_2, w) = 0 \cdot w_1 = 0$ per ogni vettore $w$. > > **Terzo prodotto: $g(x, y) = x_1y_1 - x_2y_2$.** Non è degenere, ma **non è definito positivo**. > > Non è definito positivo, perché il vettore $e_2$ con sé stesso dà un numero negativo: > $$g(e_2, e_2) = 0 \cdot 0 - 1 \cdot 1 = -1$$ > Non è degenere, perché nessun vettore non nullo è invisibile. Prendo un vettore non nullo qualsiasi $v = (a, b)$. Lo moltiplico per il vettore $w = (a, -b)$, che ha il secondo numero cambiato di segno. > $$g(v, w) = a \cdot a - b \cdot (-b) = a^2 + b^2$$ > È una somma di due quadrati, e almeno uno tra $a$ e $b$ non è zero. Quindi il risultato è positivo: non è zero. Con i numeri: per $v = (2, 3)$ prendo $w = (2, -3)$ e ottengo $4 + 9 = 13$. > [!TRAPPOLA] Zero con sé stesso non vuol dire degenere > Nel terzo prodotto il vettore $v = (1, 1)$ dà zero con sé stesso: $g(v, v) = 1 - 1 = 0$. Eppure il prodotto **non** è degenere. > > Infatti $v$ non dà zero con tutti. Con il vettore $(1, 0)$ dà $1 \cdot 1 - 1 \cdot 0 = 1$. > > Per essere degenere serve un vettore che dà zero con **tutti**, non solo con sé stesso. Il libro di Martelli chiama **isotropo** un vettore che dà zero con sé stesso. Tutti i prodotti visti finora, in una tabella. | Prodotto su $\R^2$ | Degenere? | Definito positivo? | Motivo in una riga | |---|---|---|---| | $x_1y_1 + x_2y_2$ | no | sì | un vettore con sé stesso dà $x_1^2 + x_2^2$ | | $2x_1y_1 + 3x_2y_2$ | no | sì | un vettore con sé stesso dà $2x_1^2 + 3x_2^2$ | | $x_1y_1$ | sì | no | $e_2$ dà zero con tutti | | $x_1y_1 - x_2y_2$ | no | no | $e_2$ con sé stesso dà $-1$ | ::: prova Il prodotto $g(x, y) = x_2y_2$ su $\R^2$ è degenere? Quale vettore non vede? Sì. Usa solo i secondi numeri, quindi non vede il vettore $e_1 = (1, 0)$, che ha il secondo numero uguale a 0: $g(e_1, w) = 0 \cdot w_2 = 0$ per ogni vettore $w$. ::: ::: prova Nel prodotto $g(x, y) = x_1y_1 - x_2y_2$, quanto vale $g(v, v)$ per $v = (1, 2)$? Che cosa ne ricavi? $1 \cdot 1 - 2 \cdot 2 = 1 - 4 = -3$. È negativo, quindi il prodotto non è definito positivo. ::: > [!RICORDA] > - **Definito positivo**: ogni vettore non nullo con sé stesso dà un numero positivo. > - **Degenere**: c'è un vettore non nullo che dà zero con tutti. > - Se un prodotto è definito positivo, allora non è degenere. Il contrario è falso: $x_1y_1 - x_2y_2$ non è degenere e non è definito positivo. ## Un prodotto scalare tra polinomi (p. 97) Un prodotto scalare non esiste solo tra liste di numeri. La definizione chiede soltanto uno spazio in cui si possa sommare e moltiplicare per un numero. I polinomi formano uno spazio così (lezione L05). Quindi anche tra due polinomi si può costruire un prodotto scalare. All'esame capita: per esempio nella domanda 7 dell'appello del 24/01/2024. Qui l'immagine delle frecce non funziona più: un polinomio non si disegna come uno spostamento sulla mappa. Le tre regole però restano, e bastano quelle. > [!RIPASSO] polinomi e valore in un punto > Un **polinomio** è un'espressione come $1 + 2x + x^2$: numeri fissi, i *coefficienti*, moltiplicati per potenze di una lettera $x$ (lezione L04). Il **grado** è l'esponente più alto: qui è 2. > > Un polinomio è una macchina: metti un numero al posto di $x$ ed esce un numero. Il numero che esce si chiama **valore** del polinomio in quel punto. Se il polinomio si chiama $p$, il suo valore in 2 si scrive $p(2)$ e si legge «pi di due». > > Per il polinomio $p(x) = 1 + 2x + x^2$: > > - $p(0) = 1 + 2 \cdot 0 + 0^2 = 1$; > - $p(1) = 1 + 2 \cdot 1 + 1^2 = 4$; > - $p(2) = 1 + 2 \cdot 2 + 2^2 = 9$. > > Una **radice** di un polinomio è un numero in cui il valore è zero. Il **polinomio nullo** è quello che vale zero in ogni punto: è il vettore nullo dello spazio dei polinomi. > > La scrittura $\R_2[x]$ si legge «erre due di x». È lo spazio dei polinomi di grado al massimo 2 con i coefficienti reali, cioè dei polinomi $a + bx + cx^2$. Le dispense scrivono «grado $\le 2$»: il simbolo $\le$ si legge «minore o uguale». Una base di questo spazio è $\{1, x, x^2\}$ (lezione L07). ### L'idea: una tabella di valori, poi il conto della spesa L'idea delle dispense è questa. Scegli tre punti, per esempio 0, 1 e 2. Di ogni polinomio calcoli i valori in questi tre punti: così ogni polinomio diventa una lista di tre numeri. Poi fai il conto della spesa tra le due liste. Proviamo con i polinomi $p(x) = x$ e $q(x) = x^2$. | | in 0 | in 1 | in 2 | |---|--:|--:|--:| | valori di $p(x) = x$ | $0$ | $1$ | $2$ | | valori di $q(x) = x^2$ | $0$ | $1$ | $4$ | | prodotto dei due valori | $0 \cdot 0 = 0$ | $1 \cdot 1 = 1$ | $2 \cdot 4 = 8$ | Somma dell'ultima riga: $0 + 1 + 8 = 9$. Quindi il prodotto scalare dei due polinomi è 9. > [!IDEA] > Per moltiplicare due polinomi con un prodotto scalare di questo tipo: scrivi la tabella dei valori, moltiplica i valori punto per punto, somma. ### Tre punti: un prodotto definito positivo Con i tre punti 0, 1 e 2 la formula del prodotto è questa. $$\langle p, q\rangle = p(0)q(0) + p(1)q(1) + p(2)q(2)$$ A parole: i valori dei due polinomi in 0 moltiplicati tra loro, più quelli in 1, più quelli in 2. **È un prodotto scalare.** Scambiando i due polinomi non cambia niente, perché in ogni pezzo si moltiplicano due numeri. Somme e multipli si spezzano, perché il valore di una somma di polinomi è la somma dei valori, e il valore di un multiplo è il multiplo del valore. Per esempio $x + 1$ in 2 vale 3, cioè $2 + 1$. **È definito positivo.** Un polinomio con sé stesso dà la somma dei quadrati dei suoi tre valori. $$\langle p, p\rangle = p(0)^2 + p(1)^2 + p(2)^2$$ Per esempio il polinomio $1 + x$ vale 1, 2 e 3 nei tre punti. Con sé stesso dà $1 + 4 + 9 = 14$. Una somma di quadrati non è mai negativa. Può fare zero solo se i tre valori sono tutti zero, cioè se il polinomio ha **tre** radici diverse: 0, 1 e 2. Ma un polinomio non nullo di grado al massimo 2 ha al massimo due radici (Teorema 4.6, lezione L04). Quindi solo il polinomio nullo dà zero con sé stesso. ### Due punti soli: un prodotto degenere Togliamo il terzo punto. $$\langle p, q\rangle = p(0)q(0) + p(1)q(1)$$ Il ragionamento di prima non funziona più. Con due punti soli, un polinomio di grado 2 può valere zero in tutti e due. Eccone uno. $$p(x) = x(1 - x) = x - x^2$$ In 0 vale $0 \cdot 1 = 0$. In 1 vale $1 \cdot 0 = 0$. Non è il polinomio nullo: in 2 vale $2 \cdot (-1) = -2$. Con questo polinomio il prodotto fa zero qualunque sia l'altro polinomio $q$. $$\langle p, q\rangle = 0 \cdot q(0) + 0 \cdot q(1) = 0$$ Il prodotto non vede il polinomio $x - x^2$. Quindi è **degenere**. ### Un segno meno: non degenere, ma non definito positivo Rimettiamo il terzo punto, ma con il segno meno. $$\langle p, q\rangle = p(0)q(0) + p(1)q(1) - p(2)q(2)$$ Prendi il polinomio $p(x) = x - 1$. I suoi valori nei tre punti sono $-1$, $0$ e $1$. Con sé stesso dà zero. $$\langle p, p\rangle = (-1)^2 + 0^2 - 1^2 = 1 + 0 - 1 = 0$$ Un polinomio non nullo che con sé stesso dà zero: il prodotto **non è definito positivo**. Con altri polinomi il risultato cambia segno. - Il polinomio $1$, che vale sempre 1, con sé stesso dà $1 + 1 - 1 = 1$: positivo. - Il polinomio $x$ ha valori 0, 1 e 2. Con sé stesso dà $0 + 1 - 4 = -3$: negativo. Le dispense dicono anche che questo prodotto **non è degenere**, senza dimostrarlo. Il motivo è nel riquadro qui sotto. > [!APPROFONDIMENTO] perché il terzo prodotto non è degenere > L'idea: costruire tre polinomi «interruttore». Ognuno è acceso, cioè vale 1, in uno solo dei tre punti. Negli altri due è spento, cioè vale 0. > $$q_0 = \frac{(x - 1)(x - 2)}{2} \qquad q_1 = 2x - x^2 \qquad q_2 = \frac{x(x - 1)}{2}$$ > > | | in 0 | in 1 | in 2 | > |---|--:|--:|--:| > | $q_0$ | $1$ | $0$ | $0$ | > | $q_1$ | $0$ | $1$ | $0$ | > | $q_2$ | $0$ | $0$ | $1$ | > > Controllo della prima riga. In 0 il polinomio $q_0$ vale $\frac{(-1) \cdot (-2)}{2} = 1$. In 1 vale 0, perché c'è il fattore $x - 1$. In 2 vale 0, perché c'è il fattore $x - 2$. > > Se moltiplichi un polinomio qualsiasi $p$ per un interruttore, del prodotto resta un solo pezzo. > $$\langle p, q_0\rangle = p(0) \qquad \langle p, q_1\rangle = p(1) \qquad \langle p, q_2\rangle = -p(2)$$ > Ora prendi un polinomio $p$ che dà zero con **tutti** i polinomi. Allora dà zero anche con i tre interruttori. Quindi $p(0) = 0$, $p(1) = 0$ e $p(2) = 0$: ha tre radici. Un polinomio di grado al massimo 2 con tre radici è il polinomio nullo. > > Quindi nessun polinomio non nullo è invisibile: il prodotto non è degenere. ### Come lo scrivono le dispense Le dispense riassumono i tre casi in un solo esempio. > [!ESEMPIO] 19.4 · Tre prodotti scalari su $\R_2[x]$ > Sono i tre prodotti appena visti, tutti sullo spazio $\R_2[x]$ dei polinomi di grado al massimo 2. > > | Il prodotto $\langle p, q\rangle$ | Che cosa è | Il motivo delle dispense | > |---|---|---| > | $p(0)q(0) + p(1)q(1) + p(2)q(2)$ | definito positivo | un polinomio non nullo non può valere zero nei tre punti 0, 1 e 2 | > | $p(0)q(0) + p(1)q(1)$ | degenere | il polinomio $x(1 - x)$ dà zero con ogni polinomio | > | $p(0)q(0) + p(1)q(1) - p(2)q(2)$ | non degenere, ma non definito positivo | il polinomio $x - 1$ con sé stesso dà $(-1)^2 - 1^2 = 0$ | > > Nell'ultima riga le dispense non scrivono il pezzo di mezzo, perché il polinomio $x - 1$ vale zero in 1. ::: prova Con il primo prodotto (punti 0, 1 e 2) calcola $\langle 1, x\rangle$. Il polinomio $1$ è quello che vale sempre 1. Valori di $1$ nei tre punti: 1, 1, 1. Valori di $x$: 0, 1, 2. Prodotti punto per punto: $1 \cdot 0 = 0$, poi $1 \cdot 1 = 1$, poi $1 \cdot 2 = 2$. Somma: $0 + 1 + 2 = 3$. ::: ::: prova Con il secondo prodotto (punti 0 e 1) quanto vale $\langle x - x^2,\ 1\rangle$? Il polinomio $x - x^2$ vale 0 in 0 e vale 0 in 1. Quindi il prodotto è $0 \cdot 1 + 0 \cdot 1 = 0$. Con questo polinomio viene zero qualunque sia il secondo. ::: > [!RICORDA] > - Un prodotto scalare tra polinomi: calcola i valori dei due polinomi negli stessi punti, moltiplica i valori punto per punto, somma. > - Su $\R_2[x]$: con tre punti e tutti i segni più è definito positivo. Con due punti soli è degenere. Con un segno meno non è definito positivo. > - Prima di ogni conto scrivi la tabella dei valori. ## Il conto della spesa ha un nome: prodotto euclideo (p. 97) Il conto della spesa dell'inizio ha un nome ufficiale: prodotto scalare euclideo. «Euclideo» viene da Euclide, il matematico greco della geometria che si studia a scuola. È il prodotto scalare «normale» dei vettori fatti di numeri. Quando un esercizio non dice quale prodotto scalare usare, è questo. Finora l'hai usato con vettori di due numeri. Con più numeri la regola è la stessa: moltiplica i numeri che stanno nello stesso posto e somma tutto. > [!ESEMPIO] Il prodotto euclideo con due, tre e quattro numeri > **In $\R^2$**, l'esempio delle dispense: > $$\langle (1, 3), (-2, 1)\rangle = 1 \cdot (-2) + 3 \cdot 1 = -2 + 3 = 1$$ > **In $\R^3$:** > $$\langle (1, 2, 3), (4, -5, 6)\rangle = 1 \cdot 4 + 2 \cdot (-5) + 3 \cdot 6 = 4 - 10 + 18 = 12$$ > **In $\R^4$:** > $$\langle (1, 0, -1, 2), (3, 5, 1, 1)\rangle = 1 \cdot 3 + 0 \cdot 5 + (-1) \cdot 1 + 2 \cdot 1 = 3 + 0 - 1 + 2 = 4$$ ### Tre modi di scrivere lo stesso conto Le dispense scrivono il prodotto euclideo in tre modi. Dicono tutti la stessa cosa. **Primo modo: per esteso.** Un vettore con $n$ numeri si scrive $x = (x_1, \dots, x_n)$. I tre puntini vogliono dire «e avanti così»: il primo numero si chiama $x_1$, l'ultimo $x_n$. $$\langle x, y\rangle = x_1y_1 + x_2y_2 + \dots + x_ny_n$$ **Secondo modo: con il simbolo di somma.** Serve un simbolo che forse non ricordi. > [!RIPASSO] il simbolo di somma > La lettera greca $\sum$ è una sigma maiuscola e si legge «somma». Serve a scrivere in breve una somma di tanti pezzi fatti tutti nello stesso modo. > $$\sum_{i=1}^{3} x_iy_i = x_1y_1 + x_2y_2 + x_3y_3$$ > Si legge «somma, per $i$ da 1 a 3, di $x_i$ per $y_i$». La lettera $i$ è un contatore. Parte dal numero scritto sotto il simbolo, arriva a quello scritto sopra, e per ogni suo valore c'è un pezzo della somma. **Terzo modo: riga per colonna.** Serve un ripasso sulle matrici. > [!RIPASSO] vettori in colonna, trasposta, riga per colonna > Nelle dispense un vettore di $\R^n$ è scritto **in colonna**, cioè in verticale. > $$x = \begin{pmatrix} 1 \\ 3 \end{pmatrix}$$ > La **trasposta** di $x$ è lo stesso vettore scritto **in riga**, cioè in orizzontale. Si scrive ${}^tx$, con una piccola $t$ in alto a sinistra, e si legge «$x$ trasposto» (lezione L08). > $${}^tx = \begin{pmatrix} 1 & 3 \end{pmatrix}$$ > Una riga si può moltiplicare per una colonna con lo stesso numero di posti. Il risultato è un numero: primo per primo, più secondo per secondo, e avanti così. > $$\begin{pmatrix} 1 & 3 \end{pmatrix}\begin{pmatrix} -2 \\ 1 \end{pmatrix} = 1 \cdot (-2) + 3 \cdot 1 = 1$$ > È proprio il conto della spesa. Quindi il prodotto euclideo di due vettori è la riga del primo moltiplicata per la colonna del secondo. Si scrive ${}^tx\,y$. Le dispense mettono insieme il terzo modo e il secondo. > [!DEF] 19.5 · Prodotto scalare euclideo > Il **prodotto scalare euclideo** su $\R^n$ è definito come > $$\langle x, y\rangle = {}^tx\,y = \sum_{i=1}^n x_iy_i.$$ **Come si legge.** «Il prodotto scalare di $x$ e $y$ è uguale a $x$ trasposto per $y$, cioè alla somma, per $i$ da 1 a $n$, di $x_i$ per $y_i$.» Il primo uguale è il modo «riga per colonna». Il secondo uguale è il modo con il simbolo di somma. La lettera $n$ è il numero di posti dei due vettori. In questi appunti, per occupare meno spazio, un vettore colonna è scritto spesso in riga, con le parentesi tonde e le virgole: $(1, 3)$. Negli appelli trovi anche la scrittura ${}^t(1, 3)$. Vuol dire «la riga trasposta», cioè la colonna con i numeri 1 e 3. ### È un prodotto definito positivo Le dispense riassumono in una riga quello che abbiamo visto sul conto della spesa. > [!PROP] 19.6 > Il prodotto scalare euclideo è un prodotto scalare definito positivo su $\R^n$. **Come si legge.** La frase dice due cose. La prima: il conto della spesa rispetta i tre assiomi, quindi è davvero un prodotto scalare. La seconda: è definito positivo, e lo è per i vettori con un numero qualsiasi di posti. Il motivo della seconda l'hai già visto con il vettore $(3, 4)$: un vettore con sé stesso dà una somma di quadrati. $$\langle x, x\rangle = x_1^2 + x_2^2 + \dots + x_n^2$$ Se il vettore non è nullo, almeno uno dei suoi numeri non è zero. Il quadrato di quel numero è positivo, e gli altri quadrati non sono negativi. Quindi la somma è positiva. > [!DIM] la dimostrazione, dal libro di Martelli (Proposizione 7.1.5) > Le dispense non riportano la dimostrazione. Eccola in tre passi. > > 1. **Somme e multipli si spezzano.** Viene dalle regole del prodotto tra matrici (lezione L08): ${}^t(x + x')\,y = {}^tx\,y + {}^tx'\,y$ e ${}^t(\lambda x)\,y = \lambda\,{}^tx\,y$. > 2. **Simmetria.** In ogni pezzo $x_iy_i$ i due numeri si possono scambiare. > 3. **Definito positivo.** Se $x \neq 0$, almeno un numero $x_i$ non è zero. Il suo quadrato è positivo e rende positiva la somma $x_1^2 + \dots + x_n^2$. ### Prova con lo strumento Lo strumento qui sotto disegna due vettori del piano, $u$ e $v$, e calcola il loro prodotto scalare euclideo. Lo scrive con il puntino, $u \cdot v$. Trascina le punte delle due frecce e prova queste due cose. 1. Cerca una posizione in cui il prodotto vale zero. Le due frecce devono essere perpendicolari. 2. Cerca una posizione in cui il prodotto è negativo. L'angolo tra le due frecce deve essere ottuso. Lo strumento mostra anche l'angolo e la proiezione: sono argomenti delle lezioni L20 e L21. ```widget vettori titolo: Il prodotto scalare euclideo nel piano u: 1 3 v: -2 1 modo: scalare modi: scalare raggio: 5 ``` > [!OLTRE] · il prodotto scalare della fisica > In fisica il prodotto scalare di due frecce si calcola con le lunghezze e con l'angolo: la lunghezza della prima, per la lunghezza della seconda, per il coseno dell'angolo tra le due. > $$\langle v, w\rangle = \lVert v \rVert\,\lVert w \rVert\cos\vartheta$$ > Le doppie barre indicano la lunghezza del vettore. La lettera greca $\vartheta$, *theta*, è l'angolo. > > Il corso fa la strada al contrario: prima il prodotto scalare, poi da quello ricava lunghezze e angoli (lezione L20). Il vantaggio è che la stessa costruzione funziona anche dove le frecce non si possono disegnare, come nello spazio dei polinomi. ::: prova Calcola $\langle (2, 0, 1), (1, 5, 3)\rangle$. $2 \cdot 1 + 0 \cdot 5 + 1 \cdot 3 = 2 + 0 + 3 = 5$. ::: ::: prova Scrivi per esteso $\sum_{i=1}^{2} x_iy_i$ e calcolala per $x = (4, 1)$ e $y = (2, 3)$. Per esteso: $x_1y_1 + x_2y_2$. Con i numeri: $4 \cdot 2 + 1 \cdot 3 = 8 + 3 = 11$. ::: > [!RICORDA] > - Il **prodotto scalare euclideo** di $\R^n$: moltiplica i numeri nello stesso posto e somma. > - Tre scritture, un solo conto: per esteso, con il simbolo $\sum$, oppure ${}^tx\,y$ (riga per colonna). > - È definito positivo: un vettore con sé stesso dà la somma dei quadrati dei suoi numeri. ## Una matrice simmetrica dà un prodotto scalare (pp. 97–98) Nel conto della spesa ogni numero del primo vettore incontra solo il numero che sta nello stesso posto del secondo. Primo con primo, secondo con secondo. Ma hai già visto formule con dei «pesi», come quella con il 2 e il 3 davanti ai due pezzi. E niente vieta di far incontrare anche numeri che stanno in posti diversi: il primo di $x$ con il secondo di $y$, e il secondo di $x$ con il primo di $y$. Un prodotto così, su $\R^2$, ha al massimo quattro pezzi. Per esempio questo. $$g(x, y) = 2\,x_1y_1 + 1\,x_1y_2 + 1\,x_2y_1 + 1\,x_2y_2$$ Ogni pezzo ha il suo peso: il numero che ha davanti. I quattro pesi si possono mettere in una tabella. La riga dice quale numero di $x$ c'è nel pezzo, la colonna quale numero di $y$. | | $y_1$ | $y_2$ | |---|--:|--:| | $x_1$ | $2$ | $1$ | | $x_2$ | $1$ | $1$ | Una tabella di numeri è una **matrice** (lezione L08). Quella dei pesi la chiamiamo $S$. Ha due righe e due colonne: in breve, è una matrice $2 \times 2$, che si legge «due per due». $$S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$$ > [!IDEA] > Una matrice è una tabella di pesi. Il numero nella riga $i$ e nella colonna $j$ dice quanto pesa, nel conto, il pezzo «numero di posto $i$ di $x$ per numero di posto $j$ di $y$». I numeri di una matrice si indicano con due indici. La scrittura $S_{ij}$ si legge «esse i gei» ed è il numero che sta nella riga $i$ e nella colonna $j$. Nella matrice qui sopra, per esempio, $S_{11} = 2$ e $S_{12} = 1$. ### Perché la matrice deve essere simmetrica Un prodotto scalare deve essere simmetrico: scambiando i due vettori il risultato non cambia. Guarda i due pezzi «misti». Scambiando $x$ con $y$, il pezzo $x_1y_2$ diventa $y_1x_2$, cioè $x_2y_1$. I due pezzi misti si scambiano tra loro. Quindi il risultato resta uguale solo se hanno lo **stesso peso**: il numero nella riga 1 e colonna 2 deve essere uguale al numero nella riga 2 e colonna 1. Una matrice così si chiama simmetrica. > [!RIPASSO] matrice simmetrica e trasposta > La **diagonale** di una matrice quadrata è la fila di numeri che va dall'angolo in alto a sinistra all'angolo in basso a destra. > > Una matrice è **simmetrica** se è uguale alla sua immagine allo specchio rispetto alla diagonale. Il numero nella riga $i$ e colonna $j$ è uguale a quello nella riga $j$ e colonna $i$ (lezione L08). > $$\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix} \text{ è simmetrica} \qquad\qquad \begin{pmatrix} 2 & 5 \\ 1 & 1 \end{pmatrix} \text{ non lo è}$$ > La **trasposta** di una matrice si ottiene scambiando le righe con le colonne. Si scrive ${}^tS$. Una matrice è simmetrica esattamente quando è uguale alla sua trasposta: ${}^tS = S$. > > C'è anche una regola per la trasposta di un prodotto: si traspongono i due pezzi e si scambia il loro ordine. > $${}^t(AB) = {}^tB\,{}^tA$$ ### Il conto: riga, matrice, colonna Il prodotto con i pesi si scrive in modo compatto: la riga ${}^tx$, per la matrice $S$, per la colonna $y$. $$g_S(x, y) = {}^tx\,S\,y$$ La scrittura $g_S$ si legge «gi con esse». È il nome del prodotto scalare costruito con la matrice $S$. > [!ESEMPIO] Il conto riga, matrice, colonna, un passo alla volta > La matrice è $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$. I vettori sono $x = (1, 2)$ e $y = (3, 1)$. > > 1. **Matrice per colonna.** Ogni riga della matrice va moltiplicata per la colonna $y$. I due risultati vanno uno sotto l'altro. > $$S\,y = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 3 \\ 1 \end{pmatrix} = \begin{pmatrix} 2 \cdot 3 + 1 \cdot 1 \\ 1 \cdot 3 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 7 \\ 4 \end{pmatrix}$$ > 2. **Riga per colonna.** La riga ${}^tx$ va moltiplicata per la colonna appena trovata. > $$\begin{pmatrix} 1 & 2 \end{pmatrix}\begin{pmatrix} 7 \\ 4 \end{pmatrix} = 1 \cdot 7 + 2 \cdot 4 = 15$$ > 3. **Controllo con la formula dei quattro pezzi.** Metto $x_1 = 1$, $x_2 = 2$, $y_1 = 3$, $y_2 = 1$. > $$2 \cdot 1 \cdot 3 + 1 \cdot 1 \cdot 1 + 1 \cdot 2 \cdot 3 + 1 \cdot 2 \cdot 1 = 6 + 1 + 6 + 2 = 15$$ > > I due conti danno lo stesso numero: $g_S(x, y) = 15$. Le dispense lo scrivono così. > [!PROP] 19.7 > Una matrice simmetrica $S$ definisce un prodotto scalare $g_S$ su $\R^n$ ponendo > $$g_S(x, y) = {}^tx\,S\,y.$$ **Come si legge.** «Una matrice simmetrica $S$ dà un prodotto scalare sui vettori di $\R^n$. Il prodotto si chiama $g_S$ e la sua regola è: $x$ trasposto, per $S$, per $y$.» La parola «ponendo» vuol dire «con questa regola». La matrice ha $n$ righe e $n$ colonne, tante quanti sono i numeri di un vettore. Perché è vero? Somme e multipli si spezzano, perché il prodotto tra matrici rispetta somme e multipli. La simmetria del prodotto viene dalla simmetria della matrice: l'hai visto sopra con i due pezzi misti. > [!DIM] la dimostrazione delle dispense, con tutti i passaggi > 1. **Il risultato è un numero.** La riga ${}^tx$ ha $n$ numeri. La matrice $S$ ha $n$ righe e $n$ colonne. La colonna $y$ ha $n$ numeri. Quindi i prodotti si possono fare, e il risultato è una matrice con una riga e una colonna: un numero. > 2. **Bilinearità.** Viene dalle regole del prodotto tra matrici: il prodotto si distribuisce sulla somma, e i numeri escono fuori. Per esempio ${}^t(x + x')\,S\,y = {}^tx\,S\,y + {}^tx'\,S\,y$. > 3. **Simmetria.** Le dispense scrivono questa catena di uguali. > $$g_S(x, y) = {}^tx\,S\,y = {}^t\big({}^tx\,S\,y\big) = {}^ty\,{}^tS\,x = {}^ty\,S\,x = g_S(y, x)$$ > - Il secondo uguale: ${}^tx\,S\,y$ è un numero, cioè una matrice con una sola casella. Trasporla non la cambia. > - Il terzo uguale: la trasposta di un prodotto di tre pezzi è il prodotto delle trasposte nell'ordine inverso. E la trasposta di ${}^tx$ è di nuovo $x$. > - Il quarto uguale usa l'ipotesi: $S$ è simmetrica, cioè ${}^tS = S$. Senza questa ipotesi la catena si ferma qui. ### La formula per esteso Per i conti a mano conviene la formula con tutti i pezzi scritti. Per una matrice simmetrica $2 \times 2$, fatta con tre numeri qualsiasi $a$, $b$ e $c$, è questa. $$S = \begin{pmatrix} a & b \\ b & c \end{pmatrix} \qquad\qquad g_S(x, y) = a\,x_1y_1 + b\,x_1y_2 + b\,x_2y_1 + c\,x_2y_2$$ Ci sono quattro pezzi, uno per ogni casella della matrice. La regola da ricordare è una sola: **il numero $S_{ij}$ della matrice è il numero che sta davanti a $x_iy_j$ nella formula**. Con vettori di $n$ numeri le caselle sono $n \cdot n$, e i pezzi altrettanti. Le dispense li scrivono tutti con un solo simbolo di somma. > [!PROP] 19.8 > Vale > $$g_S(x, y) = {}^tx\,S\,y = \sum_{i,j=1}^n x_iS_{ij}y_j.$$ **Come si legge.** A destra c'è una somma **doppia**. Sotto il simbolo c'è scritto $i, j = 1$ e sopra c'è $n$: i contatori sono due, e ognuno va da 1 a $n$ per conto suo. C'è un pezzo per ogni coppia di valori dei due contatori. Ogni pezzo è fatto così: il numero di posto $i$ di $x$, per il peso $S_{ij}$, per il numero di posto $j$ di $y$. Con $n = 2$ sono i quattro pezzi di prima. > [!DIM] perché vale, in tre passi > 1. Il vettore $Sy$ ha, al posto $i$, la riga $i$ della matrice moltiplicata per la colonna $y$: > $$(Sy)_i = \sum_{j=1}^n S_{ij}y_j$$ > 2. Il prodotto ${}^tx\,(Sy)$ è una riga per una colonna: > $${}^tx\,(Sy) = \sum_{i=1}^n x_i(Sy)_i$$ > 3. Metto il passo 1 dentro il passo 2 e ottengo la somma doppia: > $${}^tx\,S\,y = \sum_{i,j=1}^n x_iS_{ij}y_j$$ ### I vettori della base canonica leggono le caselle Che cosa succede se nel prodotto metti due vettori della base canonica? Ricorda che $e_1 = (1, 0)$ ed $e_2 = (0, 1)$. Con più numeri è lo stesso: il vettore $e_i$ ha un 1 al posto $i$ e zeri in tutti gli altri posti. Prova con la matrice dei pesi di prima. Metti $x = e_1$ e $y = e_2$ nella formula dei quattro pezzi. In tre pezzi c'è almeno uno zero, e spariscono. Sopravvive solo il pezzo con $x_1y_2$, che vale il suo peso: il numero nella riga 1 e colonna 2. > [!COROLLARIO] 19.9 > Per i vettori della base canonica vale > $$g_S(e_i, e_j) = S_{ij}.$$ **Come si legge.** «Il prodotto $g_S$ tra il vettore numero $i$ e il vettore numero $j$ della base canonica è il numero della matrice che sta nella riga $i$ e nella colonna $j$.» In breve: il primo vettore sceglie la riga, il secondo sceglie la colonna. Le dispense danno due esempi. > [!ESEMPIO] 19.10 · La matrice identità > La **matrice identità** ha 1 su tutta la diagonale e 0 in tutte le altre caselle. Si scrive $I_n$, dove $n$ è il numero di righe. Per esempio $I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$. > > Per $S = I_n$ si ottiene il prodotto scalare euclideo: > $$g_{I_n}(x, y) = {}^tx\,y = x_1y_1 + \dots + x_ny_n.$$ > Il motivo: i pesi fuori dalla diagonale sono 0, quindi i pezzi misti spariscono. Restano i pezzi «stesso posto con stesso posto», tutti con peso 1. Con due numeri: > $$g_{I_2}(x, y) = 1\,x_1y_1 + 0\,x_1y_2 + 0\,x_2y_1 + 1\,x_2y_2 = x_1y_1 + x_2y_2$$ > [!ESEMPIO] 19.11 · Una matrice non diagonale > La matrice > $$S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$$ > definisce su $\R^2$ il prodotto scalare > $$g_S(x, y) = 2x_1y_1 + x_1y_2 + x_2y_1 + x_2y_2.$$ > È la matrice dei pesi usata in tutta questa sezione. Tre conti in più. > > **Due vettori della base canonica.** $g_S(e_1, e_2) = S_{12} = 1$. Con il prodotto euclideo questi due vettori danno zero. Con questo prodotto no. > > **Un vettore con sé stesso.** Con $x = y = (1, -1)$: > $$g_S(x, x) = 2 \cdot 1 \cdot 1 + 1 \cdot (-1) + (-1) \cdot 1 + (-1) \cdot (-1) = 2 - 1 - 1 + 1 = 1$$ > > **È definito positivo?** Metto $y = x$ nella formula. I due pezzi misti diventano uguali. > $$g_S(x, x) = 2x_1^2 + x_1x_2 + x_2x_1 + x_2^2 = 2x_1^2 + 2x_1x_2 + x_2^2$$ > Spezzo $2x_1^2$ in $x_1^2 + x_1^2$. Poi riconosco il quadrato di una somma: $x_1^2 + 2x_1x_2 + x_2^2 = (x_1 + x_2)^2$. > $$g_S(x, x) = x_1^2 + (x_1 + x_2)^2$$ > Una somma di due quadrati non è mai negativa. Fa zero solo se $x_1 = 0$ e $x_1 + x_2 = 0$, cioè solo per il vettore nullo. Quindi sì: questo prodotto è definito positivo. ::: prova Scrivi la formula di $g_S$ per la matrice $S = \begin{pmatrix} 1 & 3 \\ 3 & 2 \end{pmatrix}$. $g_S(x, y) = x_1y_1 + 3x_1y_2 + 3x_2y_1 + 2x_2y_2$. Ogni casella è il peso del suo pezzo. ::: ::: prova Per la stessa matrice, quanto valgono $g_S(e_2, e_2)$ e $g_S(e_1, e_2)$? $g_S(e_2, e_2) = S_{22} = 2$: riga 2, colonna 2. $g_S(e_1, e_2) = S_{12} = 3$: riga 1, colonna 2. ::: > [!RICORDA] > - Una matrice simmetrica $S$ dà il prodotto scalare $g_S(x, y) = {}^tx\,S\,y$. > - Il numero nella riga $i$ e colonna $j$ è il peso del pezzo $x_iy_j$. > - I vettori della base canonica leggono le caselle: $g_S(e_i, e_j) = S_{ij}$. > - Con la matrice identità si ritrova il prodotto euclideo. ## Dalla formula alla matrice, e ritorno (p. 98) All'esame un prodotto scalare può essere dato in due modi: con una formula oppure con una matrice. Bisogna saper passare dall'una all'altra in fretta. La regola è quella di prima: il numero nella riga $i$ e colonna $j$ è il numero davanti a $x_iy_j$. > [!METODO] Tra la matrice e la formula > **Dalla matrice alla formula.** > > 1. Per ogni casella scrivi un pezzo: il numero della casella, per la $x$ con l'indice della riga, per la $y$ con l'indice della colonna. > 2. Somma tutti i pezzi. Le caselle con 0 non danno pezzi. > > **Dalla formula alla matrice.** > > 1. Controlla che ogni pezzo sia un numero per **una** $x$ per **una** $y$. Se c'è un pezzo di un altro tipo, la formula non è bilineare: non è un prodotto scalare. > 2. Metti il numero davanti a $x_iy_j$ nella riga $i$ e nella colonna $j$. Un pezzo che manca vale 0. > 3. Controlla che la matrice sia simmetrica. Se non lo è, la formula non è un prodotto scalare. > [!ESEMPIO] Andata e ritorno > **Dalla formula alla matrice.** La formula è $g(x, y) = 3x_1y_1 - 2x_1y_2 - 2x_2y_1 + 5x_2y_2$. > > | Pezzo | Numero davanti | Casella | > |---|--:|---| > | $x_1y_1$ | $3$ | riga 1, colonna 1 | > | $x_1y_2$ | $-2$ | riga 1, colonna 2 | > | $x_2y_1$ | $-2$ | riga 2, colonna 1 | > | $x_2y_2$ | $5$ | riga 2, colonna 2 | > > $$S = \begin{pmatrix} 3 & -2 \\ -2 & 5 \end{pmatrix}$$ > La matrice è simmetrica: la formula è un prodotto scalare. > > **Dalla matrice alla formula.** La matrice è $S = \begin{pmatrix} 1 & 2 & 0 \\ 2 & 0 & -1 \\ 0 & -1 & 3 \end{pmatrix}$, quindi i vettori hanno tre numeri. Scrivo i pezzi una riga alla volta. > > - Riga 1: $1\,x_1y_1 + 2\,x_1y_2 + 0\,x_1y_3$. > - Riga 2: $2\,x_2y_1 + 0\,x_2y_2 - 1\,x_2y_3$. > - Riga 3: $0\,x_3y_1 - 1\,x_3y_2 + 3\,x_3y_3$. > > Tolgo i pezzi con lo 0 e sommo. > $$g_S(x, y) = x_1y_1 + 2x_1y_2 + 2x_2y_1 - x_2y_3 - x_3y_2 + 3x_3y_3$$ > > **Una formula che non passa il controllo.** La formula è $g(x, y) = x_1y_2 + 2x_2y_1$. Il numero davanti a $x_1y_2$ è 1, quello davanti a $x_2y_1$ è 2. La matrice sarebbe $\begin{pmatrix} 0 & 1 \\ 2 & 0 \end{pmatrix}$, che non è simmetrica. Quindi la formula **non** è un prodotto scalare. > [!TRAPPOLA] Non dividere per due > In un prodotto scalare i pezzi $x_1y_2$ e $x_2y_1$ sono **due pezzi diversi**, e ognuno ha la sua casella. Il numero davanti va nella matrice **così com'è**. > > La divisione per due serve in un'altra situazione: le **forme quadratiche** della lezione L20. Lì c'è un solo vettore, e i due pezzi misti si fondono in uno solo. ::: prova Scrivi la matrice di $g(x, y) = x_1y_1 + 4x_1y_2 + 4x_2y_1$ su $\R^2$. $\begin{pmatrix} 1 & 4 \\ 4 & 0 \end{pmatrix}$. Il pezzo $x_2y_2$ manca, quindi nella riga 2 e colonna 2 c'è 0. ::: ::: prova La formula $g(x, y) = x_1y_1 + 3x_1y_2 - 3x_2y_1$ è un prodotto scalare? No. La matrice sarebbe $\begin{pmatrix} 1 & 3 \\ -3 & 0 \end{pmatrix}$, che non è simmetrica: da una parte c'è 3, dall'altra $-3$. ::: > [!RICORDA] > - Il numero davanti a $x_iy_j$ va nella riga $i$ e colonna $j$. Un pezzo che manca vale 0. > - La matrice deve venire simmetrica. Se non lo è, la formula non è un prodotto scalare. > - Non si divide per due. ## Tre scorciatoie che guardano la matrice (oltre le dispense) Guardando la matrice si capisce in fretta se il prodotto è degenere oppure definito positivo. Le dispense non danno questi criteri: vengono dal libro di Martelli. Negli esercizi e nei problemi d'esame fanno risparmiare tempo. Una matrice simmetrica si chiama **definita positiva** quando lo è il suo prodotto scalare. > [!RIPASSO] il determinante di una matrice $2 \times 2$ > Il **determinante** è un numero che si calcola da una matrice quadrata (lezione L09). Si scrive $\det$. Per una matrice $2 \times 2$: il prodotto dei due numeri sulla diagonale, meno il prodotto degli altri due. > $$\det\begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc \qquad\qquad \det\begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix} = 1 \cdot 4 - 2 \cdot 2 = 0$$ > Il determinante è zero esattamente quando c'è un vettore non nullo che la matrice manda nel vettore nullo (lezione L10). ### Prima scorciatoia: degenere quando il determinante è zero Prendi la matrice del ripasso, quella con determinante zero. Il vettore $v = (2, -1)$ viene mandato nel vettore nullo. $$\begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}\begin{pmatrix} 2 \\ -1 \end{pmatrix} = \begin{pmatrix} 1 \cdot 2 + 2 \cdot (-1) \\ 2 \cdot 2 + 4 \cdot (-1) \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \end{pmatrix}$$ Questo vettore è invisibile per il prodotto: dà zero con tutti. Quindi il prodotto è degenere. Vale in generale. > [!OLTRE] · il criterio del determinante (Martelli, Proposizione 7.1.23) > Il prodotto $g_S$ è **degenere** esattamente quando $\det S = 0$. > > I vettori invisibili sono quelli che la matrice manda nel vettore nullo, cioè i vettori del nucleo di $S$. > [!DIM] perché il criterio del determinante funziona > **Se la matrice manda in zero un vettore non nullo, il prodotto è degenere.** Chiamo $v$ quel vettore: $Sv = 0$. Per ogni vettore $w$ vale > $$g_S(v, w) = {}^tv\,S\,w = {}^t(Sv)\,w = 0$$ > Il secondo uguale usa la regola della trasposta di un prodotto e la simmetria: ${}^t(Sv) = {}^tv\,{}^tS = {}^tv\,S$. > > **Se il prodotto è degenere, la matrice manda in zero un vettore non nullo.** Chiamo $v$ il vettore non nullo che dà zero con tutti. Tra tutti i vettori $w$ scelgo $w = Sv$. > $$0 = g_S(v, Sv) = {}^tv\,S\,(Sv) = {}^t(Sv)\,(Sv)$$ > L'ultimo pezzo è il prodotto euclideo di $Sv$ con sé stesso. Il prodotto euclideo è definito positivo, quindi $Sv$ è il vettore nullo. > > Infine: esiste un vettore non nullo con $Sv = 0$ esattamente quando $\det S = 0$ (lezione L10). ### Seconda scorciatoia: le matrici diagonali Una matrice **diagonale** ha numeri solo sulla diagonale. Tutte le altre caselle sono 0. Allora nella formula non ci sono pezzi misti, e un vettore con sé stesso dà una somma di quadrati con i pesi della diagonale. Per esempio, con 5 e 1 sulla diagonale un vettore con sé stesso dà $5x_1^2 + x_2^2$. I due pesi sono positivi, quindi il risultato è positivo per ogni vettore non nullo. > [!OLTRE] · matrici diagonali (Martelli, §7.1.6) > Prendi una matrice diagonale, con i numeri $d_1, \dots, d_n$ sulla diagonale. Un vettore con sé stesso dà > $$g_S(x, x) = d_1x_1^2 + \dots + d_nx_n^2$$ > > - Il prodotto è **definito positivo** esattamente quando tutti i numeri sulla diagonale sono positivi. > - Il prodotto è **non degenere** esattamente quando tutti i numeri sulla diagonale sono diversi da zero. | Numeri sulla diagonale | Che prodotto è | Perché | |---|---|---| | $5$ e $1$ | definito positivo | sono tutti positivi | | $1$ e $-3$ | non degenere, ma non definito positivo | nessuno è zero, ma uno è negativo: $e_2$ con sé stesso dà $-3$ | | $0$ e $1$ | degenere | c'è uno zero: il prodotto non vede $e_1$ | ### Terza scorciatoia: le matrici due per due Per una matrice simmetrica $2 \times 2$ bastano due numeri: quello in alto a sinistra e il determinante. > [!OLTRE] · il criterio per le matrici $2 \times 2$ > La matrice simmetrica $S = \begin{pmatrix} a & b \\ b & c \end{pmatrix}$ è **definita positiva** esattamente quando valgono tutte e due queste condizioni: > > - il numero in alto a sinistra è positivo: $a > 0$; > - il determinante è positivo: $ac - b^2 > 0$. Due esempi. - Per la matrice dei pesi $\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$: in alto a sinistra c'è 2, positivo. Il determinante è $2 \cdot 1 - 1 \cdot 1 = 1$, positivo. È definita positiva, come avevamo trovato nell'Esempio 19.11. - Per la matrice $\begin{pmatrix} 1 & 2 \\ 2 & 3 \end{pmatrix}$: in alto a sinistra c'è 1, positivo. Ma il determinante è $1 \cdot 3 - 2 \cdot 2 = -1$, negativo. Non è definita positiva. > [!DIM] perché il criterio funziona > Un vettore con sé stesso dà $a\,x_1^2 + 2b\,x_1x_2 + c\,x_2^2$. Se $a$ non è zero, si riscrive come somma di due pezzi con un quadrato ciascuno. Il trucco si chiama «completare il quadrato». > $$a\,x_1^2 + 2b\,x_1x_2 + c\,x_2^2 = a\left(x_1 + \frac ba x_2\right)^2 + \frac{ac - b^2}{a}\,x_2^2$$ > > **Se le due condizioni valgono**, i due pezzi a destra non sono mai negativi. Fanno zero insieme solo quando $x_2 = 0$ e poi $x_1 = 0$, cioè per il vettore nullo. > > **Se il prodotto è definito positivo**, allora $a = g_S(e_1, e_1)$ è positivo. Poi prendo il vettore $(-b, a)$, che non è nullo. Con sé stesso dà $ab^2 - 2ab^2 + ca^2 = a\,(ac - b^2)$. Questo numero è positivo e $a$ è positivo, quindi anche $ac - b^2$ è positivo. ::: prova Il prodotto $g_S$ con $S = \begin{pmatrix} 2 & 3 \\ 3 & 5 \end{pmatrix}$ è definito positivo? Sì. In alto a sinistra c'è 2, positivo. Il determinante è $2 \cdot 5 - 3 \cdot 3 = 10 - 9 = 1$, positivo. ::: ::: prova Il prodotto $g_S$ con $S = \begin{pmatrix} 3 & 6 \\ 6 & 12 \end{pmatrix}$ è degenere? Sì. Il determinante è $3 \cdot 12 - 6 \cdot 6 = 36 - 36 = 0$. ::: > [!RICORDA] > - Il prodotto $g_S$ è degenere esattamente quando $\det S = 0$. > - Matrice diagonale: definita positiva quando i numeri sulla diagonale sono tutti positivi. > - Matrice $2 \times 2$: definita positiva quando il numero in alto a sinistra è positivo e il determinante è positivo. ## La matrice associata: la tabella dei prodotti (pp. 98–99) Alle elementari si impara la tabellina: una tabella con i prodotti dei numeri da 1 a 10. Con quella tabella, e con la regola per spezzare le somme, si fa qualunque moltiplicazione. Per esempio 23 per 4 si spezza in 20 per 4 più 3 per 4. Per un prodotto scalare succede la stessa cosa. Basta conoscere i prodotti tra i vettori di una **base**: tutti gli altri prodotti si ricavano da quelli, spezzando somme e multipli. La tabella con i prodotti tra i vettori della base si chiama matrice associata. È la domanda d'esame più frequente di questa lezione. > [!RIPASSO] base e coordinate > Una **base** di uno spazio vettoriale è un elenco di vettori con cui si costruisce ogni altro vettore dello spazio, in un modo solo (lezione L07). «Costruire» vuol dire fare una **combinazione lineare**: una ricetta del tipo «2 parti del primo più 3 parti del secondo». > > Le quantità della ricetta si chiamano **coordinate** del vettore rispetto a quella base (lezione L13). > > Un esempio in $\R^2$, con la base formata da $v_1 = (1, 0)$ e $v_2 = (1, 1)$. Il vettore $(3, 2)$ si ottiene con 1 parte di $v_1$ e 2 parti di $v_2$. > $$1 \cdot (1, 0) + 2 \cdot (1, 1) = (1, 0) + (2, 2) = (3, 2)$$ > Quindi le sue coordinate in questa base sono 1 e 2. > > Una base si indica con una B in corsivo, $\mathcal B$, e i suoi vettori si scrivono tra parentesi graffe: $\mathcal B = \{v_1, v_2\}$. La colonna delle coordinate di un vettore $v$ si scrive $[v]_{\mathcal B}$. Nell'esempio le coordinate di $(3, 2)$ sono la colonna con i numeri 1 e 2. > > La **base canonica** di $\R^n$ è formata dai vettori $e_1, \dots, e_n$ e si indica con $\mathcal C$. In questa base le coordinate di un vettore sono i suoi stessi numeri. ### Costruire la tabella Partiamo dall'esempio delle dispense. Il prodotto è quello euclideo su $\R^2$. La base è quella del ripasso: $v_1 = (1, 0)$ e $v_2 = (1, 1)$. Facciamo la tabellina. In ogni casella va il prodotto scalare tra il vettore della riga e il vettore della colonna. | | $v_1 = (1, 0)$ | $v_2 = (1, 1)$ | |---|--:|--:| | $v_1 = (1, 0)$ | $1 \cdot 1 + 0 \cdot 0 = 1$ | $1 \cdot 1 + 0 \cdot 1 = 1$ | | $v_2 = (1, 1)$ | $1 \cdot 1 + 1 \cdot 0 = 1$ | $1 \cdot 1 + 1 \cdot 1 = 2$ | I quattro risultati, scritti come matrice, sono la **matrice associata** al prodotto scalare in questa base. $$\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}$$ > [!IDEA] > La **matrice associata** è la tabellina del prodotto scalare. Nella riga $i$ e nella colonna $j$ c'è il prodotto tra il vettore numero $i$ e il vettore numero $j$ della base. La matrice associata si scrive $[g]_{\mathcal B}$: il nome del prodotto tra parentesi quadre, e in basso il nome della base. Si legge «matrice di $g$ nella base $\mathcal B$». Le dispense lo scrivono così. > [!DEF] 19.12 · Matrice associata > Sia $V$ uno spazio vettoriale reale, sia $g : V \times V \to \R$ un prodotto scalare e sia $\mathcal B = \{v_1, \dots, v_n\}$ una base di $V$. La **matrice associata** a $g$ nella base $\mathcal B$ è la matrice simmetrica > $$S = [g]_{\mathcal B}, \qquad S_{ij} = g(v_i, v_j).$$ **Come si legge.** - $\mathcal B = \{v_1, \dots, v_n\}$ è una base con $n$ vettori. Il primo si chiama $v_1$, l'ultimo $v_n$. Il numero $n$ è la dimensione dello spazio. - $S = [g]_{\mathcal B}$ vuol dire: la matrice associata la chiamiamo $S$. - $S_{ij} = g(v_i, v_j)$ vuol dire: il numero nella riga $i$ e nella colonna $j$ è il prodotto scalare tra il vettore numero $i$ e il vettore numero $j$ della base. - La matrice ha $n$ righe e $n$ colonne: una riga e una colonna per ogni vettore della base. - Sulla diagonale ci sono i prodotti di ogni vettore della base con sé stesso. - È **simmetrica**, perché il prodotto scalare è simmetrico: scambiando i due vettori il risultato non cambia. Quindi basta calcolare la diagonale e le caselle sopra la diagonale. Le altre si copiano allo specchio. - **Dipende dalla base.** Lo stesso prodotto, in una base diversa, ha una matrice diversa. Come cambia lo vedrai nella lezione L20. > [!ESEMPIO] 19.13 · La base canonica > La scrittura $M(n, \R)$ indica l'insieme delle matrici con $n$ righe e $n$ colonne di numeri reali. > > Se $S \in M(n, \R)$ è simmetrica, la matrice associata a $g_S$ rispetto alla base canonica $\mathcal C$ è $S$ stessa: > $$[g_S]_{\mathcal C} = S.$$ > Il motivo è il Corollario 19.9. Nella riga $i$ e colonna $j$ della matrice associata c'è il prodotto $g_S(e_i, e_j)$, che vale $S_{ij}$. > > Con la matrice dei pesi $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$: i tre prodotti sono $g_S(e_1, e_1) = 2$, poi $g_S(e_1, e_2) = 1$, poi $g_S(e_2, e_2) = 1$. La tabellina è la matrice di partenza. > [!ESEMPIO] 19.14 · Il prodotto euclideo in un'altra base > Il prodotto è quello euclideo su $\R^2$. La base è > $$\mathcal B = \left\{ v_1 = \begin{pmatrix} 1 \\ 0 \end{pmatrix}, v_2 = \begin{pmatrix} 1 \\ 1 \end{pmatrix} \right\}.$$ > La matrice associata è > $$[g]_{\mathcal B} = \begin{pmatrix} g(v_1, v_1) & g(v_1, v_2) \\ g(v_2, v_1) & g(v_2, v_2) \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}.$$ > I quattro conti sono quelli della tabellina qui sopra. La casella $g(v_2, v_1)$ è uguale alla casella $g(v_1, v_2)$ per la simmetria. > > Nella base canonica lo stesso prodotto ha come matrice la matrice identità $I_2$. Stesso prodotto, due basi, due matrici diverse. ### A che cosa serve: tutti gli altri prodotti La tabellina basta per calcolare il prodotto di due vettori qualsiasi. Vediamolo con la base dell'Esempio 19.14. Prendi due vettori scritti come ricette con i vettori della base. $$v = 1\,v_1 + 2\,v_2 \qquad\qquad w = 2\,v_1 - 1\,v_2$$ Il loro prodotto si apre come il prodotto di due somme tra numeri: ogni pezzo della prima per ogni pezzo della seconda. Vengono quattro pezzi. In ogni pezzo i due numeri escono fuori e resta un prodotto della tabellina. | Pezzo di $v$ | Pezzo di $w$ | Numeri che escono | Dalla tabellina | Risultato | |---|---|--:|--:|--:| | $1\,v_1$ | $2\,v_1$ | $1 \cdot 2 = 2$ | $g(v_1, v_1) = 1$ | $2 \cdot 1 = 2$ | | $1\,v_1$ | $-1\,v_2$ | $1 \cdot (-1) = -1$ | $g(v_1, v_2) = 1$ | $-1 \cdot 1 = -1$ | | $2\,v_2$ | $2\,v_1$ | $2 \cdot 2 = 4$ | $g(v_2, v_1) = 1$ | $4 \cdot 1 = 4$ | | $2\,v_2$ | $-1\,v_2$ | $2 \cdot (-1) = -2$ | $g(v_2, v_2) = 2$ | $-2 \cdot 2 = -4$ | Somma dell'ultima colonna: $2 - 1 + 4 - 4 = 1$. Quindi $g(v, w) = 1$. Controllo diretto. Le due ricette danno i vettori $v = (3, 2)$ e $w = (1, -1)$. Il loro prodotto euclideo è $3 \cdot 1 + 2 \cdot (-1) = 1$. Torna. Le dispense scrivono questa regola con le lettere. > [!PROP] 19.15 > Se > $$v = \lambda_1v_1 + \dots + \lambda_nv_n, \qquad w = \mu_1v_1 + \dots + \mu_nv_n,$$ > allora > $$g(v, w) = \sum_{i,j=1}^n \lambda_i\mu_j\,g(v_i, v_j).$$ **Come si legge.** - La prima riga dice che $v$ e $w$ sono scritti come ricette con i vettori della base. Le quantità della ricetta di $v$ si chiamano $\lambda_1, \dots, \lambda_n$. Quelle di $w$ si chiamano $\mu_1, \dots, \mu_n$. La lettera greca $\mu$ si legge «mi». - La seconda riga è una somma doppia: c'è un pezzo per ogni coppia formata da un vettore della ricetta di $v$ e da uno della ricetta di $w$. - Ogni pezzo è fatto così: una quantità di $v$, per una quantità di $w$, per un numero della tabellina. È la tabella a quattro righe di prima, con le lettere al posto dei numeri. > [!DIM] perché vale, con una base di due vettori > Le dispense dicono solo che la formula viene dalla bilinearità. Ecco i passaggi con $v = \lambda_1v_1 + \lambda_2v_2$ e $w = \mu_1v_1 + \mu_2v_2$. > > 1. Spezzo nel primo posto, con gli assiomi (1) e (2). Il vettore $w$ resta fermo. > $$g(v, w) = \lambda_1\,g(v_1, w) + \lambda_2\,g(v_2, w)$$ > 2. Spezzo $w$ nel secondo posto di ognuno dei due pezzi, con le regole (4) e (5). Vengono quattro pezzi, uno per ogni coppia di indici. > $$g(v, w) = \lambda_1\mu_1\,g(v_1, v_1) + \lambda_1\mu_2\,g(v_1, v_2) + \lambda_2\mu_1\,g(v_2, v_1) + \lambda_2\mu_2\,g(v_2, v_2)$$ La stessa regola, scritta con le matrici, è ancora più corta. > [!COROLLARIO] 19.16 > Per ogni $v, w \in V$ vale > $$g(v, w) = {}^t[v]_{\mathcal B}\,[g]_{\mathcal B}\,[w]_{\mathcal B}.$$ **Come si legge.** «Il prodotto di $v$ e $w$ è: la riga delle coordinate di $v$, per la matrice associata, per la colonna delle coordinate di $w$.» È lo stesso conto «riga, matrice, colonna» di $g_S$. A parole: **una volta scelta una base, ogni prodotto scalare diventa un prodotto $g_S$**. La matrice $S$ è la matrice associata, e al posto dei vettori ci sono le loro coordinate. ### Calcolare con le coordinate > [!ESEMPIO] Il Corollario 19.16 al lavoro > Il prodotto è quello euclideo su $\R^2$. La base è $\mathcal B = \{(1, 0), (1, 1)\}$, con matrice associata $\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}$ (Esempio 19.14). Vogliamo il prodotto di $v = (3, 2)$ e $w = (1, -1)$. > > 1. **Coordinate di $v$.** Cerco due numeri $a$ e $b$ con $a \cdot (1, 0) + b \cdot (1, 1) = (3, 2)$. A sinistra il vettore è $(a + b,\ b)$. Il secondo numero dice $b = 2$. Il primo dice $a + 2 = 3$, quindi $a = 1$. Le coordinate sono $(1, 2)$. > 2. **Coordinate di $w$.** Stesso conto con $(a + b,\ b) = (1, -1)$. Il secondo numero dice $b = -1$. Il primo dice $a - 1 = 1$, quindi $a = 2$. Le coordinate sono $(2, -1)$. > 3. **Matrice per colonna.** La matrice associata per la colonna delle coordinate di $w$. > $$\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}\begin{pmatrix} 2 \\ -1 \end{pmatrix} = \begin{pmatrix} 1 \cdot 2 + 1 \cdot (-1) \\ 1 \cdot 2 + 2 \cdot (-1) \end{pmatrix} = \begin{pmatrix} 1 \\ 0 \end{pmatrix}$$ > 4. **Riga per colonna.** La riga delle coordinate di $v$ per il risultato. > $$\begin{pmatrix} 1 & 2 \end{pmatrix}\begin{pmatrix} 1 \\ 0 \end{pmatrix} = 1 \cdot 1 + 2 \cdot 0 = 1$$ > 5. **Controllo diretto.** $\langle (3, 2), (1, -1)\rangle = 3 \cdot 1 + 2 \cdot (-1) = 1$. Torna. > [!ESEMPIO] La matrice di un prodotto sui polinomi > Lo spazio è $\R_2[x]$, con il prodotto $\langle p, q\rangle = p(0)q(0) + p(1)q(1) + p(2)q(2)$. La base è quella canonica: $\{1, x, x^2\}$. > > **Primo passo: la tabella dei valori** dei tre polinomi della base nei punti 0, 1 e 2. > > | | in 0 | in 1 | in 2 | > |---|--:|--:|--:| > | $1$ | $1$ | $1$ | $1$ | > | $x$ | $0$ | $1$ | $2$ | > | $x^2$ | $0$ | $1$ | $4$ | > > **Secondo passo: i prodotti.** Per ogni coppia moltiplico le due righe punto per punto e sommo. Bastano sei conti: la diagonale e le caselle sopra la diagonale. > > | Coppia | Conto | Valore | > |---|---|--:| > | $\langle 1, 1\rangle$ | $1 \cdot 1 + 1 \cdot 1 + 1 \cdot 1$ | $3$ | > | $\langle 1, x\rangle$ | $1 \cdot 0 + 1 \cdot 1 + 1 \cdot 2$ | $3$ | > | $\langle 1, x^2\rangle$ | $1 \cdot 0 + 1 \cdot 1 + 1 \cdot 4$ | $5$ | > | $\langle x, x\rangle$ | $0 \cdot 0 + 1 \cdot 1 + 2 \cdot 2$ | $5$ | > | $\langle x, x^2\rangle$ | $0 \cdot 0 + 1 \cdot 1 + 2 \cdot 4$ | $9$ | > | $\langle x^2, x^2\rangle$ | $0 \cdot 0 + 1 \cdot 1 + 4 \cdot 4$ | $17$ | > > **Terzo passo: la matrice.** La prima riga e la prima colonna sono quelle del polinomio $1$, le seconde quelle di $x$, le terze quelle di $x^2$. Le caselle sotto la diagonale si copiano allo specchio. > $$\begin{pmatrix} 3 & 3 & 5 \\ 3 & 5 & 9 \\ 5 & 9 & 17 \end{pmatrix}$$ > > **Controllo con il Corollario 19.16.** Calcolo $\langle 1 + x,\ x^2\rangle$ in due modi. > > - Con le coordinate. Il polinomio $1 + x$ ha coordinate $(1, 1, 0)$: una parte di $1$, una parte di $x$, zero parti di $x^2$. Il polinomio $x^2$ ha coordinate $(0, 0, 1)$. Il conto «riga, matrice, colonna» prende la terza colonna della matrice, cioè $(5, 9, 17)$, e la moltiplica per $(1, 1, 0)$: viene $5 + 9 + 0 = 14$. > - Direttamente. Il polinomio $1 + x$ vale 1, 2 e 3 nei tre punti. Il polinomio $x^2$ vale 0, 1 e 4. Il prodotto è $1 \cdot 0 + 2 \cdot 1 + 3 \cdot 4 = 14$. Torna. > [!METODO] Calcolare la matrice associata > 1. Scrivi i vettori della base **nell'ordine dato**. L'ordine decide le righe e le colonne. > 2. Se il prodotto è tra polinomi e usa i valori in alcuni punti, scrivi prima la tabella dei valori di ogni polinomio della base. > 3. Calcola i prodotti della diagonale e delle caselle sopra la diagonale. Con una base di 2 vettori sono 3 conti, con una base di 3 vettori sono 6. > 4. Riempi la matrice. Le caselle sotto la diagonale si copiano allo specchio da quelle sopra. > 5. Se il prodotto è un $g_S$ su $\R^n$, la casella nella riga $i$ e colonna $j$ è ${}^tv_i\,S\,v_j$. Calcola una volta sola le colonne $Sv_j$ e riusale per tutta la colonna. > [!OLTRE] · dove trovarlo nel libro > Martelli, capitolo 7 «Prodotti scalari»: §7.1.1–7.1.3 (definizione, degenere e definito positivo, prodotto euclideo, pp. 199–201), §7.1.4 (matrici simmetriche, pp. 201–203), §7.1.6 (matrici diagonali, pp. 204–205), §7.1.10 (i prodotti sui polinomi dell'Esempio 19.4, p. 209), §7.2.1 (matrice associata, pp. 210–212). Nel libro trovi anche le parole **vettore isotropo** (§7.1.8) e **radicale** (§7.1.9), che le dispense non usano. ::: prova Il prodotto è quello euclideo su $\R^2$. La base è $\{(1, 1), (0, 2)\}$. Calcola la matrice associata. Primo vettore con sé stesso: $1 \cdot 1 + 1 \cdot 1 = 2$. Primo con secondo: $1 \cdot 0 + 1 \cdot 2 = 2$. Secondo con sé stesso: $0 \cdot 0 + 2 \cdot 2 = 4$. La matrice è $\begin{pmatrix} 2 & 2 \\ 2 & 4 \end{pmatrix}$. ::: ::: prova In una base $\{v_1, v_2\}$ la matrice associata a $g$ è $\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}$. Quanto vale $g(v_1 + v_2,\ v_2)$? Spezzo la somma nel primo posto: $g(v_1, v_2) + g(v_2, v_2)$. Leggo i due numeri nella tabellina: riga 1, colonna 2 e riga 2, colonna 2. Viene $1 + 2 = 3$. ::: > [!RICORDA] > - La **matrice associata** $[g]_{\mathcal B}$ è la tabella dei prodotti tra i vettori della base: nella riga $i$ e colonna $j$ c'è $g(v_i, v_j)$. > - È sempre simmetrica e dipende dalla base. > - Con le coordinate: $g(v, w) = {}^t[v]_{\mathcal B}\,[g]_{\mathcal B}\,[w]_{\mathcal B}$. > - È la domanda d'esame più frequente di questa lezione. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $(2, 3)$ | «due, tre» | un vettore: una lista ordinata di numeri | 2 passi a destra e 3 in su | | $\R^2$, $\R^3$, $\R^n$ | «erre due», «erre tre», «erre enne» | i vettori fatti di 2, di 3, di $n$ numeri reali | $(1, 3)$ sta in $\R^2$ | | $\cdot$ | «per» | il segno della moltiplicazione | $2 \cdot 4 = 8$ | | $\langle v, w\rangle$ | «prodotto scalare di $v$ e $w$» | il numero che il prodotto scalare dà per quei due vettori | $\langle (1, 3), (-2, 1)\rangle = 1$ | | $g(v, w)$ | «gi di $v$ e $w$» | lo stesso, quando il prodotto scalare ha un nome | $g(e_1, e_2)$ | | $x_1$, $x_2$, $x_i$ | «x con uno», «x con due», «x con i» | il numero di posto 1, 2, $i$ del vettore $x$ | per $x = (5, 7)$: $x_2 = 7$ | | $v'$ | «vu primo» | un altro vettore, diverso da $v$ | | | $\lambda$, $\mu$ | «lambda», «mi» | lettere greche che indicano numeri reali | $\lambda v$ | | $\in$ | «appartiene a» | sta dentro l'insieme | $\lambda \in \R$ | | $\neq$ | «diverso da» | non uguale | $v \neq 0$ | | $0$ | «zero» | il numero zero, oppure il vettore nullo | $(0, 0)$ | | $V \times V$ | «$V$ per $V$» | le coppie di vettori di $V$ | $(v, w)$ | | $\longrightarrow$, $\to$ | «va in» | separa ciò che entra da ciò che esce | $V \times V \to \R$ | | $\longmapsto$ | «viene mandato in» | dice che cosa esce per una certa entrata | $(v, w) \longmapsto \langle v, w\rangle$ | | $e_1$, $e_2$, $e_i$ | «e con uno», «e con due», «e con i» | i vettori della base canonica | $e_2 = (0, 1)$ | | $p(2)$ | «pi di due» | il valore del polinomio $p$ nel punto 2 | per $p(x) = x^2$: $p(2) = 4$ | | $\R_2[x]$ | «erre due di x» | i polinomi di grado al massimo 2 | $1 + x^2$ | | $\le$ | «minore o uguale» | più piccolo, oppure uguale | grado $\le 2$ | | ${}^tx$ | «$x$ trasposto» | il vettore colonna scritto in riga | | | ${}^tx\,y$ | «$x$ trasposto per $y$» | riga per colonna: il prodotto euclideo | per $(1, 3)$ e $(-2, 1)$ vale 1 | | $\sum_{i=1}^n$ | «somma, per $i$ da 1 a $n$» | somma di $n$ pezzi fatti nello stesso modo | $\sum_{i=1}^2 x_iy_i = x_1y_1 + x_2y_2$ | | $\sum_{i,j=1}^n$ | «somma, per $i$ e $j$ da 1 a $n$» | somma doppia: un pezzo per ogni coppia di indici | con $n = 2$: quattro pezzi | | $S_{ij}$ | «esse i gei» | il numero della matrice $S$ nella riga $i$ e colonna $j$ | $S_{12}$ | | ${}^tS$ | «$S$ trasposta» | la matrice con righe e colonne scambiate | simmetrica: ${}^tS = S$ | | $g_S$ | «gi con esse» | il prodotto scalare dato dalla matrice simmetrica $S$ | $g_S(x, y) = {}^tx\,S\,y$ | | $I_n$ | «i con enne» | la matrice identità: 1 sulla diagonale, 0 altrove | $I_2$ | | $2 \times 2$ | «due per due» | una matrice con due righe e due colonne | | | $\det S$ | «determinante di $S$» | un numero calcolato dalla matrice; zero quando $g_S$ è degenere | $\det I_2 = 1$ | | $M(n, \R)$ | «emme di enne, erre» | le matrici con $n$ righe e $n$ colonne di numeri reali | | | $\mathcal B$, $\mathcal C$ | «bi», «ci» | una base; la base canonica | $\mathcal B = \{v_1, v_2\}$ | | $[g]_{\mathcal B}$ | «matrice di $g$ nella base $\mathcal B$» | la matrice associata: la tabella dei prodotti tra i vettori della base | | | $[v]_{\mathcal B}$ | «coordinate di $v$ nella base $\mathcal B$» | la colonna delle quantità della ricetta di $v$ | | | $\lVert v \rVert$ | «norma di $v$» | la lunghezza del vettore (lezione L20) | $\lVert (3, 4) \rVert = 5$ | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 domande a risposta multipla, ognuna con 5 risposte e una sola giusta. Poi ci sono 2 problemi da 11 punti, che vengono corretti solo a chi fa almeno 6 punti nel quiz. La prova dura 2 ore, senza calcolatrice, con solo 4 facciate di appunti scritti a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027, alle 14:00. I dettagli sono nella lezione L01. ### Che cosa compare negli appelli 2023–2026 1. **La matrice associata in una base (quiz).** È la domanda più frequente. Negli appelli del 24/01/2024 (domanda 7), del 10/07/2024 (domanda 9) e del 15/01/2026 (domanda 9) il prodotto è dato da una formula insolita su $\R_1[x]$ o su $\R^2$. Bisogna trovare la matrice associata tra cinque matrici. 2. **La matrice associata a un prodotto $g_S$ in una base nuova (quiz).** Negli appelli del 10/06/2024 (domanda 4) e del 03/06/2026 (domanda 4) è data una matrice $S$ con tre righe e tre colonne, e una base nuova. Si fa una casella alla volta, oppure con la formula ${}^tMSM$ della lezione L20. 3. **Il primo punto dei problemi.** Nei problemi 12 del 16/01/2025, del 07/02/2025 e del 05/02/2026 il punto (1) chiede la matrice associata, nella base canonica di $\R_2[x]$ o in una base di $\R^3$. I punti successivi usano norme, angoli, Gram–Schmidt e proiezioni (lezioni L20 e L21). 4. **Teoria.** Distinguere degenere, non degenere e definito positivo. Sapere che $g_S$ è un prodotto scalare solo se la matrice $S$ è simmetrica. Lo spazio $\R_1[x]$ è quello dei polinomi di grado al massimo 1, cioè dei polinomi $a + bx$. Una sua base ha due polinomi, quindi la matrice associata ha due righe e due colonne. > [!METODO] La domanda «quanto vale la matrice associata?» > 1. Segui il metodo «Calcolare la matrice associata» della sezione sulla matrice associata: ordine della base, tabella dei valori, prodotti della diagonale e sopra la diagonale. > 2. Metti i numeri nella formula un pezzo alla volta, nell'ordine in cui è scritta. > 3. Nel quiz scarta subito le risposte non simmetriche. Poi calcola una casella alla volta e scarta le risposte che non la rispettano. ### Una domanda vera, letta insieme È la domanda 9 dell'appello del 15/01/2026. Il testo è questo. «Dati $x = {}^t(x_1, x_2)$ e $y = {}^t(y_1, y_2) \in \R^2$, sia dato il prodotto scalare $g(x, y) = x_1y_2 + x_2y_1 - x_2y_2$. Data la base $\mathcal B = \{{}^t(1, 1), {}^t(0, 1)\}$, allora:» Seguono cinque matrici, e bisogna scegliere quella uguale a $[g]_{\mathcal B}$. **In pratica chiede:** c'è un prodotto scalare tra vettori di due numeri, dato da una formula con tre pezzi. C'è una base con due vettori. Fai la tabellina dei prodotti tra i due vettori della base e trova la matrice giusta. Le cinque risposte sono queste. $$\text{(a)}\ \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \quad \text{(b)}\ \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \quad \text{(c)}\ \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix} \quad \text{(d)}\ \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} \quad \text{(e)}\ \begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}$$ **Prima di ogni conto.** Una matrice associata è sempre simmetrica. La (c) e la (d) non lo sono: si scartano subito. Restano (a), (b) ed (e). **I conti.** I vettori della base sono $v_1 = (1, 1)$ e $v_2 = (0, 1)$. La piccola $t$ davanti dice solo che sono colonne. 1. **Il primo vettore con sé stesso.** Metto $x = (1, 1)$ e $y = (1, 1)$ nella formula, un pezzo alla volta. $$g(v_1, v_1) = 1 \cdot 1 + 1 \cdot 1 - 1 \cdot 1 = 1$$ 2. **Il primo con il secondo.** Metto $x = (1, 1)$ e $y = (0, 1)$. $$g(v_1, v_2) = 1 \cdot 1 + 1 \cdot 0 - 1 \cdot 1 = 0$$ Fuori dalla diagonale c'è 0. La (e) ha 1: si scarta. Restano (a) e (b). 3. **Il secondo con sé stesso.** Metto $x = (0, 1)$ e $y = (0, 1)$. $$g(v_2, v_2) = 0 \cdot 1 + 1 \cdot 0 - 1 \cdot 1 = -1$$ **La risposta.** La matrice è quella con 1 e $-1$ sulla diagonale e 0 fuori: è la **(a)**. La (b) è la più tentatrice: è la matrice identità, e differisce da quella giusta solo per un segno nell'ultima casella. In più: nella casella in basso a destra c'è un numero negativo. Quindi questo prodotto non è definito positivo. Non è nemmeno degenere: il determinante della matrice associata è $-1$, diverso da zero. Il criterio del determinante vale con la matrice associata in qualsiasi base. ### Altre due domande vere, risolte > [!ESEMPIO] Appello del 24/01/2024, domanda 7 > **Il testo.** Su $\R_1[x]$ è dato il prodotto scalare $g(p, q) = q(1)p(1) - q(0)p(0)$ e la base $\mathcal B = \{x + 1, 2\}$. Quanto vale $[g]_{\mathcal B}$? > > **In pratica chiede:** il prodotto tra due polinomi si calcola con i loro valori in 1 e in 0. Si moltiplicano i due valori in 1 e si tolgono i due valori in 0 moltiplicati tra loro. La base ha due polinomi: $x + 1$ e il polinomio costante $2$. Fai la tabellina. > > **Tabella dei valori.** > > | | in 1 | in 0 | > |---|--:|--:| > | $x + 1$ | $2$ | $1$ | > | $2$ | $2$ | $2$ | > > **I tre prodotti.** > > - $g(x + 1, x + 1) = 2 \cdot 2 - 1 \cdot 1 = 3$. > - $g(x + 1, 2) = 2 \cdot 2 - 2 \cdot 1 = 2$. > - $g(2, 2) = 2 \cdot 2 - 2 \cdot 2 = 0$. > > **La risposta.** $[g]_{\mathcal B} = \begin{pmatrix} 3 & 2 \\ 2 & 0 \end{pmatrix}$, che nel testo è la risposta (a). > > **L'errore tipico.** La risposta (e) è $\begin{pmatrix} 3 & 1 \\ 1 & 0 \end{pmatrix}$. È quella che si ottiene usando per sbaglio il polinomio $1$ al posto di $2$. Il secondo vettore della base vale 2 in ogni punto, non 1. > [!ESEMPIO] Appello del 07/02/2025, problema 12, punto (1) > **Il testo.** Su $\R_2[x]$ è definito $g(p, q) = p(1)q(1) + p(-1)q(-1) + p(1)q(0) + p(0)q(1) + 2p(0)q(0)$. Trovare la matrice associata a $g$ nella base canonica $\{1, x, x^2\}$. > > **In pratica chiede:** la formula ha cinque pezzi e usa i valori dei polinomi nei punti $1$, $-1$ e $0$. Fai la tabella dei valori dei tre polinomi della base, poi i sei prodotti. > > **Tabella dei valori.** > > | | in $1$ | in $-1$ | in $0$ | > |---|--:|--:|--:| > | $1$ | $1$ | $1$ | $1$ | > | $x$ | $1$ | $-1$ | $0$ | > | $x^2$ | $1$ | $1$ | $0$ | > > **I sei prodotti**, con i cinque pezzi nell'ordine della formula. > > | Coppia | I cinque pezzi | Valore | > |---|---|--:| > | $g(1, 1)$ | $1 \cdot 1 + 1 \cdot 1 + 1 \cdot 1 + 1 \cdot 1 + 2 \cdot 1 \cdot 1$ | $6$ | > | $g(1, x)$ | $1 \cdot 1 + 1 \cdot (-1) + 1 \cdot 0 + 1 \cdot 1 + 2 \cdot 1 \cdot 0$ | $1$ | > | $g(1, x^2)$ | $1 \cdot 1 + 1 \cdot 1 + 1 \cdot 0 + 1 \cdot 1 + 2 \cdot 1 \cdot 0$ | $3$ | > | $g(x, x)$ | $1 \cdot 1 + (-1) \cdot (-1) + 1 \cdot 0 + 0 \cdot 1 + 2 \cdot 0 \cdot 0$ | $2$ | > | $g(x, x^2)$ | $1 \cdot 1 + (-1) \cdot 1 + 1 \cdot 0 + 0 \cdot 1 + 2 \cdot 0 \cdot 0$ | $0$ | > | $g(x^2, x^2)$ | $1 \cdot 1 + 1 \cdot 1 + 1 \cdot 0 + 0 \cdot 1 + 2 \cdot 0 \cdot 0$ | $2$ | > > **La matrice.** > $$[g]_{\{1, x, x^2\}} = \begin{pmatrix} 6 & 1 & 3 \\ 1 & 2 & 0 \\ 3 & 0 & 2 \end{pmatrix}$$ > > **Controllo della simmetria su una coppia.** Calcolo $g(x, 1)$, con i posti scambiati: $1 \cdot 1 + (-1) \cdot 1 + 1 \cdot 1 + 0 \cdot 1 + 2 \cdot 0 \cdot 1 = 1$. È uguale a $g(1, x)$. > > I punti (2) e (3) del problema continuano nelle lezioni L20 e L21. ### Errori da evitare - Confondere l'**ordine dei vettori** della base. Con la base scritta al contrario, i due numeri sulla diagonale si scambiano di posto. - Nei prodotti tra polinomi, sbagliare un valore. Scrivi **prima** la tabella dei valori, poi fai i prodotti. - Dimenticare che la matrice associata è **sempre simmetrica**. Nel quiz scarta subito le matrici non simmetriche. - Dividere per due i numeri davanti ai pezzi misti. Si divide per due solo nelle forme quadratiche (lezione L20). - Dimenticare un segno meno della formula, come nella domanda letta insieme. > [!ESAME] Sul foglio da 4 facciate > - Prodotto da una matrice simmetrica: $g_S(x, y) = {}^tx\,S\,y$. Il numero $S_{ij}$ sta davanti a $x_iy_j$, senza dividere per due. > - Matrice associata: nella riga $i$ e colonna $j$ c'è $g(v_i, v_j)$. È sempre simmetrica. > - Con le coordinate: $g(v, w) = {}^t[v]_{\mathcal B}\,[g]_{\mathcal B}\,[w]_{\mathcal B}$. > - Degenere: un vettore non nullo dà zero con tutti. Succede esattamente quando il determinante della matrice è zero. > - Definito positivo: ogni vettore non nullo con sé stesso dà un numero positivo. Se è definito positivo allora non è degenere, ma non vale il contrario. > - Matrice $2 \times 2$ con $a$ in alto a sinistra, $b$ fuori dalla diagonale e $c$ in basso a destra: definita positiva quando $a > 0$ e $ac - b^2 > 0$. ## Quiz ```quiz D: Quale di queste formule definisce un prodotto scalare su $\R^2$? (Qui $x = (x_1, x_2)$ e $y = (y_1, y_2)$.) + $g(x, y) = x_1y_1 + x_1y_2 + x_2y_1$ - $g(x, y) = x_1y_2 - x_2y_1$ - $g(x, y) = x_1y_1 + x_2$ - $g(x, y) = x_1x_2y_1y_2$ - $g(x, y) = x_1y_1 + x_2y_2 + 1$ = La domanda chiede quale formula rispetta i tre assiomi. La regola pratica: ogni pezzo deve essere un numero per una $x$ per una $y$, e davanti a $x_1y_2$ e a $x_2y_1$ deve esserci lo stesso numero. La prima formula è a posto: i suoi pesi formano la matrice $\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}$, che è simmetrica. La seconda è la più tentatrice, perché ha i pezzi della forma giusta. Ma non è simmetrica: $g(e_1, e_2) = 1$ e $g(e_2, e_1) = -1$. La terza ha il pezzo $x_2$ senza nessuna $y$: con $x = e_2$ e $y$ nullo dà 1 invece di 0. La quarta ha due $x$ nello stesso pezzo: raddoppiando $x$ il risultato si moltiplica per 4, non per 2. La quinta ha un $+1$: con i due vettori nulli dà 1 invece di 0. D: Su $\R_1[x]$ sia $g(p, q) = p(1)q(2) + p(2)q(1)$ e sia $\mathcal B = \{x - 1, x - 2\}$. Allora $[g]_{\mathcal B}$ è: + $\begin{pmatrix} 0 & -1 \\ -1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 1 & -1 \\ -1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 0 & -2 \\ -2 & 0 \end{pmatrix}$ - $\begin{pmatrix} -1 & 0 \\ 0 & -1 \end{pmatrix}$ = La domanda chiede la tabellina dei prodotti tra i due polinomi della base. Prima servono i valori nei punti 1 e 2. Il polinomio $x - 1$ vale 0 in 1 e vale 1 in 2. Il polinomio $x - 2$ vale $-1$ in 1 e vale 0 in 2. La formula dice: valore del primo in 1 per valore del secondo in 2, più valore del primo in 2 per valore del secondo in 1. Primo polinomio con sé stesso: $0 \cdot 1 + 1 \cdot 0 = 0$. Primo con secondo: $0 \cdot 0 + 1 \cdot (-1) = -1$. Secondo con sé stesso: $(-1) \cdot 0 + 0 \cdot (-1) = 0$. La risposta con $+1$ fuori dalla diagonale è la più tentatrice: è quella di chi perde il segno meno del valore di $x - 2$ in 1. È simile alla domanda 9 dell'appello del 10/07/2024. D: Qual è la matrice $S$ tale che $g(x, y) = x_1y_2 + x_2y_1 + 3x_2y_2$ sia uguale a $g_S(x, y) = {}^tx\,S\,y$? + $\begin{pmatrix} 0 & 1 \\ 1 & 3 \end{pmatrix}$ - $\begin{pmatrix} 0 & 2 \\ 0 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 1 & 3 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1/2 \\ 1/2 & 3 \end{pmatrix}$ - $\begin{pmatrix} 3 & 1 \\ 1 & 0 \end{pmatrix}$ = La domanda chiede la matrice dei pesi della formula. La regola: il numero nella riga $i$ e colonna $j$ è quello davanti a $x_iy_j$. Il pezzo $x_1y_1$ manca, quindi in alto a sinistra c'è 0. Davanti a $x_1y_2$ e davanti a $x_2y_1$ c'è 1, quindi fuori dalla diagonale c'è 1. Davanti a $x_2y_2$ c'è 3, quindi in basso a destra c'è 3. La risposta più tentatrice è quella con $1/2$ fuori dalla diagonale, ma qui non si divide per due: $x_1y_2$ e $x_2y_1$ sono due pezzi diversi. Confronta con la domanda 7 dell'appello dell'08/02/2024: lì era data una **forma quadratica**, e in quel caso il numero del pezzo misto va diviso per due (lezione L20). D: Su $\R_1[x]$ si consideri il prodotto scalare $\langle p, q\rangle = p(0)q(0) + p(1)q(1)$ e la base $\mathcal B = \{x, x + 1\}$. Allora $[\,\langle\ ,\ \rangle\,]_{\mathcal B}$ è: + $\begin{pmatrix} 1 & 2 \\ 2 & 5 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 \\ 1 & 2 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 1 & 5 \end{pmatrix}$ - $\begin{pmatrix} 5 & 2 \\ 2 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$ = La domanda chiede la tabellina dei prodotti tra i due polinomi della base, nell'ordine dato. Valori nei punti 0 e 1: il polinomio $x$ vale 0 e poi 1, il polinomio $x + 1$ vale 1 e poi 2. Primo polinomio con sé stesso: $0 \cdot 0 + 1 \cdot 1 = 1$. Primo con secondo: $0 \cdot 1 + 1 \cdot 2 = 2$. Secondo con sé stesso: $1 \cdot 1 + 2 \cdot 2 = 5$. La più tentatrice è la matrice con 5 in alto a sinistra: è quella di chi usa la base nell'ordine inverso. È simile alla domanda 7 dell'appello del 24/01/2024. D: Su $\R^2$ sia $g(x, y) = x_1y_1 + x_1y_2 + x_2y_1$ e sia $\mathcal B = \{{}^t(1, 0), {}^t(1, -1)\}$. Allora $[g]_{\mathcal B}$ è: + $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & -1 \\ -1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 \\ 1 & -1 \end{pmatrix}$ = La domanda chiede la tabellina dei prodotti tra $v_1 = (1, 0)$ e $v_2 = (1, -1)$, con la formula data, che ha tre pezzi. Primo vettore con sé stesso: $1 \cdot 1 + 1 \cdot 0 + 0 \cdot 1 = 1$. Primo con secondo, cioè $x = (1, 0)$ e $y = (1, -1)$: $1 \cdot 1 + 1 \cdot (-1) + 0 \cdot 1 = 0$. Secondo con sé stesso: $1 \cdot 1 + 1 \cdot (-1) + (-1) \cdot 1 = -1$. La seconda risposta è la più tentatrice: è la matrice dei pesi della formula, cioè la matrice associata nella base canonica e non nella base data. L'ultima risposta non è simmetrica, quindi non può essere una matrice associata. È simile alla domanda 9 dell'appello del 15/01/2026. D: Quale matrice simmetrica definisce un prodotto scalare **degenere** su $\R^2$? + $\begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$ - $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ - $\begin{pmatrix} 3 & 0 \\ 0 & 2 \end{pmatrix}$ = La domanda chiede quale prodotto ha un vettore invisibile. La regola: il prodotto $g_S$ è degenere esattamente quando il determinante di $S$ è zero. Per una matrice $2 \times 2$ il determinante è il prodotto dei due numeri sulla diagonale meno il prodotto degli altri due. La prima matrice dà $1 \cdot 4 - 2 \cdot 2 = 0$: è lei. Il suo vettore invisibile è $(2, -1)$. Le altre quattro hanno determinante $-1$, $1$, $-1$ e $6$, tutti diversi da zero. La più tentatrice è la matrice con gli zeri sulla diagonale: lì $e_1$ con sé stesso dà zero, ma questo non basta per essere degenere. D: Quale affermazione è vera per ogni prodotto scalare su uno spazio vettoriale reale? + Se è definito positivo, allora non è degenere. - Se non è degenere, allora è definito positivo. - Se $\langle v, v\rangle = 0$ per qualche $v \neq 0$, allora è degenere. - Ogni matrice simmetrica $S$ definisce un prodotto scalare definito positivo. - Può succedere che $\langle v, 0\rangle \neq 0$. = La domanda chiede quale frase vale per tutti i prodotti scalari. La prima è la Proposizione 19.3: un vettore che dà zero con tutti darebbe zero anche con sé stesso, e in un prodotto definito positivo questo non succede. La seconda è la più tentatrice, perché è la prima letta al contrario. Ma il prodotto $x_1y_1 - x_2y_2$ non è degenere e non è definito positivo. Lo stesso prodotto smentisce la terza: il vettore $(1, 1)$ dà zero con sé stesso, eppure il prodotto non è degenere. La quarta è falsa per la matrice diagonale con $-1$ e $-1$ sulla diagonale. La quinta è falsa perché con il vettore nullo ogni prodotto scalare dà zero. D: Sia $S = \begin{pmatrix} 4 & 1 & -2 \\ 1 & 0 & 5 \\ -2 & 5 & 3 \end{pmatrix}$. Quanto vale $g_S(e_1 + e_2, e_3)$? N: 3 = La domanda chiede un prodotto in cui il primo vettore è una somma. Si usano due regole: la somma nel primo posto si spezza, e i vettori della base canonica leggono le caselle della matrice (Corollario 19.9). Quindi $g_S(e_1 + e_2, e_3) = g_S(e_1, e_3) + g_S(e_2, e_3)$. Il primo pezzo è il numero nella riga 1 e colonna 3, cioè $-2$. Il secondo è il numero nella riga 2 e colonna 3, cioè $5$. La somma è $-2 + 5 = 3$. D: Sia $S = \begin{pmatrix} 1 & 2 & 0 \\ 2 & 1 & 1 \\ 0 & 1 & 3 \end{pmatrix}$ e $\mathcal B = \{{}^t(2, 0, 0), {}^t(0, 1, 0), {}^t(0, 0, -1)\}$. La matrice associata a $g_S$ nella base $\mathcal B$ è: + $\begin{pmatrix} 4 & 4 & 0 \\ 4 & 1 & -1 \\ 0 & -1 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 & 0 \\ 2 & 1 & 1 \\ 0 & 1 & 3 \end{pmatrix}$ - $\begin{pmatrix} 4 & 2 & 0 \\ 2 & 1 & 1 \\ 0 & 1 & 3 \end{pmatrix}$ - $\begin{pmatrix} 2 & 4 & 0 \\ 2 & 1 & -1 \\ 0 & 1 & -3 \end{pmatrix}$ - $\begin{pmatrix} 4 & 4 & 0 \\ 4 & 1 & 1 \\ 0 & 1 & 3 \end{pmatrix}$ = La domanda chiede la tabellina dei prodotti tra i tre vettori della base. Ogni vettore è un multiplo di un vettore della base canonica: $v_1 = 2e_1$, $v_2 = e_2$, $v_3 = -e_3$. I numeri escono fuori dal prodotto, e quello che resta è una casella di $S$. I sei conti: $g_S(v_1, v_1) = 2 \cdot 2 \cdot 1 = 4$; $g_S(v_1, v_2) = 2 \cdot 1 \cdot 2 = 4$; $g_S(v_1, v_3) = 2 \cdot (-1) \cdot 0 = 0$; $g_S(v_2, v_2) = 1 \cdot 1 \cdot 1 = 1$; $g_S(v_2, v_3) = 1 \cdot (-1) \cdot 1 = -1$; $g_S(v_3, v_3) = (-1) \cdot (-1) \cdot 3 = 3$. La più tentatrice è l'ultima risposta, che dimentica il segno meno di $v_3$ nella casella con $-1$. La quarta non è simmetrica. È simile alla domanda 4 degli appelli del 10/06/2024 e del 03/06/2026. D: Su $\R_2[x]$, quale di questi prodotti scalari è **definito positivo**? + $\langle p, q\rangle = p(0)q(0) + p(1)q(1) + p(2)q(2)$ - $\langle p, q\rangle = p(0)q(0) + p(1)q(1)$ - $\langle p, q\rangle = p(0)q(0) + p(1)q(1) - p(2)q(2)$ - $\langle p, q\rangle = p(0)q(1) + p(1)q(0)$ - $\langle p, q\rangle = p(1)q(1)$ = La domanda chiede in quale prodotto ogni polinomio non nullo, con sé stesso, dà un numero positivo. Nel primo un polinomio con sé stesso dà la somma dei quadrati dei suoi valori in 0, 1 e 2. Fa zero solo se il polinomio ha tre radici diverse, e un polinomio non nullo di grado al massimo 2 ne ha al massimo due (Esempio 19.4). Il secondo è degenere: il polinomio $x - x^2$ vale zero in 0 e in 1. Il terzo è il più tentatore, perché usa gli stessi tre punti: ma il polinomio $x - 1$ con sé stesso dà $1 + 0 - 1 = 0$. Il quarto, per un polinomio con sé stesso, dà $2p(0)p(1)$: per $p = 1 - 2x$ viene $2 \cdot 1 \cdot (-1) = -2$. Il quinto è degenere: il polinomio $x - 1$ vale zero in 1, quindi dà zero con tutti. ``` ## Esercizi Le dispense non hanno esercizi per questa lezione. Quelli qui sotto sono costruiti per questi appunti. I primi quattro sono di riscaldamento, gli ultimi due sono modellati sugli appelli. ::: esercizio base Tre prodotti euclidei nel piano Calcola i tre prodotti scalari euclidei: (a) $\langle (2, 3), (4, 1)\rangle$; (b) $\langle (1, -1), (5, 5)\rangle$; (c) $\langle (0, 2), (7, 3)\rangle$. ::: soluzione La regola: moltiplica i numeri nello stesso posto e somma. (a) $2 \cdot 4 + 3 \cdot 1 = 8 + 3 = 11$. (b) $1 \cdot 5 + (-1) \cdot 5 = 5 - 5 = 0$. Il prodotto è zero: i due vettori sono perpendicolari. (c) $0 \cdot 7 + 2 \cdot 3 = 0 + 6 = 6$. ::: ::: esercizio base Usare le tre regole Di un prodotto scalare sai che $\langle v, w\rangle = 4$ e che $\langle v', w\rangle = -1$. Calcola: (a) $\langle w, v\rangle$; (b) $\langle 3v, w\rangle$; (c) $\langle v + v', w\rangle$; (d) $\langle v, 0\rangle$, dove $0$ è il vettore nullo. ::: soluzione (a) L'ordine non conta (assioma 3): $\langle w, v\rangle = \langle v, w\rangle = 4$. (b) Il numero 3 esce fuori (assioma 2): $3 \cdot 4 = 12$. (c) La somma nel primo posto si spezza (assioma 1): $4 + (-1) = 3$. (d) Con il vettore nullo ogni prodotto scalare dà $0$. ::: ::: esercizio base Leggere le caselle di una matrice Prendi la matrice $S = \begin{pmatrix} 5 & -1 \\ -1 & 2 \end{pmatrix}$. (a) Quanto vale $g_S(e_1, e_2)$? (b) Quanto vale $g_S(e_2, e_2)$? (c) Scrivi la formula di $g_S(x, y)$. ::: soluzione I vettori della base canonica leggono le caselle: il primo sceglie la riga, il secondo la colonna (Corollario 19.9). (a) Riga 1, colonna 2: $g_S(e_1, e_2) = -1$. (b) Riga 2, colonna 2: $g_S(e_2, e_2) = 2$. (c) Ogni casella è il numero davanti al suo pezzo: $g_S(x, y) = 5x_1y_1 - x_1y_2 - x_2y_1 + 2x_2y_2$. ::: ::: esercizio base La tabellina di una base Il prodotto è quello euclideo su $\R^2$. Calcola la matrice associata nella base $\{v_1 = (2, 0),\ v_2 = (1, 1)\}$. ::: soluzione Servono tre prodotti: la diagonale e la casella sopra la diagonale. 1. Primo vettore con sé stesso: $2 \cdot 2 + 0 \cdot 0 = 4$. 2. Primo con secondo: $2 \cdot 1 + 0 \cdot 1 = 2$. 3. Secondo con sé stesso: $1 \cdot 1 + 1 \cdot 1 = 2$. La casella sotto la diagonale si copia allo specchio. La matrice associata è $\begin{pmatrix} 4 & 2 \\ 2 & 2 \end{pmatrix}$. ::: ::: esercizio base Prodotto scalare o no? Per ciascuna formula su $\R^2$ di' se è un prodotto scalare; se non lo è, indica una regola che fallisce con un esempio numerico. (a) $2x_1y_1 + 3x_2y_2$; (b) $x_1y_2$; (c) $x_1y_1 + x_2y_2 + 1$; (d) $x_1y_1 - 4x_1y_2 - 4x_2y_1 + x_2y_2$; (e) $x_1^2y_1^2$. ::: soluzione Per ogni formula faccio i due controlli del metodo: la forma dei pezzi e la simmetria. (a) **Sì.** Ogni pezzo è un numero per una $x$ per una $y$, e non ci sono pezzi misti. La matrice dei pesi è $\begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix}$, simmetrica (Proposizione 19.7). (b) **No**, non è simmetrica. Con $x = e_1$ e $y = e_2$ viene $1 \cdot 1 = 1$. Con i posti scambiati viene $0 \cdot 0 = 0$. (c) **No**, non è bilineare. Con i due vettori nulli viene $0 + 0 + 1 = 1$, mentre un prodotto scalare deve dare 0. (d) **Sì.** Ogni pezzo ha una $x$ e una $y$. Davanti a $x_1y_2$ e davanti a $x_2y_1$ c'è lo stesso numero, $-4$. La matrice dei pesi è $\begin{pmatrix} 1 & -4 \\ -4 & 1 \end{pmatrix}$, simmetrica. In più: non è definito positivo, perché il vettore $(1, 1)$ con sé stesso dà $1 - 4 - 4 + 1 = -6$. (e) **No**, un numero non esce fuori. Con $x = e_1$ e $y = e_1$ viene $1^2 \cdot 1^2 = 1$. Raddoppiando il primo vettore viene $2^2 \cdot 1^2 = 4$. Doveva venire il doppio, cioè 2. ::: ::: esercizio base Conti con il prodotto euclideo (a) Calcola $\langle (2, -1, 3), (1, 4, 1)\rangle$. (b) Calcola $\langle (1, 1, 1, 1), (1, -1, 1, -1)\rangle$. (c) Trova il numero $k \in \R$ per cui $\langle (1, k, 2), (3, 1, -k)\rangle = 0$. ::: soluzione (a) Moltiplico posto per posto e sommo: $2 \cdot 1 + (-1) \cdot 4 + 3 \cdot 1 = 2 - 4 + 3 = 1$. (b) $1 \cdot 1 + 1 \cdot (-1) + 1 \cdot 1 + 1 \cdot (-1) = 1 - 1 + 1 - 1 = 0$. I due vettori di $\R^4$ sono perpendicolari. (c) La lettera $k$ sta al posto di un numero che non conosco. Faccio il conto lasciandola scritta. 1. Posto per posto: $1 \cdot 3 + k \cdot 1 + 2 \cdot (-k) = 3 + k - 2k$. 2. Una volta $k$ meno due volte $k$ fa $-k$. Resta $3 - k$. 3. Il prodotto deve fare zero: $3 - k = 0$, quindi $k = 3$. Controllo: con $k = 3$ i vettori sono $(1, 3, 2)$ e $(3, 1, -3)$. Il prodotto è $3 + 3 - 6 = 0$. ::: ::: esercizio base Dalla matrice alla formula e ritorno (a) Scrivi $g_S(x, y)$ per $S = \begin{pmatrix} 1 & -2 & 0 \\ -2 & 3 & 4 \\ 0 & 4 & -1 \end{pmatrix}$. (b) Trova la matrice di $g(x, y) = x_1y_1 + 3x_1y_2 + 3x_2y_1 - x_2y_2 + 2x_1y_3 + 2x_3y_1$ su $\R^3$. (c) Calcola $g_S(e_2, e_3)$ per la matrice del punto (a). ::: soluzione (a) Per ogni casella scrivo un pezzo: il numero della casella, per la $x$ con l'indice della riga, per la $y$ con l'indice della colonna. Le caselle con 0 le salto. - Riga 1: $x_1y_1 - 2x_1y_2$. - Riga 2: $-2x_2y_1 + 3x_2y_2 + 4x_2y_3$. - Riga 3: $4x_3y_2 - x_3y_3$. $$g_S(x, y) = x_1y_1 - 2x_1y_2 - 2x_2y_1 + 3x_2y_2 + 4x_2y_3 + 4x_3y_2 - x_3y_3$$ (b) Il numero davanti a $x_iy_j$ va nella riga $i$ e colonna $j$. Un pezzo che manca vale 0. - Riga 1: davanti a $x_1y_1$ c'è 1, davanti a $x_1y_2$ c'è 3, davanti a $x_1y_3$ c'è 2. - Riga 2: davanti a $x_2y_1$ c'è 3, davanti a $x_2y_2$ c'è $-1$. Il pezzo $x_2y_3$ manca. - Riga 3: davanti a $x_3y_1$ c'è 2. I pezzi $x_3y_2$ e $x_3y_3$ mancano. $$S = \begin{pmatrix} 1 & 3 & 2 \\ 3 & -1 & 0 \\ 2 & 0 & 0 \end{pmatrix}$$ Controllo: la matrice è simmetrica, quindi la formula è davvero un prodotto scalare. (c) Per il Corollario 19.9 basta leggere la casella nella riga 2 e colonna 3: $g_S(e_2, e_3) = 4$. ::: ::: esercizio medio Degenere, definito positivo o nessuno dei due? Per ciascuna matrice di' se $g_S$ su $\R^2$ è degenere, definito positivo, o non degenere ma non definito positivo: $$S_1 = \begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}, \qquad S_2 = \begin{pmatrix} 1 & 2 \\ 2 & 5 \end{pmatrix}, \qquad S_3 = \begin{pmatrix} 1 & 2 \\ 2 & 3 \end{pmatrix}.$$ ::: soluzione Uso le scorciatoie: prima il determinante, poi il numero in alto a sinistra. **La matrice $S_1$: degenere.** 1. Il determinante è $1 \cdot 4 - 2 \cdot 2 = 0$. Quindi il prodotto è degenere. 2. Il vettore invisibile è un vettore non nullo che la matrice manda nel vettore nullo. La prima riga chiede $x_1 + 2x_2 = 0$: va bene $v = (2, -1)$. 3. Controllo: la prima riga dà $1 \cdot 2 + 2 \cdot (-1) = 0$, la seconda dà $2 \cdot 2 + 4 \cdot (-1) = 0$. **La matrice $S_2$: definito positivo.** 1. In alto a sinistra c'è 1, positivo. Il determinante è $1 \cdot 5 - 2 \cdot 2 = 1$, positivo. Per il criterio delle matrici $2 \times 2$ il prodotto è definito positivo. 2. Controllo con un altro metodo. Un vettore con sé stesso dà $x_1^2 + 4x_1x_2 + 5x_2^2$. Spezzo $5x_2^2$ in $4x_2^2 + x_2^2$ e riconosco un quadrato: $$x_1^2 + 4x_1x_2 + 4x_2^2 + x_2^2 = (x_1 + 2x_2)^2 + x_2^2$$ È una somma di due quadrati: fa zero solo se $x_2 = 0$ e $x_1 + 2x_2 = 0$, cioè solo per il vettore nullo. **La matrice $S_3$: non degenere, ma non definito positivo.** 1. Il determinante è $1 \cdot 3 - 2 \cdot 2 = -1$. Non è zero, quindi il prodotto non è degenere. 2. Il determinante è negativo, quindi per il criterio il prodotto non è definito positivo. 3. Un vettore che lo mostra è $(2, -1)$. Con sé stesso dà $x_1^2 + 4x_1x_2 + 3x_2^2$, cioè $4 - 8 + 3 = -1$: un numero negativo. ::: ::: esercizio medio Una base in cui $g_S$ sembra euclideo Prendi la matrice $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ (Esempio 19.11) e la base $\mathcal B = \{v_1 = (1, -1),\ v_2 = (0, 1)\}$. Calcola $[g_S]_{\mathcal B}$. Che cosa osservi? ::: soluzione La formula del prodotto è $g_S(x, y) = 2x_1y_1 + x_1y_2 + x_2y_1 + x_2y_2$. Servono tre prodotti. 1. **Primo vettore con sé stesso.** Metto $x = (1, -1)$ e $y = (1, -1)$: $$2 \cdot 1 \cdot 1 + 1 \cdot (-1) + (-1) \cdot 1 + (-1) \cdot (-1) = 2 - 1 - 1 + 1 = 1$$ 2. **Primo con secondo.** Metto $x = (1, -1)$ e $y = (0, 1)$: $$2 \cdot 1 \cdot 0 + 1 \cdot 1 + (-1) \cdot 0 + (-1) \cdot 1 = 0 + 1 + 0 - 1 = 0$$ 3. **Secondo con sé stesso.** Metto $x = (0, 1)$ e $y = (0, 1)$: $$2 \cdot 0 \cdot 0 + 0 \cdot 1 + 1 \cdot 0 + 1 \cdot 1 = 1$$ $$[g_S]_{\mathcal B} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$$ **Che cosa si osserva.** La matrice associata è la matrice identità: la stessa del prodotto euclideo nella base canonica. Con le coordinate di questa base, il prodotto $g_S$ diventa il conto della spesa. Una base così si chiama **ortonormale**. Nella lezione L21 impari a costruirne una con l'algoritmo di Gram–Schmidt. ::: ::: esercizio medio Un prodotto sui polinomi in tre punti simmetrici Su $\R_2[x]$ prendi il prodotto $\langle p, q\rangle = p(-1)q(-1) + p(0)q(0) + p(1)q(1)$. (a) Trova la matrice associata nella base $\{1, x, x^2\}$. (b) È definito positivo? (c) Quanto vale $\langle x, x^2\rangle$? ::: soluzione (a) Prima la tabella dei valori nei punti $-1$, $0$ e $1$. | | in $-1$ | in $0$ | in $1$ | |---|--:|--:|--:| | $1$ | $1$ | $1$ | $1$ | | $x$ | $-1$ | $0$ | $1$ | | $x^2$ | $1$ | $0$ | $1$ | Poi i sei prodotti: moltiplico due righe punto per punto e sommo. | Coppia | Conto | Valore | |---|---|--:| | $\langle 1, 1\rangle$ | $1 \cdot 1 + 1 \cdot 1 + 1 \cdot 1$ | $3$ | | $\langle 1, x\rangle$ | $1 \cdot (-1) + 1 \cdot 0 + 1 \cdot 1$ | $0$ | | $\langle 1, x^2\rangle$ | $1 \cdot 1 + 1 \cdot 0 + 1 \cdot 1$ | $2$ | | $\langle x, x\rangle$ | $(-1) \cdot (-1) + 0 \cdot 0 + 1 \cdot 1$ | $2$ | | $\langle x, x^2\rangle$ | $(-1) \cdot 1 + 0 \cdot 0 + 1 \cdot 1$ | $0$ | | $\langle x^2, x^2\rangle$ | $1 \cdot 1 + 0 \cdot 0 + 1 \cdot 1$ | $2$ | La matrice associata, che chiamo $S$: $$S = \begin{pmatrix} 3 & 0 & 2 \\ 0 & 2 & 0 \\ 2 & 0 & 2 \end{pmatrix}$$ (b) Sì, con il ragionamento dell'Esempio 19.4. Un polinomio con sé stesso dà la somma dei quadrati dei suoi tre valori. Fa zero solo se il polinomio ha le tre radici $-1$, $0$ e $1$. Un polinomio non nullo di grado al massimo 2 ha al massimo due radici (Teorema 4.6). (c) È la casella nella riga 2 e colonna 3 della matrice: $\langle x, x^2\rangle = 0$. Per questo prodotto i polinomi $x$ e $x^2$ sono «perpendicolari». È il conto che serviva nella domanda 8 dell'appello dell'08/02/2024, che chiedeva l'angolo tra $x$ e $x^2$. Nella lezione L20 vedrai che l'angolo è $\frac\pi2$, cioè un angolo retto. ::: ::: esercizio medio Il Corollario 19.16 con i polinomi Con il prodotto e la matrice $S$ dell'esercizio precedente, calcola $\langle 1 + 2x,\ x - x^2\rangle$ in due modi: con le coordinate e direttamente. ::: soluzione **Primo modo: con le coordinate.** 1. Le coordinate nella base $\{1, x, x^2\}$ sono i coefficienti. Il polinomio $1 + 2x$ ha coordinate $(1, 2, 0)$. Il polinomio $x - x^2$ ha coordinate $(0, 1, -1)$. 2. Matrice per colonna: ogni riga di $S$ per la colonna $(0, 1, -1)$. $$S\begin{pmatrix} 0 \\ 1 \\ -1 \end{pmatrix} = \begin{pmatrix} 3 \cdot 0 + 0 \cdot 1 + 2 \cdot (-1) \\ 0 \cdot 0 + 2 \cdot 1 + 0 \cdot (-1) \\ 2 \cdot 0 + 0 \cdot 1 + 2 \cdot (-1) \end{pmatrix} = \begin{pmatrix} -2 \\ 2 \\ -2 \end{pmatrix}$$ 3. Riga per colonna: la riga $(1, 2, 0)$ per la colonna trovata. $$1 \cdot (-2) + 2 \cdot 2 + 0 \cdot (-2) = -2 + 4 + 0 = 2$$ **Secondo modo: direttamente.** 1. Valori di $1 + 2x$ nei punti $-1$, $0$, $1$: $1 - 2 = -1$, poi $1$, poi $1 + 2 = 3$. 2. Valori di $x - x^2$ negli stessi punti: $-1 - 1 = -2$, poi $0$, poi $1 - 1 = 0$. 3. Prodotto punto per punto e somma: $(-1) \cdot (-2) + 1 \cdot 0 + 3 \cdot 0 = 2$. I due modi danno lo stesso numero: 2. ::: ::: esercizio difficile Due punti bastano per $\R_1[x]$, non per $\R_2[x]$ Prendi il prodotto $\langle p, q\rangle = p(0)q(0) + p(1)q(1)$. (a) Dimostra che su $\R_1[x]$ è definito positivo. (b) Su $\R_2[x]$ trova la matrice associata nella base $\{1, x, x^2\}$ e tutti i polinomi $p$ per cui $\langle p, q\rangle = 0$ per ogni $q$. ::: soluzione Lo spazio $\R_1[x]$ è quello dei polinomi di grado al massimo 1, cioè dei polinomi $a + bx$. (a) Un polinomio con sé stesso dà $p(0)^2 + p(1)^2$: una somma di due quadrati, mai negativa. 1. Fa zero solo se $p(0) = 0$ e $p(1) = 0$, cioè se il polinomio ha due radici diverse. 2. Un polinomio non nullo di grado 1 ha al massimo una radice (Teorema 4.6). Un polinomio costante non nullo non ne ha nessuna. 3. Quindi un polinomio di grado al massimo 1 con due radici è il polinomio nullo. Ogni polinomio non nullo con sé stesso dà un numero positivo: il prodotto è definito positivo. (b) Nei punti 0 e 1 il polinomio $1$ vale 1 e 1. I polinomi $x$ e $x^2$ valgono tutti e due 0 e poi 1. 1. Il polinomio $1$ con sé stesso: $1 \cdot 1 + 1 \cdot 1 = 2$. 2. Il polinomio $1$ con $x$ oppure con $x^2$: $1 \cdot 0 + 1 \cdot 1 = 1$. 3. Gli altri tre prodotti, cioè $x$ con $x$, $x$ con $x^2$ e $x^2$ con $x^2$: $0 \cdot 0 + 1 \cdot 1 = 1$. $$S = \begin{pmatrix} 2 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{pmatrix}$$ La seconda e la terza riga sono uguali, quindi il determinante è zero (lezione L10). Il prodotto è degenere. Ora cerco i polinomi invisibili. Scrivo $p = a + bx + cx^2$, con $a$, $b$, $c$ numeri da trovare. 1. Un polinomio dà zero con tutti esattamente quando dà zero con i tre polinomi della base. Il motivo: ogni polinomio $q$ è una ricetta fatta con $1$, $x$ e $x^2$, e il prodotto si spezza. 2. Prodotto con $1$: $a\langle 1, 1\rangle + b\langle x, 1\rangle + c\langle x^2, 1\rangle = 2a + b + c$. 3. Prodotto con $x$: $a\langle 1, x\rangle + b\langle x, x\rangle + c\langle x^2, x\rangle = a + b + c$. 4. Prodotto con $x^2$: $a\langle 1, x^2\rangle + b\langle x, x^2\rangle + c\langle x^2, x^2\rangle = a + b + c$. 5. I tre risultati devono fare zero. La terza richiesta è uguale alla seconda, quindi restano due equazioni: $$\begin{cases} 2a + b + c = 0 \\ a + b + c = 0 \end{cases}$$ 6. Tolgo la seconda equazione dalla prima: $a = 0$. Metto $a = 0$ nella seconda: $b + c = 0$, quindi $c = -b$. I polinomi invisibili sono $p = bx - bx^2 = b\,(x - x^2)$, con $b$ un numero qualsiasi. Sono i multipli di $x - x^2 = x(1 - x)$: il polinomio dell'Esempio 19.4. Controllo: $x - x^2$ vale 0 in 0 e vale $1 - 1 = 0$ in 1. Quindi con ogni polinomio $q$ dà $0 \cdot q(0) + 0 \cdot q(1) = 0$. ::: ::: esercizio difficile Un prodotto scalare sulle matrici Su $M(2, \R)$ prendi $g(A, B) = \operatorname{tr}({}^tA\,B)$ (la traccia è la somma degli elementi sulla diagonale). (a) Scrivi $g(A, B)$ in funzione delle entrate. (b) Dimostra che è un prodotto scalare definito positivo. (c) Trova la matrice associata nella base $\{E_{11}, E_{12}, E_{21}, E_{22}\}$ delle matrici con un solo 1. (d) Calcola $g(A, B)$ per $A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$, $B = \begin{pmatrix} 3 & 0 \\ 1 & -1 \end{pmatrix}$. Qui i «vettori» sono matrici con due righe e due colonne, e le «entrate» sono i numeri dentro la matrice. Ogni matrice della base ha un 1 in una casella e 0 nelle altre tre: i due numerini in basso dicono la riga e la colonna dell'1. ::: soluzione (a) Do un nome alle entrate delle due matrici. $$A = \begin{pmatrix} a_1 & a_2 \\ a_3 & a_4 \end{pmatrix} \qquad\qquad B = \begin{pmatrix} b_1 & b_2 \\ b_3 & b_4 \end{pmatrix}$$ 1. La trasposta di $A$ scambia righe e colonne: ${}^tA = \begin{pmatrix} a_1 & a_3 \\ a_2 & a_4 \end{pmatrix}$. 2. Del prodotto ${}^tA\,B$ servono solo le due caselle sulla diagonale. In alto a sinistra: prima riga di ${}^tA$ per prima colonna di $B$, cioè $a_1b_1 + a_3b_3$. In basso a destra: seconda riga per seconda colonna, cioè $a_2b_2 + a_4b_4$. 3. La traccia è la somma di queste due caselle. $$g(A, B) = a_1b_1 + a_2b_2 + a_3b_3 + a_4b_4$$ (b) La formula del punto (a) è il conto della spesa: ogni entrata di $A$ per l'entrata di $B$ nello stesso posto, e poi la somma. È il prodotto euclideo di $\R^4$, scritto sulle quattro entrate. Quindi è bilineare, simmetrico e definito positivo (Proposizione 19.6). Una matrice con sé stessa dà $a_1^2 + a_2^2 + a_3^2 + a_4^2$, che è positivo se la matrice non è quella nulla. (c) Ogni matrice della base, letta come lista di quattro numeri, ha un 1 e tre 0. Una di loro con sé stessa dà $1 \cdot 1 = 1$. Due diverse danno 0, perché gli 1 stanno in posti diversi. La matrice associata è la matrice identità con quattro righe e quattro colonne, $I_4$. (d) Entrata per entrata: $1 \cdot 3 + 2 \cdot 0 + 0 \cdot 1 + 1 \cdot (-1) = 3 + 0 + 0 - 1 = 2$. ::: ::: esercizio esame Matrice associata su $\R_1[x]$ Su $\R_1[x]$ prendi $g(p, q) = p(2)q(2) - p(0)q(0)$ e la base $\mathcal B = \{x + 1, 1\}$. (a) Calcola $[g]_{\mathcal B}$. (b) $g$ è degenere? (c) $g$ è definito positivo? ::: soluzione (a) Tabella dei valori nei punti 2 e 0. | | in 2 | in 0 | |---|--:|--:| | $x + 1$ | $3$ | $1$ | | $1$ | $1$ | $1$ | La formula dice: i due valori in 2 moltiplicati tra loro, meno i due valori in 0 moltiplicati tra loro. 1. Primo polinomio con sé stesso: $3 \cdot 3 - 1 \cdot 1 = 8$. 2. Primo con secondo: $3 \cdot 1 - 1 \cdot 1 = 2$. 3. Secondo con sé stesso: $1 \cdot 1 - 1 \cdot 1 = 0$. $$[g]_{\mathcal B} = \begin{pmatrix} 8 & 2 \\ 2 & 0 \end{pmatrix}$$ (b) **No, non è degenere.** Il determinante della matrice associata è $8 \cdot 0 - 2 \cdot 2 = -4$, diverso da zero. Il criterio del determinante vale per la matrice associata in qualsiasi base, perché con le coordinate il prodotto diventa un $g_S$ (Corollario 19.16). Lo stesso risultato senza il determinante. Prendo un polinomio $p$ che dà zero con tutti. 1. Con $q = 1$, che vale 1 in tutti e due i punti: $p(2) - p(0) = 0$. 2. Con $q = x$, che vale 2 in 2 e vale 0 in 0: $2p(2) - 0 = 0$, quindi $p(2) = 0$. 3. Dal passo 1 allora anche $p(0) = 0$. 4. Il polinomio $p$ ha grado al massimo 1 e due radici, quindi è il polinomio nullo. (c) **No, non è definito positivo.** Il polinomio $1$ non è nullo, ma con sé stesso dà $0$: è la casella in basso a destra della matrice. In più il segno cambia. Il polinomio $x$ con sé stesso dà $2 \cdot 2 - 0 \cdot 0 = 4$, positivo. Il polinomio $x - 2$ vale 0 in 2 e vale $-2$ in 0: con sé stesso dà $0 - 4 = -4$, negativo. ::: ::: esercizio esame Matrice associata a $g_S$ in una base di $\R^3$ Prendi la matrice $S = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 3 \end{pmatrix}$. (a) Dimostra che $g_S$ è definito positivo. (b) Calcola $[g_S]_{\mathcal B}$ per $\mathcal B = \{v_1 = (1, 0, 1),\ v_2 = (0, 1, 1),\ v_3 = (1, 1, 0)\}$. (c) Calcola $g_S(v_1 + v_2, v_3)$ in due modi. ::: soluzione (a) Scrivo il prodotto di un vettore con sé stesso. Ogni casella non nulla dà un pezzo. 1. Dalla matrice: $g_S(x, x) = x_1^2 + x_1x_2 + x_2x_1 + 2x_2^2 + 3x_3^2$. 2. I due pezzi misti sono uguali: $x_1^2 + 2x_1x_2 + 2x_2^2 + 3x_3^2$. 3. Spezzo $2x_2^2$ in $x_2^2 + x_2^2$ e riconosco il quadrato di una somma: $$g_S(x, x) = (x_1 + x_2)^2 + x_2^2 + 3x_3^2$$ 4. I tre pezzi non sono mai negativi. Fanno zero tutti insieme solo se $x_3 = 0$, $x_2 = 0$ e $x_1 + x_2 = 0$, cioè solo per il vettore nullo. (b) Seguo il metodo: calcolo una volta sola le tre colonne $Sv_1$, $Sv_2$, $Sv_3$. Ogni riga di $S$ va moltiplicata per il vettore. - $Sv_1$, con $v_1 = (1, 0, 1)$: $(1 + 0 + 0,\ 1 + 0 + 0,\ 0 + 0 + 3) = (1, 1, 3)$. - $Sv_2$, con $v_2 = (0, 1, 1)$: $(0 + 1 + 0,\ 0 + 2 + 0,\ 0 + 0 + 3) = (1, 2, 3)$. - $Sv_3$, con $v_3 = (1, 1, 0)$: $(1 + 1 + 0,\ 1 + 2 + 0,\ 0 + 0 + 0) = (2, 3, 0)$. Ogni casella è un conto della spesa tra un vettore della base e una di queste colonne. | Casella | Conto | Valore | |---|---|--:| | $g_S(v_1, v_1)$ | $(1, 0, 1)$ con $(1, 1, 3)$: $1 + 0 + 3$ | $4$ | | $g_S(v_1, v_2)$ | $(1, 0, 1)$ con $(1, 2, 3)$: $1 + 0 + 3$ | $4$ | | $g_S(v_1, v_3)$ | $(1, 0, 1)$ con $(2, 3, 0)$: $2 + 0 + 0$ | $2$ | | $g_S(v_2, v_2)$ | $(0, 1, 1)$ con $(1, 2, 3)$: $0 + 2 + 3$ | $5$ | | $g_S(v_2, v_3)$ | $(0, 1, 1)$ con $(2, 3, 0)$: $0 + 3 + 0$ | $3$ | | $g_S(v_3, v_3)$ | $(1, 1, 0)$ con $(2, 3, 0)$: $2 + 3 + 0$ | $5$ | $$[g_S]_{\mathcal B} = \begin{pmatrix} 4 & 4 & 2 \\ 4 & 5 & 3 \\ 2 & 3 & 5 \end{pmatrix}$$ (c) **Primo modo: con la matrice associata.** La somma nel primo posto si spezza: $g_S(v_1, v_3) + g_S(v_2, v_3)$. Sono le caselle nella riga 1 e colonna 3 e nella riga 2 e colonna 3: $2 + 3 = 5$. **Secondo modo: direttamente.** La somma è $v_1 + v_2 = (1, 1, 2)$. La colonna $Sv_3$ è $(2, 3, 0)$. Il conto della spesa dà $1 \cdot 2 + 1 \cdot 3 + 2 \cdot 0 = 5$. I due modi danno lo stesso numero: 5. ::: ## Domande di ripasso ::: domanda Che cos'è un prodotto scalare su uno spazio vettoriale reale $V$? Una regola che prende due vettori di $V$ e restituisce un numero reale, scritto $\langle v, w\rangle$. Deve rispettare tre richieste: una somma nel primo posto si spezza, un numero nel primo posto esce fuori, l'ordine dei due vettori non conta. Da queste tre viene che le stesse regole valgono anche nel secondo posto: il prodotto è bilineare e simmetrico. ::: ::: domanda Perché nelle lezioni sui prodotti scalari il campo è $\R$ e non $\C$ o $\Q$? Per due motivi. Serve poter dire che un numero è positivo, e tra i numeri complessi questo non ha senso. E servono le radici quadrate dei numeri positivi, per le lunghezze della lezione L20: tra le frazioni certe radici mancano, per esempio $\sqrt 2$. ::: ::: domanda Come si ricava $\langle v, \lambda w\rangle = \lambda\langle v, w\rangle$ dagli assiomi? In tre mosse. Con la simmetria scambio i due posti e ottengo $\langle \lambda w, v\rangle$. Ora il numero sta nel primo posto e per l'assioma (2) esce: $\lambda\langle w, v\rangle$. Con la simmetria scambio di nuovo: $\lambda\langle v, w\rangle$. ::: ::: domanda Perché $\langle v, 0\rangle = 0$ per ogni $v$? Il vettore nullo è uguale a sé stesso più sé stesso. Quindi, spezzando la somma, $\langle v, 0\rangle$ è uguale a $\langle v, 0\rangle + \langle v, 0\rangle$. Un numero uguale al suo doppio è zero: basta togliere quel numero da tutti e due i lati. ::: ::: domanda Che differenza c'è tra «degenere» e «definito positivo»? Fai un esempio per ciascuno. Degenere: c'è un vettore non nullo che dà zero con tutti i vettori. Esempio: il prodotto $x_1y_1$ su $\R^2$ non vede il vettore $e_2$. Definito positivo: ogni vettore non nullo con sé stesso dà un numero positivo. Esempio: il prodotto euclideo. La prima proprietà guarda il prodotto di un vettore con tutti gli altri. La seconda guarda il prodotto di ogni vettore con sé stesso. ::: ::: domanda Perché un prodotto definito positivo non è degenere? Vale il viceversa? Un vettore non nullo che dà zero con tutti darebbe zero anche con sé stesso. In un prodotto definito positivo questo non succede mai. Il viceversa è falso: il prodotto $x_1y_1 - x_2y_2$ non è degenere, ma il vettore $e_2$ con sé stesso dà $-1$. ::: ::: domanda Che cos'è il prodotto scalare euclideo e perché è definito positivo? È il conto della spesa su $\R^n$: si moltiplicano i numeri nello stesso posto e si somma. Si scrive anche ${}^tx\,y$. È definito positivo perché un vettore con sé stesso dà la somma dei quadrati dei suoi numeri. Questa somma è positiva appena un numero del vettore non è zero. ::: ::: domanda Come si ottiene un prodotto scalare da una matrice? Perché la matrice deve essere simmetrica? Con la regola «riga, matrice, colonna»: $g_S(x, y) = {}^tx\,S\,y$. Somme e multipli si spezzano grazie alle regole del prodotto tra matrici. Scambiando $x$ con $y$ i due pezzi misti si scambiano tra loro. Il risultato resta uguale solo se hanno lo stesso peso, cioè se la matrice è simmetrica. ::: ::: domanda Quanto vale $g_S(e_i, e_j)$? E come si legge la matrice dalla formula di $g_S$? Vale $S_{ij}$: il primo vettore sceglie la riga, il secondo la colonna. Per questo il numero nella riga $i$ e colonna $j$ è il numero che nella formula sta davanti a $x_iy_j$, senza dividere per due. ::: ::: domanda Che cos'è la matrice associata $[g]_{\mathcal B}$? Perché è simmetrica? È la tabella dei prodotti tra i vettori della base $\mathcal B$. Nella riga $i$ e colonna $j$ c'è il prodotto del vettore numero $i$ con il vettore numero $j$. È simmetrica perché in un prodotto scalare l'ordine dei due vettori non conta. ::: ::: domanda Come si calcola $g(v, w)$ conoscendo $[g]_{\mathcal B}$? Con le coordinate: la riga delle coordinate di $v$, per la matrice associata, per la colonna delle coordinate di $w$ (Corollario 19.16). Funziona perché il prodotto si spezza. Scrivendo $v$ e $w$ come ricette con i vettori della base, restano solo i prodotti della tabella, moltiplicati per le quantità delle due ricette. ::: ::: domanda Perché $p(0)q(0) + p(1)q(1) + p(2)q(2)$ è definito positivo su $\R_2[x]$, mentre $p(0)q(0) + p(1)q(1)$ è degenere? Nel primo un polinomio con sé stesso dà zero solo se ha tre radici diverse. Per un polinomio non nullo di grado al massimo 2 è impossibile. Nel secondo bastano due radici: il polinomio $x(1 - x)$ non è nullo, vale zero in 0 e in 1, e quindi dà zero con ogni polinomio. ::: ## Glossario ```glossario Prodotto scalare | Una regola bilineare e simmetrica che da due vettori dà un numero. Si scrive $\langle v, w\rangle$ oppure $g(v, w)$. L'esempio di partenza è il conto della spesa. Bilineare | Somme e multipli si spezzano sia nel primo posto sia nel secondo. Per esempio $\langle 2v, w\rangle = 2\langle v, w\rangle$. Simmetrico | L'ordine dei due vettori non conta: $\langle v, w\rangle = \langle w, v\rangle$. Degenere | Un prodotto scalare con un vettore non nullo che dà zero con tutti i vettori. Per $g_S$ succede esattamente quando $\det S = 0$. Non degenere | Un prodotto scalare senza vettori invisibili: per ogni vettore non nullo ce n'è almeno uno con cui il prodotto non fa zero. Definito positivo | Un prodotto scalare in cui ogni vettore non nullo, con sé stesso, dà un numero positivo. Un prodotto definito positivo non è mai degenere. Prodotto scalare euclideo | Il conto della spesa su $\R^n$: si moltiplicano i numeri nello stesso posto e si somma. Si scrive anche ${}^tx\,y$. È definito positivo. Trasposta ${}^tx$ | Il vettore colonna $x$ scritto in riga. Il prodotto ${}^tx\,y$, riga per colonna, dà un numero. Matrice simmetrica | Una matrice quadrata uguale alla sua immagine allo specchio rispetto alla diagonale: ${}^tS = S$. $g_S$ | Il prodotto scalare dato da una matrice simmetrica $S$: $g_S(x, y) = {}^tx\,S\,y$. Il numero $S_{ij}$ sta davanti a $x_iy_j$. Base canonica | I vettori $e_1, \dots, e_n$: ognuno ha un 1 in un posto e 0 negli altri. Vale $g_S(e_i, e_j) = S_{ij}$. Matrice associata $[g]_{\mathcal B}$ | La tabella dei prodotti tra i vettori della base $\mathcal B$: nella riga $i$ e colonna $j$ c'è $g(v_i, v_j)$. È sempre simmetrica. Coordinate $[v]_{\mathcal B}$ | Le quantità della ricetta che costruisce $v$ con i vettori della base $\mathcal B$, scritte in colonna. $\R_k[x]$ | Lo spazio dei polinomi di grado al massimo $k$ con i coefficienti reali. Ha dimensione $k + 1$ e base canonica $\{1, x, \dots, x^k\}$. Vettore nullo | Il vettore fatto di soli zeri. Con il vettore nullo ogni prodotto scalare dà zero. Prodotto per uno scalare | Un numero per un vettore: il risultato è un vettore. Non va confuso con il prodotto scalare, che dà un numero. Vettore isotropo | Parola del libro di Martelli: un vettore che con sé stesso dà zero. In un prodotto definito positivo l'unico è il vettore nullo. Radicale | Parola del libro di Martelli: l'insieme dei vettori che danno zero con tutti. Per $g_S$ è il nucleo di $S$. Contiene solo il vettore nullo quando il prodotto non è degenere. ``` ## Checklist ```checklist - So calcolare il prodotto scalare euclideo di due vettori e leggere dal segno se l'angolo è acuto, retto o ottuso. - So dire i tre assiomi del prodotto scalare e spiegare perché le stesse regole valgono anche nel secondo posto. - So spiegare perché con il vettore nullo viene sempre zero. - So riconoscere se una formula su $\R^2$ o $\R^3$ è un prodotto scalare, e mostrare con un esempio con i numeri quando non lo è. - So distinguere degenere, non degenere e definito positivo, con un esempio per ogni caso. - So spiegare perché un prodotto definito positivo non è degenere, e perché il contrario è falso. - So scrivere il prodotto euclideo in $\R^n$ per esteso, con il simbolo di somma e come ${}^tx\,y$. - So passare da una matrice simmetrica $S$ alla formula di $g_S$ e dalla formula alla matrice, senza dividere per due. - So calcolare la matrice associata $[g]_{\mathcal B}$ in una base qualsiasi, anche per prodotti tra polinomi. - So usare la formula $g(v, w) = {}^t[v]_{\mathcal B}\,[g]_{\mathcal B}\,[w]_{\mathcal B}$. - So decidere con il determinante se $g_S$ è degenere, e so quando una matrice $2 \times 2$ è definita positiva. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 19 «Prodotti scalari I», pp. 96–99: le sezioni 19.A (definizioni), 19.B (matrici simmetriche) e 19.C (matrice associata) sono seguite in ordine, con la stessa numerazione (Definizioni 19.1, 19.2, 19.5, 19.12; Proposizioni 19.3, 19.6, 19.7, 19.8, 19.15; Corollari 19.9, 19.16; Esempi 19.4, 19.10, 19.11, 19.13, 19.14). Le dispense non hanno esercizi per questa lezione. Richiami da altre lezioni: Teorema 4.6 (radici di un polinomio), lezioni L08 (trasposta), L10 (determinante), L15 (coordinate). - **B. Martelli, *Geometria e algebra lineare***, capitolo 7: §7.1 (in particolare la dimostrazione della Proposizione 7.1.5, i criteri per le matrici diagonali del §7.1.6, la Proposizione 7.1.23 sul radicale e le parole «isotropo» e «radicale») e §7.2.1 (matrice associata). Il libro è gratuito: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). - **Appelli d'esame** (Moodle 2025/26): testi degli appelli del 24/01/2024 (domanda 7), 10/06/2024 (domanda 4), 10/07/2024 (domanda 9), 16/01/2025 e 07/02/2025 (problema 12), 15/01/2026 (domanda 9), 05/02/2026 (problema 12), 03/06/2026 (domanda 4). Le tre domande riportate sono risolte in questi appunti. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (il quadrato di una somma, il prodotto della fisica, i criteri con il determinante, le matrici diagonali e il criterio per le matrici $2 \times 2$) e l'approfondimento sulla non degenerazione del terzo prodotto dell'Esempio 19.4 collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L20_prodotti_scalari_2.md` ```yaml corso: MDAG modulo: AG lezione: L20 titolo: Prodotti scalari II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L20 descrizione: >- Appunti della lezione L20 di Algebra lineare e Geometria (MDAG, parte 2): come cambia la matrice di un prodotto scalare cambiando base, forme quadratiche, norma, disuguaglianza di Cauchy–Schwarz e triangolare, distanze e angoli tra vettori, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Il prodotto scalare della lezione L19 diventa un righello e un goniometro. Prima come cambia la sua matrice cambiando base e che cosa sono le forme quadratiche. Poi la lunghezza di un vettore, che è il teorema di Pitagora, la distanza tra due punti e l'angolo tra due vettori, anche con prodotti scalari diversi. materiale: dispense scheda: Dispense: lezione 20 · pp. 100–104 Libro: Martelli, §7.1.5, §7.2.2 e §8.1 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 20 «Prodotti scalari II»; B. Martelli, Geometria e algebra lineare, §7.1.5, §7.2.2, §8.1.1–8.1.4 appunti_html: appunti/MDAG/L20_prodotti_scalari_2.html genera_html: true ``` ## In breve - Lo stesso prodotto scalare ha matrici diverse in basi diverse. Per passare da una all'altra si moltiplica a destra per la matrice di cambiamento di base. A sinistra si moltiplica per la sua **trasposta**, non per l'inversa come per le macchine lineari. - Una **forma quadratica** è un polinomio in cui ogni pezzo ha grado 2, come $x_1^2 - 6x_1x_2$. Ognuna viene da una sola matrice simmetrica: sulla diagonale i numeri davanti ai quadrati, fuori dalla diagonale **metà** dei numeri davanti ai prodotti misti. - Da qui in avanti il prodotto scalare è sempre **definito positivo**: un vettore non nullo per sé stesso dà sempre un numero positivo. - La **norma** di un vettore è la sua lunghezza: la radice del prodotto scalare del vettore con sé stesso. Con il prodotto di tutti i giorni è il teorema di Pitagora: $(3, 4)$ è lungo 5. - Due disuguaglianze fondamentali. **Cauchy–Schwarz**: il prodotto scalare non supera mai il prodotto delle lunghezze. **Triangolare**: un lato di un triangolo non supera la somma degli altri due. - La **distanza** tra due punti è la lunghezza del vettore che va dall'uno all'altro. - L'**angolo** tra due vettori si ricava dal coseno: prodotto scalare diviso per il prodotto delle lunghezze. Il segno del prodotto scalare dice subito se l'angolo è acuto, retto o ottuso. - All'esame: norme e angoli con un prodotto scalare dato, la matrice di una forma quadratica, il cambiamento di base. Tutto senza calcolatrice: servono i coseni degli angoli notevoli. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## La stessa misura in un'altra base (p. 100) Nella lezione L19 hai visto due matrici per lo **stesso** prodotto scalare, quello di tutti i giorni nel piano. Nella base canonica è la matrice identità; nella base $\mathcal B = \{(1, 0), (1, 1)\}$ è $\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}$ (Esempio 19.14). Che legame c'è tra le due? Serve una formula, come quella della lezione L16 per le macchine lineari. **Il ricordo della lezione L16.** Prendi due basi dello stesso spazio, una vecchia e una nuova. Il traduttore dalla base nuova alla base vecchia è la matrice di cambiamento di base $$M = [\id]^{\mathcal B'}_{\mathcal B}.$$ Ogni sua colonna contiene le **coordinate di un vettore nuovo, scritte nella base vecchia**. Le dispense chiamano $M^i$ la colonna numero $i$. **Il conto.** Chiama $S$ la matrice del prodotto scalare nella base vecchia e $S'$ quella nella base nuova. Ogni casella di $S'$ è il prodotto scalare tra due vettori nuovi. Per calcolarlo si usano le loro coordinate nella base vecchia (Corollario 19.16): $$S'_{ij} = g(v_i', v_j') = {}^t(M^i)\,S\,M^j.$$ A destra c'è una riga della trasposta di $M$, per $S$, per una colonna di $M$. È proprio come si calcola una casella del prodotto ${}^tM\,S\,M$. Le dispense lo scrivono così. > [!PROP] 20.1 > Vale > $$S' = {}^tM\,S\,M.$$ **Come si legge.** La matrice nella base nuova si ottiene mettendo la matrice vecchia in mezzo, $M$ a destra e la sua trasposta a sinistra. > [!ESEMPIO] 20.2 · Il prodotto euclideo nella base $\{(1, 0), (1, 1)\}$ > Per il prodotto scalare euclideo di $\R^2$, rispetto alla base $\mathcal B = \{(1, 0), (1, 1)\}$ abbiamo già trovato $\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}$. Qui la base «vecchia» è quella canonica $\mathcal C$, dove la matrice è $I_2$. La matrice di cambiamento di base è > $$M = [\id]^{\mathcal B}_{\mathcal C} = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$$ > (colonne: i vettori di $\mathcal B$ scritti nella base canonica), e infatti > $$\begin{aligned} {}^tM\,I_2\,M &= \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} \\ &= \begin{pmatrix} 1 \cdot 1 + 0 \cdot 0 & 1 \cdot 1 + 0 \cdot 1 \\ 1 \cdot 1 + 1 \cdot 0 & 1 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}. \end{aligned}$$ Nelle dispense, in questo esempio, la matrice nella nuova base si chiama $S$ e quella vecchia è $I_2$: i nomi cambiano, la regola no. **Vecchia** matrice in mezzo, $M$ a destra, la trasposta a sinistra. > [!ESEMPIO] Una base in cui $g_S$ diventa l'identità > Prendi $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ (Esempio 19.11) e la nuova base $\mathcal B' = \{(1, -1), (0, 1)\}$. La base vecchia è quella canonica, quindi $M = \begin{pmatrix} 1 & 0 \\ -1 & 1 \end{pmatrix}$. Un prodotto alla volta: > $$SM = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}\begin{pmatrix} 1 & 0 \\ -1 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix},$$ > $${}^tM(SM) = \begin{pmatrix} 1 & -1 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}.$$ > È lo stesso risultato che nella lezione L19 (esercizio 5) si otteneva casella per casella: nella base nuova questo prodotto scalare ha la matrice identità. > [!TRAPPOLA] Trasposta per i prodotti scalari, inversa per le macchine > Con la stessa matrice di cambiamento di base $M$: > - una **macchina lineare** cambia come $M^{-1}A\,M$ (lezione L16); > - un **prodotto scalare** cambia come ${}^tM\,S\,M$. > > Le due formule danno risultati diversi. Con $M = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ e la matrice identità: come macchina, l'identità resta l'identità; come prodotto scalare diventa $\begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix}$. Le due formule coincidono sempre solo quando la trasposta di $M$ è anche la sua inversa: sono le matrici ortogonali della lezione L22. > [!METODO] Due modi per trovare la matrice nella base nuova > 1. **Casella per casella** (lezione L19): ogni casella è il prodotto scalare tra due vettori nuovi. Comodo con due vettori, o se il prodotto è dato con una formula. > 2. **Con la formula** ${}^tM\,S\,M$: metti nelle colonne di $M$ le coordinate dei vettori nuovi nella base in cui conosci $S$. Calcola prima $SM$, poi la trasposta di $M$ per il risultato. > > In tutti e due i casi controlla alla fine che la matrice sia **simmetrica**: se non lo è, c'è un errore di conto. > [!OLTRE] Il segno del determinante non cambia > Per il teorema di Binet (Teorema 10.4), e siccome una matrice e la sua trasposta hanno lo stesso determinante: > $$\det S' = \det({}^tM)\det S\det M = (\det M)^2\det S.$$ > Siccome $M$ è invertibile, $(\det M)^2$ è positivo: $\det S'$ ha **lo stesso segno** di $\det S$. In particolare una è degenere esattamente quando lo è l'altra, perché il prodotto scalare è lo stesso. È un buon controllo veloce all'esame. Martelli chiama **congruenti** due matrici simmetriche legate in questo modo (§7.2.3). ::: prova Il prodotto scalare di tutti i giorni nel piano, nella base $\{(1, 1), (0, 1)\}$: che matrice ha? $M = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}$, e ${}^tM\,I_2\,M = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$. Controllo: $(1, 1) \cdot (1, 1) = 2$, $(1, 1) \cdot (0, 1) = 1$, $(0, 1) \cdot (0, 1) = 1$. ::: > [!RICORDA] > - Matrice di un prodotto scalare nella base nuova: ${}^tM\,S\,M$, con la trasposta. > - Per le macchine lineari invece si usa l'inversa: $M^{-1}AM$. ## Le forme quadratiche (pp. 100–102) Se in un prodotto scalare metti lo **stesso** vettore nei due posti, ottieni un polinomio di secondo grado nelle coordinate. Per esempio con $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$: $$\begin{aligned} g_S(x, x) &= 2x_1x_1 + x_1x_2 + x_2x_1 + x_2x_2 \\ &= 2x_1^2 + 2x_1x_2 + x_2^2. \end{aligned}$$ I due pezzi misti $x_1x_2$ e $x_2x_1$ ora sono **lo stesso** e si sommano. Questi polinomi hanno un nome. **Polinomi omogenei.** Un polinomio è **omogeneo** se tutti i suoi pezzi hanno lo stesso grado. Gli esempi delle dispense: | Polinomio | Pezzi e gradi | Omogeneo di grado | |---|---|--:| | $x_1 + x_2 - 3x_3$ | tre pezzi di grado 1 | 1 | | $2x_1x_2 - x_3^2 + x_1x_3$ | tre pezzi di grado 2 | 2 | | $x_1^3 - x_2x_3^2$ | due pezzi di grado 3 | 3 | Invece $x_1^2 + x_2$ non è omogeneo, perché ha un pezzo di grado 2 e uno di grado 1. Nemmeno $x_1x_2 + 1$ lo è: la costante ha grado 0. Le dispense danno un nome a quelli di grado 2. > [!DEF] 20.3 · Forma quadratica > Una **forma quadratica** è un polinomio omogeneo di grado 2 nelle variabili $x_1, \dots, x_n$. **Come si legge.** Una forma quadratica è una somma di pezzi come «numero per $x_i^2$» e «numero per $x_ix_j$», senza pezzi di grado 1 e senza costanti. Ogni forma quadratica viene da una sola matrice simmetrica. Le dispense lo scrivono così. > [!PROP] 20.4 > Ogni forma quadratica si scrive in modo unico come > $$q(x) = g_S(x, x) = \sum_{i,j=1}^n x_iS_{ij}x_j$$ > per un'opportuna matrice simmetrica $S$. **Come si legge.** Data la forma quadratica, c'è una e una sola matrice simmetrica che, messa nel prodotto scalare con lo stesso vettore due volte, la restituisce. La dimostrazione delle dispense, con i passaggi spiegati. 1. Una forma quadratica si scrive $q(x) = \sum_{1 \le i \le j \le n} a_{ij}x_ix_j$. La condizione $i \le j$ serve a non contare due volte lo stesso pezzo: per esempio $x_1x_2$ e $x_2x_1$ sono lo stesso pezzo, e compare una volta sola. 2. Sulla diagonale metti $S_{ii} = a_{ii}$. Fuori dalla diagonale metti $S_{ij} = S_{ji} = \frac12 a_{ij}$: il numero del pezzo misto si **divide a metà** tra le due caselle simmetriche. 3. Nella somma con la matrice ogni pezzo misto compare due volte, una per ciascuna delle due caselle simmetriche. In tutto $\frac12 a_{ij} + \frac12 a_{ij} = a_{ij}$: il numero giusto. I quadrati compaiono una volta sola. Quindi la somma è proprio $q(x)$. 4. La matrice è l'unica possibile. Una matrice simmetrica che dà $q$ deve avere sulla diagonale i numeri dei quadrati. E in ogni coppia di caselle simmetriche deve avere due numeri uguali con somma $a_{ij}$, quindi tutti e due $\frac12 a_{ij}$. > [!METODO] Dalla forma alla matrice e ritorno > - **Dalla forma alla matrice.** Il numero davanti a un quadrato va sulla diagonale, nel posto di quella variabile. Il numero davanti a un pezzo misto si **divide per 2** e va nelle due caselle simmetriche di quella coppia di variabili. Le variabili che non compaiono danno righe e colonne di zeri. > - **Dalla matrice alla forma.** I quadrati con il numero della diagonale; i pezzi misti con il **doppio** del numero fuori dalla diagonale. > [!ESEMPIO] 20.5 · Andata e ritorno > Le matrici simmetriche > $$\begin{pmatrix} 1 & -3 \\ -3 & 0 \end{pmatrix}, \qquad \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & -1 \end{pmatrix}, \qquad \begin{pmatrix} 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix}$$ > definiscono, nell'ordine, le forme quadratiche > $$x_1^2 - 6x_1x_2, \quad x_1^2 + x_2^2 - x_3^2, \quad 2x_1x_2 + 2x_2x_3 + 2x_3x_1.$$ > Viceversa, $q(x) = x_1^2 + 4x_1x_2 - x_2^2 + 4x_3^2$ è descritta dalla matrice > $$S = \begin{pmatrix} 1 & 2 & 0 \\ 2 & -1 & 0 \\ 0 & 0 & 4 \end{pmatrix}.$$ Controlla i passaggi. - Nella prima matrice fuori dalla diagonale c'è $-3$, quindi il pezzo misto è $2 \cdot (-3)\,x_1x_2 = -6x_1x_2$. Il secondo numero della diagonale è 0, quindi $x_2^2$ non compare. - Nella terza ogni numero fuori dalla diagonale vale 1 e dà un pezzo $2x_ix_j$. - Nell'ultima il 4 davanti al pezzo misto si divide in $2 + 2$, nelle due caselle simmetriche. Il 4 davanti a $x_3^2$ invece va sulla diagonale **intero**. > [!TRAPPOLA] Metà sì, metà no > Si divide per due **solo** il numero dei pezzi misti, e solo per le **forme quadratiche**. Nella formula di un prodotto scalare con due vettori diversi, i pezzi $x_1y_2$ e $x_2y_1$ sono diversi e vanno nella matrice senza dimezzare (lezione L19). Nell'appello dell'08/02/2024 (domanda 7) tra le risposte sbagliate c'erano proprio le matrici con il numero misto non dimezzato. **La forma di una matrice e la definita positività.** Le dispense chiamano $q_S(x) = g_S(x, x)$ la forma quadratica della matrice simmetrica $S$. Un prodotto scalare è definito positivo quando ogni vettore non nullo, messo con sé stesso, dà un numero positivo (Definizione 19.2). Quindi il prodotto è definito positivo esattamente quando la sua forma quadratica è positiva per ogni vettore diverso da zero. Per deciderlo basta studiare il **segno** di un polinomio di secondo grado. > [!OLTRE] Completare i quadrati, e tornare dalla forma al prodotto > **Completare i quadrati.** Per vedere che una forma è positiva la si riscrive come somma di quadrati con numeri positivi davanti. Per $q = 2x_1^2 + 2x_1x_2 + 2x_2^2$: > $$q = 2\left(x_1 + \frac{x_2}2\right)^2 + \frac32 x_2^2,$$ > oppure > $$q = x_1^2 + x_2^2 + (x_1 + x_2)^2.$$ > In tutte e due le scritture la forma non è mai negativa, ed è zero solo quando tutte e due le variabili sono zero. Per le matrici $2 \times 2$ c'è anche il criterio della lezione L19: $\begin{pmatrix} a & b \\ b & c \end{pmatrix}$ è definita positiva esattamente quando $a > 0$ e $ac - b^2 > 0$. > > **Dalla forma al prodotto.** La forma quadratica contiene tutto il prodotto scalare. Sviluppando $q(x + y) = q(x) + 2g(x, y) + q(y)$ (lezione L19) si ricava > $$g(x, y) = \frac12\big(q(x + y) - q(x) - q(y)\big).$$ Le dispense lo dicono in modo esplicito: **per il resto della lezione il prodotto scalare è sempre definito positivo**. Serve per le radici quadrate della prossima sezione. ::: prova Qual è la matrice simmetrica della forma $x_1^2 + 6x_1x_2 + 2x_2^2$? Diagonale 1 e 2; il 6 si divide in $3 + 3$: $\begin{pmatrix} 1 & 3 \\ 3 & 2 \end{pmatrix}$. ::: > [!RICORDA] > - Forma quadratica: polinomio con tutti i pezzi di grado 2. > - Matrice: quadrati sulla diagonale, **metà** dei numeri misti fuori dalla diagonale. > - $g_S$ è definito positivo esattamente quando la sua forma quadratica è positiva fuori dallo zero. ## La lunghezza di un vettore (pp. 102–103) Disegna un triangolo rettangolo con i cateti lunghi 3 e 4. L'ipotenusa è il vettore $v = (3, 4)$. Per il teorema di Pitagora la sua lunghezza è $$\sqrt{3^2 + 4^2} = \sqrt{25} = 5.$$ Sotto la radice c'è proprio il prodotto scalare di $v$ con sé stesso: $3 \cdot 3 + 4 \cdot 4$. L'idea della norma è questa: **la lunghezza è la radice del prodotto scalare di un vettore con sé stesso**, qualunque sia il prodotto scalare. ```grafico titolo: $\|(3, 4)\| = \sqrt{3^2 + 4^2} = 5$: la norma euclidea è il teorema di Pitagora x: -1 5 y: -1 5 poligono: 0 0 3 0 3 4 | tenue vettore: 3 4 | accento | spesso | $v = (3, 4)$ | no segmento: 0 0 3 0 | blu | $3$ | s segmento: 3 0 3 4 | ambra | $4$ | e ``` Le dispense lo scrivono così. > [!DEF] 20.6 · Norma > Sia $V$ uno spazio vettoriale munito di un prodotto scalare definito positivo. La **norma** di $v \in V$ è > $$\|v\| = \sqrt{\langle v, v\rangle}.$$ **Come si legge.** - $\|v\|$ si legge «norma di vu» ed è la **lunghezza** del vettore. - Il prodotto deve essere **definito positivo**: così sotto la radice non c'è mai un numero negativo. - Le due stanghette servono a non confonderla con il valore assoluto $|x|$ di un numero. - La norma **dipende dal prodotto scalare**: lo stesso vettore può avere lunghezze diverse con prodotti diversi. > [!ESEMPIO] 20.8 · La norma euclidea > Per il prodotto scalare euclideo su $\R^n$: > $$\|x\| = \sqrt{x_1^2 + \dots + x_n^2}.$$ > Per esempio $\|(3, 4)\| = 5$, $\|(1, 2, 2)\| = \sqrt{1 + 4 + 4} = 3$, $\|(1, 1, 1, 1)\| = \sqrt 4 = 2$. > [!ESEMPIO] 20.9 · Una norma diversa > Prendiamo il prodotto scalare $g_S$ su $\R^2$ definito da $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$. La norma di $x$ è > $$\|x\| = \sqrt{2x_1^2 + 2x_1x_2 + x_2^2}.$$ > Sotto la radice c'è la forma quadratica $q_S(x)$. Qualche valore: > > | $x$ | $q_S(x) = 2x_1^2 + 2x_1x_2 + x_2^2$ | $\|x\|$ con $g_S$ | $\|x\|$ euclidea | > |---|---|---|---| > | $(1, 0)$ | $2$ | $\sqrt 2$ | $1$ | > | $(0, 1)$ | $1$ | $1$ | $1$ | > | $(1, -1)$ | $2 - 2 + 1 = 1$ | $1$ | $\sqrt 2$ | > | $(1, 1)$ | $2 + 2 + 1 = 5$ | $\sqrt 5$ | $\sqrt 2$ | ### Le quattro regole delle lunghezze Una buona lunghezza deve comportarsi come ci aspettiamo dai righelli. Le dispense raccolgono quattro regole. > [!PROP] 20.7 > Per ogni $v, w \in V$ e $\lambda \in \R$ valgono: > 1. $\|v\| > 0$ se $v \neq 0$ e $\|0\| = 0$, > 2. $\|\lambda v\| = |\lambda|\,\|v\|$, > 3. $|\langle v, w\rangle| \le \|v\|\,\|w\|$, > 4. $\|v + w\| \le \|v\| + \|w\|$. > > La (3) è la **disuguaglianza di Cauchy–Schwarz** e la (4) è la **disuguaglianza triangolare**. **Come si legge**, una regola alla volta, con i numeri. 1. Solo il vettore nullo ha lunghezza zero. È la definita positività. 2. Moltiplicare un vettore per un numero moltiplica la lunghezza per il valore assoluto di quel numero: $-3v$ è lungo 3 volte $v$. Il valore assoluto serve perché le lunghezze non sono mai negative. 3. Il prodotto scalare, preso senza segno, non supera mai il prodotto delle lunghezze. Con $v = (1, 2)$ e $w = (3, 1)$: il prodotto scalare è 5, il prodotto delle lunghezze è $\sqrt 5 \cdot \sqrt{10} = \sqrt{50}$, circa 7,07. Con $w = (2, 4)$, che è $2v$, vale l'uguaglianza: $10 = \sqrt 5 \cdot \sqrt{20}$. 4. In un triangolo un lato non supera la somma degli altri due. Con $v = (3, 0)$ e $w = (0, 4)$: $v + w = (3, 4)$ è lungo 5, che non supera $3 + 4 = 7$. **Perché valgono le regole 1 e 2.** La regola 1 viene dalla definita positività: se $v$ non è zero, il prodotto con sé stesso è positivo, e la sua radice anche. Per la regola 2 si usano gli assiomi della lezione L19: $$\|\lambda v\| = \sqrt{\langle \lambda v, \lambda v\rangle} = \sqrt{\lambda^2\langle v, v\rangle} = \sqrt{\lambda^2}\,\sqrt{\langle v, v\rangle} = |\lambda|\,\|v\|.$$ L'ultimo passaggio usa che la radice di $\lambda^2$ è il valore assoluto di $\lambda$: per esempio $\sqrt{(-3)^2} = 3$. **Perché vale Cauchy–Schwarz.** Se $w$ è zero, tutti e due i lati valgono 0. Altrimenti chiama $c$ il numero $\frac{\langle v, w\rangle}{\langle w, w\rangle}$. Il vettore $v - cw$ è quello che resta di $v$ dopo avergli tolto la parte nella direzione di $w$. Nella lezione L21 quella parte si chiamerà **proiezione**. La sua lunghezza al quadrato non è mai negativa: 1. sviluppo come $(a - b)^2$: $$0 \le \|v - cw\|^2 = \langle v, v\rangle - 2c\langle v, w\rangle + c^2\langle w, w\rangle;$$ 2. metto al posto di $c$ il suo valore: $$0 \le \|v\|^2 - 2\,\frac{\langle v, w\rangle^2}{\|w\|^2} + \frac{\langle v, w\rangle^2}{\|w\|^4}\,\|w\|^2 = \|v\|^2 - \frac{\langle v, w\rangle^2}{\|w\|^2};$$ 3. moltiplico per $\|w\|^2$, che è positivo: $\langle v, w\rangle^2 \le \|v\|^2\|w\|^2$; 4. prendo la radice dei due lati, che non sono negativi: $|\langle v, w\rangle| \le \|v\|\,\|w\|$. **Perché vale la disuguaglianza triangolare.** Sviluppo il quadrato (lezione L19) e uso Cauchy–Schwarz: $$\begin{aligned} \|v + w\|^2 &= \|v\|^2 + \|w\|^2 + 2\langle v, w\rangle \\ &\le \|v\|^2 + \|w\|^2 + 2\|v\|\,\|w\| = \big(\|v\| + \|w\|\big)^2. \end{aligned}$$ Il passaggio con il «minore o uguale» usa Cauchy–Schwarz. Poi si prende la radice dei due lati. > [!OLTRE] Quando vale l'uguaglianza > In Cauchy–Schwarz vale l'uguaglianza esattamente quando $v$ e $w$ sono **paralleli**, cioè uno è multiplo dell'altro: nel passaggio 1 l'uguaglianza vuol dire che $v - cw$ ha lunghezza zero, cioè $v = cw$. Nella triangolare serve anche che puntino nello **stesso verso**. **Vettori lunghi 1.** Un vettore di lunghezza 1 si chiama **unitario**. Per la regola 2, se $v$ non è zero il vettore $\frac{v}{\|v\|}$ è lungo esattamente 1: dividere per la lunghezza si chiama **normalizzare**. Per esempio $\frac{(3, 4)}{5} = \left(\frac35, \frac45\right)$. Le dispense usano i vettori normalizzati nella prossima sezione e le basi fatte di vettori unitari nella lezione L21. ::: prova Quanto è lungo il vettore $(2, -2, 1)$, con il prodotto di tutti i giorni? $\sqrt{4 + 4 + 1} = \sqrt 9 = 3$. ::: > [!RICORDA] > - Lunghezza = radice del prodotto scalare del vettore con sé stesso. Con il prodotto di tutti i giorni è Pitagora. > - Cauchy–Schwarz: il prodotto scalare non supera il prodotto delle lunghezze. Triangolare: un lato non supera la somma degli altri due. ## La distanza tra due punti (p. 103) Con un righello si misura subito anche una distanza: la distanza tra due punti è la lunghezza del vettore che va dall'uno all'altro. Il vettore che parte dal primo punto e arriva nel secondo si calcola «arrivo meno partenza»: $$\overrightarrow{PQ} = Q - P.$$ Le dispense scrivono la distanza così. > [!DEF] 20.10 · Distanza > La **distanza** fra $P$ e $Q$ è > $$d(P, Q) = \|Q - P\|.$$ **Come si legge.** $d(P, Q)$ si legge «distanza tra pi e qu»: è la lunghezza del vettore che va dal primo punto al secondo. Esempi con il prodotto di tutti i giorni: - da $P = (1, 2)$ a $Q = (4, 6)$: il vettore è $(3, 4)$ e la distanza è 5; - da $P = (1, 0, 2)$ a $Q = (3, 1, 0)$: il vettore è $(2, 1, -2)$ e la distanza è $\sqrt{4 + 1 + 4} = 3$. Con un altro prodotto cambiano anche le distanze. Con il prodotto dell'Esempio 20.9 la distanza tra l'origine e il punto $(1, -1)$ è 1, come nella tabella, mentre quella di tutti i giorni è $\sqrt 2$. La distanza ha le proprietà che ci aspettiamo. Le dispense le scrivono così. > [!PROP] 20.11 > Per ogni $P, Q, R \in V$: > 1. $d(P, Q) > 0$ se $P \neq Q$ e $d(P, P) = 0$, > 2. $d(P, Q) = d(Q, P)$, > 3. $d(P, R) \le d(P, Q) + d(Q, R)$. **Come si legge**, punto per punto: 1. due punti diversi sono a distanza positiva, e un punto è a distanza zero da sé stesso: viene dalla regola 1 delle lunghezze; 2. andare è lungo quanto tornare: il vettore di ritorno è l'opposto di quello di andata, e per la regola 2 ha la stessa lunghezza; 3. passare per un punto intermedio non accorcia la strada. Il viaggio si spezza in due tappe, e per la disuguaglianza triangolare $$\begin{aligned} d(P, R) &= \|(Q - P) + (R - Q)\| \\ &\le \|Q - P\| + \|R - Q\| = d(P, Q) + d(Q, R). \end{aligned}$$ ```grafico titolo: $d(P, R) = 5 \le d(P, Q) + d(Q, R) = 3 + 4$ x: 0 6 y: 0 6 punto: 1 1 | accento | $P$ | so punto: 4 1 | accento | $Q$ | se punto: 4 5 | accento | $R$ | ne segmento: 1 1 4 1 | blu | $3$ | s segmento: 4 1 4 5 | ambra | $4$ | e segmento: 1 1 4 5 | verde | spesso | $5$ | no ``` ::: prova Quanto distano i punti $(1, 1)$ e $(4, 5)$? Il vettore è $(4 - 1,\ 5 - 1) = (3, 4)$, lungo 5. ::: > [!RICORDA] > - Distanza = lunghezza del vettore «arrivo meno partenza». > - È simmetrica, e una tappa intermedia non accorcia mai la strada. ## L'angolo tra due vettori (p. 104) In fisica si impara la formula «prodotto scalare = lunghezza per lunghezza per coseno dell'angolo». Il corso la **rovescia** e la usa per definire l'angolo: prodotto scalare e lunghezze si sanno calcolare, e da loro si ricava il coseno. Le dispense lo scrivono così. > [!DEF] 20.12 · Angolo > Sia $V$ munito di un prodotto scalare definito positivo. L'**angolo** fra due vettori non nulli $v, w \in V$ è il numero $\vartheta \in [0, \pi]$ tale che > $$\cos\vartheta = \frac{\langle v, w\rangle}{\|v\|\,\|w\|}.$$ **Come si legge.** - $\vartheta$ è la lettera greca «theta». Il suo coseno è il prodotto scalare diviso per il prodotto delle lunghezze. - I vettori non devono essere zero, altrimenti si dividerebbe per zero. - L'angolo è in **radianti** e sta tra 0 e $\pi$, cioè tra 0° e 180°: l'angolo tra due vettori non ha verso e non supera l'angolo piatto. - **La definizione funziona grazie a Cauchy–Schwarz**: il rapporto sta sempre tra meno uno e uno. E per ogni numero in quell'intervallo c'è uno e un solo angolo tra 0° e 180° con quel coseno. - Lo stesso si scrive con l'arcocoseno, la funzione che dal coseno restituisce l'angolo: $\vartheta = \arccos\frac{\langle v, w\rangle}{\|v\|\,\|w\|}$. Il segno del prodotto scalare decide il tipo di angolo, perché le lunghezze sono positive e il coseno è positivo prima dell'angolo retto e negativo dopo: | Prodotto scalare | Coseno | L'angolo è | |---|---|---| | positivo | positivo | **acuto**, meno di 90° | | zero | zero | **retto**, 90° | | negativo | negativo | **ottuso**, più di 90° | **Senza calcolatrice**: all'esame si riconoscono i coseni degli angoli notevoli. Conviene averli sul foglio. | $\vartheta$ | $0$ | $\frac\pi6$ | $\frac\pi4$ | $\frac\pi3$ | $\frac\pi2$ | $\frac{2\pi}3$ | $\frac{3\pi}4$ | $\frac{5\pi}6$ | $\pi$ | |---|---|---|---|---|---|---|---|---|---| | gradi | 0° | 30° | 45° | 60° | 90° | 120° | 135° | 150° | 180° | | $\cos\vartheta$ | $1$ | $\frac{\sqrt3}2$ | $\frac{\sqrt2}2$ | $\frac12$ | $0$ | $-\frac12$ | $-\frac{\sqrt2}2$ | $-\frac{\sqrt3}2$ | $-1$ | > [!ESEMPIO] Quattro angoli con il prodotto euclideo > 1. $v = (1, 0)$, $w = (1, 1)$: prodotto 1, lunghezze 1 e $\sqrt 2$. Coseno $\frac1{\sqrt2} = \frac{\sqrt2}2$: l'angolo è $\frac\pi4$. > 2. $v = (1, 2)$, $w = (-2, 1)$: prodotto $-2 + 2 = 0$. L'angolo è retto, $\frac\pi2$. > 3. $v = (1, 0)$, $w = (-1, \sqrt3)$: prodotto $-1$, lunghezze 1 e $\sqrt{1 + 3} = 2$. Coseno $-\frac12$: l'angolo è $\frac{2\pi}3$. > 4. $v = (1, 1, 1)$, $w = (1, 2, 3)$: prodotto 6, lunghezze $\sqrt3$ e $\sqrt{14}$. Coseno $\frac6{\sqrt{42}}$, e l'angolo è $\arccos\frac{6}{\sqrt{42}}$, che non è un angolo notevole. È la domanda 10 dell'appello del 07/09/2026. ```grafico titolo: $v = (1, 0)$ e $w = (-1, \sqrt 3)$: $\cos\vartheta = -\frac12$, quindi $\vartheta = \frac{2\pi}{3}$ (ottuso) x: -2 2 y: -0.5 2 vettore: 1 0 | accento | spesso | $v$ | s vettore: -1 sqrt(3) | blu | spesso | $w$ | no arco: 0 0 0.45 0 2pi/3 | ambra | $\vartheta$ ``` Prova con lo strumento: trascina $v$ in modo che il prodotto scalare cambi segno, e guarda l'angolo passare da acuto a retto a ottuso. Quando il prodotto è zero lo strumento scrive che i vettori sono ortogonali. Attenzione: lo strumento scrive l'angolo in **gradi**, mentre all'esame si usano i radianti; 90° corrisponde a $\frac\pi2$. ```widget vettori titolo: Norme, prodotto scalare e angolo u: 2 1 v: -1 3 modo: scalare modi: scalare raggio: 5 ``` **Angoli con un prodotto diverso.** La definizione vale per **ogni** prodotto definito positivo. Con $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$, per esempio, i due vettori della base canonica non sono più perpendicolari. Il loro prodotto è 1 e le lunghezze sono $\sqrt2$ e 1. Quindi il coseno è $\frac1{\sqrt2}$ e l'angolo è 45° (esercizio 11). > [!NOTA] Collegamento con l'informatica: similarità coseno > Le dispense chiudono la lezione con un collegamento. Molte applicazioni usano i vettori: motori di ricerca, sistemi di raccomandazione, riconoscimento di immagini. Un oggetto, per esempio una parola, un documento o un'immagine, viene rappresentato da un vettore $x \in \R^n$, spesso chiamato **embedding**. Per confrontare due rappresentazioni $x$ e $y$ si usa la **similarità coseno** > $$\operatorname{sim}(x, y) = \frac{\langle x, y\rangle}{\|x\|\,\|y\|} = \cos\vartheta.$$ > Dipende dall'angolo e **non dalla lunghezza** dei vettori. Se gli embedding sono normalizzati, cioè lunghi 1, la similarità coseno è il prodotto scalare stesso. Vettori che puntano in direzioni vicine hanno similarità vicina a 1. > > Un esempio piccolo: tre documenti descritti dal numero di volte in cui compaiono quattro parole, $d_1 = (2, 1, 0, 1)$, $d_2 = (4, 2, 0, 2)$, $d_3 = (0, 1, 3, 0)$. Il secondo è il primo «scritto due volte»: $\operatorname{sim}(d_1, d_2) = 1$, anche se $d_2$ è più lungo. Invece $\operatorname{sim}(d_1, d_3) = \frac{1}{\sqrt6\sqrt{10}} = \frac{\sqrt{15}}{30}$, circa 0,13: parlano di cose diverse. > [!OLTRE] Dove trovarlo nel libro > Martelli: §7.2.2 «Cambiamento di base» (p. 212) e §7.2.3 sulle matrici congruenti (p. 213); §7.1.5 «Forme quadratiche» (pp. 203–204); capitolo 8, §8.1.1 «Norma» (pp. 240–241), §8.1.2 con le applicazioni di Cauchy–Schwarz e la legge del parallelogramma (pp. 241–242), §8.1.3 «Angoli» (pp. 242–243), §8.1.4 «Distanze» (pp. 243–244). Il libro dimostra Cauchy–Schwarz in modo un po' diverso, partendo dalla lunghezza di una ricetta di $v$ e $w$ scelta bene. ::: prova Qual è l'angolo tra $(1, 0)$ e $(1, \sqrt 3)$? Prodotto 1, lunghezze 1 e $\sqrt{1 + 3} = 2$. Coseno $\frac12$: l'angolo è $\frac\pi3$, cioè 60°. ::: > [!RICORDA] > - Coseno dell'angolo = prodotto scalare diviso il prodotto delle lunghezze; l'angolo sta tra 0 e $\pi$. > - Prodotto positivo: acuto. Zero: retto. Negativo: ottuso. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | ${}^tM$ | «emme trasposta» | la matrice con righe e colonne scambiate | | | ${}^tM\,S\,M$ | «emme trasposta, esse, emme» | la matrice del prodotto scalare nella base nuova | | | $q_S(x)$ | «qu esse di x» | la forma quadratica di $S$: il prodotto di $x$ con sé stesso | $q_I(x) = x_1^2 + x_2^2$ | | $\langle v, w\rangle$ | «prodotto scalare di vu e vu doppio» | il prodotto scalare (lezione L19) | $\langle (1, 2), (3, 1)\rangle = 5$ | | $\|v\|$ | «norma di vu» | la lunghezza | $\|(3, 4)\| = 5$ | | $\lvert\lambda\rvert$ | «valore assoluto di lambda» | il numero senza segno | $\lvert -3\rvert = 3$ | | $\overrightarrow{PQ}$ | «vettore pi qu» | il vettore da $P$ a $Q$, cioè $Q - P$ | | | $d(P, Q)$ | «distanza tra pi e qu» | la lunghezza di $Q - P$ | | | $\vartheta$ | «theta» | l'angolo tra due vettori, in radianti | | | $\arccos$ | «arcocoseno» | dal coseno all'angolo tra 0 e $\pi$ | $\arccos\frac12 = \frac\pi3$ | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione compare negli appelli 2023–2026** 1. **Norma e angolo (quiz).** Appello del 07/09/2026: domanda 5 (la lunghezza di un vettore con una matrice $3 \times 3$ data) e domanda 10 (un angolo con il prodotto di tutti i giorni). Appello del 03/06/2025, domanda 6 (angolo con $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$). Appello dell'08/02/2024, domanda 8 (angolo tra i polinomi $x$ e $x^2$). 2. **Dalla forma quadratica alla matrice (quiz).** Appello dell'08/02/2024, domanda 7. 3. **Cambiamento di base (quiz).** Appelli del 10/06/2024 e del 03/06/2026, domanda 4: la matrice di $g_S$ in una base nuova, con la formula oppure casella per casella. 4. **Problemi.** Il punto (1) del problema 12 del 03/07/2026 chiede norme e coseno dell'angolo con un $g_S$ su $\R^3$. Il punto (2) del problema 12 del 07/02/2025 chiede norme e angolo di due polinomi. Il punto (2) del problema 12 del 05/02/2026 chiede per quali valori di un parametro due vettori sono ortogonali rispetto a $g_S$. > [!METODO] Norma e angolo con un $g_S$ > 1. Calcola **una volta** i vettori $Sv$ e $Sw$. > 2. $\|v\|^2 = {}^tv\,(Sv)$, $\|w\|^2 = {}^tw\,(Sw)$, $g_S(v, w) = {}^tv\,(Sw)$: sono prodotti di tutti i giorni tra vettori già calcolati. > 3. Il coseno è $g_S(v, w)$ diviso il prodotto delle lunghezze. Semplifica le radici, per esempio $\frac{1}{\sqrt2} = \frac{\sqrt2}2$ e $\frac{3}{\sqrt{12}} = \frac{\sqrt3}2$, e confronta con la tabella degli angoli notevoli. > 4. Se nessun angolo notevole torna, la risposta resta con l'arcocoseno: nel quiz cerca l'opzione equivalente, magari scritta con il denominatore senza radici. ### Una domanda vera, letta insieme **Appello del 07/09/2026, domanda 5.** Il testo: «Su $\R^3$ è dato $g_S$ con $S = \begin{pmatrix} 2 & 1 & 1 \\ 1 & 2 & 0 \\ 1 & 0 & 1 \end{pmatrix}$. Qual è la norma di $v = {}^t(1, 1, 1)$?». Le opzioni erano: radice di 2, 2, radice di 7, radice di 3 e 3. **In pratica chiede:** quanto è lungo il vettore $(1, 1, 1)$, se le lunghezze si misurano con il prodotto scalare di questa matrice e non con quello di tutti i giorni? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: la matrice per il vettore.** Ogni riga di $S$ per $(1, 1, 1)$ è la somma dei numeri della riga: > $$Sv = (2 + 1 + 1,\ 1 + 2 + 0,\ 1 + 0 + 1) = (4, 3, 2).$$ > > **Passo 2: il prodotto con il vettore.** $\|v\|^2 = {}^tv\,(Sv) = 1 \cdot 4 + 1 \cdot 3 + 1 \cdot 2 = 9$. > > **Passo 3: la radice.** $\|v\| = \sqrt 9 = 3$. > > **La risposta** è 3. La trappola è $\sqrt3$, la lunghezza di $(1, 1, 1)$ con il prodotto di tutti i giorni: qui il prodotto è $g_S$. Chi dimentica la radice cerca 9, che tra le opzioni non c'è. ### Altre due domande vere > [!ESAME] Appello del 03/06/2025, domanda 6 > *Con $g_S(v, w) = {}^tv\,S\,w$ e $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$, qual è l'angolo tra $u = {}^t(0, 2)$ e $w = {}^t(\sqrt3, 1 - \sqrt3)$?* Le opzioni: $\frac\pi4$, $0$, $\frac\pi3$, $\arccos\frac{1 - \sqrt3}{\sqrt{7 - 2\sqrt3}}$, $\frac\pi2$. > > **Soluzione.** > 1. $Sw = \big(2\sqrt3 + 1 - \sqrt3,\ \sqrt3 + 1 - \sqrt3\big) = (\sqrt3 + 1,\ 1)$. > 2. $g_S(u, w) = {}^tu\,(Sw) = 0 \cdot (\sqrt3 + 1) + 2 \cdot 1 = 2$. > 3. $Su = (2, 2)$, quindi $\|u\|^2 = 0 \cdot 2 + 2 \cdot 2 = 4$ e $\|u\| = 2$. > 4. $\|w\|^2 = {}^tw\,(Sw) = \sqrt3(\sqrt3 + 1) + (1 - \sqrt3) \cdot 1 = 3 + \sqrt3 + 1 - \sqrt3 = 4$, quindi $\|w\| = 2$. > > Il coseno è $\frac{2}{2 \cdot 2} = \frac12$, quindi l'angolo è $\frac\pi3$. L'opzione con l'arcocoseno è il coseno calcolato con il prodotto di tutti i giorni: è la trappola per chi dimentica $S$. > [!ESAME] Appello del 10/06/2024, domanda 4 > *Data $S = \begin{pmatrix} 1 & 1 & 1 \\ 1 & 0 & 0 \\ 1 & 0 & 2 \end{pmatrix}$, qual è la matrice di $g_S$ nella base $\mathcal B = \{{}^t(1, 0, 0), {}^t(1, 1, 0), {}^t(1, 1, 1)\}$?* > > **Soluzione con la formula.** $M = \begin{pmatrix} 1 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{pmatrix}$, con i vettori della base in colonna. Prima $SM = \begin{pmatrix} 1 & 2 & 3 \\ 1 & 1 & 1 \\ 1 & 1 & 3 \end{pmatrix}$, poi > $${}^tM(SM) = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 1 & 0 \\ 1 & 1 & 1 \end{pmatrix}\begin{pmatrix} 1 & 2 & 3 \\ 1 & 1 & 1 \\ 1 & 1 & 3 \end{pmatrix} = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 3 & 4 \\ 3 & 4 & 7 \end{pmatrix}.$$ > Controlli: il risultato è simmetrico. Il determinante di $S$ è $-2$ e quello di $M$ è 1, quindi anche il risultato deve avere determinante $-2$: infatti $1(21 - 16) - 2(14 - 12) + 3(8 - 9) = 5 - 4 - 3 = -2$. > > Le risposte sbagliate sono istruttive. Una era $M$ stessa, che non è simmetrica e si scarta subito. Una era $S$, la matrice nella base canonica. Una era ${}^tM\,M$, cioè la matrice del prodotto di tutti i giorni nella base $\mathcal B$, per chi dimentica $S$. Il modo più veloce per scegliere è calcolare una sola casella: quella al posto $(2, 2)$ è il prodotto di $(1, 1, 0)$ con sé stesso, ${}^t(1, 1, 0)\,(2, 1, 1) = 3$, e solo una delle cinque matrici ha 3 in quel posto. **Errori da evitare.** - Usare il prodotto di tutti i giorni quando il testo ne dà un altro: è la trappola di tutte e tre le domande qui sopra. - Dimenticare la **radice**: se la norma al quadrato è 9, la norma è 3. - Usare $M^{-1}SM$ al posto di ${}^tMSM$. - Non dimezzare i numeri misti di una forma quadratica. - Dare l'angolo in gradi, o fuori da $[0, \pi]$: un coseno negativo dà un angolo **ottuso**, non un angolo negativo. > [!ESAME] Sul foglio da 4 facciate > - $S' = {}^tM\,S\,M$, con le colonne di $M$ = vettori nuovi nella base vecchia; $\det S' = (\det M)^2\det S$. > - Forma quadratica: diagonale = numeri dei quadrati, fuori diagonale = **metà** dei numeri misti. > - $\|v\| = \sqrt{\langle v, v\rangle}$; $|\langle v, w\rangle| \le \|v\|\,\|w\|$; $\|v + w\|^2 = \|v\|^2 + 2\langle v, w\rangle + \|w\|^2$. > - $d(P, Q) = \|Q - P\|$; $\cos\vartheta = \frac{\langle v, w\rangle}{\|v\|\,\|w\|}$, con $\vartheta$ tra 0 e $\pi$. > - La tabella dei coseni degli angoli notevoli. ## Quiz ```quiz D: La forma quadratica $q(x) = x_1^2 - 4x_1x_2 + 3x_3^2$ si scrive come $q_S(x) = {}^tx\,S\,x$ con $S$ simmetrica uguale a: + $\begin{pmatrix} 1 & -2 & 0 \\ -2 & 0 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & -4 & 0 \\ -4 & 0 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & -4 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & -2 & 0 \\ -2 & 3 & 0 \\ 0 & 0 & 0 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 & 0 \\ 2 & 0 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ = Sulla diagonale i numeri dei quadrati: 1 per $x_1^2$, 0 per $x_2^2$, 3 per $x_3^2$. Il $-4$ di $x_1x_2$ si divide: $-2$ ai posti $(1, 2)$ e $(2, 1)$. La risposta più insidiosa è la seconda, che non dimezza e quindi dà $-8x_1x_2$. La terza dà la forma giusta ma non è simmetrica; la quarta mette il 3 su $x_2^2$; l'ultima ha il segno sbagliato. Simile all'appello dell'08/02/2024, domanda 7. D: Quale forma quadratica è definita dalla matrice $S = \begin{pmatrix} 0 & 1 & -1 \\ 1 & 2 & 0 \\ -1 & 0 & 0 \end{pmatrix}$? + $2x_2^2 + 2x_1x_2 - 2x_1x_3$ - $2x_2^2 + x_1x_2 - x_1x_3$ - $2x_2^2 + 2x_1x_2 + 2x_1x_3$ - $x_1^2 + 2x_2^2 + 2x_1x_2 - 2x_1x_3$ - $2x_2^2 + 4x_1x_2 - 4x_1x_3$ = Dalla diagonale viene solo $2x_2^2$. Fuori dalla diagonale ogni numero si raddoppia: $2 \cdot 1 \cdot x_1x_2$ e $2 \cdot (-1) \cdot x_1x_3$; il posto $(2, 3)$ ha 0. La risposta più insidiosa è la seconda, di chi dimentica di raddoppiare. L'ultima raddoppia due volte; la terza sbaglia un segno; la quarta inventa un $x_1^2$. D: Su $\R^3$ sia $g_S$ il prodotto scalare con $S = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 3 & 1 \\ 0 & 1 & 2 \end{pmatrix}$. Qual è la norma di $v = {}^t(1, 1, 1)$ rispetto a $g_S$? + $\sqrt{10}$ - $10$ - $\sqrt3$ - $3$ - $\sqrt7$ = $Sv = (1 + 1,\ 1 + 3 + 1,\ 1 + 2) = (2, 5, 3)$, e la norma al quadrato è $2 + 5 + 3 = 10$: la norma è $\sqrt{10}$. La risposta più insidiosa è $\sqrt3$, la lunghezza con il prodotto di tutti i giorni. 10 è la norma al quadrato, senza la radice. Simile all'appello del 07/09/2026, domanda 5. D: Rispetto al prodotto scalare euclideo, qual è l'angolo tra ${}^t(1, 0, 1)$ e ${}^t(1, 1, 0)$? + $\frac\pi3$ - $\frac\pi6$ - $\frac\pi4$ - $\frac{2\pi}3$ - $\arccos\frac14$ = Il prodotto è $1 + 0 + 0 = 1$, le lunghezze sono $\sqrt2$ e $\sqrt2$: il coseno è $\frac12$ e l'angolo $\frac\pi3$. La risposta più insidiosa è $\frac{2\pi}3$, che ha coseno $-\frac12$: ma il prodotto è positivo, quindi l'angolo è acuto. $\frac\pi6$ ha coseno $\frac{\sqrt3}2$. Simile all'appello del 07/09/2026, domanda 10. D: Sia $g_S$ il prodotto scalare su $\R^2$ con $S = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$. Qual è l'angolo tra ${}^t(1, 0)$ e ${}^t(1, 1)$ rispetto a $g_S$? + $\frac\pi6$ - $\frac\pi4$ - $\frac\pi3$ - $0$ - $\arccos\frac34$ = Il prodotto è $S_{11} + S_{12} = 3$; le lunghezze al quadrato sono $S_{11} = 2$ e $2 + 1 + 1 + 2 = 6$. Il coseno è $\frac{3}{\sqrt2\sqrt6} = \frac{3}{\sqrt{12}} = \frac{\sqrt3}2$, quindi l'angolo è $\frac\pi6$. La risposta più insidiosa è $\frac\pi4$, l'angolo con il prodotto di tutti i giorni. Simile all'appello del 03/06/2025, domanda 6. D: Su $\R_2[x]$ si consideri il prodotto $\langle p, q\rangle = p(-1)q(-1) + p(0)q(0) + p(1)q(1)$. L'angolo tra $p(x) = x$ e $q(x) = x + x^2$ è: + $\frac\pi4$ - $\frac\pi2$ - $\frac\pi3$ - $0$ - $\frac\pi6$ = I valori in $-1, 0, 1$: $x$ dà $(-1, 0, 1)$ e $x + x^2$ dà $(0, 0, 2)$. Il prodotto è $0 + 0 + 2 = 2$, le lunghezze $\sqrt2$ e 2, e il coseno $\frac{2}{2\sqrt2} = \frac{\sqrt2}2$: l'angolo è $\frac\pi4$. La risposta più insidiosa è $\frac\pi2$, di chi pensa che $x$ e $x^2$ siano «perpendicolari» come i vettori di una base. Simile all'appello dell'08/02/2024, domanda 8. D: Siano $S = [g]_{\mathcal B}$ e $S' = [g]_{\mathcal B'}$ le matrici dello stesso prodotto scalare in due basi, e sia $M = [\id]^{\mathcal B'}_{\mathcal B}$. Quale relazione vale sempre? + $S' = {}^tM\,S\,M$ - $S' = M^{-1}S\,M$ - $S' = M\,S\,{}^tM$ - $S' = {}^tM\,S$ - $S' = S$ = È la Proposizione 20.1: la casella $(i, j)$ di $S'$ è il prodotto dei vettori nuovi $i$ e $j$, cioè la riga $i$ di ${}^tM$ per $S$ per la colonna $j$ di $M$. La risposta più insidiosa è la seconda, che è la formula delle macchine lineari. La matrice di un prodotto scalare cambia con la base, quindi $S' = S$ è falsa in generale. Serve negli appelli del 10/06/2024 e del 03/06/2026, domanda 4. D: Quale affermazione è vera per ogni coppia di vettori $v, w$ di uno spazio con prodotto scalare definito positivo? + $|\langle v, w\rangle| \le \|v\|\,\|w\|$ - $\|v + w\| = \|v\| + \|w\|$ - $\|v + w\|^2 = \|v\|^2 + \|w\|^2$ - $\|\lambda v\| = \lambda\,\|v\|$ per ogni $\lambda \in \R$ - $\langle v, w\rangle \ge 0$ = È Cauchy–Schwarz. La più insidiosa è la quarta: sembra giusta, ma con un numero negativo darebbe una lunghezza negativa, e serve il valore assoluto. La seconda vale solo per vettori paralleli con lo stesso verso; la terza, Pitagora, solo se il prodotto scalare è zero; l'ultima è falsa con $w = -v$. D: Quanto vale la distanza euclidea tra i punti $P = (1, 2, 3)$ e $Q = (3, 3, 5)$? N: 3 = Il vettore da $P$ a $Q$ è $(2, 1, 2)$, e la sua lunghezza è $\sqrt{4 + 1 + 4} = \sqrt9 = 3$. D: Siano $v, w$ vettori con $\|v\| = 2$, $\|w\| = 3$ e $\langle v, w\rangle = 1$. Quanto vale $\|v + w\|^2$? N: 15 = Si sviluppa il quadrato: $\|v + w\|^2 = \|v\|^2 + 2\langle v, w\rangle + \|w\|^2 = 4 + 2 + 9 = 15$. ``` ## Esercizi ::: esercizio base Riscaldamento: Pitagora Calcola la lunghezza di $(5, 12)$, di $(1, 1)$ e di $(2, 3, 6)$ con il prodotto di tutti i giorni. ::: soluzione 1. $\sqrt{25 + 144} = \sqrt{169} = 13$. 2. $\sqrt{1 + 1} = \sqrt 2$. 3. $\sqrt{4 + 9 + 36} = \sqrt{49} = 7$. ::: ::: esercizio base Riscaldamento: una distanza Quanto distano i punti $P = (2, 1)$ e $Q = (5, 5)$? ::: soluzione 1. Il vettore da $P$ a $Q$ è «arrivo meno partenza»: $(5 - 2,\ 5 - 1) = (3, 4)$. 2. La sua lunghezza è $\sqrt{9 + 16} = 5$. ::: ::: esercizio base Riscaldamento: acuto, retto o ottuso? Senza calcolare l'angolo, di' di che tipo è l'angolo tra: (a) $(1, 2)$ e $(3, -1)$; (b) $(2, 1)$ e $(-1, 2)$; (c) $(1, 0)$ e $(-2, 1)$. ::: soluzione Basta il segno del prodotto scalare. 1. (a) $3 - 2 = 1$, positivo: acuto. 2. (b) $-2 + 2 = 0$: retto. 3. (c) $-2 + 0 = -2$, negativo: ottuso. ::: ::: esercizio base Riscaldamento: normalizzare Trova il vettore lungo 1 nella stessa direzione e nello stesso verso di $(0, 3, 4)$ e di $(6, 8)$. ::: soluzione 1. $(0, 3, 4)$ è lungo $\sqrt{9 + 16} = 5$: diviso per 5 dà $\left(0, \frac35, \frac45\right)$. 2. $(6, 8)$ è lungo $\sqrt{36 + 64} = 10$: diviso per 10 dà $\left(\frac35, \frac45\right)$. ::: ::: esercizio base Norme e distanze euclidee (a) Calcola $\|(2, -1, 2)\|$ e normalizza il vettore. (b) Calcola la distanza tra $P = (1, 1, 1)$ e $Q = (3, -1, 2)$. (c) Normalizza $(1, 1, 1, 1)$ in $\R^4$. ::: soluzione (a) $\|(2, -1, 2)\| = \sqrt{4 + 1 + 4} = 3$. Normalizzato: $\frac13(2, -1, 2) = \left(\frac23, -\frac13, \frac23\right)$. Controllo: $\frac{4 + 1 + 4}{9} = 1$. (b) $Q - P = (2, -2, 1)$ e $d(P, Q) = \sqrt{4 + 4 + 1} = 3$. (c) $\|(1, 1, 1, 1)\| = \sqrt4 = 2$. Normalizzato: $\left(\frac12, \frac12, \frac12, \frac12\right)$. ::: ::: esercizio base Cinque angoli euclidei Calcola l'angolo tra: (a) $(1, 2, 2)$ e $(2, -1, 2)$; (b) $(1, 1)$ e $(1, -1)$; (c) $(1, \sqrt3)$ e $(\sqrt3, 1)$; (d) $(1, 0, 1)$ e $(0, 1, 1)$; (e) $(1, 1, 0)$ e $(-1, 0, -1)$. ::: soluzione (a) Prodotto $2 - 2 + 4 = 4$, lunghezze 3 e 3: coseno $\frac49$, angolo $\arccos\frac49$, acuto e non notevole. (b) Prodotto $1 - 1 = 0$: l'angolo è $\frac\pi2$. (c) Prodotto $\sqrt3 + \sqrt3 = 2\sqrt3$, lunghezze $\sqrt{1 + 3} = 2$ e 2: coseno $\frac{2\sqrt3}4 = \frac{\sqrt3}2$, angolo $\frac\pi6$. (d) Prodotto $0 + 0 + 1 = 1$, lunghezze $\sqrt2$ e $\sqrt2$: coseno $\frac12$, angolo $\frac\pi3$. (e) Prodotto $-1 + 0 + 0 = -1$, lunghezze $\sqrt2$ e $\sqrt2$: coseno $-\frac12$, angolo $\frac{2\pi}3$, ottuso. ::: ::: esercizio base Forme quadratiche e matrici (a) Scrivi le matrici simmetriche di $q_1 = x_1^2 - 2x_1x_2 + 3x_2^2$ su $\R^2$, di $q_2 = x_2^2 + x_1x_3$ su $\R^3$ e di $q_3 = x_1^2 + 4x_1x_2$ su $\R^3$. (b) Scrivi le forme quadratiche delle matrici $\begin{pmatrix} 3 & 1 \\ 1 & 0 \end{pmatrix}$ e $\begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 2 \\ 0 & 2 & -1 \end{pmatrix}$. ::: soluzione (a) Diagonale = numeri dei quadrati, fuori diagonale = metà dei numeri misti: $$S_1 = \begin{pmatrix} 1 & -1 \\ -1 & 3 \end{pmatrix}, \qquad S_2 = \begin{pmatrix} 0 & 0 & \frac12 \\ 0 & 1 & 0 \\ \frac12 & 0 & 0 \end{pmatrix},$$ $$S_3 = \begin{pmatrix} 1 & 2 & 0 \\ 2 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}.$$ In $S_3$ la variabile $x_3$ non compare: riga e colonna 3 sono di zeri. La matrice va comunque scritta $3 \times 3$, perché la forma è su $\R^3$. (b) Quadrati dalla diagonale, pezzi misti con il doppio del numero: $$3x_1^2 + 2x_1x_2, \qquad 2x_1x_2 + 4x_2x_3 - x_3^2.$$ ::: ::: esercizio medio Esercizio 20.13 delle dispense Su $\R^2$ consideriamo il prodotto scalare $g(x, y) = 2x_1y_1 + x_1y_2 + x_2y_1 + 2x_2y_2$. 1. Trovare la matrice associata a $g$ rispetto alla base canonica e la forma quadratica corrispondente. 2. Verificare che $g$ è definito positivo. 3. Calcolare le norme di $e_1, e_2$ e l'angolo fra questi due vettori. 4. Trovare la matrice associata a $g$ rispetto alla base $\mathcal B = \{(1, 1), (1, -1)\}$. ::: soluzione **1.** Il numero davanti a $x_iy_j$ va al posto $(i, j)$ (lezione L19): $$S = [g]_{\mathcal C} = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}.$$ La forma quadratica è $q(x) = g(x, x) = 2x_1^2 + x_1x_2 + x_2x_1 + 2x_2^2 = 2x_1^2 + 2x_1x_2 + 2x_2^2$. **2.** Completo il quadrato: $$\begin{aligned} q(x) &= 2\left(x_1^2 + x_1x_2\right) + 2x_2^2 \\ &= 2\left(x_1 + \frac{x_2}2\right)^2 - \frac{x_2^2}2 + 2x_2^2 \\ &= 2\left(x_1 + \frac{x_2}2\right)^2 + \frac32 x_2^2. \end{aligned}$$ Tutti e due i pezzi non sono mai negativi, e la somma è zero solo se $x_2 = 0$ e poi $x_1 = 0$. Quindi $q$ è positiva per ogni $x$ diverso da zero: $g$ è definito positivo. Con il criterio $2 \times 2$: $2 > 0$ e il determinante è $3 > 0$. **3.** Per il Corollario 19.9: $\|e_1\|^2 = S_{11} = 2$ e $\|e_2\|^2 = S_{22} = 2$, quindi tutti e due sono lunghi $\sqrt2$. Poi $g(e_1, e_2) = S_{12} = 1$: $$\cos\vartheta = \frac{1}{\sqrt2\,\sqrt2} = \frac12, \qquad \vartheta = \frac\pi3.$$ Con questo prodotto $e_1$ ed $e_2$ formano un angolo di 60°, non di 90°. **4.** Con $M = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$, che ha in colonna i vettori di $\mathcal B$: $$SM = \begin{pmatrix} 2 + 1 & 2 - 1 \\ 1 + 2 & 1 - 2 \end{pmatrix} = \begin{pmatrix} 3 & 1 \\ 3 & -1 \end{pmatrix},$$ $${}^tM(SM) = \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\begin{pmatrix} 3 & 1 \\ 3 & -1 \end{pmatrix} = \begin{pmatrix} 6 & 0 \\ 0 & 2 \end{pmatrix}.$$ Controllo casella per casella: $g((1, 1), (1, 1)) = 2 + 1 + 1 + 2 = 6$; $g((1, 1), (1, -1)) = 2 - 1 + 1 - 2 = 0$; $g((1, -1), (1, -1)) = 2 - 1 - 1 + 2 = 2$. La matrice è diagonale: i due vettori di $\mathcal B$ sono perpendicolari per $g$ (lezione L21). ::: ::: esercizio medio Cambiare base per vedere che un prodotto è definito positivo Sia $S = \begin{pmatrix} 1 & 2 \\ 2 & 5 \end{pmatrix}$ e $\mathcal B' = \{(1, 0), (-2, 1)\}$. (a) Calcola $[g_S]_{\mathcal B'}$ con la Proposizione 20.1. (b) Deduci che $g_S$ è definito positivo. ::: soluzione (a) $M = \begin{pmatrix} 1 & -2 \\ 0 & 1 \end{pmatrix}$. Prima $$SM = \begin{pmatrix} 1 & -2 + 2 \\ 2 & -4 + 5 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix},$$ poi $${}^tM(SM) = \begin{pmatrix} 1 & 0 \\ -2 & 1 \end{pmatrix}\begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ -2 + 2 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}.$$ (b) Con le coordinate $(\lambda_1, \lambda_2)$ nella base $\mathcal B'$ il prodotto di un vettore con sé stesso diventa $\lambda_1^2 + \lambda_2^2$ (Corollario 19.16 con la matrice identità). Se il vettore non è zero, le sue coordinate non sono tutte e due zero, quindi il risultato è positivo. È lo stesso del completamento del quadrato $x_1^2 + 4x_1x_2 + 5x_2^2 = (x_1 + 2x_2)^2 + x_2^2$: le nuove coordinate sono proprio $\lambda_1 = x_1 + 2x_2$ e $\lambda_2 = x_2$. ::: ::: esercizio medio Cauchy–Schwarz e disuguaglianza triangolare con i numeri Siano $v = (1, -2, 2)$ e $w = (3, 0, 4)$. (a) Verifica Cauchy–Schwarz. (b) Verifica la disuguaglianza triangolare. (c) Trova un vettore $w'$ per cui Cauchy–Schwarz diventa un'uguaglianza. ::: soluzione (a) Il prodotto è $3 + 0 + 8 = 11$; le lunghezze sono $\sqrt{1 + 4 + 4} = 3$ e $\sqrt{9 + 16} = 5$. Infatti 11 non supera 15. (b) $v + w = (4, -2, 6)$, lungo $\sqrt{16 + 4 + 36} = \sqrt{56}$. Siccome 56 è meno di 64, $\sqrt{56}$ è meno di $8 = 3 + 5$. Senza calcolatrice si confrontano i quadrati. (c) Serve un vettore parallelo a $v$, per esempio $w' = -2v = (-2, 4, -4)$. Il prodotto è $-2 \cdot 9 = -18$, senza segno 18; le lunghezze sono 3 e 6, con prodotto 18. ::: ::: esercizio medio Misurare con $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ Con il prodotto $g_S$: (a) calcola la distanza tra $P = (1, 2)$ e $Q = (2, 1)$ e confrontala con quella euclidea; (b) calcola l'angolo tra $e_1$ ed $e_2$. ::: soluzione (a) $Q - P = (1, -1)$ e la sua lunghezza al quadrato è $2 \cdot 1 + 2 \cdot 1 \cdot (-1) + 1 = 1$: la distanza è 1. Con il prodotto di tutti i giorni è $\sqrt{1 + 1} = \sqrt2$. (b) Il prodotto è $S_{12} = 1$; le lunghezze sono $\sqrt{S_{11}} = \sqrt2$ e $\sqrt{S_{22}} = 1$. Il coseno è $\frac{1}{\sqrt2} = \frac{\sqrt2}2$, quindi l'angolo è $\frac\pi4$. ::: ::: esercizio medio Angoli tra polinomi Su $\R_2[x]$ sia $\langle p, q\rangle = p(-1)q(-1) + p(0)q(0) + p(1)q(1)$. Calcola: (a) $\|x\|$; (b) l'angolo tra $1$ e $x^2$; (c) l'angolo tra $x$ e $1 + x^2$. ::: soluzione I valori in $-1, 0, 1$: $1$ dà $(1, 1, 1)$, $x$ dà $(-1, 0, 1)$, $x^2$ dà $(1, 0, 1)$, $1 + x^2$ dà $(2, 1, 2)$. (a) $\|x\|^2 = 1 + 0 + 1 = 2$, quindi $\|x\| = \sqrt2$. (b) Il prodotto è $1 + 0 + 1 = 2$, le lunghezze $\sqrt3$ e $\sqrt2$: coseno $\frac{2}{\sqrt6} = \frac{\sqrt6}3$, quindi l'angolo è $\arccos\frac{\sqrt6}3$. (c) Il prodotto è $-2 + 0 + 2 = 0$: i due polinomi sono perpendicolari, l'angolo è $\frac\pi2$. ::: ::: esercizio esame Norme, angolo e distanza con un $g_S$ su $\R^3$ Sia $S = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ (definita positiva, lezione L19, esercizio 11), $u = {}^t(1, 0, 1)$, $v = {}^t(0, 1, 1)$. Calcola rispetto a $g_S$: (a) $\|u\|$ e $\|v\|$; (b) il coseno dell'angolo tra $u$ e $v$; (c) la distanza tra $u$ e $v$. ::: soluzione Prima i vettori $Su$ e $Sv$: $$\begin{aligned} Su &= (1 + 0 + 0,\ 1 + 0 + 0,\ 0 + 0 + 3) = (1, 1, 3), \\ Sv &= (0 + 1 + 0,\ 0 + 2 + 0,\ 0 + 0 + 3) = (1, 2, 3). \end{aligned}$$ (a) $\|u\|^2 = {}^tu\,(Su) = 1 + 0 + 3 = 4$, quindi $\|u\| = 2$. $\|v\|^2 = {}^tv\,(Sv) = 0 + 2 + 3 = 5$, quindi $\|v\| = \sqrt5$. (b) $g_S(u, v) = {}^tu\,(Sv) = 1 + 0 + 3 = 4$, quindi $$\cos\vartheta = \frac{4}{2\sqrt5} = \frac{2}{\sqrt5} = \frac{2\sqrt5}5.$$ (c) $v - u = (-1, 1, 0)$ e $S(v - u) = Sv - Su = (0, 1, 0)$. La lunghezza al quadrato è ${}^t(-1, 1, 0)\,(0, 1, 0) = 1$: la distanza è 1. Controllo con lo sviluppo del quadrato: $\|v - u\|^2 = \|v\|^2 - 2g_S(u, v) + \|u\|^2 = 5 - 8 + 4 = 1$. ::: ::: esercizio esame Ortogonalità con un parametro Sia $g_S$ su $\R^2$ con $S = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$. (a) Per quale $k$ i vettori $u = (1, 0)$ e $v = (k, 1)$ sono ortogonali rispetto a $g_S$? (b) Per quel $k$, quanto vale $\|v\|$? (c) Qual è l'angolo tra $u$ e $(1, 1)$? ::: soluzione (a) $g_S(u, v) = {}^tu\,S\,v$. La riga ${}^tu\,S$ è la prima riga di $S$, $(2, 1)$, quindi $g_S(u, v) = 2k + 1$. Vale zero per $k = -\frac12$. (b) $v = \left(-\frac12, 1\right)$ e $Sv = \left(-1 + 1,\ -\frac12 + 2\right) = \left(0, \frac32\right)$. La lunghezza al quadrato è $-\frac12 \cdot 0 + 1 \cdot \frac32 = \frac32$, quindi $\|v\| = \sqrt{\frac32} = \frac{\sqrt6}2$. (c) Il prodotto è $2 + 1 = 3$, le lunghezze al quadrato sono 2 e $2 + 1 + 1 + 2 = 6$. Il coseno è $\frac{3}{\sqrt{12}} = \frac{\sqrt3}2$, quindi l'angolo è $\frac\pi6$. Con il prodotto di tutti i giorni sarebbe $\frac\pi4$. ::: ::: esercizio difficile Legge del parallelogramma e polarizzazione Dimostra che in ogni spazio con prodotto scalare definito positivo (a) $\|v + w\|^2 + \|v - w\|^2 = 2\big(\|v\|^2 + \|w\|^2\big)$; (b) $\langle v, w\rangle = \frac14\big(\|v + w\|^2 - \|v - w\|^2\big)$. (c) Controlla entrambe con $v = (1, 2)$, $w = (3, -1)$. ::: soluzione Sviluppo i due quadrati (lezione L19): $$\begin{aligned} \|v + w\|^2 &= \|v\|^2 + 2\langle v, w\rangle + \|w\|^2, \\ \|v - w\|^2 &= \|v\|^2 - 2\langle v, w\rangle + \|w\|^2. \end{aligned}$$ (a) Sommando, i pezzi con $\pm 2\langle v, w\rangle$ si cancellano e resta $2\|v\|^2 + 2\|w\|^2$. Nel disegno: in un parallelogramma la somma dei quadrati delle due diagonali è uguale alla somma dei quadrati dei quattro lati. (b) Togliendo il secondo dal primo, si cancellano le lunghezze di $v$ e di $w$ e resta $4\langle v, w\rangle$. (c) $v + w = (4, 1)$ e $v - w = (-2, 3)$, con lunghezze al quadrato 17 e 13. Per (a): $17 + 13 = 30 = 2(5 + 10)$. Per (b): $\frac14(17 - 13) = 1$, e infatti $\langle v, w\rangle = 3 - 2 = 1$. ::: ::: esercizio difficile Gli angoli di un triangolo nello spazio Siano $A = (1, 0, 0)$, $B = (0, 1, 0)$, $C = (0, 0, 2)$. Calcola i coseni dei tre angoli del triangolo $ABC$ e verifica che il triangolo è isoscele. Poi controlla che l'angolo in $C$ vale $\pi$ meno il doppio dell'angolo in $A$. ::: soluzione L'angolo in un vertice è l'angolo tra i due vettori che partono da quel vertice. - In $A$: $B - A = (-1, 1, 0)$ e $C - A = (-1, 0, 2)$. Prodotto 1, lunghezze $\sqrt2$ e $\sqrt5$: $\cos\alpha = \frac{1}{\sqrt{10}}$. - In $B$: $A - B = (1, -1, 0)$ e $C - B = (0, -1, 2)$. Prodotto 1, lunghezze $\sqrt2$ e $\sqrt5$: $\cos\beta = \frac{1}{\sqrt{10}}$. - In $C$: $A - C = (1, 0, -2)$ e $B - C = (0, 1, -2)$. Prodotto 4, lunghezze $\sqrt5$ e $\sqrt5$: $\cos\gamma = \frac45$. Gli angoli in $A$ e in $B$ sono uguali e i lati $AC$ e $BC$ sono lunghi tutti e due $\sqrt5$: il triangolo è isoscele. Ora calcolo il coseno di $\pi - 2\alpha$ con le regole $\cos(\pi - t) = -\cos t$ e $\cos 2\alpha = 2\cos^2\alpha - 1$: $$\cos(\pi - 2\alpha) = -(2\cos^2\alpha - 1) = -\left(\frac{2}{10} - 1\right) = \frac45 = \cos\gamma.$$ Il coseno di $\alpha$ è positivo, quindi $\alpha$ è acuto e $\pi - 2\alpha$ sta tra 0 e $\pi$, come $\gamma$. Tra 0 e $\pi$ il coseno prende ogni valore una volta sola. Quindi $\gamma = \pi - 2\alpha$, cioè $\alpha + \beta + \gamma = \pi$, come deve essere in un triangolo. ::: ## Domande di ripasso ::: domanda Come cambia la matrice di un prodotto scalare quando cambi base? Da dove viene la formula? $S' = {}^tM\,S\,M$, dove le colonne di $M$ sono le coordinate dei vettori nuovi nella base vecchia. La casella $(i, j)$ di $S'$ è il prodotto tra i vettori nuovi $i$ e $j$, calcolato con le loro coordinate: riga $i$ della trasposta di $M$, per $S$, per colonna $j$ di $M$. ::: ::: domanda Che differenza c'è con la formula di cambiamento di base per le macchine lineari? Per una macchina lineare si usa $M^{-1}A\,M$, per un prodotto scalare ${}^tM\,S\,M$. Le due formule danno sempre lo stesso risultato solo quando la trasposta di $M$ è anche la sua inversa, cioè quando $M$ è ortogonale (lezione L22). ::: ::: domanda Che cos'è una forma quadratica? Come si trova la sua matrice? Un polinomio in cui tutti i pezzi hanno grado 2. La matrice simmetrica che la dà è una sola: sulla diagonale i numeri dei quadrati, ai posti $(i, j)$ e $(j, i)$ metà del numero davanti a $x_ix_j$. ::: ::: domanda Come si legge la definita positività di $g_S$ sulla forma quadratica? $g_S$ è definito positivo esattamente quando la forma $q_S(x) = {}^tx\,S\,x$ è positiva per ogni $x$ diverso da zero. Per verificarlo si può completare il quadrato, o per le $2 \times 2$ controllare che il primo numero della diagonale e il determinante siano positivi. ::: ::: domanda Che cos'è la norma di un vettore? Perché serve un prodotto definito positivo? È la lunghezza, $\|v\| = \sqrt{\langle v, v\rangle}$. Serve che sotto la radice non ci siano numeri negativi, e che solo il vettore nullo abbia lunghezza zero. ::: ::: domanda Perché $\|\lambda v\| = |\lambda|\,\|v\|$ e non $\lambda\|v\|$? Perché $\|\lambda v\| = \sqrt{\lambda^2\langle v, v\rangle}$ e la radice di $\lambda^2$ è il valore assoluto di $\lambda$. Con $\lambda = -1$: un vettore e il suo opposto sono lunghi uguali. ::: ::: domanda Enuncia Cauchy–Schwarz e spiega l'idea della dimostrazione. Il prodotto scalare, preso senza segno, non supera il prodotto delle lunghezze. Per $w$ non nullo si toglie da $v$ la sua parte nella direzione di $w$: il vettore che resta ha lunghezza al quadrato non negativa, e sviluppando si ottiene $\langle v, w\rangle^2 \le \|v\|^2\|w\|^2$. ::: ::: domanda Come si ricava la disuguaglianza triangolare da Cauchy–Schwarz? Si sviluppa $\|v + w\|^2 = \|v\|^2 + \|w\|^2 + 2\langle v, w\rangle$, e con Cauchy–Schwarz il prodotto scalare si maggiora con $\|v\|\,\|w\|$. Si ottiene $(\|v\| + \|w\|)^2$; poi si prende la radice. ::: ::: domanda Come si definisce la distanza tra due punti? Quali proprietà ha? È la lunghezza del vettore «arrivo meno partenza», $d(P, Q) = \|Q - P\|$. È positiva tra punti diversi e zero tra un punto e sé stesso, è simmetrica, e una tappa intermedia non accorcia mai la strada. ::: ::: domanda Come si definisce l'angolo tra due vettori? Perché la definizione ha senso? È l'angolo tra 0 e $\pi$ il cui coseno è il prodotto scalare diviso il prodotto delle lunghezze, per vettori non nulli. Per Cauchy–Schwarz il rapporto sta tra $-1$ e $1$, e tra 0 e $\pi$ il coseno prende ogni valore di quell'intervallo una volta sola. ::: ::: domanda Come capisci se un angolo è acuto, retto o ottuso senza calcolarlo? Dal segno del prodotto scalare: positivo acuto, zero retto, negativo ottuso. ::: ::: domanda Che cos'è la similarità coseno e perché non dipende dalla lunghezza dei vettori? È il coseno dell'angolo tra due vettori, usato per confrontare embedding. Se allunghi un vettore di un fattore positivo, sopra e sotto la frazione si moltiplicano per lo stesso numero, e il rapporto non cambia. ::: ## Glossario ```glossario Matrice di cambiamento di base | $M = [\id]^{\mathcal B'}_{\mathcal B}$: la colonna $i$ contiene le coordinate del vettore nuovo $v_i'$ nella base vecchia $\mathcal B$. Formula ${}^tMSM$ | Il legame tra le matrici dello stesso prodotto scalare in due basi: $[g]_{\mathcal B'} = {}^tM\,[g]_{\mathcal B}\,M$. Matrici congruenti | (Termine di Martelli.) Matrici simmetriche legate da ${}^tM\,S\,M$ con $M$ invertibile; hanno determinanti dello stesso segno. Polinomio omogeneo | Un polinomio i cui pezzi hanno tutti lo stesso grado. Forma quadratica | Un polinomio omogeneo di grado 2; si scrive in un solo modo come ${}^tx\,S\,x$ con $S$ simmetrica. $q_S$ | La forma quadratica della matrice simmetrica $S$: il prodotto di $x$ con sé stesso, $g_S(x, x)$. Norma | La lunghezza di un vettore, $\lVert v \rVert = \sqrt{\langle v, v\rangle}$, con un prodotto definito positivo. Norma euclidea | La lunghezza con il prodotto di tutti i giorni, $\sqrt{x_1^2 + \dots + x_n^2}$: il teorema di Pitagora. Vettore unitario | Un vettore lungo 1. Normalizzare | Dividere un vettore non nullo per la sua lunghezza: si ottiene un vettore lungo 1 con la stessa direzione e lo stesso verso. Disuguaglianza di Cauchy–Schwarz | $\lvert\langle v, w\rangle\rvert \le \lVert v \rVert\,\lVert w \rVert$; vale l'uguaglianza esattamente quando $v$ e $w$ sono paralleli. Disuguaglianza triangolare | $\lVert v + w \rVert \le \lVert v \rVert + \lVert w \rVert$; per le distanze, una tappa intermedia non accorcia la strada. Vettore $\overrightarrow{PQ}$ | Il vettore $Q - P$, che va dal punto $P$ al punto $Q$. Distanza | $d(P, Q) = \lVert Q - P \rVert$. Angolo tra due vettori | L'angolo tra 0 e $\pi$ con coseno uguale al prodotto scalare diviso il prodotto delle lunghezze. Arcocoseno | La funzione che a un numero tra $-1$ e $1$ associa l'angolo tra 0 e $\pi$ con quel coseno. Similarità coseno | Il coseno dell'angolo tra due vettori, usato per confrontare embedding; non dipende dalle lunghezze. ``` ## Checklist ```checklist - So scrivere la matrice di cambiamento di base e calcolare ${}^tM\,S\,M$, controllando che il risultato sia simmetrico. - So spiegare perché per i prodotti scalari si usa la trasposta e per le macchine lineari l'inversa. - So passare da una forma quadratica alla sua matrice simmetrica e viceversa, dimezzando o raddoppiando i pezzi misti. - So decidere se una forma quadratica in due variabili è definita positiva completando il quadrato. - So calcolare lunghezze e distanze con il prodotto di tutti i giorni e con un $g_S$ dato. - So enunciare e spiegare le quattro regole della norma, compresa Cauchy–Schwarz. - So ricavare la disuguaglianza triangolare per le distanze da quella della norma. - So calcolare l'angolo tra due vettori, anche tra polinomi, e riconoscere gli angoli notevoli senza calcolatrice. - So dire se un angolo è acuto, retto o ottuso guardando il segno del prodotto scalare. - So spiegare che cos'è la similarità coseno e perché non dipende dalla lunghezza dei vettori. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 20 «Prodotti scalari II», pp. 100–104: sezioni 20.A (cambiamento di base), 20.B (forme quadratiche), 20.C (norma), 20.D (distanze), 20.E (angoli, con il riquadro sulla similarità coseno) e 20.F (l'Esercizio 20.13, svolto come esercizio 8). La numerazione è quella delle dispense (Proposizioni 20.1, 20.4, 20.7, 20.11; Definizioni 20.3, 20.6, 20.10, 20.12; Esempi 20.2, 20.5, 20.8, 20.9). Richiami: lezioni L16 (cambiamento di base), L19 (prodotti scalari, Corollario 19.16), teorema di Binet (Teorema 10.4). - **B. Martelli, *Geometria e algebra lineare***: §7.1.5 (forme quadratiche), §7.2.2–7.2.3 (cambiamento di base, matrici congruenti), §8.1.1–8.1.4 (norma, applicazioni, angoli, distanze). Il libro è gratuito: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). - **Appelli d'esame** (Moodle 2025/26): domande dell'08/02/2024 (7 e 8), del 10/06/2024 (4), del 03/06/2025 (6), del 03/06/2026 (4), del 07/09/2026 (5 e 10); problemi 12 del 07/02/2025, del 05/02/2026 e del 03/07/2026. Le tre domande riportate sono risolte in questi appunti. - Le parti **«Oltre le dispense»** (segno del determinante e matrici congruenti, completamento dei quadrati e polarizzazione, casi di uguaglianza, collocazione nel libro) e gli esercizi aggiunti servono a collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L21_prodotti_scalari_3.md` ```yaml corso: MDAG modulo: AG lezione: L21 titolo: Prodotti scalari III docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L21 descrizione: >- Appunti della lezione L21 di Algebra lineare e Geometria (MDAG, parte 2): vettori ortogonali, complemento ortogonale, proiezione ortogonale su una retta e su un sottospazio, basi ortogonali e ortonormali, algoritmo di Gram–Schmidt, decomposizione ortogonale e minimi quadrati, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Perpendicolare, ombra e raddrizzare: tre idee che reggono tutta la lezione. Come si trovano tutte le direzioni perpendicolari a un piano, come si proietta un vettore su una retta o su un piano, come si raddrizza una base con l'algoritmo di Gram–Schmidt. Alla fine, come si risolve «al meglio» un sistema che non ha soluzioni. materiale: dispense scheda: Dispense: lezione 21 · pp. 105–110 Libro: Martelli, §7.3 e §8.1.5–8.1.10 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 21 «Prodotti scalari III»; B. Martelli, Geometria e algebra lineare, §7.1.7, §7.3, §8.1.5–8.1.10 appunti_html: appunti/MDAG/L21_prodotti_scalari_3.html genera_html: true ``` ## In breve - In tutta la lezione il prodotto scalare è **definito positivo**. Due vettori sono **ortogonali**, cioè perpendicolari, quando il loro prodotto scalare è zero. Il vettore nullo è ortogonale a tutti. - Il **complemento ortogonale** di un sottospazio raccoglie tutti i vettori perpendicolari a ogni suo vettore. È sempre un sottospazio, e si calcola con un sistema: basta essere perpendicolari ai generatori. - La **proiezione ortogonale** di un vettore su una retta è la sua **ombra** sulla retta, con il sole a picco. Quello che resta del vettore è perpendicolare alla retta. - In una **base ortogonale**, fatta di vettori perpendicolari tra loro, le coordinate si calcolano senza sistemi: ognuna è un rapporto tra due prodotti scalari. - L'algoritmo di **Gram–Schmidt** **raddrizza** una base: a ogni vettore toglie le parti che pendono verso quelli già sistemati. Dividendo per le lunghezze si ottiene una base **ortonormale**. - Ogni vettore si spezza in modo unico in un pezzo dentro un sottospazio e un pezzo perpendicolare. Il primo pezzo è la proiezione: il punto del sottospazio **più vicino** al vettore. - **Minimi quadrati**: se un sistema non ha soluzioni, si cerca la scelta che sbaglia il meno possibile. Si trova con un sistema più piccolo, le **equazioni normali**; così si trova la retta che passa più vicina a dei punti. - All'esame: «base ortonormale di un piano, poi proiezione di un vettore» è il problema 12 di molti appelli. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Vettori perpendicolari (p. 105) Nella lezione L20 hai visto che l'angolo tra due vettori non nulli è retto esattamente quando il prodotto scalare è zero. Per esempio $(1, 2)$ e $(-2, 1)$: $1 \cdot (-2) + 2 \cdot 1 = 0$, e nel disegno formano un angolo retto. Questa condizione è così importante che ha un nome, e la si usa anche quando uno dei vettori è nullo. > [!DEF] Vettori ortogonali (p. 105) > Sia $V$ munito di un prodotto scalare definito positivo. Due vettori $v, w \in V$ sono **ortogonali** se > $$\langle v, w\rangle = 0.$$ > Se entrambi sono non nulli, questo equivale a dire che formano un angolo retto. **Come si legge.** - «Ortogonale» è il nome tecnico di «perpendicolare». - Il vettore nullo è ortogonale a **tutti** i vettori, perché il suo prodotto scalare con qualsiasi vettore è zero (lezione L19). - L'ortogonalità **dipende dal prodotto scalare**: due vettori perpendicolari per un prodotto possono non esserlo per un altro. Ecco i vettori perpendicolari a un vettore dato del piano, come nelle dispense. > [!ESEMPIO] 21.1 · I vettori ortogonali a un vettore del piano > Nel prodotto scalare euclideo di $\R^2$, i vettori $(x, y)$ ortogonali a $(a, b) \neq 0$ soddisfano $ax + by = 0$ e formano quindi la retta > $$\Span\begin{pmatrix} -b \\ a \end{pmatrix}.$$ > Per esempio, i vettori ortogonali a $(2, 1)$ sono quelli con $2x + y = 0$, cioè la retta $\Span((-1, 2))$. Controllo: $\langle (-1, 2), (2, 1)\rangle = -2 + 2 = 0$. Perché proprio quella retta? L'equazione $ax + by = 0$ è un sistema con una sola equazione e due incognite: le soluzioni formano una retta. Il vettore $(-b, a)$ è una soluzione, perché $a(-b) + ba = 0$, e non è nullo, quindi genera la retta. La regola pratica: **scambia le coordinate e cambia un segno**. ```grafico titolo: I vettori ortogonali a $(2, 1)$ formano la retta $\Span((-1, 2))$ x: -3 3 y: -2.5 2.5 retta: 0 0 -1 2 | viola | tratteggio vettore: 2 1 | accento | spesso | $(2, 1)$ | se vettore: -1 2 | blu | spesso | $(-1, 2)$ | no ``` > [!ESEMPIO] 21.2 · La base canonica > Rispetto al prodotto scalare euclideo di $\R^n$, i vettori $e_i$ ed $e_j$ della base canonica sono ortogonali per $i \neq j$: $\langle e_i, e_j\rangle$ è la somma dei prodotti delle coordinate, e $e_i$, $e_j$ non hanno mai un 1 nello stesso posto. > [!ESEMPIO] Con un altro prodotto scalare > Con $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ i vettori $e_1$ ed $e_2$ **non** sono ortogonali: $g_S(e_1, e_2) = S_{12} = 1$. I vettori perpendicolari a $e_1$ per questo prodotto sono quelli con $2y_1 + y_2 = 0$ (la prima riga di $S$ per $y$), cioè la retta di $(1, -2)$. Con il prodotto di tutti i giorni, invece, sarebbe la retta di $(0, 1)$. > [!OLTRE] Vettori perpendicolari non nulli sono indipendenti > Se $v_1, \dots, v_k$ sono non nulli e perpendicolari a due a due, sono indipendenti (Martelli, Proposizione 8.1.25). Parti da una ricetta che dà zero, $\lambda_1v_1 + \dots + \lambda_kv_k = 0$, e fai il prodotto scalare con $v_i$: > $$0 = \langle 0, v_i\rangle = \lambda_1\langle v_1, v_i\rangle + \dots + \lambda_k\langle v_k, v_i\rangle = \lambda_i\langle v_i, v_i\rangle,$$ > perché tutti gli altri prodotti sono zero. Siccome $v_i$ non è zero, $\langle v_i, v_i\rangle$ è positivo, e quindi $\lambda_i = 0$. In particolare $n$ vettori non nulli e perpendicolari a due a due, in uno spazio di dimensione $n$, formano sempre una base. ::: prova Un vettore perpendicolare a $(3, 5)$ nel piano? Scambio le coordinate e cambio un segno: $(-5, 3)$. Controllo: $3 \cdot (-5) + 5 \cdot 3 = 0$. ::: > [!RICORDA] > - Ortogonali vuol dire prodotto scalare zero: perpendicolari. > - Nel piano, i vettori perpendicolari a $(a, b)$ sono i multipli di $(-b, a)$. ## Tutte le direzioni perpendicolari (p. 105) Ora non un vettore solo, ma un intero sottospazio. Prendi il pavimento di una stanza: le direzioni perpendicolari a **tutto** il pavimento sono quelle verticali, una retta. Prendi invece un filo teso: le direzioni perpendicolari al filo formano un piano. Le dispense danno un nome a questo insieme. > [!DEF] 21.3 · Complemento ortogonale > Sia $W \subset V$ un sottospazio. Il **complemento ortogonale** di $W$ è > $$W^\perp = \{v \in V \mid \langle v, w\rangle = 0 \text{ per ogni } w \in W\}.$$ **Come si legge.** - $W^\perp$ si legge «vu doppio ortogonale» o «vu doppio perp». - Un vettore sta in $W^\perp$ se è perpendicolare a **ogni** vettore di $W$, non solo a qualcuno. - Casi estremi: il complemento del solo zero è tutto lo spazio, perché tutti sono perpendicolari allo zero. Il complemento di tutto lo spazio è solo lo zero: un vettore perpendicolare a tutto è perpendicolare anche a sé stesso, e allora è nullo. Il complemento è sempre un sottospazio. Le dispense lo scrivono così. > [!PROP] 21.4 > $W^\perp$ è un sottospazio vettoriale di $V$. **Come si legge.** Tutte le direzioni perpendicolari a $W$, messe insieme, formano una retta, un piano o comunque un sottospazio. Il perché, con le tre condizioni di sottospazio (lezione L06): 1. lo zero sta in $W^\perp$, perché è perpendicolare a tutto; 2. se due vettori sono perpendicolari a tutto $W$, anche la loro somma lo è: $\langle v + v', w\rangle = \langle v, w\rangle + \langle v', w\rangle = 0 + 0 = 0$; 3. se $v$ è perpendicolare a ogni $w$, anche un suo multiplo lo è: $\langle \lambda v, w\rangle = \lambda \cdot 0 = 0$. Per esempio l'appello del 05/02/2026 (domanda 2) chiedeva quale di cinque insiemi non fosse un sottospazio dei polinomi di grado al massimo 2. Tra gli insiemi c'era il complemento ortogonale dei polinomi di grado al massimo 1: per la Proposizione 21.4 è un sottospazio, quindi non era la risposta. **Come si calcola in pratica.** La definizione chiede di controllare **infiniti** vettori. Ma bastano i generatori. > [!OLTRE] Bastano i generatori > Se $W = \Span(w_1, \dots, w_k)$, allora (Martelli, Proposizione 7.3.3) > $$W^\perp = \{v \in V \mid \langle v, w_1\rangle = 0, \ \dots, \ \langle v, w_k\rangle = 0\}.$$ > Infatti ogni vettore di $W$ è una ricetta dei generatori, $w = \lambda_1w_1 + \dots + \lambda_kw_k$. Se $v$ è perpendicolare ai generatori, allora $\langle v, w\rangle = \lambda_1 \cdot 0 + \dots + \lambda_k \cdot 0 = 0$. Con un prodotto $g_S$ le condizioni diventano il sistema ${}^tw_i\,S\,x = 0$, una equazione per generatore; con il prodotto di tutti i giorni, semplicemente $\langle w_i, x\rangle = 0$. > [!METODO] Calcolare $W^\perp$ > 1. Trova dei generatori di $W$. Se $W$ è dato con equazioni, prima trova una base. > 2. Scrivi una equazione per ogni generatore: il prodotto scalare di $x$ con quel generatore è zero. Con $g_S$ la riga dei numeri per il generatore $w_i$ è ${}^t(Sw_i)$. > 3. Risolvi il sistema (lezioni L11–L13) e scrivi una base delle soluzioni. > 4. Controllo: nella sezione sulla decomposizione vedrai che le dimensioni di $W$ e di $W^\perp$ sommano alla dimensione dello spazio. > [!ESEMPIO] Tre complementi nello spazio (prodotto di tutti i giorni) > 1. **Una retta.** $W = \Span((1, 2, 3))$. Una sola equazione: $x + 2y + 3z = 0$. Il complemento è il **piano** con questa equazione. Una base: $y$ e $z$ sono libere, quindi $(-2, 1, 0)$, con $y = 1$ e $z = 0$, e $(-3, 0, 1)$, con $y = 0$ e $z = 1$. > 2. **Un piano dato con generatori.** $W = \Span((1, 1, 0), (0, 1, 1))$. Due equazioni: $x + y = 0$ e $y + z = 0$. Quindi $x = -y$ e $z = -y$: il complemento è la **retta** di $(1, -1, 1)$. Controllo: $1 - 1 + 0 = 0$ e $0 - 1 + 1 = 0$. > 3. **Un piano dato con un'equazione.** $W = \{x + y + z = 0\}$. Una base del piano è $(1, -1, 0)$ e $(0, 1, -1)$. Le due equazioni sono $x - y = 0$ e $y - z = 0$, quindi $x = y = z$: il complemento è la retta di $(1, 1, 1)$. In generale il complemento del piano $\{ax + by + cz = 0\}$ è la retta di $(a, b, c)$: l'equazione stessa dice che ogni vettore del piano è perpendicolare a $(a, b, c)$. > [!ESEMPIO] Un complemento tra i polinomi > Sui polinomi di grado al massimo 2 prendi il prodotto $\langle p, q\rangle = p(0)q(0) + p(1)q(1) + p(2)q(2)$ (lezione L19). Cerchiamo i polinomi perpendicolari a $1$ e a $x$. Con la matrice $\begin{pmatrix} 3 & 3 & 5 \\ 3 & 5 & 9 \\ 5 & 9 & 17 \end{pmatrix}$ della lezione L19 e $p = a + bx + cx^2$: > $$\begin{aligned} \langle p, 1\rangle &= 3a + 3b + 5c = 0, \\ \langle p, x\rangle &= 3a + 5b + 9c = 0. \end{aligned}$$ > Togliendo la prima dalla seconda: $2b + 4c = 0$, cioè $b = -2c$. Poi $3a - 6c + 5c = 0$, cioè $a = \frac c3$. Con $c = 3$: $p = 1 - 6x + 3x^2$, e il complemento è la retta di questo polinomio. Controllo con i valori in $0, 1, 2$, che sono $1, -2, 1$: $\langle p, 1\rangle = 1 - 2 + 1 = 0$ e $\langle p, x\rangle = 0 - 2 + 2 = 0$. ::: prova Qual è il complemento ortogonale della retta di $(1, 0, 1)$ nello spazio? Il piano $x + z = 0$. Una base: $(0, 1, 0)$ e $(-1, 0, 1)$. ::: > [!RICORDA] > - $W^\perp$ raccoglie i vettori perpendicolari a tutto $W$; è sempre un sottospazio. > - Si calcola con una equazione per ogni generatore di $W$. ## L'ombra su una retta (pp. 105–106) Immagina una retta per l'origine e un vettore fuori dalla retta. Se il sole è a picco, perpendicolare alla retta, l'ombra del vettore cade sulla retta: è la **proiezione ortogonale** del vettore. Quello che resta, il vettore meno la sua ombra, è perpendicolare alla retta. Con i nomi delle dispense: sia $w$ un vettore non nullo e $U$ la sua retta. Per un vettore $v$ cerchiamo un vettore $p_w(v)$ della retta per cui $$v - p_w(v) \in U^\perp.$$ Questo vettore è la **proiezione ortogonale** di $v$ sulla retta. Le dispense danno la formula. > [!PROP] 21.5 > Vale > $$p_w(v) = \frac{\langle v, w\rangle}{\langle w, w\rangle}\,w = \frac{\langle v, w\rangle}{\|w\|^2}\,w.$$ **Come si legge.** L'ombra è un multiplo del vettore che genera la retta. Il numero davanti è un rapporto: sopra il prodotto scalare tra i due vettori, sotto la lunghezza al quadrato del vettore della retta. La dimostrazione delle dispense, passo per passo: 1. l'ombra sta sulla retta, quindi è un multiplo di $w$: la chiamo $kw$, con $k$ da trovare; 2. il resto $v - kw$ deve essere perpendicolare a $w$: $$0 = \langle v - kw, w\rangle = \langle v, w\rangle - k\langle w, w\rangle;$$ 3. siccome $w$ non è zero, $\langle w, w\rangle$ è positivo e si può dividere: $k = \frac{\langle v, w\rangle}{\langle w, w\rangle}$. > [!ESEMPIO] L'ombra di $v = (1, 3)$ sulla retta di $w = (4, 2)$ > 1. $\langle v, w\rangle = 4 + 6 = 10$ e $\langle w, w\rangle = 16 + 4 = 20$. > 2. Il numero davanti è $\frac{10}{20} = \frac12$, quindi l'ombra è $\frac12(4, 2) = (2, 1)$. > 3. Il resto è $(1, 3) - (2, 1) = (-1, 2)$. > 4. Controllo: $\langle (-1, 2), (4, 2)\rangle = -4 + 4 = 0$. > > Con $(2, 1)$ al posto di $w$, che genera la stessa retta, il numero davanti diventa $\frac55 = 1$, ma l'ombra è la stessa: $1 \cdot (2, 1) = (2, 1)$. **L'ombra dipende dalla retta, non dal vettore scelto per generarla.** ```grafico titolo: $v = (1, 3)$ si scompone in $p_w(v) = (2, 1)$, sulla retta di $w$, più $(-1, 2)$, ortogonale alla retta x: -1.5 4.5 y: -0.5 3.5 retta: 0 0 4 2 | grigio | tratteggio vettore: 4 2 | grigio | $w$ | se vettore: 1 3 | accento | spesso | $v$ | no vettore: 2 1 | ambra | spesso | $p_w(v)$ | se segmento: 2 1 1 3 | viola | tratteggio | $v - p_w(v)$ | e ``` > [!ESEMPIO] Un'ombra nello spazio > $v = (1, 2, 3)$ sulla retta di $w = (1, 1, 1)$: $\langle v, w\rangle = 6$ e $\langle w, w\rangle = 3$, quindi l'ombra è $2(1, 1, 1) = (2, 2, 2)$. Il resto $(1, 2, 3) - (2, 2, 2) = (-1, 0, 1)$ è perpendicolare a $w$: $-1 + 0 + 1 = 0$. **Ogni vettore si spezza in due pezzi perpendicolari.** Dalla costruzione: $$v = p_w(v) + \big(v - p_w(v)\big),$$ con il primo pezzo sulla retta e il secondo perpendicolare. Un vettore che sta sia sulla retta sia nel suo complemento è perpendicolare a sé stesso, quindi è zero. Allora la scomposizione è unica: la somma è **diretta** (Definizione 18.4), e lo spazio è la retta più il suo complemento, $V = U \oplus U^\perp$. Il numero davanti all'ombra si chiama **coefficiente di Fourier** di $v$ rispetto a $w$. > [!TRAPPOLA] Due errori frequenti > - Dividere per la lunghezza di $w$ invece che per la lunghezza al quadrato. Con $v = (3, 1)$ e $w = (1, 1)$ l'ombra giusta è $\frac42(1, 1) = (2, 2)$. Dividendo per $\sqrt2$ si otterrebbe $(2\sqrt2, 2\sqrt2)$, e il resto non sarebbe nemmeno perpendicolare. > - Scambiare i ruoli: $p_w(v)$ proietta $v$ **sulla retta di $w$**. Proiettare $w$ sulla retta di $v$ dà un altro vettore. > [!OLTRE] La lunghezza dell'ombra > L'ombra è lunga $\frac{|\langle v, w\rangle|}{\|w\|}$ (Martelli, Esercizio 8.1.15). Se $w$ è lungo 1, l'ombra è $\langle v, w\rangle\,w$ e la sua lunghezza è il prodotto scalare senza segno: è l'interpretazione del prodotto scalare come «ombra» che si vede in fisica. Prova con lo strumento: la freccia gialla è l'ombra di $v$ sulla retta di $u$, e il segmento viola è il resto. Trascina $v$: il segmento viola resta sempre perpendicolare alla retta. Quando $v$ è perpendicolare a $u$ l'ombra diventa il vettore nullo. ```widget vettori titolo: Proiezione ortogonale di v sulla retta di u u: 4 2 v: 1 3 modo: scalare modi: scalare raggio: 5 ``` ::: prova Qual è l'ombra di $(3, 4)$ sulla retta dell'asse orizzontale, cioè di $(1, 0)$? Il numero davanti è $\frac{3}{1} = 3$: l'ombra è $(3, 0)$, e il resto $(0, 4)$ è verticale. ::: > [!RICORDA] > - Ombra di $v$ sulla retta di $w$: $\frac{\langle v, w\rangle}{\langle w, w\rangle}\,w$. Si divide per la lunghezza **al quadrato**. > - Il resto è sempre perpendicolare alla retta: è il controllo da fare. ## Coordinate in una base di vettori perpendicolari (p. 106) Una base si chiama **ortogonale** se i suoi vettori sono perpendicolari a due a due, e **ortonormale** se in più ogni vettore è lungo 1. La base canonica è ortonormale per il prodotto di tutti i giorni (Esempio 21.2). Con una base ortogonale le coordinate si calcolano **senza risolvere sistemi**: ogni vettore è la somma delle sue ombre. Le dispense lo scrivono così. > [!PROP] 21.6 > Sia $\mathcal B = \{v_1, \dots, v_n\}$ una base ortogonale di $V$. Per ogni $v \in V$, > $$v = \sum_{i=1}^n p_{v_i}(v) = \sum_{i=1}^n \frac{\langle v, v_i\rangle}{\langle v_i, v_i\rangle}\,v_i.$$ **Come si legge.** In una base ortogonale, ogni vettore è la somma delle sue ombre sui vettori della base. Le coordinate sono i coefficienti di Fourier. La dimostrazione: 1. siccome è una base, $v = \lambda_1v_1 + \dots + \lambda_nv_n$ per certi numeri; 2. fai il prodotto scalare dei due lati con $v_i$: a destra tutti i pezzi con gli altri vettori della base sono zero, per la perpendicolarità, e resta $\langle v, v_i\rangle = \lambda_i\langle v_i, v_i\rangle$; 3. quindi $\lambda_i = \frac{\langle v, v_i\rangle}{\langle v_i, v_i\rangle}$. Se la base è **ortonormale**, ogni $\langle v_i, v_i\rangle$ vale 1 e la formula si accorcia: la coordinata $i$ è $\langle v, v_i\rangle$. > [!ESEMPIO] Coordinate senza sistema > Nel piano la base $v_1 = (2, 1)$, $v_2 = (-1, 2)$ è ortogonale: $-2 + 2 = 0$. Per $v = (2, 3)$: > $$\frac{\langle v, v_1\rangle}{\langle v_1, v_1\rangle} = \frac{4 + 3}{5} = \frac75, \qquad \frac{\langle v, v_2\rangle}{\langle v_2, v_2\rangle} = \frac{-2 + 6}{5} = \frac45.$$ > Controllo: $\frac75(2, 1) + \frac45(-1, 2) = \left(\frac{14 - 4}{5}, \frac{7 + 8}{5}\right) = (2, 3)$. È l'Esempio 8.1.19 di Martelli. > > Nello spazio, con la base ortogonale $(1, 1, 0)$, $(1, -1, 0)$, $(0, 0, 1)$ e $v = (3, 1, 2)$: i numeri sono $\frac{3 + 1}{2} = 2$, $\frac{3 - 1}{2} = 1$ e $\frac{2}{1} = 2$. Infatti $2(1, 1, 0) + (1, -1, 0) + 2(0, 0, 1) = (3, 1, 2)$. > [!IDEA] Perché le basi ortogonali fanno risparmiare lavoro > Con una base qualsiasi, per trovare le coordinate bisogna risolvere un sistema. Con una base ortogonale ogni coordinata è **un rapporto di due prodotti scalari**, calcolato da solo. È il motivo per cui si fa tanta fatica a costruire basi ortogonali: è quello che fa Gram–Schmidt. ::: prova Coordinate di $(5, 1)$ nella base ortogonale $(1, 1), (1, -1)$? $\frac{5 + 1}{2} = 3$ e $\frac{5 - 1}{2} = 2$. Controllo: $3(1, 1) + 2(1, -1) = (5, 1)$. ::: > [!RICORDA] > - In una base ortogonale ogni coordinata è $\frac{\langle v, v_i\rangle}{\langle v_i, v_i\rangle}$; in una ortonormale è $\langle v, v_i\rangle$. ## Raddrizzare una base: Gram–Schmidt (p. 107) Le basi ortogonali sono comode: come se ne costruisce una? L'idea è **raddrizzare** una base qualsiasi, un vettore alla volta. Il primo resta com'è. Al secondo togli la sua ombra sul primo: quello che resta è perpendicolare al primo. Al terzo togli le sue ombre sui primi due già sistemati, e così via. Le dispense scrivono l'algoritmo di **Gram–Schmidt** così. Partendo da vettori indipendenti $v_1, \dots, v_k$, si pone $$w_1 = v_1$$ e, dal secondo in poi, $$w_i = v_i - \sum_{j=1}^{i-1} p_{w_j}(v_i) = v_i - \sum_{j=1}^{i-1} \frac{\langle v_i, w_j\rangle}{\langle w_j, w_j\rangle}\,w_j.$$ A ogni passo si tolgono a $v_i$ le sue ombre nelle direzioni già costruite. Scritto per esteso per tre vettori: $$\begin{aligned} w_1 &= v_1, \\ w_2 &= v_2 - \frac{\langle v_2, w_1\rangle}{\langle w_1, w_1\rangle}\,w_1, \\ w_3 &= v_3 - \frac{\langle v_3, w_1\rangle}{\langle w_1, w_1\rangle}\,w_1 - \frac{\langle v_3, w_2\rangle}{\langle w_2, w_2\rangle}\,w_2. \end{aligned}$$ **Perché funziona.** Il secondo vettore è $v_2$ meno la sua ombra sulla retta di $w_1$: per la Proposizione 21.5 il resto è perpendicolare a $w_1$. Allo stesso modo, al terzo vettore si tolgono le ombre sui primi due, che sono già perpendicolari tra loro: il resto è perpendicolare a tutti e due. Inoltre ogni $w_i$ è $v_i$ più una ricetta dei vettori precedenti: quindi i nuovi vettori generano gli stessi spazi dei vecchi. E nessun $w_i$ è zero, perché i $v_i$ sono indipendenti. > [!ESEMPIO] Gram–Schmidt nel piano > $v_1 = (3, 1)$, $v_2 = (2, 2)$. Il primo resta: $w_1 = (3, 1)$. Al secondo tolgo l'ombra sul primo: > $$\begin{aligned} w_2 &= (2, 2) - \frac{\langle (2, 2), (3, 1)\rangle}{\langle (3, 1), (3, 1)\rangle}(3, 1) = (2, 2) - \frac{8}{10}(3, 1) \\ &= \left(2 - \frac{12}5, 2 - \frac45\right) = \left(-\frac25, \frac65\right). \end{aligned}$$ > Controllo: $\langle w_2, w_1\rangle = -\frac65 + \frac65 = 0$. Moltiplicando per 5 si può usare $(-2, 6)$, o dividendo ancora per 2, $(-1, 3)$: resta perpendicolare a $w_1$. Ecco l'esempio delle dispense, nello spazio. > [!ESEMPIO] 21.7 · Gram–Schmidt in $\R^3$ > Ortogonalizziamo > $$v_1 = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}, \qquad v_2 = \begin{pmatrix} 0 \\ 1 \\ 1 \end{pmatrix}, \qquad v_3 = \begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix}$$ > rispetto al prodotto scalare euclideo di $\R^3$. Otteniamo > $$w_1 = v_1 = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}, \qquad w_2 = v_2 - \frac{\langle v_2, w_1\rangle}{\langle w_1, w_1\rangle}\,w_1 = \begin{pmatrix} -\frac12 \\ \frac12 \\ 1 \end{pmatrix}$$ > e > $$w_3 = v_3 - \frac{\langle v_3, w_1\rangle}{\langle w_1, w_1\rangle}\,w_1 - \frac{\langle v_3, w_2\rangle}{\langle w_2, w_2\rangle}\,w_2 = \begin{pmatrix} \frac23 \\ -\frac23 \\ \frac23 \end{pmatrix}.$$ > I vettori $w_1, w_2, w_3$ sono ortogonali. > [!ESEMPIO] · i conti dell'Esempio 21.7 > I conti che le dispense non scrivono: > > 1. $\langle v_2, w_1\rangle = 0 + 1 + 0 = 1$ e $\langle w_1, w_1\rangle = 2$, quindi $w_2 = (0, 1, 1) - \frac12(1, 1, 0) = \left(-\frac12, \frac12, 1\right)$; > 2. $\langle v_3, w_1\rangle = 1 + 0 + 0 = 1$, quindi il primo numero da togliere è $\frac12$; > 3. $\langle v_3, w_2\rangle = -\frac12 + 0 + 1 = \frac12$ e $\langle w_2, w_2\rangle = \frac14 + \frac14 + 1 = \frac32$, quindi il secondo è $\frac{1/2}{3/2} = \frac13$; > 4. $w_3 = (1, 0, 1) - \frac12(1, 1, 0) - \frac13\left(-\frac12, \frac12, 1\right)$, coordinata per coordinata: > $$1 - \frac12 + \frac16 = \frac23, \quad 0 - \frac12 - \frac16 = -\frac23, \quad 1 - 0 - \frac13 = \frac23;$$ > 5. controlli: $\langle w_1, w_2\rangle = -\frac12 + \frac12 + 0 = 0$, $\langle w_1, w_3\rangle = \frac23 - \frac23 + 0 = 0$, $\langle w_2, w_3\rangle = -\frac13 - \frac13 + \frac23 = 0$. **Da ortogonale a ortonormale.** Per avere vettori lunghi 1 basta dividere ciascuno per la sua lunghezza (lezione L20). Conviene prima togliere le frazioni: $w_2 = \frac12(-1, 1, 2)$, e $(-1, 1, 2)$ è lungo $\sqrt6$; $w_3 = \frac23(1, -1, 1)$, e $(1, -1, 1)$ è lungo $\sqrt3$. La base ortonormale è $$\frac{1}{\sqrt2}\begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}, \qquad \frac{1}{\sqrt6}\begin{pmatrix} -1 \\ 1 \\ 2 \end{pmatrix}, \qquad \frac{1}{\sqrt3}\begin{pmatrix} 1 \\ -1 \\ 1 \end{pmatrix}.$$ > [!OLTRE] Riscalare durante l'algoritmo > L'ombra su una retta non cambia se si sostituisce il vettore che la genera con un suo multiplo. Quindi durante Gram–Schmidt puoi **moltiplicare ogni $w_i$ per un numero comodo** prima di andare avanti (Martelli, §8.1.8). Nell'Esempio 21.7, con $w_2' = 2w_2 = (-1, 1, 2)$: $\langle v_3, w_2'\rangle = -1 + 0 + 2 = 1$ e $\langle w_2', w_2'\rangle = 6$, quindi > $$w_3 = (1, 0, 1) - \frac12(1, 1, 0) - \frac16(-1, 1, 2) = \left(\frac23, -\frac23, \frac23\right),$$ > lo stesso risultato con meno frazioni. > [!TRAPPOLA] Si proietta sui vettori nuovi, non su quelli vecchi > Nel calcolo di $w_3$ si tolgono le ombre su $w_1$ e $w_2$, già perpendicolari tra loro. Se per sbaglio si usa $v_2$ invece di $w_2$: > $$(1, 0, 1) - \frac12(1, 1, 0) - \frac12(0, 1, 1) = \left(\frac12, -1, \frac12\right),$$ > e questo vettore **non** è perpendicolare a $w_2$: $\left\langle \left(\frac12, -1, \frac12\right), \left(-\frac12, \frac12, 1\right)\right\rangle = -\frac14 - \frac12 + \frac12 = -\frac14$. > [!ESEMPIO] · Gram–Schmidt con un prodotto diverso > **Con un prodotto diverso.** L'algoritmo è identico: cambiano solo i prodotti scalari, che si calcolano con $S$. Con $S = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ e la base canonica: il primo vettore è $e_1$, il suo prodotto con $e_2$ è $S_{21} = 1$ e con sé stesso $S_{11} = 2$. Quindi > > $$w_2 = e_2 - \frac12 e_1 = \left(-\frac12, 1\right).$$ > > Controllo: $g_S(e_1, w_2) = 2 \cdot \left(-\frac12\right) + 1 \cdot 1 = 0$. Per la base ortonormale: $e_1$ è lungo $\sqrt2$, e il prodotto di $w_2$ con sé stesso vale $2 \cdot \frac14 + 2 \cdot \left(-\frac12\right) \cdot 1 + 1 = \frac12$. La base $\left\{\left(\frac{\sqrt2}2, 0\right), \left(-\frac{\sqrt2}2, \sqrt2\right)\right\}$ è ortonormale **per questo prodotto**, non per quello di tutti i giorni. Prova la calcolatrice: ogni riga è un vettore, e il prodotto è quello di tutti i giorni. Con i vettori dell'Esempio 21.7 scrive i passaggi uno per uno, e alla fine la base ortonormale; lo strumento chiama $u_i$ i vettori che qui sono $w_i$. Prova anche a scrivere tre vettori dipendenti: il terzo diventa nullo e viene scartato. ```widget gauss titolo: Gram–Schmidt passo per passo (righe = vettori) matrice: 1 1 0; 0 1 1; 1 0 1 modo: gram-schmidt modi: gram-schmidt ``` > [!METODO] Gram–Schmidt all'esame > 1. $w_1 = v_1$. Calcola e scrivi $\langle w_1, w_1\rangle$: servirà di nuovo. > 2. $w_2 = v_2$ meno la sua ombra su $w_1$. **Controlla** che sia perpendicolare a $w_1$ prima di andare avanti; se ci sono frazioni, riscala. > 3. $w_3 = v_3$ meno le sue ombre su $w_1$ e su $w_2$. Controlla la perpendicolarità con tutti e due. > 4. Se serve una base **ortonormale**, dividi ogni vettore per la sua lunghezza solo alla fine. > 5. Con un $g_S$: ogni prodotto è ${}^tu\,S\,w$. Calcola una volta i vettori $Sw_j$ e riusali. ::: prova Raddrizza $v_1 = (1, 0)$ e $v_2 = (1, 1)$. $w_1 = (1, 0)$. L'ombra di $v_2$ su $w_1$ è $\frac11(1, 0) = (1, 0)$, quindi $w_2 = (1, 1) - (1, 0) = (0, 1)$. ::: > [!RICORDA] > - Gram–Schmidt: il primo vettore resta, a ogni altro si tolgono le ombre sui vettori **nuovi** già costruiti. > - Controlla la perpendicolarità a ogni passo; riscala per evitare frazioni. ## Il pezzo dentro e il pezzo perpendicolare (pp. 107–108) Con Gram–Schmidt l'ombra passa da una retta a un sottospazio qualsiasi. Pensa a un vettore nella stanza e al pavimento: il vettore si spezza nella sua ombra sul pavimento e in un pezzo verticale. Da qui lo spazio ha **dimensione finita**. Le dispense lo scrivono così. > [!TEOREMA] 21.8 · Decomposizione ortogonale > Vale > $$V = W \oplus W^\perp.$$ > In altre parole, ogni $v \in V$ si scrive in modo unico come > $$v = w + z, \qquad w \in W, \quad z \in W^\perp.$$ > In particolare, > $$\dim W + \dim W^\perp = \dim V.$$ **Come si legge.** Ogni vettore si spezza in un solo modo in un pezzo dentro $W$ e un pezzo perpendicolare a $W$. E le dimensioni di $W$ e del suo complemento sommano alla dimensione dello spazio: nello spazio, un piano ha per complemento una retta, $2 + 1 = 3$. La spiegazione delle dispense, con i passaggi aggiunti: 1. **Una base ortonormale di $W$.** Parti da una base qualsiasi di $W$, raddrizzala con Gram–Schmidt e dividi per le lunghezze: ottieni $w_1, \dots, w_k$. Se $W$ è solo lo zero non c'è niente da fare. 2. **Il candidato.** Prendi $$p_W(v) = \sum_{i=1}^k \langle v, w_i\rangle\,w_i.$$ È una ricetta dei $w_i$, quindi sta in $W$. 3. **Il resto è perpendicolare a $W$.** Due vettori diversi della base hanno prodotto zero, e ognuno con sé stesso dà 1. Quindi, per ogni $j$, $$\begin{aligned} \langle v - p_W(v), w_j\rangle &= \langle v, w_j\rangle - \sum_{i=1}^k \langle v, w_i\rangle\langle w_i, w_j\rangle \\ &= \langle v, w_j\rangle - \langle v, w_j\rangle = 0. \end{aligned}$$ Il resto è perpendicolare a tutti i generatori, quindi a tutto $W$. 4. **C'è sempre una scomposizione.** $v = p_W(v) + \big(v - p_W(v)\big)$, con il primo pezzo in $W$ e il secondo nel complemento. 5. **È unica.** Un vettore che sta sia in $W$ sia nel complemento è perpendicolare a sé stesso, quindi è zero. La somma è diretta (Definizione 18.4). 6. **Le dimensioni.** Una base di $W$ e una del complemento, messe insieme, sono una base dello spazio: generano per il punto 4, e sono indipendenti perché la somma è diretta. Il pezzo in $W$ è la **proiezione ortogonale** del vettore sul sottospazio: la sua ombra. Con una base ortonormale $w_1, \dots, w_k$ di $W$: $$p_W(v) = \sum_{i=1}^k \langle v, w_i\rangle\,w_i.$$ > [!OSSERVAZIONE] La stessa formula con una base soltanto ortogonale > Se $w_1, \dots, w_k$ è una base **ortogonale** di $W$, non normalizzata, sostituendo $\frac{w_i}{\|w_i\|}$ nella formula si ottiene > $$p_W(v) = \sum_{i=1}^k \frac{\langle v, w_i\rangle}{\langle w_i, w_i\rangle}\,w_i = \sum_{i=1}^k p_{w_i}(v),$$ > la somma delle ombre sulle rette dei $w_i$ (Martelli, Proposizione 8.1.28). È la formula più comoda all'esame: evita le radici quadrate. **Attenzione**: vale solo se la base di $W$ è ortogonale; con una base qualsiasi prima si applica Gram–Schmidt. > [!ESEMPIO] L'ombra di $v = (1, 2, 3)$ sul piano $W = \{x + y + z = 0\}$ > **Con una base ortogonale.** Due vettori del piano perpendicolari tra loro: $a = (1, -1, 0)$ e $b = (1, 1, -2)$. Tutti e due hanno somma delle coordinate zero, e $\langle a, b\rangle = 1 - 1 + 0 = 0$. Allora > $$\begin{aligned} p_W(v) &= \frac{\langle v, a\rangle}{\langle a, a\rangle}\,a + \frac{\langle v, b\rangle}{\langle b, b\rangle}\,b \\ &= \frac{-1}{2}(1, -1, 0) + \frac{-3}{6}(1, 1, -2) = (-1, 0, 1). \end{aligned}$$ > Il resto è $v - p_W(v) = (2, 2, 2)$, multiplo di $(1, 1, 1)$: è perpendicolare al piano. > > **Con la scorciatoia.** Il complemento del piano è la retta di $(1, 1, 1)$, e il vettore è la sua ombra sul piano più la sua ombra sulla retta. Quindi > $$p_W(v) = v - p_{(1, 1, 1)}(v) = (1, 2, 3) - \frac63(1, 1, 1) = (-1, 0, 1).$$ > Stesso risultato con un conto solo. Quando $W$ è un piano dello spazio conviene quasi sempre proiettare sulla retta perpendicolare e togliere. ### L'ombra è il punto più vicino La proiezione ha una proprietà che spiega il suo nome: è il punto di $W$ **più vicino** a $v$. Le dispense lo scrivono così. > [!PROP] 21.9 > Per ogni $w \in W$ vale > $$\|v - p_W(v)\| \le \|v - w\|,$$ > con uguaglianza se e solo se $w = p_W(v)$. **Come si legge.** Tra tutti i punti di $W$, quello più vicino a $v$ è la sua ombra. Ogni altro punto è più lontano. Il perché: 1. scrivi $v - w = \big(v - p_W(v)\big) + \big(p_W(v) - w\big)$; 2. il primo pezzo è perpendicolare a $W$ (Teorema 21.8), il secondo sta in $W$: quindi sono **perpendicolari**; 3. per due vettori perpendicolari vale il **teorema di Pitagora**: la lunghezza al quadrato della somma è la somma delle lunghezze al quadrato (è lo sviluppo del quadrato della lezione L20, con prodotto scalare zero): $$\|v - w\|^2 = \|v - p_W(v)\|^2 + \|p_W(v) - w\|^2;$$ 4. il secondo pezzo non è mai negativo, quindi $\|v - w\|^2$ è almeno $\|v - p_W(v)\|^2$. È uguale solo se $w$ è proprio l'ombra. Nell'esempio del piano: $\|v - p_W(v)\| = \|(2, 2, 2)\| = \sqrt{12}$ è la **distanza** di $v$ dal piano. Qualsiasi altro punto del piano è più lontano: l'origine dista $\sqrt{14}$, e infatti $14 = 12 + 2$; il punto $(1, -1, 0)$ dista $\|(0, 3, 3)\| = \sqrt{18}$. > [!METODO] Ombra su un sottospazio $W$ > 1. Trova una base di $W$. Se $W$ è dato con equazioni, risolvile. > 2. Raddrizzala con Gram–Schmidt. > 3. Somma le ombre: $p_W(v) = \sum_i \frac{\langle v, w_i\rangle}{\langle w_i, w_i\rangle}\,w_i$. > 4. **Controlla** che $v - p_W(v)$ sia perpendicolare ai generatori di $W$. > 5. Se il complemento è più piccolo di $W$, per esempio un piano nello spazio, calcola l'ombra sul complemento e toglila da $v$. > 6. La distanza di $v$ da $W$ è la lunghezza di $v - p_W(v)$. ::: prova Qual è l'ombra di $(1, 2, 3)$ sul piano orizzontale $z = 0$? Il complemento è l'asse verticale: l'ombra su di lui è $(0, 0, 3)$. Togliendola: $(1, 2, 0)$. La distanza dal piano è 3. ::: > [!RICORDA] > - Ogni vettore si spezza in un solo modo: pezzo in $W$ più pezzo perpendicolare a $W$. Le dimensioni di $W$ e del complemento sommano a quella dello spazio. > - L'ombra su un sottospazio si calcola con una sua base **ortogonale**, ed è il suo punto più vicino al vettore. ## Sbagliare il meno possibile: i minimi quadrati (pp. 109–110) Un esperimento dà tre punti misurati. Sono $(0, 1)$, $(1, 2)$ e $(2, 2)$: c'è una retta $y = a + bt$ che passa per tutti e tre? Servirebbe $$\begin{cases} a + 0b = 1 \\ a + 1b = 2 \\ a + 2b = 2 \end{cases}$$ Le prime due danno $a = 1$ e $b = 1$, ma allora la terza darebbe $a + 2b = 3$, non 2: il sistema **non ha soluzioni**. Nella realtà succede sempre, perché le misure hanno errori. Allora si cerca la retta che passa «il più vicino possibile» ai punti. In generale prendiamo un sistema $Ax = b$ che non ha soluzioni. Si cerca allora la scelta delle incognite che porta più vicino ai dati. Le dispense lo scrivono così. > [!DEF] 21.10 · Soluzione ai minimi quadrati > Una **soluzione ai minimi quadrati** di $Ax = b$ è un vettore $x_0 \in \R^n$ tale che > $$\|Ax_0 - b\| \le \|Ax - b\| \qquad \forall\, x \in \R^n.$$ **Come si legge.** - $Ax - b$ è il vettore degli **errori**: quanto sbaglia ogni equazione con la scelta $x$. - $x_0$ è la scelta che rende il vettore degli errori il più corto possibile. - Rendere minima la lunghezza è come rendere minima la lunghezza al quadrato, cioè la **somma dei quadrati** degli errori: da qui il nome. - Se il sistema ha soluzioni, le soluzioni ai minimi quadrati sono proprio quelle, con errore zero. **Il collegamento con l'ombra.** Al variare delle incognite, i risultati $Ax$ sono tutte le ricette delle colonne di $A$. Formano un sottospazio, che chiamo $W$: l'immagine della macchina della matrice (lezione L14). Cercare il risultato più vicino ai dati vuol dire cercare il punto di $W$ più vicino ai dati. Per la Proposizione 21.9 è la loro ombra su $W$. Quindi la scelta migliore è quella per cui l'errore è perpendicolare a $W$. **Come si riconosce un vettore perpendicolare a $W$.** Basta che sia perpendicolare a tutte le colonne di $A$, che generano $W$. Moltiplicare un vettore per la trasposta di $A$ dà proprio i suoi prodotti scalari con le colonne, uno per riga. Quindi un vettore è perpendicolare a $W$ esattamente quando la trasposta di $A$ lo manda in zero. Con l'errore $y = b - Ax_0$: ${}^tA(b - Ax_0) = 0$, cioè ${}^tA\,A\,x_0 = {}^tA\,b$. Le dispense lo scrivono così. > [!TEOREMA] 21.11 · Equazioni normali > Un vettore $x_0 \in \R^n$ è una soluzione ai minimi quadrati di $Ax = b$ se e solo se > $${}^tA\,A\,x_0 = {}^tA\,b.$$ > Queste sono dette **equazioni normali**. **Come si legge.** Per trovare la scelta che sbaglia meno, si moltiplicano i due lati del sistema per la trasposta di $A$, e si risolve il nuovo sistema. Tre osservazioni delle dispense, con il perché: - **Le equazioni normali hanno sempre almeno una soluzione**, perché l'ombra di $b$ sta in $W$: c'è sempre un $x_0$ con $Ax_0$ uguale all'ombra. - **Se le colonne di $A$ sono indipendenti, la soluzione è unica**: allora ${}^tAA$ è invertibile e $$x_0 = ({}^tA\,A)^{-1}\,{}^tA\,b.$$ Il motivo, che le dispense non scrivono: se ${}^tAAx = 0$, allora $0 = {}^tx\,{}^tAAx = \|Ax\|^2$. Quindi $Ax = 0$, e con colonne indipendenti questo obbliga $x$ a essere zero. Una matrice quadrata con nucleo fatto solo dallo zero è invertibile. - ${}^tAA$ è una matrice quadrata **simmetrica**, con tante righe quante incognite. È piccola anche quando i dati sono tanti: con 1000 punti e una retta si risolve un sistema $2 \times 2$. Ecco l'esempio dei tre punti, come nelle dispense. > [!ESEMPIO] 21.12 · La retta dei minimi quadrati > Vogliamo trovare la retta $y = a + bt$ che approssima al meglio, nel senso dei minimi quadrati, i punti $(0, 1)$, $(1, 2)$, $(2, 2)$. Cerchiamo quindi $a, b$ per cui > $$\begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 1 & 2 \end{pmatrix}\begin{pmatrix} a \\ b \end{pmatrix} \approx \begin{pmatrix} 1 \\ 2 \\ 2 \end{pmatrix}.$$ > Le equazioni normali sono > $$\begin{pmatrix} 3 & 3 \\ 3 & 5 \end{pmatrix}\begin{pmatrix} a \\ b \end{pmatrix} = \begin{pmatrix} 5 \\ 6 \end{pmatrix},$$ > da cui $a = \frac76$, $b = \frac12$. La retta cercata è > $$y = \frac76 + \frac12 t.$$ > [!ESEMPIO] · i conti dell'Esempio 21.12 > Attenzione ai nomi: qui la lettera $b$ indica sia la pendenza della retta sia, nel teorema, la colonna dei dati $(1, 2, 2)$. I conti, uno per uno: > > 1. **La matrice e i dati.** Ogni punto $(t, y)$ dà un'equazione $a + bt = y$: la riga di $A$ è $(1, t)$ e il dato è $y$. > 2. **${}^tAA$.** Le colonne di $A$ sono $(1, 1, 1)$ e $(0, 1, 2)$. I numeri di ${}^tAA$ sono i loro prodotti scalari: $3$, poi $0 + 1 + 2 = 3$, poi $0 + 1 + 4 = 5$. > 3. **${}^tA\,b$.** I prodotti delle colonne con i dati: $1 + 2 + 2 = 5$ e $0 + 2 + 4 = 6$. > 4. **Il sistema $2 \times 2$.** $3a + 3b = 5$ e $3a + 5b = 6$. Togliendo la prima dalla seconda: $2b = 1$, cioè $b = \frac12$. Poi $3a = 5 - \frac32 = \frac72$, cioè $a = \frac76$. > 5. **Controllo.** Sulla retta i valori sono $\frac76$, $\frac76 + \frac12 = \frac53$ e $\frac76 + 1 = \frac{13}6$. Gli errori sono $1 - \frac76 = -\frac16$, $2 - \frac53 = \frac13$ e $2 - \frac{13}6 = -\frac16$. Sono perpendicolari alle colonne: $-\frac16 + \frac13 - \frac16 = 0$ e $0 + \frac13 - \frac13 = 0$. La somma dei quadrati degli errori è $\frac1{36} + \frac4{36} + \frac1{36} = \frac16$: nessuna retta fa meglio. ```grafico titolo: La retta $y = \frac76 + \frac12 t$ e gli errori (verticali) rispetto ai tre punti x: -0.5 2.5 y: 0 3 nomi: $t$ $y$ retta: 0 7/6 2 13/6 | accento | spesso punto: 0 1 | ambra | $(0, 1)$ | so punto: 1 2 | ambra | $(1, 2)$ | n punto: 2 2 | ambra | $(2, 2)$ | se segmento: 0 1 0 7/6 | rosa | spesso segmento: 1 2 1 5/3 | rosa | spesso segmento: 2 2 2 13/6 | rosa | spesso ``` > [!NOTA] Collegamento con l'informatica: regressione lineare > Come osservano le dispense, l'esempio precedente è proprio una **regressione lineare** con una variabile. I dati osservati vengono raccolti in un vettore $b$, mentre la matrice $A$ contiene le caratteristiche usate per fare la previsione. Il modello produce il vettore $Ax$, e i parametri $x$ vengono scelti rendendo minima la somma dei quadrati degli errori. Con più variabili si aggiungono altre colonne alla matrice $A$. I minimi quadrati sono uno dei primi esempi in cui ombre e sistemi lineari diventano un metodo per **imparare un modello dai dati**. > [!METODO] Minimi quadrati passo per passo > 1. Scrivi il sistema come $Ax = b$. Per una retta $y = a + bt$: righe $(1, t_i)$, dati $y_i$. > 2. Calcola ${}^tA\,A$, i prodotti scalari tra le colonne, e ${}^tA\,b$, i prodotti tra le colonne e i dati. > 3. Risolvi il sistema quadrato ${}^tA\,A\,x_0 = {}^tA\,b$. > 4. Controlla che l'errore $b - Ax_0$ sia perpendicolare a tutte le colonne di $A$. > [!OLTRE] Dove trovarlo nel libro > Martelli: §7.1.7 «Vettori ortogonali» (pp. 205–206); §7.3 «Sottospazio ortogonale» (pp. 213–218), con il Teorema 7.3.12 sulle dimensioni; capitolo 8, §8.1.5 «Proiezione ortogonale» (pp. 244–245), §8.1.6 «Coefficienti di Fourier» (pp. 245–247), §8.1.7 «Ortogonalizzazione di Gram–Schmidt» (pp. 247–249), §8.1.8 «Riscalamento» (pp. 249–250), §8.1.9 «Ortogonalità» (p. 250) e §8.1.10 «Proiezioni su sottospazi» (pp. 251–253). I minimi quadrati non sono nel libro: per quella sezione fanno fede le dispense. ::: prova Il sistema $x = 1$, $x = 3$ non ha soluzioni. Qual è la soluzione ai minimi quadrati? $A = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$ e $b = (1, 3)$: ${}^tAA = 2$ e ${}^tAb = 4$, quindi $x_0 = 2$, la media. Gli errori sono $-1$ e $1$. ::: > [!RICORDA] > - La soluzione ai minimi quadrati rende minima la somma dei quadrati degli errori. > - Si trova risolvendo le equazioni normali ${}^tA\,A\,x_0 = {}^tA\,b$; l'errore finale è perpendicolare alle colonne di $A$. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\langle v, w\rangle = 0$ | «prodotto scalare zero» | $v$ e $w$ sono ortogonali, cioè perpendicolari | $\langle (1, 2), (-2, 1)\rangle = 0$ | | $W^\perp$ | «vu doppio perp» | il complemento ortogonale: i vettori perpendicolari a tutto $W$ | il complemento di un piano dello spazio è una retta | | $p_w(v)$ | «proiezione di vu su vu doppio» | l'ombra di $v$ sulla retta di $w$ | $p_{(1, 1)}(3, 1) = (2, 2)$ | | $p_W(v)$ | «proiezione di vu su vu doppio maiuscolo» | l'ombra di $v$ sul sottospazio $W$ | | | $\frac{\langle v, w\rangle}{\langle w, w\rangle}$ | «coefficiente di Fourier» | il numero davanti a $w$ nell'ombra | | | $V = W \oplus W^\perp$ | «somma diretta» | ogni vettore si spezza in un solo modo | | | ${}^tA\,A\,x_0 = {}^tA\,b$ | «equazioni normali» | il sistema dei minimi quadrati | | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione compare negli appelli 2023–2026** Questa lezione è la base del **problema 12** di molti appelli: in 7 dei 15 appelli 2023–2026 il problema 12 riguarda prodotti scalari, Gram–Schmidt e proiezioni, e in altri due chiede anche una proiezione su un piano. Lo schema tipico: 1. **base ortonormale (o ortogonale) di un piano** generato da due vettori dello spazio, con Gram–Schmidt: appelli del 10/06/2024, del 03/06/2026 e del 07/09/2026 con il prodotto di tutti i giorni; del 16/01/2025 e del 03/07/2026 con un $g_S$; 2. **ombra** di un vettore su quel piano: stessi appelli tranne quello del 03/07/2026, che chiede invece il complemento ortogonale; in più il 24/01/2024, il 05/02/2026 (con $g_S$) e il 15/01/2026 (punto 4); 3. **complemento ortogonale**: appelli del 07/02/2025 (tra i polinomi) e del 03/07/2026 (di un piano con un $g_S$); 4. il punto successivo, l'intersezione di una retta con il piano e l'angolo, è materia delle lezioni L23–L24. Nel quiz: l'appello del 05/02/2026 (domanda 2) usa il fatto che il complemento ortogonale è sempre un sottospazio. Negli appelli 2023–2026 non ci sono domande sui minimi quadrati, che le dispense 2026 trattano nella sezione 21.E: vanno comunque studiati. ### Una domanda vera, letta insieme **Appello del 03/06/2026, problema 12, punti (1) e (2).** Il testo: «Siano $v_1 = (1, 1, 0)$ e $v_2 = (0, 1, 1)$. (1) Calcolare una base ortonormale di $V = \Span(v_1, v_2)$. (2) Determinare la proiezione ortogonale di $w = (2, 1, 2)$ su $V$». **In pratica chiede:** raddrizza la base del piano, poi trova l'ombra di $w$ sul piano. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: il primo vettore resta.** $w_1 = v_1 = (1, 1, 0)$, con $\langle w_1, w_1\rangle = 2$. > > **Passo 2: raddrizzo il secondo.** $\langle v_2, w_1\rangle = 0 + 1 + 0 = 1$, quindi > $$w_2 = (0, 1, 1) - \frac12(1, 1, 0) = \left(-\frac12, \frac12, 1\right).$$ > Riscalo per togliere le frazioni: $w_2' = (-1, 1, 2)$. Controllo: $\langle w_1, w_2'\rangle = -1 + 1 + 0 = 0$. > > **Passo 3: lunghezze 1.** $w_1$ è lungo $\sqrt2$ e $w_2'$ è lungo $\sqrt{1 + 1 + 4} = \sqrt6$. La base ortonormale è $\left\{\frac{1}{\sqrt2}(1, 1, 0),\ \frac{1}{\sqrt6}(-1, 1, 2)\right\}$. > > **Passo 4: l'ombra, con la base ortogonale (senza radici).** $\langle w, w_1\rangle = 2 + 1 + 0 = 3$ e $\langle w, w_2'\rangle = -2 + 1 + 4 = 3$: > $$p_V(w) = \frac32(1, 1, 0) + \frac36(-1, 1, 2) = \left(\frac32 - \frac12,\ \frac32 + \frac12,\ 0 + 1\right) = (1, 2, 1).$$ > > **Passo 5: controllo.** Il resto $w - p_V(w) = (1, -1, 1)$ è perpendicolare a $v_1$, perché $1 - 1 = 0$, e a $v_2$, perché $-1 + 1 = 0$. ### Altre due domande vere > [!ESAME] Appello del 16/01/2025, problema 12, punti (2) e (3) > *Sia $g_S$ il prodotto scalare di $\R^3$ con $S = \operatorname{diag}(1, 2, 3)$. Siano* > $$v_1 = (1, 1, 0), \quad v_2 = (1, 0, 1), \quad v_3 = (0, 1, 1).$$ > *(2) Applicare Gram–Schmidt per trovare una base ortogonale di $\Span(v_1, v_2)$ rispetto a $g_S$. (3) Calcolare la proiezione ortogonale di $v_3$ su $\Span(v_1, v_2)$ rispetto a $g_S$.* > > **Soluzione.** Con $S$ diagonale, $g_S(x, y) = x_1y_1 + 2x_2y_2 + 3x_3y_3$. > (2) $w_1 = v_1$, con $g_S(w_1, w_1) = 1 + 2 = 3$ e $g_S(v_2, w_1) = 1 + 0 + 0 = 1$. Quindi $w_2 = (1, 0, 1) - \frac13(1, 1, 0) = \left(\frac23, -\frac13, 1\right)$; riscalo: $w_2' = (2, -1, 3)$. Controllo: $g_S(w_1, w_2') = 2 - 2 + 0 = 0$. > > (3) $g_S(v_3, w_1) = 0 + 2 + 0 = 2$; $g_S(v_3, w_2') = 0 - 2 + 9 = 7$; $g_S(w_2', w_2') = 4 + 2 + 27 = 33$. Quindi > $$\begin{aligned} p(v_3) &= \frac23(1, 1, 0) + \frac{7}{33}(2, -1, 3) \\ &= \left(\frac{22 + 14}{33}, \frac{22 - 7}{33}, \frac{21}{33}\right) = \left(\frac{12}{11}, \frac{5}{11}, \frac{7}{11}\right). \end{aligned}$$ > Controllo: il resto è $\left(-\frac{12}{11}, \frac{6}{11}, \frac{4}{11}\right)$. Il suo prodotto $g_S$ con $v_1$ è $-\frac{12}{11} + \frac{12}{11} = 0$. Con $v_2$ è $-\frac{12}{11} + \frac{12}{11} = 0$. L'errore da non fare: usare il prodotto di tutti i giorni in uno dei conti. > [!ESAME] Appello del 07/02/2025, problema 12, punto (3) > *Con il prodotto $g$ sui polinomi di grado al massimo 2 della lezione L19, di matrice $\begin{pmatrix} 6 & 1 & 3 \\ 1 & 2 & 0 \\ 3 & 0 & 2 \end{pmatrix}$ nella base $\{1, x, x^2\}$, trovare una base del complemento ortogonale di $\Span(x, x^2)$.* > > **Soluzione.** Per $p = a + bx + cx^2$: $g(p, x)$ è la seconda coordinata di $S(a, b, c)$, cioè $a + 2b$; $g(p, x^2)$ è la terza, cioè $3a + 2c$. Il sistema $a + 2b = 0$, $3a + 2c = 0$ dà $b = -\frac a2$ e $c = -\frac{3a}2$. Con $a = 2$: $p = 2 - x - 3x^2$. Il complemento è la retta di questo polinomio, di dimensione $3 - 2 = 1$ come prevede il Teorema 21.8. Controllo: $S(2, -1, -3) = (12 - 1 - 9,\ 2 - 2 + 0,\ 6 + 0 - 6) = (2, 0, 0)$, con seconda e terza coordinata zero. Nei punti precedenti il problema chiedeva la matrice (lezione L19) e l'angolo tra $x$ e $x^2$ (lezione L20): $g(x, x^2) = 0$, quindi è retto. **Errori da evitare.** - Proiettare su una base **non ortogonale** del piano sommando le ombre sui singoli vettori: il risultato è sbagliato. Prima Gram–Schmidt. - In Gram–Schmidt, togliere le ombre sui vettori vecchi invece che su quelli nuovi. - Dimenticare di **controllare** la perpendicolarità: è un conto di pochi secondi e salva molti punti. - Con un $g_S$, calcolare un prodotto con quello di tutti i giorni. - Confondere l'ombra, che sta in $W$, con il resto, che è perpendicolare a $W$. > [!ESAME] Sul foglio da 4 facciate > - $p_w(v) = \frac{\langle v, w\rangle}{\langle w, w\rangle}\,w$; il resto $v - p_w(v)$ è perpendicolare a $w$. > - Base ortogonale: $v = \sum \frac{\langle v, v_i\rangle}{\langle v_i, v_i\rangle}v_i$; ortonormale: $v = \sum \langle v, v_i\rangle v_i$. > - Gram–Schmidt per tre vettori (le tre righe della formula), con il consiglio di riscalare. > - $V = W \oplus W^\perp$, $\dim W^\perp = \dim V - \dim W$; $p_W(v) = \sum_i \frac{\langle v, w_i\rangle}{\langle w_i, w_i\rangle}w_i$ con $w_i$ **ortogonali**; $p_W(v) = v - p_{W^\perp}(v)$; distanza $= \|v - p_W(v)\|$. > - Minimi quadrati: ${}^tAAx_0 = {}^tAb$; errore perpendicolare alle colonne. ## Quiz ```quiz D: Rispetto al prodotto scalare euclideo, il complemento ortogonale di $W = \Span({}^t(1, 2, -1))$ in $\R^3$ è: + il piano $\{x + 2y - z = 0\}$ - la retta $\Span({}^t(1, 2, -1))$ - l'insieme $\{x + 2y - z = 1\}$ - la retta $\Span({}^t(-2, 1, 0))$ - $\{0\}$ = Un vettore sta nel complemento esattamente quando è perpendicolare al generatore: $x + 2y - z = 0$, un piano. La risposta più insidiosa è la retta di $(-2, 1, 0)$: sta dentro il piano, ma è solo una parte del complemento. L'insieme con «= 1» non contiene lo zero, quindi non è un sottospazio. Simile al punto sul complemento ortogonale dei problemi del 07/02/2025 e del 03/07/2026. D: Qual è la proiezione ortogonale (prodotto euclideo) di $v = {}^t(3, 1)$ sulla retta $\Span({}^t(1, 1))$? + ${}^t(2, 2)$ - ${}^t(4, 4)$ - ${}^t(1, -1)$ - ${}^t(2\sqrt2, 2\sqrt2)$ - ${}^t(1, 1)$ = Il numero davanti è $\frac{3 + 1}{1 + 1} = 2$, quindi l'ombra è $(2, 2)$. La risposta più insidiosa è $(2\sqrt2, 2\sqrt2)$, che divide per la lunghezza invece che per la lunghezza al quadrato. $(1, -1)$ è il resto, non l'ombra; $(4, 4)$ dimentica di dividere. Simile al punto (2) dei problemi 12 del 03/06/2026 e del 07/09/2026. D: La base $\{{}^t(1, 1), {}^t(1, -1)\}$ di $\R^2$ è ortogonale. Quali sono le coordinate di $v = {}^t(5, 1)$ in questa base? + $(3, 2)$ - $(6, 4)$ - $(5, 1)$ - $(2, 3)$ - $(3, -2)$ = Coefficienti di Fourier: $\frac{5 + 1}{2} = 3$ e $\frac{5 - 1}{2} = 2$. Controllo: $3(1, 1) + 2(1, -1) = (5, 1)$. La risposta più insidiosa è $(6, 4)$, che dimentica di dividere per 2, il prodotto di ogni vettore della base con sé stesso. $(5, 1)$ sono le coordinate nella base canonica. D: Applicando Gram–Schmidt (prodotto euclideo) a $v_1 = {}^t(1, 1, 0)$ e $v_2 = {}^t(1, 0, 1)$, il vettore $w_2$ è: + ${}^t\left(\frac12, -\frac12, 1\right)$ - ${}^t(0, -1, 1)$ - ${}^t(1, 0, 1)$ - ${}^t\left(\frac12, \frac12, 1\right)$ - ${}^t\left(-\frac12, \frac12, 1\right)$ = Si toglie a $v_2$ la sua ombra su $v_1$: $(1, 0, 1) - \frac12(1, 1, 0) = \left(\frac12, -\frac12, 1\right)$. La risposta più insidiosa è l'ultima: è perpendicolare a $v_1$, ma non sta nel piano di $v_1$ e $v_2$. $(0, -1, 1)$ toglie tutto $v_1$ invece di metà. Simile al punto (1) dei problemi 12 del 07/09/2026 e del 03/06/2026. D: Sia $W$ un sottospazio di dimensione 2 di $\R^5$, con il prodotto scalare euclideo. Qual è la dimensione di $W^\perp$? N: 3 = Per il Teorema 21.8 le dimensioni di $W$ e del suo complemento sommano a 5, quindi il complemento ha dimensione 3. D: Sia $V$ di dimensione finita con un prodotto scalare definito positivo e sia $W \subset V$ un sottospazio. Quale affermazione è sempre vera? + $V = W \oplus W^\perp$ - $W \cap W^\perp = W$ - $W^\perp$ è l'insieme dei vettori di $V$ che non stanno in $W$ - $\dim W^\perp = \dim W$ - $W^\perp$ è un sottospazio solo se $W$ è una retta = È il Teorema 21.8. La risposta più insidiosa è la terza: «tutto quello che non sta in $W$» non contiene lo zero e non è un sottospazio, mentre il complemento ortogonale è fatto dei vettori perpendicolari. L'intersezione è solo lo zero; le dimensioni sommano alla dimensione dello spazio, non sono uguali; il complemento è sempre un sottospazio (Proposizione 21.4). D: Il vettore $x_0$ è una soluzione ai minimi quadrati del sistema $Ax = b$ se e solo se: + ${}^tA\,A\,x_0 = {}^tA\,b$ - $Ax_0 = b$ - ${}^tA\,x_0 = b$ - $A\,{}^tA\,x_0 = b$ - $x_0 = A^{-1}b$ = Sono le equazioni normali (Teorema 21.11). La risposta più insidiosa è $Ax_0 = b$: di solito non ha soluzioni, ed è proprio il motivo per cui si usano i minimi quadrati. $A$ in genere non è quadrata, quindi $A^{-1}$ non ha senso; le altre due non hanno nemmeno le taglie giuste. D: Quale dei seguenti insiemi **non** è un sottospazio di $\R_2[x]$ (con un prodotto scalare definito positivo fissato)? + $\{x^2 + tx \mid t \in \R\}$ - $\R_1[x]^\perp$ - $\Span(1 + x, x^2)$ - $\{p(x) \in \R_2[x] \mid p(1) = p(2)\}$ - $\{p(x) \in \R_2[x] \mid p(0) = 0\}$ = $\{x^2 + tx\}$ non contiene il polinomio nullo: il numero davanti a $x^2$ è sempre 1. La risposta più insidiosa è il complemento ortogonale, che sembra strano ma è sempre un sottospazio (Proposizione 21.4). Uno Span lo è sempre, e gli ultimi due sono dati da equazioni lineari senza termine noto. Simile all'appello del 05/02/2026, domanda 2. D: Rispetto al prodotto scalare euclideo, quanto vale la distanza del vettore $v = {}^t(3, 0, 0)$ dal piano $W = \{x + 2y + 2z = 0\}$? N: 1 = Il complemento del piano è la retta di $n = (1, 2, 2)$, lungo 3. La distanza è la lunghezza dell'ombra di $v$ su $n$: $\frac{|\langle v, n\rangle|}{\|n\|} = \frac33 = 1$. Idea simile alla distanza punto-piano dell'appello del 16/01/2025 (domanda 4), che però riguarda un piano che non passa per l'origine (lezione L24). D: Se $\{v_1, \dots, v_n\}$ è una base **ortonormale** di $V$, la coordinata $i$-esima di un vettore $v$ in questa base è: + $\langle v, v_i\rangle$ - $\|v\|$ - $\langle v_i, v_i\rangle$ - $\langle v, v\rangle$ - $\langle v, v_1\rangle + \dots + \langle v, v_n\rangle$ = Per la Proposizione 21.6 la coordinata è $\frac{\langle v, v_i\rangle}{\langle v_i, v_i\rangle}$, e in una base ortonormale il denominatore vale 1. La risposta più insidiosa è l'ultima, che somma tutti i coefficienti invece di prenderne uno. Le altre non dipendono da $i$, oppure valgono sempre 1. ``` ## Esercizi ::: esercizio base Riscaldamento: perpendicolari o no? Con il prodotto di tutti i giorni: (a) $(1, 2)$ e $(4, -2)$; (b) $(1, 1, 1)$ e $(1, -2, 1)$; (c) $(2, 1)$ e $(1, 1)$. ::: soluzione 1. (a) $4 - 4 = 0$: perpendicolari. 2. (b) $1 - 2 + 1 = 0$: perpendicolari. 3. (c) $2 + 1 = 3$: non perpendicolari. ::: ::: esercizio base Riscaldamento: l'ombra sugli assi Trova l'ombra di $(3, 4)$ sulla retta di $(1, 0)$ e sulla retta di $(0, 1)$. Che cosa ottieni sommandole? ::: soluzione 1. Sulla retta di $(1, 0)$: $\frac{3}{1}(1, 0) = (3, 0)$. 2. Sulla retta di $(0, 1)$: $\frac{4}{1}(0, 1) = (0, 4)$. 3. La somma è $(3, 4)$: la base canonica è ortogonale, e ogni vettore è la somma delle sue ombre (Proposizione 21.6). ::: ::: esercizio base Riscaldamento: complemento di una retta del piano Qual è il complemento ortogonale della retta di $(3, 5)$ nel piano? ::: soluzione Scambio le coordinate e cambio un segno: è la retta di $(-5, 3)$. Controllo: $-15 + 15 = 0$. ::: ::: esercizio base Riscaldamento: da ortogonale a ortonormale La base $(1, 1)$, $(1, -1)$ è ortogonale. Rendila ortonormale. ::: soluzione 1. Tutti e due i vettori sono lunghi $\sqrt2$. 2. Dividendo: $\frac{1}{\sqrt2}(1, 1)$ e $\frac{1}{\sqrt2}(1, -1)$. ::: ::: esercizio base Complementi ortogonali Con il prodotto euclideo, trova una base di $W^\perp$ per: (a) $W = \Span((3, -1)) \subset \R^2$; (b) $W = \Span((1, 0, 2)) \subset \R^3$; (c) $W = \Span((1, 1, 1), (1, 0, -1)) \subset \R^3$. ::: soluzione (a) Scambio le coordinate e cambio un segno: la retta di $(1, 3)$. Controllo: $3 - 3 = 0$. (b) Equazione $x + 2z = 0$, cioè $x = -2z$, con $y$ e $z$ libere. Base: $(0, 1, 0)$, con $y = 1$ e $z = 0$, e $(-2, 0, 1)$, con $y = 0$ e $z = 1$. Il complemento ha dimensione 2. (c) Due equazioni: $x + y + z = 0$ e $x - z = 0$. Dalla seconda $x = z$; dalla prima $y = -2z$. Il complemento è la retta di $(1, -2, 1)$. Controllo: $1 - 2 + 1 = 0$ e $1 + 0 - 1 = 0$. ::: ::: esercizio base Proiezioni su una retta (a) Proietta $v = (4, 2)$ sulla retta di $w = (1, 1)$ e scrivi $v$ come somma di un vettore della retta e di uno perpendicolare. (b) Proietta $v = (1, 0, 2)$ sulla retta di $w = (2, 1, 2)$. ::: soluzione (a) Il numero davanti è $\frac{6}{2} = 3$, quindi l'ombra è $(3, 3)$. Il resto è $(4, 2) - (3, 3) = (1, -1)$, perpendicolare a $(1, 1)$. Quindi $(4, 2) = (3, 3) + (1, -1)$. (b) $\langle v, w\rangle = 2 + 0 + 4 = 6$ e $\langle w, w\rangle = 4 + 1 + 4 = 9$: l'ombra è $\frac69(2, 1, 2) = \left(\frac43, \frac23, \frac43\right)$. Controllo: il resto $\left(-\frac13, -\frac23, \frac23\right)$ per $w$ dà $-\frac23 - \frac23 + \frac43 = 0$. ::: ::: esercizio base Coordinate in una base ortogonale di $\R^3$ Verifica che $v_1 = (1, 1, 1)$, $v_2 = (1, -1, 0)$, $v_3 = (1, 1, -2)$ formano una base ortogonale e trova le coordinate di $v = (2, 0, 4)$ senza risolvere sistemi. ::: soluzione **Perpendicolarità.** $\langle v_1, v_2\rangle = 1 - 1 + 0 = 0$; $\langle v_1, v_3\rangle = 1 + 1 - 2 = 0$; $\langle v_2, v_3\rangle = 1 - 1 + 0 = 0$. Tre vettori non nulli e perpendicolari nello spazio sono indipendenti, quindi sono una base. **Coordinate.** - $\frac{\langle v, v_1\rangle}{\langle v_1, v_1\rangle} = \frac{2 + 0 + 4}{3} = 2$; - $\frac{\langle v, v_2\rangle}{\langle v_2, v_2\rangle} = \frac{2 - 0 + 0}{2} = 1$; - $\frac{\langle v, v_3\rangle}{\langle v_3, v_3\rangle} = \frac{2 + 0 - 8}{6} = -1$. Controllo: $2(1, 1, 1) + (1, -1, 0) - (1, 1, -2) = (2 + 1 - 1,\ 2 - 1 - 1,\ 2 + 0 + 2) = (2, 0, 4)$. ::: ::: esercizio medio Esercizio 21.13 delle dispense Trovare la soluzione ai minimi quadrati del sistema $$\begin{cases} x = 1, \\ y = 1, \\ x + y = 3. \end{cases}$$ Scrivere il sistema nella forma $Ax = b$, risolvere le equazioni normali e verificare che il vettore errore $b - Ax_0$ sia ortogonale alle colonne di $A$. ::: soluzione **Il sistema non ha soluzioni.** Le prime due equazioni danno $x = y = 1$, ma allora $x + y = 2$, non 3. **Forma $Ax = b$.** Una riga per equazione, una colonna per incognita: $$A = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 1 & 1 \end{pmatrix}, \qquad \begin{pmatrix} x \\ y \end{pmatrix}, \qquad b = \begin{pmatrix} 1 \\ 1 \\ 3 \end{pmatrix}.$$ **Equazioni normali.** Le colonne sono $A^1 = (1, 0, 1)$ e $A^2 = (0, 1, 1)$: $${}^tA\,A = \begin{pmatrix} \langle A^1, A^1\rangle & \langle A^1, A^2\rangle \\ \langle A^2, A^1\rangle & \langle A^2, A^2\rangle \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix},$$ $${}^tA\,b = \begin{pmatrix} 1 + 0 + 3 \\ 0 + 1 + 3 \end{pmatrix} = \begin{pmatrix} 4 \\ 4 \end{pmatrix}.$$ Il sistema è $2x + y = 4$, $x + 2y = 4$. Togliendo la seconda dalla prima: $x - y = 0$, quindi $x = y$ e $3x = 4$: $$x_0 = \begin{pmatrix} \frac43 \\ \frac43 \end{pmatrix}.$$ Le colonne di $A$ sono indipendenti, quindi questa è l'unica soluzione ai minimi quadrati. **Vettore errore.** $Ax_0 = \left(\frac43, \frac43, \frac83\right)$ e $$b - Ax_0 = \left(1 - \frac43,\ 1 - \frac43,\ 3 - \frac83\right) = \left(-\frac13, -\frac13, \frac13\right).$$ **Verifica.** Con $A^1$: $-\frac13 + 0 + \frac13 = 0$. Con $A^2$: $0 - \frac13 + \frac13 = 0$. L'errore è perpendicolare alle colonne, come dice il Teorema 21.11. La somma dei quadrati degli errori è $\frac19 + \frac19 + \frac19 = \frac13$. ::: ::: esercizio medio Gram–Schmidt e coordinate (a) Mostra che $v_1 = (1, -1, 0)$, $v_2 = (2, 0, 1)$, $v_3 = (0, -1, 1)$ formano una base di $\R^3$ e ortogonalizzala con Gram–Schmidt. (b) Calcola le coordinate di $2e_1 - 5e_2 + e_3$ nella base ortogonale trovata. ::: soluzione (a) **Base.** Con i tre vettori in colonna, il determinante lungo la prima riga è $1 \cdot (0 + 1) - 2 \cdot (-1 - 0) + 0 = 3$, non zero. **Gram–Schmidt.** - $w_1 = (1, -1, 0)$, con $\langle w_1, w_1\rangle = 2$. - $\langle v_2, w_1\rangle = 2$, quindi $w_2 = (2, 0, 1) - \frac22(1, -1, 0) = (1, 1, 1)$, con $\langle w_2, w_2\rangle = 3$. Controllo: $\langle w_1, w_2\rangle = 1 - 1 + 0 = 0$. - $\langle v_3, w_1\rangle = 0 + 1 + 0 = 1$ e $\langle v_3, w_2\rangle = 0 - 1 + 1 = 0$, quindi $$w_3 = (0, -1, 1) - \frac12(1, -1, 0) - 0 \cdot w_2 = \left(-\frac12, -\frac12, 1\right),$$ che riscalo in $w_3' = (-1, -1, 2)$, con $\langle w_3', w_3'\rangle = 6$. Controllo: $\langle w_3', w_1\rangle = -1 + 1 = 0$ e $\langle w_3', w_2\rangle = -1 - 1 + 2 = 0$. (b) $v = (2, -5, 1)$. Coefficienti di Fourier: $$\begin{aligned} \frac{\langle v, w_1\rangle}{2} &= \frac{2 + 5}{2} = \frac72, \\ \frac{\langle v, w_2\rangle}{3} &= \frac{2 - 5 + 1}{3} = -\frac23, \\ \frac{\langle v, w_3'\rangle}{6} &= \frac{-2 + 5 + 2}{6} = \frac56. \end{aligned}$$ Controllo della prima coordinata: $\frac72 - \frac23 - \frac56 = \frac{21 - 4 - 5}{6} = 2$. Le altre due tornano allo stesso modo: $-\frac72 - \frac23 - \frac56 = -5$ e $0 - \frac23 + \frac53 = 1$. ::: ::: esercizio medio Proiezione su un piano e distanza Sia $W = \{x - y + 2z = 0\} \subset \R^3$ (prodotto euclideo) e $v = (1, 2, 3)$. Calcola $p_W(v)$ e la distanza di $v$ da $W$. ::: soluzione Uso la scorciatoia: il complemento è la retta di $n = (1, -1, 2)$, con $\langle n, n\rangle = 6$. 1. $\langle v, n\rangle = 1 - 2 + 6 = 5$, quindi l'ombra sulla retta è $\frac56(1, -1, 2)$. 2. L'ombra sul piano è $v$ meno questa: $\left(1 - \frac56,\ 2 + \frac56,\ 3 - \frac{10}6\right) = \left(\frac16, \frac{17}6, \frac43\right)$. 3. Controllo che stia nel piano: $\frac16 - \frac{17}6 + \frac83 = \frac{1 - 17 + 16}{6} = 0$. 4. Distanza: la lunghezza dell'ombra sulla retta, $\frac56\sqrt6 = \frac{5}{\sqrt6} = \frac{5\sqrt6}{6}$. ::: ::: esercizio medio Gram–Schmidt con un prodotto non euclideo Sia $S = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 1 \\ 0 & 1 & 3 \end{pmatrix}$ (definita positiva). Applica Gram–Schmidt alla base canonica $e_1, e_2, e_3$ rispetto a $g_S$ e trova una base ortonormale per $g_S$. ::: soluzione Ricorda: $g_S(e_i, e_j) = S_{ij}$, e $g_S(e_i, y)$ è la coordinata $i$ di $Sy$. - $w_1 = e_1$, con $g_S(w_1, w_1) = S_{11} = 1$. - $g_S(e_2, w_1) = S_{21} = 1$, quindi $w_2 = e_2 - e_1 = (-1, 1, 0)$. Calcolo $Sw_2 = (-1 + 1,\ -1 + 2,\ 0 + 1) = (0, 1, 1)$, quindi $g_S(w_2, w_2) = {}^tw_2\,(Sw_2) = 0 + 1 + 0 = 1$. Controllo: $g_S(w_1, w_2)$ è la prima coordinata di $Sw_2$, cioè 0. - $g_S(e_3, w_1) = S_{31} = 0$ e $g_S(e_3, w_2)$ è la terza coordinata di $Sw_2$, cioè 1. Quindi $w_3 = e_3 - 0 \cdot w_1 - w_2 = (0, 0, 1) - (-1, 1, 0) = (1, -1, 1)$. - $Sw_3 = (1 - 1,\ 1 - 2 + 1,\ -1 + 3) = (0, 0, 2)$. Controlli: $g_S(w_1, w_3) = 0$ e $g_S(w_2, w_3) = {}^tw_2\,(Sw_3) = 0$. Inoltre $g_S(w_3, w_3) = {}^tw_3\,(0, 0, 2) = 2$. Base ortonormale per $g_S$: $\left\{(1, 0, 0),\ (-1, 1, 0),\ \frac{1}{\sqrt2}(1, -1, 1)\right\}$. Per il prodotto di tutti i giorni questi vettori non sono nemmeno perpendicolari: $\langle e_1, w_2\rangle = -1$. ::: ::: esercizio esame Base ortonormale di un piano, proiezione e distanza Siano $v_1 = (1, 0, 1)$ e $v_2 = (2, 1, 0)$ in $\R^3$ con il prodotto euclideo, e $V = \Span(v_1, v_2)$. (1) Calcola una base ortonormale di $V$. (2) Calcola la proiezione ortogonale di $w = (2, 3, 2)$ su $V$. (3) Calcola la distanza di $w$ da $V$ e un'equazione cartesiana di $V$. ::: soluzione (1) $w_1 = v_1$, con $\langle w_1, w_1\rangle = 2$. $\langle v_2, w_1\rangle = 2$, quindi $w_2 = (2, 1, 0) - (1, 0, 1) = (1, 1, -1)$, con $\langle w_2, w_2\rangle = 3$. Controllo: $\langle w_1, w_2\rangle = 1 + 0 - 1 = 0$. Base ortonormale: $\left\{\frac{1}{\sqrt2}(1, 0, 1),\ \frac{1}{\sqrt3}(1, 1, -1)\right\}$. (2) $\langle w, w_1\rangle = 2 + 0 + 2 = 4$ e $\langle w, w_2\rangle = 2 + 3 - 2 = 3$: $$\begin{aligned} p_V(w) &= \frac42(1, 0, 1) + \frac33(1, 1, -1) \\ &= (2, 0, 2) + (1, 1, -1) = (3, 1, 1). \end{aligned}$$ (3) $w - p_V(w) = (-1, 2, 1)$. Controllo: è perpendicolare a $v_1$ ($-1 + 0 + 1 = 0$) e a $v_2$ ($-2 + 2 + 0 = 0$). La distanza è $\|(-1, 2, 1)\| = \sqrt6$. Siccome $(-1, 2, 1)$ genera il complemento del piano, un'equazione del piano è $-x + 2y + z = 0$. Controllo: $v_1$ dà $-1 + 0 + 1 = 0$, $v_2$ dà $-2 + 2 + 0 = 0$. ::: ::: esercizio esame Ortonormalizzazione, complemento e proiezione con $g_S$ Su $\R^3$ sia $g_S$ con $S = \begin{pmatrix} 2 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{pmatrix}$ (definita positiva), e siano $u = (1, 1, 0)$, $v = (0, 1, 1)$, $W = \Span(u, v)$. (1) Trova una base ortonormale di $W$ rispetto a $g_S$. (2) Trova una base del complemento ortogonale di $W$ rispetto a $g_S$. (3) Calcola la proiezione $g_S$-ortogonale di $e_1$ su $W$. ::: soluzione Prima i vettori $Su = (2, 1, 1)$ e $Sv = (1, 1, 1)$. Allora $g_S(u, u) = {}^tu\,(Su) = 3$, $g_S(u, v) = {}^tu\,(Sv) = 2$ e $g_S(v, v) = {}^tv\,(Sv) = 2$. (1) $w_1 = u$; $w_2 = v - \frac23 u = \left(-\frac23, \frac13, 1\right)$, riscalato in $w_2' = (-2, 1, 3)$. Poi $Sw_2' = (-4 + 3,\ 1,\ -2 + 3) = (-1, 1, 1)$. Controllo: $g_S(u, w_2') = {}^tu\,(Sw_2') = -1 + 1 + 0 = 0$. Inoltre $g_S(w_2', w_2') = 2 + 1 + 3 = 6$. Base ortonormale: $\left\{\frac{1}{\sqrt3}(1, 1, 0),\ \frac{1}{\sqrt6}(-2, 1, 3)\right\}$. (2) Un vettore $x$ sta nel complemento se è perpendicolare per $g_S$ a $u$ e a $v$, cioè ${}^t(Su)\,x = 0$ e ${}^t(Sv)\,x = 0$: $$2x_1 + x_2 + x_3 = 0, \qquad x_1 + x_2 + x_3 = 0.$$ Togliendo, $x_1 = 0$, poi $x_3 = -x_2$: il complemento è la retta di $(0, 1, -1)$, di dimensione $3 - 2 = 1$. (3) $g_S(e_1, u)$ è la prima coordinata di $Su$, cioè 2; $g_S(e_1, w_2')$ è la prima coordinata di $Sw_2'$, cioè $-1$. Quindi $$\begin{aligned} p_W(e_1) &= \frac23(1, 1, 0) - \frac16(-2, 1, 3) \\ &= \left(\frac23 + \frac13,\ \frac23 - \frac16,\ -\frac12\right) = \left(1, \frac12, -\frac12\right). \end{aligned}$$ Controllo: $e_1 - p_W(e_1) = \left(0, -\frac12, \frac12\right) = -\frac12(0, 1, -1)$ sta nel complemento. ::: ::: esercizio difficile Una retta per quattro punti Trova la retta $y = a + bt$ dei minimi quadrati per i punti $(0, 0)$, $(1, 1)$, $(2, 1)$, $(3, 3)$, e calcola gli errori. ::: soluzione $A$ ha righe $(1, t_i)$ e i dati sono $(0, 1, 1, 3)$: $$A = \begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 1 & 2 \\ 1 & 3 \end{pmatrix}.$$ I numeri di ${}^tA\,A$ e di ${}^tA\,b$ sono prodotti scalari tra le colonne $(1, 1, 1, 1)$ e $(0, 1, 2, 3)$ e i dati: $${}^tA\,A = \begin{pmatrix} 4 & 0 + 1 + 2 + 3 \\ 0 + 1 + 2 + 3 & 0 + 1 + 4 + 9 \end{pmatrix} = \begin{pmatrix} 4 & 6 \\ 6 & 14 \end{pmatrix},$$ $${}^tA\,b = \begin{pmatrix} 0 + 1 + 1 + 3 \\ 0 + 1 + 2 + 9 \end{pmatrix} = \begin{pmatrix} 5 \\ 12 \end{pmatrix}.$$ Il sistema: $4a + 6b = 5$ e $6a + 14b = 12$. Moltiplico la prima per 3 e la seconda per 2: $12a + 18b = 15$ e $12a + 28b = 24$. Togliendo, $10b = 9$, cioè $b = \frac9{10}$. Poi $4a = 5 - \frac{54}{10} = -\frac4{10}$, cioè $a = -\frac1{10}$. La retta è $y = -\frac1{10} + \frac9{10}t$. I valori sulla retta sono $-\frac1{10}, \frac8{10}, \frac{17}{10}, \frac{26}{10}$, e gli errori $\frac1{10}, \frac2{10}, -\frac7{10}, \frac4{10}$. Controllo: la loro somma è $\frac{1 + 2 - 7 + 4}{10} = 0$, quindi sono perpendicolari alla prima colonna; con la seconda, $\frac{0 + 2 - 14 + 12}{10} = 0$. ::: ::: esercizio difficile Ortogonalità e dimensioni (a) Dimostra che vettori non nulli a due a due ortogonali sono linearmente indipendenti. (b) Deduci che se $w \ne 0$ in $V$ di dimensione $n$, allora $\dim \Span(w)^\perp = n - 1$, senza usare il Teorema 21.8. Suggerimento: guarda l'applicazione lineare $f(v) = \langle v, w\rangle$. ::: soluzione (a) Da una ricetta che dà zero, $\lambda_1v_1 + \dots + \lambda_kv_k = 0$, si fa il prodotto scalare con $v_i$: resta solo $\lambda_i\langle v_i, v_i\rangle = 0$, perché gli altri pezzi sono zero. Siccome $v_i$ non è zero, $\langle v_i, v_i\rangle$ è positivo, quindi $\lambda_i = 0$ per ogni $i$. (b) La macchina $f(v) = \langle v, w\rangle$ va dallo spazio ai numeri ed è lineare, perché il prodotto scalare lo è nel primo posto. Il suo nucleo è proprio il complemento della retta di $w$: basta la perpendicolarità al generatore. L'immagine non è solo lo zero, perché $f(w) = \|w\|^2$ è positivo: è tutta la retta dei numeri, di dimensione 1. Per il teorema della dimensione (Teorema 14.12) il nucleo ha dimensione $n - 1$. ::: ::: esercizio difficile Un complemento tra i polinomi Su $\R_2[x]$ sia $\langle p, q\rangle = p(-1)q(-1) + p(0)q(0) + p(1)q(1)$. Trova $\R_1[x]^\perp$ e verifica il risultato con i valori. ::: soluzione La matrice nella base $\{1, x, x^2\}$ è $\begin{pmatrix} 3 & 0 & 2 \\ 0 & 2 & 0 \\ 2 & 0 & 2 \end{pmatrix}$ (lezione L19, esercizio 6). Per $p = a + bx + cx^2$, perpendicolare a $1$ e a $x$: $$\langle p, 1\rangle = 3a + 2c = 0, \qquad \langle p, x\rangle = 2b = 0.$$ Quindi $b = 0$ e $a = -\frac{2c}3$. Con $c = 3$: $p = 3x^2 - 2$. Il complemento è la retta di questo polinomio, di dimensione $3 - 2 = 1$. Verifica: $3x^2 - 2$ vale $1, -2, 1$ in $-1, 0, 1$. Allora $\langle p, 1\rangle = 1 - 2 + 1 = 0$ e $\langle p, x\rangle = -1 + 0 + 1 = 0$. ::: ## Domande di ripasso ::: domanda Quando due vettori sono ortogonali? Il vettore nullo è ortogonale a qualcosa? Quando il loro prodotto scalare è zero; se non sono nulli, formano un angolo retto. Il vettore nullo è ortogonale a tutti, perché il suo prodotto con qualsiasi vettore è zero. ::: ::: domanda Quali vettori del piano sono perpendicolari a $(a, b)$, diverso da zero? Quelli con $ax + by = 0$: la retta di $(-b, a)$. Si scambiano le coordinate e si cambia un segno. ::: ::: domanda Che cos'è $W^\perp$ e perché è un sottospazio? L'insieme dei vettori perpendicolari a tutti i vettori di $W$. Contiene lo zero, e somme e multipli di vettori perpendicolari restano perpendicolari, perché il prodotto scalare è lineare nel primo posto. ::: ::: domanda Come si calcola $W^\perp$ in pratica? Si chiede la perpendicolarità ai soli generatori di $W$: si ottiene un sistema lineare senza termini noti, con una equazione per generatore. Con un $g_S$ la riga dei numeri per il generatore $w_i$ è ${}^t(Sw_i)$. ::: ::: domanda Qual è la formula dell'ombra di $v$ sulla retta di $w$? Da dove viene? $p_w(v) = \frac{\langle v, w\rangle}{\langle w, w\rangle}w$. Si cerca un multiplo $kw$ con $v - kw$ perpendicolare a $w$: $\langle v, w\rangle - k\langle w, w\rangle = 0$. ::: ::: domanda Che cos'è il coefficiente di Fourier e a che cosa serve? È il numero $\frac{\langle v, w\rangle}{\langle w, w\rangle}$, quello davanti a $w$ nell'ombra. In una base ortogonale i coefficienti di Fourier di un vettore sono proprio le sue coordinate, senza risolvere sistemi. ::: ::: domanda Come funziona l'algoritmo di Gram–Schmidt? Il primo vettore resta. A ogni vettore successivo si tolgono le sue ombre sui vettori nuovi già costruiti. I vettori ottenuti sono perpendicolari e generano gli stessi spazi; dividendo per le lunghezze si ottiene una base ortonormale. ::: ::: domanda Perché nel calcolo di $w_3$ si proietta su $w_2$ e non su $v_2$? Perché la formula «somma delle ombre» funziona solo su vettori già perpendicolari tra loro. Proiettando su $v_2$, che non è perpendicolare a $w_1$, il risultato di solito non è perpendicolare a $w_2$. ::: ::: domanda Che cosa dice il teorema di decomposizione ortogonale? In dimensione finita, con un prodotto definito positivo, ogni vettore si scrive in un solo modo come un pezzo in $W$ più un pezzo perpendicolare a $W$. E le dimensioni di $W$ e del suo complemento sommano alla dimensione dello spazio. ::: ::: domanda Come si calcola l'ombra su un piano dello spazio? Ci sono scorciatoie? Con una base ortogonale del piano si sommano le ombre sui due vettori. Scorciatoia: se $n$ genera il complemento del piano, l'ombra sul piano è $v$ meno l'ombra di $v$ sulla retta di $n$. ::: ::: domanda Perché l'ombra è il punto di $W$ più vicino a $v$? Per ogni $w$ di $W$, il vettore $v - w$ è la somma di un pezzo perpendicolare a $W$ e di un pezzo in $W$. Per Pitagora la sua lunghezza al quadrato è la somma delle due lunghezze al quadrato, quindi è almeno quella di $v - p_W(v)$. ::: ::: domanda Che cosa sono le equazioni normali e perché funzionano? ${}^tAAx_0 = {}^tAb$. La scelta migliore è quella per cui $Ax_0$ è l'ombra di $b$ sullo spazio delle colonne di $A$. Allora l'errore è perpendicolare a tutte le colonne, cioè ${}^tA(b - Ax_0) = 0$. ::: ::: domanda Quando la soluzione ai minimi quadrati è unica? Quando le colonne di $A$ sono indipendenti: allora ${}^tAA$ è invertibile e $x_0 = ({}^tAA)^{-1}\,{}^tA\,b$. ::: ## Glossario ```glossario Vettori ortogonali | Vettori con prodotto scalare zero; se non nulli, formano un angolo retto. Complemento ortogonale $W^\perp$ | L'insieme dei vettori perpendicolari a ogni vettore di $W$; è sempre un sottospazio. Proiezione ortogonale su una retta | L'ombra $p_w(v) = \frac{\langle v, w\rangle}{\langle w, w\rangle}w$: il vettore della retta di $w$ con il resto perpendicolare a $w$. Coefficiente di Fourier | Il numero $\frac{\langle v, w\rangle}{\langle w, w\rangle}$. Base ortogonale | Una base di vettori perpendicolari a due a due. Base ortonormale | Una base ortogonale di vettori lunghi 1; le coordinate di $v$ sono $\langle v, v_i\rangle$. Normalizzare | Dividere un vettore non nullo per la sua lunghezza. Algoritmo di Gram–Schmidt | Raddrizza vettori indipendenti: a ognuno si tolgono le ombre sui vettori nuovi già costruiti. I nuovi vettori sono perpendicolari e generano gli stessi spazi. Riscalare | Sostituire un vettore con un suo multiplo non nullo; non cambia le ombre e aiuta a evitare frazioni. Somma diretta $\oplus$ | Ogni vettore si scrive in un solo modo come somma di un pezzo per ciascun sottospazio. Decomposizione ortogonale | Lo spazio è $W \oplus W^\perp$ (Teorema 21.8), e le dimensioni sommano a quella dello spazio. Proiezione ortogonale su un sottospazio | L'ombra $p_W(v)$, il pezzo in $W$ della scomposizione; con base ortonormale $\sum \langle v, w_i\rangle w_i$. Teorema di Pitagora | Se due vettori sono perpendicolari, la lunghezza al quadrato della somma è la somma delle lunghezze al quadrato. Distanza di un vettore da un sottospazio | La lunghezza di $v - p_W(v)$: la minima distanza tra $v$ e i vettori di $W$. Soluzione ai minimi quadrati | La scelta $x_0$ che rende minima la lunghezza di $Ax - b$ (Definizione 21.10). Equazioni normali | ${}^tAAx_0 = {}^tAb$; le loro soluzioni sono le soluzioni ai minimi quadrati. Regressione lineare | La scelta dei parametri di un modello lineare che rende minima la somma dei quadrati degli errori. Residuo (errore) | Il vettore $b - Ax$; nella soluzione ai minimi quadrati è perpendicolare alle colonne di $A$. ``` ## Checklist ```checklist - So decidere se due vettori sono perpendicolari, anche con un prodotto $g_S$ diverso da quello di tutti i giorni. - So calcolare $W^\perp$ risolvendo il sistema dato dai generatori di $W$, e controllarne la dimensione. - So spiegare perché $W^\perp$ è un sottospazio. - So calcolare l'ombra di un vettore su una retta e ricavare la formula. - So calcolare le coordinate di un vettore in una base ortogonale con i coefficienti di Fourier. - So applicare Gram–Schmidt a due o tre vettori, controllando la perpendicolarità a ogni passo e riscalando. - So trasformare una base ortogonale in una ortonormale. - So enunciare e spiegare il teorema di decomposizione ortogonale e la regola delle dimensioni. - So proiettare un vettore su un piano dello spazio, anche con la scorciatoia della retta perpendicolare, e calcolarne la distanza dal piano. - So spiegare perché l'ombra è il punto più vicino, con Pitagora. - So scrivere e risolvere le equazioni normali, e trovare la retta dei minimi quadrati per alcuni punti. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 21 «Prodotti scalari III», pp. 105–110: sezioni 21.A (vettori ortogonali e complemento), 21.B (proiezione ortogonale), 21.C (Gram–Schmidt), 21.D (decomposizione ortogonale), 21.E (minimi quadrati, con il riquadro sulla regressione lineare) e 21.F (l'Esercizio 21.13, svolto come esercizio 8). Numerazione delle dispense: Esempi 21.1, 21.2, 21.7, 21.12; Definizioni 21.3, 21.10; Proposizioni 21.4, 21.5, 21.6, 21.9; Teoremi 21.8, 21.11. Richiami: Definizione 18.4 (somma diretta), Teorema 14.12 (teorema della dimensione), lezioni L19 e L20. - **B. Martelli, *Geometria e algebra lineare***: §7.1.7, §7.3 (sottospazio ortogonale, Proposizioni 7.3.3 e 7.3.7, Teorema 7.3.12), §8.1.5–8.1.10 (proiezioni, coefficienti di Fourier, Gram–Schmidt, riscalamento, Proposizioni 8.1.25 e 8.1.28, Esempio 8.1.19). Il libro è gratuito: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). L'esercizio 9 riprende l'Esercizio 8.2 del libro. - **Appelli d'esame** (Moodle 2025/26): problemi 12 del 24/01/2024, 10/06/2024, 16/01/2025, 07/02/2025, 15/01/2026, 05/02/2026, 03/06/2026, 03/07/2026, 07/09/2026; domanda 2 del 05/02/2026. Le tre domande riportate sono risolte in questi appunti. - Le parti **«Oltre le dispense»** (indipendenza dei vettori perpendicolari, generatori e complemento, lunghezza dell'ombra, riscalamento, collocazione nel libro) e gli esercizi aggiunti servono a collegare la lezione al resto del corso e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L22_spazio_euclideo_1.md` ```yaml corso: MDAG modulo: AG lezione: L22 titolo: Lo spazio euclideo I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L22 descrizione: >- Appunti della lezione L22 di Algebra lineare e Geometria (MDAG, parte 2): rotazioni e riflessioni del piano, isometrie tra spazi con prodotto scalare, matrici ortogonali, classificazione delle isometrie del piano e dello spazio, prodotto vettoriale in R3, con quiz nello stile dell'esame ed esercizi svolti. lede: >- I movimenti che spostano le figure senza deformarle: girare e specchiare. Impari a riconoscerli dalla loro tabella di numeri, che si chiama matrice ortogonale. Alla fine arriva il prodotto vettoriale: una ricetta per costruire un vettore perpendicolare a due vettori dati, che userai in tutte le lezioni sulla geometria dello spazio. materiale: dispense scheda: Dispense: lezione 22 · pp. 111–115 Libro: Martelli, §4.4.8–4.4.9, §7.5, §8.2 e §9.1 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 22 «Lo spazio euclideo I»; B. Martelli, Geometria e algebra lineare, §4.4.8–4.4.9, §7.5, §8.2 e §9.1 appunti_html: appunti/MDAG/L22_spazio_euclideo_1.html genera_html: true ``` ## In breve - Un'**isometria** è un movimento rigido: sposta le figure senza deformarle. Lunghezze, distanze e angoli restano quelli di prima. - Nel piano, i movimenti rigidi che tengono fermo il punto dove si incrociano gli assi sono di due tipi soltanto: le **rotazioni** (girare) e le **riflessioni** (specchiare rispetto a una retta). - Ognuno di questi movimenti si scrive con una tabella di quattro numeri. La tabella di un movimento rigido si chiama **matrice ortogonale**: le sue colonne sono lunghe 1 e perpendicolari tra loro. - Un solo numero, il **determinante**, distingue i due tipi: vale $1$ per le rotazioni e $-1$ per le riflessioni. - Nello spazio i movimenti rigidi sono le rotazioni intorno a una retta e le **antirotazioni**, cioè una rotazione seguita da uno specchio. - Il **prodotto vettoriale** prende due vettori dello spazio e ne costruisce un terzo, perpendicolare a tutti e due. - All'esame servono due cose: riconoscere una matrice ortogonale nel quiz e usare il prodotto vettoriale nei problemi su rette e piani. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Movimenti che non deformano (p. 111) Un movimento rigido sposta una figura senza cambiarne la forma. Pensa a una squadra da disegno appoggiata sul tavolo. La puoi far scivolare, la puoi far girare, la puoi anche ribaltare sull'altra faccia. In ogni posizione i suoi lati sono lunghi come prima e i suoi angoli sono gli stessi. Se invece fai una fotocopia ingrandita della squadra, i lati si allungano: quello non è un movimento rigido. In matematica un movimento rigido si chiama **isometria**. La parola viene dal greco e vuol dire «stessa misura». Le dispense aprono la lezione con due avvisi. Li leggiamo uno alla volta, perché fissano le regole del gioco per tutte le lezioni sulla geometria (questa, la L23 e la L24). ### Primo avviso: si lavora nel piano e nello spazio di tutti i giorni Le dispense scrivono: «In queste lezioni usiamo sempre il prodotto scalare euclideo sullo spazio euclideo $\R^n$». La scrittura $\R^n$ si legge «erre enne». È l'insieme di tutte le liste fatte di $n$ numeri reali: la lettera $n$ dice quanti numeri ci sono nella lista. Qui servono due casi. - $\R^2$ («erre due») contiene le liste di due numeri, come $(3, 2)$. Sono i punti del piano: 3 passi a destra e 2 passi in su. - $\R^3$ («erre tre») contiene le liste di tre numeri, come $(3, 2, 5)$. Sono i punti dello spazio: il terzo numero è l'altezza. Una lista di numeri è un **vettore**. Si disegna come una freccia. La freccia parte dall'**origine**, cioè dal punto dove si incrociano gli assi, e arriva al punto indicato dalla lista. L'origine è il vettore fatto di soli zeri. «Euclideo» viene da Euclide, il matematico greco della geometria che si studia a scuola. Il **prodotto scalare euclideo** è quello normale, che conosci dalla lezione L19. Con lui si misurano lunghezze e angoli. Lo ricordiamo qui sotto. > [!RIPASSO] prodotto scalare, lunghezza, perpendicolare (lezioni L19, L20 e L21) > Il **prodotto scalare** di due vettori è un numero. Si calcola così: moltiplichi i numeri che stanno nello stesso posto e sommi i risultati. Si scrive con due parentesi a punta. > $$\langle (1, 2), (3, -1) \rangle = 1 \cdot 3 + 2 \cdot (-1) = 3 - 2 = 1$$ > La **lunghezza** di un vettore si chiama anche **norma** e si scrive con due doppie barre. Si calcola con il teorema di Pitagora: fai il quadrato di ogni numero, sommi e poi fai la radice. > $$\|(3, 4)\| = \sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5$$ > La **distanza** tra due vettori è la lunghezza della loro differenza. > > Due vettori sono **perpendicolari** quando il loro prodotto scalare è zero. Al posto di «perpendicolari» le dispense scrivono quasi sempre **ortogonali**: è la stessa cosa. Un esempio: > $$\langle (2, 1), (-1, 2) \rangle = 2 \cdot (-1) + 1 \cdot 2 = -2 + 2 = 0$$ ### Secondo avviso: l'origine resta ferma Le dispense scrivono: «In queste lezioni consideriamo soltanto isometrie lineari, cioè isometrie che fissano l'origine». «Fissare l'origine» vuol dire che l'origine non si muove. Pensa di nuovo al foglio sul tavolo. - Se pianti una puntina nell'origine e fai girare il foglio, l'origine resta ferma. Questo movimento va bene. - Se fai scivolare tutto il foglio di 3 centimetri verso destra, si sposta anche l'origine. Questo movimento si chiama **traslazione**. È rigido, ma resta fuori da queste lezioni. Perché «lineari»? Un'**applicazione lineare** è una macchina che trasforma vettori in vettori e rispetta le somme e i multipli (lezione L14). Ogni macchina di questo tipo manda il vettore di soli zeri nel vettore di soli zeri. Quindi tiene ferma l'origine. ### La macchina «moltiplica per una matrice» Le macchine lineari del piano sono tutte fatte nello stesso modo: prendono un vettore e lo moltiplicano per una matrice (lezione L15). > [!RIPASSO] matrice per vettore (lezione L08) > Una **matrice** è una tabella di numeri. Per moltiplicarla per un vettore si lavora una riga alla volta. Si moltiplicano i numeri della riga per i numeri del vettore, posto per posto, e si somma. > $$\begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} \begin{pmatrix} 3 \\ 2 \end{pmatrix} = \begin{pmatrix} 2 \cdot 3 + 1 \cdot 2 \\ 0 \cdot 3 + 3 \cdot 2 \end{pmatrix} = \begin{pmatrix} 8 \\ 6 \end{pmatrix}$$ > La prima riga dà $6 + 2 = 8$. La seconda riga dà $0 + 6 = 6$. > > Accanto a una matrice il vettore si scrive in verticale. In una riga di testo si scrive in orizzontale: $(8, 6)$. È lo stesso vettore. Chiamiamo $A$ la matrice. La macchina «moltiplica per $A$» nelle dispense si chiama $L_A$, che si legge «elle con $A$». Il vettore che esce dalla macchina si chiama **immagine** del vettore che è entrato. Nel ripasso, l'immagine di $(3, 2)$ è $(8, 6)$. C'è un fatto che useremo in tutta la lezione. Riguarda i due vettori più comodi del piano: - il vettore $(1, 0)$, cioè «un passo a destra», che si chiama $e_1$; - il vettore $(0, 1)$, cioè «un passo in su», che si chiama $e_2$. Insieme formano la **base canonica** del piano. Guarda che cosa succede quando entrano nella macchina del ripasso. $$\begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 2 \\ 0 \end{pmatrix} \qquad\qquad \begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 1 \\ 3 \end{pmatrix}$$ Il primo risultato è la prima colonna della matrice. Il secondo risultato è la seconda colonna. Succede con ogni matrice. > [!IDEA] > La prima colonna di una matrice è il posto dove finisce $e_1$. La seconda colonna è il posto dove finisce $e_2$. Quindi per scrivere la matrice di un movimento del piano basta sapere dove vanno questi due vettori. ::: prova Quanto fa la matrice $\begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix}$ per il vettore $(1, 1)$? Prima riga: $2 \cdot 1 + 1 \cdot 1 = 3$. Seconda riga: $0 \cdot 1 + 3 \cdot 1 = 3$. Il risultato è $(3, 3)$. ::: ::: prova Una macchina manda $e_1$ in $(0, 1)$ ed $e_2$ in $(-1, 0)$. Qual è la sua matrice? Le due immagini vanno nelle colonne, scritte in verticale: $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$. La prima colonna è $(0, 1)$, la seconda è $(-1, 0)$. ::: ::: prova Far scivolare tutto il piano di 2 passi verso destra è un'isometria lineare? No. È un movimento rigido, ma l'origine si sposta nel punto $(2, 0)$. È una traslazione, e in queste lezioni non si usa. ::: > [!RICORDA] > - Un'**isometria** è un movimento rigido: non cambia lunghezze, distanze e angoli. > - In queste lezioni le isometrie sono **lineari**: tengono ferma l'origine e sono macchine del tipo «moltiplica per una matrice». > - Le colonne della matrice dicono dove vanno $e_1$ ed $e_2$. ## Girare il piano: le rotazioni (p. 111) Una rotazione fa girare tutto il piano intorno all'origine, come un disco sul piatto del giradischi. Per dire di quanto si gira serve un angolo. Per scrivere la matrice servono il coseno e il seno di quell'angolo. Prima di cominciare ripassiamo queste due cose. > [!RIPASSO] gli angoli in radianti > A scuola gli angoli si misurano in gradi: un giro completo è 360 gradi. In questo corso si misurano in **radianti**: un giro completo è $2\pi$. Il simbolo $\pi$ è il numero pi greco, circa $3{,}14$. > > | Quanto giri | Gradi | Radianti | > |---|---|---| > | un dodicesimo di giro | 30° | $\frac\pi6$ | > | un ottavo di giro | 45° | $\frac\pi4$ | > | un sesto di giro | 60° | $\frac\pi3$ | > | un quarto di giro | 90° | $\frac\pi2$ | > | mezzo giro | 180° | $\pi$ | > | tre quarti di giro | 270° | $\frac{3\pi}2$ | > | un giro intero | 360° | $2\pi$ | > > Gli angoli si contano in senso **antiorario**, cioè al contrario delle lancette dell'orologio. Un angolo si indica di solito con la lettera greca $\vartheta$, che si legge «theta». > [!RIPASSO] coseno e seno > Disegna il cerchio di raggio 1 con il centro nell'origine. Parti dal punto più a destra, che è $(1, 0)$, e cammina lungo il cerchio in senso antiorario per un angolo $\vartheta$. Il punto in cui arrivi ha due coordinate, e ognuna ha un nome. > > - La prima coordinata dice quanto sei a destra. Si chiama **coseno** di $\vartheta$ e si scrive $\cos\vartheta$. > - La seconda coordinata dice quanto sei in alto. Si chiama **seno** di $\vartheta$ e si scrive $\sin\vartheta$. > > Quindi il punto del cerchio all'angolo $\vartheta$ è $(\cos\vartheta, \sin\vartheta)$. Per gli angoli più usati i valori sono in questa tabella, da copiare sul foglio dell'esame. > > | Angolo | $0$ | $\frac\pi6$ | $\frac\pi4$ | $\frac\pi3$ | $\frac\pi2$ | $\pi$ | $\frac{3\pi}2$ | > |---|---|---|---|---|---|---|---| > | coseno | $1$ | $\frac{\sqrt3}2$ | $\frac{\sqrt2}2$ | $\frac12$ | $0$ | $-1$ | $0$ | > | seno | $0$ | $\frac12$ | $\frac{\sqrt2}2$ | $\frac{\sqrt3}2$ | $1$ | $0$ | $-1$ | > > Una regola vale per ogni angolo: > $$\cos^2\vartheta + \sin^2\vartheta = 1$$ > La scrittura $\cos^2\vartheta$ vuol dire «il coseno di $\vartheta$, elevato al quadrato». La regola è il teorema di Pitagora: il punto sta sul cerchio di raggio 1, quindi la sua distanza dall'origine è 1. Guarda la figura: il punto con le due coordinate scritte accanto è il punto del cerchio all'angolo di 30 gradi. Il tratto orizzontale è il suo coseno: dice quanto il punto è a destra. Il tratto verticale tratteggiato è il suo seno: dice quanto il punto è in alto. ```grafico titolo: Il punto del cerchio di raggio 1 all'angolo $\vartheta$ ha coordinate $(\cos\vartheta, \sin\vartheta)$. Qui $\vartheta = \frac\pi6$ x: -1.4 1.7 y: -1.2 1.2 cerchio: 0 0 1 | grigio segmento: 0 0 sqrt(3)/2 1/2 | accento | spesso segmento: 0 0 sqrt(3)/2 0 | viola | spesso | $\cos\vartheta$ | s segmento: sqrt(3)/2 0 sqrt(3)/2 1/2 | blu | tratteggio | $\sin\vartheta$ | e arco: 0 0 0.4 0 pi/6 | ambra | $\vartheta$ punto: sqrt(3)/2 1/2 | accento | $(\cos\vartheta, \sin\vartheta)$ | ne punto: 1 0 | grigio | $(1, 0)$ | se ``` ### Un quarto di giro Cominciamo dalla rotazione più comoda: un quarto di giro in senso antiorario. Per scrivere la sua matrice basta vedere dove vanno i due vettori della base canonica. - Il vettore $e_1 = (1, 0)$ punta a destra. Dopo un quarto di giro punta in su: diventa $(0, 1)$. - Il vettore $e_2 = (0, 1)$ punta in su. Dopo un quarto di giro punta a sinistra: diventa $(-1, 0)$. Le due immagini vanno nelle colonne. La matrice del quarto di giro è questa: $$\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$$ Proviamo la macchina su un altro vettore, per esempio $(1, 2)$. $$\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 2 \end{pmatrix} = \begin{pmatrix} 0 \cdot 1 + (-1) \cdot 2 \\ 1 \cdot 1 + 0 \cdot 2 \end{pmatrix} = \begin{pmatrix} -2 \\ 1 \end{pmatrix}$$ Il vettore $(1, 2)$ è diventato $(-2, 1)$. Controlliamo con due conti che sia davvero un quarto di giro. 1. **La lunghezza non è cambiata.** Prima era $\sqrt{1^2 + 2^2} = \sqrt 5$. Dopo è $\sqrt{(-2)^2 + 1^2} = \sqrt 5$. 2. **Tra il vettore di prima e quello di dopo c'è un angolo retto.** Il loro prodotto scalare è $1 \cdot (-2) + 2 \cdot 1 = 0$, quindi sono perpendicolari. La regola del quarto di giro si ricorda così: **scambia i due numeri, poi cambia segno al primo**. Con le lettere: il vettore $(x, y)$ diventa $(-y, x)$. ### Un angolo qualsiasi Ora giriamo di un angolo qualsiasi, che chiamiamo $\vartheta$. Il ragionamento è lo stesso: guardiamo dove vanno i due vettori della base canonica. **Dove va il primo.** Il vettore $e_1$ è il punto del cerchio di raggio 1 da cui si cominciano a contare gli angoli. Girandolo di $\vartheta$ arriva al punto del cerchio all'angolo $\vartheta$. Per il ripasso su coseno e seno, quel punto è $$(\cos\vartheta,\ \sin\vartheta).$$ **Dove va il secondo.** Il vettore $e_2$ è $e_1$ girato di un quarto di giro. Se giri tutti e due dello stesso angolo, restano a un quarto di giro l'uno dall'altro. Quindi l'immagine del secondo è l'immagine del primo, girata di un quarto di giro. Con la regola di prima (scambia i due numeri, poi cambia segno al primo) viene $$(-\sin\vartheta,\ \cos\vartheta).$$ Queste due immagini sono le colonne della matrice della rotazione. Guarda la figura, dove l'angolo è 30 gradi, cioè $\frac\pi6$. I vettori grigi sono $e_1$ ed $e_2$ prima della rotazione. Quelli colorati sono le loro immagini. I due archi segnati con $\vartheta$ sono uguali: tutti e due i vettori hanno girato dello stesso angolo. ```grafico titolo: La rotazione di $\frac\pi6$ manda $e_1$ in $(\cos\frac\pi6, \sin\frac\pi6)$ ed $e_2$ in $(-\sin\frac\pi6, \cos\frac\pi6)$ x: -1.2 1.4 y: -0.4 1.3 vettore: 1 0 | grigio | $e_1$ | s vettore: 0 1 | grigio | $e_2$ | e vettore: sqrt(3)/2 1/2 | accento | spesso | $\mathrm{Rot}\,e_1$ | e vettore: -1/2 sqrt(3)/2 | blu | spesso | $\mathrm{Rot}\,e_2$ | no arco: 0 0 0.45 0 pi/6 | ambra | $\vartheta$ arco: 0 0 0.45 pi/2 2pi/3 | ambra | $\vartheta$ ``` Le dispense lo scrivono così. > [!DEF] 22.1 · Rotazione > Una **rotazione** di angolo $\vartheta$ è la trasformazione $L_A : \R^2 \to \R^2$ determinata dalla matrice $A = \mathrm{Rot}_\vartheta$, con > $$\mathrm{Rot}_\vartheta = \begin{pmatrix} \cos\vartheta & -\sin\vartheta \\ \sin\vartheta & \cos\vartheta \end{pmatrix}.$$ **Come si legge.** - $\vartheta$ è l'angolo di cui si gira. - $\mathrm{Rot}_\vartheta$ si legge «rot di theta». È il nome della matrice. La piccola $\vartheta$ in basso ricorda di quale angolo si tratta. - $L_A : \R^2 \to \R^2$ è la macchina «moltiplica per $A$». La freccia si legge «da … a …»: la macchina prende un vettore del piano e restituisce un vettore del piano. «Trasformazione» è un altro nome per una macchina di questo tipo. - Nella matrice, la prima colonna è il posto dove va $e_1$. La seconda colonna è il posto dove va $e_2$. Sono i due vettori trovati sopra. - Il segno meno sta in alto a destra. È l'unico punto in cui si sbaglia. Per scrivere la matrice di una rotazione precisa si prendono coseno e seno dalla tabella e si mettono nei quattro posti. Per un sesto di giro, cioè $\frac\pi3$, il coseno è $\frac12$ e il seno è $\frac{\sqrt3}2$: $$\mathrm{Rot}_{\pi/3} = \begin{pmatrix} \frac12 & -\frac{\sqrt3}2 \\ \frac{\sqrt3}2 & \frac12 \end{pmatrix}$$ Usiamola per girare il vettore $(2, 0)$. $$\begin{pmatrix} \frac12 & -\frac{\sqrt3}2 \\ \frac{\sqrt3}2 & \frac12 \end{pmatrix} \begin{pmatrix} 2 \\ 0 \end{pmatrix} = \begin{pmatrix} \frac12 \cdot 2 - \frac{\sqrt3}2 \cdot 0 \\ \frac{\sqrt3}2 \cdot 2 + \frac12 \cdot 0 \end{pmatrix} = \begin{pmatrix} 1 \\ \sqrt3 \end{pmatrix}$$ Il vettore $(2, 0)$ è diventato $(1, \sqrt3)$. La lunghezza è rimasta 2, perché $\sqrt{1^2 + (\sqrt3)^2} = \sqrt{1 + 3} = \sqrt4 = 2$. Queste quattro rotazioni conviene saperle scrivere senza pensarci. Nella tabella la freccia $\mapsto$ si legge «va in». | Angolo | Matrice | Che cosa fa | |---|---|---| | $\frac\pi2$ (un quarto di giro) | $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ | $(x, y) \mapsto (-y, x)$: per esempio $(1, 2) \mapsto (-2, 1)$ | | $\pi$ (mezzo giro) | $\begin{pmatrix} -1 & 0 \\ 0 & -1 \end{pmatrix}$ | $(x, y) \mapsto (-x, -y)$: cambia segno a tutti e due i numeri | | $\frac\pi3$ (un sesto di giro) | $\begin{pmatrix} \frac12 & -\frac{\sqrt3}2 \\ \frac{\sqrt3}2 & \frac12 \end{pmatrix}$ | $(2, 0) \mapsto (1, \sqrt3)$ | | $\frac\pi4$ (un ottavo di giro) | $\frac{\sqrt2}2\begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix}$ | $(1, 0) \mapsto \left(\frac{\sqrt2}2, \frac{\sqrt2}2\right)$ | Nell'ultima riga il numero davanti alla matrice moltiplica tutti e quattro i numeri dentro. ### La matrice gira davvero tutto il piano Abbiamo costruito la matrice guardando solo due vettori. Resta una domanda: la macchina gira nello stesso modo anche tutti gli altri vettori? La risposta è sì, e le dispense la scrivono in una proposizione. > [!PROP] 22.2 > La trasformazione $L_A$ è effettivamente una rotazione antioraria del piano di angolo $\vartheta$ intorno all'origine. **Come si legge.** Qui $L_A$ è la macchina «moltiplica per la matrice della rotazione». «Effettivamente» vuol dire «davvero»: la matrice mantiene la promessa del suo nome con ogni vettore del piano, non solo con i due della base canonica. Il motivo a parole. Ogni vettore del piano è una ricetta fatta con i due vettori della base canonica: tanti passi a destra e tanti passi in su. La macchina è lineare, quindi rispetta le ricette. Se i due ingredienti girano dello stesso angolo, gira dello stesso angolo anche tutto quello che si cucina con loro. Un controllo con i numeri. Sopra il vettore $(2, 0)$ è diventato $(1, \sqrt3)$, e la lunghezza è rimasta 2. Controlliamo anche l'angolo tra i due. Nella lezione L20 hai visto che il coseno dell'angolo tra due vettori è il loro prodotto scalare diviso per il prodotto delle lunghezze: $$\frac{2 \cdot 1 + 0 \cdot \sqrt3}{2 \cdot 2} = \frac24 = \frac12$$ L'angolo che ha coseno $\frac12$ è $\frac\pi3$: proprio l'angolo della rotazione. > [!DIM] della Proposizione 22.2 (dal libro di Martelli) > Le dispense non la dimostrano. Questa è la dimostrazione del libro di Martelli (Proposizione 4.4.15). > > 1. Ogni punto del piano si può descrivere con due numeri diversi dalle solite coordinate. Il primo è la sua distanza dall'origine, che chiamiamo $\varrho$ («ro»). Il secondo è l'angolo che forma con l'asse $x$, che chiamiamo $\varphi$ («fi»). Si chiamano **coordinate polari**. Le solite coordinate si ricavano così: $x = \varrho\cos\varphi$ e $y = \varrho\sin\varphi$. > 2. Moltiplichiamo la matrice della rotazione per questo punto, riga per colonna: > $$\mathrm{Rot}_\vartheta\begin{pmatrix} \varrho\cos\varphi \\ \varrho\sin\varphi \end{pmatrix} = \begin{pmatrix} \varrho(\cos\vartheta\cos\varphi - \sin\vartheta\sin\varphi) \\ \varrho(\sin\vartheta\cos\varphi + \cos\vartheta\sin\varphi) \end{pmatrix}.$$ > 3. Le due parentesi sono le **formule di addizione** del coseno e del seno, che si studiano a scuola. La prima è $\cos(\vartheta + \varphi)$, la seconda è $\sin(\vartheta + \varphi)$. Quindi il risultato è > $$\begin{pmatrix} \varrho\cos(\vartheta + \varphi) \\ \varrho\sin(\vartheta + \varphi) \end{pmatrix}.$$ > 4. Questo è il punto a distanza $\varrho$ dall'origine e con angolo $\varphi + \vartheta$. La distanza è quella di prima. L'angolo è aumentato di $\vartheta$. Il punto ha girato di $\vartheta$ in senso antiorario. ### Il determinante di una rotazione C'è un numero che tra poco servirà per distinguere le rotazioni dagli specchi: il determinante. > [!RIPASSO] il determinante di una matrice con due righe e due colonne (lezione L09) > Il **determinante** è un numero che si calcola da una matrice quadrata. Si scrive $\det$. Per una matrice con due righe e due colonne la regola è «diagonale meno l'altra diagonale»: > $$\det\begin{pmatrix} a & b \\ c & d \end{pmatrix} = a \cdot d - b \cdot c$$ > Un esempio con i numeri: > $$\det\begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} = 2 \cdot 3 - 1 \cdot 0 = 6$$ > Il determinante dice di quanto la matrice ingrandisce le aree. Se ha il segno meno, in più la matrice ribalta le figure, come fa uno specchio. Le dispense notano che la matrice di una rotazione ha sempre determinante 1. Ecco il conto, con la regola del ripasso: $$\begin{aligned} \det\mathrm{Rot}_\vartheta &= \cos\vartheta \cdot \cos\vartheta - (-\sin\vartheta) \cdot \sin\vartheta \\ &= \cos^2\vartheta + \sin^2\vartheta = 1. \end{aligned}$$ L'ultimo passaggio è la regola del ripasso su coseno e seno. Il risultato dice due cose. Una rotazione non ingrandisce e non rimpicciolisce le aree. E non ribalta le figure. > [!OLTRE] Comporre e invertire rotazioni > **Due rotazioni di fila.** Un quarto di giro seguito da un altro quarto di giro fa mezzo giro. Vale sempre: girare di un angolo e poi di un altro è come girare una volta sola, della somma dei due angoli. «Fare una macchina dopo l'altra» con le matrici vuol dire moltiplicarle (lezione L16). Chiamiamo i due angoli $\alpha$ («alfa») e $\beta$ («beta»): > $$\mathrm{Rot}_\alpha\,\mathrm{Rot}_\beta = \mathrm{Rot}_{\alpha + \beta}$$ > È la stessa regola della moltiplicazione dei numeri complessi di lunghezza 1 (lezione L03): gli angoli si sommano. > > **Tornare indietro.** Per disfare una rotazione si gira dello stesso angolo nel verso opposto. La matrice che disfa si chiama **inversa** (lezione L10). Per una rotazione l'inversa si ottiene scambiando le righe con le colonne, cioè facendo la **trasposta**: > $${}^t\mathrm{Rot}_\vartheta = \begin{pmatrix} \cos\vartheta & \sin\vartheta \\ -\sin\vartheta & \cos\vartheta \end{pmatrix} = \mathrm{Rot}_{-\vartheta}$$ > La piccola $t$ in alto a sinistra è il segno della trasposta. Tra poco vedrai che succede lo stesso per tutte le matrici ortogonali. Prova con lo strumento qui sotto. All'inizio c'è la matrice di una rotazione: quella con coseno $0{,}6$ e seno $0{,}8$. 1. Sposta il cursore «da I ad A». La griglia gira senza deformarsi. 2. Guarda il quadrato colorato. La sua area non cambia, perché il determinante è 1. 3. Lo strumento avvisa che non ci sono autovettori reali. Un autovettore è una direzione che la macchina non gira (lezione L17), e una rotazione gira tutte le direzioni. 4. Premi «rotazione di 90°» e poi «rotazione di 45°». 5. Premi «riflessione». Il quadrato cambia colore: vuol dire che la figura è stata ribaltata. Le riflessioni sono l'argomento della prossima sezione. ```widget matrice titolo: Rotazioni e riflessioni come trasformazioni del piano a: 0.6 -0.8; 0.8 0.6 x: 2 1 raggio: 3 ``` ::: prova Ruota il vettore $(2, 5)$ di un quarto di giro in senso antiorario. Scambia i due numeri e cambia segno al primo: $(2, 5)$ diventa $(-5, 2)$. Controllo: il prodotto scalare tra prima e dopo è $2 \cdot (-5) + 5 \cdot 2 = 0$, quindi i due vettori sono perpendicolari. ::: ::: prova Scrivi la matrice della rotazione di mezzo giro e applicala a $(1, 2)$. Per mezzo giro l'angolo è $\pi$: il coseno è $-1$ e il seno è $0$. La matrice è $\begin{pmatrix} -1 & 0 \\ 0 & -1 \end{pmatrix}$. Applicata a $(1, 2)$ dà $(-1, -2)$: il vettore opposto. ::: ::: prova Di quale angolo gira la matrice $\begin{pmatrix} \frac{\sqrt3}2 & -\frac12 \\ \frac12 & \frac{\sqrt3}2 \end{pmatrix}$? La prima colonna contiene coseno e seno dell'angolo: il coseno è $\frac{\sqrt3}2$ e il seno è $\frac12$. Nella tabella è la colonna di $\frac\pi6$, cioè 30 gradi. ::: > [!RICORDA] > - La rotazione di angolo $\vartheta$ ha nella prima colonna $(\cos\vartheta, \sin\vartheta)$ e nella seconda $(-\sin\vartheta, \cos\vartheta)$. > - Un quarto di giro: scambia i due numeri e cambia segno al primo. > - Il determinante di una rotazione è sempre 1. ## Specchiare il piano: le riflessioni (p. 111) Una riflessione è uno specchio: ogni punto finisce dall'altra parte di una retta, alla stessa distanza. La retta dello specchio passa per l'origine, perché l'origine deve restare ferma. I punti che stanno sulla retta non si muovono. Tutti gli altri attraversano lo specchio. ### Lo specchio più comodo: l'asse orizzontale Metti lo specchio sull'asse $x$, cioè sulla riga orizzontale. Un punto che sta sopra l'asse finisce sotto, alla stessa distanza. Il primo numero del punto, quello che dice quanto è a destra, non cambia. Il secondo numero, quello che dice quanto è in alto, cambia segno. $$(3, 2) \mapsto (3, -2)$$ Scriviamo la matrice. Come per le rotazioni, guardiamo dove vanno i due vettori della base canonica. - Il vettore $e_1 = (1, 0)$ sta sull'asse $x$, cioè sullo specchio. Non si muove. - Il vettore $e_2 = (0, 1)$ punta in su. Nello specchio punta in giù: diventa $(0, -1)$. Le due immagini vanno nelle colonne: $$\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$$ Altri due specchi si trovano con lo stesso ragionamento. Uno è l'asse $y$, cioè la riga verticale. L'altro è la retta $y = x$: è la retta dei punti che hanno i due numeri uguali, come $(1, 1)$ e $(2, 2)$. Sale in diagonale a 45 gradi e si chiama **bisettrice**. | Specchio | Dove va $e_1$ | Dove va $e_2$ | Matrice | Che cosa fa a un vettore | |---|---|---|---|---| | l'asse $x$ | $(1, 0)$ | $(0, -1)$ | $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$ | cambia segno al secondo numero | | la bisettrice $y = x$ | $(0, 1)$ | $(1, 0)$ | $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ | scambia i due numeri | | l'asse $y$ | $(-1, 0)$ | $(0, 1)$ | $\begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix}$ | cambia segno al primo numero | ### Uno specchio qualsiasi Ora lo specchio è una retta qualsiasi che passa per l'origine. Per dire quale retta è, si dà l'angolo che forma con l'asse $x$. Qui le dispense fanno una scelta che sorprende. L'angolo della retta non lo chiamano $\vartheta$: lo chiamano $\frac\vartheta2$, cioè «la metà di theta». Il motivo si capisce guardando dove va il vettore $e_1$. **Dove va il primo.** Il vettore $e_1$ sta all'angolo 0. Lo specchio sta all'angolo $\frac\vartheta2$. Lo specchio manda $e_1$ dall'altra parte della retta, alla stessa distanza. Da $e_1$ allo specchio c'è un angolo $\frac\vartheta2$, e dallo specchio all'immagine ce n'è un altro uguale. In tutto l'immagine sta all'angolo $\vartheta$. È il punto del cerchio di raggio 1 a quell'angolo: $$(\cos\vartheta,\ \sin\vartheta).$$ È la stessa prima colonna della rotazione. Ecco perché conviene chiamare $\frac\vartheta2$ l'angolo dello specchio: così nella matrice compare $\vartheta$ e non il suo doppio. **Dove va il secondo.** Uno specchio scambia il senso antiorario con quello orario: la tua mano destra, nello specchio, sembra una mano sinistra. Prima dello specchio $e_2$ sta un quarto di giro dopo $e_1$ in senso antiorario. Dopo lo specchio, la sua immagine sta un quarto di giro dopo l'immagine di $e_1$, ma in senso **orario**. Il quarto di giro in senso orario ha questa regola: scambia i due numeri, poi cambia segno al secondo. Applicata alla prima colonna dà $$(\sin\vartheta,\ -\cos\vartheta).$$ Controlliamo con i tre specchi della tabella. | Specchio | Angolo dello specchio | Il doppio, $\vartheta$ | Prima colonna | Seconda colonna | |---|---|---|---|---| | l'asse $x$ | $0$ | $0$ | $(\cos 0, \sin 0) = (1, 0)$ | $(\sin 0, -\cos 0) = (0, -1)$ | | la bisettrice | $\frac\pi4$ | $\frac\pi2$ | $(\cos\frac\pi2, \sin\frac\pi2) = (0, 1)$ | $(\sin\frac\pi2, -\cos\frac\pi2) = (1, 0)$ | | l'asse $y$ | $\frac\pi2$ | $\pi$ | $(\cos\pi, \sin\pi) = (-1, 0)$ | $(\sin\pi, -\cos\pi) = (0, 1)$ | Le colonne sono quelle trovate prima. Le dispense lo scrivono così. Nel loro testo $r$ è il nome della retta dello specchio: passa per l'origine e forma un angolo $\frac\vartheta2$ con l'asse $x$. > [!DEF] 22.3 · Riflessione > Una **riflessione** (ortogonale) rispetto alla retta $r$ è la trasformazione $L_A : \R^2 \to \R^2$ determinata dalla matrice $A = \mathrm{Rif}_\vartheta$, con > $$\mathrm{Rif}_\vartheta = \begin{pmatrix} \cos\vartheta & \sin\vartheta \\ \sin\vartheta & -\cos\vartheta \end{pmatrix}.$$ **Come si legge.** - $\mathrm{Rif}_\vartheta$ si legge «rif di theta». È il nome della matrice dello specchio. - «Ortogonale» vuol dire che ogni punto attraversa lo specchio lungo la direzione perpendicolare alla retta. - $L_A : \R^2 \to \R^2$ è, come prima, la macchina «moltiplica per $A$», che va dal piano al piano. - Rispetto alla matrice della rotazione cambia solo la seconda colonna: ha i due segni opposti. - L'angolo scritto nella matrice è $\vartheta$, ma lo specchio sta all'angolo $\frac\vartheta2$. Anche qui la matrice è stata costruita guardando due vettori soli. La proposizione che segue assicura che specchia nello stesso modo tutti gli altri. > [!PROP] 22.4 > La trasformazione $L_A$ è effettivamente una riflessione del piano rispetto a $r$. **Come si legge.** Qui $L_A$ è la macchina «moltiplica per la matrice della riflessione». La frase dice che la macchina specchia davvero ogni vettore del piano rispetto alla retta $r$. Il motivo è lo stesso delle rotazioni: la macchina è lineare, e ogni vettore è una ricetta fatta con $e_1$ ed $e_2$. Un controllo con i numeri, sulla bisettrice. La sua matrice scambia i due numeri di ogni vettore. - Il vettore $(1, 1)$ sta sulla bisettrice. Scambiando i due numeri resta $(1, 1)$: non si muove. - Il vettore $(1, -1)$ è perpendicolare alla bisettrice, perché $1 \cdot 1 + 1 \cdot (-1) = 0$. Scambiando i due numeri diventa $(-1, 1)$: il suo opposto. È il comportamento di uno specchio: fermo chi sta sulla retta, ribaltato chi sta di traverso. > [!DIM] della Proposizione 22.4 (dal libro di Martelli) > Anche questa dimostrazione viene dal libro di Martelli (Proposizione 4.4.17). Usa le coordinate polari, come quella della Proposizione 22.2. > > 1. Scriviamo un punto con la sua distanza $\varrho$ dall'origine e il suo angolo $\varphi$: $x = \varrho\cos\varphi$ e $y = \varrho\sin\varphi$. > 2. Moltiplichiamo la matrice della riflessione per questo punto, riga per colonna: > $$\mathrm{Rif}_\vartheta\begin{pmatrix} \varrho\cos\varphi \\ \varrho\sin\varphi \end{pmatrix} = \begin{pmatrix} \varrho(\cos\vartheta\cos\varphi + \sin\vartheta\sin\varphi) \\ \varrho(\sin\vartheta\cos\varphi - \cos\vartheta\sin\varphi) \end{pmatrix}.$$ > 3. Le due parentesi sono le formule di sottrazione del coseno e del seno. La prima è $\cos(\vartheta - \varphi)$, la seconda è $\sin(\vartheta - \varphi)$. Il risultato è > $$\begin{pmatrix} \varrho\cos(\vartheta - \varphi) \\ \varrho\sin(\vartheta - \varphi) \end{pmatrix}.$$ > 4. Il punto con angolo $\varphi$ va nel punto con angolo $\vartheta - \varphi$, alla stessa distanza dall'origine. La media dei due angoli è $\frac\vartheta2$, l'angolo della retta $r$. Quindi i due punti stanno uno da una parte e uno dall'altra di $r$, alla stessa distanza: sono simmetrici rispetto a $r$. > 5. I punti di $r$ hanno angolo $\varphi = \frac\vartheta2$. Vanno all'angolo $\vartheta - \frac\vartheta2 = \frac\vartheta2$, cioè restano fermi. ### Il determinante di una riflessione Le dispense notano che la matrice di una riflessione ha sempre determinante $-1$. Il conto, con la regola «diagonale meno l'altra diagonale»: $$\begin{aligned} \det\mathrm{Rif}_\vartheta &= \cos\vartheta \cdot (-\cos\vartheta) - \sin\vartheta \cdot \sin\vartheta \\ &= -\cos^2\vartheta - \sin^2\vartheta = -1. \end{aligned}$$ Il valore 1, senza badare al segno, dice che le aree non cambiano. Il segno meno dice che la figura viene ribaltata: un giro in senso antiorario diventa un giro in senso orario. Con una parola sola: la riflessione **inverte l'orientazione**. ### Lo specchio visto dalla sua retta C'è un modo di guardare uno specchio in cui la sua matrice diventa cortissima. Invece di descrivere i vettori con «passi a destra e passi in su», li descriviamo con «passi lungo lo specchio e passi di traverso». Servono due vettori. - Un vettore che sta sulla retta dello specchio. Lo specchio lo lascia fermo. - Un vettore perpendicolare allo specchio. Lo specchio lo manda dall'altra parte: diventa il suo opposto. Le dispense lo dicono in un'osservazione. > [!OSSERVAZIONE] La riflessione in una base comoda > Chiamiamo $s$ la retta perpendicolare a $r$: forma con l'asse $x$ un angolo $\frac\vartheta2 + \frac\pi2$. Prendiamo un vettore $v_1$ sulla retta $r$ e un vettore $v_2$ sulla retta $s$, e usiamo la base $\mathcal B = \{v_1, v_2\}$. La riflessione, che qui chiamiamo $f$, lascia fermo il primo vettore e manda il secondo nel suo opposto: > $$f(v_1) = v_1, \qquad f(v_2) = -v_2.$$ > Quindi la matrice associata alla riflessione rispetto alla base $\mathcal B$ è > $$\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}.$$ Due parole da ricordare. - La scrittura $\mathcal B = \{v_1, v_2\}$ si legge «la base B, fatta dai vettori vu uno e vu due». - La **matrice associata rispetto a una base** (lezione L15) ha nelle colonne le immagini dei vettori della base, scritte come ricette fatte con la base stessa. La prima colonna $(1, 0)$ dice: «il primo vettore va in 1 volta sé stesso». La seconda colonna $(0, -1)$ dice: «il secondo vettore va in $-1$ volte sé stesso». Con le parole della lezione L17: il primo vettore è un **autovettore** con autovalore 1, il secondo è un autovettore con autovalore $-1$. Un autovettore è un vettore che la macchina non gira: lo moltiplica soltanto per un numero, che si chiama autovalore. Una macchina con una base fatta di autovettori si chiama **diagonalizzabile**. Ogni riflessione lo è, e le sue due rette di autovettori sono perpendicolari. ### Un esempio completo L'esempio che segue trova la matrice di uno specchio in tre modi diversi. All'esame ne basta uno: scegli quello con cui ti trovi meglio. > [!ESEMPIO] La riflessione rispetto alla retta di $(2, 1)$, in tre modi > Lo specchio è la retta che passa per l'origine e per il punto $(2, 1)$. Con il simbolo della lezione L06 si scrive $r = \Span((2, 1))$: sono tutti i multipli del vettore $(2, 1)$. Un vettore perpendicolare allo specchio è $n = (-1, 2)$, perché $2 \cdot (-1) + 1 \cdot 2 = 0$. > > **1. Con l'angolo.** Nella matrice servono il coseno e il seno di $\vartheta$. Dal disegno però si leggono quelli della **metà**, perché la retta sta all'angolo $\frac\vartheta2$. > > - La lunghezza di $(2, 1)$ è $\sqrt{2^2 + 1^2} = \sqrt5$. > - Dividendo il vettore per la sua lunghezza si ottiene il punto della retta che sta sul cerchio di raggio 1. Le sue coordinate sono il coseno e il seno della metà dell'angolo: > $$\cos\tfrac\vartheta2 = \frac2{\sqrt5}, \qquad \sin\tfrac\vartheta2 = \frac1{\sqrt5}.$$ > - Dalla metà all'angolo intero si passa con le **formule dell'angolo doppio**, che si studiano a scuola. Il coseno del doppio è «coseno al quadrato meno seno al quadrato». Il seno del doppio è «due volte seno per coseno». > $$\cos\vartheta = \frac45 - \frac15 = \frac35, \qquad \sin\vartheta = 2 \cdot \frac1{\sqrt5} \cdot \frac2{\sqrt5} = \frac45.$$ > - Mettiamo i due numeri nella matrice della Definizione 22.3: > $$\mathrm{Rif}_\vartheta = \begin{pmatrix} \frac35 & \frac45 \\ \frac45 & -\frac35 \end{pmatrix}.$$ > > Controllo. Il vettore $(2, 1)$ sta sullo specchio e deve restare fermo: > $$\left(\tfrac35 \cdot 2 + \tfrac45 \cdot 1,\ \ \tfrac45 \cdot 2 - \tfrac35 \cdot 1\right) = \left(\tfrac{10}5,\ \tfrac55\right) = (2, 1).$$ > Il vettore $(-1, 2)$ è perpendicolare allo specchio e deve diventare il suo opposto: > $$\left(\tfrac35 \cdot (-1) + \tfrac45 \cdot 2,\ \ \tfrac45 \cdot (-1) - \tfrac35 \cdot 2\right) = \left(\tfrac55,\ -\tfrac{10}5\right) = (1, -2).$$ > > **2. Con la proiezione** (lezione L21). Guarda un vettore $v$ e la sua ombra sulla direzione di $n$, quella perpendicolare allo specchio. Se togli l'ombra una volta, arrivi sullo specchio. Se la togli **due volte**, arrivi dall'altra parte, alla stessa distanza: è l'immagine nello specchio. L'ombra si calcola con la formula della lezione L21, quindi la riflessione è > $$f(v) = v - 2\,\frac{\langle v, n\rangle}{\langle n, n\rangle}\,n.$$ > Qui $\langle n, n\rangle = (-1)^2 + 2^2 = 5$. Calcoliamo le immagini di $e_1$ ed $e_2$, che sono le colonne della matrice. > > - Per $e_1 = (1, 0)$ il prodotto scalare con $n$ è $1 \cdot (-1) + 0 \cdot 2 = -1$. Quindi > $$f(e_1) = (1, 0) - 2 \cdot \frac{-1}5 \cdot (-1, 2) = (1, 0) + \frac25\,(-1, 2) = \left(\frac35, \frac45\right).$$ > - Per $e_2 = (0, 1)$ il prodotto scalare con $n$ è $0 \cdot (-1) + 1 \cdot 2 = 2$. Quindi > $$f(e_2) = (0, 1) - 2 \cdot \frac25 \cdot (-1, 2) = (0, 1) - \frac45\,(-1, 2) = \left(\frac45, -\frac35\right).$$ > > Sono le due colonne trovate con il primo modo. > > **3. Con il cambiamento di base** (lezione L16). Nella base comoda, fatta da $(2, 1)$ e da $(-1, 2)$, la matrice dello specchio è $D = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$. Per tornare alle coordinate normali serve la matrice $M$ che ha nelle colonne i due vettori della base. Nella lezione L16 si scrive $[\id]^{\mathcal B}_{\mathcal C}$. La matrice cercata è il prodotto $M\,D\,M^{-1}$. > > - La matrice con i vettori della base nelle colonne è $M = \begin{pmatrix} 2 & -1 \\ 1 & 2 \end{pmatrix}$. > - Il suo determinante è $2 \cdot 2 - (-1) \cdot 1 = 5$. L'inversa di una matrice con due righe e due colonne si trova così (lezione L10): scambia i due numeri sulla diagonale, cambia segno agli altri due, dividi tutto per il determinante. > $$M^{-1} = \frac15\begin{pmatrix} 2 & 1 \\ -1 & 2 \end{pmatrix}$$ > - Primo prodotto. Moltiplicare a destra per $D$ cambia segno alla seconda colonna: > $$M\,D = \begin{pmatrix} 2 & -1 \\ 1 & 2 \end{pmatrix}\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} = \begin{pmatrix} 2 & 1 \\ 1 & -2 \end{pmatrix}$$ > - Secondo prodotto, riga per colonna: > $$\begin{pmatrix} 2 & 1 \\ 1 & -2 \end{pmatrix}\cdot\frac15\begin{pmatrix} 2 & 1 \\ -1 & 2 \end{pmatrix} = \frac15\begin{pmatrix} 4 - 1 & 2 + 2 \\ 2 + 2 & 1 - 4 \end{pmatrix} = \frac15\begin{pmatrix} 3 & 4 \\ 4 & -3 \end{pmatrix}.$$ > > È la stessa matrice, trovata per la terza volta. Guarda la figura. La retta $r$ è lo specchio. Il vettore $v = (1, 2)$ va nel vettore $f(v)$. Il segmento tratteggiato unisce le due punte ed è perpendicolare allo specchio. Il punto segnato a metà del segmento sta sullo specchio. È proprio questo che vuol dire «simmetrico rispetto a una retta». ```grafico titolo: La riflessione rispetto a $r = \Span((2, 1))$ manda $v = (1, 2)$ in $\left(\frac{11}5, -\frac25\right)$ x: -1.5 3 y: -1 2.5 retta: 0 0 2 1 | viola | $r$ | ne vettore: 1 2 | accento | spesso | $v$ | n vettore: 11/5 -2/5 | blu | spesso | $f(v)$ | se segmento: 1 2 11/5 -2/5 | grigio | tratteggio punto: 8/5 4/5 | ambra ``` Il conto della figura, con la matrice dell'esempio: $$\begin{pmatrix} \frac35 & \frac45 \\ \frac45 & -\frac35 \end{pmatrix}\begin{pmatrix} 1 \\ 2 \end{pmatrix} = \begin{pmatrix} \frac35 + \frac85 \\ \frac45 - \frac65 \end{pmatrix} = \begin{pmatrix} \frac{11}5 \\ -\frac25 \end{pmatrix}$$ > [!TRAPPOLA] L'angolo della retta è la metà > La matrice $\mathrm{Rif}_\vartheta$ specchia rispetto alla retta di angolo $\frac\vartheta2$, **non** $\vartheta$. Per esempio $\mathrm{Rif}_{\pi/2}$ è la matrice che scambia i due numeri. Il suo specchio è la bisettrice, che sta a 45 gradi, e non l'asse $y$, che sta a 90 gradi. > > Per non sbagliare c'è un modo sicuro: cerca i vettori che la matrice lascia fermi, cioè quelli con $Av = v$. Sono i vettori dello specchio. Con le parole della lezione L18 è l'autospazio dell'autovalore 1. ::: prova Rifletti il vettore $(3, 2)$ rispetto all'asse $y$. Lo specchio sull'asse $y$ cambia segno al primo numero: $(3, 2)$ diventa $(-3, 2)$. ::: ::: prova Quale specchio è la matrice $\mathrm{Rif}_\pi$? Il coseno di $\pi$ è $-1$ e il seno è $0$. La matrice è $\begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix}$. Lo specchio sta alla metà dell'angolo, cioè a $\frac\pi2$: è la retta verticale, l'asse $y$. Controllo: il vettore $(0, 1)$ resta fermo. ::: ::: prova Lo specchio è la retta di $(2, 1)$. Il punto $(4, 2)$ si muove? No. $(4, 2)$ è il doppio di $(2, 1)$, quindi sta sullo specchio. Controllo con la matrice dell'esempio: $\left(\frac{12}5 + \frac85,\ \frac{16}5 - \frac65\right) = \left(\frac{20}5, \frac{10}5\right) = (4, 2)$. ::: > [!RICORDA] > - La riflessione $\mathrm{Rif}_\vartheta$ ha nella prima colonna $(\cos\vartheta, \sin\vartheta)$ e nella seconda $(\sin\vartheta, -\cos\vartheta)$. > - Lo specchio è la retta di angolo $\frac\vartheta2$: la **metà** dell'angolo scritto nella matrice. > - I vettori sullo specchio restano fermi. Quelli perpendicolari allo specchio diventano il loro opposto. > - Il determinante di una riflessione è sempre $-1$. ## Che cosa vuol dire «non deformare», in generale (p. 112) Rotazioni e riflessioni non cambiano le lunghezze e gli angoli: lo abbiamo controllato su qualche esempio. > [!NOTA] Serve per capire, non per l'esame > Questa è la sezione più teorica della lezione. Spiega da dove viene la regola pratica della prossima sezione, quella delle colonne lunghe 1 e perpendicolari. Negli appelli dal 2023 al 2026 non c'è nessuna domanda sulla definizione generale di isometria. Se hai poco tempo, leggi l'esempio qui sotto e il riquadro «Da ricordare» in fondo. Finora «movimento rigido» è stata un'idea presa dalla vita di tutti i giorni. Per lavorarci serve una frase precisa, che si possa controllare con un conto. L'idea viene dalle lezioni L19 e L20. Lì hai visto che lunghezze, distanze e angoli si calcolano tutti a partire da una cosa sola: il prodotto scalare. Quindi una macchina che non cambia i prodotti scalari non cambia nessuna misura. > [!IDEA] > Un'isometria è una macchina che lascia uguali tutti i prodotti scalari. Il prodotto scalare di due vettori prima della macchina è uguale al prodotto scalare delle loro immagini dopo. ### Un controllo con i numeri > [!ESEMPIO] Una rotazione conserva il prodotto scalare > Prendiamo due vettori, $x = (1, 2)$ e $y = (3, -1)$, e il quarto di giro: scambia i due numeri e cambia segno al primo. > > 1. Prodotto scalare prima: $\langle x, y\rangle = 1 \cdot 3 + 2 \cdot (-1) = 3 - 2 = 1$. > 2. Le immagini: $x$ diventa $(-2, 1)$ e $y$ diventa $(1, 3)$. > 3. Prodotto scalare dopo: $\langle (-2, 1), (1, 3)\rangle = (-2) \cdot 1 + 1 \cdot 3 = -2 + 3 = 1$. > > Il numero è lo stesso: 1 prima, 1 dopo. > > Ecco invece due macchine che **non** sono isometrie, anche se si possono disfare. > > - La **dilatazione** $\begin{pmatrix} 2 & 0 \\ 0 & 1 \end{pmatrix}$ raddoppia il primo numero di ogni vettore. Manda $e_1$, che è lungo 1, in $(2, 0)$, che è lungo 2. > - Il **taglio** $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ inclina la griglia. Manda $e_2$, che è lungo 1, in $(1, 1)$, che è lungo $\sqrt{1 + 1} = \sqrt2$. ### Come lo scrivono le dispense La definizione delle dispense vale in un quadro più largo del piano. Parla di due spazi vettoriali qualsiasi, ognuno con il suo prodotto scalare. Nella lezione L19 hai visto che un prodotto scalare si può mettere anche su spazi che non sono fatti di frecce, come gli spazi di polinomi. > [!DEF] 22.5 · Isometria > Siano $V$ e $W$ due spazi vettoriali dotati ciascuno di un prodotto scalare. Un'**isometria** è un isomorfismo $T : V \to W$ tale che > $$\langle v, w\rangle = \langle T(v), T(w)\rangle \qquad \forall\, v, w \in V.$$ **Come si legge.** - $V$ e $W$ sono i due spazi: quello dei vettori che entrano e quello dei vettori che escono. Nel piano sono tutti e due $\R^2$. - $T : V \to W$ è la macchina. Si legge «ti, da $V$ a $W$». - Un **isomorfismo** è una macchina lineare che si può disfare (lezione L15): da ogni vettore in uscita si risale a un solo vettore in entrata. - A sinistra dell'uguale c'è il prodotto scalare di due vettori prima della macchina, calcolato nel primo spazio. A destra c'è il prodotto scalare delle loro immagini, calcolato nel secondo spazio. - $\forall\, v, w \in V$ si legge «per ogni $v$ e $w$ che appartengono a $V$». Il simbolo $\in$ si legge «appartiene a». L'uguaglianza deve valere per tutte le coppie di vettori, non solo per qualcuna. Le dispense riassumono: un'isometria è un isomorfismo che *preserva* il prodotto scalare. «Preservare» vuol dire «non cambiare». ### Basta controllare i vettori di una base La definizione chiede di controllare tutte le coppie di vettori, che sono infinite. Per fortuna bastano pochi controlli: quelli sui vettori di una base. Ricorda dalla lezione L07: una **base** è un gruppo di vettori che fanno da ingredienti. Con loro si costruisce ogni altro vettore, in un modo solo. Nel piano una base ha due vettori, per esempio $e_1$ ed $e_2$. Proviamo con il quarto di giro. Manda $e_1$ in $(0, 1)$ ed $e_2$ in $(-1, 0)$. Le coppie da controllare sono tre. | Coppia | Prodotto scalare prima | Prodotto scalare dopo | |---|---|---| | $e_1$ con $e_1$ | $1 \cdot 1 + 0 \cdot 0 = 1$ | $0 \cdot 0 + 1 \cdot 1 = 1$ | | $e_1$ con $e_2$ | $1 \cdot 0 + 0 \cdot 1 = 0$ | $0 \cdot (-1) + 1 \cdot 0 = 0$ | | $e_2$ con $e_2$ | $0 \cdot 0 + 1 \cdot 1 = 1$ | $(-1) \cdot (-1) + 0 \cdot 0 = 1$ | Tre controlli, tutti riusciti. La proposizione che segue dice che non ne servono altri. Le dispense fissano una base del primo spazio e la chiamano $\mathcal B = \{v_1, \dots, v_n\}$. Vuol dire: un elenco di vettori. Il primo si chiama $v_1$, l'ultimo $v_n$, e $n$ è quanti sono. > [!PROP] 22.6 > Un isomorfismo $T$ è un'isometria se e solo se > $$\langle v_i, v_j\rangle = \langle T(v_i), T(v_j)\rangle \qquad \forall\, i, j.$$ **Come si legge.** - $v_i$ e $v_j$ sono due vettori della base: quello di posto $i$ e quello di posto $j$. Le due lettere stanno per due numeri di posto qualsiasi, anche uguali. - $\forall\, i, j$ si legge «per ogni $i$ e $j$»: l'uguaglianza va controllata per ogni coppia di vettori della base. - «Se e solo se» vuol dire che le due frasi sono vere insieme oppure false insieme. Se la macchina è un'isometria, i controlli sulla base riescono. E se i controlli sulla base riescono, la macchina è un'isometria. Il motivo a parole. Ogni vettore è una ricetta fatta con i vettori della base. Il prodotto scalare rispetta le ricette: è la proprietà che nella lezione L19 si chiama bilinearità. Anche la macchina le rispetta, perché è lineare. Quindi il prodotto scalare di due vettori qualsiasi si ricava, con gli stessi conti, dai prodotti tra i vettori della base. Se quelli non cambiano, non cambia niente. > [!DIM] della Proposizione 22.6 (la spiegazione delle dispense, con i passaggi) > 1. **Un verso.** Se $T$ è un'isometria, l'uguaglianza vale per tutte le coppie di vettori. Quindi vale anche per i vettori della base. > 2. **L'altro verso.** Supponiamo che l'uguaglianza valga per i vettori della base. Prendiamo due vettori qualsiasi e scriviamoli come ricette fatte con la base: $v = \sum_i \lambda_iv_i$ e $w = \sum_j \mu_jv_j$. Il simbolo $\sum$ si legge «somma». I numeri $\lambda_i$ («lambda») e $\mu_j$ («mi») sono le quantità delle due ricette. > 3. Il prodotto scalare è bilineare (Proposizione 19.15). Quindi > $$\langle v, w\rangle = \sum_{i,j} \lambda_i\mu_j\,\langle v_i, v_j\rangle.$$ > 4. La macchina $T$ è lineare. Quindi $T(v) = \sum_i \lambda_iT(v_i)$ e $T(w) = \sum_j \mu_jT(v_j)$. Di nuovo per la bilinearità, > $$\langle T(v), T(w)\rangle = \sum_{i,j} \lambda_i\mu_j\,\langle T(v_i), T(v_j)\rangle.$$ > 5. Le due somme hanno davanti gli stessi numeri $\lambda_i\mu_j$. Se i prodotti tra i vettori della base sono uguali, sono uguali anche le due somme. ### Tre modi di dire la stessa cosa Con il prodotto scalare normale ci sono tre frasi che dicono la stessa cosa: «non cambia i prodotti scalari», «non cambia le lunghezze», «non cambia le distanze». Serve una condizione, che per il prodotto scalare normale vale sempre. Il prodotto scalare deve essere **definito positivo**: ogni vettore diverso da zero ha il prodotto scalare con sé stesso maggiore di zero (lezione L19). È la condizione che dà senso alle lunghezze. > [!PROP] 22.7 > Sia $T : V \to W$ un isomorfismo fra spazi dotati di un prodotto scalare definito positivo. I fatti seguenti sono equivalenti: > 1. $T$ è un'isometria, > 2. $T$ preserva la norma, cioè $\|T(v)\| = \|v\|$ $\forall\, v \in V$, > 3. $T$ preserva la distanza, cioè $d(v, w) = d(T(v), T(w))$ $\forall\, v, w \in V$. **Come si legge.** - «I fatti seguenti sono equivalenti» vuol dire: se ne vale uno, valgono tutti e tre. - La riga 2 dice: la lunghezza dell'immagine è uguale alla lunghezza del vettore di partenza, per ogni vettore. - Nella riga 3, $d(v, w)$ si legge «distanza tra $v$ e $w$». È la lunghezza della differenza dei due vettori. La riga dice: la distanza tra due vettori è uguale alla distanza tra le loro immagini. In pratica la proposizione si usa al contrario. Per mostrare che una macchina **non** è un'isometria basta trovare un solo vettore che cambia lunghezza. È quello che abbiamo fatto con la dilatazione e con il taglio. > [!DIM] della Proposizione 22.7 (dal libro di Martelli) > Le dispense non la dimostrano. Questi sono gli argomenti del libro di Martelli (Proposizione 8.2.1). > > 1. **Dal fatto 1 al fatto 2.** La norma al quadrato è il prodotto scalare di un vettore con sé stesso. Se $T$ conserva i prodotti scalari, > $$\|T(v)\|^2 = \langle T(v), T(v)\rangle = \langle v, v\rangle = \|v\|^2.$$ > 2. **Dal fatto 2 al fatto 3.** La distanza è la norma della differenza. La macchina è lineare, quindi $T(v) - T(w) = T(v - w)$. Allora > $$d(T(v), T(w)) = \|T(v) - T(w)\| = \|T(v - w)\| = \|v - w\| = d(v, w).$$ > 3. **Dal fatto 3 al fatto 2.** La norma di un vettore è la sua distanza dal vettore zero, e $T(0) = 0$. Allora > $$\|v\| = d(0, v) = d(T(0), T(v)) = d(0, T(v)) = \|T(v)\|.$$ > 4. **Dal fatto 2 al fatto 1.** Il prodotto scalare si ricostruisce dalle norme, con la formula di polarizzazione della lezione L20: > $$\langle v, w\rangle = \frac{\|v + w\|^2 - \|v\|^2 - \|w\|^2}{2}.$$ > Se $T$ conserva le norme, i tre pezzi a destra non cambiano quando al posto di $v$ e $w$ si mettono $T(v)$ e $T(w)$. Per il primo pezzo si usa $\|v + w\| = \|T(v + w)\| = \|T(v) + T(w)\|$. Quindi $\langle v, w\rangle = \langle T(v), T(w)\rangle$. ### La stessa condizione scritta con le matrici L'ultimo passo traduce la definizione in un conto con le matrici. È il passo che porta alla regola pratica della prossima sezione. Servono due cose delle lezioni passate. - Un prodotto scalare si descrive con una tabella: la matrice che contiene i prodotti scalari tra i vettori di una base (lezione L19). - Una macchina lineare si descrive con la sua matrice, una volta scelte le basi (lezione L15). Le dispense danno un nome a ogni oggetto. I due spazi si chiamano $V$ e $V'$ («vu primo»). I loro prodotti scalari si chiamano $g$ e $g'$. Le loro basi si chiamano $\mathcal B$ e $\mathcal B'$. La macchina è un isomorfismo $T$ dal primo spazio al secondo. Le tre matrici sono queste: $$S = [g]_{\mathcal B}, \qquad S' = [g']_{\mathcal B'}, \qquad A = [T]^{\mathcal B}_{\mathcal B'}$$ - $S$ è la tabella dei prodotti scalari tra i vettori della prima base. - $S'$ è la tabella dei prodotti scalari tra i vettori della seconda base. - $A$ è la matrice della macchina. Nelle sue colonne ci sono le immagini dei vettori della prima base, scritte come ricette fatte con la seconda. > [!PROP] 22.8 > L'isomorfismo $T$ è un'isometria se e solo se > $$S = {}^tA\,S'\,A.$$ **Come si legge.** La scrittura ${}^tA$ è la trasposta della matrice $A$: la stessa tabella, con le righe scambiate con le colonne (lezione L08). La formula dice di moltiplicare tre matrici in quest'ordine: la trasposta di $A$, poi $S'$, poi $A$. Se il risultato è uguale a $S$, la macchina è un'isometria. Se è diverso, non lo è. Il motivo a parole. Il prodotto delle tre matrici calcola in un colpo solo tutti i prodotti scalari tra le immagini dei vettori della base. La matrice $S$ contiene tutti i prodotti scalari tra i vettori della base. Dire che le due tabelle sono uguali è ripetere la Proposizione 22.6, con le matrici. > [!DIM] della Proposizione 22.8 (la spiegazione delle dispense, con i passaggi) > 1. Per la Proposizione 22.6 basta controllare i vettori della base. > 2. Le dispense chiamano $A^i$ la colonna numero $i$ della matrice $A$. Qui il numerino in alto non è una potenza: è il numero della colonna. Questa colonna contiene le coordinate di $T(v_i)$ nella seconda base: $A^i = [T(v_i)]_{\mathcal B'}$. > 3. Il numero di posto $(i, j)$ della matrice ${}^tA\,S'\,A$ si calcola con la colonna $i$ e la colonna $j$ di $A$. Per il Corollario 19.16 è il prodotto scalare delle due immagini: > $$({}^tA\,S'\,A)_{ij} = {}^t(A^i)\,S'\,A^j = g'(T(v_i), T(v_j)).$$ > 4. Il numero di posto $(i, j)$ della matrice $S$ è $S_{ij} = g(v_i, v_j)$. > 5. Due matrici sono uguali quando hanno gli stessi numeri in tutti i posti. Qui succede quando $g(v_i, v_j) = g'(T(v_i), T(v_j))$ per ogni $i$ e $j$. È la condizione della Proposizione 22.6. ::: prova La macchina che raddoppia tutto, cioè $(x, y) \mapsto (2x, 2y)$, è un'isometria? No. Manda $e_1 = (1, 0)$, che è lungo 1, in $(2, 0)$, che è lungo 2. Basta un vettore che cambia lunghezza. ::: ::: prova Il mezzo giro manda $(x, y)$ in $(-x, -y)$. Controlla che non cambia il prodotto scalare di $(1, 2)$ e $(3, -1)$. Prima: $1 \cdot 3 + 2 \cdot (-1) = 1$. Le immagini sono $(-1, -2)$ e $(-3, 1)$. Dopo: $(-1) \cdot (-3) + (-2) \cdot 1 = 3 - 2 = 1$. Stesso numero. ::: > [!RICORDA] > - Un'**isometria** è una macchina lineare che si può disfare e che non cambia i prodotti scalari. > - Con il prodotto scalare normale è lo stesso che dire: non cambia le lunghezze, oppure non cambia le distanze. > - Basta controllare i vettori di una base. > - Per dire che una macchina non è un'isometria basta un vettore che cambia lunghezza. ## Le matrici ortogonali (p. 113) Torniamo al piano e allo spazio di tutti i giorni, con il prodotto scalare normale. La domanda di questa sezione è pratica. Hai davanti una tabella di numeri: come capisci se è la matrice di un movimento rigido? ### La regola delle colonne La risposta viene dall'idea usata fin dall'inizio: le colonne della matrice sono le immagini dei vettori della base canonica. I vettori della base canonica hanno due qualità. Sono lunghi 1. E sono perpendicolari tra loro. Un movimento rigido non cambia le lunghezze e non cambia gli angoli retti. Quindi anche le immagini, cioè le colonne della matrice, devono essere lunghe 1 e perpendicolari tra loro. Vale anche il contrario. Se le colonne sono lunghe 1 e perpendicolari tra loro, la matrice è un movimento rigido. È quello che dice la Proposizione 22.6: basta controllare i vettori di una base. > [!IDEA] > Una matrice è un movimento rigido esattamente quando le sue colonne sono lunghe 1 e perpendicolari tra loro. Proviamo con una matrice. $$A = \begin{pmatrix} \frac35 & -\frac45 \\ \frac45 & \frac35 \end{pmatrix}$$ La prima colonna è $\left(\frac35, \frac45\right)$. La seconda è $\left(-\frac45, \frac35\right)$. I controlli da fare sono tre. | Controllo | Conto | Risultato | |---|---|---| | lunghezza della prima colonna | $\sqrt{\frac9{25} + \frac{16}{25}} = \sqrt{\frac{25}{25}}$ | $1$ | | lunghezza della seconda colonna | $\sqrt{\frac{16}{25} + \frac9{25}} = \sqrt{\frac{25}{25}}$ | $1$ | | prodotto scalare tra le due colonne | $\frac35 \cdot \left(-\frac45\right) + \frac45 \cdot \frac35 = -\frac{12}{25} + \frac{12}{25}$ | $0$ | I tre controlli riescono: la matrice è un movimento rigido. ### Lo stesso controllo in una formula Le dispense scrivono i tre controlli in una formula sola. Per leggerla servono due cose della lezione L08. > [!RIPASSO] la trasposta e la matrice identità (lezione L08) > La **trasposta** di una matrice è la stessa tabella con le righe scambiate con le colonne. La prima riga diventa la prima colonna, la seconda riga diventa la seconda colonna. Si scrive con una piccola $t$ in alto a sinistra. > $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \qquad\qquad {}^tA = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix}$$ > La **matrice identità** ha 1 sulla diagonale e 0 in tutti gli altri posti. Moltiplicare per lei non cambia niente. Si scrive $I_n$, dove $n$ è il numero delle righe, che è uguale al numero delle colonne. > $$I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \qquad\qquad I_3 = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$$ Ora prendiamo la matrice di prima e moltiplichiamo la sua trasposta per lei. Le righe della trasposta sono le colonne della matrice. Quindi, nel prodotto riga per colonna, ogni conto è il prodotto scalare tra due colonne. $$\begin{pmatrix} \frac35 & \frac45 \\ -\frac45 & \frac35 \end{pmatrix}\begin{pmatrix} \frac35 & -\frac45 \\ \frac45 & \frac35 \end{pmatrix} = \begin{pmatrix} \frac9{25} + \frac{16}{25} & -\frac{12}{25} + \frac{12}{25} \\ -\frac{12}{25} + \frac{12}{25} & \frac{16}{25} + \frac9{25} \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$$ Guarda dove sono finiti i tre controlli. - In alto a sinistra c'è la prima colonna per sé stessa: è la sua lunghezza al quadrato, e vale 1. - In basso a destra c'è la seconda colonna per sé stessa: vale 1. - Negli altri due posti c'è la prima colonna per la seconda: vale 0. Il risultato è la matrice identità. Quindi «colonne lunghe 1 e perpendicolari» e «trasposta per matrice uguale identità» sono la stessa frase. Le dispense arrivano alla formula partendo dalla Proposizione 22.8. Con il prodotto scalare normale e la base canonica, la tabella dei prodotti scalari è la matrice identità. La condizione di quella proposizione diventa $I_n = {}^tA\,I_n\,A$, e moltiplicare per l'identità non cambia niente. > [!COROLLARIO] 22.9 > L'endomorfismo $L_A$ è un'isometria $\iff {}^tA\,A = I_n$. **Come si legge.** Un **endomorfismo** è una macchina lineare che va da uno spazio allo stesso spazio. Qui è la macchina «moltiplica per $A$», che va da $\R^n$ a $\R^n$. La doppia freccia $\iff$ si legge «esattamente quando». Tutta la frase: la macchina è un'isometria esattamente quando la trasposta di $A$ moltiplicata per $A$ dà la matrice identità. Le matrici che superano questo controllo hanno un nome. > [!DEF] 22.10 · Matrice ortogonale > Una matrice $A \in M(n)$ a coefficienti reali tale che ${}^tA\,A = I_n$ è detta **ortogonale**. **Come si legge.** - $A \in M(n)$ si legge «$A$ appartiene a emme di enne». Vuol dire: è una matrice quadrata, con $n$ righe e $n$ colonne. - «A coefficienti reali» vuol dire che i numeri nella tabella sono numeri reali. - La condizione è quella del corollario: trasposta per matrice uguale identità. Quindi «matrice ortogonale» e «matrice di un movimento rigido» sono la stessa cosa. Con una matrice grande il discorso non cambia. Il numero che sta nella riga $i$ e nella colonna $j$ del prodotto è il prodotto scalare tra la colonna $i$ e la colonna $j$ della matrice. Le dispense chiamano $A^i$ la colonna numero $i$: il numerino in alto qui non è una potenza. La condizione diventa $${}^tA\,A = I_n \quad\text{esattamente quando}\quad \langle A^i, A^j\rangle = \begin{cases} 1 & \text{se } i = j, \\ 0 & \text{se } i \neq j. \end{cases}$$ A parole: ogni colonna ha prodotto scalare 1 con sé stessa, cioè è lunga 1. E ha prodotto scalare 0 con ogni altra colonna, cioè è perpendicolare alle altre. Un gruppo di vettori fatto così si chiama **base ortonormale** (lezione L21): «orto» sta per perpendicolari, «normale» sta per lunghi 1. > [!OLTRE] Quattro proprietà delle matrici ortogonali > Dalla condizione ${}^tA\,A = I_n$ si ricavano quattro fatti (Martelli, §8.2.2). > > **L'inversa è la trasposta.** L'inversa di una matrice è quella che, moltiplicata per lei, dà l'identità (lezione L10). Qui la trasposta fa proprio questo. Quindi > $$A^{-1} = {}^tA.$$ > Per disfare un movimento rigido basta scambiare le righe con le colonne. Vale anche $A\,{}^tA = I_n$: quindi pure le **righe** sono lunghe 1 e perpendicolari tra loro. > > **Il determinante è 1 oppure $-1$.** Il determinante di un prodotto è il prodotto dei determinanti (Teorema di Binet, lezione L10). La trasposta ha lo stesso determinante della matrice. Quindi > $$(\det A)^2 = \det({}^tA) \cdot \det A = \det I_n = 1.$$ > I soli numeri reali che al quadrato danno 1 sono $1$ e $-1$. > > **Gli autovalori reali possono essere solo 1 e $-1$.** Supponi che la matrice moltiplichi un vettore $v$ per un numero $\lambda$ («lambda»). La lunghezza del vettore viene moltiplicata per $\lambda$ senza il segno, che si scrive $|\lambda|$. Ma un movimento rigido non cambia le lunghezze: > $$\|v\| = \|Av\| = |\lambda| \cdot \|v\|.$$ > Quindi $|\lambda| = 1$. > > **Il prodotto di due matrici ortogonali è ortogonale.** Un movimento rigido dopo l'altro dà ancora un movimento rigido. Il conto usa la regola «la trasposta di un prodotto è il prodotto delle trasposte, in ordine inverso»: > $${}^t(AB)\,(AB) = {}^tB\,({}^tA\,A)\,B = {}^tB\,B = I_n.$$ > [!ESEMPIO] Ortogonale o no? > **Prima matrice.** $\frac15\begin{pmatrix} 3 & -4 \\ 4 & 3 \end{pmatrix}$. Il numero $\frac15$ davanti moltiplica tutti e quattro i numeri: è la matrice controllata sopra. Le colonne sono lunghe 1 e perpendicolari. **È ortogonale.** È la rotazione con coseno $\frac35$ e seno $\frac45$. > > **Seconda matrice.** $\begin{pmatrix} 1 & 1 \\ -1 & 1 \end{pmatrix}$. Le colonne sono $(1, -1)$ e $(1, 1)$. > > - Prodotto scalare tra le colonne: $1 \cdot 1 + (-1) \cdot 1 = 0$. Sono perpendicolari. > - Lunghezza della prima colonna: $\sqrt{1 + 1} = \sqrt2$. Non è 1. > > **Non è ortogonale.** Gira il piano di un ottavo di giro in senso orario, ma in più lo ingrandisce: moltiplica tutte le lunghezze per $\sqrt2$. > > **Terza matrice.** $\frac13\begin{pmatrix} 1 & 2 & 2 \\ 2 & 1 & -2 \\ 2 & -2 & 1 \end{pmatrix}$. Ha tre colonne: $\frac13(1, 2, 2)$, poi $\frac13(2, 1, -2)$, poi $\frac13(2, -2, 1)$. I controlli sono sei: tre lunghezze e tre prodotti scalari. > > - Lunghezze. In ogni colonna i quadrati dei tre numeri tra parentesi sono 1, 4 e 4, in qualche ordine. Quindi ogni colonna è lunga $\frac13\sqrt{1 + 4 + 4} = \frac13\sqrt9 = 1$. > - Prima colonna con seconda: $\frac19\,(2 + 2 - 4) = 0$. > - Prima colonna con terza: $\frac19\,(2 - 4 + 2) = 0$. > - Seconda colonna con terza: $\frac19\,(4 - 2 - 2) = 0$. > > **È ortogonale.** Il suo determinante è $-1$. > [!TRAPPOLA] Due condizioni che non bastano > **Colonne perpendicolari non bastano.** Devono essere anche lunghe 1, come mostra la seconda matrice dell'esempio. Il nome «matrice ortogonale» inganna, perché fa pensare solo alla perpendicolarità. > > **Determinante 1 o $-1$ non basta.** La matrice $\begin{pmatrix} 0 & 2 \\ \frac12 & 0 \end{pmatrix}$ ha determinante $0 \cdot 0 - 2 \cdot \frac12 = -1$. Ma le sue colonne sono lunghe $\frac12$ e $2$, quindi non è ortogonale. Ogni matrice ortogonale ha determinante 1 o $-1$. Il contrario non vale. ::: prova La matrice $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ è ortogonale? Sì. Le colonne sono $(0, 1)$ e $(1, 0)$, tutte e due lunghe 1. Il loro prodotto scalare è $0 \cdot 1 + 1 \cdot 0 = 0$. ::: ::: prova La matrice $\begin{pmatrix} 1 & 0 \\ 0 & 2 \end{pmatrix}$ è ortogonale? No. Le colonne sono perpendicolari, ma la seconda è $(0, 2)$, che è lunga 2. ::: ::: prova Scrivi l'inversa di $\frac15\begin{pmatrix} 3 & -4 \\ 4 & 3 \end{pmatrix}$ senza fare conti. La matrice è ortogonale, quindi l'inversa è la trasposta. Scambio le righe con le colonne: $\frac15\begin{pmatrix} 3 & 4 \\ -4 & 3 \end{pmatrix}$. ::: > [!RICORDA] > - Una matrice è **ortogonale** quando la sua trasposta, moltiplicata per lei, dà l'identità. È la matrice di un movimento rigido. > - In pratica: le colonne sono lunghe 1 e perpendicolari tra loro. > - L'inversa di una matrice ortogonale è la sua trasposta. Il suo determinante è 1 oppure $-1$. > - Colonne solo perpendicolari, o solo il determinante giusto, non bastano. ## Tutti i movimenti rigidi del piano (p. 113) Rotazioni e riflessioni sono movimenti rigidi del piano: ce ne sono altri? La risposta è no, e si capisce con un disegno. Per il Corollario 22.9, cercare tutti i movimenti rigidi del piano è lo stesso che cercare tutte le matrici ortogonali con due righe e due colonne. Proviamo a costruirne una, una colonna alla volta. **La prima colonna.** Deve essere un vettore lungo 1. I vettori lunghi 1 sono i punti del cerchio di raggio 1. Ogni punto di quel cerchio si scrive con il coseno e il seno del suo angolo. Quindi la prima colonna è $$(\cos\vartheta,\ \sin\vartheta)$$ per un certo angolo $\vartheta$. **La seconda colonna.** Deve essere perpendicolare alla prima, e lunga 1 anche lei. I vettori perpendicolari alla prima colonna stanno tutti su una retta. Su quella retta i vettori lunghi 1 sono soltanto due, uno l'opposto dell'altro: $$(-\sin\vartheta,\ \cos\vartheta) \qquad\text{oppure}\qquad (\sin\vartheta,\ -\cos\vartheta).$$ Con il primo viene la matrice della rotazione. Con il secondo viene la matrice della riflessione. Altre scelte non ce ne sono. Guarda la figura. La prima colonna è il vettore con la scritta «prima colonna», che arriva sul cerchio. La retta tratteggiata è perpendicolare a lui. Su quella retta i vettori lunghi 1 sono due. Quello con la scritta «rotazione» dà una rotazione. Quello opposto, con la scritta «riflessione», dà una riflessione. ```grafico titolo: La prima colonna è un punto del cerchio di raggio 1. Per la seconda restano due sole scelte, una opposta all'altra x: -1.6 1.6 y: -1.3 1.3 cerchio: 0 0 1 | grigio retta: -1/2 sqrt(3)/2 1/2 -sqrt(3)/2 | grigio | tratteggio | sottile vettore: sqrt(3)/2 1/2 | accento | spesso | "prima colonna" | e vettore: -1/2 sqrt(3)/2 | blu | spesso | "rotazione" | no vettore: 1/2 -sqrt(3)/2 | ambra | spesso | "riflessione" | se ``` Le dispense lo scrivono così. > [!PROP] 22.11 > Le matrici ortogonali in $M(2)$ sono le seguenti: > $$\mathrm{Rot}_\vartheta = \begin{pmatrix} \cos\vartheta & -\sin\vartheta \\ \sin\vartheta & \cos\vartheta \end{pmatrix},$$ > $$\mathrm{Rif}_\vartheta = \begin{pmatrix} \cos\vartheta & \sin\vartheta \\ \sin\vartheta & -\cos\vartheta \end{pmatrix}$$ > al variare di $\vartheta \in [0, 2\pi)$. **Come si legge.** - $M(2)$ si legge «emme di due»: sono le matrici con due righe e due colonne. - «Al variare di $\vartheta \in [0, 2\pi)$» vuol dire: per ogni angolo da 0 a un giro intero. La parentesi quadra dice che lo 0 è compreso. La tonda dice che il giro intero è escluso: riporta al punto di partenza, quindi è un doppione dell'angolo 0. - La proposizione dice che l'elenco è completo. Ogni matrice ortogonale del piano è una rotazione oppure una riflessione. > [!DIM] della Proposizione 22.11 (la dimostrazione delle dispense, con i passaggi) > 1. Le colonne $A^1$ e $A^2$ di una matrice ortogonale $A$ formano una base ortonormale del piano: sono lunghe 1 e perpendicolari. > 2. $A^1$ è lungo 1, quindi sta sul cerchio di raggio 1. Si scrive $A^1 = (\cos\vartheta, \sin\vartheta)$ per un solo angolo $\vartheta$ tra 0 e un giro intero. > 3. $A^2$ è perpendicolare ad $A^1$. Per l'Esempio 21.1 sta sulla retta $\Span((-\sin\vartheta, \cos\vartheta))$. > 4. $A^2$ è anche lungo 1. Su quella retta i vettori lunghi 1 sono solo due, e differiscono per il segno: $A^2 = (-\sin\vartheta, \cos\vartheta)$ oppure $A^2 = (\sin\vartheta, -\cos\vartheta)$. > 5. Con la prima scelta viene $\mathrm{Rot}_\vartheta$. Con la seconda viene $\mathrm{Rif}_\vartheta$. > 6. Viceversa, queste due matrici sono ortogonali. Le colonne sono lunghe 1 perché $\cos^2\vartheta + \sin^2\vartheta = 1$. Sono perpendicolari perché nel prodotto scalare i due pezzi sono $\cos\vartheta\sin\vartheta$ con segni opposti, e si cancellano. > [!COROLLARIO] 22.12 > Le isometrie di $\R^2$ sono rotazioni e riflessioni. **Come si legge.** Un corollario è una conseguenza diretta di quello che si è appena mostrato. Le «isometrie di $\R^2$» sono i movimenti rigidi del piano che tengono ferma l'origine. La frase dice che sono tutti rotazioni o riflessioni: un terzo tipo non esiste. Per sapere quale dei due tipi hai davanti basta il determinante: **vale 1 per una rotazione e $-1$ per una riflessione**. > [!METODO] Riconoscere un movimento rigido del piano > 1. Controlla che la matrice sia ortogonale: colonne lunghe 1 e perpendicolari tra loro. Se non lo è, fermati: non è un'isometria. > 2. Calcola il determinante: diagonale meno l'altra diagonale. > 3. Se il determinante è 1, è una **rotazione**. Leggi l'angolo nella prima colonna: il numero in alto è il coseno, quello in basso è il seno. Cerca l'angolo nella tabella. > 4. Se il determinante è $-1$, è una **riflessione**. Per trovare lo specchio cerca i vettori che restano fermi: risolvi $Av = v$, cioè $(A - I)v = 0$. > 5. In alternativa, per la riflessione: leggi l'angolo nella prima colonna come al passo 3. Lo specchio sta alla metà di quell'angolo. > [!ESEMPIO] Due matrici da riconoscere > **La matrice $A = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}$.** > > 1. Le colonne sono $(0, -1)$ e $(1, 0)$. Sono lunghe 1. Il loro prodotto scalare è $0 \cdot 1 + (-1) \cdot 0 = 0$. La matrice è ortogonale. > 2. Determinante: $0 \cdot 0 - 1 \cdot (-1) = 1$. È una rotazione. > 3. Nella prima colonna il coseno è $0$ e il seno è $-1$. Nella tabella è l'angolo $\frac{3\pi}2$: tre quarti di giro in senso antiorario. È lo stesso che un quarto di giro in senso **orario**. > > Controllo: la matrice manda $e_1$ nella prima colonna, $(0, -1)$. Il vettore che puntava a destra ora punta in giù: un quarto di giro in senso orario. > > **La matrice $B = \begin{pmatrix} -1 & 0 \\ 0 & 1 \end{pmatrix}$.** > > 1. Le colonne sono $(-1, 0)$ e $(0, 1)$: lunghe 1 e perpendicolari. La matrice è ortogonale. > 2. Determinante: $(-1) \cdot 1 - 0 \cdot 0 = -1$. È una riflessione. > 3. Nella prima colonna il coseno è $-1$ e il seno è $0$: l'angolo è $\pi$. Lo specchio sta alla metà, cioè a $\frac\pi2$: è l'asse $y$. > > Controllo: la matrice manda $(0, 1)$, che sta sull'asse $y$, in $(0, 1)$. Resta fermo. > [!ESAME] L'insieme delle matrici ortogonali non è un sottospazio > L'insieme di tutte le matrici ortogonali con due righe e due colonne si scrive $O(2)$, «o di due». Sta dentro lo spazio $M(2, \R)$ di tutte le matrici reali con due righe e due colonne. Ma **non è un sottospazio**. Ricorda dalla lezione L06: un sottospazio contiene lo zero, e sommando due suoi elementi non si esce. > > - La matrice fatta di soli zeri non è ortogonale: le sue colonne sono lunghe 0, non 1. > - La somma di due matrici ortogonali di solito non è ortogonale. Per esempio $I_2 + I_2$ ha le colonne lunghe 2. > > Per la Proposizione 22.11 questo insieme è fatto di due famiglie di matrici, le rotazioni e le riflessioni. In ognuna la matrice dipende da un angolo. Un appello ci ha costruito sopra una domanda: la trovi risolta in «Verso l'esame». ::: prova Che movimento è la matrice $\begin{pmatrix} -1 & 0 \\ 0 & -1 \end{pmatrix}$? Le colonne sono $(-1, 0)$ e $(0, -1)$: lunghe 1 e perpendicolari. Il determinante è $(-1) \cdot (-1) - 0 \cdot 0 = 1$: è una rotazione. Nella prima colonna il coseno è $-1$ e il seno è $0$: l'angolo è $\pi$, mezzo giro. ::: ::: prova Una matrice ortogonale del piano ha determinante $-1$. Può essere una rotazione? No. Le rotazioni hanno tutte determinante 1. Con determinante $-1$ è una riflessione. ::: > [!RICORDA] > - Le matrici ortogonali del piano sono solo di due tipi: rotazioni e riflessioni. > - Determinante 1: rotazione. Determinante $-1$: riflessione. > - L'angolo si legge nella prima colonna: coseno in alto, seno in basso. > - L'insieme delle matrici ortogonali non è un sottospazio. ## I movimenti rigidi dello spazio (p. 113) Nello spazio non si gira intorno a un punto: si gira intorno a una retta, come una porta sui cardini o un mappamondo sul suo perno. > [!NOTA] Serve per capire, non per l'esame > Negli appelli dal 2023 al 2026 non ci sono domande sulle isometrie dello spazio. Se hai poco tempo, di questa sezione leggi solo il riquadro «Da ricordare» in fondo. La retta intorno a cui si gira si chiama **asse** della rotazione. I punti dell'asse restano fermi. Tutti gli altri girano intorno all'asse, ognuno alla sua altezza. ### Girare intorno all'asse verticale Nello spazio i vettori sono liste di tre numeri, $(x, y, z)$: quanto a destra, quanto in avanti, quanto in alto. La base canonica ha tre vettori: $$e_1 = (1, 0, 0), \qquad e_2 = (0, 1, 0), \qquad e_3 = (0, 0, 1).$$ Il terzo punta verso l'alto. L'**asse $z$** è la retta verticale che passa per l'origine. Giriamo lo spazio di un angolo $\vartheta$ intorno all'asse $z$. Il pavimento, cioè il piano dei punti ad altezza zero, gira come girava il piano nelle sezioni precedenti. L'altezza di ogni punto non cambia. La matrice ha tre righe e tre colonne: $$\begin{pmatrix} \cos\vartheta & -\sin\vartheta & 0 \\ \sin\vartheta & \cos\vartheta & 0 \\ 0 & 0 & 1 \end{pmatrix}$$ Leggila per colonne. Le prime due colonne dicono dove vanno $e_1$ ed $e_2$: girano sul pavimento, come nel piano. La terza colonna dice dove va $e_3$: resta fermo, perché sta sull'asse. Un esempio con un quarto di giro, dove il coseno è 0 e il seno è 1. $$\begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} 1 \\ 2 \\ 5 \end{pmatrix} = \begin{pmatrix} 0 \cdot 1 - 1 \cdot 2 + 0 \cdot 5 \\ 1 \cdot 1 + 0 \cdot 2 + 0 \cdot 5 \\ 0 \cdot 1 + 0 \cdot 2 + 1 \cdot 5 \end{pmatrix} = \begin{pmatrix} -2 \\ 1 \\ 5 \end{pmatrix}$$ I primi due numeri hanno fatto un quarto di giro: da $(1, 2)$ a $(-2, 1)$. Il terzo numero, l'altezza 5, è rimasto com'era. ### Girare e poi specchiare C'è un secondo tipo di movimento rigido dello spazio. Si fa in due tempi: prima si gira intorno a un asse, poi si specchia rispetto al piano perpendicolare all'asse. Si chiama **antirotazione**. Con l'asse $z$, il piano perpendicolare all'asse è il pavimento. Specchiare rispetto al pavimento vuol dire mandare ogni punto sotto il pavimento, alla stessa distanza: l'altezza cambia segno. Nella matrice cambia solo l'ultimo numero: $$\begin{pmatrix} \cos\vartheta & -\sin\vartheta & 0 \\ \sin\vartheta & \cos\vartheta & 0 \\ 0 & 0 & -1 \end{pmatrix}$$ Con un quarto di giro, il vettore $(1, 2, 5)$ diventa $(-2, 1, -5)$. Anche qui il determinante distingue i due tipi. Nella terza riga c'è un solo numero diverso da zero, l'ultimo. Con lo sviluppo di Laplace lungo quella riga (lezione L09) il determinante è quel numero, moltiplicato per il determinante della tabella in alto a sinistra. Quella tabella è una rotazione del piano, che ha determinante 1. Quindi la prima matrice ha determinante $1$ e la seconda ha determinante $-1$. ### Che cosa dice il teorema Le dispense chiamano $r$ la retta dell'asse e $U$ il piano perpendicolare. Scrivono $U = r^\perp$. Il simbolo $r^\perp$ si legge «erre perpendicolare»: è l'insieme di tutti i vettori perpendicolari alla retta (lezione L21). Per una retta dello spazio è un piano. Se la retta è verticale, è il pavimento. > [!TEOREMA] 22.13 > Ogni isometria di $\R^3$ è una rotazione o un'antirotazione. Qui, un'antirotazione $T : \R^3 \to \R^3$ è la composizione di una rotazione intorno ad un asse $r$ e di una riflessione rispetto al piano $U = r^\perp$. **Come si legge.** - Un'«isometria di $\R^3$» è un movimento rigido dello spazio che tiene ferma l'origine. - «Composizione» vuol dire «una macchina dopo l'altra»: prima la rotazione, poi lo specchio. - L'asse può essere una retta qualsiasi che passa per l'origine, non solo l'asse $z$. - Il teorema dice che l'elenco è completo, come nel piano: un terzo tipo non esiste. Le dispense non lo dimostrano. Dicono solo che si fa «con un po' più lavoro, ma in modo simile» al caso del piano. Alcune rotazioni e antirotazioni hanno un aspetto familiare (Martelli, §8.2.5–8.2.6). | Tipo | Angolo | Che cosa fa | |---|---|---| | rotazione | $0$ | niente: è l'identità | | rotazione | $\pi$ | mezzo giro intorno all'asse: è la riflessione rispetto alla retta $r$ | | antirotazione | $0$ | solo lo specchio: è la riflessione rispetto al piano $U$ | | antirotazione | $\pi$ | manda ogni vettore nel suo opposto: è la matrice $-I_3$, la riflessione rispetto all'origine | > [!OLTRE] Riconoscere asse e angolo > Il libro di Martelli (p. 261) dà una ricetta per una matrice ortogonale $A$ con tre righe e tre colonne. > > 1. Calcola il determinante. Se è 1 è una rotazione, se è $-1$ è un'antirotazione. > 2. Calcola la **traccia**, cioè la somma dei tre numeri sulla diagonale. Si scrive $\operatorname{tr}A$. > 3. Il coseno dell'angolo viene da questa formula: > $$\cos\vartheta = \frac{\operatorname{tr}A - \det A}{2}$$ > 4. Trova l'asse. Per una rotazione è fatto dai vettori che restano fermi. Per un'antirotazione è fatto dai vettori che diventano il loro opposto. Questo vale quando l'angolo non è $0$ e non è $\pi$. > > **Un esempio.** La matrice $A = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}$ ha come colonne $e_2$, poi $e_3$, poi $e_1$. Quindi manda $e_1$ in $e_2$, manda $e_2$ in $e_3$ e manda $e_3$ in $e_1$. > > - È ortogonale: le colonne sono i vettori della base canonica, in un altro ordine. > - Il determinante è 1: è una rotazione. > - La traccia è $0 + 0 + 0 = 0$. Il coseno dell'angolo è $\frac{0 - 1}2 = -\frac12$. L'angolo è $\frac{2\pi}3$: un terzo di giro. > - L'asse. La matrice sposta i tre numeri di un vettore di un posto. Il vettore $(1, 1, 1)$ ha i tre numeri uguali, quindi resta fermo. L'asse è la retta $\Span((1, 1, 1))$. > > Controllo: tre terzi di giro fanno un giro intero. Infatti, applicando la matrice tre volte, ogni vettore torna al suo posto. > > **Perché il teorema è vero**, in breve (Martelli, Teorema 8.2.13). Una matrice con tre righe e tre colonne ha sempre almeno un autovalore reale, perché un polinomio di grado 3 ha sempre una radice reale. Per una matrice ortogonale questo autovalore è 1 oppure $-1$. Il suo autovettore dà la direzione dell'asse. Il piano perpendicolare all'asse viene mandato in sé stesso, e lì la matrice si comporta come un movimento rigido del piano: una rotazione o una riflessione. Mettendo insieme i casi escono le rotazioni e le antirotazioni. ::: prova Dove va il vettore $(1, 0, 4)$ con un quarto di giro intorno all'asse $z$? I primi due numeri fanno un quarto di giro: $(1, 0)$ diventa $(0, 1)$. Il terzo non cambia. Il risultato è $(0, 1, 4)$. ::: ::: prova La macchina $(x, y, z) \mapsto (x, y, -z)$ cambia segno solo al terzo numero. È una rotazione o un'antirotazione? È lo specchio rispetto al pavimento. La sua matrice ha sulla diagonale $1$, $1$ e $-1$, e zeri altrove: il determinante è $1 \cdot 1 \cdot (-1) = -1$. È un'antirotazione: quella con angolo 0. ::: > [!RICORDA] > - Nello spazio si gira intorno a una retta, l'**asse**. I punti dell'asse restano fermi. > - Un'**antirotazione** è una rotazione seguita dallo specchio rispetto al piano perpendicolare all'asse. > - Ogni movimento rigido dello spazio che tiene ferma l'origine è una rotazione (determinante 1) o un'antirotazione (determinante $-1$). ## Il prodotto vettoriale: come si calcola (p. 114) Nello spazio capita di continuo di cercare un vettore perpendicolare a due vettori dati. Pensa a un tavolo. Sul piano del tavolo scegli due direzioni: una verso destra e una in avanti. La direzione perpendicolare a tutte e due è quella verticale, che esce dal tavolo. Con i numeri: i vettori $(1, 0, 0)$ e $(0, 1, 0)$ stanno sul piano del tavolo, e il vettore $(0, 0, 1)$, che punta in alto, è perpendicolare a tutti e due. Nelle lezioni L23 e L24, e nei problemi d'esame, un vettore perpendicolare a due vettori serve per due cose: - trovare la direzione perpendicolare a un piano, quando del piano conosci due direzioni; - trovare la direzione della retta in cui si tagliano due piani. Quando i due vettori sono messi comodi, come sul tavolo, il vettore perpendicolare si vede a occhio. Di solito non è così. Per esempio: qual è un vettore perpendicolare sia a $(1, 2, 3)$ sia a $(4, 5, 6)$? Un modo è risolvere un sistema con due equazioni, come nella lezione L21. Ma c'è una ricetta diretta, che dà subito la risposta. Si chiama **prodotto vettoriale**. ### La ricetta, con i numeri Scrivi i due vettori in colonna, uno accanto all'altro. Viene una tabella con tre righe e due colonne. $$\begin{pmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{pmatrix}$$ Il risultato è un vettore di tre numeri. Ogni numero si trova **coprendo una riga** della tabella e facendo un conto con i quattro numeri che restano. Il conto è quello del determinante: «diagonale meno l'altra diagonale». | Numero del risultato | Riga da coprire | Che cosa resta | Conto | Segno | Viene | |---|---|---|---|---|---| | il primo | la prima | $\begin{pmatrix} 2 & 5 \\ 3 & 6 \end{pmatrix}$ | $2 \cdot 6 - 5 \cdot 3 = -3$ | resta com'è | $-3$ | | il secondo | la seconda | $\begin{pmatrix} 1 & 4 \\ 3 & 6 \end{pmatrix}$ | $1 \cdot 6 - 4 \cdot 3 = -6$ | **si cambia** | $6$ | | il terzo | la terza | $\begin{pmatrix} 1 & 4 \\ 2 & 5 \end{pmatrix}$ | $1 \cdot 5 - 4 \cdot 2 = -3$ | resta com'è | $-3$ | Il risultato è il vettore $(-3, 6, -3)$. Il punto delicato è uno solo: nel secondo numero, dopo il conto, bisogna **cambiare il segno**. Controlliamo che il risultato sia perpendicolare ai due vettori di partenza. Il prodotto scalare deve fare zero tutte e due le volte. $$\langle (-3, 6, -3), (1, 2, 3)\rangle = -3 + 12 - 9 = 0$$ $$\langle (-3, 6, -3), (4, 5, 6)\rangle = -12 + 30 - 18 = 0$$ Funziona. Questo controllo va fatto sempre: costa pochi secondi e trova quasi tutti gli errori di conto. ### Il nome, il simbolo, la formula Il vettore costruito con questa ricetta è il **prodotto vettoriale** dei due vettori. Si scrive con una crocetta: $v \times w$. Si legge «$v$ vettoriale $w$». Tre avvisi sul simbolo. - La crocetta qui non è la moltiplicazione tra numeri. - Il risultato è un **vettore**. Il prodotto scalare invece dà un numero. Sono due operazioni diverse. - Il prodotto vettoriale esiste **solo nello spazio**, cioè per vettori fatti di tre numeri. Le dispense scrivono la ricetta con le lettere. I tre numeri del primo vettore si chiamano $v_1$, $v_2$, $v_3$: il numerino in basso dice il posto. I tre numeri del secondo vettore si chiamano $w_1$, $w_2$, $w_3$. > [!DEF] 22.14 · Prodotto vettoriale > Consideriamo due vettori $v, w \in \R^3$: > $$v = \begin{pmatrix} v_1 \\ v_2 \\ v_3 \end{pmatrix}, \qquad w = \begin{pmatrix} w_1 \\ w_2 \\ w_3 \end{pmatrix}.$$ > Il **prodotto vettoriale** fra $v$ e $w$ è il vettore > $$v \times w = \begin{pmatrix} v_2w_3 - v_3w_2 \\ v_3w_1 - v_1w_3 \\ v_1w_2 - v_2w_1 \end{pmatrix}.$$ **Come si legge.** - $v, w \in \R^3$ si legge «$v$ e $w$ appartengono a erre tre». Vuol dire: sono due vettori dello spazio. - Due lettere attaccate si moltiplicano. Per esempio $v_2w_3$ è «il secondo numero di $v$ per il terzo numero di $w$». - La prima riga del risultato usa solo i numeri di posto 2 e 3. È il conto che si fa coprendo la prima riga della tabella. - La seconda riga usa i posti 3 e 1. La terza riga usa i posti 1 e 2. - Per ricordare l'ordine pensa ai posti messi in cerchio: dopo l'1 viene il 2, dopo il 2 viene il 3, dopo il 3 torna l'1. Ogni riga comincia dal posto che viene dopo il suo: la riga 1 comincia con $v_2$, la riga 2 con $v_3$, la riga 3 con $v_1$. ### La stessa ricetta con le parole delle dispense Le dispense descrivono così la ricetta «copri una riga». Chiamano $A$ la tabella che ha i due vettori in colonna: $$A = \begin{pmatrix} v_1 & w_1 \\ v_2 & w_2 \\ v_3 & w_3 \end{pmatrix}$$ Cancellando una riga resta una tabella più piccola, con due righe e due colonne. Si chiama **minore**. Le dispense chiamano $d_i$ il determinante del minore che resta cancellando la riga numero $i$. Quindi $d_1$ è il conto fatto coprendo la prima riga, $d_2$ quello fatto coprendo la seconda, $d_3$ quello fatto coprendo la terza. Con questi nomi la ricetta diventa $$v \times w = \begin{pmatrix} d_1 \\ -d_2 \\ d_3 \end{pmatrix}.$$ Il segno meno davanti a $d_2$ è il «cambia segno» del secondo numero. Le dispense danno anche una regola per chi ha in mente lo sviluppo di Laplace della lezione L09. Si scrive una tabella con tre righe e tre colonne. Nelle prime due colonne vanno i due vettori. Nella terza vanno i simboli $e_1$, $e_2$, $e_3$ dei vettori della base canonica dello spazio. Poi si calcola il determinante sviluppando lungo la terza colonna, con i segni più, meno, più: $$\begin{aligned} v \times w &= \det\begin{pmatrix} v_1 & w_1 & e_1 \\ v_2 & w_2 & e_2 \\ v_3 & w_3 & e_3 \end{pmatrix} \\ &= \det\begin{pmatrix} v_2 & w_2 \\ v_3 & w_3 \end{pmatrix}e_1 - \det\begin{pmatrix} v_1 & w_1 \\ v_3 & w_3 \end{pmatrix}e_2 + \det\begin{pmatrix} v_1 & w_1 \\ v_2 & w_2 \end{pmatrix}e_3. \end{aligned}$$ Il numero davanti a $e_1$ è il primo numero del risultato. Quello davanti a $e_2$ è il secondo, quello davanti a $e_3$ è il terzo. Sono di nuovo i tre conti della ricetta, con il segno meno al secondo. Le dispense avvertono che questa è solo una regola mnemonica, cioè un aiuto per la memoria. Quella tabella non è una vera matrice, perché nella terza colonna non ci sono numeri ma vettori. > [!ESEMPIO] Calcolare $(1, 2, 3) \times (4, 5, 6)$ > È il conto fatto sopra, riscritto con la formula della Definizione 22.14. Qui $v = (1, 2, 3)$ e $w = (4, 5, 6)$. Quindi $v_1 = 1$, $v_2 = 2$, $v_3 = 3$ e $w_1 = 4$, $w_2 = 5$, $w_3 = 6$. > > - Primo numero: $v_2w_3 - v_3w_2 = 2 \cdot 6 - 3 \cdot 5 = 12 - 15 = -3$. > - Secondo numero: $v_3w_1 - v_1w_3 = 3 \cdot 4 - 1 \cdot 6 = 12 - 6 = 6$. > - Terzo numero: $v_1w_2 - v_2w_1 = 1 \cdot 5 - 2 \cdot 4 = 5 - 8 = -3$. > > Quindi $v \times w = (-3, 6, -3)$. > > Con i minori viene lo stesso risultato. > > - $d_1 = 2 \cdot 6 - 5 \cdot 3 = -3$. > - $d_2 = 1 \cdot 6 - 4 \cdot 3 = -6$. > - $d_3 = 1 \cdot 5 - 4 \cdot 2 = -3$. > > Il risultato è $(d_1, -d_2, d_3) = (-3, 6, -3)$. > > Controllo: il prodotto scalare con $v$ è $-3 + 12 - 9 = 0$. Quello con $w$ è $-12 + 30 - 18 = 0$. > [!ESEMPIO] La base canonica > I tre vettori della base canonica dello spazio sono legati da tre prodotti vettoriali (Martelli, Esempio 9.1.1): > $$e_1 \times e_2 = e_3, \qquad e_2 \times e_3 = e_1, \qquad e_3 \times e_1 = e_2.$$ > Il primo è il tavolo dell'inizio: da «destra» e «avanti» esce «in alto». Il conto, con $e_1 = (1, 0, 0)$ ed $e_2 = (0, 1, 0)$: > > - primo numero: $0 \cdot 0 - 0 \cdot 1 = 0$; > - secondo numero: $0 \cdot 0 - 1 \cdot 0 = 0$; > - terzo numero: $1 \cdot 1 - 0 \cdot 0 = 1$. > > Il risultato è $(0, 0, 1)$, cioè $e_3$. > > Se scambi l'ordine dei due vettori, il risultato cambia segno: $e_2 \times e_1 = -e_3$. ::: prova Calcola $(1, 1, 0) \times (0, 1, 1)$ e controlla il risultato. La tabella con i due vettori in colonna ha le righe $(1, 0)$, $(1, 1)$ e $(0, 1)$. Copro la prima riga: $1 \cdot 1 - 1 \cdot 0 = 1$. Copro la seconda riga: $1 \cdot 1 - 0 \cdot 0 = 1$. Cambio il segno: $-1$. Copro la terza riga: $1 \cdot 1 - 0 \cdot 1 = 1$. Il risultato è $(1, -1, 1)$. Controllo: con $(1, 1, 0)$ viene $1 - 1 + 0 = 0$. Con $(0, 1, 1)$ viene $0 - 1 + 1 = 0$. ::: ::: prova Calcola $(2, 0, 0) \times (0, 3, 0)$. La tabella ha le righe $(2, 0)$, $(0, 3)$ e $(0, 0)$. Copro la prima riga: $0 \cdot 0 - 3 \cdot 0 = 0$. Copro la seconda riga: $2 \cdot 0 - 0 \cdot 0 = 0$. Cambiando il segno resta $0$. Copro la terza riga: $2 \cdot 3 - 0 \cdot 0 = 6$. Il risultato è $(0, 0, 6)$: punta in alto, come nel caso del tavolo. ::: > [!RICORDA] > - Il **prodotto vettoriale** di due vettori dello spazio è un vettore perpendicolare a tutti e due. Esiste solo per vettori fatti di tre numeri. > - La ricetta: metti i due vettori in colonna, copri una riga alla volta e fai «diagonale meno l'altra diagonale». Al secondo numero cambia il segno. > - Controlla sempre: il risultato deve avere prodotto scalare zero con tutti e due i vettori. ## Tre garanzie sul prodotto vettoriale (pp. 114–115) Il prodotto vettoriale ha tre proprietà che lo rendono utile, e le dispense le dimostrano una per una. ### È perpendicolare ai due vettori Nell'esempio di prima il controllo con il prodotto scalare è riuscito. La prima proposizione dice che riesce sempre. > [!PROP] 22.15 > Il vettore $v \times w$ è ortogonale sia a $v$ che a $w$. **Come si legge.** «Ortogonale» vuol dire perpendicolare. La frase dice due cose: il prodotto scalare di $v \times w$ con $v$ è zero, e anche quello con $w$ è zero. Vale per qualunque coppia di vettori dello spazio. Il perché in una frase: quel prodotto scalare è il determinante di una tabella con due colonne uguali, e un determinante così vale sempre zero (lezione L10). > [!DIM] della Proposizione 22.15 (la dimostrazione delle dispense, con i passaggi) > 1. Per fare il prodotto scalare con $v$ si moltiplicano i tre numeri di $v \times w$ per $v_1$, $v_2$, $v_3$ e si somma. I tre numeri di $v \times w$ sono i determinanti della regola mnemonica, con i segni più, meno, più: > $$\begin{aligned} \langle v \times w, v\rangle &= \det\begin{pmatrix} v_2 & w_2 \\ v_3 & w_3 \end{pmatrix}v_1 - \det\begin{pmatrix} v_1 & w_1 \\ v_3 & w_3 \end{pmatrix}v_2 \\ &\quad + \det\begin{pmatrix} v_1 & w_1 \\ v_2 & w_2 \end{pmatrix}v_3. \end{aligned}$$ > 2. Questa espressione è uno sviluppo di Laplace lungo l'ultima colonna. È il determinante della tabella della regola mnemonica, con $v_1$, $v_2$, $v_3$ al posto di $e_1$, $e_2$, $e_3$: > $$\langle v \times w, v\rangle = \det\begin{pmatrix} v_1 & w_1 & v_1 \\ v_2 & w_2 & v_2 \\ v_3 & w_3 & v_3 \end{pmatrix}.$$ > 3. Questa matrice ha due colonne uguali: la prima e la terza. Un determinante con due colonne uguali vale zero. Quindi $\langle v \times w, v\rangle = 0$. > 4. Per $w$ si rifà lo stesso conto, con $w_1$, $w_2$, $w_3$ nella terza colonna. Questa volta sono uguali la seconda e la terza colonna, e il determinante vale di nuovo zero. Quindi $\langle v \times w, w\rangle = 0$. ### È zero quando i due vettori sono sulla stessa retta Proviamo la ricetta con due vettori che stanno sulla stessa retta: $(1, 2, 3)$ e il suo doppio $(2, 4, 6)$. | Riga coperta | Conto | Viene | |---|---|---| | la prima | $2 \cdot 6 - 4 \cdot 3 = 12 - 12$ | $0$ | | la seconda | $1 \cdot 6 - 2 \cdot 3 = 6 - 6$, poi si cambia il segno | $0$ | | la terza | $1 \cdot 4 - 2 \cdot 2 = 4 - 4$ | $0$ | Viene il vettore fatto di soli zeri. Ha senso: due vettori sulla stessa retta non riempiono un piano, quindi non c'è una sola direzione perpendicolare da scegliere. Ricorda dalla lezione L07. Due vettori sono **dipendenti** quando uno è un multiplo dell'altro, cioè quando stanno sulla stessa retta per l'origine. Se non è così sono **indipendenti**. > [!PROP] 22.16 > Il vettore $v \times w$ è nullo $\iff$ $v$ e $w$ sono dipendenti. **Come si legge.** «Nullo» vuol dire «fatto di soli zeri». La doppia freccia $\iff$ si legge «esattamente quando». La frase vale nei due versi. Se i due vettori sono dipendenti, il prodotto vettoriale è zero. E se il prodotto vettoriale è zero, i due vettori sono dipendenti. In pratica è un test veloce: per sapere se due vettori dello spazio sono paralleli, calcola il loro prodotto vettoriale e guarda se viene zero. Nelle domande d'esame sulla distanza tra due rette si controlla così che le due direzioni non siano parallele. > [!DIM] della Proposizione 22.16 (la dimostrazione delle dispense, con i passaggi) > Le dispense scrivono una catena di tre «esattamente quando». Usano i minori $d_1$, $d_2$, $d_3$ della tabella $A$ che ha i due vettori in colonna. > > 1. $v \times w$ è nullo esattamente quando $d_1 = d_2 = d_3 = 0$. È la formula $v \times w = (d_1, -d_2, d_3)$. > 2. $d_1 = d_2 = d_3 = 0$ esattamente quando il rango di $A$ è al massimo 1. Il **rango**, che si scrive $\rk A$, è il numero di colonne indipendenti (lezione L08). Le dispense non scrivono il motivo, che è questo. Se il rango è al massimo 1, le due colonne sono una multiplo dell'altra, oppure una è fatta di zeri. Lo stesso vale dentro ogni minore, quindi ogni determinante $d_i$ è zero. Se invece il rango è 2, anche tra le righe ce ne sono due indipendenti (Proposizione 8.6). Il minore fatto con quelle due righe ha determinante diverso da zero. > 3. Il rango di $A$ è al massimo 1 esattamente quando $v$ e $w$ sono dipendenti. Infatti le colonne di $A$ sono proprio $v$ e $w$. ### Con i due vettori forma una base Torna al tavolo. «Destra», «avanti» e «in alto» sono tre direzioni con cui si raggiunge ogni punto dello spazio. Succede con ogni coppia di vettori indipendenti: insieme al loro prodotto vettoriale formano una base dello spazio. Ricorda dalla lezione L07: una **base** dello spazio è fatta di tre vettori indipendenti. Vuol dire che nessuno dei tre si ottiene mescolando gli altri due. > [!COROLLARIO] 22.17 > Se $v$ e $w$ sono indipendenti, la terna $v, w, v \times w$ è una base di $\R^3$. **Come si legge.** Una «terna» è un gruppo di tre cose. La frase dice: se i due vettori non sono uno multiplo dell'altro, allora loro due e il loro prodotto vettoriale formano una base dello spazio. Il perché a parole. I primi due vettori riempiono un piano. Il terzo è perpendicolare a quel piano e non è zero, quindi esce dal piano. Per questo non si può ottenere mescolando i primi due. > [!DIM] del Corollario 22.17 (le dispense non la riportano) > Tre vettori dello spazio formano una base quando sono indipendenti. Vuol dire: l'unica ricetta che dà il vettore zero è quella con tutte le quantità uguali a zero. > > 1. Supponiamo che una ricetta dia zero: $a\,v + b\,w + c\,(v \times w) = 0$, con tre numeri $a$, $b$, $c$. > 2. Facciamo il prodotto scalare di tutti e due i lati con $v \times w$. Per la Proposizione 22.15 i pezzi con $v$ e con $w$ danno zero. Resta $c\,\|v \times w\|^2 = 0$. > 3. Per la Proposizione 22.16 il vettore $v \times w$ non è nullo, quindi la sua lunghezza non è zero. Allora $c = 0$. > 4. La ricetta diventa $a\,v + b\,w = 0$. I vettori $v$ e $w$ sono indipendenti, quindi $a = 0$ e $b = 0$. > 5. Tutte e tre le quantità sono zero. I tre vettori sono indipendenti, quindi formano una base. ### Da che parte punta: la mano destra Il prodotto vettoriale è perpendicolare ai due vettori. Ma una retta perpendicolare a un piano si può percorrere in due versi: in su oppure in giù. Quale dei due sceglie il prodotto vettoriale? Lo dice la **regola della mano destra**. Apri la mano destra con il palmo verso l'alto e tieni pollice, indice e medio come tre assi. 1. Punta il pollice lungo il primo vettore. 2. Punta l'indice lungo il secondo vettore. 3. Alza il medio, perpendicolare agli altri due: indica il verso del prodotto vettoriale. Con il tavolo: il pollice va a destra, l'indice in avanti, e il medio punta in alto. Se scambi i due vettori, il medio punta dalla parte opposta. Per questo, scambiando l'ordine, il risultato cambia segno. > [!OLTRE] Altre proprietà utili (tornano nella lezione L23) > Nella tabella $\lambda$ («lambda») è un numero e $v'$ è un altro vettore dello spazio. > > | Proprietà | Con i simboli | A parole | > |---|---|---| > | anticommutativo | $w \times v = -(v \times w)$ | scambiando i due vettori il risultato cambia segno | > | un vettore con sé stesso | $v \times v = 0$ | è una conseguenza della riga sopra | > | bilineare | $(v + v') \times w = v \times w + v' \times w$ e $(\lambda v) \times w = \lambda\,(v \times w)$ | rispetta somme e multipli; vale anche per il secondo vettore | > | non associativo | $(e_1 \times e_2) \times e_2 = -e_1$, mentre $e_1 \times (e_2 \times e_2) = 0$ | le parentesi non si possono spostare | > | lunghezza | $\lVert v \times w \rVert$ è un'area | è l'area del parallelogramma che ha per lati i due vettori | > > **Dà l'equazione di un piano.** Prendi un piano che passa per l'origine ed è fatto da tutte le ricette di due vettori indipendenti. I suoi punti sono quelli perpendicolari al prodotto vettoriale dei due vettori. Quindi i tre numeri del prodotto vettoriale sono i coefficienti dell'equazione del piano (Martelli, Esempio 9.1.10). Un esempio: > $$(1, 0, 2) \times (0, 1, 1) = (-2, -1, 1)$$ > Il piano $\Span((1, 0, 2), (0, 1, 1))$ ha equazione $-2x - y + z = 0$. Prova con lo strumento qui sotto. I due vettori di partenza lì si chiamano $u$ e $v$. 1. Trascina il disegno per girarlo. Il prodotto vettoriale esce dritto dal parallelogramma che ha per lati i due vettori. 2. Leggi le righe sotto il disegno: c'è il conto dei tre numeri, e ci sono i due prodotti scalari di controllo, che valgono zero. 3. Scambia i due vettori: nella casella di $u$ scrivi `1 2 0`, in quella di $v$ scrivi `2 0 0`. Il prodotto vettoriale ora punta dalla parte opposta. 4. Rimetti `2 0 0` nella casella di $u$ e scrivi `4 0 0` in quella di $v$. I due vettori sono paralleli e il prodotto vettoriale diventa zero, come dice la Proposizione 22.16. ```widget spazio titolo: Il prodotto vettoriale nello spazio modo: vettoriale u: 2 0 0 v: 1 2 0 ``` > [!OLTRE] Dove trovarlo nel libro > Martelli: §4.4.8 «Rotazioni nel piano» e §4.4.9 «Riflessioni ortogonali nel piano» (pp. 143–144), §4.4.11 sulle rotazioni intorno all'asse $z$ (p. 145); §7.5 «Isometrie» (pp. 227–229), con il Lemma 7.5.5 e la Proposizione 7.5.8; §8.2 «Isometrie» (pp. 253–261): definizioni equivalenti, matrici ortogonali, riflessioni, isometrie del piano, rotazioni e antirotazioni, isometrie dello spazio; §9.1 «Prodotto vettoriale» (pp. 267–272). ::: prova Senza fare conti: quanto fa $(1, 2, 3) \times (3, 6, 9)$? $(3, 6, 9)$ è il triplo di $(1, 2, 3)$, quindi i due vettori sono dipendenti. Per la Proposizione 22.16 il prodotto vettoriale è il vettore $(0, 0, 0)$. ::: ::: prova Sai che $e_1 \times e_2 = e_3$. Quanto fa $e_2 \times e_1$? Scambiando i due vettori il risultato cambia segno: viene $-e_3$, cioè $(0, 0, -1)$. ::: ::: prova I vettori $(1, 1, 0)$, $(0, 1, 1)$ e $(1, -1, 1)$ formano una base dello spazio? Sì. I primi due non sono uno multiplo dell'altro. Il terzo è il loro prodotto vettoriale: lo hai calcolato nel «Prova tu» della sezione precedente. Per il Corollario 22.17 i tre vettori formano una base. ::: > [!RICORDA] > - Il prodotto vettoriale è sempre perpendicolare ai due vettori di partenza. > - È il vettore di soli zeri esattamente quando i due vettori sono uno multiplo dell'altro. > - Se i due vettori sono indipendenti, insieme al loro prodotto vettoriale formano una base dello spazio. > - Scambiando i due vettori il risultato cambia segno. Il verso si trova con la mano destra. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\R^2$, $\R^3$, $\R^n$ | «erre due», «erre tre», «erre enne» | le liste di 2, di 3, di $n$ numeri reali: il piano, lo spazio, il caso con $n$ numeri | $(3, 2)$ sta in $\R^2$ | | $\in$ | «appartiene a» | sta dentro l'insieme | $v \in \R^3$ | | $e_1$, $e_2$, $e_3$ | «e uno», «e due», «e tre» | i vettori della base canonica: un passo lungo ogni asse | nel piano $e_2 = (0, 1)$ | | $\langle v, w\rangle$ | «prodotto scalare di $v$ e $w$» | il numero che viene moltiplicando posto per posto e sommando | $\langle (1, 2), (3, -1)\rangle = 1$ | | $\lVert v \rVert$ | «norma di $v$» | la lunghezza del vettore | $\lVert (3, 4) \rVert = 5$ | | $d(v, w)$ | «distanza tra $v$ e $w$» | la lunghezza della differenza dei due vettori | $d((3, 4), (0, 0)) = 5$ | | $\vartheta$, $\alpha$, $\beta$, $\varphi$ | «theta», «alfa», «beta», «fi» | lettere greche usate per gli angoli | $\vartheta = \frac\pi2$ | | $\varrho$ | «ro» | lettera greca usata per una distanza dall'origine | | | $\lambda$, $\mu$ | «lambda», «mi» | lettere greche usate per dei numeri | | | $\pi$ | «pi greco» | negli angoli vuol dire mezzo giro | $2\pi$ è un giro intero | | $\cos\vartheta$, $\sin\vartheta$ | «coseno di theta», «seno di theta» | le due coordinate del punto del cerchio di raggio 1 all'angolo $\vartheta$ | $\cos\frac\pi2 = 0$, $\sin\frac\pi2 = 1$ | | $\cos^2\vartheta$ | «coseno al quadrato di theta» | il coseno moltiplicato per sé stesso | $\cos^2\vartheta + \sin^2\vartheta = 1$ | | $L_A$ | «elle con $A$» | la macchina «moltiplica per la matrice $A$» | | | $T : V \to W$ | «ti, da $V$ a $W$» | una macchina che prende vettori di $V$ e restituisce vettori di $W$ | $L_A : \R^2 \to \R^2$ | | $\mapsto$ | «va in» | dice dove finisce un vettore | $(1, 2) \mapsto (-2, 1)$ | | $\mathrm{Rot}_\vartheta$ | «rot di theta» | la matrice della rotazione di angolo $\vartheta$ | $\mathrm{Rot}_{\pi/2} = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ | | $\mathrm{Rif}_\vartheta$ | «rif di theta» | la matrice della riflessione rispetto alla retta di angolo $\frac\vartheta2$ | $\mathrm{Rif}_{\pi/2} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ | | $\det A$ | «determinante di $A$» | per due righe e due colonne: diagonale meno l'altra diagonale | $\det\begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix} = 6$ | | $\pm 1$ | «più o meno uno» | il numero $1$ oppure il numero $-1$ | $\det A = \pm 1$ | | ${}^tA$ | «trasposta di $A$» | la stessa tabella con le righe scambiate con le colonne | | | $I_n$ | «i con enne» | la matrice identità: 1 sulla diagonale, 0 altrove | $I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ | | $A^{-1}$ | «$A$ alla meno uno», «l'inversa di $A$» | la matrice che disfa quello che fa $A$ | per una matrice ortogonale è ${}^tA$ | | $A^i$ | «la colonna $i$ di $A$» | nelle dispense, la colonna numero $i$: non è una potenza | $A^1$ è la prima colonna | | $M(n)$, $M(2, \R)$ | «emme di enne», «emme di due, erre» | le matrici quadrate con $n$ righe e $n$ colonne; quelle con due righe e due colonne e numeri reali | | | $O(2)$ | «o di due» | l'insieme delle matrici ortogonali con due righe e due colonne | contiene $\mathrm{Rot}_\vartheta$ e $\mathrm{Rif}_\vartheta$ | | $\Span(v)$ | «span di $v$» | tutti i multipli del vettore: una retta per l'origine | $\Span((2, 1))$ | | $\mathcal B = \{v_1, v_2\}$ | «la base B, fatta da vu uno e vu due» | un gruppo di vettori scelto come base | | | $r^\perp$ | «erre perpendicolare» | tutti i vettori perpendicolari alla retta $r$ | se $r$ è l'asse verticale, è il pavimento | | $\operatorname{tr}A$ | «traccia di $A$» | la somma dei numeri sulla diagonale | | | $\rk A$ | «rango di $A$» | il numero di colonne indipendenti | | | $v \times w$ | «$v$ vettoriale $w$» | il prodotto vettoriale: un vettore perpendicolare a $v$ e a $w$ | $(1, 2, 3) \times (4, 5, 6) = (-3, 6, -3)$ | | $v_1$, $v_2$, $v_3$ | «vu uno», «vu due», «vu tre» | il primo, il secondo e il terzo numero del vettore $v$ | per $v = (1, 2, 3)$: $v_2 = 2$ | | $d_1$, $d_2$, $d_3$ | «di uno», «di due», «di tre» | i conti fatti coprendo la riga 1, la riga 2, la riga 3 | $v \times w = (d_1, -d_2, d_3)$ | | $[0, 2\pi)$ | «da zero a due pi greco, escluso» | gli angoli da 0 (compreso) a un giro intero (escluso) | | | $\forall$ | «per ogni» | vale qualunque elemento tu scelga | $\forall\, v \in V$ | | $\iff$ | «esattamente quando», «se e solo se» | le due frasi sono vere insieme o false insieme | | | $\sum$ | «somma» | la somma di tanti pezzi dello stesso tipo | | ## Verso l'esame La prova scritta di Algebra lineare e Geometria ha 10 domande a risposta multipla (5 risposte, una sola giusta) e 2 problemi da 11 punti. I problemi vengono corretti solo a chi fa almeno 6 punti nel quiz. La prova dura 2 ore, senza calcolatrice, e si possono portare solo 4 facciate di appunti scritti a mano. Gli appelli del 2026/27 sono il 22/01/2027 e il 05/02/2027, alle 14:00. I dettagli sono nella lezione L01. **Che cosa di questa lezione compare negli appelli 2023–2026** 1. **Matrici ortogonali, nel quiz.** L'appello del 10/07/2024 (domanda 2) chiedeva la dimensione dell'insieme delle matrici ortogonali con due righe e due colonne. La risposta è che non ha una dimensione, perché non è un sottospazio. La domanda è letta e risolta qui sotto. Le matrici ortogonali tornano con il teorema spettrale (lezioni L25 e L26), dove una matrice simmetrica si diagonalizza con una matrice ortogonale. 2. **Prodotto vettoriale, nei problemi.** Nei problemi su rette e piani dello spazio il prodotto vettoriale dà subito la direzione della retta in cui si tagliano due piani: appelli del 24/01/2024, del 10/07/2024, del 06/09/2024 e del 15/01/2026 (problema 12). Nelle domande sulla distanza tra due rette (08/02/2024, 06/09/2024, 05/02/2026, 03/06/2026, 07/09/2026) serve un vettore perpendicolare alle direzioni delle due rette: è di nuovo un prodotto vettoriale. Le formule su rette e piani sono nelle lezioni L23 e L24. 3. **Isometrie dello spazio.** Negli appelli dal 2023 al 2026 non ci sono domande su rotazioni e antirotazioni dello spazio. **I metodi, passo per passo** > [!METODO] Dire se una matrice è ortogonale > 1. Scrivi le colonne della matrice come vettori. > 2. Calcola la lunghezza di ogni colonna: deve fare 1. > 3. Calcola il prodotto scalare di ogni coppia di colonne diverse: deve fare 0. > 4. Se tutti i controlli riescono, la matrice è ortogonale. Allora la sua inversa è la trasposta. > [!METODO] Calcolare un prodotto vettoriale > 1. Scrivi i due vettori in colonna, uno accanto all'altro. > 2. Copri la prima riga. Con i quattro numeri rimasti fai «diagonale meno l'altra diagonale»: è il primo numero. > 3. Copri la seconda riga, fai lo stesso conto e **cambia il segno**: è il secondo numero. > 4. Copri la terza riga e fai lo stesso conto: è il terzo numero. > 5. Controlla: il risultato deve dare prodotto scalare zero con tutti e due i vettori. > [!METODO] Trovare la retta in cui si tagliano due piani > 1. Leggi i due vettori perpendicolari ai piani: sono i numeri davanti a $x$, $y$ e $z$ nelle due equazioni. > 2. Calcola il loro prodotto vettoriale: è la direzione della retta. > 3. Trova un punto della retta. Metti $z = 0$ nelle due equazioni e risolvi il sistema nelle due incognite rimaste. Se il sistema non ha soluzione, riprova mettendo a zero un'altra incognita. > 4. Scrivi la retta: il punto trovato, più tutti i multipli della direzione. **Una domanda vera, letta insieme** > [!ESEMPIO] Appello del 10/07/2024, domanda 2 > **Il testo.** «Sia $V = M(2, \R)$ lo spazio delle matrici reali $2 \times 2$ e $O(2)$ il sottoinsieme delle matrici ortogonali. La dimensione di $O(2)$ è: (a) $O(2)$ non ha una dimensione perché non è un sottospazio vettoriale; (b) due; (c) quattro; (d) tre; (e) uno.» > > **In pratica chiede:** le matrici ortogonali con due righe e due colonne formano un sottospazio? Se sì, quanti vettori ha una sua base? > > **La soluzione.** > > 1. La parola «dimensione» ha senso solo per uno spazio vettoriale o per un sottospazio: è il numero di vettori di una base (lezione L07). Quindi prima di contare bisogna chiedersi se l'insieme è un sottospazio. > 2. Un sottospazio contiene sempre lo zero (lezione L06). Nello spazio delle matrici lo zero è la matrice fatta di soli zeri. > 3. La matrice di soli zeri non è ortogonale. La sua trasposta per lei dà ancora la matrice di soli zeri, e non l'identità. Detto con le colonne: sono lunghe 0, non 1. > 4. Quindi l'insieme non contiene lo zero: non è un sottospazio. La risposta giusta è la (a). > > **Un secondo motivo.** La matrice identità è ortogonale. Ma $I_2 + I_2 = 2I_2$ ha le colonne lunghe 2, quindi non lo è. Sommando due matrici ortogonali si esce dall'insieme. > > **La risposta che tenta.** La (e), «uno», perché ogni rotazione dipende da un solo numero, l'angolo. Ma «dipende da un numero» non vuol dire «sottospazio di dimensione 1». Le rotazioni non formano una retta che passa per lo zero. **Un problema vero, risolto con il prodotto vettoriale** > [!ESEMPIO] Appello del 24/01/2024, problema 12, punto (1) > **Il testo.** «Siano $\pi_1 = \{2x + y - z = 1\}$ e $\pi_2 = \{x + 2y + z = 2\}$. Calcolare la retta $r = \pi_1 \cap \pi_2$ nella forma $r = P + \Span(v)$.» > > **In pratica chiede:** ci sono due piani dello spazio, ognuno descritto da un'equazione. Trova la retta fatta dai punti che stanno su tutti e due. Scrivila come «un punto di partenza $P$, più tutti i multipli di una direzione $v$». Qui $\pi_1$ e $\pi_2$ sono i nomi dei due piani: non c'entra il numero pi greco. Il simbolo $\cap$ si legge «intersecato» e indica i punti in comune. > > **La soluzione.** > > 1. Leggo i vettori perpendicolari ai due piani dai numeri davanti a $x$, $y$ e $z$: sono $n_1 = (2, 1, -1)$ e $n_2 = (1, 2, 1)$. Il perché è nella lezione L23. > 2. La retta sta in tutti e due i piani. Quindi la sua direzione è perpendicolare a tutti e due questi vettori: è il loro prodotto vettoriale. Metto i due vettori in colonna. Le righe della tabella sono $(2, 1)$, $(1, 2)$ e $(-1, 1)$. > - Copro la prima riga: $1 \cdot 1 - 2 \cdot (-1) = 1 + 2 = 3$. > - Copro la seconda riga: $2 \cdot 1 - 1 \cdot (-1) = 2 + 1 = 3$. Cambio il segno: $-3$. > - Copro la terza riga: $2 \cdot 2 - 1 \cdot 1 = 3$. > > Quindi $n_1 \times n_2 = (3, -3, 3)$. > 3. Una direzione si può accorciare senza cambiare la retta. Divido per 3 e prendo $v = (1, -1, 1)$. > 4. Cerco un punto della retta. Metto $z = 0$ e restano due equazioni: $2x + y = 1$ e $x + 2y = 2$. Dalla prima ricavo $y = 1 - 2x$. Sostituisco nella seconda: $x + 2 - 4x = 2$, cioè $-3x = 0$, cioè $x = 0$. Allora $y = 1$. Il punto è $P = (0, 1, 0)$. > 5. La retta è > $$r = (0, 1, 0) + \Span((1, -1, 1)).$$ > > **Controlli.** Il punto $P$ sta nei due piani: $0 + 1 - 0 = 1$ e $0 + 2 + 0 = 2$. La direzione $v$ rispetta le due equazioni con lo zero a destra: $2 - 1 - 1 = 0$ e $1 - 2 + 1 = 0$. **Errori da evitare** - Leggere lo specchio di una riflessione all'angolo scritto nella matrice. Lo specchio sta alla **metà** di quell'angolo. - Credere che bastino colonne perpendicolari, oppure il determinante uguale a 1 o a $-1$, perché una matrice sia ortogonale. - Sbagliare il segno del secondo numero del prodotto vettoriale. Dopo il conto fatto coprendo la seconda riga si cambia il segno. - Dimenticare che scambiando i due vettori il prodotto vettoriale cambia segno. L'ordine conta per il verso, non per la direzione. - Non controllare il risultato. Il prodotto vettoriale deve dare prodotto scalare zero con tutti e due i vettori. > [!ESAME] Sul foglio da 4 facciate > Le due matrici del piano. La rotazione ha determinante 1. La riflessione ha determinante $-1$, e il suo specchio sta all'angolo $\frac\vartheta2$. > $$\mathrm{Rot}_\vartheta = \begin{pmatrix} \cos\vartheta & -\sin\vartheta \\ \sin\vartheta & \cos\vartheta \end{pmatrix} \qquad \mathrm{Rif}_\vartheta = \begin{pmatrix} \cos\vartheta & \sin\vartheta \\ \sin\vartheta & -\cos\vartheta \end{pmatrix}$$ > La matrice ortogonale: colonne lunghe 1 e perpendicolari. L'inversa è la trasposta, il determinante è 1 oppure $-1$. > $${}^tA\,A = I \qquad A^{-1} = {}^tA$$ > Le isometrie: nel piano rotazioni e riflessioni, nello spazio rotazioni e antirotazioni. Per l'angolo nello spazio: > $$\cos\vartheta = \frac{\operatorname{tr}A - \det A}{2}$$ > Il prodotto vettoriale: è perpendicolare ai due vettori, ed è zero esattamente quando sono uno multiplo dell'altro. > $$v \times w = (v_2w_3 - v_3w_2,\ \ v_3w_1 - v_1w_3,\ \ v_1w_2 - v_2w_1)$$ > In più: la tabella del coseno e del seno degli angoli più usati. ## Quiz ```quiz D: Quale di queste matrici è ortogonale? + $\frac15\begin{pmatrix} 3 & -4 \\ 4 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ -1 & 1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 0 \\ 0 & \frac12 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 0 & 2 \\ \frac12 & 0 \end{pmatrix}$ = La domanda chiede quale matrice ha le colonne lunghe 1 e perpendicolari tra loro. Nella prima le colonne sono $\frac15(3, 4)$ e $\frac15(-4, 3)$. Il quadrato della lunghezza è $\frac{9 + 16}{25} = 1$ per tutte e due, e il prodotto scalare è $\frac{-12 + 12}{25} = 0$. Le altre falliscono sulla lunghezza. La seconda ha le colonne perpendicolari ma lunghe $\sqrt2$: è la risposta che tenta di più. La terza e l'ultima hanno determinante $1$ e $-1$, ma colonne lunghe $2$ e $\frac12$. La quarta, un taglio, ha la seconda colonna lunga $\sqrt2$. È il controllo che serve per domande come la 2 dell'appello del 10/07/2024, sulle matrici ortogonali. D: Qual è l'immagine di $v = (3, 1)$ tramite la rotazione antioraria di angolo $\frac\pi2$? + $(-1, 3)$ - $(1, -3)$ - $(-3, 1)$ - $(1, 3)$ - $(-3, -1)$ = L'angolo $\frac\pi2$ è un quarto di giro. Il quarto di giro in senso antiorario scambia i due numeri e cambia segno al primo: $(x, y)$ diventa $(-y, x)$. Quindi $(3, 1)$ diventa $(-1, 3)$. Controllo: il prodotto scalare tra prima e dopo è $3 \cdot (-1) + 1 \cdot 3 = 0$, e le due lunghezze sono uguali a $\sqrt{10}$. La risposta $(1, -3)$ è la trappola: è il quarto di giro in senso **orario**. D: La matrice $\mathrm{Rif}_{\pi/2} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ rappresenta la riflessione rispetto a: + la retta $y = x$ - l'asse $y$ - l'asse $x$ - la retta $y = -x$ - l'origine = Lo specchio di una riflessione sta alla metà dell'angolo scritto nella matrice. Qui la metà di $\frac\pi2$ è $\frac\pi4$, cioè 45 gradi: è la bisettrice $y = x$. Controllo: la matrice scambia i due numeri. Quindi $(1, 1)$, che sta sulla bisettrice, resta fermo, e $(1, -1)$ diventa $(-1, 1)$, il suo opposto. L'asse $y$ è l'errore di chi legge l'angolo intero invece della metà. D: Sia $O(2) \subset M(2, \R)$ l'insieme delle matrici ortogonali $2 \times 2$. Quale affermazione è vera? + $O(2)$ non è un sottospazio vettoriale di $M(2, \R)$. - $O(2)$ è un sottospazio di dimensione 4. - $O(2)$ contiene la matrice nulla. - La somma di due matrici ortogonali è sempre ortogonale. - $O(2)$ contiene solo matrici di rotazione. = Il simbolo $\subset$ si legge «è contenuto in». Un sottospazio deve contenere lo zero, e sommando due suoi elementi non si deve uscire. La matrice nulla, cioè quella di soli zeri, non è ortogonale: le sue colonne sono lunghe 0. E $I_2 + I_2 = 2I_2$ ha le colonne lunghe 2, quindi la somma di due matrici ortogonali può non essere ortogonale. L'insieme non è un sottospazio. Contiene anche le riflessioni, non solo le rotazioni (Proposizione 22.11). È simile alla domanda 2 dell'appello del 10/07/2024. D: Se $A \in M(3, \R)$ è una matrice ortogonale, allora sicuramente: + $\det A = \pm1$ - $\det A = 1$ - $A$ è simmetrica - $A^{-1} = A$ - $\operatorname{tr}A = 3$ = La scrittura $\pm1$ si legge «più o meno uno»: vuol dire 1 oppure $-1$. Dalla condizione ${}^tA\,A = I$ e dal Teorema di Binet viene $(\det A)^2 = 1$, quindi il determinante è 1 oppure $-1$. Può valere $-1$: succede per lo specchio che cambia segno solo al terzo numero. Per questo «$\det A = 1$» è sbagliata. Le altre tre risposte falliscono con il quarto di giro intorno all'asse $z$. È ortogonale, ma non è simmetrica, non è uguale alla sua inversa e ha traccia 1. Quello che vale sempre è $A^{-1} = {}^tA$: l'inversa è la trasposta, non la matrice stessa. D: Quanto vale il prodotto vettoriale $(1, 2, 0) \times (0, 1, 3)$? + $(6, -3, 1)$ - $(6, 3, 1)$ - $(-6, 3, -1)$ - $(0, 2, 0)$ - $(6, -3, -1)$ = Metto i due vettori in colonna: le righe della tabella sono $(1, 0)$, $(2, 1)$ e $(0, 3)$. Coprendo la prima riga viene $2 \cdot 3 - 1 \cdot 0 = 6$. Coprendo la seconda viene $1 \cdot 3 - 0 \cdot 0 = 3$, e cambiando segno $-3$. Coprendo la terza viene $1 \cdot 1 - 0 \cdot 2 = 1$. Il risultato è $(6, -3, 1)$. Controllo: con $(1, 2, 0)$ viene $6 - 6 + 0 = 0$, con $(0, 1, 3)$ viene $0 - 3 + 3 = 0$. La risposta $(6, 3, 1)$ è di chi dimentica di cambiare segno al secondo numero. La risposta $(-6, 3, -1)$ è il prodotto con i due vettori scambiati. La risposta $(0, 2, 0)$ è il prodotto fatto posto per posto, che non è il prodotto vettoriale. È il conto che serve per la direzione della retta in cui si tagliano due piani, come nell'appello del 15/01/2026 (problema 12, punto 2). D: Per quale di queste coppie di vettori il prodotto vettoriale è il vettore nullo? + $(1, -2, 3)$ e $(-2, 4, -6)$ - $(1, 0, 0)$ e $(0, 1, 0)$ - $(1, 1, 0)$ e $(1, -1, 0)$ - $(1, 2, 3)$ e $(3, 2, 1)$ - $(0, 0, 1)$ e $(1, 1, 1)$ = Il prodotto vettoriale è il vettore di soli zeri esattamente quando i due vettori sono uno multiplo dell'altro (Proposizione 22.16). Succede solo nella prima coppia: $(-2, 4, -6)$ è $-2$ volte $(1, -2, 3)$. Nelle altre coppie nessun vettore è multiplo dell'altro. I loro prodotti vettoriali sono $(0, 0, 1)$, poi $(0, 0, -2)$, poi $(-4, 8, -4)$, poi $(-1, 1, 0)$: nessuno è zero. Nelle domande sulla distanza tra due rette, come la domanda 7 dell'appello del 07/09/2026, si controlla così che le due direzioni non siano parallele. D: Quale di queste trasformazioni lineari del piano **non** è un'isometria (con il prodotto euclideo)? + $(x, y) \mapsto (x + y, y)$ - $(x, y) \mapsto (y, x)$ - $(x, y) \mapsto (-x, -y)$ - $(x, y) \mapsto \left(\frac{x - \sqrt3 y}{2}, \frac{\sqrt3 x + y}{2}\right)$ - $(x, y) \mapsto (x, -y)$ = Per mostrare che una macchina non è un'isometria basta un vettore che cambia lunghezza. La macchina $(x, y) \mapsto (x + y, y)$ è un taglio: manda $e_2 = (0, 1)$ in $(1, 1)$, che è lungo $\sqrt2$ e non 1. Le altre quattro hanno una matrice ortogonale. Sono lo specchio sulla bisettrice, il mezzo giro, la rotazione di $\frac\pi3$ e lo specchio sull'asse $x$. D: Un'isometria lineare di $\R^3$ con determinante $-1$ è: + un'antirotazione - una rotazione - una traslazione - una proiezione ortogonale su un piano - una rotazione di angolo $\pi$ intorno a un asse = Per il Teorema 22.13 ogni isometria dello spazio è una rotazione, con determinante 1, oppure un'antirotazione, con determinante $-1$. Quindi con determinante $-1$ è un'antirotazione. Una rotazione ha determinante 1 con qualunque angolo: per questo sono sbagliate le due risposte con la parola «rotazione». Le traslazioni non sono lineari. Le proiezioni schiacciano lo spazio su un piano e non si possono disfare, quindi non sono isometrie. Due antirotazioni particolari sono la matrice $-I_3$, con angolo $\pi$, e gli specchi rispetto a un piano, con angolo 0. D: Quanto vale la norma di $(1, 0, 0) \times (0, 3, 4)$? N: 5 = La tabella con i due vettori in colonna ha le righe $(1, 0)$, $(0, 3)$ e $(0, 4)$. Coprendo la prima riga viene $0 \cdot 4 - 3 \cdot 0 = 0$. Coprendo la seconda viene $1 \cdot 4 - 0 \cdot 0 = 4$, e cambiando segno $-4$. Coprendo la terza viene $1 \cdot 3 - 0 \cdot 0 = 3$. Il prodotto vettoriale è $(0, -4, 3)$. La sua norma, cioè la sua lunghezza, è $\sqrt{0 + 16 + 9} = \sqrt{25} = 5$. Nella lezione L23 vedrai che questo numero è l'area del parallelogramma che ha per lati i due vettori, come nell'esercizio 7 del foglio 4 del tutorato. ``` ## Esercizi Le dispense non hanno esercizi per questa lezione: questi sono tutti costruiti per gli appunti. I primi quattro sono di riscaldamento. Gli ultimi due sono modellati sugli appelli e sul foglio 4 del tutorato. ::: esercizio base Un quarto di giro Ruota di un quarto di giro in senso antiorario i vettori $(4, 1)$ e $(0, 3)$. ::: soluzione La regola del quarto di giro in senso antiorario: scambia i due numeri, poi cambia segno al primo. 1. Per $(4, 1)$: scambio e ottengo $(1, 4)$. Cambio segno al primo: $(-1, 4)$. 2. Per $(0, 3)$: scambio e ottengo $(3, 0)$. Cambio segno al primo: $(-3, 0)$. Controllo sul primo vettore: il prodotto scalare tra prima e dopo è $4 \cdot (-1) + 1 \cdot 4 = 0$. I due vettori sono perpendicolari, come dopo un quarto di giro. ::: ::: esercizio base Lo specchio sull'asse orizzontale Rifletti rispetto all'asse $x$ i vettori $(2, 5)$ e $(-1, -3)$. Poi di' quale di questi due vettori resta fermo: $(4, 0)$ oppure $(0, 4)$. ::: soluzione Lo specchio sull'asse $x$ lascia com'è il primo numero e cambia segno al secondo. 1. $(2, 5)$ diventa $(2, -5)$. 2. $(-1, -3)$ diventa $(-1, 3)$. 3. $(4, 0)$ diventa $(4, 0)$: resta fermo, perché sta sull'asse $x$, cioè sullo specchio. 4. $(0, 4)$ diventa $(0, -4)$: è perpendicolare allo specchio e va nel suo opposto. ::: ::: esercizio base Colonne lunghe 1 e perpendicolari Di' se è ortogonale ciascuna di queste due matrici: $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ e $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$. ::: soluzione Una matrice è ortogonale quando le sue colonne sono lunghe 1 e perpendicolari tra loro. **Prima matrice.** Le colonne sono $(0, 1)$ e $(-1, 0)$. 1. Lunghezza della prima: $\sqrt{0 + 1} = 1$. 2. Lunghezza della seconda: $\sqrt{1 + 0} = 1$. 3. Prodotto scalare: $0 \cdot (-1) + 1 \cdot 0 = 0$. È ortogonale. È il quarto di giro. **Seconda matrice.** Le colonne sono $(1, 0)$ e $(1, 1)$. 1. Lunghezza della prima: 1. 2. Lunghezza della seconda: $\sqrt{1 + 1} = \sqrt2$. Non è 1. Non è ortogonale. Fallisce anche il terzo controllo: il prodotto scalare delle colonne è $1 \cdot 1 + 0 \cdot 1 = 1$, non 0. ::: ::: esercizio base Un prodotto vettoriale con tanti zeri Calcola $(1, 0, 0) \times (0, 0, 1)$ e controlla che il risultato è perpendicolare ai due vettori. ::: soluzione Metto i due vettori in colonna. Le righe della tabella sono $(1, 0)$, $(0, 0)$ e $(0, 1)$. 1. Copro la prima riga: $0 \cdot 1 - 0 \cdot 0 = 0$. 2. Copro la seconda riga: $1 \cdot 1 - 0 \cdot 0 = 1$. Cambio il segno: $-1$. 3. Copro la terza riga: $1 \cdot 0 - 0 \cdot 0 = 0$. Il risultato è $(0, -1, 0)$. Controllo: con $(1, 0, 0)$ viene $0 + 0 + 0 = 0$. Con $(0, 0, 1)$ viene $0 + 0 + 0 = 0$. Con i nomi della base canonica: $e_1 \times e_3 = -e_2$. Torna con la regola dello scambio, perché $e_3 \times e_1 = e_2$. ::: ::: esercizio base Scrivere e usare le rotazioni (a) Scrivi $\mathrm{Rot}_{\pi/6}$ e $\mathrm{Rot}_{2\pi/3}$. (b) Ruota $(2, 0)$ di $\frac\pi3$ e $(1, 2)$ di $\frac\pi2$. (c) Verifica che $\mathrm{Rot}_{\pi/6}$ conserva la norma di $(2, 0)$. ::: soluzione **(a)** Servono il coseno e il seno dei due angoli. 1. Per $\frac\pi6$ la tabella dà coseno $\frac{\sqrt3}2$ e seno $\frac12$. 2. L'angolo $\frac{2\pi}3$ è un terzo di giro, cioè 120 gradi. Non è nella tabella, ma si ricava da $\frac\pi3$. Il punto del cerchio a 120 gradi è lo specchio, rispetto all'asse verticale, del punto a 60 gradi. Ha la stessa altezza e sta dalla parte opposta. Quindi il coseno è $-\frac12$ e il seno è $\frac{\sqrt3}2$. 3. Metto i numeri nei quattro posti: coseno e seno nella prima colonna, meno seno e coseno nella seconda. $$\mathrm{Rot}_{\pi/6} = \begin{pmatrix} \frac{\sqrt3}2 & -\frac12 \\ \frac12 & \frac{\sqrt3}2 \end{pmatrix}, \qquad \mathrm{Rot}_{2\pi/3} = \begin{pmatrix} -\frac12 & -\frac{\sqrt3}2 \\ \frac{\sqrt3}2 & -\frac12 \end{pmatrix}.$$ **(b)** Il vettore $(2, 0)$ è 2 volte $e_1$. La sua immagine è 2 volte l'immagine di $e_1$, cioè 2 volte la prima colonna. Con l'angolo $\frac\pi3$ la prima colonna è $\left(\frac12, \frac{\sqrt3}2\right)$: $$2 \cdot \left(\tfrac12, \tfrac{\sqrt3}2\right) = (1, \sqrt3).$$ Per $(1, 2)$ e il quarto di giro uso la regola: scambio i numeri e cambio segno al primo. Viene $(-2, 1)$. **(c)** L'immagine di $(2, 0)$ è 2 volte la prima colonna di $\mathrm{Rot}_{\pi/6}$: $$2 \cdot \left(\tfrac{\sqrt3}2, \tfrac12\right) = (\sqrt3, 1).$$ La sua norma è $\sqrt{3 + 1} = \sqrt4 = 2$. La norma di $(2, 0)$ è 2. Sono uguali. ::: ::: esercizio base La riflessione rispetto alla retta $y = -x$ Trova la matrice della riflessione rispetto alla retta $y = -x$ e verifica il risultato su due vettori. ::: soluzione La retta $y = -x$ è fatta dai punti con i due numeri opposti, come $(1, -1)$. Scende in diagonale: forma con l'asse $x$ un angolo di 45 gradi contato in senso orario. Un angolo contato in senso orario si scrive con il segno meno: $-\frac\pi4$. 1. Lo specchio sta alla metà dell'angolo della matrice: $\frac\vartheta2 = -\frac\pi4$. Quindi $\vartheta = -\frac\pi2$, un quarto di giro in senso orario. 2. Il punto del cerchio che si raggiunge con un quarto di giro in senso orario è quello più in basso, $(0, -1)$. Quindi il coseno è $0$ e il seno è $-1$. 3. Metto i numeri nella matrice della Definizione 22.3: $$\mathrm{Rif}_{-\pi/2} = \begin{pmatrix} 0 & -1 \\ -1 & 0 \end{pmatrix}.$$ A parole: la matrice scambia i due numeri e cambia segno a tutti e due. Manda $(x, y)$ in $(-y, -x)$. Contando l'angolo in senso antiorario, cioè con $\vartheta = \frac{3\pi}2$, viene la stessa matrice. Verifica su due vettori. - $(1, -1)$ sta sulla retta. Va in $(1, -1)$: resta fermo. - $(1, 1)$ è perpendicolare alla retta, perché $1 \cdot 1 + (-1) \cdot 1 = 0$. Va in $(-1, -1)$: il suo opposto. ::: ::: esercizio base Matrici ortogonali e inverse Per ciascuna matrice di' se è ortogonale; se lo è, scrivi l'inversa senza fare conti: $$A_1 = \frac15\begin{pmatrix} 3 & -4 \\ 4 & 3 \end{pmatrix}, \quad A_2 = \begin{pmatrix} 1 & 1 \\ -1 & 1 \end{pmatrix},$$ $$A_3 = \frac13\begin{pmatrix} 1 & 2 & 2 \\ 2 & 1 & -2 \\ 2 & -2 & 1 \end{pmatrix}, \quad A_4 = \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix}.$$ ::: soluzione Per una matrice ortogonale l'inversa è la trasposta: basta scambiare le righe con le colonne. **$A_1$.** Le colonne sono lunghe 1 e perpendicolari: i conti sono nella sezione sulle matrici ortogonali. È ortogonale. L'inversa è $$A_1^{-1} = {}^tA_1 = \frac15\begin{pmatrix} 3 & 4 \\ -4 & 3 \end{pmatrix}.$$ **$A_2$.** Le colonne sono $(1, -1)$ e $(1, 1)$, lunghe $\sqrt2$. **Non** è ortogonale. La sua inversa esiste, ma non è la trasposta: è la metà della trasposta. **$A_3$.** È ortogonale: i sei controlli sono nell'esempio «Ortogonale o no?». In più è simmetrica, cioè uguale alla sua trasposta. Quindi l'inversa è la matrice stessa: $$A_3^{-1} = {}^tA_3 = A_3.$$ Applicarla due volte riporta ogni vettore al punto di partenza. Si comporta come uno specchio. Infatti è la riflessione rispetto al piano di equazione $-x + y + z = 0$. Lo si controlla con la formula della riflessione, usando il vettore $n = (-1, 1, 1)$ perpendicolare al piano: $$f(e_1) = (1, 0, 0) - 2 \cdot \frac{-1}3 \cdot (-1, 1, 1) = (1, 0, 0) + \frac23\,(-1, 1, 1) = \left(\frac13, \frac23, \frac23\right).$$ È la prima colonna della matrice. **$A_4$.** Le colonne sono $e_3$, poi $e_1$, poi $e_2$: i vettori della base canonica, in un altro ordine. Sono lunghi 1 e perpendicolari. È ortogonale. L'inversa è $$A_4^{-1} = {}^tA_4 = \begin{pmatrix} 0 & 0 & 1 \\ 1 & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}.$$ ::: ::: esercizio medio La riflessione rispetto alla retta di $(1, 2)$ Trova la matrice della riflessione del piano rispetto alla retta $r = \Span((1, 2))$ in due modi: con $\mathrm{Rif}_\vartheta$ e con il cambiamento di base. ::: soluzione **Primo modo: con la matrice della Definizione 22.3.** 1. La lunghezza di $(1, 2)$ è $\sqrt{1 + 4} = \sqrt5$. 2. Divido il vettore per la sua lunghezza. Ottengo il punto della retta che sta sul cerchio di raggio 1. Le sue coordinate sono il coseno e il seno della metà dell'angolo: $\cos\frac\vartheta2 = \frac1{\sqrt5}$ e $\sin\frac\vartheta2 = \frac2{\sqrt5}$. 3. Passo all'angolo intero con le formule dell'angolo doppio. Il coseno del doppio è «coseno al quadrato meno seno al quadrato»: $$\cos\vartheta = \frac15 - \frac45 = -\frac35.$$ 4. Il seno del doppio è «due volte seno per coseno»: $$\sin\vartheta = 2 \cdot \frac2{\sqrt5} \cdot \frac1{\sqrt5} = \frac45.$$ 5. Metto i due numeri nella matrice: $$\mathrm{Rif}_\vartheta = \begin{pmatrix} -\frac35 & \frac45 \\ \frac45 & \frac35 \end{pmatrix}.$$ **Secondo modo: con il cambiamento di base.** 1. Scelgo la base comoda: $(1, 2)$ sta sullo specchio, e $(-2, 1)$ è perpendicolare, perché $1 \cdot (-2) + 2 \cdot 1 = 0$. In questa base la matrice dello specchio ha sulla diagonale $1$ e $-1$, e zeri altrove. La chiamo $D$. 2. La matrice con i due vettori nelle colonne è $M = \begin{pmatrix} 1 & -2 \\ 2 & 1 \end{pmatrix}$. Il suo determinante è $1 \cdot 1 - (-2) \cdot 2 = 5$. 3. L'inversa: scambio i numeri sulla diagonale, cambio segno agli altri due, divido per il determinante. $$M^{-1} = \frac15\begin{pmatrix} 1 & 2 \\ -2 & 1 \end{pmatrix}$$ 4. Primo prodotto. Moltiplicare a destra per $D$ cambia segno alla seconda colonna: $$M\,D = \begin{pmatrix} 1 & 2 \\ 2 & -1 \end{pmatrix}$$ 5. Secondo prodotto, riga per colonna: $$\begin{pmatrix} 1 & 2 \\ 2 & -1 \end{pmatrix}\cdot\frac15\begin{pmatrix} 1 & 2 \\ -2 & 1 \end{pmatrix} = \frac15\begin{pmatrix} 1 - 4 & 2 + 2 \\ 2 + 2 & 4 - 1 \end{pmatrix} = \frac15\begin{pmatrix} -3 & 4 \\ 4 & 3 \end{pmatrix}.$$ È la stessa matrice del primo modo. **Controllo.** Il vettore $(1, 2)$ deve restare fermo: $\left(\frac{-3 + 8}5, \frac{4 + 6}5\right) = (1, 2)$. Il vettore $(-2, 1)$ deve andare nel suo opposto: $\left(\frac{6 + 4}5, \frac{-8 + 3}5\right) = (2, -1)$. ::: ::: esercizio medio Riconoscere rotazioni e riflessioni Di' che isometria rappresentano $A = \frac15\begin{pmatrix} 4 & -3 \\ 3 & 4 \end{pmatrix}$ e $B = \frac15\begin{pmatrix} 4 & 3 \\ 3 & -4 \end{pmatrix}$: angolo per la rotazione, asse per la riflessione. ::: soluzione Seguo il metodo «Riconoscere un movimento rigido del piano». **Passo 1: sono ortogonali?** In tutte e due le matrici ogni colonna ha lunghezza al quadrato $\frac{16 + 9}{25} = 1$. Il prodotto scalare delle colonne è $\frac{-12 + 12}{25} = 0$ per $A$ e $\frac{12 - 12}{25} = 0$ per $B$. Sono ortogonali. **Passo 2: la matrice $A$.** 1. Determinante: $\frac45 \cdot \frac45 - \left(-\frac35\right) \cdot \frac35 = \frac{16}{25} + \frac9{25} = 1$. È una **rotazione**. 2. Nella prima colonna leggo il coseno, $\frac45$, e il seno, $\frac35$. 3. Questi valori non sono nella tabella. L'angolo si scrive $\arccos\frac45$, che si legge «l'angolo che ha coseno quattro quinti». Vale circa 37 gradi. **Passo 3: la matrice $B$.** 1. Determinante: $\frac45 \cdot \left(-\frac45\right) - \frac35 \cdot \frac35 = -\frac{16}{25} - \frac9{25} = -1$. È una **riflessione**. 2. Cerco lo specchio, cioè i vettori $(x, y)$ che restano fermi. La prima riga della matrice dà la condizione $\frac{4x + 3y}5 = x$. 3. Moltiplico per 5: $4x + 3y = 5x$. Tolgo $4x$ da tutti e due i lati: $3y = x$. 4. Scelgo $y = 1$ e ottengo $x = 3$. Lo specchio è la retta $\Span((3, 1))$. La seconda riga dà la stessa condizione. **Controllo.** La matrice $B$ deve lasciare fermo $(3, 1)$: $\left(\frac{12 + 3}5, \frac{9 - 4}5\right) = (3, 1)$. ::: ::: esercizio medio Due riflessioni fanno una rotazione (a) Calcola $\mathrm{Rif}_{\pi/2}\,\mathrm{Rif}_0$ e riconosci il risultato. (b) Dimostra che in generale $\mathrm{Rif}_\alpha\,\mathrm{Rif}_\beta = \mathrm{Rot}_{\alpha - \beta}$. ::: soluzione **(a)** La prima matrice è lo specchio sulla bisettrice, la seconda è lo specchio sull'asse $x$. Le moltiplico riga per colonna: $$\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} = \begin{pmatrix} 0 \cdot 1 + 1 \cdot 0 & 0 \cdot 0 + 1 \cdot (-1) \\ 1 \cdot 1 + 0 \cdot 0 & 1 \cdot 0 + 0 \cdot (-1) \end{pmatrix} = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}.$$ Il risultato è la matrice del quarto di giro. In un prodotto di matrici agisce per prima quella a destra. Quindi: specchiare sull'asse $x$ e poi sulla bisettrice è come fare un quarto di giro. **(b)** Scrivo le due matrici con gli angoli $\alpha$ e $\beta$ e calcolo i quattro posti del prodotto, riga per colonna. 1. In alto a sinistra: $\cos\alpha\cos\beta + \sin\alpha\sin\beta$. 2. In alto a destra: $\cos\alpha\sin\beta - \sin\alpha\cos\beta$. 3. In basso a sinistra: $\sin\alpha\cos\beta - \cos\alpha\sin\beta$. 4. In basso a destra: $\sin\alpha\sin\beta + \cos\alpha\cos\beta$. Ora servono le formule di sottrazione del coseno e del seno, che si studiano a scuola: $$\cos(\alpha - \beta) = \cos\alpha\cos\beta + \sin\alpha\sin\beta, \qquad \sin(\alpha - \beta) = \sin\alpha\cos\beta - \cos\alpha\sin\beta.$$ Le uso sui quattro posti. 1. In alto a sinistra e in basso a destra c'è $\cos(\alpha - \beta)$. 2. In basso a sinistra c'è $\sin(\alpha - \beta)$. 3. In alto a destra c'è la stessa espressione con i segni scambiati, cioè $-\sin(\alpha - \beta)$. È la matrice della rotazione di angolo $\alpha - \beta$. **Controllo.** Anche il determinante torna: per il Teorema di Binet è $(-1) \cdot (-1) = 1$, quello di una rotazione. E nel punto (a), con $\alpha = \frac\pi2$ e $\beta = 0$, la formula dà proprio il quarto di giro. ::: ::: esercizio medio Prodotti vettoriali e basi (a) Calcola $(2, -1, 1) \times (1, 3, -2)$ e verifica che è ortogonale ai due vettori. (b) Spiega perché $(2, -1, 1)$, $(1, 3, -2)$ e il loro prodotto vettoriale formano una base di $\R^3$. ::: soluzione **(a)** Metto i due vettori in colonna. Le righe della tabella sono $(2, 1)$, $(-1, 3)$ e $(1, -2)$. 1. Copro la prima riga: $(-1) \cdot (-2) - 3 \cdot 1 = 2 - 3 = -1$. 2. Copro la seconda riga: $2 \cdot (-2) - 1 \cdot 1 = -4 - 1 = -5$. Cambio il segno: $5$. 3. Copro la terza riga: $2 \cdot 3 - 1 \cdot (-1) = 6 + 1 = 7$. Il prodotto vettoriale è $(-1, 5, 7)$. Controllo con i prodotti scalari. - Con $(2, -1, 1)$: $-2 - 5 + 7 = 0$. - Con $(1, 3, -2)$: $-1 + 15 - 14 = 0$. **(b)** Il prodotto vettoriale non è il vettore di soli zeri. Per la Proposizione 22.16 i due vettori sono indipendenti. Allora per il Corollario 22.17 loro due e il loro prodotto vettoriale formano una base dello spazio. ::: ::: esercizio medio Il piano generato da due vettori Sia $W = \Span((1, 0, 2), (0, 1, 1))$. (a) Trova un vettore ortogonale a $W$ e un'equazione cartesiana di $W$. (b) Il vettore $(1, 1, 3)$ sta in $W$? E $(1, 1, 1)$? ::: soluzione $W$ è fatto da tutte le ricette dei due vettori: è un piano che passa per l'origine. **(a)** Un vettore perpendicolare al piano è perpendicolare a tutti e due i vettori: è il loro prodotto vettoriale. Le righe della tabella sono $(1, 0)$, $(0, 1)$ e $(2, 1)$. 1. Copro la prima riga: $0 \cdot 1 - 1 \cdot 2 = -2$. 2. Copro la seconda riga: $1 \cdot 1 - 0 \cdot 2 = 1$. Cambio il segno: $-1$. 3. Copro la terza riga: $1 \cdot 1 - 0 \cdot 0 = 1$. Il vettore è $(-2, -1, 1)$. Controllo: con $(1, 0, 2)$ viene $-2 + 0 + 2 = 0$, con $(0, 1, 1)$ viene $0 - 1 + 1 = 0$. Un punto $(x, y, z)$ sta nel piano esattamente quando è perpendicolare a questo vettore (lezione L21). Scrivo «prodotto scalare uguale a zero»: $$-2x - y + z = 0.$$ Questa è un'equazione cartesiana del piano, cioè la condizione che i suoi punti rispettano. Cambiando tutti i segni si può scrivere anche $2x + y - z = 0$. **(b)** Metto i numeri nell'equazione $2x + y - z = 0$. - Per $(1, 1, 3)$: $2 + 1 - 3 = 0$. Sta nel piano. Infatti è la somma dei due vettori di partenza. - Per $(1, 1, 1)$: $2 + 1 - 1 = 2$, che non è zero. Non sta nel piano. ::: ::: esercizio difficile Proprietà del prodotto vettoriale dalla definizione Dimostra, usando solo la Definizione 22.14: (a) $w \times v = -(v \times w)$; (b) $v \times v = 0$; (c) $(\lambda v) \times w = \lambda(v \times w)$. (d) Controlla con $v = (1, 2, 3)$, $w = (4, 5, 6)$ l'identità $\|v \times w\|^2 + \langle v, w\rangle^2 = \|v\|^2\|w\|^2$, che le dispense dimostrano nella lezione L23. ::: soluzione **(a)** Scambiare i due vettori vuol dire scambiare le lettere $v$ e $w$ nella formula. Guardo i tre numeri uno alla volta. 1. Il primo numero di $v \times w$ è $v_2w_3 - v_3w_2$. Quello di $w \times v$ è $w_2v_3 - w_3v_2$. Sono gli stessi due prodotti, con i segni scambiati. 2. Il secondo numero passa da $v_3w_1 - v_1w_3$ a $w_3v_1 - w_1v_3$: di nuovo i segni scambiati. 3. Il terzo numero passa da $v_1w_2 - v_2w_1$ a $w_1v_2 - w_2v_1$: di nuovo i segni scambiati. Tutti e tre i numeri cambiano segno. Quindi $w \times v = -(v \times w)$. **(b)** Metto $v$ al posto di $w$ nella formula. 1. Primo numero: $v_2v_3 - v_3v_2 = 0$. 2. Secondo numero: $v_3v_1 - v_1v_3 = 0$. 3. Terzo numero: $v_1v_2 - v_2v_1 = 0$. Un'altra strada usa il punto (a): $v \times v$ è uguale al suo opposto, e l'unico vettore uguale al suo opposto è quello di soli zeri. **(c)** Il vettore $\lambda v$ ha i numeri $\lambda v_1$, $\lambda v_2$, $\lambda v_3$. Li metto nella formula e raccolgo $\lambda$. 1. Primo numero: $(\lambda v_2)w_3 - (\lambda v_3)w_2 = \lambda\,(v_2w_3 - v_3w_2)$. 2. Secondo numero: $(\lambda v_3)w_1 - (\lambda v_1)w_3 = \lambda\,(v_3w_1 - v_1w_3)$. 3. Terzo numero: $(\lambda v_1)w_2 - (\lambda v_2)w_1 = \lambda\,(v_1w_2 - v_2w_1)$. Ogni numero è $\lambda$ volte il numero corrispondente di $v \times w$. **(d)** Calcolo i due lati con i numeri. 1. Dall'esempio della lezione, $v \times w = (-3, 6, -3)$. Il quadrato della sua norma è $9 + 36 + 9 = 54$. 2. Il prodotto scalare è $1 \cdot 4 + 2 \cdot 5 + 3 \cdot 6 = 4 + 10 + 18 = 32$. Il suo quadrato è $1024$. 3. Lato sinistro: $54 + 1024 = 1078$. 4. Il quadrato della norma di $v$ è $1 + 4 + 9 = 14$. Quello di $w$ è $16 + 25 + 36 = 77$. 5. Lato destro: $14 \cdot 77 = 1078$. I due lati sono uguali. ::: ::: esercizio difficile Un'isometria dello spazio Sia $A = \begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & -1 \end{pmatrix}$. (a) Verifica che $A$ è ortogonale. (b) È una rotazione o un'antirotazione? (c) Trova l'asse e l'angolo. ::: soluzione **(a)** Le colonne sono $(0, 1, 0)$, poi $(-1, 0, 0)$, poi $(0, 0, -1)$. 1. In ogni colonna c'è un solo numero diverso da zero, ed è $1$ oppure $-1$. Quindi ogni colonna è lunga 1. 2. I numeri diversi da zero stanno in tre posti diversi. Quindi il prodotto scalare di due colonne diverse è una somma di zeri: fa 0. La matrice è ortogonale. **(b)** Calcolo il determinante con lo sviluppo di Laplace lungo la terza riga. Lì c'è un solo numero diverso da zero, l'ultimo: $$\det A = (-1) \cdot \det\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} = (-1) \cdot \big(0 \cdot 0 - (-1) \cdot 1\big) = (-1) \cdot 1 = -1.$$ Il determinante è $-1$: è un'**antirotazione**. **(c)** Cerco l'asse e l'angolo. 1. La terza colonna è l'immagine di $e_3$: è $(0, 0, -1)$, cioè l'opposto di $e_3$. In un'antirotazione i vettori dell'asse vanno nel loro opposto. Quindi l'asse è l'asse $z$, cioè $\Span(e_3)$. 2. Sul pavimento, cioè sui vettori con il terzo numero uguale a zero, la matrice lavora come la tabella in alto a sinistra. È la matrice del quarto di giro. 3. Quindi $A$ è il quarto di giro intorno all'asse $z$, seguito dallo specchio rispetto al pavimento. L'angolo è $\frac\pi2$. **Controllo** con la formula del libro di Martelli. La traccia è $0 + 0 - 1 = -1$. Allora $$\cos\vartheta = \frac{\operatorname{tr}A - \det A}2 = \frac{-1 - (-1)}2 = 0.$$ L'angolo con coseno 0 è $\frac\pi2$. ::: ::: esercizio esame Completare una matrice ortogonale Sia $A = \frac15\begin{pmatrix} 3 & a \\ 4 & b \end{pmatrix}$. (1) Trova tutti gli $a, b \in \R$ per cui $A$ è ortogonale. (2) Per ciascuna soluzione di' se $L_A$ è una rotazione o una riflessione (con angolo o asse). (3) Calcola $A^{-1}$. ::: soluzione **(1)** Le colonne sono $\frac15(3, 4)$ e $\frac15(a, b)$. Devono essere lunghe 1 e perpendicolari. 1. La prima colonna è già lunga 1: il quadrato della lunghezza è $\frac{9 + 16}{25} = 1$. 2. La seconda colonna deve essere lunga 1: $\frac{a^2 + b^2}{25} = 1$, cioè $a^2 + b^2 = 25$. 3. Le due colonne devono essere perpendicolari: $\frac{3a + 4b}{25} = 0$, cioè $3a + 4b = 0$. 4. Dalla condizione del passo 3 ricavo $a$: prima $3a = -4b$, poi $a = -\frac43 b$. 5. Sostituisco nella condizione del passo 2. Il quadrato di $-\frac43 b$ è $\frac{16}9 b^2$. Quindi $\frac{16}9 b^2 + b^2 = 25$, cioè $\frac{25}9 b^2 = 25$. 6. Moltiplico per $\frac9{25}$: $b^2 = 9$. Quindi $b = 3$ oppure $b = -3$. 7. Con $b = 3$ viene $a = -4$. Con $b = -3$ viene $a = 4$. Le soluzioni sono due: $(a, b) = (-4, 3)$ e $(a, b) = (4, -3)$. Sono una l'opposta dell'altra, come nella figura della sezione sui movimenti rigidi del piano. **(2)** Guardo il determinante nei due casi. - Con $(-4, 3)$ la matrice è $\frac15\begin{pmatrix} 3 & -4 \\ 4 & 3 \end{pmatrix}$. Il determinante è $\frac{9 + 16}{25} = 1$: è una **rotazione**. Nella prima colonna leggo il coseno, $\frac35$, e il seno, $\frac45$. L'angolo è $\arccos\frac35$, circa 53 gradi. - Con $(4, -3)$ la matrice è $\frac15\begin{pmatrix} 3 & 4 \\ 4 & -3 \end{pmatrix}$. Il determinante è $\frac{-9 - 16}{25} = -1$: è una **riflessione**. È la matrice dell'esempio nella sezione sulle riflessioni: lo specchio è la retta $\Span((2, 1))$. Controllo: $(2, 1)$ va in $\left(\frac{6 + 4}5, \frac{8 - 3}5\right) = (2, 1)$ e resta fermo. **(3)** Per una matrice ortogonale l'inversa è la trasposta. - Rotazione: $A^{-1} = \frac15\begin{pmatrix} 3 & 4 \\ -4 & 3 \end{pmatrix}$. È la rotazione dello stesso angolo all'indietro. - Riflessione: la matrice è simmetrica, cioè uguale alla sua trasposta. Quindi $A^{-1} = A$. Ha senso: specchiare due volte riporta al punto di partenza. ::: ::: esercizio esame Prodotto vettoriale, piano e base Siano $v = (2, 1, 0)$ e $w = (1, 0, 1)$. (1) Calcola un vettore ortogonale a $\Span(v, w)$ e un vettore unitario con la stessa direzione. (2) Scrivi un'equazione cartesiana del piano $\Span(v, w)$. (3) Dimostra che $v, w, v \times w$ è una base di $\R^3$ calcolando un determinante. (4) Anticipa la lezione L23: quanto vale l'area del parallelogramma di lati $v$ e $w$? ::: soluzione **(1)** Un vettore perpendicolare al piano è il prodotto vettoriale. Le righe della tabella con $v$ e $w$ in colonna sono $(2, 1)$, $(1, 0)$ e $(0, 1)$. 1. Copro la prima riga: $1 \cdot 1 - 0 \cdot 0 = 1$. 2. Copro la seconda riga: $2 \cdot 1 - 1 \cdot 0 = 2$. Cambio il segno: $-2$. 3. Copro la terza riga: $2 \cdot 0 - 1 \cdot 1 = -1$. Quindi $v \times w = (1, -2, -1)$. Controllo: con $v$ viene $2 - 2 + 0 = 0$, con $w$ viene $1 + 0 - 1 = 0$. Un vettore **unitario** è un vettore lungo 1. Per ottenerlo divido il vettore per la sua norma, che è $\sqrt{1 + 4 + 1} = \sqrt6$. Il vettore unitario è $\frac1{\sqrt6}(1, -2, -1)$. **(2)** I tre numeri del prodotto vettoriale sono i coefficienti dell'equazione del piano: $$x - 2y - z = 0.$$ Controllo: con $v$ viene $2 - 2 - 0 = 0$, con $w$ viene $1 - 0 - 1 = 0$. I due vettori stanno nel piano. **(3)** Metto i tre vettori nelle colonne di una matrice e calcolo il determinante con lo sviluppo di Laplace lungo la prima riga. I segni sono più, meno, più. $$\det\begin{pmatrix} 2 & 1 & 1 \\ 1 & 0 & -2 \\ 0 & 1 & -1 \end{pmatrix} = 2 \cdot (0 + 2) - 1 \cdot (-1 - 0) + 1 \cdot (1 - 0) = 4 + 1 + 1 = 6.$$ Le tre parentesi sono i determinanti delle tabelle che restano cancellando la prima riga e una colonna alla volta. Per esempio la prima è $0 \cdot (-1) - (-2) \cdot 1 = 2$. Il determinante non è zero, quindi i tre vettori sono indipendenti e formano una base. Il valore 6 è il quadrato della norma di $v \times w$, e non è un caso. Sviluppando lungo la terza colonna, il determinante della matrice con colonne $v$, $w$, $v \times w$ vale sempre $d_1^2 + d_2^2 + d_3^2$. È la norma al quadrato del prodotto vettoriale. Nella lezione L23 è la Proposizione 23.4. **(4)** L'area è la norma del prodotto vettoriale: $\sqrt6$. ::: ## Domande di ripasso ::: domanda Che cos'è un'isometria lineare? Perché fissa l'origine? È una macchina lineare che si può disfare e che non cambia i prodotti scalari: il prodotto scalare di due vettori è uguale a quello delle loro immagini. Una macchina lineare manda il vettore zero nel vettore zero, quindi l'origine resta ferma. Per questo le traslazioni non ne fanno parte. ::: ::: domanda Come si ricava la matrice della rotazione di angolo $\vartheta$? Le colonne sono le immagini dei due vettori della base canonica. Il primo va nel punto del cerchio di raggio 1 all'angolo $\vartheta$, cioè $(\cos\vartheta, \sin\vartheta)$. Il secondo va in $(-\sin\vartheta, \cos\vartheta)$. Il determinante è $\cos^2\vartheta + \sin^2\vartheta = 1$. ::: ::: domanda Rispetto a quale retta riflette $\mathrm{Rif}_\vartheta$? Qual è il suo determinante? Rispetto alla retta per l'origine che forma con l'asse $x$ un angolo $\frac\vartheta2$: la metà dell'angolo scritto nella matrice. Il determinante è $-\cos^2\vartheta - \sin^2\vartheta = -1$. ::: ::: domanda Perché, in una base scelta bene, la matrice di una riflessione ha sulla diagonale $1$ e $-1$ e zeri altrove? Come primo vettore della base si prende un vettore che sta sullo specchio. Come secondo, un vettore perpendicolare allo specchio. La riflessione lascia fermo il primo e manda il secondo nel suo opposto. Le colonne della matrice dicono proprio questo: sono $(1, 0)$ e $(0, -1)$. ::: ::: domanda Perché per verificare che un isomorfismo è un'isometria bastano i vettori di una base? Perché ogni vettore è una ricetta fatta con i vettori della base. Il prodotto scalare rispetta le ricette, e anche la macchina le rispetta. Quindi il prodotto scalare di due vettori qualsiasi, prima e dopo la macchina, si calcola con gli stessi conti a partire dai prodotti tra i vettori della base. ::: ::: domanda Quali condizioni equivalenti definiscono un'isometria con un prodotto definito positivo? Sono tre. Non cambiare i prodotti scalari. Non cambiare le norme: l'immagine di un vettore è lunga come il vettore. Non cambiare le distanze: due immagini sono distanti quanto i vettori di partenza. ::: ::: domanda Quando $L_A$ è un'isometria di $\R^n$? Che cosa vuol dire sulle colonne di $A$? Quando ${}^tA\,A = I_n$, cioè quando la matrice è ortogonale. Il numero di posto $(i, j)$ di quel prodotto è il prodotto scalare tra la colonna $i$ e la colonna $j$. Quindi le colonne sono lunghe 1 e perpendicolari tra loro: formano una base ortonormale. ::: ::: domanda Che proprietà hanno le matrici ortogonali? L'inversa è la trasposta. Il determinante è 1 oppure $-1$. Gli autovalori reali possono essere solo 1 e $-1$. Anche le righe sono lunghe 1 e perpendicolari tra loro. Il prodotto di due matrici ortogonali è ortogonale. ::: ::: domanda Perché le matrici ortogonali $2 \times 2$ sono solo rotazioni e riflessioni? La prima colonna è lunga 1, quindi è un punto del cerchio di raggio 1: $(\cos\vartheta, \sin\vartheta)$. La seconda è lunga 1 e perpendicolare alla prima. Restano solo due scelte: $(-\sin\vartheta, \cos\vartheta)$ oppure $(\sin\vartheta, -\cos\vartheta)$. Con la prima viene la rotazione, con la seconda la riflessione. ::: ::: domanda Che cosa sono le isometrie di $\R^3$? Sono le rotazioni intorno a un asse, che hanno determinante 1, e le antirotazioni, che hanno determinante $-1$. Un'antirotazione è una rotazione intorno a un asse seguita dallo specchio rispetto al piano perpendicolare all'asse. ::: ::: domanda Come si calcola il prodotto vettoriale? Come si ricorda il segno? Si mettono i due vettori in colonna. Si copre una riga alla volta e con i numeri rimasti si fa «diagonale meno l'altra diagonale». Al secondo numero si cambia segno. Con i nomi delle dispense: $v \times w = (d_1, -d_2, d_3)$. Un altro aiuto è la regola mnemonica: il determinante della tabella con $e_1$, $e_2$, $e_3$ nella terza colonna. ::: ::: domanda Perché $v \times w$ è ortogonale a $v$? Quando è nullo? Il prodotto scalare di $v \times w$ con $v$ è il determinante della tabella con colonne $v$, $w$, $v$. Ha due colonne uguali, quindi vale 0. Il prodotto vettoriale è nullo esattamente quando i due vettori sono dipendenti, cioè uno multiplo dell'altro: in quel caso tutti e tre i minori valgono zero. ::: ## Glossario ```glossario Isometria | Una macchina lineare che si può disfare e che non cambia i prodotti scalari. Quindi non cambia lunghezze, distanze e angoli: è un movimento rigido. Isometria lineare | Un'isometria di $\R^n$ del tipo «moltiplica per una matrice». Tiene ferma l'origine. Traslazione | Far scivolare tutto dello stesso spostamento. È un movimento rigido, ma sposta anche l'origine: non è lineare e resta fuori da queste lezioni. Rotazione del piano | Gira il piano di un angolo $\vartheta$ in senso antiorario intorno all'origine. La sua matrice è $\mathrm{Rot}_\vartheta$ e ha determinante 1. $\mathrm{Rot}_\vartheta$ | La matrice con prima colonna $(\cos\vartheta, \sin\vartheta)$ e seconda colonna $(-\sin\vartheta, \cos\vartheta)$. Riflessione del piano | Uno specchio: manda ogni punto dall'altra parte di una retta per l'origine, alla stessa distanza. La sua matrice è $\mathrm{Rif}_\vartheta$ e ha determinante $-1$. $\mathrm{Rif}_\vartheta$ | La matrice con prima colonna $(\cos\vartheta, \sin\vartheta)$ e seconda colonna $(\sin\vartheta, -\cos\vartheta)$. Lo specchio sta all'angolo $\frac\vartheta2$. Matrice ortogonale | Una matrice quadrata reale con ${}^tA\,A = I_n$. Le sue colonne sono lunghe 1 e perpendicolari tra loro. L'inversa è la trasposta, il determinante è 1 oppure $-1$. $O(2)$ | L'insieme delle matrici ortogonali con due righe e due colonne: tutte le rotazioni e tutte le riflessioni. Non è un sottospazio. Base ortonormale | Una base fatta di vettori lunghi 1 e perpendicolari tra loro, come le colonne di una matrice ortogonale. Orientazione | Il verso in cui si gira, orario o antiorario. Le matrici con determinante negativo la invertono, come fa uno specchio. Rotazione dello spazio | Un movimento rigido dello spazio che tiene ferma una retta, l'asse, e fa girare tutto il resto intorno a lei. Ha determinante 1. Antirotazione | Una rotazione intorno a un asse seguita dallo specchio rispetto al piano perpendicolare all'asse. Ha determinante $-1$. Asse | La retta intorno a cui si gira. In una rotazione i suoi vettori restano fermi. In un'antirotazione diventano il loro opposto. Traccia | La somma dei numeri sulla diagonale di una matrice, scritta $\operatorname{tr}A$. Per un'isometria dello spazio vale $\cos\vartheta = \frac{\operatorname{tr}A - \det A}{2}$. Prodotto vettoriale | Da due vettori dello spazio ne costruisce un terzo, $v \times w$, perpendicolare a tutti e due. Esiste solo per vettori fatti di tre numeri. Minori $d_i$ | I tre conti «diagonale meno l'altra diagonale» fatti sulla tabella con $v$ e $w$ in colonna, coprendo la riga $i$. Vale $v \times w = (d_1, -d_2, d_3)$. Regola mnemonica | Un aiuto per ricordare il prodotto vettoriale: il determinante della tabella con $v$ e $w$ nelle prime due colonne e $e_1$, $e_2$, $e_3$ nella terza. Anticommutatività | Scambiando i due vettori il prodotto vettoriale cambia segno: $w \times v = -(v \times w)$. Per esempio $e_2 \times e_1 = -e_3$. Regola della mano destra | Dice da che parte punta $v \times w$: pollice lungo $v$, indice lungo $w$, e il medio indica il prodotto vettoriale. ``` ## Checklist ```checklist - So scrivere le matrici $\mathrm{Rot}_\vartheta$ e $\mathrm{Rif}_\vartheta$ e ricavarle guardando dove vanno $e_1$ ed $e_2$. - So che lo specchio di $\mathrm{Rif}_\vartheta$ sta all'angolo $\frac\vartheta2$ e so trovarlo cercando i vettori che restano fermi. - So scrivere la matrice della riflessione rispetto a una retta data, con l'angolo, con la proiezione o con il cambiamento di base. - So dire che cos'è un'isometria e perché basta controllarla sui vettori di una base. - So che, con il prodotto scalare normale, un'isometria è una macchina che non cambia le lunghezze, oppure le distanze. - So riconoscere una matrice ortogonale dalle colonne e usare le sue proprietà: l'inversa è la trasposta, il determinante è 1 oppure $-1$. - So riconoscere un movimento rigido del piano con il determinante e trovare l'angolo o lo specchio. - So che i movimenti rigidi dello spazio sono rotazioni e antirotazioni, e li distinguo con il determinante. - So calcolare $v \times w$ coprendo una riga alla volta, e controllo il risultato con il prodotto scalare. - So usare il prodotto vettoriale per trovare un vettore perpendicolare a un piano o la direzione della retta in cui si tagliano due piani. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 22 «Lo spazio euclideo I», pp. 111–115: sezioni 22.A (isometrie lineari del piano), 22.B (isometrie dello spazio) e 22.C (prodotto vettoriale), seguite in ordine con la loro numerazione (Definizioni 22.1, 22.3, 22.5, 22.10, 22.14; Proposizioni 22.2, 22.4, 22.6, 22.7, 22.8, 22.11, 22.15, 22.16; Corollari 22.9, 22.12, 22.17; Teorema 22.13; l'Osservazione sulla base comoda per le riflessioni). Le dispense non hanno esercizi per questa lezione. Richiami: Proposizione 8.6 (rango per righe), Teorema 9.6 (Laplace), Teorema 10.4 (Binet), lezioni L16, L17, L19–L21. - **B. Martelli, *Geometria e algebra lineare***: §4.4.8–4.4.9 e §4.4.11 (dimostrazioni delle Proposizioni 22.2 e 22.4 con le coordinate polari), §7.5 (isometrie), §8.2 (Proposizione 8.2.1, matrici ortogonali, riflessioni, rotazioni e antirotazioni, Teorema 8.2.13 e la formula con la traccia), §9.1 (prodotto vettoriale). Il libro è gratuito: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). - **Appelli d'esame** (Moodle 2025/26): domanda 2 del 10/07/2024; problemi 12 del 24/01/2024, del 10/07/2024, del 06/09/2024 e del 15/01/2026; domande sulla distanza tra rette dell'08/02/2024, del 06/09/2024, del 05/02/2026, del 03/06/2026 e del 07/09/2026. **Foglio 4 del tutorato** (esercizio 7, prodotto vettoriale e area). Le due domande riportate sono risolte in questi appunti. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi sono di questi appunti. Le parti **«Oltre le dispense»** (composizione e inversa delle rotazioni, proprietà delle matrici ortogonali, asse e angolo delle isometrie di $\R^3$, altre proprietà del prodotto vettoriale, collocazione nel libro) e le dimostrazioni prese dal libro di Martelli collegano la lezione al resto del corso e all'esame. --- > File: `contesto_ai/MDAG/lezioni/L23_spazio_euclideo_2.md` ```yaml corso: MDAG modulo: AG lezione: L23 titolo: Lo spazio euclideo II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L23 descrizione: >- Appunti della lezione L23 di Algebra lineare e Geometria (MDAG, parte 2): proprietà del prodotto vettoriale e area del parallelogramma, forma cartesiana e parametrica di rette e piani, sottospazi affini e giacitura, intersezioni, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Il prodotto vettoriale misura un'area e punta nel verso della mano destra. Poi rette e piani nello spazio: si descrivono con una prova («chi ci sta dentro») oppure con una ricetta («come sono fatti i punti»), anche quando non passano per l'origine. Alla fine, come si trova dove si incontrano: è il conto di quasi tutti i problemi di geometria. materiale: dispense scheda: Dispense: lezione 23 · pp. 116–121 Libro: Martelli, §9.1 e §9.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 23 «Lo spazio euclideo II»; B. Martelli, Geometria e algebra lineare, §9.1–9.2 appunti_html: appunti/MDAG/L23_spazio_euclideo_2.html genera_html: true ``` ## In breve - Il **prodotto vettoriale** di due vettori dello spazio (lezione L22) è perpendicolare a tutti e due, e la sua **lunghezza** è l'**area del parallelogramma** che hanno per lati. - Tutto viene da una sola uguaglianza, l'**identità di Lagrange**, che lega il prodotto vettoriale, il prodotto scalare e le lunghezze. - Il **verso** del prodotto vettoriale si trova con la **regola della mano destra**. - Il prodotto vettoriale cambia segno se scambi i fattori e si comporta bene con somme e multipli, ma **le parentesi contano**: non è associativo. - Un sottospazio si descrive con una **prova** (le equazioni, **forma cartesiana**: dicono chi ci sta dentro) oppure con una **ricetta** (i generatori, **forma parametrica**: dicono come sono fatti i punti). - Una retta o un piano che non passa per l'origine è un **sottospazio affine**: un sottospazio vettoriale spostato. Il sottospazio di partenza si chiama **giacitura**. - Nello spazio un piano ha **una** equazione. Dalla ricetta la si ottiene con il prodotto vettoriale dei due vettori della ricetta. - Per **intersecare** si fanno tre tipi di conti: si mettono insieme le prove, si mette la ricetta dentro la prova, oppure si uguagliano due ricette. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Da dove ripartiamo: il prodotto vettoriale (pp. 114–116) Nella lezione L22 hai incontrato un'operazione che esiste **solo nello spazio a tre dimensioni**: prende due vettori e restituisce un vettore, mentre il prodotto scalare restituisce un numero. In questi appunti, per risparmiare spazio, i vettori che le dispense scrivono in colonna li scriviamo spesso in riga: $(1, 2, 2)$ vuol dire la colonna ${}^t(1, 2, 2)$. Ecco la definizione, come nelle dispense. > [!DEF] 22.14 · Prodotto vettoriale (richiamo dalla lezione L22) > Dati due vettori $v = (v_1, v_2, v_3)$ e $w = (w_1, w_2, w_3)$ di $\R^3$, il **prodotto vettoriale** fra $v$ e $w$ è il vettore > $$v \times w = \begin{pmatrix} v_2 w_3 - v_3 w_2 \\ v_3 w_1 - v_1 w_3 \\ v_1 w_2 - v_2 w_1 \end{pmatrix}.$$ > In altre parole $v \times w = (d_1, -d_2, d_3)$, dove $d_i$ è il determinante del minore $2 \times 2$ che si ottiene cancellando la riga $i$-esima dalla matrice $\begin{pmatrix} v_1 & w_1 \\ v_2 & w_2 \\ v_3 & w_3 \end{pmatrix}$. **Come si legge.** $v \times w$ si legge «vu vettore vu doppio». In pratica si fa così: 1. scrivi $v$ e $w$ **uno accanto all'altro**, come due colonne; 2. prima componente: copri la **prima riga** e calcola il determinante $2 \times 2$ che resta; 3. seconda componente: copri la **seconda riga**, calcola il determinante e **cambia segno**; 4. terza componente: copri la **terza riga** e calcola il determinante. Le dispense ricordano anche una regola per la memoria: un «determinante» con una colonna fatta dei vettori della base. Non è una vera matrice, perché $e_1, e_2, e_3$ non sono numeri: $$\begin{aligned} v \times w &= \det\begin{pmatrix} v_1 & w_1 & e_1 \\ v_2 & w_2 & e_2 \\ v_3 & w_3 & e_3 \end{pmatrix} \\ &= \det\begin{pmatrix} v_2 & w_2 \\ v_3 & w_3 \end{pmatrix} e_1 - \det\begin{pmatrix} v_1 & w_1 \\ v_3 & w_3 \end{pmatrix} e_2 + \det\begin{pmatrix} v_1 & w_1 \\ v_2 & w_2 \end{pmatrix} e_3. \end{aligned}$$ > [!ESEMPIO] $v = (1, 2, 2)$ e $w = (0, 3, 4)$ > Le due colonne affiancate danno le righe $(1, 0)$, $(2, 3)$, $(2, 4)$. > - Copro la prima riga: $\det\begin{pmatrix} 2 & 3 \\ 2 & 4 \end{pmatrix} = 2 \cdot 4 - 3 \cdot 2 = 8 - 6 = 2$. > - Copro la seconda riga: $\det\begin{pmatrix} 1 & 0 \\ 2 & 4 \end{pmatrix} = 1 \cdot 4 - 0 \cdot 2 = 4$, e cambio segno: $-4$. > - Copro la terza riga: $\det\begin{pmatrix} 1 & 0 \\ 2 & 3 \end{pmatrix} = 1 \cdot 3 - 0 \cdot 2 = 3$. > > Quindi $v \times w = (2, -4, 3)$. Controllo che sia perpendicolare a tutti e due: > $$\langle v \times w, v \rangle = 2 \cdot 1 + (-4) \cdot 2 + 3 \cdot 2 = 2 - 8 + 6 = 0,$$ > $$\langle v \times w, w \rangle = 2 \cdot 0 + (-4) \cdot 3 + 3 \cdot 4 = 0 - 12 + 12 = 0.$$ Dalla lezione L22 servono anche tre fatti: - il prodotto vettoriale è **perpendicolare** a tutti e due i fattori (Proposizione 22.15): è il controllo appena fatto; - è **zero esattamente quando** i due vettori sono **dipendenti**, cioè uno è multiplo dell'altro (Proposizione 22.16); - se i due vettori sono indipendenti, loro due e il loro prodotto vettoriale formano una **base** dello spazio (Corollario 22.17). > [!TRAPPOLA] Il segno della componente centrale > L'errore più frequente è dimenticare il **meno** davanti al secondo determinante. Il controllo che salva sempre: il risultato deve dare **zero** nel prodotto scalare con tutti e due i fattori. Se non dà zero, c'è un errore di conto. ::: prova Quanto fa $(1, 0, 0) \times (0, 0, 1)$? Righe affiancate $(1, 0)$, $(0, 0)$, $(0, 1)$. Prima: $0 \cdot 1 - 0 \cdot 0 = 0$. Seconda: $1 \cdot 1 - 0 \cdot 0 = 1$, cambiato di segno $-1$. Terza: $1 \cdot 0 - 0 \cdot 0 = 0$. Risultato $(0, -1, 0)$. ::: > [!RICORDA] > - Prodotto vettoriale: copri una riga alla volta, con il **meno** al centro. > - Controllo: il risultato è perpendicolare a tutti e due i fattori. ## La lunghezza è un'area (pp. 116–117) Parti da un caso che si disegna sul foglio. Prendi $v = (3, 0, 0)$ e $w = (1, 2, 0)$: stanno tutti e due sul pavimento, il piano $z = 0$. Il parallelogramma con lati $v$ e $w$ ha **base** 3 e **altezza** 2, quindi **area** 6. ```grafico titolo: Il parallelogramma con lati $v = (3, 0)$ e $w = (1, 2)$ nel piano $z = 0$: base $3$, altezza $h = 2$, area $6$ x: -0.5 4.5 y: -0.8 2.8 nomi: $x$ $y$ poligono: 0 0 3 0 4 2 1 2 | ambra vettore: 3 0 | accento | spesso | $v$ | s vettore: 1 2 | blu | spesso | $w$ | no segmento: 1 2 1 0 | grigio | tratteggio | $h$ | e arco: 0 0 0.6 0 1.107 | grigio | $\vartheta$ ``` Ora calcola il prodotto vettoriale. Le righe affiancate sono $(3, 1)$, $(0, 2)$, $(0, 0)$: $$v \times w = \begin{pmatrix} 0 \cdot 0 - 0 \cdot 2 \\ 0 \cdot 1 - 3 \cdot 0 \\ 3 \cdot 2 - 0 \cdot 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 6 \end{pmatrix}.$$ Il vettore punta in verticale, perpendicolare al pavimento dove stanno $v$ e $w$, ed è **lungo 6**: proprio l'area. Non è un caso, ed è quello che dimostra questa sezione. ### L'identità di Lagrange Tutto parte da un'uguaglianza tra tre numeri. Le dispense la scrivono così. > [!PROP] 23.1 > Per ogni $v, w \in \R^3$ vale l'equazione > $$\lVert v \times w \rVert^2 + \langle v, w \rangle^2 = \lVert v \rVert^2 \lVert w \rVert^2.$$ **Come si legge.** La lunghezza al quadrato del prodotto vettoriale, più il quadrato del prodotto scalare, fa il prodotto delle lunghezze al quadrato. Se conosci due di queste tre cose, trovi la terza. Qui lunghezze e prodotto scalare sono quelli di tutti i giorni (lezione L20). > [!ESEMPIO] Controllo con $v = (1, 2, 2)$ e $w = (0, 3, 4)$ > - $v \times w = (2, -4, 3)$, quindi la sua lunghezza al quadrato è $4 + 16 + 9 = 29$; > - $\langle v, w \rangle = 0 + 6 + 8 = 14$, quindi il suo quadrato è 196; > - le lunghezze al quadrato di $v$ e $w$ sono $1 + 4 + 4 = 9$ e $0 + 9 + 16 = 25$, con prodotto 225. > > E infatti $29 + 196 = 225$. > [!DIM] della Proposizione 23.1 > Le dispense sviluppano i quadrati: conviene farlo per esteso, una volta. > > 1. A sinistra, sviluppando i tre quadrati di $\lVert v \times w \rVert^2 = (v_2 w_3 - v_3 w_2)^2 + (v_1 w_3 - v_3 w_1)^2 + (v_1 w_2 - v_2 w_1)^2$ si ottengono sei quadrati e tre doppi prodotti: > $$\begin{aligned} &v_2^2 w_3^2 + v_3^2 w_2^2 + v_1^2 w_3^2 + v_3^2 w_1^2 + v_1^2 w_2^2 + v_2^2 w_1^2 \\ &\quad - 2\,(v_2 w_2 v_3 w_3 + v_1 w_1 v_3 w_3 + v_1 w_1 v_2 w_2). \end{aligned}$$ > 2. Il prodotto $(v_1^2 + v_2^2 + v_3^2)(w_1^2 + w_2^2 + w_3^2)$ contiene **tutti i nove** pezzi $v_i^2 w_j^2$. > 3. Il quadrato $(v_1 w_1 + v_2 w_2 + v_3 w_3)^2$ contiene i tre pezzi con indici uguali, $v_1^2 w_1^2 + v_2^2 w_2^2 + v_3^2 w_3^2$, più gli stessi tre doppi prodotti del punto 1, con il segno più. > 4. Togliendo il terzo dal secondo restano i sei pezzi $v_i^2 w_j^2$ con indici diversi, meno i tre doppi prodotti: è esattamente l'espressione del punto 1. > 5. Quindi $\lVert v \times w \rVert^2 = \lVert v \rVert^2 \lVert w \rVert^2 - \langle v, w \rangle^2$, che è l'enunciato. ### Dall'identità all'area Prendi ora due vettori **indipendenti**. Stanno in un piano, e dentro quel piano c'è il parallelogramma con lati $v$ e $w$: la Figura 8 delle dispense lo disegna con il prodotto vettoriale che esce dal piano. L'area si calcola come base per altezza. Le dispense lo scrivono così. > [!PROP] 23.2 > L'area di $P$ è $\operatorname{Area}(P) = \lVert v \rVert \lVert w \rVert \sin\vartheta$. **Come si legge.** $P$ è il parallelogramma e $\vartheta$ l'angolo fra $v$ e $w$. Prendi $v$ come base, lunga $\lVert v \rVert$. L'altezza è la distanza della punta di $w$ dalla retta di $v$. Nel triangolo rettangolo con ipotenusa $w$ e angolo $\vartheta$, il cateto opposto all'angolo misura $\lVert w \rVert \sin\vartheta$: è la definizione di seno delle superiori, e il libro di Martelli usa lo stesso argomento. Base per altezza dà la formula. Nel disegno sopra: $3 \cdot \sqrt 5 \cdot \frac{2}{\sqrt 5} = 6$. Mettendo insieme le due cose, le dispense ricavano il risultato della sezione. > [!COROLLARIO] 23.3 > Il modulo del prodotto vettoriale è > $$\lVert v \times w \rVert = \lVert v \rVert \lVert w \rVert \sin\vartheta = \operatorname{Area}(P),$$ > dove $\vartheta$ è l'angolo formato da $v$ e $w$ e $P$ è il parallelogramma con lati $v$ e $w$. **Come si legge.** La lunghezza del prodotto vettoriale è l'area del parallelogramma. «Modulo» qui vuol dire lunghezza. Il perché, un passaggio alla volta: 1. dalla definizione di angolo (lezione L20), $\langle v, w \rangle = \lVert v \rVert \lVert w \rVert \cos\vartheta$; 2. lo metto nell'identità di Lagrange: $\lVert v \times w \rVert^2 = \lVert v \rVert^2 \lVert w \rVert^2 (1 - \cos^2\vartheta)$; 3. siccome $\sin^2\vartheta + \cos^2\vartheta = 1$, viene $\lVert v \times w \rVert^2 = \lVert v \rVert^2 \lVert w \rVert^2 \sin^2\vartheta$; 4. prendo la radice. Serve che il seno non sia negativo, e infatti l'angolo fra due vettori sta sempre tra 0 e $\pi$, dove il seno non è mai negativo. > [!ESEMPIO] L'area con i due metodi > Con $v = (1, 2, 2)$ e $w = (0, 3, 4)$: > - **con il prodotto vettoriale**: l'area è la lunghezza di $(2, -4, 3)$, cioè $\sqrt{29}$; > - **con l'angolo**: $\cos\vartheta = \frac{14}{3 \cdot 5} = \frac{14}{15}$, quindi $\sin\vartheta = \sqrt{1 - \frac{196}{225}} = \frac{\sqrt{29}}{15}$, e l'area è $3 \cdot 5 \cdot \frac{\sqrt{29}}{15} = \sqrt{29}$. > > Stesso risultato; il primo metodo non richiede nessun angolo. > [!ESEMPIO] L'area di un triangolo nello spazio > Il triangolo con vertici $A = (1, 0, 0)$, $B = (0, 2, 0)$, $C = (0, 0, 3)$ è **metà** del parallelogramma con lati $\overrightarrow{AB}$ e $\overrightarrow{AC}$: la diagonale $BC$ lo taglia in due triangoli uguali. > - $\overrightarrow{AB} = B - A = (-1, 2, 0)$ e $\overrightarrow{AC} = C - A = (-1, 0, 3)$; > - righe affiancate $(-1, -1)$, $(2, 0)$, $(0, 3)$: il prodotto vettoriale è $(2 \cdot 3 - 0 \cdot 0,\ -((-1) \cdot 3 - (-1) \cdot 0),\ (-1) \cdot 0 - (-1) \cdot 2) = (6, 3, 2)$; > - la sua lunghezza è $\sqrt{36 + 9 + 4} = \sqrt{49} = 7$. > > L'area del triangolo è $\frac 72$. ```widget spazio titolo: Prodotto vettoriale e area del parallelogramma modo: vettoriale u: 1 2 2 v: 0 3 4 ``` Trascina il disegno per girarlo: il parallelogramma giallo ha area $\sqrt{29}$, circa 5,385. Prova poi $v = (2, 4, 4)$, che è il doppio di $u$: il parallelogramma si schiaccia su un segmento e il prodotto vettoriale diventa nullo (Proposizione 22.16). Infine scambia $u$ e $v$: il prodotto vettoriale si capovolge, come vedrai nella prossima sezione. ::: prova Qual è l'area del parallelogramma con lati $(2, 0, 0)$ e $(0, 3, 0)$? Il prodotto vettoriale è $(0, 0, 6)$, lungo 6. È un rettangolo 2 per 3. ::: > [!RICORDA] > - Lunghezza del prodotto vettoriale = area del parallelogramma; metà = area del triangolo. > - Viene dall'identità di Lagrange. ## Il verso: la regola della mano destra (p. 117) Se i due vettori sono dipendenti, il prodotto vettoriale è zero e non c'è altro da dire. Se sono indipendenti, sappiamo già due cose: - la **direzione**: il prodotto vettoriale è perpendicolare al piano che contiene i due vettori; - la **lunghezza**: è l'area del parallelogramma. Restano **due** candidati, opposti: uno «sopra» il piano e uno «sotto». Per scegliere si usa la **regola della mano destra** (Figura 9 delle dispense). Con la mano **destra**, metti il **pollice** lungo il primo vettore e l'**indice** lungo il secondo: il **medio**, piegato ad angolo retto rispetto al palmo, indica il verso del prodotto. Nel primo esempio della sezione precedente $v$ puntava a destra, $w$ in alto a destra, e il prodotto $(0, 0, 6)$ esce dal foglio verso di te. In formule la regola diventa un determinante. Le dispense lo scrivono così. > [!PROP] 23.4 > Se $v$ e $w$ sono indipendenti, la terna $v, w, v \times w$ è una **base positiva** di $\R^3$, cioè la matrice che ha come colonne $v, w, v \times w$ ha determinante positivo. **Come si legge.** - Una **base positiva** è una base i cui tre vettori, messi in colonna, danno una matrice con determinante positivo. La scrittura $(u_1 \mid u_2 \mid u_3)$ indica la matrice con quelle colonne. - L'esempio tipico è la base canonica: la sua matrice è l'identità, con determinante 1, e infatti $e_1 \times e_2 = e_3$. - La regola della mano destra è la traduzione «fisica» di questo determinante positivo. > [!DIM] della Proposizione 23.4 (dal libro di Martelli) > Le dispense non riportano la dimostrazione; quella del libro (Proposizione 9.1.7) è breve. > > 1. Scrivo $v \times w = (d_1, -d_2, d_3)$ come nella Definizione 22.14, dove $d_i$ è il minore di $\begin{pmatrix} v_1 & w_1 \\ v_2 & w_2 \\ v_3 & w_3 \end{pmatrix}$ senza la riga $i$. > 2. Sviluppo $\det(v \mid w \mid v \times w)$ con Laplace sulla **terza colonna**. Il cofattore di posto $(i, 3)$ è $(-1)^{i+3} d_i$, cioè $+d_1$, $-d_2$, $+d_3$. > 3. Quindi $\det(v \mid w \mid v \times w) = d_1 \cdot d_1 + (-d_2) \cdot (-d_2) + d_3 \cdot d_3 = d_1^2 + d_2^2 + d_3^2 = \lVert v \times w \rVert^2$. > 4. Se $v$ e $w$ sono indipendenti, il prodotto vettoriale non è zero (Proposizione 22.16), quindi la somma dei quadrati è **strettamente** positiva. > [!ESEMPIO] Il determinante della terna > Con $v = (1, 2, 2)$, $w = (0, 3, 4)$ e $v \times w = (2, -4, 3)$, sviluppando sulla terza colonna: > $$\begin{aligned} \det\begin{pmatrix} 1 & 0 & 2 \\ 2 & 3 & -4 \\ 2 & 4 & 3 \end{pmatrix} &= 2 \cdot (8 - 6) - (-4) \cdot (4 - 0) + 3 \cdot (3 - 0) \\ &= 4 + 16 + 9 = 29, \end{aligned}$$ > positivo, e uguale alla lunghezza al quadrato del prodotto vettoriale, come dice la dimostrazione. > [!IDEA] Una definizione con le figure > A questo punto il prodotto vettoriale di due vettori indipendenti si descrive senza coordinate: è l'**unico** vettore perpendicolare a tutti e due, lungo quanto l'area del loro parallelogramma, e con il verso della mano destra. Direzione, lunghezza e verso: tre informazioni, un solo vettore. ::: prova Che verso ha $e_2 \times e_1$? È l'opposto di $e_1 \times e_2 = e_3$: vale $-e_3$, punta verso il basso. ::: > [!RICORDA] > - Verso del prodotto vettoriale: pollice sul primo, indice sul secondo, il medio dà il verso. > - In formule: i due vettori e il loro prodotto, in colonna, danno un determinante positivo. ## Le regole di calcolo (p. 117) Dalla definizione seguono due regole, che le dispense elencano subito dopo la Proposizione 23.4. **1. Scambiare i fattori cambia il segno.** Per ogni coppia di vettori: $$v \times w = -\,w \times v.$$ Il motivo: scambiando i due vettori, in ogni componente i due prodotti si scambiano di posto. Per esempio la prima componente diventa $w_2 v_3 - w_3 v_2 = -(v_2 w_3 - v_3 w_2)$. Con i numeri di prima: $w \times v = (-2, 4, -3)$. Una conseguenza: un vettore per sé stesso dà l'opposto di sé stesso, quindi dà zero. **2. Somme e multipli escono fuori.** Il prodotto vettoriale si comporta come il prodotto scalare, in ciascuno dei due posti: $$(v + v') \times w = v \times w + v' \times w, \qquad (\lambda v) \times w = \lambda\,(v \times w),$$ $$v \times (w + w') = v \times w + v \times w', \qquad v \times (\lambda w) = \lambda\,(v \times w).$$ Il motivo: ogni componente è una somma di pezzi del tipo «una coordinata del primo per una coordinata del secondo». Un'espressione così rispetta somme e multipli in ciascun vettore, se l'altro resta fisso. Per esempio $(2, 4, 4) \times (0, 3, 4) = (16 - 12,\ 0 - 8,\ 6 - 0) = (4, -8, 6)$, che è il doppio di $(2, -4, 3)$. **I prodotti dei vettori della base canonica**, da tenere a mente: | $\times$ | $e_1$ | $e_2$ | $e_3$ | |---|---|---|---| | $e_1$ | $0$ | $e_3$ | $-e_2$ | | $e_2$ | $-e_3$ | $0$ | $e_1$ | | $e_3$ | $e_2$ | $-e_1$ | $0$ | Si legge «riga per colonna»: $e_1 \times e_2 = e_3$. Girando in avanti nel ciclo $e_1, e_2, e_3, e_1$ il segno è più; all'indietro è meno. **3. Le parentesi contano.** Qui c'è la differenza più grande con i prodotti di numeri o di matrici. L'esempio delle dispense: $$(e_1 \times e_2) \times e_2 = e_3 \times e_2 = -\,e_2 \times e_3 = -e_1, \qquad e_1 \times (e_2 \times e_2) = e_1 \times 0 = 0.$$ Stessi tre vettori, parentesi diverse, risultati diversi. > [!TRAPPOLA] Tre errori da non fare > - Scrivere $u \times v \times w$ **senza parentesi**: non ha un significato unico. > - Scambiare i fattori senza cambiare segno: $w \times v$ è l'**opposto** di $v \times w$. > - Pensare che un prodotto vettoriale zero voglia dire un fattore zero: basta che siano **paralleli**, per esempio $(1, 2, 3) \times (2, 4, 6) = 0$. ::: prova Se $v \times w = (1, 0, 2)$, quanto fa $(3v) \times (2w)$? I numeri escono fuori: $6\,(v \times w) = (6, 0, 12)$. ::: > [!RICORDA] > - Scambiare i fattori cambia il segno; un vettore per sé stesso dà zero. > - Somme e multipli escono fuori; le parentesi invece contano. ## Una prova o una ricetta (p. 118) Pensa al pavimento di una stanza, con l'origine in un angolo. È il piano $z = 0$, e lo puoi descrivere in due modi: - con una **prova**: «un punto sta sul pavimento se la sua altezza $z$ è zero»; - con una **ricetta**: «i punti del pavimento sono tutti quelli del tipo $(t, s, 0)$, con $t$ e $s$ numeri qualsiasi». La prima è un'**equazione**, la seconda usa dei **parametri**. Le dispense danno un nome alle due scritture. > [!DEF] Forma cartesiana e forma parametrica (p. 118) > Un sottospazio vettoriale di $\R^n$ descritto come **luogo di zeri di un sistema di equazioni lineari omogenee** è detto in **forma cartesiana**. Un sottospazio vettoriale di $\R^n$ descritto come **sottospazio generato da alcuni vettori** è detto in **forma parametrica**. Qualsiasi sottospazio vettoriale di $\R^n$ può essere descritto in entrambi i modi. **Come si legge.** - **Forma cartesiana**: le equazioni, cioè la prova. Descrive il sottospazio dicendo chi ci sta dentro. - **Forma parametrica**: i generatori, cioè la ricetta. Descrive il sottospazio dicendo come sono fatti i suoi punti, al variare dei **parametri**. - Ogni sottospazio si può scrivere in tutti e due i modi. L'esempio delle dispense è proprio il pavimento. In forma cartesiana ha l'equazione $z = 0$; in forma parametrica è generato da $e_1$ ed $e_2$: $$W = \Span(e_1, e_2) = \left\{ t \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} + s \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} \ \middle|\ s, t \in \R \right\} = \left\{ \begin{pmatrix} t \\ s \\ 0 \end{pmatrix} \ \middle|\ s, t \in \R \right\}.$$ Spesso è più comoda la ricetta, ma dipende da che cosa devi fare: | Che cosa devi fare | Forma più comoda | Perché | |---|---|---| | Decidere se $(2, 5, 0)$ sta nel pavimento | la prova | sostituisci: $z = 0$, sì | | Scrivere tre punti del pavimento | la ricetta | scegli tre coppie $(t, s)$ | | Trovare la dimensione | la ricetta | conti i generatori indipendenti | | Intersecare con un altro sottospazio | dipende | lo vedi nella sezione sulle intersezioni | > [!ESEMPIO] Due passaggi tra le forme, per sottospazi vettoriali > **Dalla ricetta alla prova.** La retta $L = \Span((1, 2, 3))$ ha i punti $(x, y, z) = (t, 2t, 3t)$. Dalla prima coordinata $t = x$; sostituendo nelle altre, $y = 2x$ e $z = 3x$. Quindi > $$L = \{2x - y = 0,\ 3x - z = 0\}.$$ > Controllo con il generatore: $2 \cdot 1 - 2 = 0$ e $3 \cdot 1 - 3 = 0$. > > **Dalla prova alla ricetta.** Il piano $\{x + y + z = 0\}$: ricavo $x = -y - z$ e lascio libere $y = s$, $z = t$. I punti sono $(-s - t, s, t) = s(-1, 1, 0) + t(-1, 0, 1)$, quindi il piano è $\Span((-1, 1, 0), (-1, 0, 1))$. ::: prova Scrivi la ricetta del piano $z = x$. Lascio libere $x = s$ e $y = t$, poi $z = s$: i punti sono $(s, t, s) = s(1, 0, 1) + t(0, 1, 0)$. ::: > [!RICORDA] > - Forma cartesiana = prova (equazioni); forma parametrica = ricetta (punto e generatori). > - Dalla prova alla ricetta: risolvi il sistema. Dalla ricetta alla prova: elimina i parametri. ## Rette e piani spostati: i sottospazi affini (pp. 118–119) Prendi una retta del piano che **non passa per l'origine**. Per esempio la retta $y = x - 1$: il punto $(0, 0)$ non soddisfa l'equazione. Quindi non è un sottospazio vettoriale, che contiene sempre lo zero. Però è la retta $y = x$ **spostata** di un passo verso destra: ogni suo punto è $(1, 0)$ più un multiplo di $(1, 1)$. Tutte le rette e i piani che non passano per l'origine sono fatti così. Le dispense li chiamano con un nome già visto nella lezione L12. > [!DEF] 12.5 · Sottospazio affine (richiamo dalla lezione L12) > Sia $V$ uno spazio vettoriale. Un **sottospazio affine** di $V$ è un sottoinsieme del tipo > $$S = \{x + v \mid v \in W\} =: x + W,$$ > dove $x$ è un punto fissato di $V$ e $W \subseteq V$ è un sottospazio vettoriale. **Come si legge.** Un sottospazio affine è un sottospazio vettoriale $W$ **spostato** in modo da passare per il punto $x$. La scrittura $x + W$ si legge «ics più vu doppio». Le dispense ricordano da dove vengono: le soluzioni di un sistema lineare sono **niente, oppure un sottospazio affine**. Se c'è almeno una soluzione $x$, tutte le soluzioni sono $x$ più le soluzioni del **sistema omogeneo associato**. È il sistema con le stesse equazioni e i termini noti uguali a zero, e le sue soluzioni formano un sottospazio vettoriale. È quello che hai fatto nella lezione L12: «una soluzione particolare più le soluzioni dell'omogeneo». ### Quando due scritture danno lo stesso insieme Lo stesso sottospazio affine si può scrivere in molti modi, perché come punto di partenza va bene **qualsiasi** suo punto. Le dispense dicono quando due scritture coincidono. > [!PROP] 23.5 > Gli spazi affini $x + W$ e $x' + W'$ coincidono se e solo se $W = W'$ e $x - x' \in W$. **Come si legge.** Due scritture danno lo stesso insieme esattamente quando valgono due cose: - **la stessa direzione**: lo stesso sottospazio vettoriale, anche se scritto con generatori diversi; - **i punti di partenza sullo stesso insieme**: il vettore che va da un punto di partenza all'altro è una direzione ammessa. > [!DIM] della Proposizione 23.5 (oltre le dispense) > Le dispense non la dimostrano; ecco una dimostrazione breve. > > **Se le due condizioni valgono, gli insiemi coincidono.** Un punto di $x + W$ è $x + w$ con $w$ in $W$, e si riscrive $x + w = x' + \big((x - x') + w\big)$. Il vettore tra parentesi è somma di due vettori di $W$, quindi sta in $W = W'$: il punto sta in $x' + W'$. Scambiando i ruoli si ottiene il contrario. > > **Se gli insiemi coincidono, le due condizioni valgono.** Chiama $S$ l'insieme. Le **differenze** fra due punti di $S$ sono esattamente i vettori di $W$: se $p = x + w_1$ e $q = x + w_2$, allora $p - q = w_1 - w_2$ sta in $W$, e ogni $w$ di $W$ è la differenza $(x + w) - x$. Lo stesso ragionamento, partendo da $x'$, dice che le differenze sono esattamente i vettori di $W'$. Quindi $W = W'$. Infine $x$ sta in $S = x' + W'$, cioè $x - x'$ sta in $W' = W$. Ecco l'esempio delle dispense. > [!ESEMPIO] 23.6 > Se $W = \Span\begin{pmatrix} 1 \\ 1 \end{pmatrix}$ in $\R^2$, le due rette affini > $$r_1 = \begin{pmatrix} 1 \\ 0 \end{pmatrix} + W = \left\{ \begin{pmatrix} t + 1 \\ t \end{pmatrix} \ \middle|\ t \in \R \right\},$$ > $$r_2 = \begin{pmatrix} 0 \\ -1 \end{pmatrix} + W = \left\{ \begin{pmatrix} u \\ u - 1 \end{pmatrix} \ \middle|\ u \in \R \right\}$$ > sono in realtà la stessa retta, di equazione $y = x - 1$. Controllo in tre modi: 1. **con la Proposizione 23.5**: la direzione è la stessa, e $(1, 0) - (0, -1) = (1, 1)$ sta in $W$; 2. **con l'equazione**: in $r_1$ il punto $(t + 1, t)$ ha $y = t = (t + 1) - 1 = x - 1$; in $r_2$ il punto $(u, u - 1)$ ha $y = u - 1 = x - 1$; 3. **con i parametri**: il punto di $r_1$ con parametro $t$ è quello di $r_2$ con parametro $u = t + 1$. Invece la retta $y = x$, cioè $(0, 0) + W$, è **diversa**: $(1, 0) - (0, 0) = (1, 0)$ non è un multiplo di $(1, 1)$. È una retta **parallela** a $r_1$. ```grafico titolo: La retta $y = x - 1$ è la retta $W$ spostata: si può partire da $(1, 0)$ oppure da $(0, -1)$ x: -2.5 3.5 y: -2.5 3 retta: 0 0 1 1 | grigio | tratteggio | $W$ | no retta: 1 0 2 1 | accento | spesso | $r_1 = r_2$ | se punto: 1 0 | blu | $(1, 0)$ | se punto: 0 -1 | ambra | $(0, -1)$ | no vettore: 1 0 2 1 | viola | $(1, 1)$ | no ``` ### La giacitura e la dimensione Il sottospazio vettoriale da cui si parte ha un nome. Le dispense lo scrivono così. > [!DEF] 23.7 > Nella descrizione di uno spazio affine $S$ come $x + W$, lo spazio vettoriale $W$ è determinato da $S$ ed è detto la **giacitura** di $S$, indicata con $\operatorname{giac}(S)$. Il punto $x$ invece è un **qualsiasi** punto di $S$. La **dimensione** di $S$ è la dimensione della giacitura $W$. **Come si legge.** La giacitura sono le **direzioni** in cui ci si può muovere restando dentro l'insieme: le differenze tra due suoi punti. Il punto di partenza si può cambiare, la giacitura no (Proposizione 23.5). Una retta spostata ha dimensione 1, un piano spostato dimensione 2. Anche i sottospazi affini hanno le due forme. - **Ricetta**, cioè forma parametrica: $$S = x + \Span(v_1, \dots, v_k) = \{x + t_1 v_1 + \dots + t_k v_k \mid t_1, \dots, t_k \in \R\},$$ dove $v_1, \dots, v_k$ sono una **base** della giacitura. Allora la dimensione è $k$: un parametro per ogni vettore della base. - **Prova**, cioè forma cartesiana: le soluzioni di un sistema $Ax = b$. Per il **teorema di Rouché–Capelli** (Teorema 12.6) l'insieme non è vuoto esattamente quando $A$ e la matrice completa hanno lo stesso rango. In quel caso la dimensione è il numero delle incognite meno il rango di $A$. > [!ESEMPIO] Contare le dimensioni con Rouché–Capelli > **Un sistema che dà una retta.** $S = \{x + y + z = 3,\ x - y = 1\}$ nello spazio. Le righe $(1, 1, 1)$ e $(1, -1, 0)$ non sono proporzionali, quindi tutte e due le matrici hanno rango 2 e la dimensione è $3 - 2 = 1$: una retta. Per scriverla: dalla seconda equazione $x = 1 + y$; nella prima $1 + y + y + z = 3$, cioè $z = 2 - 2y$. Con $y = t$: > $$S = \{(1 + t,\ t,\ 2 - 2t)\} = (1, 0, 2) + \Span((1, 1, -2)).$$ > > **Un sistema senza soluzioni.** $\{x + y + z = 1,\ x + y + z = 2\}$: togliendo le equazioni viene $0 = 1$. Qui $A$ ha rango 1 ma la matrice completa ha rango 2, e l'insieme è vuoto. Nel disegno: due piani **paralleli** diversi. > [!NOTA] Collegamento con l'informatica: classificatori lineari (p. 119) > Le dispense collegano questa lezione al *machine learning*. Un **iperpiano** dello spazio a $n$ dimensioni è un sottospazio affine di dimensione $n - 1$: una retta nel piano, un piano nello spazio. Si può scrivere come > $${}^t w\, x + b = 0,$$ > con $w$ vettore non nullo e $b$ numero. L'iperpiano divide lo spazio in due **metà**: quella dove ${}^t w\, x + b$ è positivo e quella dove è negativo. Un semplice **classificatore lineare** sceglie la classe di un vettore di dati guardando il **segno** di ${}^t w\, x + b$. Il vettore $w$ è **perpendicolare** all'iperpiano di separazione. La stessa geometria sta alla base del percettrone e delle macchine a vettori di supporto nella loro forma lineare. > [!ESEMPIO] Un classificatore nel piano > Con $w = (1, 1)$ e $b = -3$ l'iperpiano è la retta $x + y - 3 = 0$. Classifichiamo tre punti calcolando $x + y - 3$: > - $(1, 1)$: $1 + 1 - 3 = -1$, negativo: classe «negativa»; > - $(3, 2)$: $3 + 2 - 3 = 2$, positivo: classe «positiva»; > - $(1, 2)$: $1 + 2 - 3 = 0$, sta proprio sulla retta di separazione. ```grafico titolo: La retta $x + y = 3$ separa i punti con $x + y - 3 < 0$ da quelli con $x + y - 3 > 0$; il vettore $w = (1, 1)$ le è ortogonale x: -0.5 4.5 y: -0.5 4 retta: 3 0 0 3 | accento | $x + y = 3$ | ne punto: 1 1 | rosa | $(1, 1)$ | so punto: 3 2 | verde | $(3, 2)$ | ne punto: 1 2 | grigio | $(1, 2)$ | so vettore: 1.5 1.5 2.3 2.3 | viola | spesso | $w$ | e ``` ::: prova La retta $(0, 1) + \Span((1, 1))$ è la stessa di $(2, 3) + \Span((1, 1))$? Sì: stessa direzione, e $(2, 3) - (0, 1) = (2, 2)$ è un multiplo di $(1, 1)$. ::: > [!RICORDA] > - Sottospazio affine = sottospazio vettoriale spostato, $x + W$. La giacitura $W$ sono le direzioni; il punto $x$ si può cambiare. > - Due scritture coincidono esattamente con la stessa giacitura e i punti di partenza che differiscono per una direzione ammessa. ## Rette e piani nello spazio (pp. 119–120) Nello spazio i sottospazi affini sono di quattro tipi. Per Rouché–Capelli, il numero di equazioni indipendenti che servono è 3 meno la dimensione. | Dimensione | Che cos'è | Ricetta | Prova | |---|---|---|---| | 0 | un punto | $P_0$ | 3 equazioni indipendenti | | 1 | una retta | $P_0 + t v$ | 2 equazioni indipendenti | | 2 | un piano | $P_0 + t v_1 + s v_2$ | 1 equazione | | 3 | tutto lo spazio | $P_0 + t e_1 + s e_2 + u e_3$ | nessuna equazione | - Un **piano** si descrive con **un'equazione** $ax + by + cz = d$, con $(a, b, c)$ non nullo, oppure con un punto e due vettori indipendenti che generano la giacitura. - Una **retta** si descrive con **due** equazioni di quel tipo, oppure, più comodamente, con la ricetta $P_0 + t v$, con $v$ non nullo: il **vettore direzione**. > [!TRAPPOLA] Una sola equazione non basta per una retta nello spazio > Nel piano la retta $x + 2y = 3$ ha un'equazione sola. Nello spazio la stessa equazione $x + 2y = 3$ descrive un **piano**, perché la $z$ è libera: per una retta nello spazio servono **due** equazioni indipendenti. > [!IDEA] Il vettore dei numeri davanti è perpendicolare al piano > Prendi due punti $P$ e $Q$ del piano $\{ax + by + cz = d\}$ e chiama $n = (a, b, c)$. Allora $\langle n, P \rangle = d$ e $\langle n, Q \rangle = d$, quindi > $$\langle n, Q - P \rangle = d - d = 0.$$ > Ogni direzione del piano è perpendicolare a $n$: per questo $n$ si chiama **vettore normale** del piano. La giacitura è il piano $\{ax + by + cz = 0\}$, fatto dei vettori perpendicolari a $n$. Questo fatto tornerà di continuo nella lezione L24, con angoli e distanze. ### Dalla prova alla ricetta Si risolve il sistema, per esempio con Gauss (lezione L11): le variabili libere diventano i parametri. > [!ESEMPIO] Un piano e una retta, dalla prova alla ricetta > **Il piano $x + 2y - z = 8$.** Ricavo $z = x + 2y - 8$ e lascio libere $x = s$, $y = t$: > $$(s,\ t,\ s + 2t - 8) = (0, 0, -8) + s(1, 0, 1) + t(0, 1, 2).$$ > Controllo: $(0, 0, -8)$ soddisfa $0 + 0 - (-8) = 8$; i due vettori soddisfano l'equazione con zero a destra: $1 + 0 - 1 = 0$ e $0 + 2 - 2 = 0$. > > **La retta $\{x + y + z = 3,\ x - y = 1\}$** l'abbiamo già risolta sopra: $(1, 0, 2) + \Span((1, 1, -2))$. ### Dalla ricetta alla prova: il trucco del prodotto vettoriale A volte serve il contrario. Per i **piani dello spazio** c'è un metodo rapido. Prendi il piano $P_0 + t v_1 + u v_2$, con $v_1, v_2$ indipendenti: 1. calcola $v_1 \times v_2$: avrà tre numeri $a, b, c$; 2. il piano è $ax + by + cz = d$, per un certo numero $d$; 3. trovi $d$ imponendo che $P_0$ stia sul piano, cioè sostituendo le sue coordinate. Perché funziona: $n = v_1 \times v_2$ è perpendicolare a $v_1$ e a $v_2$ (Proposizione 22.15). Per ogni punto $P = P_0 + t v_1 + u v_2$ del piano $$\langle n, P \rangle = \langle n, P_0 \rangle + t \langle n, v_1 \rangle + u \langle n, v_2 \rangle = \langle n, P_0 \rangle,$$ quindi tutti i punti del piano soddisfano la stessa equazione, con $d = \langle n, P_0 \rangle$. E $n$ non è zero, perché $v_1$ e $v_2$ sono indipendenti (Proposizione 22.16). Ecco l'esempio delle dispense. > [!ESEMPIO] 23.8 > Prendiamo > $$\pi = \left\{ \begin{pmatrix} 1 \\ 2 \\ -3 \end{pmatrix} + t \begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix} + s \begin{pmatrix} 2 \\ -1 \\ 0 \end{pmatrix} \right\}.$$ > Troviamo > $$\begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix} \times \begin{pmatrix} 2 \\ -1 \\ 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \\ -1 \end{pmatrix}.$$ > Quindi $\pi = \{x + 2y - z = d\}$ per qualche $d \in \R$, che determiniamo imponendo che il punto $(1, 2, -3)$ stia in $\pi$: > $$1 + 4 + 3 = d,$$ > e quindi $d = 8$. Abbiamo trovato un'equazione cartesiana per il piano: $\pi = \{x + 2y - z = 8\}$. I conti del prodotto vettoriale, riga per riga, con le righe affiancate $(1, 2)$, $(0, -1)$, $(1, 0)$: - prima componente, copro la prima riga: $0 \cdot 0 - (-1) \cdot 1 = 1$; - seconda, copro la seconda riga: $1 \cdot 0 - 2 \cdot 1 = -2$, e cambio segno: $2$; - terza, copro la terza riga: $1 \cdot (-1) - 2 \cdot 0 = -1$. Controllo finale con un altro punto del piano, per esempio con $t = s = 1$: $P = (1 + 1 + 2,\ 2 + 0 - 1,\ -3 + 1 + 0) = (4, 1, -2)$, e $4 + 2 \cdot 1 - (-2) = 8$. Nota una cosa: nell'esempio precedente, con la stessa equazione, avevamo trovato un'**altra** ricetta, $(0, 0, -8) + s(1, 0, 1) + t(0, 1, 2)$. Nessuna contraddizione, per la Proposizione 23.5. Le giaciture coincidono, perché $(2, -1, 0) = 2\,(1, 0, 1) - (0, 1, 2)$. E la differenza dei punti di partenza, $(1, 2, -3) - (0, 0, -8) = (1, 2, 5) = (1, 0, 1) + 2\,(0, 1, 2)$, sta nella giacitura. ```widget spazio titolo: Il piano dell'Esempio 23.8 con il suo vettore normale modo: piano piano: 1 2 -1 = 8 punto: 4 1 -2 ``` Il piano viola è $x + 2y - z = 8$ e la freccia $n$ è il vettore normale $(1, 2, -1)$. Il punto $P = (4, 1, -2)$ sta sul piano: lo strumento dice che la sua distanza dal piano è 0. Prova a cambiare $d$, per esempio con $x + 2y - z = 0$: il piano si sposta **parallelo a sé stesso**, perché la giacitura non cambia. La distanza di un punto da un piano la studierai nella lezione L24. > [!OLTRE] Rette dalla ricetta alla prova, e il piano per tre punti > **Una retta.** Per $r = (1, 2, 3) + t(2, 1, -1)$ si **elimina il parametro**: $x = 1 + 2t$, $y = 2 + t$, $z = 3 - t$. Dalla seconda $t = y - 2$. Sostituendo: $x = 1 + 2(y - 2)$, cioè $x - 2y = -3$, e $z = 3 - (y - 2)$, cioè $y + z = 5$. Quindi $r = \{x - 2y = -3,\ y + z = 5\}$. Controllo con $t = 1$, punto $(3, 3, 2)$: $3 - 6 = -3$ e $3 + 2 = 5$. > > **Un piano per tre punti non allineati** $P_0, P_1, P_2$: è $P_0 + t\,\overrightarrow{P_0P_1} + s\,\overrightarrow{P_0P_2}$, e poi si usa il prodotto vettoriale come sopra (Martelli, Proposizione 9.2.12). Con $A, B, C$ dell'esempio del triangolo: il prodotto vettoriale è $(6, 3, 2)$ e $d = 6 \cdot 1 = 6$, quindi il piano è $6x + 3y + 2z = 6$. ::: prova Qual è l'equazione del piano $(1, 1, 1) + s(1, 0, 0) + t(0, 1, 0)$? $(1, 0, 0) \times (0, 1, 0) = (0, 0, 1)$, quindi l'equazione è $z = d$; con il punto $(1, 1, 1)$, $d = 1$. Il piano è $z = 1$. ::: > [!RICORDA] > - Nello spazio: un piano ha una equazione, una retta due. > - Il vettore dei numeri davanti alle incognite è perpendicolare al piano. > - Dalla ricetta di un piano alla prova: prodotto vettoriale dei due vettori, poi $d$ con il punto. ## Dove si incontrano: le intersezioni (pp. 120–121) Due sottospazi **vettoriali** si incontrano sempre, almeno nell'origine. Due sottospazi **affini** no: i piani $x + y + z = 1$ e $x + y + z = 2$ non hanno punti in comune, perché nessun punto può avere $x + y + z$ uguale a 1 e a 2 nello stesso momento. Le dispense danno un nome a quelli che si incontrano. > [!DEF] Sottospazi incidenti (p. 120) > Due sottospazi affini $S, S' \subseteq \R^n$ sono **incidenti** se $S \cap S' \neq \emptyset$. **Come si legge.** Incidenti vuol dire che hanno almeno un punto in comune. $S \cap S'$ si legge «esse intersecato esse primo». Se si incontrano, prendi un punto $x$ comune e scrivi tutti e due a partire da lì: $S = x + W$ e $S' = x + W'$, come permette la Definizione 23.7. Un punto $y$ sta in tutti e due esattamente quando $y - x$ sta sia in $W$ sia in $W'$. Quindi $$S \cap S' = x + (W \cap W').$$ In particolare **l'intersezione, se non è vuota, è sempre un sottospazio affine**, con giacitura $W \cap W'$. ### Tre casi, tre conti Il conto dipende da come sono scritti i due insiemi. L'Esempio 23.9 delle dispense mostra i tre casi; li svolgiamo fino in fondo. > [!ESEMPIO] 23.9 · Primo caso: tutte e due in forma cartesiana > Se $S$ e $S'$ sono descritti in forma cartesiana, la loro intersezione $S \cap S'$ è descritta in forma cartesiana **unendo le equazioni**. Per esempio, se $S = \{x + y = 1\}$ e $S' = \{x - y + z = 3\}$ sono due piani in $\R^3$, la loro intersezione è l'insieme delle soluzioni di > $$\begin{cases} x + y = 1 \\ x - y + z = 3. \end{cases}$$ Due prove: un punto sta in tutti e due se le supera entrambe. Le dispense si fermano al sistema; risolviamolo. Dalla prima $x = 1 - y$. Sostituisco nella seconda: $1 - y - y + z = 3$, cioè $z = 2 + 2y$. Con $y = t$: $$S \cap S' = \{(1 - t,\ t,\ 2 + 2t)\} = (1, 0, 2) + \Span((-1, 1, 2)).$$ È una **retta**. Controllo: $(1, 0, 2)$ soddisfa $1 + 0 = 1$ e $1 - 0 + 2 = 3$. La direzione $(-1, 1, 2)$ soddisfa le equazioni con zero a destra: $-1 + 1 = 0$ e $-1 - 1 + 2 = 0$. > [!ESEMPIO] 23.9 · Secondo caso: una cartesiana e una parametrica > Se $S$ è descritto in forma cartesiana e $S'$ in forma parametrica, basta **sostituire il punto generico** di $S'$ nelle equazioni di $S$. Si trovano i parametri che le soddisfano, e da loro $S \cap S'$. Per esempio, se $S = \{x + y - z = 2\}$ è un piano in $\R^3$ e > $$S' = \left\{ \begin{pmatrix} 1 \\ -1 \\ 1 \end{pmatrix} + t \begin{pmatrix} 1 \\ 2 \\ -3 \end{pmatrix} \right\} = \left\{ \begin{pmatrix} 1 + t \\ -1 + 2t \\ 1 - 3t \end{pmatrix} \right\}$$ > è una retta, si sostituisce $x = 1 + t$, $y = -1 + 2t$, $z = 1 - 3t$ nell'equazione di $S$: > $$(1 + t) + (-1 + 2t) - (1 - 3t) = 2,$$ > cioè $-1 + 6t = 2$ e $t = \tfrac 12$. L'intersezione è il punto > $$S \cap S' = \left\{ \begin{pmatrix} 3/2 \\ 0 \\ -1/2 \end{pmatrix} \right\}.$$ Una ricetta e una prova: si mettono i punti della ricetta dentro la prova, e si guarda quali la superano. Il punto viene da $t = \frac 12$: $\left(1 + \frac 12,\ -1 + 1,\ 1 - \frac 32\right) = \left(\frac 32, 0, -\frac 12\right)$. Controllo nel piano: $\frac 32 + 0 + \frac 12 = 2$. Attenzione al segno: $-(1 - 3t) = -1 + 3t$. > [!ESEMPIO] 23.9 · Terzo caso: tutte e due in forma parametrica > Se $S$ e $S'$ sono entrambi in forma parametrica, si **eguaglia il punto generico** di $S$ con quello di $S'$ e si trova quali parametri risolvono il sistema. Le dispense avvertono che può essere più laborioso. Due ricette: si cerca un punto che esca da tutte e due. Un esempio nostro: $r = (1, 0, 1) + t(1, 1, 0)$ e $r' = (0, 3, -1) + s(1, -1, 1)$. Uguagliando le coordinate: $$\begin{cases} 1 + t = s \\ t = 3 - s \\ 1 = -1 + s. \end{cases}$$ Dalla terza $s = 2$; dalla prima $t = s - 1 = 1$; la seconda va **controllata**: $t = 1$ e $3 - s = 1$, torna. Le rette si incontrano nel punto $(2, 1, 1)$, che si ottiene sia con $t = 1$ sulla prima sia con $s = 2$ sulla seconda. > [!METODO] Come si interseca > 1. **Due prove**: metti tutte le equazioni in un unico sistema e risolvilo con Gauss; la soluzione, scritta come ricetta, è l'intersezione. > 2. **Una prova e una ricetta**: metti il punto generico della ricetta dentro le equazioni; trovi i parametri e li rimetti nel punto generico. > 3. **Due ricette**: uguaglia i punti generici, con **nomi diversi** per i parametri ($t$ e $s$, mai $t$ e $t$). Risolvi e **controlla tutte le equazioni**: se una non torna, l'intersezione è vuota. > 4. In ogni caso, alla fine **sostituisci** il punto trovato nelle due descrizioni: è il controllo più economico che esista. Con la calcolatrice qui sotto puoi rifare il primo caso: la matrice completa del sistema ha righe $(1, 1, 0 \mid 1)$ e $(1, -1, 1 \mid 3)$. Lo strumento riduce con Gauss e scrive le soluzioni con un parametro. ```widget gauss titolo: L'intersezione dei due piani dell'Esempio 23.9 matrice: 1 1 0 1; 1 -1 1 3 modo: sistema ``` Lo strumento sceglie come parametro la terza incognita e trova $(2, -1, 0) + t\left(-\frac 12, \frac 12, 1\right)$. Sembra un risultato diverso dal nostro, ma è la **stessa retta**, per la Proposizione 23.5: la direzione è metà di $(-1, 1, 2)$, e $(2, -1, 0) - (1, 0, 2) = (1, -1, -2)$ sta nella giacitura. ### Quando si incontrano di sicuro L'ultima proposizione della lezione dà una condizione sulle giaciture che garantisce l'incontro. Le dispense la scrivono così. > [!PROP] 23.10 > Se $\operatorname{giac}(S) + \operatorname{giac}(S') = \R^n$, allora i sottospazi $S$ e $S'$ sono incidenti. **Come si legge.** - La somma delle giaciture (lezione L07) raccoglie tutti i vettori ottenuti muovendosi prima in una direzione del primo insieme e poi in una del secondo. - L'ipotesi dice che, combinando le due mosse, si raggiunge **qualsiasi** punto dello spazio. - La conclusione: i due insiemi si incontrano. Non dice **dove**: per quello bisogna fare i conti. > [!DIM] della Proposizione 23.10 (dal libro di Martelli) > 1. Scrivo $S = \{P + t_1 v_1 + \dots + t_k v_k\}$ e $S' = \{Q + u_1 w_1 + \dots + u_h w_h\}$, con i $v_i$ base della giacitura di $S$ e i $w_j$ base della giacitura di $S'$. > 2. I due insiemi si incontrano esattamente quando il sistema $P + t_1 v_1 + \dots + t_k v_k = Q + u_1 w_1 + \dots + u_h w_h$, nelle incognite $t_i, u_j$, ha una soluzione. > 3. Per ipotesi i vettori $v_1, \dots, v_k, w_1, \dots, w_h$ generano tutto lo spazio. Quindi $Q - P$ è una loro ricetta: $Q - P = a_1 v_1 + \dots + a_k v_k + b_1 w_1 + \dots + b_h w_h$. > 4. Allora $t_i = a_i$ e $u_j = -b_j$ risolvono il sistema: $P + \sum a_i v_i = Q - \sum b_j w_j$. > [!ESEMPIO] Due applicazioni nello spazio > **Due piani con vettori normali non paralleli**, per esempio $x + y + z = 1$ e $x - y = 5$. Le giaciture sono due piani diversi per l'origine, quindi la loro somma è più grande di un piano: è tutto lo spazio. Per la Proposizione 23.10 i piani si incontrano, in una retta. > > **Una retta e un piano**, con la direzione della retta fuori dalla giacitura del piano: $r = \{t(1, 1, 1)\}$ e $\pi = \{x + y + z = 7\}$. Il vettore $(1, 1, 1)$ non sta nella giacitura $\{x + y + z = 0\}$, perché $1 + 1 + 1 = 3$. Allora la giacitura del piano e la direzione della retta insieme generano tutto lo spazio, e c'è un punto comune. Sostituendo: $3t = 7$, $t = \frac 73$, punto $\left(\frac 73, \frac 73, \frac 73\right)$. > [!TRAPPOLA] Il contrario è falso > Se la somma delle giaciture **non** è tutto lo spazio, la proposizione non dice niente: l'incontro può esserci oppure no. Due rette dello spazio hanno giaciture di dimensione 1, che sommano al massimo a un piano: la proposizione non si applica mai. Eppure l'asse $x$ e l'asse $y$ si incontrano nell'origine, mentre la retta $\{t(1, -1, 0)\}$ e il piano $x + y + z = 7$ no: sostituendo viene $0 = 7$. > [!OLTRE] Le posizioni reciproche nello spazio > Mettendo insieme giaciture e intersezioni si ottiene questa tabella (Martelli, §9.2.5 e §9.2.7). Due sottospazi affini sono **paralleli** se la giacitura di uno è contenuta in quella dell'altro; due rette che non sono né incidenti né parallele si chiamano **sghembe**. > > | Coppia | Giaciture | Intersezione | > |---|---|---| > | due piani | normali non proporzionali | una retta | > | due piani | normali proporzionali | vuota (paralleli distinti) oppure lo stesso piano | > | retta e piano | direzione fuori dalla giacitura del piano | un punto | > | retta e piano | direzione dentro la giacitura | vuota (retta parallela) oppure tutta la retta | > | due rette | direzioni proporzionali | vuota (parallele distinte) oppure la stessa retta | > | due rette | direzioni non proporzionali | un punto (incidenti) oppure vuota (**sghembe**) | > > Le rette sghembe esistono solo dallo spazio in su: nel piano due rette non parallele si incontrano sempre, perché due giaciture diverse sommano a tutto il piano, e vale la Proposizione 23.10. > [!OLTRE] Dove trovarlo nel libro > Nel libro di Martelli: prodotto vettoriale e sue proprietà nel §9.1 (pp. 267–272: identità di Lagrange Prop. 9.1.4, area Prop. 9.1.5 e Cor. 9.1.6, base positiva Prop. 9.1.7, prodotto triplo Esercizio 9.1.8, volume del parallelepipedo Prop. 9.1.9); forma parametrica e cartesiana nel §9.2.1 (pp. 272–274, con l'Esempio 9.2.3 che è il nostro 23.8); intersezioni nel §9.2.3 (pp. 275–276, Esempio 9.2.6 e Proposizione 9.2.7); sottospazio generato da punti, parallelismo e posizioni reciproche nei §9.2.4, §9.2.5 e §9.2.7 (pp. 277–283). ::: prova Dove si incontrano la retta $t(1, 1, 1)$ e il piano $z = 1$? Sostituisco il punto generico $(t, t, t)$: $t = 1$. Il punto è $(1, 1, 1)$. ::: > [!RICORDA] > - Due prove: unisci le equazioni. Prova e ricetta: metti la ricetta nella prova. Due ricette: uguaglia, con parametri di nomi diversi. > - Se le giaciture sommano a tutto lo spazio, l'incontro c'è di sicuro; il contrario non vale. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $v \times w$ | «vu vettore vu doppio» | il prodotto vettoriale | $e_1 \times e_2 = e_3$ | | $\lVert v \times w \rVert$ | «norma di vu vettore vu doppio» | l'area del parallelogramma con lati $v$ e $w$ | | | $\sin\vartheta$ | «seno di theta» | il seno dell'angolo tra i due vettori | | | $(u_1 \mid u_2 \mid u_3)$ | «matrice con colonne u uno, u due, u tre» | la matrice con quei vettori in colonna | | | $x + W$ | «ics più vu doppio» | il sottospazio $W$ spostato per il punto $x$ | $(1, 0) + \Span((1, 1))$ | | $\operatorname{giac}(S)$ | «giacitura di esse» | le direzioni del sottospazio affine | | | $\overrightarrow{PQ}$ | «vettore pi qu» | $Q - P$, il vettore da $P$ a $Q$ | | | $S \cap S'$ | «esse intersecato esse primo» | i punti comuni | | | $n = (a, b, c)$ | «vettore normale» | i numeri davanti alle incognite, perpendicolare al piano | per $x + 2y - z = 8$, $n = (1, 2, -1)$ | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione compare negli appelli 2023–2026.** Le intersezioni sono tra gli argomenti più frequenti in assoluto: - **quiz sull'intersezione tra una retta e un piano**: appelli del 07/02/2025 (domanda 10) e del 03/07/2026 (domanda 8). Le risposte proposte sono sempre del tipo «un punto», «tutta la retta», «tutto il piano», «vuota»; - **quiz sull'intersezione di due rette date con la ricetta**: appelli del 03/06/2025 e del 10/07/2025, domanda 10 in tutti e due; - **problemi aperti**: scrivere la retta in cui si incontrano due piani come «punto più Span» (24/01/2024, 10/07/2024, 06/09/2024, 15/01/2026); dimostrare che una retta e un piano si incontrano (24/01/2024, 10/07/2024); trovare l'intersezione di tre piani (06/09/2024, 15/01/2026); piani o rette che dipendono da un parametro (03/06/2025, 02/09/2025). ### Una domanda vera, letta insieme **Appello del 07/02/2025, domanda 10.** Il testo: «L'intersezione della retta $r = {}^t(2, -2, 0) + s\,{}^t(1, -2, 1)$ con il piano $\pi = \{2x - 2y + z = 1\}$ è: (a) tutto il piano; (b) $P = {}^t(-1, -1, 1)$; (c) $P = {}^t(1, 0, -1)$; (d) non hanno un'intersezione; (e) tutta la retta». **In pratica chiede:** una ricetta e una prova. Quali punti della retta superano la prova del piano? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: il punto generico della retta.** $(2 + s,\ -2 - 2s,\ s)$. > > **Passo 2: dentro l'equazione del piano.** > $$2(2 + s) - 2(-2 - 2s) + s = 4 + 2s + 4 + 4s + s = 8 + 7s.$$ > > **Passo 3: il parametro.** $8 + 7s = 1$ dà $s = -1$. > > **Passo 4: il punto.** Con $s = -1$: $(2 - 1,\ -2 + 2,\ -1) = (1, 0, -1)$. È la risposta (c). Controllo: $2 \cdot 1 - 0 - 1 = 1$. > > **Il trucco da quiz.** Il prodotto scalare tra la direzione $(1, -2, 1)$ e la normale $(2, -2, 1)$ è $2 + 4 + 1 = 7$, non zero: la retta non è parallela al piano, quindi l'incontro è **un punto**. Questo esclude subito (a), (d) e (e). Poi basta sostituire (b) e (c) nell'equazione del piano: (b) dà $-2 + 2 + 1 = 1$, ma $(-1, -1, 1)$ non sta sulla retta, perché la terza coordinata direbbe $s = 1$ e la prima $s = -3$. > [!METODO] La retta in cui si incontrano due piani, come «punto più Span» > 1. Metti le due equazioni in un sistema e riducilo con Gauss, oppure ricava una variabile e sostituisci. > 2. Scegli come parametro la variabile libera e scrivi il punto generico. > 3. Separa la parte senza parametro, il punto, da quella con il parametro, la direzione. > 4. Controllo veloce: la direzione deve essere proporzionale al prodotto vettoriale dei due vettori normali, che è perpendicolare a tutti e due e quindi sta in tutte e due le giaciture. Il punto deve soddisfare le due equazioni. > [!METODO] Dimostrare che una retta e un piano si incontrano > Due strade, tutte e due accettate: > - **con la Proposizione 23.10**: se la direzione della retta non sta nella giacitura del piano, le giaciture sommano a tutto lo spazio e c'è un incontro. Per un piano con equazione: il prodotto scalare tra direzione e normale non è zero. Per un piano dato con due generatori: il determinante dei due generatori e della direzione non è zero; > - **con il conto**: metti il punto generico della retta nell'equazione del piano e trova il parametro. Se esiste, si incontrano, e hai anche il punto. **Errori da evitare.** - Usare lo **stesso nome** per i parametri di due rette diverse: il sistema diventa sbagliato. - Nell'intersezione di due rette, non controllare la **terza** equazione: due equazioni su tre possono tornare anche se le rette sono sghembe. - Scambiare il **vettore normale** di un piano con un vettore **del** piano: $(a, b, c)$ è perpendicolare al piano, non ci sta dentro. - Scrivere una retta dello spazio con una sola equazione. - Il segno meno della seconda componente del prodotto vettoriale. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: la formula di $v \times w$ con lo schema «copri la riga, il segno meno al centro»; lunghezza del prodotto vettoriale = area del parallelogramma, e metà per il triangolo; la tabella dei tipi di sottospazi dello spazio (quante equazioni, quanti parametri); il metodo $n = v_1 \times v_2$, $d = \langle n, P_0 \rangle$; i tre conti per le intersezioni; la Proposizione 23.10. ## Quiz ```quiz D: Quanto vale il prodotto vettoriale $(1, 0, 1) \times (2, -1, 0)$? + $(1, 2, -1)$ - $(-1, -2, 1)$ - $(1, -2, -1)$ - $(2, 0, 0)$ - $(-1, 2, 1)$ = Righe affiancate $(1, 2)$, $(0, -1)$, $(1, 0)$. Prima componente $0 \cdot 0 - 1 \cdot (-1) = 1$; seconda $-(1 \cdot 0 - 1 \cdot 2) = 2$; terza $1 \cdot (-1) - 0 \cdot 2 = -1$. È il conto dell'Esempio 23.8. La risposta più insidiosa è $(1, -2, -1)$, che dimentica il segno meno al centro. $(-1, -2, 1)$ è il prodotto con i fattori scambiati; $(2, 0, 0)$ moltiplica le coordinate una per una. D: Qual è l'area del parallelogramma con lati $v = (1, 1, 0)$ e $w = (0, 1, 1)$? + $\sqrt 3$ - $\frac{\sqrt 3}{2}$ - $3$ - $1$ - $\sqrt 2$ = Il prodotto vettoriale è $(1 \cdot 1 - 0 \cdot 1,\ -(1 \cdot 1 - 0 \cdot 0),\ 1 \cdot 1 - 1 \cdot 0) = (1, -1, 1)$, lungo $\sqrt 3$: per il Corollario 23.3 è l'area. La risposta più insidiosa è $\frac{\sqrt 3}{2}$, che è l'area del triangolo con quei due lati, non del parallelogramma. 3 è la lunghezza al quadrato, senza la radice. D: Quale di queste affermazioni sul prodotto vettoriale in $\R^3$ è **falsa**? + $(u \times v) \times w = u \times (v \times w)$ per ogni $u, v, w$ - $v \times w = -\,w \times v$ per ogni $v, w$ - $v \times v = 0$ per ogni $v$ - $v \times w$ è ortogonale sia a $v$ sia a $w$ - $(2v) \times w = 2\,(v \times w)$ per ogni $v, w$ = Le parentesi contano: $(e_1 \times e_2) \times e_2 = e_3 \times e_2 = -e_1$, mentre $e_1 \times (e_2 \times e_2) = e_1 \times 0 = 0$. La risposta vera più insidiosa da riconoscere è $v \times v = 0$: sembra strana, ma viene dal cambio di segno quando si scambiano i fattori. Le altre sono il cambio di segno stesso, la Proposizione 22.15 e la regola dei multipli. D: I piani $\pi_1 = \{x + y + z = 3\}$ e $\pi_2 = \{x - y = 1\}$ si intersecano nella retta: + $(1, 0, 2) + \Span((1, 1, -2))$ - $(1, 0, 2) + \Span((1, 1, 1))$ - $(0, 0, 3) + \Span((1, 1, -2))$ - $(1, 0, 2) + \Span((1, -1, 0))$ - $(2, 1, 1) + \Span((1, 1, -2))$ = Dalla seconda equazione $x = 1 + y$; nella prima $1 + 2y + z = 3$, cioè $z = 2 - 2y$. Con $y = t$: $(1 + t, t, 2 - 2t)$. Controllo: $(1, 1, 1) \times (1, -1, 0) = (1, 1, -2)$. La risposta più insidiosa è la seconda: il punto è giusto, ma $(1, 1, 1)$ è il vettore normale del primo piano, che è perpendicolare al piano invece di starci dentro. $(0, 0, 3)$ non sta sul secondo piano; $(2, 1, 1)$ non sta sul primo. Simile agli appelli del 24/01/2024 e del 10/07/2024 (problema 12, punto 1). D: Il piano $\pi = \{s\,e_1 + t\,(e_2 + e_3) \mid s, t \in \R\}$ in forma cartesiana è: + $\{y - z = 0\}$ - $\{x = 0\}$ - $\{y + z = 0\}$ - $\{x + y + z = 0\}$ - $\{x - y + z = 0\}$ = Il piano passa per l'origine ed è generato da $(1, 0, 0)$ e $(0, 1, 1)$. Il vettore normale è $(1, 0, 0) \times (0, 1, 1) = (0, -1, 1)$, quindi $-y + z = 0$, cioè $y = z$. Controllo: $e_1$ ed $e_2 + e_3$ hanno $y = z$. La risposta più insidiosa è $\{y + z = 0\}$, di chi sbaglia il segno al centro del prodotto vettoriale. Simile all'appello del 24/01/2024 (problema 12), dove il piano era dato proprio così. D: Il piano $(0, 1, 1) + t(1, 0, 0) + s(0, 1, 2)$ ha un'equazione della forma $2y - z = d$. Quanto vale $d$? N: 1 = Il vettore normale è $(1, 0, 0) \times (0, 1, 2) = (0, -2, 1)$, cioè l'equazione è $-2y + z = \text{costante}$, che equivale a $2y - z = d$. Sostituendo il punto $(0, 1, 1)$: $d = 2 \cdot 1 - 1 = 1$. D: Quale di queste rette di $\R^2$ **coincide** con $r = (1, 2) + \Span((2, 1))$? + $(5, 4) + \Span((-4, -2))$ - $(2, 1) + \Span((2, 1))$ - $(1, 2) + \Span((1, 2))$ - $(0, 0) + \Span((2, 1))$ - $(3, 2) + \Span((2, 1))$ = Per la Proposizione 23.5 servono la stessa giacitura e la differenza dei punti nella giacitura. $(-4, -2)$ è un multiplo di $(2, 1)$, e $(5, 4) - (1, 2) = (4, 2) = 2\,(2, 1)$: stessa retta. La risposta più insidiosa è $(1, 2) + \Span((1, 2))$, che parte dallo stesso punto ma va in un'altra direzione. Le altre hanno la direzione giusta ma partono fuori dalla retta: sono parallele distinte. D: L'intersezione della retta $r = (1, 1, 0) + t\,(1, 0, 2)$ con il piano $\pi = \{x + y + z = 5\}$ è: + il punto $(2, 1, 2)$ - il punto $(3, 1, 4)$ - il punto $(1, 1, 0)$ - tutta la retta $r$ - vuota = Sostituisco $(1 + t, 1, 2t)$: $1 + t + 1 + 2t = 5$, cioè $3t = 3$ e $t = 1$. Il punto è $(2, 1, 2)$; controllo: $2 + 1 + 2 = 5$. La risposta più insidiosa è $(3, 1, 4)$: sta sulla retta, con $t = 2$, ma dà $8$, non 5. Il prodotto scalare tra direzione e normale è 3, non zero: l'incontro non può essere né vuoto né tutta la retta. Simile agli appelli del 07/02/2025 (domanda 10) e del 03/07/2026 (domanda 8). D: L'intersezione delle rette $r = (1, 0, 1) + t\,(1, 1, 0)$ e $r' = (0, 3, -1) + s\,(1, -1, 1)$ è: + il punto $(2, 1, 1)$ - il punto $(1, 0, 1)$ - il punto $(0, 3, -1)$ - il punto $(3, 2, 1)$ - vuota: le rette sono sghembe = Uguagliando: $1 + t = s$, $t = 3 - s$, $1 = -1 + s$. Dalla terza $s = 2$, dalla prima $t = 1$, e la seconda torna. Il punto è $(2, 1, 1)$. La risposta più insidiosa è $(3, 2, 1)$: sta sulla prima retta, con $t = 2$, ma non sulla seconda. Gli altri due punti sono i punti di partenza, ognuno su una retta sola. Simile agli appelli del 03/06/2025 e del 10/07/2025 (domanda 10). D: Quale coppia di sottospazi affini di $\R^3$ ha **sicuramente** intersezione non vuota? + Due piani i cui vettori normali non sono proporzionali. - Due rette con direzioni non proporzionali. - I piani $\{x + y + z = 1\}$ e $\{x + y + z = 2\}$. - Una retta e un piano, quando la direzione della retta sta nella giacitura del piano. - Una retta e un punto. = Due piani con normali non proporzionali hanno giaciture diverse, che sommano a tutto lo spazio: per la Proposizione 23.10 si incontrano. La risposta più insidiosa è «due rette con direzioni non proporzionali»: nel piano si incontrerebbero sempre, ma nello spazio possono essere sghembe. I due piani con lo stesso $x + y + z$ sono paralleli; una retta parallela a un piano può non toccarlo; un punto può stare fuori dalla retta. È l'argomento usato per «dimostrare che la retta e il piano sono incidenti» negli appelli del 24/01/2024 e del 10/07/2024. ``` ## Esercizi ::: esercizio base Riscaldamento: un prodotto vettoriale Calcola $(1, 1, 0) \times (0, 0, 1)$ e controlla che sia perpendicolare a tutti e due i fattori. ::: soluzione Righe affiancate $(1, 0)$, $(1, 0)$, $(0, 1)$. 1. Prima componente: $1 \cdot 1 - 0 \cdot 0 = 1$. 2. Seconda: $1 \cdot 1 - 0 \cdot 0 = 1$, cambiato di segno: $-1$. 3. Terza: $1 \cdot 0 - 1 \cdot 0 = 0$. Il risultato è $(1, -1, 0)$. Controllo: con $(1, 1, 0)$ dà $1 - 1 = 0$, con $(0, 0, 1)$ dà 0. ::: ::: esercizio base Riscaldamento: il punto sta sul piano? Il piano è $2x - y + z = 5$. Ci stanno $(2, 0, 1)$ e $(1, 1, 1)$? ::: soluzione 1. $(2, 0, 1)$: $4 - 0 + 1 = 5$. Sì. 2. $(1, 1, 1)$: $2 - 1 + 1 = 2$, non 5. No. ::: ::: esercizio base Riscaldamento: tre punti di una retta Scrivi tre punti della retta $(1, 0, 2) + t(1, 1, -2)$. ::: soluzione 1. Con $t = 0$: $(1, 0, 2)$. 2. Con $t = 1$: $(2, 1, 0)$. 3. Con $t = -1$: $(0, -1, 4)$. ::: ::: esercizio base Riscaldamento: quante equazioni? Quante equazioni indipendenti servono, nello spazio, per un punto, una retta e un piano? E nel piano per una retta? ::: soluzione Nello spazio servono 3 meno la dimensione. 1. Un punto: 3 equazioni. 2. Una retta: 2 equazioni. 3. Un piano: 1 equazione. Nel piano servono 2 meno la dimensione: una retta ha 1 equazione. ::: ::: esercizio base Prodotto vettoriale e identità di Lagrange Siano $v = (2, 1, -1)$ e $w = (1, 0, 3)$. (a) Calcola $v \times w$ e verifica che è ortogonale a $v$ e a $w$. (b) Verifica l'identità di Lagrange. (c) Quanto vale l'area del parallelogramma con lati $v$ e $w$? (d) Verifica che $\det(v \mid w \mid v \times w) > 0$. ::: soluzione (a) Righe affiancate $(2, 1)$, $(1, 0)$, $(-1, 3)$: - prima componente, copro la prima riga: $1 \cdot 3 - 0 \cdot (-1) = 3$; - seconda, copro la seconda riga: $2 \cdot 3 - 1 \cdot (-1) = 7$, cambio segno: $-7$; - terza, copro la terza riga: $2 \cdot 0 - 1 \cdot 1 = -1$. Quindi $v \times w = (3, -7, -1)$. Controlli: con $v$ dà $6 - 7 + 1 = 0$, con $w$ dà $3 + 0 - 3 = 0$. (b) La lunghezza al quadrato del prodotto vettoriale è $9 + 49 + 1 = 59$. Il prodotto scalare è $2 + 0 - 3 = -1$, con quadrato 1. Le lunghezze al quadrato di $v$ e $w$ sono $4 + 1 + 1 = 6$ e $1 + 0 + 9 = 10$. Infatti $59 + 1 = 60 = 6 \cdot 10$. (c) L'area è $\sqrt{59}$. (d) Per la dimostrazione della Proposizione 23.4 il determinante vale $59$, positivo. Controllo diretto, sviluppando sulla terza colonna di $\begin{pmatrix} 2 & 1 & 3 \\ 1 & 0 & -7 \\ -1 & 3 & -1 \end{pmatrix}$: $$3 \cdot (1 \cdot 3 - 0 \cdot (-1)) - (-7) \cdot (2 \cdot 3 - 1 \cdot (-1)) + (-1) \cdot (2 \cdot 0 - 1 \cdot 1) = 9 + 49 + 1 = 59.$$ ::: ::: esercizio base Il triangolo e il suo piano Siano $A = (1, 0, 0)$, $B = (0, 2, 0)$, $C = (0, 0, 3)$. (a) Calcola l'area del triangolo $ABC$. (b) Scrivi l'equazione cartesiana del piano che contiene i tre punti (è il punto 1 dell'esercizio 6 del foglio 4 del tutorato 2025). ::: soluzione (a) $\overrightarrow{AB} = (-1, 2, 0)$ e $\overrightarrow{AC} = (-1, 0, 3)$. Righe affiancate $(-1, -1)$, $(2, 0)$, $(0, 3)$: $$\begin{aligned} \overrightarrow{AB} \times \overrightarrow{AC} &= \big(2 \cdot 3 - 0 \cdot 0,\ -((-1) \cdot 3 - (-1) \cdot 0),\ (-1) \cdot 0 - (-1) \cdot 2\big) \\ &= (6, 3, 2). \end{aligned}$$ È lungo $\sqrt{36 + 9 + 4} = 7$: il parallelogramma ha area 7 e il triangolo, che ne è la metà, ha area $\frac 72$. (b) Il piano è $A + t\,\overrightarrow{AB} + s\,\overrightarrow{AC}$, con vettore normale $(6, 3, 2)$. Quindi $6x + 3y + 2z = d$, con $d = 6 \cdot 1 + 0 + 0 = 6$: $$\pi = \{6x + 3y + 2z = 6\}.$$ Controllo: $B$ dà $3 \cdot 2 = 6$, $C$ dà $2 \cdot 3 = 6$. Dividendo per 6 si ottiene $x + \frac y2 + \frac z3 = 1$: i denominatori sono i punti in cui il piano taglia gli assi. ::: ::: esercizio base Da parametrica a cartesiana Scrivi l'equazione cartesiana del piano $\pi = (2, 0, 1) + s\,(1, 2, 0) + t\,(0, 1, 1)$. ::: soluzione Il vettore normale, con le righe affiancate $(1, 0)$, $(2, 1)$, $(0, 1)$: $$(1, 2, 0) \times (0, 1, 1) = (2 \cdot 1 - 0 \cdot 1,\ -(1 \cdot 1 - 0 \cdot 0),\ 1 \cdot 1 - 2 \cdot 0) = (2, -1, 1).$$ Il piano è $2x - y + z = d$; con il punto $(2, 0, 1)$: $d = 4 - 0 + 1 = 5$. Risultato: $\pi = \{2x - y + z = 5\}$. Controllo con $s = t = 1$: il punto $(3, 3, 2)$ dà $6 - 3 + 2 = 5$. ::: ::: esercizio base Da cartesiana a parametrica Scrivi in forma parametrica la retta $r = \{x - y + z = 1,\ 2x + y - z = 2\}$ e controlla la direzione con il prodotto vettoriale dei vettori normali. ::: soluzione Sommando le due equazioni: $3x = 3$, cioè $x = 1$. Nella prima: $1 - y + z = 1$, cioè $z = y$. Con $y = t$: $$r = \{(1, t, t)\} = (1, 0, 0) + \Span((0, 1, 1)).$$ Controllo: $(1, -1, 1) \times (2, 1, -1)$, con le righe affiancate $(1, 2)$, $(-1, 1)$, $(1, -1)$, dà $$\big((-1)(-1) - 1 \cdot 1,\ -(1 \cdot (-1) - 2 \cdot 1),\ 1 \cdot 1 - 2 \cdot (-1)\big) = (0, 3, 3),$$ proporzionale a $(0, 1, 1)$. Il punto $(1, 0, 0)$ soddisfa $1 = 1$ e $2 = 2$. ::: ::: esercizio medio Conti senza coordinate Sai soltanto che $v \times w = (1, 2, 3)$. Calcola (a) $w \times v$; (b) $(2v + w) \times (v - 3w)$; (c) $\langle v \times w, v \rangle$; (d) $(v + w) \times (v + w)$. ::: soluzione Servono solo le regole: scambio = cambio di segno, somme e multipli escono fuori, un vettore per sé stesso dà zero. (a) $w \times v = -\,v \times w = (-1, -2, -3)$. (b) Sviluppo come un prodotto di binomi, **mantenendo l'ordine** dei fattori: $$(2v + w) \times (v - 3w) = 2\,v \times v - 6\,v \times w + w \times v - 3\,w \times w.$$ Ora $v \times v$ e $w \times w$ sono zero, e $w \times v = -\,v \times w$. Il risultato è $-7\,(v \times w) = (-7, -14, -21)$. (c) 0: il prodotto vettoriale è perpendicolare a $v$ (Proposizione 22.15). (d) 0: è il prodotto vettoriale di un vettore con sé stesso. ::: ::: esercizio medio È la stessa retta? Siano $r_1 = (1, 0, 2) + \Span((1, -1, 1))$, $r_2 = (3, -2, 4) + \Span((-2, 2, -2))$ e $r_3 = (1, 1, 1) + \Span((1, -1, 1))$. Quali coincidono? ::: soluzione Uso la Proposizione 23.5. - $r_1$ e $r_2$: le giaciture coincidono, perché $(-2, 2, -2) = -2\,(1, -1, 1)$. La differenza dei punti è $(3, -2, 4) - (1, 0, 2) = (2, -2, 2) = 2\,(1, -1, 1)$, che sta nella giacitura. Quindi $r_1 = r_2$. - $r_1$ e $r_3$: stessa giacitura, ma $(1, 1, 1) - (1, 0, 2) = (0, 1, -1)$ non è un multiplo di $(1, -1, 1)$: la prima coordinata obbligherebbe il multiplo a essere zero. Quindi sono rette **parallele distinte**. ::: ::: esercizio medio Tre coppie di rette Per ogni coppia decidi se le rette si incontrano; in caso affermativo trova il punto. (a) $r = (1, 2, 0) + t\,(1, 0, 1)$ e $r' = (0, 1, 1) + s\,(2, 1, 0)$. (b) L'asse $x$, cioè $r = t\,(1, 0, 0)$, e $r' = (0, 1, 0) + s\,(0, 0, 1)$. (c) $r = t\,(1, 1, 1)$ e $r' = (1, 0, 0) + s\,(2, 2, 2)$. ::: soluzione (a) Uguaglio: $1 + t = 2s$, $2 = 1 + s$, $t = 1$. Dalla seconda $s = 1$, dalla terza $t = 1$; la prima dà $2 = 2$, torna. Il punto comune è $(2, 2, 1)$. (b) Uguaglio: $t = 0$, $0 = 1$, $0 = s$. La seconda equazione è impossibile: nessun punto comune. Le direzioni $(1, 0, 0)$ e $(0, 0, 1)$ non sono proporzionali, quindi le rette non sono parallele: sono **sghembe**. (c) Le direzioni sono proporzionali: $(2, 2, 2) = 2\,(1, 1, 1)$. Il punto $(1, 0, 0)$ sta sulla prima retta? Servirebbe $t = 1$ dalla prima coordinata e $t = 0$ dalla seconda: no. Quindi le rette sono **parallele distinte** e non si incontrano. ::: ::: esercizio medio Due piani che non si incontrano Calcola l'intersezione dei piani $\pi_1 = \{x + 2y - z = 1\}$ e $\pi_2 = \{-2x - 4y + 2z = 3\}$, prima con Rouché–Capelli e poi con un ragionamento geometrico. Che cosa cambia se al posto di $3$ c'è $-2$? ::: soluzione Matrice completa e una mossa di Gauss: $$\left(\begin{array}{ccc|c} 1 & 2 & -1 & 1 \\ -2 & -4 & 2 & 3 \end{array}\right) \xrightarrow{R_2 \to R_2 + 2R_1} \left(\begin{array}{ccc|c} 1 & 2 & -1 & 1 \\ 0 & 0 & 0 & 5 \end{array}\right).$$ La seconda riga dice $0 = 5$: $A$ ha rango 1 ma la matrice completa ha rango 2, quindi l'intersezione è **vuota**. Con le figure: i vettori normali $(1, 2, -1)$ e $(-2, -4, 2)$ sono proporzionali, quindi i piani hanno la stessa giacitura, cioè sono paralleli. Dividendo la seconda equazione per $-2$ viene $x + 2y - z = -\frac 32$, che non può valere insieme a $x + 2y - z = 1$. Con $-2$ al posto di 3 la seconda equazione diventa $-2\,(x + 2y - z) = -2$, cioè $x + 2y - z = 1$: è **lo stesso piano**, e l'intersezione è tutto il primo piano. ::: ::: esercizio medio Un piano che dipende da un parametro Per ogni $k \in \R$ sia $\pi_k = \{x + ky + z = 1\}$ e sia $r = \{t\,(1, 1, -1) \mid t \in \R\}$. Per quali $k$ la retta $r$ interseca $\pi_k$? In quel caso, in quale punto? ::: soluzione Metto il punto generico $(t, t, -t)$ nell'equazione: $t + kt - t = 1$, cioè $kt = 1$. - Se $k$ non è zero: $t = \frac 1k$ e il punto è $\left(\frac 1k, \frac 1k, -\frac 1k\right)$. Controllo: $\frac 1k + k \cdot \frac 1k - \frac 1k = 1$. - Se $k = 0$: l'equazione diventa $0 = 1$, impossibile. La retta non tocca il piano $\{x + z = 1\}$. Lettura con le giaciture: il prodotto scalare tra la direzione $(1, 1, -1)$ e la normale $(1, k, 1)$ vale $1 + k - 1 = k$. Se $k$ non è zero la direzione è fuori dalla giacitura, e la Proposizione 23.10 garantisce l'incontro. Se $k = 0$ la retta è parallela al piano; siccome l'origine, che sta sulla retta, non soddisfa $x + z = 1$, non lo tocca. ::: ::: esercizio esame Tre piani (appello del 15/01/2026, problema 12) Siano $\pi_1 = \{x + y + z = 2\}$, $\pi_2 = \{x - y - 2z = 1\}$ e $\pi_3 = \{x + y - z = 0\}$ tre piani in $\R^3$. (1) Trovare il punto $P = \pi_1 \cap \pi_2 \cap \pi_3$. (2) Trovare un vettore $v \in \R^3$ tale che $\pi_1 \cap \pi_2 = P + \Span(v)$. (3) Trovare due vettori $w_1$ e $w_2$ ortogonali tali che $\pi_3 = \Span(w_1, w_2)$. (4) Trovare la proiezione ortogonale di $v$ sul piano $\pi_3$. ::: soluzione (1) Tolgo la terza equazione dalla prima: $(x + y + z) - (x + y - z) = 2 - 0$, cioè $2z = 2$ e $z = 1$. Allora la prima dà $x + y = 1$ e la seconda $x - y = 1 + 2z = 3$. Sommando: $2x = 4$, $x = 2$, e quindi $y = -1$. $P = (2, -1, 1)$. Controllo: $2 - 1 + 1 = 2$, $2 + 1 - 2 = 1$, $2 - 1 - 1 = 0$. (2) I primi due piani si incontrano in una retta, perché i vettori normali $(1, 1, 1)$ e $(1, -1, -2)$ non sono proporzionali, e la retta passa per $P$. La sua direzione è perpendicolare a tutti e due i vettori normali: prendo il loro prodotto vettoriale, con le righe affiancate $(1, 1)$, $(1, -1)$, $(1, -2)$: $$v = \big(1 \cdot (-2) - 1 \cdot (-1),\ -(1 \cdot (-2) - 1 \cdot 1),\ 1 \cdot (-1) - 1 \cdot 1\big) = (-1, 3, -2).$$ Controllo: $-1 + 3 - 2 = 0$ e $-1 - 3 + 4 = 0$. Quindi la retta è $(2, -1, 1) + \Span((-1, 3, -2))$. (3) Il terzo piano passa per l'origine, quindi è un sottospazio vettoriale. Scelgo un vettore che soddisfa $x + y - z = 0$, per esempio $w_1 = (1, -1, 0)$. Per il secondo serve un vettore del piano, cioè perpendicolare alla normale $n_3 = (1, 1, -1)$, e perpendicolare a $w_1$: il prodotto vettoriale $n_3 \times w_1$ fa proprio questo. Con le righe affiancate $(1, 1)$, $(1, -1)$, $(-1, 0)$: $$\begin{aligned} n_3 \times w_1 &= \big(1 \cdot 0 - (-1)(-1),\ -(1 \cdot 0 - 1 \cdot (-1)),\ 1 \cdot (-1) - 1 \cdot 1\big) \\ &= (-1, -1, -2). \end{aligned}$$ Prendo $w_2 = (1, 1, 2)$. Controlli: $1 + 1 - 2 = 0$, quindi sta nel piano, e $\langle w_1, w_2 \rangle = 1 - 1 + 0 = 0$. (4) Con la base ortogonale $w_1, w_2$ l'ombra è (lezione L21) $$p_{\pi_3}(v) = \frac{\langle v, w_1 \rangle}{\langle w_1, w_1 \rangle} w_1 + \frac{\langle v, w_2 \rangle}{\langle w_2, w_2 \rangle} w_2.$$ $\langle v, w_1 \rangle = -1 - 3 + 0 = -4$ e $\langle w_1, w_1 \rangle = 2$; $\langle v, w_2 \rangle = -1 + 3 - 4 = -2$ e $\langle w_2, w_2 \rangle = 6$. Quindi $$p_{\pi_3}(v) = -2\,(1, -1, 0) - \tfrac 13\,(1, 1, 2) = \left(-\tfrac 73,\ \tfrac 53,\ -\tfrac 23\right).$$ Controllo: $v - p_{\pi_3}(v) = \left(\frac 43, \frac 43, -\frac 43\right) = \frac 43\,(1, 1, -1)$ è proporzionale alla normale del terzo piano, come deve essere. ::: ::: esercizio esame Una retta, due piani e un punto d'incontro Siano $\pi_1 = \{x + y - z = 2\}$ e $\pi_2 = \{x - y + 2z = 1\}$. (1) Scrivi la retta $r = \pi_1 \cap \pi_2$ nella forma $P + \Span(v)$. (2) Dimostra che $r$ e il piano $\pi_3 = \{x + y + z = 0\}$ sono incidenti. (3) Trova il punto di intersezione. (4) Scrivi l'equazione cartesiana del piano che contiene $r$ e l'origine. ::: soluzione (1) Sommo le equazioni: $2x + z = 3$, quindi $z = 3 - 2x$. Dalla prima $y = 2 - x + z = 2 - x + 3 - 2x = 5 - 3x$. Con $x = t$: $$r = \{(t,\ 5 - 3t,\ 3 - 2t)\} = (0, 5, 3) + \Span((1, -3, -2)).$$ Controlli: $(0, 5, 3)$ dà $0 + 5 - 3 = 2$ e $0 - 5 + 6 = 1$. Inoltre $(1, 1, -1) \times (1, -1, 2) = (1 \cdot 2 - (-1)(-1),\ -(1 \cdot 2 - (-1) \cdot 1),\ 1 \cdot (-1) - 1 \cdot 1) = (1, -3, -2)$. (2) Il prodotto scalare tra la direzione $(1, -3, -2)$ e la normale $(1, 1, 1)$ del terzo piano vale $1 - 3 - 2 = -4$, non zero: la direzione non sta nella giacitura del piano. Quindi le due giaciture sommano a tutto lo spazio e, per la Proposizione 23.10, la retta e il piano si incontrano. (3) Metto il punto generico nell'equazione: $t + (5 - 3t) + (3 - 2t) = 0$, cioè $8 - 4t = 0$ e $t = 2$. Il punto è $Q = (2, -1, -1)$. Controllo: $2 - 1 - 1 = 0$, e $Q$ sta anche sui primi due piani ($2 - 1 + 1 = 2$ e $2 + 1 - 2 = 1$). (4) Il piano contiene l'origine $O$, il punto $P = (0, 5, 3)$ e la direzione $v = (1, -3, -2)$: è $O + s\,\overrightarrow{OP} + t\,v$. Il vettore normale, con le righe affiancate $(1, 0)$, $(-3, 5)$, $(-2, 3)$: $$\begin{aligned} v \times \overrightarrow{OP} &= \big((-3) \cdot 3 - (-2) \cdot 5,\ -(1 \cdot 3 - (-2) \cdot 0),\ 1 \cdot 5 - (-3) \cdot 0\big) \\ &= (1, -3, 5). \end{aligned}$$ Passa per l'origine, quindi $d = 0$: il piano è $x - 3y + 5z = 0$. Controllo: $P$ dà $-15 + 15 = 0$ e $Q$ dà $2 + 3 - 5 = 0$. ::: ::: esercizio difficile Il prodotto triplo (a) Dimostra che per ogni $u, v, w \in \R^3$ vale $\langle u \times v, w \rangle = \det(u \mid v \mid w)$ (Martelli, Esercizio 9.1.8). (b) Deduci che $u, v, w$ sono linearmente dipendenti se e solo se $\langle u \times v, w \rangle = 0$. (c) Stabilisci se i punti $A = (1, 0, 0)$, $B = (0, 1, 0)$, $C = (0, 0, 1)$, $D = (1, 1, -1)$ stanno su uno stesso piano. ::: soluzione (a) Scrivo $u \times v = (d_1, -d_2, d_3)$, con $d_i$ il minore di $(u \mid v)$ senza la riga $i$. Allora $$\langle u \times v, w \rangle = d_1 w_1 - d_2 w_2 + d_3 w_3.$$ È esattamente lo sviluppo di Laplace di $\det(u \mid v \mid w)$ sulla **terza colonna**: il cofattore di posto $(i, 3)$ è $(-1)^{i+3} d_i$, cioè $+d_1$, $-d_2$, $+d_3$. È lo stesso argomento della dimostrazione della Proposizione 22.15, dove al posto di $w$ c'era $v$. (b) Tre vettori dello spazio sono dipendenti esattamente quando il determinante della matrice che li ha in colonna è zero (lezioni L09–L10). Per (a) quel determinante è $\langle u \times v, w \rangle$. (c) I quattro punti stanno su un piano esattamente quando $\overrightarrow{AB}$, $\overrightarrow{AC}$, $\overrightarrow{AD}$ sono dipendenti. $\overrightarrow{AB} = (-1, 1, 0)$, $\overrightarrow{AC} = (-1, 0, 1)$, $\overrightarrow{AD} = (0, 1, -1)$. Sviluppo sulla prima riga: $$\det\begin{pmatrix} -1 & -1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & -1 \end{pmatrix} = -1 \cdot (0 \cdot (-1) - 1 \cdot 1) - (-1) \cdot (1 \cdot (-1) - 1 \cdot 0) + 0 = 1 - 1 = 0.$$ Stanno su un piano: infatti tutti e quattro soddisfano $x + y + z = 1$ (per $D$: $1 + 1 - 1 = 1$). ::: ## Domande di ripasso ::: domanda Che cosa dice l'identità di Lagrange? La lunghezza al quadrato del prodotto vettoriale più il quadrato del prodotto scalare fa il prodotto delle lunghezze al quadrato (Proposizione 23.1). Si dimostra sviluppando i quadrati. ::: ::: domanda Perché la lunghezza di $v \times w$ è l'area del parallelogramma con lati $v$ e $w$? Mettendo $\langle v, w \rangle = \lVert v \rVert \lVert w \rVert \cos\vartheta$ nell'identità di Lagrange viene $\lVert v \times w \rVert^2 = \lVert v \rVert^2 \lVert w \rVert^2 \sin^2\vartheta$. Il seno non è negativo, perché l'angolo sta tra 0 e $\pi$; quindi resta $\lVert v \rVert \lVert w \rVert \sin\vartheta$, che è base per altezza. ::: ::: domanda Come si sceglie il verso di $v \times w$? Che cos'è una base positiva? Con la regola della mano destra: pollice sul primo vettore, indice sul secondo, il medio dà il verso. In formule: se i due vettori sono indipendenti, i due vettori e il loro prodotto, in colonna, danno un determinante positivo (Proposizione 23.4). Quel determinante vale proprio la lunghezza al quadrato del prodotto vettoriale. ::: ::: domanda Il prodotto vettoriale è commutativo? Associativo? Bilineare? Scambiando i fattori cambia segno: $v \times w = -\,w \times v$. Le parentesi contano: $(e_1 \times e_2) \times e_2 = -e_1$, ma $e_1 \times (e_2 \times e_2) = 0$. Somme e multipli escono fuori in ciascuno dei due fattori. ::: ::: domanda Che differenza c'è tra forma cartesiana e forma parametrica? La cartesiana è una prova: le equazioni dicono chi ci sta dentro, e servono a controllare se un punto ci sta. La parametrica è una ricetta: un punto e dei generatori, al variare dei parametri, e serve a produrre i punti e a leggere la dimensione. ::: ::: domanda Che cos'è un sottospazio affine? E la sua giacitura? Un sottospazio vettoriale spostato: $x + W$, cioè tutti i punti $x + v$ con $v$ in $W$. $W$ è la giacitura, fatta delle differenze tra due punti dell'insieme; $x$ è un suo punto qualsiasi. La dimensione è quella di $W$. ::: ::: domanda Quando $x + W$ e $x' + W'$ sono lo stesso sottospazio affine? Esattamente quando $W = W'$ e $x - x'$ sta in $W$ (Proposizione 23.5). ::: ::: domanda Quanto vale la dimensione delle soluzioni di $Ax = b$? Se $A$ e la matrice completa hanno lo stesso rango, le soluzioni formano un sottospazio affine di dimensione «numero delle incognite meno rango di $A$». Se la matrice completa ha rango più grande, non ci sono soluzioni (Rouché–Capelli). ::: ::: domanda Come si passa dalla forma parametrica alla cartesiana di un piano dello spazio, e perché funziona? Si calcola il prodotto vettoriale dei due vettori della ricetta, che dà i numeri $a, b, c$, e si trova $d$ mettendo il punto della ricetta in $ax + by + cz = d$. Funziona perché il prodotto vettoriale è perpendicolare ai due vettori: il suo prodotto scalare con ogni punto del piano è sempre lo stesso numero. ::: ::: domanda Quante equazioni servono per una retta dello spazio? E per un piano? Una retta ha dimensione 1: servono $3 - 1 = 2$ equazioni indipendenti. Un piano ha dimensione 2: basta $3 - 2 = 1$ equazione. ::: ::: domanda Come si calcola un'intersezione nei tre casi? Due prove: si uniscono le equazioni. Una prova e una ricetta: si mette il punto generico della ricetta nelle equazioni. Due ricette: si uguagliano i punti generici, con parametri di nomi diversi, e si risolve il sistema controllando tutte le equazioni. ::: ::: domanda Perché l'intersezione di due sottospazi affini, se non è vuota, è un sottospazio affine? Se $x$ è un punto comune, si scrivono tutti e due a partire da $x$: $x + W$ e $x + W'$. Allora l'intersezione è $x + (W \cap W')$, e $W \cap W'$ è un sottospazio vettoriale. ::: ::: domanda Che cosa dice la Proposizione 23.10? Vale il contrario? Se le due giaciture sommano a tutto lo spazio, i due insiemi si incontrano. Il contrario è falso: due rette dello spazio possono incontrarsi anche se le loro giaciture sommano solo a un piano, come l'asse $x$ e l'asse $y$. ::: ::: domanda Che cosa sono due rette sghembe? Due rette dello spazio che non si incontrano e non sono parallele, cioè con direzioni non proporzionali. Nel piano non esistono. ::: ## Glossario ```glossario Prodotto vettoriale | Il vettore $v \times w = (v_2 w_3 - v_3 w_2,\ v_3 w_1 - v_1 w_3,\ v_1 w_2 - v_2 w_1)$, definito solo nello spazio a tre dimensioni. Identità di Lagrange | $\lVert v \times w \rVert^2 + \langle v, w \rangle^2 = \lVert v \rVert^2 \lVert w \rVert^2$ (Proposizione 23.1). Parallelogramma con lati $v$ e $w$ | La figura con vertici $0$, $v$, $v + w$, $w$; la sua area è la lunghezza di $v \times w$. Base positiva | Una base di tre vettori che, in colonna, danno un determinante positivo; per esempio $v, w, v \times w$ con $v, w$ indipendenti. Regola della mano destra | Pollice sul primo vettore, indice sul secondo: il medio indica il verso del prodotto vettoriale. Anticommutatività | Scambiare i fattori cambia il segno: $v \times w = -\,w \times v$; in particolare $v \times v = 0$. Bilinearità | Somme e multipli escono fuori, in ciascuno dei due fattori. Forma cartesiana | La descrizione di un sottospazio con equazioni: una prova che dice chi ci sta dentro. Forma parametrica | La descrizione di un sottospazio con un punto e dei generatori: una ricetta che produce i punti. Sottospazio affine | Un sottospazio vettoriale spostato, $x + W$: tutti i punti $x + v$ con $v$ in $W$. Giacitura | Il sottospazio vettoriale $W$ di un sottospazio affine $x + W$: le direzioni in cui ci si muove restando dentro. Dimensione di un sottospazio affine | La dimensione della giacitura; per le soluzioni di $Ax = b$, numero delle incognite meno rango di $A$. Vettore normale | Per il piano $ax + by + cz = d$, il vettore $(a, b, c)$, perpendicolare a tutte le direzioni del piano. Iperpiano | Un sottospazio affine di dimensione $n - 1$, del tipo ${}^t w\, x + b = 0$ con $w$ non nullo. Classificatore lineare | Una regola che sceglie la classe di un vettore di dati secondo il segno di ${}^t w\, x + b$. Sottospazi incidenti | Due sottospazi affini con almeno un punto in comune. Sottospazi paralleli | Due sottospazi affini in cui la giacitura di uno sta dentro quella dell'altro (Martelli, §9.2.5). Rette sghembe | Due rette dello spazio né incidenti né parallele. ``` ## Checklist ```checklist - So calcolare $v \times w$ con lo schema «copri la riga» senza sbagliare il segno al centro, e controllo il risultato con i prodotti scalari. - So enunciare l'identità di Lagrange e usarla per trovare la lunghezza del prodotto vettoriale. - So calcolare l'area di un parallelogramma e di un triangolo nello spazio con il prodotto vettoriale. - So spiegare la regola della mano destra e che cosa vuol dire base positiva. - So usare le regole di calcolo del prodotto vettoriale, e so che le parentesi contano. - So passare dalla prova alla ricetta (Gauss) e dalla ricetta alla prova (prodotto vettoriale per i piani, eliminazione del parametro per le rette). - So riconoscere quando due scritture $x + W$ e $x' + W'$ descrivono lo stesso insieme. - So calcolare la dimensione di un sottospazio affine con Rouché–Capelli e so quante equazioni servono per rette e piani dello spazio. - So intersecare due sottospazi nei tre casi e controllo sempre il risultato. - So usare la Proposizione 23.10 per dimostrare che una retta e un piano si incontrano, e so che il contrario è falso. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 23 «Lo spazio euclideo II», pp. 116–121: sezioni 23.A (altre proprietà del prodotto vettoriale), 23.B (forma cartesiana e parametrica), 23.C (spazi affini) e 23.D (intersezioni), seguite in ordine con la numerazione originale (Proposizioni 23.1, 23.2, 23.4, 23.5, 23.10, Corollario 23.3, Definizione 23.7, Esempi 23.6, 23.8, 23.9). Il richiamo iniziale viene dalla lezione 22 (Definizione 22.14, Proposizioni 22.15 e 22.16, Corollario 22.17, pp. 114–115) e dalla lezione 12 (Definizione 12.5, Teorema 12.6). Questa lezione delle dispense non ha una sezione di esercizi. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §9.1 (prodotto vettoriale; da lì vengono le dimostrazioni delle Proposizioni 23.2 e 23.4 e l'Esercizio 9.1.8 sul prodotto triplo) e §9.2 (sottospazi affini, intersezioni con la dimostrazione della Proposizione 9.2.7 = 23.10, posizioni reciproche). - **Appelli d'esame** (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): testo riportato del 07/02/2025 (domanda 10) e del 15/01/2026 (problema 12), con soluzioni scritte per questi appunti; citati per tipo di domanda gli appelli del 24/01/2024, 10/07/2024, 06/09/2024, 03/06/2025, 10/07/2025, 02/09/2025 e 03/07/2026. Foglio 4 del tutorato 2025 (esercizio 6). - Le parti **«Oltre le dispense»** (dimostrazione della Proposizione 23.5, rette dalla ricetta alla prova, piano per tre punti, posizioni reciproche, esempi ed esercizi aggiuntivi) servono a collegare la lezione al libro e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L24_spazio_euclideo_3.md` ```yaml corso: MDAG modulo: AG lezione: L24 titolo: Lo spazio euclideo III docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L24 descrizione: >- Appunti della lezione L24 di Algebra lineare e Geometria (MDAG, parte 2): angoli fra rette, fra retta e piano e fra piani, distanze fra punti, fra punto e retta, fra rette sghembe e fra punto e piano, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Quando due rette o due piani si incontrano si misura l'angolo che formano; quando non si incontrano si misura quanto sono lontani. La strada più corta tra due oggetti è sempre quella perpendicolare: da questa idea vengono tutte le formule della lezione, che all'esame diventano conti di poche righe. materiale: dispense scheda: Dispense: lezione 24 · pp. 122–128 Libro: Martelli, §9.2.9, §9.2.10 e §8.1 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 24 «Lo spazio euclideo III»; B. Martelli, Geometria e algebra lineare, §8.1 e §9.2 appunti_html: appunti/MDAG/L24_spazio_euclideo_3.html genera_html: true ``` ## In breve - Se due rette o piani si **incontrano** se ne misura l'**angolo**; se non si incontrano, la **distanza**. - **Angolo tra due rette** che si incrociano: è l'angolo tra le loro direzioni. Dei due angoli possibili si prende sempre quello **acuto o retto**. - **Angolo tra una retta e un piano**: è l'angolo tra la retta e la sua **ombra** sul piano. Più in fretta, si calcola con il **vettore normale**: i due angoli sommano a un angolo retto. - **Angolo tra due piani**: è l'angolo acuto tra i loro **vettori normali**. - La **distanza** è sempre la lunghezza del **segmento più corto**, che è quello **perpendicolare**. - **Punto e retta**: area del parallelogramma divisa per la base. **Rette sghembe**: volume del parallelepipedo diviso per l'area della base. **Punto e piano**: una formula con l'equazione del piano. - All'esame non c'è la calcolatrice: gli angoli si lasciano come $\arccos\frac 13$, le distanze come $\frac{2}{7}\sqrt{133}$, e vanno riconosciuti i valori notevoli. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Angoli e distanze: l'idea (p. 122) Pensa a due strade. Se si **incrociano**, la domanda naturale è: con che **angolo**? Se invece una passa su un **cavalcavia** sopra l'altra, non si toccano, ma non sono nemmeno parallele: la domanda naturale è quanto sono **lontane**, cioè l'altezza del cavalcavia. Nello spazio le rette del cavalcavia si chiamano **sghembe**. La lezione L23 ha chiamato **incidenti** due sottospazi affini che si incontrano. Le dispense aprono la lezione 24 così: per due sottospazi incidenti si studia l'**angolo**, per due sottospazi che non si incontrano la **distanza**. | Coppia | Se si incontrano | Se non si incontrano | |---|---|---| | due rette | angolo (Definizione 24.1) | distanza (Definizione 24.13) | | retta e piano | angolo (Definizione 24.2) | distanza (oltre le dispense: vedi la sezione sul piano) | | due piani | angolo diedrale (Definizione 24.6) | distanza (oltre le dispense) | | un punto e una retta o un piano | distanza zero | distanza (Definizioni 24.10 e 24.16) | Tutto si basa sul prodotto scalare di tutti i giorni e sulla lezione L20. In particolare l'**angolo tra due vettori** non nulli è l'angolo tra 0 e $\pi$ il cui coseno è il prodotto scalare diviso il prodotto delle lunghezze (Definizione 20.12): $$\cos\vartheta = \frac{\langle v, w \rangle}{\lVert v \rVert \lVert w \rVert}.$$ L'angolo è acuto, retto o ottuso a seconda che il prodotto scalare sia positivo, zero o negativo. Senza calcolatrice, questi valori vanno riconosciuti al volo: | Angolo $\vartheta$ | In gradi | $\cos\vartheta$ | $\sin\vartheta$ | |---|---|---|---| | $0$ | $0^\circ$ | $1$ | $0$ | | $\frac{\pi}{6}$ | $30^\circ$ | $\frac{\sqrt 3}{2}$ | $\frac 12$ | | $\frac{\pi}{4}$ | $45^\circ$ | $\frac{\sqrt 2}{2} = \frac{1}{\sqrt 2}$ | $\frac{\sqrt 2}{2}$ | | $\frac{\pi}{3}$ | $60^\circ$ | $\frac 12$ | $\frac{\sqrt 3}{2}$ | | $\frac{\pi}{2}$ | $90^\circ$ | $0$ | $1$ | | $\frac{2\pi}{3}$ | $120^\circ$ | $-\frac 12$ | $\frac{\sqrt 3}{2}$ | | $\frac{3\pi}{4}$ | $135^\circ$ | $-\frac{\sqrt 2}{2}$ | $\frac{\sqrt 2}{2}$ | | $\pi$ | $180^\circ$ | $-1$ | $0$ | La colonna del seno serve per la scorciatoia dell'angolo tra una retta e un piano, più avanti. Per gli altri valori la risposta resta scritta con l'arcocoseno: nei quiz d'esame compaiono proprio risposte come $\arccos\frac 13$ o $\arccos\frac{6}{\sqrt{42}}$. ::: prova Due rette dello spazio hanno la stessa direzione e nessun punto in comune. Si calcola l'angolo o la distanza? La distanza: non si incontrano. Sono due rette parallele. ::: > [!RICORDA] > - Si incontrano: angolo. Non si incontrano: distanza. > - Tieni a mente i coseni degli angoli notevoli; gli altri angoli si lasciano con l'arcocoseno. ## L'angolo tra due rette (p. 122) Le dispense trattano tre casi: due rette, una retta e un piano, due piani. Il primo è il più diretto: si guarda l'angolo tra le direzioni. > [!DEF] 24.1 · Angolo tra rette > Siano $r$ e $r'$ due rette in $\R^3$ che si intersecano in un punto $P$. Abbiamo $r = P + \Span(v)$ e $r' = P + \Span(v')$, e definiamo l'**angolo fra $r$ e $r'$** come l'angolo $\vartheta$ formato da $v$ e $v'$. **Come si legge.** - Le rette devono **incontrarsi** in un punto $P$: per due rette sghembe questa definizione non si applica. - $v$ e $v'$ sono i **vettori direzione** delle due rette. - Due rette che si incrociano formano **due** angoli, $\vartheta$ e $\pi - \vartheta$: girare $v$ nel verso opposto rende ottuso un angolo acuto. Le dispense scelgono sempre quello **acuto o retto**. Siccome $\cos(\pi - \vartheta) = -\cos\vartheta$, scegliere l'angolo acuto vuol dire togliere il segno al prodotto scalare: $$\cos\vartheta = \frac{\lvert \langle v, v' \rangle \rvert}{\lVert v \rVert \lVert v' \rVert}.$$ ```grafico titolo: Due rette incidenti formano due angoli, $\vartheta$ e $\pi - \vartheta$: si sceglie quello acuto assi: no griglia: no x: -3 3 y: -2 2.4 retta: -2.5 0 2.5 0 | accento | $r$ | ne retta: -1.8 -1.8 1.8 1.8 | blu | $r'$ | se vettore: 0 0 1.6 0 | accento | spesso | $v$ | s vettore: 0 0 1.2 1.2 | blu | spesso | $v'$ | no arco: 0 0 0.8 0 pi/4 | ambra | $\vartheta$ arco: 0 0 0.5 pi/4 pi | grigio | $\pi - \vartheta$ punto: 0 0 | $P$ | so ``` > [!ESEMPIO] Due rette che formano un angolo di $\frac{\pi}{3}$ > Le rette $r = (1, 0, 0) + t\,(1, 1, 0)$ e $r' = (1, 0, 0) + s\,(0, 1, 1)$ passano tutte e due per $P = (1, 0, 0)$. Con $v = (1, 1, 0)$ e $v' = (0, 1, 1)$: > - il prodotto scalare è $0 + 1 + 0 = 1$; > - le lunghezze sono $\sqrt 2$ e $\sqrt 2$; > - il coseno è $\frac{1}{\sqrt 2 \cdot \sqrt 2} = \frac 12$, quindi l'angolo è $\frac{\pi}{3}$, cioè 60°. > [!ESEMPIO] Quando il conto dà un angolo ottuso > Le rette per l'origine con direzioni $v = (1, 0, 0)$ e $v' = (-1, 1, 0)$: il coseno è $\frac{-1}{1 \cdot \sqrt 2} = -\frac{\sqrt 2}{2}$, cioè $\frac{3\pi}{4}$, ottuso. L'angolo tra le **rette** è $\pi - \frac{3\pi}{4} = \frac{\pi}{4}$: lo stesso che si ottiene togliendo il segno, $\frac{1}{\sqrt 2} = \frac{\sqrt 2}{2}$. > [!TRAPPOLA] Angolo tra vettori e angolo tra rette > Tra due **vettori** l'angolo può essere ottuso. Tra due **rette** no: il risultato sta tra 0 e $\frac{\pi}{2}$. Se trovi un coseno negativo, stai guardando l'angolo tra i vettori: togli il segno meno. ::: prova Che angolo formano due rette che si incontrano, con direzioni $(1, 1, 0)$ e $(0, 0, 1)$? Il prodotto scalare è 0: l'angolo è retto, $\frac{\pi}{2}$. ::: > [!RICORDA] > - Angolo tra rette = angolo tra le direzioni, con il prodotto scalare **senza segno**. > - Il risultato è sempre acuto o retto. ## L'angolo tra una retta e un piano (pp. 122–124) Immagina un'asta piantata storta nel pavimento. L'angolo con il pavimento si misura guardando l'**ombra** dell'asta quando il sole è esattamente sopra. L'ombra è la proiezione ortogonale dell'asta sul pavimento (lezione L21), e l'angolo cercato è quello tra l'asta e la sua ombra. Le dispense lo scrivono così. > [!DEF] 24.2 · Angolo tra retta e piano > Siano $r$ una retta e $\pi$ un piano che si intersecano in un punto $P$. Definiamo l'angolo $\vartheta$ fra $r$ e $\pi$ nel modo seguente. Trasliamo l'origine in modo che $P = 0$. A questo punto $\pi$ è un sottospazio vettoriale e definiamo il vettore $v' = p_\pi(v)$ facendo la proiezione ortogonale di $v$ su $\pi$. Se $v' = 0$ poniamo $\vartheta = \frac{\pi}{2}$, altrimenti definiamo $\vartheta$ come l'angolo fra $v$ e $v'$. **Come si legge.** - $v$ è la direzione della retta. - «Spostiamo l'origine nel punto d'incontro» serve solo a far passare il piano per l'origine, così si può proiettare. In pratica si usa la **giacitura** del piano. - $p_\pi(v)$ è l'**ombra** di $v$ sul piano. - Se l'ombra è nulla, l'asta è verticale: l'angolo è retto. L'angolo così è **sempre acuto o retto**. Il resto $v - p_\pi(v)$ è perpendicolare all'ombra, quindi il prodotto scalare tra $v$ e la sua ombra è la lunghezza al quadrato dell'ombra, mai negativa. Per calcolare l'ombra, le dispense ricordano la formula della lezione L21: con una **base ortogonale** $v_1, v_2$ del piano, che si trova sempre con Gram–Schmidt, $$p_\pi(v) = \frac{\langle v, v_1 \rangle}{\langle v_1, v_1 \rangle} v_1 + \frac{\langle v, v_2 \rangle}{\langle v_2, v_2 \rangle} v_2.$$ Ecco l'esempio delle dispense. > [!ESEMPIO] 24.3 > Prendiamo $\pi = \{x + y - z = 0\} \subset \R^3$ e il vettore $e_3$. Cerchiamo prima una base ortogonale per $\pi$ e troviamo ad esempio > $$v_1 = \begin{pmatrix} 1 \\ 1 \\ 2 \end{pmatrix}, \qquad v_2 = \begin{pmatrix} 1 \\ -1 \\ 0 \end{pmatrix}.$$ > A questo punto determiniamo la proiezione ortogonale su $\pi$ di un generico vettore di $\R^3$ con la formula precedente: > $$p_\pi\begin{pmatrix} x \\ y \\ z \end{pmatrix} = \frac{x + y + 2z}{6} \begin{pmatrix} 1 \\ 1 \\ 2 \end{pmatrix} + \frac{x - y}{2} \begin{pmatrix} 1 \\ -1 \\ 0 \end{pmatrix} = \frac 13 \begin{pmatrix} 2x - y + z \\ -x + 2y + z \\ x + y + 2z \end{pmatrix}.$$ > Quindi la matrice associata a $p_\pi$ nella base canonica è > $$\frac 13 \begin{pmatrix} 2 & -1 & 1 \\ -1 & 2 & 1 \\ 1 & 1 & 2 \end{pmatrix}.$$ > Con questa matrice possiamo calcolare la proiezione ortogonale su $\pi$ di qualsiasi vettore di $\R^3$. In particolare $p_\pi(e_3) = \frac 13 (1, 1, 2)$, e allora l'angolo fra $e_3$ e $\pi$ è > $$\vartheta = \arccos \frac{\langle (1, 1, 2), (0, 0, 1) \rangle}{\lVert (1, 1, 2) \rVert \, \lVert (0, 0, 1) \rVert} = \arccos \frac{2}{\sqrt 6} = \arccos \frac{\sqrt 6}{3} \simeq 0{,}615,$$ > che corrisponde a un angolo di circa $35{,}3^\circ$. > [!ESEMPIO] · i passaggi dell'Esempio 24.3 > 1. **Da dove viene la base ortogonale.** Un primo vettore del piano si trova a occhio: $v_2 = (1, -1, 0)$, perché $1 - 1 - 0 = 0$. Il secondo deve stare nel piano ed essere perpendicolare a $v_2$. Il prodotto vettoriale tra la normale $n = (1, 1, -1)$ e $v_2$ fa proprio questo: dà $(-1, -1, -2)$, cioè, cambiando segno, $v_1 = (1, 1, 2)$. Controllo: $1 + 1 - 2 = 0$ e $\langle v_1, v_2 \rangle = 1 - 1 + 0 = 0$. > 2. **I numeri davanti.** $\langle (x, y, z), v_1 \rangle = x + y + 2z$ e $\langle v_1, v_1 \rangle = 6$; $\langle (x, y, z), v_2 \rangle = x - y$ e $\langle v_2, v_2 \rangle = 2$. > 3. **La somma.** Prima componente: > $$\frac{x + y + 2z}{6} + \frac{x - y}{2} = \frac{x + y + 2z + 3x - 3y}{6} = \frac{4x - 2y + 2z}{6} = \frac{2x - y + z}{3}.$$ > Allo stesso modo le altre due. > 4. **L'angolo.** L'ombra di $e_3$ è la terza colonna della matrice, $\frac 13 (1, 1, 2)$. Il fattore $\frac 13$ non cambia gli angoli. $\langle (1, 1, 2), e_3 \rangle = 2$, la lunghezza di $(1, 1, 2)$ è $\sqrt 6$ e quella di $e_3$ è 1. Infine $\frac{2}{\sqrt 6} = \frac{2\sqrt 6}{6} = \frac{\sqrt 6}{3}$. Con la calcolatrice di Gauss puoi rifare il punto 1 con Gram–Schmidt: le righe sono due vettori qualsiasi del piano, $(1, -1, 0)$ e $(1, 0, 1)$. Controlla che soddisfano $x + y - z = 0$. Lo strumento trova $u_2 = \left(\frac 12, \frac 12, 1\right)$ e nella base finale lo riscrive senza frazioni come $(1, 1, 2)$: è proprio il $v_1$ delle dispense. ```widget gauss titolo: Una base ortogonale del piano $x + y - z = 0$ con Gram–Schmidt matrice: 1 -1 0; 1 0 1 modo: gram-schmidt ``` ### La scorciatoia del vettore normale Il piano ha una direzione speciale che non sta **dentro** di lui: quella del vettore normale. L'angolo con il piano e l'angolo con la normale, insieme, fanno un angolo retto. Le dispense lo scrivono così. > [!PROP] 24.4 > L'angolo fra $v$ e il piano $\pi$ e l'angolo fra $v$ e il vettore ortogonale a $\pi$ che forma un angolo acuto con $v$ si sommano a $\frac{\pi}{2}$. **Come si legge.** Se l'asta forma 30° con il pavimento, forma 60° con la verticale. Si usa la normale che forma un angolo acuto con l'asta, cioè quella che punta dalla stessa parte. ```grafico titolo: Vista di taglio: il piano $\pi$ è la retta viola, $n$ gli è ortogonale; $\vartheta$ (fra $v$ e la sua ombra) e $\alpha$ (fra $v$ e $n$) sommano a un angolo retto assi: no griglia: no x: -3 3 y: -0.8 2.8 retta: 3 0 -2.6 0 | viola | spesso | $\pi$ | ne vettore: 0 0 0 2.4 | ambra | spesso | $n$ | e vettore: 0 0 2 1.414 | accento | spesso | $v$ | ne vettore: 0 0 2 0 | blu | spesso | $p_\pi(v)$ | s segmento: 2 1.414 2 0 | grigio | tratteggio arco: 0 0 0.9 0 0.6155 | ambra | $\vartheta$ arco: 0 0 1.4 0.6155 pi/2 | grigio | $\alpha$ ``` > [!DIM] della Proposizione 24.4 (oltre le dispense) > 1. Spezzo $v = p + q$, con $p$ l'ombra sul piano e $q = v - p$ parallelo alla normale (lezione L21). Scelgo la normale $n$ che forma un angolo acuto con $v$: allora $q$ punta come $n$. > 2. $\cos\vartheta = \frac{\langle v, p \rangle}{\lVert v \rVert \lVert p \rVert} = \frac{\lVert p \rVert^2}{\lVert v \rVert \lVert p \rVert} = \frac{\lVert p \rVert}{\lVert v \rVert}$, perché $\langle v, p \rangle = \langle p + q, p \rangle = \lVert p \rVert^2$. > 3. Allo stesso modo, con $\alpha$ l'angolo tra $v$ e $n$: $\cos\alpha = \frac{\lVert q \rVert}{\lVert v \rVert}$, perché $\langle v, n \rangle = \langle q, n \rangle = \lVert q \rVert \lVert n \rVert$. > 4. Per Pitagora $\lVert p \rVert^2 + \lVert q \rVert^2 = \lVert v \rVert^2$, quindi $\cos^2\vartheta + \cos^2\alpha = 1$, cioè $\cos\alpha = \sin\vartheta$. Due angoli acuti con $\cos\alpha = \sin\vartheta$ sommano a un angolo retto. Le dispense rifanno così l'esempio di prima. > [!ESEMPIO] 24.5 > Nell'esempio di prima possiamo calcolare l'angolo $\vartheta$ anche come $\frac{\pi}{2} - \alpha$, dove $\alpha$ è l'angolo fra $e_3$ e il vettore $n = (-1, -1, 1)$, che è ortogonale a $\pi$. Allora > $$\begin{aligned} \vartheta &= \frac{\pi}{2} - \arccos \frac{\langle (-1, -1, 1), (0, 0, 1) \rangle}{\lVert (-1, -1, 1) \rVert \, \lVert (0, 0, 1) \rVert} \\ &= \frac{\pi}{2} - \arccos \frac{1}{\sqrt 3} \simeq 1{,}570 - 0{,}955 = 0{,}615. \end{aligned}$$ > Otteniamo lo stesso risultato. Perché $(-1, -1, 1)$ e non $(1, 1, -1)$, che è il vettore dei numeri dell'equazione? Perché la proposizione chiede la normale che forma un angolo **acuto** con $e_3$: con $(1, 1, -1)$ il prodotto scalare è $-1$, con $(-1, -1, 1)$ è $1$. Togliendo il segno al prodotto scalare il problema sparisce. > [!OLTRE] Due formule senza Gram–Schmidt > **L'ombra su un piano.** Se $n$ è un vettore normale del piano, l'ombra di $v$ è $v$ meno la sua ombra sulla normale: > $$p_\pi(v) = v - \frac{\langle v, n \rangle}{\langle n, n \rangle}\, n.$$ > Nell'Esempio 24.3: $e_3 - \frac{-1}{3}(1, 1, -1) = \left(\frac 13, \frac 13, 1 - \frac 13\right) = \frac 13 (1, 1, 2)$, come prima. > > **L'angolo tra retta e piano in una riga.** Dalla Proposizione 24.4 e dal punto 4 della dimostrazione: > $$\sin\vartheta = \frac{\lvert \langle v, n \rangle \rvert}{\lVert v \rVert \lVert n \rVert}.$$ > Nell'Esempio 24.3: $\sin\vartheta = \frac{1}{1 \cdot \sqrt 3}$, quindi $\vartheta = \arcsin\frac{1}{\sqrt 3}$. È lo stesso angolo di $\arccos\frac{\sqrt 6}{3}$, perché $\frac 13 + \frac 23 = 1$. > [!METODO] L'angolo tra una retta e un piano > 1. Controlla che si incontrino: se la retta è parallela al piano, l'angolo non è definito. > 2. Prendi la direzione $v$ della retta e un vettore normale $n$ del piano: i numeri dell'equazione, oppure il prodotto vettoriale dei due vettori della ricetta. > 3. **Metodo delle dispense**: calcola l'ombra $p_\pi(v)$ e poi l'angolo tra $v$ e l'ombra. **Metodo veloce**: $\sin\vartheta = \frac{\lvert \langle v, n \rangle \rvert}{\lVert v \rVert \lVert n \rVert}$. > 4. Se $\langle v, n \rangle = 0$ la retta è parallela al piano, o ci sta dentro. Se $v$ è proporzionale a $n$ l'angolo è retto. ::: prova Che angolo forma la retta $t(1, 0, 1)$ con il pavimento $z = 0$? La normale è $(0, 0, 1)$: $\sin\vartheta = \frac{1}{\sqrt 2 \cdot 1} = \frac{\sqrt 2}{2}$, quindi l'angolo è $\frac{\pi}{4}$. ::: > [!RICORDA] > - Angolo retta–piano = angolo tra la direzione e la sua ombra sul piano. > - Scorciatoia: il seno dell'angolo è il coseno dell'angolo con la normale, senza segno. ## L'angolo tra due piani (p. 124) Apri un libro a metà: le due metà della copertina sono due piani che si incontrano nella retta della costola. L'apertura del libro si misura guardando dall'alto, cioè tagliando con un piano **perpendicolare** alla costola: il taglio è fatto di due segmenti, e l'angolo tra quei segmenti è l'apertura. Le dispense lo scrivono così. > [!DEF] 24.6 · Angolo tra piani > Siano $\pi_1$ e $\pi_2$ due piani che si intersecano in una retta $r = \pi_1 \cap \pi_2$. L'angolo (**diedrale**) fra $\pi_1$ e $\pi_2$ è definito nel modo seguente: si prendono due rette $s_1 \subset \pi_1$ e $s_2 \subset \pi_2$ incidenti ed entrambe ortogonali a $r$; l'angolo diedrale fra $\pi_1$ e $\pi_2$ è per definizione l'angolo $\alpha$ fra $s_1$ e $s_2$. Si ottengono in realtà due angoli $\alpha$ e $\pi - \alpha$, e scegliamo come sempre quello acuto (o retto). **Come si legge.** «Diedrale» vuol dire «tra due facce». Si prende in ciascun piano una retta perpendicolare alla costola, e si misura l'angolo tra queste due rette. La definizione è chiara nel disegno ma scomoda nei conti. Le dispense la trasformano in un conto con i vettori normali. > [!PROP] 24.7 > Siano $v_1$ e $v_2$ due vettori non nulli ortogonali a $\pi_1$ e $\pi_2$. L'angolo $\alpha$ fra $\pi_1$ e $\pi_2$ è uguale all'angolo acuto (o retto) fra le rette generate da $v_1$ e $v_2$. **Come si legge.** Per misurare l'apertura del libro basta misurare l'angolo tra le due frecce perpendicolari alle copertine. > [!IDEA] Perché si possono usare le normali > Guarda tutto nel piano del taglio, perpendicolare alla costola. Lì dentro stanno le due rette della definizione, e stanno anche le due normali, che sono perpendicolari alla costola perché la costola sta in tutti e due i piani. In quel piano ogni normale è perpendicolare alla retta della sua copertina: girare due rette di un angolo retto non cambia l'angolo tra loro. Il libro di Martelli lascia questo fatto come esercizio (Esercizio 9.2.34). Quindi per due piani $\pi_1 = \{a_1 x + b_1 y + c_1 z = d_1\}$ e $\pi_2 = \{a_2 x + b_2 y + c_2 z = d_2\}$ l'angolo diedrale si calcola con i **vettori dei numeri** delle due equazioni: $$\cos\alpha = \frac{\lvert a_1 a_2 + b_1 b_2 + c_1 c_2 \rvert}{\sqrt{a_1^2 + b_1^2 + c_1^2}\,\sqrt{a_2^2 + b_2^2 + c_2^2}}.$$ > [!ESEMPIO] 24.8 > I piani $\pi_1 = \{x + y - z = 3\}$ e $\pi_2 = \{x - y - z = 9\}$ formano un angolo > $$\vartheta = \arccos \frac{\langle (1, 1, -1), (1, -1, -1) \rangle}{\lVert (1, 1, -1) \rVert \, \lVert (1, -1, -1) \rVert} = \arccos \frac{1}{\sqrt 3 \sqrt 3} = \arccos \frac 13 \simeq 1{,}230.$$ > Questo corrisponde a un angolo di circa $70{,}5^\circ$. I conti: il prodotto scalare è $1 - 1 + 1 = 1$, e le due lunghezze sono $\sqrt 3$. Il coseno $\frac 13$ non è un valore notevole: la risposta si lascia come $\arccos\frac 13$. Nota che i numeri a destra, 3 e 9, non servono: l'angolo dipende solo dalle **giaciture**. > [!ESEMPIO] Due piani perpendicolari > I due piani dell'Esempio 23.9, $\{x + y = 1\}$ e $\{x - y + z = 3\}$, hanno normali $(1, 1, 0)$ e $(1, -1, 1)$, con prodotto scalare $1 - 1 + 0 = 0$: il coseno è zero e i piani sono **perpendicolari**. > [!TRAPPOLA] Normali proporzionali > Se le normali sono proporzionali, per esempio $(1, 2, -1)$ e $(-2, -4, 2)$, il conto darebbe coseno 1: i piani sono **paralleli**, e non si incontrano oppure coincidono. Non ha senso parlare di angolo diedrale: si calcola la distanza. ::: prova Che angolo formano i piani $x = 0$ e $y = 0$? Le normali $(1, 0, 0)$ e $(0, 1, 0)$ hanno prodotto scalare zero: l'angolo è retto. ::: > [!RICORDA] > - Angolo tra due piani = angolo acuto tra i vettori normali. > - I numeri a destra delle equazioni non contano. ## La distanza da una retta (pp. 124–126) Le dispense definiscono la distanza tra due sottospazi affini dello spazio. Se si incontrano la distanza è **zero**; se non si incontrano è positiva, e si definisce caso per caso. L'idea è sempre la stessa: si cerca il **segmento più corto** che li collega, ed è sempre quello **perpendicolare**. Per due punti, la distanza è quella della lezione L20. > [!DEF] 24.9 · Distanza fra punti > Come già sappiamo, la distanza $d(P, Q)$ fra due punti $P, Q \in \R^3$ è definita usando la norma: > $$d(P, Q) = \lVert \overrightarrow{PQ} \rVert = \lVert Q - P \rVert.$$ **Come si legge.** La distanza tra due punti è la lunghezza del vettore che va dall'uno all'altro. Per esempio da $(1, 2, 3)$ a $(3, 1, 1)$ il vettore è $(2, -1, -2)$, lungo $\sqrt{4 + 1 + 4} = 3$. Per un punto e una retta si scende in perpendicolare. Le dispense lo scrivono così. > [!DEF] 24.10 · Distanza fra punto e retta > La distanza $d(P, r)$ fra un punto $P$ e una retta $r$ nello spazio è definita nel modo seguente. Tracciamo (Figura 10 delle dispense) la perpendicolare $s$ a $r$ passante per $P$ e definiamo > $$d(P, r) = d(P, Q), \quad \text{dove } Q = r \cap s.$$ **Come si legge.** Da $P$ si scende sulla retta in perpendicolare: il punto d'arrivo $Q$ si chiama **piede della perpendicolare**, ed è il punto della retta più vicino a $P$. La distanza è la lunghezza di quel segmento. Se la retta è data con la ricetta $P_0 + t v_0$, la distanza si calcola senza cercare $Q$, con il prodotto vettoriale. Le dispense lo scrivono così. > [!PROP] 24.11 > Vale l'uguaglianza > $$d(P, r) = \frac{\lVert v_0 \times v_1 \rVert}{\lVert v_0 \rVert}, \quad \text{dove } v_1 = \overrightarrow{P_0 P} = P - P_0.$$ **Come si legge.** La distanza è l'area di un parallelogramma divisa per la sua base. La dimostrazione delle dispense calcola la stessa area in due modi. 1. Prendi il parallelogramma con un lato lungo la retta, $v_0$, e l'altro che va da $P_0$ a $P$, $v_1$. 2. Per il Corollario 23.3 la sua area è la lunghezza di $v_0 \times v_1$. 3. Come base per altezza: la base è la lunghezza di $v_0$, e l'altezza è proprio la distanza di $P$ dalla retta. 4. Uguagliando e dividendo per la base si ottiene la formula. ```grafico titolo: Il parallelogramma con lati $v_0$ e $v_1 = P - P_0$: la sua altezza è la distanza di $P$ dalla retta $r$ x: -1 5 y: -0.8 4 retta: 0 0 3 1 | accento | $r$ | se poligono: 0 0 3 1 4 4 1 3 | ambra vettore: 0 0 3 1 | accento | spesso | $v_0$ | se vettore: 0 0 1 3 | blu | spesso | $v_1$ | o punto: 0 0 | $P_0$ | so punto: 1 3 | rosa | $P$ | n punto: 1.8 0.6 | $Q$ | se segmento: 1 3 1.8 0.6 | rosa | tratteggio | $d(P, r)$ | e ``` Ecco l'esempio delle dispense. > [!ESEMPIO] 24.12 > Prendiamo il punto e la retta > $$P = \begin{pmatrix} 1 \\ -2 \\ 3 \end{pmatrix}, \qquad r = \left\{ \begin{pmatrix} -1 \\ 0 \\ 1 \end{pmatrix} + t \begin{pmatrix} 3 \\ 2 \\ 1 \end{pmatrix} \right\}.$$ > La distanza fra $P$ e $r$ è > $$d(P, r) = \frac{\left\lVert (3, 2, 1) \times (2, -2, 2) \right\rVert}{\lVert (3, 2, 1) \rVert} = \frac{\lVert (6, -4, -10) \rVert}{\sqrt{14}} = \frac{2\sqrt{38}}{\sqrt{14}} = \frac 27 \sqrt{133}.$$ > [!ESEMPIO] · i passaggi dell'Esempio 24.12 > 1. $P_0 = (-1, 0, 1)$ e $v_0 = (3, 2, 1)$; $v_1 = P - P_0 = (1 - (-1),\ -2 - 0,\ 3 - 1) = (2, -2, 2)$. > 2. Prodotto vettoriale, con le righe affiancate $(3, 2)$, $(2, -2)$, $(1, 2)$: $\big(2 \cdot 2 - 1 \cdot (-2),\ -(3 \cdot 2 - 1 \cdot 2),\ 3 \cdot (-2) - 2 \cdot 2\big) = (6, -4, -10)$. > 3. La sua lunghezza è $\sqrt{36 + 16 + 100} = \sqrt{152} = 2\sqrt{38}$; quella di $v_0$ è $\sqrt{9 + 4 + 1} = \sqrt{14}$. > 4. Semplifico: $\frac{2\sqrt{38}}{\sqrt{14}} = 2\sqrt{\frac{19}{7}} = \frac{2\sqrt{19}\sqrt 7}{7} = \frac{2\sqrt{133}}{7}$. > [!OLTRE] Il piede della perpendicolare, e un controllo > Il punto $Q$ si trova proiettando $v_1$ sulla retta (lezione L21): > $$Q = P_0 + \frac{\langle v_1, v_0 \rangle}{\langle v_0, v_0 \rangle} v_0.$$ > Nell'Esempio 24.12: $\langle v_1, v_0 \rangle = 6 - 4 + 2 = 4$ e $\langle v_0, v_0 \rangle = 14$, quindi $Q = (-1, 0, 1) + \frac{2}{7}(3, 2, 1) = \left(-\frac 17, \frac 47, \frac 97\right)$. Allora $P - Q = \left(\frac 87, -\frac{18}{7}, \frac{12}{7}\right)$, lungo $\frac{\sqrt{532}}{7} = \frac{2\sqrt{133}}{7}$: la stessa distanza. Controllo che $P - Q$ sia perpendicolare alla retta: $\frac{24 - 36 + 12}{7} = 0$. > [!TRAPPOLA] Si divide per la lunghezza, non per il suo quadrato > Nella formula c'è la lunghezza di $v_0$ al denominatore, non il suo quadrato, che compare invece nella proiezione. E il vettore $v_1$ va da un punto **della retta** al punto $P$: usare $P$ al posto di $P - P_0$ dà un risultato sbagliato, a meno che la retta passi per l'origine. ::: prova Quanto dista il punto $(0, 0, 5)$ dall'asse $x$? Il piede è l'origine: la distanza è 5. Con la formula: $(1, 0, 0) \times (0, 0, 5) = (0, -5, 0)$, lungo 5, diviso per 1. ::: > [!RICORDA] > - La distanza è la lunghezza del segmento perpendicolare. > - Punto e retta: $\frac{\lVert v_0 \times (P - P_0) \rVert}{\lVert v_0 \rVert}$, area diviso base. ## La distanza tra due rette (pp. 126–127) Due rette che non si incontrano sono **parallele** oppure **sghembe**. In tutti e due i casi c'è una retta che le taglia perpendicolarmente tutte e due: il «pilone» del cavalcavia. Le dispense lo scrivono così. > [!DEF] 24.13 · Distanza fra rette > La distanza $d(r, r')$ fra due rette $r$ ed $r'$ **disgiunte** nel piano o nello spazio è definita nel modo seguente. Le due rette $r$ e $r'$ sono parallele o sghembe. In entrambi i casi troviamo una retta $s$ perpendicolare a entrambe. Definiamo quindi > $$d(r, r') = d(P, P'), \quad \text{dove } P = r \cap s \text{ e } P' = r' \cap s.$$ **Come si legge.** - Se le rette si incontrano, la distanza è zero. - **Parallele**: stessa direzione, nessun punto comune. Le perpendicolari comuni sono infinite, tutte della stessa lunghezza, come le traversine di un binario. - **Sghembe**: direzioni diverse e nessun punto comune (lezione L23). La perpendicolare comune è **una sola** (Martelli, Proposizione 9.2.27). Con le rette date dalle ricette $P_0 + t v$ e $P_0' + u v'$, la distanza si calcola in fretta. **Rette parallele.** La distanza è quella di un punto della prima dalla seconda: si prende $P_0$ e si usa la Proposizione 24.11. > [!ESEMPIO] Due rette parallele > $r = \{t\,(1, 1, 0)\}$ e $r' = \{(1, 0, 0) + s\,(1, 1, 0)\}$ hanno la stessa direzione, e l'origine, che sta sulla prima, non sta sulla seconda. Con $P = (0, 0, 0)$, $P_0' = (1, 0, 0)$ e $v_0 = (1, 1, 0)$: > - $P - P_0' = (-1, 0, 0)$; > - $(1, 1, 0) \times (-1, 0, 0) = \big(1 \cdot 0 - 0 \cdot 0,\ -(1 \cdot 0 - 0 \cdot (-1)),\ 1 \cdot 0 - 1 \cdot (-1)\big) = (0, 0, 1)$; > - la distanza è $\frac{1}{\sqrt 2} = \frac{\sqrt 2}{2}$. > > Nel piano $z = 0$ sono le rette $y = x$ e $y = x - 1$: in verticale distano 1, ma il segmento perpendicolare, che misura la distanza vera, è più corto. **Rette sghembe.** Qui serve un **volume** al posto dell'area (Figura 11 delle dispense). Le dispense lo scrivono così. > [!PROP] 24.14 > Se $r$ e $r'$ sono sghembe, vale la formula > $$d(r, r') = \frac{\lvert \det(v \mid v' \mid v'') \rvert}{\lVert v \times v' \rVert}, \quad \text{dove } v'' = \overrightarrow{P_0 P_0'} = P_0' - P_0.$$ **Come si legge.** La distanza è il volume di una scatola divisa per l'area della sua base. Il ragionamento è lo stesso della Proposizione 24.11, una dimensione più su. 1. Prendi la scatola, il **parallelepipedo**, con spigoli $v$, $v'$ e $v''$. 2. Il suo volume è il determinante dei tre vettori, senza segno: è il significato del determinante (Martelli, Proposizione 9.1.9). 3. Come area di base per altezza: la base è il parallelogramma con lati $v$ e $v'$, di area $\lVert v \times v' \rVert$. L'altezza è la distanza tra i due piani paralleli che contengono le due rette, cioè proprio la distanza tra le rette. 4. Uguagliando e dividendo per l'area di base si ottiene la formula. Ecco l'esempio delle dispense. > [!ESEMPIO] 24.15 > Calcoliamo la distanza fra le rette sghembe > $$r = \left\{ \begin{pmatrix} 2 \\ -5 \\ 1 \end{pmatrix} + t \begin{pmatrix} 2 \\ 0 \\ 1 \end{pmatrix} \right\}, \qquad r' = \left\{ \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix} + u \begin{pmatrix} -1 \\ -2 \\ 3 \end{pmatrix} \right\}.$$ > Questa è > $$\begin{aligned} d(r, r') &= \frac{\left\lvert \det\begin{pmatrix} 2 & -1 & -1 \\ 0 & -2 & 6 \\ 1 & 3 & -1 \end{pmatrix} \right\rvert}{\left\lVert (2, 0, 1) \times (-1, -2, 3) \right\rVert} \\ &= \frac{\lvert 2(2 - 18) + (-6 - 2) \rvert}{\sqrt{2^2 + (-7)^2 + (-4)^2}} = \frac{40}{\sqrt{69}} = \frac{40}{69}\sqrt{69}. \end{aligned}$$ > [!ESEMPIO] · i passaggi dell'Esempio 24.15 > 1. $v = (2, 0, 1)$, $v' = (-1, -2, 3)$ e $v'' = P_0' - P_0 = (1 - 2,\ 1 - (-5),\ 0 - 1) = (-1, 6, -1)$: sono le tre colonne della matrice. > 2. Determinante con Laplace sulla **prima colonna** $(2, 0, 1)$: $2 \cdot \det\begin{pmatrix} -2 & 6 \\ 3 & -1 \end{pmatrix} + 1 \cdot \det\begin{pmatrix} -1 & -1 \\ -2 & 6 \end{pmatrix} = 2\,(2 - 18) + (-6 - 2) = -40$. Senza segno: 40. > 3. Prodotto vettoriale, con le righe affiancate $(2, -1)$, $(0, -2)$, $(1, 3)$: $\big(0 \cdot 3 - 1 \cdot (-2),\ -(2 \cdot 3 - 1 \cdot (-1)),\ 2 \cdot (-2) - 0 \cdot (-1)\big) = (2, -7, -4)$, lungo $\sqrt{4 + 49 + 16} = \sqrt{69}$. > 4. La distanza è $\frac{40}{\sqrt{69}} = \frac{40\sqrt{69}}{69}$. > [!OLTRE] Il determinante dice anche se due rette si incontrano > Due rette qualsiasi stanno su uno stesso piano, cioè si incontrano o sono parallele, esattamente quando $\det(v \mid v' \mid P_0' - P_0) = 0$ (Martelli, Proposizione 9.2.41). Il determinante è zero esattamente quando i tre vettori stanno in uno stesso piano. Ne viene una ricetta completa: > 1. se le direzioni sono **proporzionali**, le rette sono parallele, o coincidono: distanza con la Proposizione 24.11; > 2. altrimenti calcola il determinante: se è zero le rette si **incontrano** (distanza zero, e si può calcolare l'angolo); se non è zero sono **sghembe** e la distanza viene dalla Proposizione 24.14. > > Siccome il determinante è $\langle v \times v', v'' \rangle$ (prodotto triplo, lezione L23), conviene calcolare prima $v \times v'$: serve sia sopra sia sotto. ::: prova Quanto distano l'asse $x$ e la retta $(0, 0, 3) + t(0, 1, 0)$? Direzioni $(1, 0, 0)$ e $(0, 1, 0)$, con prodotto vettoriale $(0, 0, 1)$. Con $v'' = (0, 0, 3)$ il prodotto triplo è 3: la distanza è $\frac{3}{1} = 3$. Una retta passa 3 piani sopra l'altra. ::: > [!RICORDA] > - Rette parallele: distanza di un punto dell'una dall'altra. > - Rette sghembe: $\frac{\lvert \det(v \mid v' \mid P_0' - P_0) \rvert}{\lVert v \times v' \rVert}$, volume diviso area di base. ## La distanza da un piano (pp. 127–128) Da un punto a un piano si scende in perpendicolare, come da un punto al pavimento. Le dispense lo scrivono così. > [!DEF] 24.16 · Distanza fra punto e piano > La distanza fra un punto $P_0$ e un piano $\pi$ nello spazio è definita in modo simile a quanto già visto: si traccia la perpendicolare $s$ a $\pi$ passante per $P_0$ e si definisce > $$d(P_0, \pi) = d(P_0, Q), \quad \text{con } Q = s \cap \pi.$$ **Come si legge.** La retta perpendicolare al piano per $P_0$ ha la direzione della normale; dove tocca il piano c'è il piede $Q$. La distanza è la lunghezza del segmento da $P_0$ a $Q$. Se il piano è dato con l'equazione, c'è una formula che non richiede di trovare $Q$. Le dispense la scrivono così. > [!PROP] 24.17 > Se $\pi = \{ax + by + cz = d\}$ e $P_0 = (x_0, y_0, z_0)$, vale > $$d(P_0, \pi) = \frac{\lvert a x_0 + b y_0 + c z_0 - d \rvert}{\sqrt{a^2 + b^2 + c^2}}.$$ **Come si legge.** - Sopra: metti le coordinate del punto nell'equazione portata tutta a sinistra, $ax + by + cz - d$, e togli il segno. Viene zero esattamente quando il punto sta sul piano. - Sotto: la lunghezza del vettore normale $n = (a, b, c)$. - Se moltiplichi l'equazione per un numero, sopra e sotto cambiano dello stesso fattore: la distanza non cambia. ```grafico titolo: Distanza punto–piano (vista di taglio): la proiezione di $w = P_0 - P$ sulla normale $n$ è lunga proprio $d(P_0, \pi)$ assi: no griglia: no x: -3.2 3 y: -0.8 3 retta: 3 0 -3 0 | viola | spesso | $\pi$ | ne punto: -2 0 | $P$ | s punto: 1 2.2 | rosa | $P_0$ | ne punto: 1 0 | $Q$ | s vettore: -2 0 1 2.2 | blu | spesso testo: -0.75 1.4 | blu | $w$ segmento: 1 2.2 1 0 | rosa | tratteggio | $d$ | e vettore: 2 0 2 1.2 | ambra | spesso | $n$ | e ``` > [!DIM] della Proposizione 24.17 (dal libro di Martelli) > 1. Sia $n = (a, b, c)$, perpendicolare al piano (lezione L23), e sia $P = (x, y, z)$ un punto **qualsiasi** del piano. > 2. Chiamo $w = P_0 - P$. Il segmento da $P_0$ a $Q$ è parallelo a $n$, e la sua lunghezza è quella dell'ombra di $w$ sulla retta di $n$: $d(P_0, Q) = \frac{\lvert \langle w, n \rangle \rvert}{\lVert n \rVert}$ (lezione L21). > 3. Sviluppo: $\langle w, n \rangle = a(x_0 - x) + b(y_0 - y) + c(z_0 - z) = a x_0 + b y_0 + c z_0 - (ax + by + cz)$. > 4. Siccome $P$ sta sul piano, $ax + by + cz = d$: quindi $\langle w, n \rangle = a x_0 + b y_0 + c z_0 - d$, e si ottiene la formula. Ecco l'esempio delle dispense. > [!ESEMPIO] 24.18 > Prendiamo il piano e il punto seguenti in $\R^3$: > $$\pi = \{2x - y + z = 4\}, \qquad P_0 = \begin{pmatrix} 2 \\ 1 \\ -2 \end{pmatrix}.$$ > Applicando la formula troviamo > $$d(P_0, \pi) = \frac{\lvert 2 \cdot 2 - 1 - 2 - 4 \rvert}{\sqrt 6} = \frac{\sqrt 6}{2}.$$ I conti: sopra $4 - 1 - 2 - 4 = -3$, senza segno 3; sotto $\sqrt{4 + 1 + 1} = \sqrt 6$. Infine $\frac{3}{\sqrt 6} = \frac{3\sqrt 6}{6} = \frac{\sqrt 6}{2}$. ```widget spazio titolo: La distanza del punto $P_0 = (2, 1, -2)$ dal piano $2x - y + z = 4$ (Esempio 24.18) modo: piano piano: 2 -1 1 = 4 punto: 2 1 -2 ``` Lo strumento disegna il piano, il vettore normale $(2, -1, 1)$, il punto $P_0$ e il piede della perpendicolare $H$, che nelle dispense si chiama $Q$. Deve darti una distanza di circa 1,225, cioè $\frac{\sqrt 6}{2}$, e $H = (3;\ 0{,}5;\ -1{,}5)$. Prova a spostare $P_0$ **parallelo al piano**, per esempio in $(3, 3, -2)$: scrivi `3 3 -2`. Hai aggiunto $(1, 2, 0)$, che soddisfa $2 - 2 + 0 = 0$ e quindi sta nella giacitura: la distanza non cambia. Poi moltiplica l'equazione per 2, scrivendo `4 -2 2 = 8`: anche così la distanza resta la stessa. > [!OLTRE] Il piede della perpendicolare e altre due distanze > **Il piede $Q$.** Partendo da $P_0$ ci si muove lungo la normale fino al piano: > $$Q = P_0 - \frac{a x_0 + b y_0 + c z_0 - d}{a^2 + b^2 + c^2}\, (a, b, c).$$ > Nell'Esempio 24.18: $Q = (2, 1, -2) - \frac{-3}{6}(2, -1, 1) = (2, 1, -2) + \left(1, -\frac 12, \frac 12\right) = \left(3, \frac 12, -\frac 32\right)$. Controllo: $6 - \frac 12 - \frac 32 = 4$. > > **Due piani paralleli** $ax + by + cz = d_1$ e $ax + by + cz = d_2$, con **gli stessi** numeri davanti: la distanza è $\frac{\lvert d_1 - d_2 \rvert}{\sqrt{a^2 + b^2 + c^2}}$. Basta prendere un punto del primo e usare la Proposizione 24.17. > > **Una retta parallela a un piano**: tutti i suoi punti hanno la stessa distanza dal piano, quindi basta uno qualsiasi. > [!OLTRE] Tutte le formule in una tabella > Notazioni: $r = P_0 + \Span(v)$, $r' = P_0' + \Span(v')$, piano $\pi = \{ax + by + cz = d\}$ con normale $n = (a, b, c)$. > > | Che cosa | Formula | Dove | > |---|---|---| > | angolo tra rette che si incontrano | $\cos\vartheta = \frac{\lvert \langle v, v' \rangle \rvert}{\lVert v \rVert \lVert v' \rVert}$ | Def. 24.1 | > | angolo tra retta e piano | angolo tra $v$ e $p_\pi(v)$; $\sin\vartheta = \frac{\lvert \langle v, n \rangle \rvert}{\lVert v \rVert \lVert n \rVert}$ | Def. 24.2, Prop. 24.4 | > | angolo tra piani | $\cos\alpha = \frac{\lvert \langle n_1, n_2 \rangle \rvert}{\lVert n_1 \rVert \lVert n_2 \rVert}$ | Prop. 24.7 | > | punto e punto | $\lVert Q - P \rVert$ | Def. 24.9 | > | punto e retta | $\frac{\lVert v \times (P - P_0) \rVert}{\lVert v \rVert}$ | Prop. 24.11 | > | rette parallele | $d(P_0, r')$ | Def. 24.13 | > | rette sghembe | $\frac{\lvert \det(v \mid v' \mid P_0' - P_0) \rvert}{\lVert v \times v' \rVert}$ | Prop. 24.14 | > | punto e piano | $\frac{\lvert a x_0 + b y_0 + c z_0 - d \rvert}{\sqrt{a^2 + b^2 + c^2}}$ | Prop. 24.17 | > | piani paralleli | $\frac{\lvert d_1 - d_2 \rvert}{\sqrt{a^2 + b^2 + c^2}}$, con gli stessi numeri davanti | oltre le dispense | > [!OLTRE] Dove trovarlo nel libro > Nel libro di Martelli: angoli tra rette, tra retta e piano e tra piani nel §9.2.9 (pp. 285–287, con la Proposizione 9.2.33: tra tutte le rette del piano per $P$, quella proiettata forma l'angolo più piccolo con $r$); distanze nel §9.2.10 (pp. 287–291: Proposizioni 9.2.36, 9.2.39, 9.2.41 e 9.2.42, che sono le nostre 24.11, 24.14, il criterio delle rette su uno stesso piano e 24.17). Norma, angolo tra vettori, distanza e proiezione ortogonale sono nel §8.1 (pp. 240–245); il volume del parallelepipedo nella Proposizione 9.1.9 (p. 271); le rette perpendicolari a un piano o a una retta nel §9.2.6 (pp. 279–281). ::: prova Quanto dista il punto $(1, 2, 3)$ dal pavimento $z = 0$? Con la formula: $\frac{\lvert 3 \rvert}{1} = 3$. È l'altezza del punto. ::: > [!RICORDA] > - Punto e piano: metti il punto nell'equazione portata a sinistra, togli il segno, dividi per la lunghezza della normale. > - Piani paralleli: prima scrivili con gli stessi numeri davanti. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $\vartheta$, $\alpha$ | «theta», «alfa» | angoli | | | $\lvert \langle v, v' \rangle \rvert$ | «valore assoluto del prodotto scalare» | il prodotto scalare senza segno | | | $\arccos$, $\arcsin$ | «arcocoseno», «arcoseno» | dal coseno, o dal seno, all'angolo | $\arccos\frac 12 = \frac{\pi}{3}$ | | $p_\pi(v)$ | «proiezione di vu sul piano» | l'ombra di $v$ sul piano | | | $n$ | «vettore normale» | la freccia perpendicolare al piano | per $x + y - z = 0$, $n = (1, 1, -1)$ | | $d(P, Q)$ | «distanza tra pi e qu» | la lunghezza di $Q - P$ | | | $d(P, r)$, $d(P, \pi)$ | «distanza del punto dalla retta», «dal piano» | la lunghezza del segmento perpendicolare | | | $d(r, r')$ | «distanza tra le due rette» | la lunghezza della perpendicolare comune | | | $\det(v \mid v' \mid v'')$ | «determinante delle tre colonne» | con segno, il volume della scatola con quei tre spigoli | | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01/2027 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione compare negli appelli 2023–2026.** Angoli e distanze sono presenti in quasi ogni appello. - **Quiz sulla distanza tra due rette**: 08/02/2024 (domanda 10), 06/09/2024 (domanda 6), 05/02/2026 (domanda 10, dove le rette si incontrano e la risposta giusta è 0), 03/06/2026 (domanda 10), 07/09/2026 (domanda 7). - **Quiz sulla distanza tra un punto e un piano**: 16/01/2025 (domanda 4). **Quiz sull'angolo tra una retta e un piano**: 10/07/2025 (domanda 8). **Quiz sulla retta perpendicolare a un piano**: 02/09/2025 (domanda 9): la direzione deve essere proporzionale al vettore normale. - **Problemi aperti con l'angolo tra una retta e un piano**, di solito dopo aver trovato una retta come intersezione di piani o un'ombra: 24/01/2024, 10/06/2024, 10/07/2024, 06/09/2024, 02/09/2025, 03/06/2026, 07/09/2026, sempre nel problema 12. **Distanza tra rette** in un problema aperto: 10/07/2024 e 03/06/2025. ### Una domanda vera, letta insieme **Appello del 07/09/2026, domanda 7.** Il testo: «La distanza tra le rette $r_1 = (2, 0, 0) + \Span(0, 1, 1)$ e $r_2 = (0, 3, 0) + \Span(-1, 1, 0)$ è: (a) $3$; (b) $\frac{\sqrt 3}{3}$; (c) $3\sqrt 3$; (d) $\sqrt 3$; (e) $3 + \sqrt 3$». **In pratica chiede:** due rette, quanto è lungo il loro pilone? Prima bisogna capire se sono parallele, se si incontrano o se sono sghembe. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: le direzioni.** $v = (0, 1, 1)$ e $v' = (-1, 1, 0)$ non sono proporzionali: le rette non sono parallele. > > **Passo 2: il vettore tra i due punti.** $v'' = (0, 3, 0) - (2, 0, 0) = (-2, 3, 0)$. > > **Passo 3: il prodotto vettoriale.** Con le righe affiancate $(0, -1)$, $(1, 1)$, $(1, 0)$: > $$v \times v' = \big(1 \cdot 0 - 1 \cdot 1,\ -(0 \cdot 0 - 1 \cdot (-1)),\ 0 \cdot 1 - 1 \cdot (-1)\big) = (-1, -1, 1),$$ > lungo $\sqrt 3$. > > **Passo 4: il prodotto triplo.** $\langle (-1, -1, 1), (-2, 3, 0) \rangle = 2 - 3 + 0 = -1$. Non è zero: le rette sono **sghembe**. > > **Passo 5: la distanza.** $\frac{\lvert -1 \rvert}{\sqrt 3} = \frac{1}{\sqrt 3} = \frac{\sqrt 3}{3}$: risposta (b). Qui serve davvero togliere la radice dal denominatore, come nella lezione L01: senza, non la riconosci tra le risposte. ### Un'altra domanda vera > [!ESAME] Appello del 10/07/2025, domanda 8 > *L'angolo tra il piano $\Pi = \{x + z = 3\}$ e la retta $r = {}^t(1, 0, 1) + s\,{}^t(2, 2, 0)$ è: (a) $\frac 12$; (b) $0$; (c) $\frac{\pi}{3}$; (d) $\frac{\pi}{2} - \frac 12$; (e) $\frac{\pi}{6}$.* > > **Soluzione.** $v = (2, 2, 0)$ e $n = (1, 0, 1)$, con prodotto scalare 2, non zero: la retta non è parallela al piano, quindi (b) è esclusa. > 1. Con la scorciatoia: $\sin\vartheta = \frac{2}{2\sqrt 2 \cdot \sqrt 2} = \frac 12$, quindi l'angolo è $\frac{\pi}{6}$: risposta (e). > 2. Con il metodo delle dispense: l'ombra è $(2, 2, 0) - \frac 22 (1, 0, 1) = (1, 2, -1)$, e $\cos\vartheta = \frac{2 + 4 + 0}{2\sqrt 2 \cdot \sqrt 6} = \frac{6}{4\sqrt 3} = \frac{\sqrt 3}{2}$: di nuovo $\frac{\pi}{6}$. > > Le risposte (a) e (d) sono trappole: $\frac 12$ è il **seno** dell'angolo, non l'angolo. La (c) è l'angolo con la normale. > [!METODO] Distanza tra due rette, in quattro righe > 1. Scrivi $v$, $v'$ e $v'' = P_0' - P_0$. > 2. Se $v$ e $v'$ sono proporzionali: rette parallele, distanza $\frac{\lVert v \times (P_0' - P_0) \rVert}{\lVert v \rVert}$. > 3. Altrimenti calcola $v \times v'$ e poi il suo prodotto scalare con $v''$. Se è zero, le rette si incontrano: distanza zero, come nel quiz del 05/02/2026. > 4. Se non è zero: la distanza è quel numero senza segno diviso la lunghezza di $v \times v'$. Poi togli le radici dal denominatore. > [!METODO] L'angolo tra retta e piano nei problemi aperti > I problemi chiedono spesso, nell'ordine: trovare la retta, come intersezione di due piani (lezione L23); mostrare che incontra il piano; calcolare l'**ombra** della direzione sul piano; infine l'angolo. Il punto «ombra» prepara proprio la Definizione 24.2: trovata l'ombra, l'angolo ha coseno $\frac{\langle v, p_\pi(v) \rangle}{\lVert v \rVert \lVert p_\pi(v) \rVert}$. Se il testo chiede il **coseno** dell'angolo, come il 03/06/2026, fermati al coseno. **Errori da evitare.** - Dare come angolo tra rette, o tra piani, un angolo **ottuso**: si prende sempre quello acuto o retto. - Confondere l'angolo con la **normale** e l'angolo con il **piano**: insieme fanno un angolo retto. - Scrivere come «angolo» il valore del **coseno** o del **seno**: è la trappola della risposta $\frac 12$. - Nella formula punto–piano, dimenticare di portare **tutto a sinistra**, oppure il **valore assoluto**. - Confrontare piani paralleli con equazioni scritte con numeri diversi: $x + 2y + 2z = 1$ e $2x + 4y + 4z = 5$ vanno prima resi con gli stessi numeri davanti. - Usare la formula delle rette sghembe per rette **parallele**: il denominatore è zero. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: la tabella delle formule (nella sezione sul piano) e la tabella dei coseni notevoli. Poi la ricetta «parallele, incidenti o sghembe» con il determinante, e la formula del piede della perpendicolare su un piano. ## Quiz ```quiz D: Le rette $r = (1, 0, 0) + t\,(1, 1, 0)$ e $r' = (1, 0, 0) + s\,(0, 1, 1)$ si incontrano in $(1, 0, 0)$. Quale angolo formano? + $\frac{\pi}{3}$ - $\frac{\pi}{6}$ - $\frac{2\pi}{3}$ - $\frac{\pi}{4}$ - $\arccos\frac 14$ = Il prodotto scalare tra le direzioni è 1, le lunghezze sono $\sqrt 2$ e $\sqrt 2$: il coseno è $\frac 12$ e l'angolo $\frac{\pi}{3}$. La risposta più insidiosa è $\frac{2\pi}{3}$, l'altro angolo tra le due rette: è ottuso, e per due rette non si sceglie mai. $\frac{\pi}{6}$ ha coseno $\frac{\sqrt 3}{2}$. D: Qual è l'angolo fra il piano $\pi = \{x + y = 3\}$ e la retta $r = (0, 0, 1) + t\,(1, 0, 1)$? + $\frac{\pi}{6}$ - $\frac{\pi}{3}$ - $\frac 12$ - $\frac{\pi}{2} - \frac 12$ - $0$ = Con $v = (1, 0, 1)$ e $n = (1, 1, 0)$: $\sin\vartheta = \frac{1}{\sqrt 2 \cdot \sqrt 2} = \frac 12$, quindi l'angolo è $\frac{\pi}{6}$. Con l'ombra: $(1, 0, 1) - \frac 12 (1, 1, 0) = \left(\frac 12, -\frac 12, 1\right)$, e il coseno dell'angolo è $\frac{\sqrt 3}{2}$. La risposta più insidiosa è $\frac{\pi}{3}$, l'angolo con la normale; $\frac 12$ è il seno, non l'angolo. Simile all'appello del 10/07/2025 (domanda 8), che aveva gli stessi distrattori. D: Qual è l'angolo diedrale fra i piani $\{x = 2\}$ e $\{x + y = 3\}$? + $\frac{\pi}{4}$ - $\frac{3\pi}{4}$ - $\frac{\pi}{3}$ - $\frac{\pi}{2}$ - $\frac{\pi}{6}$ = Le normali sono $(1, 0, 0)$ e $(1, 1, 0)$: il coseno è $\frac{1}{1 \cdot \sqrt 2} = \frac{\sqrt 2}{2}$, quindi l'angolo è $\frac{\pi}{4}$ (Proposizione 24.7). La risposta più insidiosa è $\frac{3\pi}{4}$, l'angolo ottuso, che si scarta. $\frac{\pi}{2}$ è di chi pensa che i piani verticali siano sempre perpendicolari tra loro. D: La distanza del punto $P = (1, 2, 3)$ dal piano $\pi = \{2x - y + 2z = 1\}$ è: + $\frac 53$ - $5$ - $\frac 59$ - $\frac 73$ - $\frac{\sqrt 5}{3}$ = Sopra $\lvert 2 - 2 + 6 - 1 \rvert = 5$, sotto $\sqrt{4 + 1 + 4} = 3$: la distanza è $\frac 53$. La risposta più insidiosa è $\frac 73$, che sbaglia il segno del termine noto, $+1$ invece di $-1$. 5 dimentica il denominatore; $\frac 59$ divide per la lunghezza al quadrato. Simile all'appello del 16/01/2025 (domanda 4). D: La distanza del punto $P = (2, 0, 1)$ dalla retta $r = \{t\,(1, 1, 0) \mid t \in \R\}$ è: + $\sqrt 3$ - $\sqrt 6$ - $3$ - $\sqrt 2$ - $\frac{\sqrt 6}{2}$ = $v_0 = (1, 1, 0)$ e $v_1 = (2, 0, 1)$; il prodotto vettoriale è $(1, -1, -2)$, lungo $\sqrt 6$. Diviso per la lunghezza di $v_0$, $\sqrt 2$, dà $\sqrt 3$. La risposta più insidiosa è $\sqrt 6$, che dimentica di dividere per la base. $\frac{\sqrt 6}{2}$ divide per la lunghezza al quadrato. D: Le rette $r_1 = (1, 0, 0) + t\,(0, 1, 2)$ e $r_2 = (3, -1, -1) + s\,(-1, 1, 4)$ sono sghembe. Qual è la loro distanza? + $\frac 53$ - $5$ - $\frac 59$ - $\frac 35$ - $0$ = $v \times v' = (0, 1, 2) \times (-1, 1, 4) = (2, -2, 1)$, lungo 3. $v'' = (2, -1, -1)$ e il prodotto triplo è $4 + 2 - 1 = 5$. Quindi la distanza è $\frac 53$. La risposta più insidiosa è 0: vale solo se le rette si incontrano, ma il prodotto triplo non è zero. 5 dimentica di dividere; $\frac 35$ è il rapporto capovolto. Simile agli appelli del 06/09/2024 (domanda 6) e del 03/06/2026 (domanda 10); le rette sono quelle del problema del 03/06/2025 con $k = 0$. D: Qual è la distanza fra le rette $r = \{t\,(1, 1, 0)\}$ e $r' = \{(1, 1, 1) + s\,(0, 0, 1)\}$? + $0$ - $\frac{\sqrt 2}{2}$ - $1$ - $\sqrt 2$ - il punto $(1, 1, 0)$ = Le direzioni non sono proporzionali, e il prodotto triplo è $\langle (1, 1, 0) \times (0, 0, 1), (1, 1, 1) \rangle = \langle (1, -1, 0), (1, 1, 1) \rangle = 0$: le rette si incontrano, in $(1, 1, 0)$ con $t = 1$ e $s = -1$. La distanza è 0. La risposta più insidiosa è $(1, 1, 0)$: è il punto d'incontro, ma una distanza è un numero. Simile all'appello del 05/02/2026 (domanda 10). D: Una retta forma con il vettore normale di un piano un angolo acuto $\alpha = \frac{\pi}{3}$. Qual è l'angolo fra la retta e il piano? + $\frac{\pi}{6}$ - $\frac{\pi}{3}$ - $\frac{2\pi}{3}$ - $\frac{\pi}{2}$ - $\frac{5\pi}{6}$ = Per la Proposizione 24.4 i due angoli sommano a un angolo retto: $\frac{\pi}{2} - \frac{\pi}{3} = \frac{\pi}{6}$. La risposta più insidiosa è $\frac{\pi}{3}$, che confonde l'angolo con la normale con quello con il piano. D: Quale di queste rette interseca il piano $\pi = \{2x - y + 2z = 3\}$ **perpendicolarmente**? + $(1, 1, 1) + t\,(2, -1, 2)$ - $t\,(1, 2, 0)$ - $(2, -1, 2) + t\,(1, 1, 1)$ - $\{2x - y + 2z = 0\}$ - $(0, 3, 0) + t\,(2, 1, 2)$ = Una retta è perpendicolare al piano quando la sua direzione è proporzionale al vettore normale $(2, -1, 2)$. La risposta più insidiosa è la terza, che usa la normale come **punto** invece che come direzione. $(1, 2, 0)$ è perpendicolare alla normale, quindi quella retta è parallela al piano; $\{2x - y + 2z = 0\}$ è un piano; $(2, 1, 2)$ ha un segno diverso. Simile all'appello del 02/09/2025 (domanda 9). D: Qual è la distanza fra i piani paralleli $\{x + 2y + 2z = 1\}$ e $\{x + 2y + 2z = 7\}$? N: 2 = Gli stessi numeri davanti, quindi la distanza è $\frac{\lvert 7 - 1 \rvert}{\sqrt{1 + 4 + 4}} = \frac 63 = 2$. È come prendere il punto $(1, 0, 0)$ del primo piano e usare la Proposizione 24.17. ``` ## Esercizi ::: esercizio base Riscaldamento: l'angolo acuto Due rette per l'origine hanno direzioni $(1, 1, 0)$ e $(-1, 0, 0)$. Che angolo formano? ::: soluzione 1. Il prodotto scalare è $-1$, le lunghezze $\sqrt 2$ e 1. 2. Tolgo il segno: il coseno è $\frac{1}{\sqrt 2} = \frac{\sqrt 2}{2}$. 3. L'angolo tra le rette è $\frac{\pi}{4}$. Tra i vettori sarebbe $\frac{3\pi}{4}$, ottuso. ::: ::: esercizio base Riscaldamento: distanza da due piani Quanto dista il punto $(1, 1, 1)$ dal piano $z = 0$? E dal piano $x + y + z = 0$? ::: soluzione 1. Da $z = 0$: $\frac{\lvert 1 \rvert}{1} = 1$. 2. Da $x + y + z = 0$: sopra $\lvert 1 + 1 + 1 \rvert = 3$, sotto $\sqrt 3$; la distanza è $\frac{3}{\sqrt 3} = \sqrt 3$. ::: ::: esercizio base Riscaldamento: perpendicolare o parallela? Il piano è $x + 2y - z = 5$. La retta con direzione $(2, 4, -2)$ è perpendicolare o parallela al piano? E quella con direzione $(1, 0, 1)$? ::: soluzione La normale è $(1, 2, -1)$. 1. $(2, 4, -2)$ è il doppio della normale: la retta è **perpendicolare** al piano. 2. $(1, 0, 1)$ dà con la normale $1 + 0 - 1 = 0$: la retta è **parallela** al piano, o ci sta dentro. ::: ::: esercizio base Riscaldamento: la distanza da un asse Quanto dista il punto $(0, 3, 4)$ dall'asse $x$? ::: soluzione 1. La retta è $t(1, 0, 0)$, quindi $v_0 = (1, 0, 0)$ e $v_1 = (0, 3, 4)$. 2. $v_0 \times v_1 = (0 \cdot 4 - 0 \cdot 3,\ -(1 \cdot 4 - 0 \cdot 0),\ 1 \cdot 3 - 0 \cdot 0) = (0, -4, 3)$, lungo 5. 3. Diviso per la lunghezza di $v_0$, che è 1: la distanza è 5. È Pitagora con 3 e 4. ::: ::: esercizio base Angoli fra rette (a) Le rette $r = (1, 2, 0) + t\,(1, 0, 1)$ e $r' = (1, 2, 0) + s\,(1, 1, 0)$ si incontrano in $(1, 2, 0)$: calcola l'angolo. (b) Stessa domanda per le rette per l'origine con direzioni $(1, 2, 2)$ e $(2, -2, -1)$. (c) Stessa domanda per le rette per l'origine con direzioni $(1, 1, 1)$ e $(-1, 0, -1)$. ::: soluzione (a) Il prodotto scalare è 1, le lunghezze $\sqrt 2$ e $\sqrt 2$: il coseno è $\frac 12$ e l'angolo $\frac{\pi}{3}$. (b) Il prodotto scalare è $2 - 4 - 2 = -4$, le lunghezze 3 e 3: il coseno tra i vettori è $-\frac 49$, ottuso. Tra le rette si toglie il segno: l'angolo è $\arccos\frac 49$. (c) Il prodotto scalare è $-2$, le lunghezze $\sqrt 3$ e $\sqrt 2$: il coseno è $\frac{2}{\sqrt 6} = \frac{\sqrt 6}{3}$, quindi l'angolo è $\arccos\frac{\sqrt 6}{3}$, circa 35,3°, lo stesso numero dell'Esempio 24.3. ::: ::: esercizio base Angolo fra due piani Calcola l'angolo diedrale fra i piani $\pi_1 = \{2x + y - z = 1\}$ e $\pi_2 = \{x + 2y + z = 2\}$ (sono i piani dell'appello del 24/01/2024). Poi scrivi un piano per l'origine perpendicolare a entrambi. ::: soluzione Le normali sono $n_1 = (2, 1, -1)$ e $n_2 = (1, 2, 1)$, con prodotto scalare $2 + 2 - 1 = 3$ e lunghezze $\sqrt 6$ e $\sqrt 6$. Il coseno è $\frac{3}{6} = \frac 12$, e l'angolo $\frac{\pi}{3}$. Due piani sono perpendicolari quando le loro **normali** sono perpendicolari. Serve quindi una normale $m$ perpendicolare a $n_1$ e a $n_2$, per esempio il loro prodotto vettoriale: $$\begin{aligned} m = n_1 \times n_2 &= \big(1 \cdot 1 - (-1) \cdot 2,\ -(2 \cdot 1 - (-1) \cdot 1),\ 2 \cdot 2 - 1 \cdot 1\big) \\ &= (3, -3, 3). \end{aligned}$$ Il piano $x - y + z = 0$ va bene. Siccome $m$ è anche la direzione della retta comune ai due piani, questo è il piano per l'origine perpendicolare alla costola: il «taglio» della Definizione 24.6. ::: ::: esercizio base Distanza punto–retta con la formula e con il piede Siano $P = (1, 1, 1)$ e $r = \{t\,(1, 2, 2)\}$. Calcola $d(P, r)$ con la Proposizione 24.11 e poi trovando il piede della perpendicolare $Q$. ::: soluzione **Con la formula.** $v_0 = (1, 2, 2)$ e $v_1 = (1, 1, 1)$. Con le righe affiancate $(1, 1)$, $(2, 1)$, $(2, 1)$: $$v_0 \times v_1 = (2 \cdot 1 - 2 \cdot 1,\ -(1 \cdot 1 - 2 \cdot 1),\ 1 \cdot 1 - 2 \cdot 1) = (0, 1, -1).$$ La distanza è $\frac{\sqrt 2}{3}$, perché $v_0$ è lungo 3. **Con il piede.** $Q = \frac{\langle v_1, v_0 \rangle}{\langle v_0, v_0 \rangle} v_0 = \frac 59 (1, 2, 2)$. Allora $P - Q = \left(\frac 49, -\frac 19, -\frac 19\right)$, perpendicolare a $v_0$ perché $\frac{4 - 2 - 2}{9} = 0$, e lungo $\frac{\sqrt{18}}{9} = \frac{\sqrt 2}{3}$. Stesso risultato. ::: ::: esercizio base Distanza punto–piano e piede della perpendicolare Per il piano $\pi = \{2x - y + z = 4\}$ e il punto $P_0 = (2, 1, -2)$ dell'Esempio 24.18: (a) trova il piede $Q$ della perpendicolare; (b) verifica che $d(P_0, Q) = \frac{\sqrt 6}{2}$; (c) scrivi in forma parametrica la retta $s$ perpendicolare a $\pi$ passante per $P_0$. ::: soluzione (c) La retta perpendicolare ha la direzione della normale: $s = (2, 1, -2) + \lambda\,(2, -1, 1)$. (a) Il piede è dove questa retta tocca il piano. Metto $(2 + 2\lambda,\ 1 - \lambda,\ -2 + \lambda)$ nell'equazione: $2(2 + 2\lambda) - (1 - \lambda) + (-2 + \lambda) = 4$, cioè $1 + 6\lambda = 4$ e $\lambda = \frac 12$. Quindi $Q = \left(3, \frac 12, -\frac 32\right)$. (b) $P_0 - Q = \left(-1, \frac 12, -\frac 12\right)$, lungo $\sqrt{1 + \frac 14 + \frac 14} = \sqrt{\frac 32} = \frac{\sqrt 6}{2}$. ::: ::: esercizio medio Una retta e un piano, con due metodi Calcola l'angolo fra il piano $\pi = \{x + y - z = 0\}$ e la retta $r = \{t\,(1, 1, 1)\}$: (a) con la proiezione della Definizione 24.2; (b) con la Proposizione 24.4. Controlla che i risultati coincidano. ::: soluzione La retta incontra il piano nell'origine. (a) Ombra con la formula della normale $n = (1, 1, -1)$: il prodotto di $v$ con $n$ è $1 + 1 - 1 = 1$, e $\langle n, n \rangle = 3$, quindi $$p_\pi(v) = (1, 1, 1) - \tfrac 13 (1, 1, -1) = \left(\tfrac 23, \tfrac 23, \tfrac 43\right).$$ Il prodotto di $v$ con l'ombra è $\frac 83$; $v$ è lungo $\sqrt 3$, l'ombra $\frac{\sqrt{24}}{3} = \frac{2\sqrt 6}{3}$. Allora $$\cos\vartheta = \frac{8/3}{\sqrt 3 \cdot 2\sqrt 6 / 3} = \frac{8}{2\sqrt{18}} = \frac{4}{3\sqrt 2} = \frac{2\sqrt 2}{3}.$$ (b) $\sin\vartheta = \frac{1}{\sqrt 3 \cdot \sqrt 3} = \frac 13$, quindi l'angolo è $\arcsin\frac 13$. Coincidono: $\frac 89 + \frac 19 = 1$, quindi $\arccos\frac{2\sqrt 2}{3} = \arcsin\frac 13$. Un angolo acuto è deciso dal suo seno. ::: ::: esercizio medio Rette parallele e piani paralleli (a) Calcola la distanza fra le rette parallele $r = \{(1, 0, 1) + t\,(1, 0, -1)\}$ e $r' = \{(0, 2, 0) + s\,(-2, 0, 2)\}$. (b) Calcola la distanza fra i piani $\pi_1 = \{x + 2y + 2z = 1\}$ e $\pi_2 = \{2x + 4y + 4z = 5\}$. ::: soluzione (a) Le direzioni sono proporzionali: $(-2, 0, 2) = -2\,(1, 0, -1)$. Prendo $P = (1, 0, 1)$ sulla prima e calcolo la sua distanza dalla seconda, con $P_0' = (0, 2, 0)$ e direzione $v_0 = (1, 0, -1)$. Allora $P - P_0' = (1, -2, 1)$ e $$\begin{aligned} v_0 \times (P - P_0') &= \big(0 \cdot 1 - (-1)(-2),\ -(1 \cdot 1 - (-1) \cdot 1),\ 1 \cdot (-2) - 0 \cdot 1\big) \\ &= (-2, -2, -2), \end{aligned}$$ lungo $2\sqrt 3$. La distanza è $\frac{2\sqrt 3}{\sqrt 2} = \sqrt 6$. (b) Prima rendo uguali i numeri davanti: dividendo per 2, il secondo piano è $x + 2y + 2z = \frac 52$. Ora la distanza è $\frac{\lvert \frac 52 - 1 \rvert}{3} = \frac{3/2}{3} = \frac 12$. Senza dividere, il conto sbagliato «$\frac{\lvert 5 - 1 \rvert}{3}$» darebbe $\frac 43$. ::: ::: esercizio medio Classificare due rette e calcolare la distanza Siano $r = \{(1, 1, 0) + t\,(1, 0, 2)\}$ e $r' = \{(0, 1, 1) + s\,(0, 1, 1)\}$. Stabilisci se sono incidenti, parallele o sghembe e calcola la loro distanza. ::: soluzione Le direzioni $v = (1, 0, 2)$ e $v' = (0, 1, 1)$ non sono proporzionali: le rette non sono parallele. Poi $v'' = (0, 1, 1) - (1, 1, 0) = (-1, 0, 1)$ e $$v \times v' = \big(0 \cdot 1 - 2 \cdot 1,\ -(1 \cdot 1 - 2 \cdot 0),\ 1 \cdot 1 - 0 \cdot 0\big) = (-2, -1, 1).$$ Il prodotto triplo è $2 + 0 + 1 = 3$, non zero: le rette sono **sghembe**. La distanza è $$d(r, r') = \frac{3}{\lVert (-2, -1, 1) \rVert} = \frac{3}{\sqrt 6} = \frac{\sqrt 6}{2}.$$ ::: ::: esercizio esame Retta, piano, angolo e distanza (appello del 10/07/2024, problema 12) Siano $\pi_1 = \{x + y + 2z = 1\}$ e $\pi_2 = \{2x - 2y = 2\}$ due piani in $\R^3$. (1) Calcolare la retta $r = \pi_1 \cap \pi_2$ in forma $r = P + \Span(v)$. (2) Dimostrare che $r$ e il piano $\pi_3 = \{x + y = -1\}$ sono incidenti. (3) Calcolare l'angolo fra $r$ e il piano $\pi_3$. (4) Calcolare la distanza fra $r$ e la retta $s = {}^t(1, 0, 1) + \Span({}^t(2, 1, -2))$. ::: soluzione (1) La seconda equazione, divisa per 2, dà $x - y = 1$, cioè $x = 1 + y$. Nella prima: $1 + y + y + 2z = 1$, cioè $z = -y$. Con $y = t$: $$r = \{(1 + t,\ t,\ -t)\} = (1, 0, 0) + \Span((1, 1, -1)).$$ Controllo: $(1, 0, 0)$ soddisfa $1 = 1$ e $2 = 2$; la direzione è proporzionale a $(1, 1, 2) \times (2, -2, 0) = (4, 4, -4)$. (2) La normale del terzo piano è $n = (1, 1, 0)$, e il suo prodotto con la direzione $(1, 1, -1)$ è 2, non zero. La direzione non sta nella giacitura del piano, quindi le giaciture sommano a tutto lo spazio e, per la Proposizione 23.10, la retta e il piano si incontrano. Il punto: $(1 + t) + t = -1$ dà $t = -1$, cioè $(0, -1, 1)$. (3) L'ombra della direzione $v = (1, 1, -1)$ sulla giacitura del piano: $$p(v) = v - \frac{\langle v, n \rangle}{\langle n, n \rangle} n = (1, 1, -1) - \tfrac 22 (1, 1, 0) = (0, 0, -1).$$ Allora $\cos\vartheta = \frac{1}{\sqrt 3 \cdot 1} = \frac{\sqrt 3}{3}$, e l'angolo è $\arccos\frac{\sqrt 3}{3}$, circa 54,7°. Controllo con la normale: $\sin\vartheta = \frac{2}{\sqrt 3 \sqrt 2} = \frac{\sqrt 6}{3}$, e $\frac 13 + \frac 69 = 1$. (4) Le direzioni $v = (1, 1, -1)$ e $v' = (2, 1, -2)$ non sono proporzionali; $v'' = (1, 0, 1) - (1, 0, 0) = (0, 0, 1)$. $$\begin{aligned} v \times v' &= \big(1 \cdot (-2) - (-1) \cdot 1,\ -(1 \cdot (-2) - (-1) \cdot 2),\ 1 \cdot 1 - 1 \cdot 2\big) \\ &= (-1, 0, -1), \end{aligned}$$ lungo $\sqrt 2$. Il prodotto triplo è $-1$, non zero: le rette sono sghembe, e la distanza è $\frac{1}{\sqrt 2} = \frac{\sqrt 2}{2}$. ::: ::: esercizio esame Proiezione, intersezione e angolo Siano $v_1 = (1, 0, 1)$ e $v_2 = (1, 2, 1)$, e sia $V = \Span(v_1, v_2)$. (1) Calcola una base ortogonale di $V$. (2) Calcola la proiezione ortogonale di $w = (1, 1, 0)$ su $V$. (3) Calcola il punto di intersezione e l'angolo di intersezione fra la retta $r = (2, 0, 0) + \Span(w)$ e il piano $V$. ::: soluzione (1) Gram–Schmidt: $u_1 = v_1 = (1, 0, 1)$ e $$u_2 = v_2 - \frac{\langle v_2, u_1 \rangle}{\langle u_1, u_1 \rangle} u_1 = (1, 2, 1) - \tfrac 22 (1, 0, 1) = (0, 2, 0).$$ Base ortogonale: $(1, 0, 1)$ e $(0, 2, 0)$, o più comodo $(0, 1, 0)$. (2) L'ombra di $w$ è $\frac 12 (1, 0, 1) + 1 \cdot (0, 1, 0) = \left(\frac 12, 1, \frac 12\right)$. Controllo: $w$ meno l'ombra è $\left(\frac 12, 0, -\frac 12\right)$, perpendicolare a $u_1$ e a $(0, 1, 0)$. (3) Il piano ha normale $v_1 \times v_2 = (0 \cdot 1 - 1 \cdot 2,\ -(1 \cdot 1 - 1 \cdot 1),\ 1 \cdot 2 - 0 \cdot 1) = (-2, 0, 2)$, cioè è il piano $x - z = 0$. Il punto generico della retta è $(2 + t, t, 0)$: $2 + t = 0$ dà $t = -2$, e il punto è $(0, -2, 0)$. L'angolo è quello tra $w$ e la sua ombra: $$\cos\vartheta = \frac{\frac 12 + 1 + 0}{\sqrt 2 \cdot \sqrt{\frac 32}} = \frac{3/2}{\sqrt 3} = \frac{\sqrt 3}{2},$$ quindi l'angolo è $\frac{\pi}{6}$. Controllo con la normale $(1, 0, -1)$: $\sin\vartheta = \frac{1}{\sqrt 2 \cdot \sqrt 2} = \frac 12$. È lo stesso schema dei problemi 12 degli appelli del 10/06/2024, del 03/06/2026 e del 07/09/2026. ::: ::: esercizio difficile La perpendicolare comune a due rette sghembe Siano $r = \{(1, 1, 1) + t\,(-1, 2, 1)\}$ e $r' = \{(0, 1, 2) + s\,(1, 1, 1)\}$ (Martelli, Esempio 9.2.28). (a) Calcola $d(r, r')$ con la Proposizione 24.14. (b) Trova i punti $P \in r$ e $P' \in r'$ tali che il segmento $PP'$ sia perpendicolare a entrambe le rette, e verifica che $d(P, P') = d(r, r')$. ::: soluzione (a) $v = (-1, 2, 1)$, $v' = (1, 1, 1)$, $v'' = (0, 1, 2) - (1, 1, 1) = (-1, 0, 1)$. Prodotto vettoriale: $$v \times v' = \big(2 \cdot 1 - 1 \cdot 1,\ -((-1) \cdot 1 - 1 \cdot 1),\ (-1) \cdot 1 - 2 \cdot 1\big) = (1, 2, -3),$$ lungo $\sqrt{14}$. Il prodotto triplo è $-1 + 0 - 3 = -4$. Quindi la distanza è $\frac{4}{\sqrt{14}} = \frac{2\sqrt{14}}{7}$. (b) Il punto generico della prima retta è $P(t) = (1 - t,\ 1 + 2t,\ 1 + t)$, quello della seconda $P'(s) = (s,\ 1 + s,\ 2 + s)$. Il vettore $P(t) - P'(s) = (1 - t - s,\ 2t - s,\ -1 + t - s)$ deve essere perpendicolare a $v$ e a $v'$: - con $v$: $-(1 - t - s) + 2(2t - s) + (-1 + t - s) = 6t - 2s - 2 = 0$; - con $v'$: $(1 - t - s) + (2t - s) + (-1 + t - s) = 2t - 3s = 0$. Dalla seconda $t = \frac{3s}{2}$; nella prima $9s - 2s - 2 = 0$, cioè $s = \frac 27$ e $t = \frac 37$. Quindi $$P = \left(\tfrac 47, \tfrac{13}{7}, \tfrac{10}{7}\right), \qquad P' = \left(\tfrac 27, \tfrac 97, \tfrac{16}{7}\right), \qquad P - P' = \tfrac 27\,(1, 2, -3).$$ $P - P'$ è proporzionale a $v \times v'$, come deve essere, ed è lungo $\frac 27 \sqrt{14}$: coincide con (a). La perpendicolare comune è la retta $P' + \Span((1, 2, -3))$, la stessa trovata da Martelli. ::: ::: esercizio difficile Piani a distanza data (a) Trova i piani paralleli a $\pi = \{x + 2y + 2z = 1\}$ che hanno distanza $2$ da $\pi$. (b) Trova i punti della retta $r = \{t\,(1, 1, 1)\}$ che hanno distanza $\sqrt 3$ dal piano $\sigma = \{x + y + z = 0\}$. ::: soluzione (a) Un piano parallelo ha la forma $x + 2y + 2z = c$, con la stessa normale. La sua distanza dal primo è $\frac{\lvert c - 1 \rvert}{3}$; deve valere 2, quindi $\lvert c - 1 \rvert = 6$, cioè $c = 7$ oppure $c = -5$. I piani sono $x + 2y + 2z = 7$ e $x + 2y + 2z = -5$, uno per parte. (b) Il punto $(t, t, t)$ dista $\frac{\lvert 3t \rvert}{\sqrt 3} = \sqrt 3\,\lvert t \rvert$ dal piano. Deve valere $\sqrt 3$, quindi $t = 1$ oppure $t = -1$. I punti sono $(1, 1, 1)$ e $(-1, -1, -1)$. ::: ## Domande di ripasso ::: domanda Quando si calcola un angolo e quando una distanza? Per due sottospazi affini che si incontrano si calcola l'angolo; per due che non si incontrano la distanza. Se si incontrano, la distanza è zero. ::: ::: domanda Come si definisce l'angolo tra due rette che si incontrano? Perché si sceglie l'angolo acuto? È l'angolo tra le direzioni (Definizione 24.1). Girando una direzione nel verso opposto l'angolo diventa il suo supplementare, quindi la scelta non è unica: si prende sempre quello acuto o retto, togliendo il segno al prodotto scalare. ::: ::: domanda Come si definisce l'angolo tra una retta e un piano? Si sposta l'origine nel punto d'incontro, si proietta la direzione della retta sul piano e si prende l'angolo tra la direzione e la sua ombra. Se l'ombra è nulla, l'angolo è retto (Definizione 24.2). ::: ::: domanda Che cosa dice la Proposizione 24.4 e a che cosa serve? L'angolo con il piano e l'angolo con la normale che punta dalla stessa parte sommano a un angolo retto. Serve a evitare la proiezione: il seno dell'angolo con il piano è il prodotto scalare con la normale, senza segno, diviso il prodotto delle lunghezze. ::: ::: domanda Come si calcola l'angolo diedrale tra due piani? È l'angolo acuto, o retto, tra le rette dei vettori normali (Proposizione 24.7). Per piani dati con l'equazione, tra i vettori dei numeri davanti alle incognite. ::: ::: domanda Come si definisce la distanza tra un punto e una retta? Qual è la formula? È la distanza tra il punto e il piede della perpendicolare alla retta (Definizione 24.10). Con la retta $P_0 + t v_0$ è $\frac{\lVert v_0 \times (P - P_0) \rVert}{\lVert v_0 \rVert}$ (Proposizione 24.11). ::: ::: domanda Da dove viene la formula della distanza punto–retta? L'area del parallelogramma con lati $v_0$ e $P - P_0$ si calcola in due modi: con il prodotto vettoriale, e come base per altezza. La base è la lunghezza di $v_0$, l'altezza è la distanza. ::: ::: domanda Come si calcola la distanza tra due rette parallele? E tra due sghembe? Parallele: è la distanza di un punto di una dall'altra. Sghembe: il prodotto triplo senza segno diviso la lunghezza di $v \times v'$ (Proposizione 24.14), cioè il volume della scatola diviso l'area della base. ::: ::: domanda Come si capisce se due rette si incontrano, sono parallele o sghembe? Se le direzioni sono proporzionali sono parallele, o coincidono. Altrimenti si calcola $\det(v \mid v' \mid P_0' - P_0)$: se è zero si incontrano, se no sono sghembe. ::: ::: domanda Qual è la formula della distanza punto–piano e come si dimostra? $\frac{\lvert a x_0 + b y_0 + c z_0 - d \rvert}{\sqrt{a^2 + b^2 + c^2}}$ (Proposizione 24.17). Si prende un punto qualsiasi del piano e si proietta sulla normale il vettore che va da lui al punto dato. ::: ::: domanda Come si calcola la distanza tra due piani paralleli? Si scrivono con gli stessi numeri davanti, $ax + by + cz = d_1$ e $ax + by + cz = d_2$; la distanza è $\frac{\lvert d_1 - d_2 \rvert}{\sqrt{a^2 + b^2 + c^2}}$. ::: ::: domanda Quando una retta è perpendicolare a un piano? E parallela? Perpendicolare quando la sua direzione è proporzionale al vettore normale. Parallela, o contenuta, quando la direzione è perpendicolare al vettore normale, cioè il loro prodotto scalare è zero. ::: ## Glossario ```glossario Angolo fra due vettori | L'angolo tra 0 e $\pi$ con coseno uguale al prodotto scalare diviso il prodotto delle lunghezze (Definizione 20.12). Angolo fra due rette | L'angolo acuto o retto tra le direzioni di due rette che si incontrano (Definizione 24.1). Angolo fra retta e piano | L'angolo tra la direzione della retta e la sua ombra sul piano; retto se l'ombra è nulla (Definizione 24.2). Angolo diedrale | L'angolo tra due piani che si incontrano, misurato con due rette perpendicolari alla retta comune; uguale all'angolo acuto tra le normali (Definizione 24.6, Proposizione 24.7). Vettore normale | Un vettore perpendicolare a un piano; per $ax + by + cz = d$ è $(a, b, c)$. Proiezione ortogonale su un piano | L'ombra $p_\pi(v)$, con $v - p_\pi(v)$ perpendicolare al piano; $p_\pi(v) = v - \frac{\langle v, n \rangle}{\langle n, n \rangle} n$. Piede della perpendicolare | Il punto di una retta o di un piano più vicino a un punto dato. Distanza fra punti | $d(P, Q) = \lVert Q - P \rVert$ (Definizione 24.9). Distanza punto–retta | $\frac{\lVert v_0 \times (P - P_0) \rVert}{\lVert v_0 \rVert}$ (Proposizione 24.11). Rette sghembe | Rette dello spazio né incidenti né parallele; hanno una sola perpendicolare comune. Perpendicolare comune | Una retta che incontra due rette disgiunte ed è perpendicolare a tutte e due; il tratto fra le due rette misura la distanza. Distanza fra rette sghembe | $\frac{\lvert \det(v \mid v' \mid P_0' - P_0) \rvert}{\lVert v \times v' \rVert}$ (Proposizione 24.14). Rette complanari | Rette su uno stesso piano: si incontrano o sono parallele; equivale a $\det(v \mid v' \mid P_0' - P_0) = 0$. Distanza punto–piano | $\frac{\lvert a x_0 + b y_0 + c z_0 - d \rvert}{\sqrt{a^2 + b^2 + c^2}}$ (Proposizione 24.17). Volume del parallelepipedo | Il determinante dei tre spigoli in colonna, senza segno. ``` ## Checklist ```checklist - So distinguere quando si calcola un angolo e quando una distanza. - So calcolare l'angolo tra due rette che si incontrano e scelgo sempre quello acuto o retto. - So calcolare l'angolo tra una retta e un piano sia con l'ombra (Definizione 24.2) sia con il vettore normale (Proposizione 24.4). - So calcolare l'angolo diedrale tra due piani con i vettori normali. - So riconoscere i coseni notevoli e lasciare le altre risposte con l'arcocoseno. - So calcolare la distanza punto–retta con il prodotto vettoriale e spiegare la formula con l'area del parallelogramma. - So decidere se due rette sono parallele, si incontrano o sono sghembe con il determinante. - So calcolare la distanza tra due rette parallele e tra due rette sghembe. - So calcolare la distanza punto–piano e il piede della perpendicolare. - So calcolare la distanza tra due piani paralleli dopo averli scritti con gli stessi numeri davanti. - So togliere le radici dai denominatori per riconoscere i risultati tra le risposte del quiz. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 24 «Lo spazio euclideo III», pp. 122–128: sezioni 24.A (angoli fra sottospazi incidenti) e 24.B (distanze fra sottospazi disgiunti), seguite in ordine con la numerazione originale (Definizioni 24.1, 24.2, 24.6, 24.9, 24.10, 24.13, 24.16; Proposizioni 24.4, 24.7, 24.11, 24.14, 24.17; Esempi 24.3, 24.5, 24.8, 24.12, 24.15, 24.18). Dalle lezioni precedenti: Definizione 20.12 (angolo), Definizione 20.10 (distanza), proiezioni della lezione 21, Proposizione 23.10. Questa lezione delle dispense non ha una sezione di esercizi. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §8.1 (norma, angoli, distanze, proiezione ortogonale), §9.1.3 (volume del parallelepipedo), §9.2.6–9.2.10 (perpendicolarità, posizioni, angoli, distanze; da lì vengono la dimostrazione della Proposizione 24.17, il criterio delle rette su uno stesso piano e l'Esempio 9.2.28 sulla perpendicolare comune). - **Appelli d'esame** (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): testo riportato del 07/09/2026 (domanda 7), del 10/07/2025 (domanda 8) e del 10/07/2024 (problema 12), con soluzioni scritte per questi appunti; citati per tipo di domanda gli appelli del 24/01/2024, 08/02/2024, 10/06/2024, 06/09/2024, 16/01/2025, 03/06/2025, 02/09/2025, 05/02/2026 e 03/06/2026. - Le parti **«Oltre le dispense»** (dimostrazione della Proposizione 24.4, formule con il vettore normale, piede della perpendicolare, piani paralleli, criterio delle rette su uno stesso piano, tabella riassuntiva, esempi ed esercizi aggiuntivi) servono a collegare la lezione al libro e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L25_teorema_spettrale_1.md` ```yaml corso: MDAG modulo: AG lezione: L25 titolo: Teorema spettrale I docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L25 descrizione: >- Appunti della lezione L25 di Algebra lineare e Geometria (MDAG, parte 2): prodotti hermitiani sugli spazi complessi, matrici hermitiane, matrice associata, endomorfismi autoaggiunti e sottospazi invarianti, con quiz nello stile dell'esame ed esercizi svolti. lede: >- Come si misurano le lunghezze quando i vettori sono fatti di numeri complessi: il prodotto scalare non basta più e va corretto. Poi due personaggi che vanno d'accordo con il prodotto nuovo: le matrici hermitiane e le applicazioni autoaggiunte. Sono gli attrezzi del teorema spettrale della prossima lezione, e nel quiz dell'esame compaiono spesso. materiale: dispense scheda: Dispense: lezione 25 · pp. 129–133 Libro: Martelli, §11.1 e §11.2 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 25 «Teorema spettrale I»; B. Martelli, Geometria e algebra lineare, §11.1–11.2 appunti_html: appunti/MDAG/L25_teorema_spettrale_1.html genera_html: true ``` ## In breve - I vettori di questa lezione sono liste di **numeri complessi**, cioè numeri con la $i$, il numero per cui $i \cdot i = -1$. Con loro il prodotto scalare delle lezioni L19–L21 non misura più le lunghezze: serve un prodotto nuovo. - Il prodotto nuovo si chiama **prodotto hermitiano**. È quello di prima con una correzione: ai numeri del secondo vettore si cambia il segno davanti alla $i$. Questa operazione si chiama **coniugare**. Così la lunghezza di un vettore torna a essere un numero reale e positivo. - Un prodotto hermitiano ha tre regole. La più importante: se scambi i due vettori, il risultato si coniuga. Una conseguenza: un numero che moltiplica il secondo vettore esce dal prodotto coniugato. - Una **matrice hermitiana** è una tabella quadrata in cui la diagonale è fatta di numeri reali e ogni altro numero è il coniugato del suo «specchio» dall'altra parte della diagonale. Se tutti i numeri sono reali, è una matrice simmetrica. - Un'applicazione lineare, cioè una macchina che trasforma vettori in vettori, è **autoaggiunta** quando dentro il prodotto si può spostare da un vettore all'altro senza cambiare il risultato. Si riconosce dalla matrice: simmetrica con i numeri reali, hermitiana con i complessi. - Un **sottospazio invariante** è una stanza da cui la macchina non fa uscire nessun vettore. Se la macchina è autoaggiunta e una stanza è invariante, lo è anche la stanza di tutti i vettori perpendicolari alla prima. - **All'esame** questa lezione vale di solito una domanda del quiz: c'è in 9 dei 15 appelli dal 2024 al 2026. Si chiede di riconoscere un prodotto hermitiano, una matrice hermitiana o un'applicazione autoaggiunta. Il metodo è sempre «guarda la matrice». > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Misurare i vettori complessi: che cosa si rompe (p. 129) Fin qui i vettori erano liste di numeri reali, e per misurarli bastava il prodotto scalare. In questa sezione ripassiamo quel prodotto e i numeri complessi. Poi guardiamo che cosa va storto quando si mettono insieme, e come si rimedia. ### Da dove partiamo: il conto della spesa Al mercato compri 2 chili di mele e 1 chilo di pere. Le mele costano 3 euro al chilo, le pere 4. Quanto spendi? $$2 \cdot 3 + 1 \cdot 4 = 6 + 4 = 10$$ Hai messo in fila le quantità, 2 e 1, e i prezzi, 3 e 4. Hai moltiplicato i numeri nello stesso posto e hai sommato. Questo conto si chiama **prodotto scalare** (lezione L19): da due liste di numeri tira fuori un numero solo. > [!RIPASSO] prodotto scalare, lunghezza, perpendicolari (lezioni L19–L21) > Un **vettore** è una lista di numeri, per esempio $(3, 4)$. Puoi leggerlo come uno spostamento su una mappa a quadretti: 3 passi a destra e 4 in su. > > Il **prodotto scalare** di due vettori si scrive con due parentesi a punta, $\langle v, w \rangle$, e si legge «prodotto di $v$ e $w$». Si moltiplicano i numeri nello stesso posto e si somma: > $$\langle (1, 2), (3, 4) \rangle = 1 \cdot 3 + 2 \cdot 4 = 11.$$ > > La **lunghezza** di un vettore si trova in due passi. Primo passo: il prodotto del vettore con sé stesso. Secondo passo: la radice quadrata. > $$\langle (3, 4), (3, 4) \rangle = 3 \cdot 3 + 4 \cdot 4 = 25, \qquad \sqrt{25} = 5.$$ > È il teorema di Pitagora: 3 passi a destra e 4 in su ti portano a 5 passi dal punto di partenza. > > Due vettori sono **perpendicolari** quando il loro prodotto scalare fa 0: > $$\langle (1, 2), (2, -1) \rangle = 1 \cdot 2 + 2 \cdot (-1) = 0.$$ La cosa da tenere a mente è questa: **la lunghezza viene dal prodotto di un vettore con sé stesso.** Se quel prodotto dà un numero strano, la lunghezza non ha più senso. ### I numeri complessi, in breve > [!RIPASSO] i numeri complessi (lezione L02) > Nessun numero reale, moltiplicato per sé stesso, dà un risultato negativo: $2 \cdot 2 = 4$, e anche $(-2) \cdot (-2) = 4$. Per questo si aggiunge un numero nuovo, che si chiama $i$, con questa proprietà: > $$i \cdot i = -1.$$ > La scrittura $i^2$ vuol dire $i \cdot i$. Quindi $i^2 = -1$. > > Un **numero complesso** è un numero reale più un multiplo di $i$. Per esempio $3 + 2i$: il 3 è la **parte reale**, il 2 è la **parte immaginaria**. Puoi pensarlo come un punto su un foglio a quadretti: 3 passi a destra e 2 in su. > > I numeri reali sono numeri complessi senza la parte con la $i$: per esempio $5 = 5 + 0i$. > > I conti si fanno come con una lettera qualsiasi. In più, ogni volta che compare $i \cdot i$, al suo posto scrivi $-1$: > $$i \cdot (1 - i) = i - i \cdot i = i - (-1) = 1 + i.$$ > > L'insieme di tutti i numeri complessi si indica con $\C$ e si legge «ci». L'insieme dei numeri reali si indica con $\R$ e si legge «erre». ### Il coniugato: cambiare il segno davanti alla i Prendi un numero complesso e cambia il segno davanti alla $i$. Il numero che ottieni si chiama **coniugato** del primo. | Numero | Il suo coniugato | Che cosa è successo | |---|---|---| | $3 + 2i$ | $3 - 2i$ | il più davanti a $2i$ è diventato meno | | $1 - i$ | $1 + i$ | il meno è diventato più | | $i$ | $-i$ | c'è solo la parte con la $i$, e cambia segno | | $-2i$ | $2i$ | come sopra | | $5$ | $5$ | non c'è nessuna $i$: niente da cambiare | Il coniugato si scrive con una lineetta sopra. Se il numero si chiama $z$, il suo coniugato è $\bar z$ e si legge «zeta coniugato». Quando sotto c'è un'espressione lunga, la lineetta la copre tutta: $$\overline{3 + 2i} = 3 - 2i$$ L'ultima riga della tabella dice una cosa importante: **un numero reale è uguale al suo coniugato**. Vale anche il contrario. Se un numero è uguale al suo coniugato, la parte con la $i$ deve essere zero, quindi il numero è reale. Guarda la figura: sul foglio a quadretti il coniugato è l'immagine allo specchio. Lo specchio è la riga orizzontale. ```grafico titolo: Il coniugato è l'immagine allo specchio rispetto alla riga orizzontale: $3 + 2i$ diventa $3 - 2i$ x: -1 5 y: -3 3 nomi: reale immaginaria segmento: 3 2 3 -2 | grigio | tratteggio vettore: 3 2 | accento | $z = 3 + 2i$ | ne vettore: 3 -2 | viola | $\bar z = 3 - 2i$ | se ``` ### Un numero per il suo coniugato Ecco il fatto su cui si regge tutta la lezione. Moltiplichiamo un numero complesso per il suo coniugato: $$(3 + 2i) \cdot (3 - 2i)$$ Si moltiplica ogni pezzo della prima parentesi per ogni pezzo della seconda. I pezzi sono quattro. | Pezzo | Conto | Risultato | |---|---|---| | $3 \cdot 3$ | | $9$ | | $3 \cdot (-2i)$ | | $-6i$ | | $2i \cdot 3$ | | $6i$ | | $2i \cdot (-2i)$ | $-4 \cdot i \cdot i = -4 \cdot (-1)$ | $4$ | La somma dei quattro pezzi: $$9 - 6i + 6i + 4 = 13$$ I due pezzi con la $i$ si cancellano. Resta $9 + 4$: il quadrato della parte reale più il quadrato della parte immaginaria. Succede con ogni numero complesso, non solo con questo. > [!IDEA] > Un numero complesso per il suo coniugato dà sempre un numero **reale** e **mai negativo**. Dà zero solo quando il numero di partenza è zero. Questo risultato ha un significato sul foglio a quadretti. Il punto $3 + 2i$ sta 3 passi a destra e 2 in su. Per il teorema di Pitagora, $9 + 4 = 13$ è il quadrato della sua distanza dal punto di partenza. La distanza di un numero complesso dal punto di partenza si chiama **modulo**. Si scrive con due barre verticali: $\lvert z \rvert$ si legge «modulo di zeta». Il fatto di prima diventa: $$z \cdot \bar z = \lvert z \rvert^2$$ A parole: un numero per il suo coniugato è il quadrato del suo modulo. Un esempio: il modulo di $3 + 4i$ è 5, perché $9 + 16 = 25$ e la radice di 25 è 5. Servono ancora quattro regole sul coniugato. Le controlliamo con due numeri: $z = i$ e $w = 1 + i$. I loro coniugati sono $-i$ e $1 - i$. | Regola a parole | Con i simboli | Controllo con i numeri | |---|---|---| | il coniugato di una somma è la somma dei coniugati | $\overline{z + w} = \bar z + \bar w$ | la somma è $1 + 2i$, con coniugato $1 - 2i$; e $-i + (1 - i) = 1 - 2i$ | | il coniugato di un prodotto è il prodotto dei coniugati | $\overline{z w} = \bar z\, \bar w$ | il prodotto è $i \cdot (1 + i) = -1 + i$, con coniugato $-1 - i$; e $-i \cdot (1 - i) = -1 - i$ | | coniugare due volte riporta al numero di partenza | $\bar{\bar z} = z$ | da $i$ a $-i$, e poi di nuovo a $i$ | | un numero è reale esattamente quando è uguale al suo coniugato | $z = \bar z$ | $\bar 5 = 5$, mentre $\bar i = -i$ | ### Vettori fatti di numeri complessi Un vettore può contenere numeri complessi al posto dei numeri reali. Tre esempi: $$(1, i) \qquad (2,\ 1 + i) \qquad (i, 0)$$ Ognuno è una lista di due numeri complessi. L'insieme di tutte le liste di due numeri complessi si scrive $\C^2$ e si legge «ci due». Con tre numeri si scrive $\C^3$. Con $n$ numeri si scrive $\C^n$, «ci alla enne». Per dire che un vettore è una di quelle liste si usa il simbolo $\in$, che si legge «appartiene a». La scrittura $(1, i) \in \C^2$ vuol dire: il vettore $(1, i)$ è una lista di due numeri complessi. I numeri di un vettore si indicano con un numerino in basso. Se il vettore si chiama $x$, il suo primo numero è $x_1$ («ics uno») e il secondo è $x_2$ («ics due»). Per $x = (1, i)$ vale $x_1 = 1$ e $x_2 = i$. Qui l'immagine dello spostamento sulla mappa non regge più. Un solo numero complesso occupa già un foglio intero, e un vettore di $\C^2$ ne contiene due. Non si può disegnare come una freccia. Resta l'altra immagine: una lista di numeri. I conti si fanno come prima: si somma posto per posto, e si moltiplica ogni numero della lista per lo stesso numero. ### Il vecchio conto dà lunghezze impossibili Proviamo a misurare il vettore $(1, i)$ con il conto della spesa. Per la lunghezza serve il prodotto del vettore con sé stesso: $$1 \cdot 1 + i \cdot i = 1 + (-1) = 0$$ Il vettore non è fatto di soli zeri, eppure il conto dà 0. Sarebbe un vettore diverso da zero ma lungo zero. Con il vettore $(i, 0)$ va peggio: $$i \cdot i + 0 \cdot 0 = -1$$ Qui il conto dà un numero negativo. La lunghezza sarebbe la radice quadrata di $-1$, che non è un numero reale. Una lunghezza deve essere un numero reale. E deve essere positiva per ogni vettore che non è fatto di soli zeri. Con i numeri complessi il vecchio conto non lo garantisce. ### La correzione: coniugare il secondo vettore Il rimedio lo abbiamo già in mano. Un numero complesso per sé stesso può dare un risultato negativo: $i \cdot i = -1$. Un numero complesso per **il suo coniugato** dà sempre un numero reale mai negativo: $i \cdot (-i) = 1$. Quindi, nel prodotto di un vettore con sé stesso, moltiplichiamo ogni numero per il suo coniugato. Rifacciamo i due conti. Per il vettore $(1, i)$: $$1 \cdot \bar 1 + i \cdot \bar i = 1 \cdot 1 + i \cdot (-i) = 1 + 1 = 2$$ Per il vettore $(i, 0)$: $$i \cdot \bar i + 0 \cdot \bar 0 = i \cdot (-i) + 0 = 1$$ Adesso i risultati sono reali e positivi. Il primo vettore è lungo $\sqrt 2$, il secondo è lungo 1. Per il prodotto di due vettori **diversi** la regola è la stessa. Si moltiplicano i numeri del primo vettore per i coniugati dei numeri del secondo, e poi si somma. > [!ESEMPIO] Il prodotto nuovo di $(1, i)$ e $(2,\ 1 + i)$ > Vogliamo il prodotto del primo vettore con il secondo, fatto con la regola nuova. > > 1. Coniugo i numeri del secondo vettore. Il coniugato di $2$ è $2$. Il coniugato di $1 + i$ è $1 - i$. > 2. Primo posto: $1 \cdot 2 = 2$. > 3. Secondo posto: $i \cdot (1 - i) = i - i \cdot i = i + 1$. > 4. Sommo: $2 + i + 1 = 3 + i$. > > Il prodotto è $3 + i$. Non è un numero reale, e va bene così: succede quando i due vettori sono diversi. Quello che conta è che il prodotto di un vettore **con sé stesso** sia reale e positivo. > [!IDEA] > Con i vettori complessi il prodotto si fa così: i numeri del primo vettore per i **coniugati** dei numeri del secondo, e poi si somma. Il coniugato serve a far venire la lunghezza un numero reale e positivo. Questo prodotto si chiama **prodotto hermitiano euclideo**. La parola «hermitiano» viene da Charles Hermite, un matematico francese dell'Ottocento, e la h non si pronuncia. Nelle prossime due sezioni lo guardiamo con calma: prima le regole generali, poi i conti. ::: prova Scrivi il coniugato di $2 - 5i$, di $4$ e di $-i$. Si cambia il segno davanti alla $i$. Il coniugato di $2 - 5i$ è $2 + 5i$. Il coniugato di $4$ è $4$: non c'è nessuna $i$ da cambiare. Il coniugato di $-i$ è $i$. ::: ::: prova Prendi il vettore $(2i, 1)$. Calcola il prodotto con sé stesso, prima con il vecchio conto e poi con quello corretto. Vecchio conto: $2i \cdot 2i + 1 \cdot 1 = 4 \cdot i \cdot i + 1 = -4 + 1 = -3$. È negativo: come quadrato di una lunghezza non ha senso. Conto corretto: il coniugato di $2i$ è $-2i$, il coniugato di $1$ è $1$. Quindi $2i \cdot (-2i) + 1 \cdot 1 = -4 \cdot i \cdot i + 1 = 4 + 1 = 5$. È reale e positivo: il vettore è lungo $\sqrt 5$. ::: > [!RICORDA] > - Il **coniugato** di un numero complesso si ottiene cambiando il segno davanti alla $i$. Si scrive con una lineetta sopra: $\overline{3 + 2i} = 3 - 2i$. > - Un numero per il suo coniugato è sempre reale e mai negativo: è il quadrato del suo modulo. > - Con i vettori complessi il vecchio prodotto dà lunghezze nulle o negative. Si corregge **coniugando i numeri del secondo vettore**. ## Le tre regole del prodotto hermitiano (pp. 129–130) Il prodotto della sezione precedente è solo un esempio. Le dispense fanno un passo in più: dicono quali regole deve rispettare un prodotto tra vettori complessi per chiamarsi hermitiano. Le regole sono tre. A che cosa serve conoscerle? Nel quiz capita di dover scegliere l'uguaglianza giusta tra cinque che si assomigliano. E dalla terza regola viene il controllo «diagonale reale, specchi coniugati» che userai con le matrici. ### Le tre regole viste con i numeri Usiamo il prodotto della sezione precedente e gli stessi due vettori: $$x = (1, i) \qquad y = (2,\ 1 + i)$$ Un conto lo abbiamo già fatto: $\langle x, y \rangle = 3 + i$. **Regola 1: una somma al primo posto si spezza.** Il prodotto di una somma di due vettori con un terzo vettore è la somma dei due prodotti. È la stessa regola del prodotto scalare. **Regola 2: un numero che moltiplica il primo vettore esce così com'è.** Puoi moltiplicare prima o dopo: non cambia niente. > [!ESEMPIO] Controllo della regola 2 > Calcoliamo in due modi il prodotto di $i \cdot x$ con $y$. I coniugati dei numeri di $y$ sono $2$ e $1 - i$. > > 1. Prima moltiplico il vettore: $i \cdot x = (i \cdot 1,\ i \cdot i) = (i, -1)$. Poi faccio il prodotto con $y$: $i \cdot 2 + (-1) \cdot (1 - i) = 2i - 1 + i = -1 + 3i$. > 2. Oppure prendo il prodotto già fatto, $3 + i$, e lo moltiplico per $i$: $i \cdot (3 + i) = 3i + i \cdot i = -1 + 3i$. > > Stesso risultato: il numero $i$ è uscito dal primo posto così com'è. **Regola 3: se scambi i due vettori, il risultato si coniuga.** > [!ESEMPIO] Controllo della regola 3 > Calcoliamo $\langle y, x \rangle$, con $y$ al primo posto. Adesso i numeri da coniugare sono quelli di $x$. > > 1. I coniugati dei numeri di $x = (1, i)$ sono $1$ e $-i$. > 2. Primo posto: $2 \cdot 1 = 2$. > 3. Secondo posto: $(1 + i) \cdot (-i) = -i - i \cdot i = -i + 1$. > 4. Sommo: $2 - i + 1 = 3 - i$. > > Prima avevamo $\langle x, y \rangle = 3 + i$. Adesso $\langle y, x \rangle = 3 - i$. Il secondo è il coniugato del primo. Nel prodotto scalare tra vettori reali l'ordine dei due vettori non contava. Qui conta: scambiandoli, il risultato diventa il suo coniugato. ### Come lo scrivono le dispense Un **prodotto hermitiano** è una qualsiasi regola che prende due vettori, restituisce un numero complesso e rispetta queste tre regole. Le dispense lo scrivono così. > [!DEF] 25.1 · Prodotto hermitiano > Sia $V$ uno spazio vettoriale complesso. Un **prodotto hermitiano** su $V$ è un'applicazione > $$V \times V \longrightarrow \C, \qquad (v, w) \longmapsto \langle v, w \rangle$$ > che soddisfa i seguenti assiomi: > 1. $\langle v + v', w \rangle = \langle v, w \rangle + \langle v', w \rangle$, > 2. $\langle \lambda v, w \rangle = \lambda \langle v, w \rangle$, > 3. $\langle v, w \rangle = \overline{\langle w, v \rangle}$, > > per ogni $v, v', w \in V$ e ogni $\lambda \in \C$. **Come si legge.** - Uno **spazio vettoriale complesso** è un insieme di vettori in cui i numeri che si usano sono complessi. L'esempio da tenere in mente è $\C^2$. Le dispense lo chiamano $V$. - La riga con le frecce dice che cosa entra e che cosa esce. Entra una coppia di vettori di $V$: il segno $\times$ qui vuol dire «una coppia». Esce un numero complesso. La freccia $\longrightarrow$ si legge «va in». - La freccia con il trattino all'inizio, $\longmapsto$, si legge «viene mandato in». La coppia $(v, w)$ viene mandata nel numero $\langle v, w \rangle$, cioè nel prodotto hermitiano di $v$ e $w$. - Un **assioma** è una regola che si chiede per definizione. - $v'$ si legge «vi primo»: è solo il nome di un altro vettore. $\lambda$ è la lettera greca *lambda* e indica un numero complesso: è questo che dice la scrittura $\lambda \in \C$. - La riga 1 è la regola 1: una somma al primo posto si spezza. - La riga 2 è la regola 2: il numero $\lambda$ esce dal primo posto così com'è. - La riga 3 è la regola 3. La lineetta lunga copre tutto il prodotto di $w$ e $v$: vuol dire «il coniugato di quel numero». - «Per ogni» vuol dire che le regole devono valere qualunque vettore e qualunque numero tu scelga. Le regole 1 e 2 insieme si riassumono così: il prodotto è **lineare nel primo posto**. «Lineare» vuol dire che rispetta le somme e i multipli, come le macchine della lezione L14. ### Quattro conseguenze Dalle tre regole se ne ricavano altre quattro. Le dispense le numerano da (4) a (7). | N. | A parole | Con i simboli | |---|---|---| | (4) | anche una somma al **secondo** posto si spezza | $\langle v, w + w' \rangle = \langle v, w \rangle + \langle v, w' \rangle$ | | (5) | un numero che moltiplica il **secondo** vettore esce **coniugato** | $\langle v, \lambda w \rangle = \bar\lambda \langle v, w \rangle$ | | (6) | il prodotto con il vettore zero fa 0 | $\langle 0, w \rangle = \langle v, 0 \rangle = 0$ | | (7) | il prodotto di un vettore con sé stesso è un numero **reale** | $\langle v, v \rangle \in \R$ | La (5) è quella che si sbaglia più spesso. Controlliamola con i numeri. > [!ESEMPIO] Controllo della proprietà (5) > Stessi vettori di prima: $x = (1, i)$ e $y = (2,\ 1 + i)$, con $\langle x, y \rangle = 3 + i$. Questa volta moltiplichiamo per $i$ il **secondo** vettore. > > **Primo modo: prima moltiplico il vettore, poi faccio il prodotto.** > > 1. $i \cdot y = (i \cdot 2,\ i \cdot (1 + i)) = (2i,\ -1 + i)$. > 2. I coniugati dei numeri di $i \cdot y$ sono $-2i$ e $-1 - i$. > 3. Il prodotto di $x$ con $i \cdot y$: $1 \cdot (-2i) + i \cdot (-1 - i) = -2i - i + 1 = 1 - 3i$. > > **Secondo modo: con la proprietà (5).** Il numero $i$ deve uscire coniugato, cioè come $-i$. > > 1. $-i \cdot (3 + i) = -3i - i \cdot i = -3i + 1$. > > Stesso risultato: $1 - 3i$. Dal secondo posto il numero $i$ è uscito come $-i$. La (7) è il motivo di tutta la costruzione. Perché vale? Usa la regola 3 con due vettori uguali. Scambiare $v$ con $v$ non cambia niente, ma per la regola 3 il risultato si coniuga. Quindi il numero $\langle v, v \rangle$ è uguale al suo coniugato. E un numero uguale al suo coniugato è reale. Le dispense lo dicono in modo esplicito: il coniugio nella regola (3) è un trucco per ottenere che $\langle v, v \rangle$ sia un numero reale. «Coniugio» è il nome dell'operazione di coniugare. Solo se quel numero è reale ha senso chiedersi se è positivo. > [!DIM] perché valgono le proprietà da (4) a (7) > Si usano solo le regole (1), (2), (3) e le regole sul coniugato. > > **Proprietà (5)**, come nelle dispense. > > 1. Per la regola (3), scambio i due vettori e coniugo: $\langle v, \lambda w \rangle = \overline{\langle \lambda w, v \rangle}$. > 2. Ora $\lambda$ è al primo posto. Per la regola (2) esce così com'è: ottengo $\overline{\lambda \langle w, v \rangle}$. > 3. Il coniugato di un prodotto è il prodotto dei coniugati: ottengo $\bar\lambda \cdot \overline{\langle w, v \rangle}$. > 4. Per la regola (3), $\overline{\langle w, v \rangle}$ è $\langle v, w \rangle$. Resta $\bar\lambda \langle v, w \rangle$. > > **Proprietà (4).** Stessa strada: scambio e coniugo, spezzo la somma che ora è al primo posto, uso che il coniugato di una somma è la somma dei coniugati, e riscambio. > $$\langle v, w + w' \rangle = \overline{\langle w + w', v \rangle} = \overline{\langle w, v \rangle} + \overline{\langle w', v \rangle} = \langle v, w \rangle + \langle v, w' \rangle$$ > > **Proprietà (6).** Il vettore zero è «0 volte un vettore qualsiasi», per esempio $0 \cdot w$. Per la regola (2) il numero 0 esce dal primo posto: $\langle 0, w \rangle = \langle 0 \cdot w, w \rangle = 0 \cdot \langle w, w \rangle = 0$. Per il secondo posto si usa la regola (3): $\langle v, 0 \rangle = \overline{\langle 0, v \rangle} = \bar 0 = 0$. > > **Proprietà (7).** Nella regola (3) metto $w = v$: ottengo $\langle v, v \rangle = \overline{\langle v, v \rangle}$. Un numero uguale al suo coniugato è reale. ### Lineare una volta e mezzo Le dispense danno un nome a questo comportamento «diverso nei due posti». > [!OSSERVAZIONE] Lineare una volta e mezzo (p. 130) > Le regole (1) e (2) e la proprietà (4) sono le stesse dei prodotti scalari. La proprietà (5) invece è diversa, per via del coniugato. > > Il prodotto hermitiano è **lineare a sinistra**: dal primo posto le somme e i numeri escono così come sono. È **antilineare a destra**: dal secondo posto le somme escono così come sono, ma i numeri escono coniugati. Le due cose insieme si riassumono in una parola: il prodotto hermitiano è **sesquilineare**. > > *Sesqui* in latino vuol dire «uno e mezzo». Un prodotto scalare è *bilineare*, cioè lineare in tutti e due i posti. Un prodotto hermitiano è lineare «una volta e mezzo, ma non due». Il confronto tra i due prodotti, riga per riga: | | Prodotto scalare (numeri reali) | Prodotto hermitiano (numeri complessi) | |---|---|---| | numeri usati e risultato | numeri reali | numeri complessi | | primo posto | lineare | lineare | | secondo posto | lineare: $\langle v, \lambda w \rangle = \lambda \langle v, w \rangle$ | antilineare: $\langle v, \lambda w \rangle = \bar\lambda \langle v, w \rangle$ | | scambio dei due vettori | $\langle v, w \rangle = \langle w, v \rangle$ | $\langle v, w \rangle = \overline{\langle w, v \rangle}$ | | prodotto di un vettore con sé stesso | reale | reale (proprietà 7) | | matrice associata | simmetrica | hermitiana | L'ultima riga parla di matrici: la capirai tra due sezioni. > [!TRAPPOLA] Il numero esce coniugato solo da destra > Dal primo posto un numero esce così com'è. Dal secondo posto esce coniugato. Un controllo con il prodotto della sezione precedente e il vettore $v = (1, 0)$: con $i \cdot v$ al primo posto viene $\langle (i, 0), (1, 0) \rangle = i$, con $i \cdot v$ al secondo posto viene $\langle (1, 0), (i, 0) \rangle = -i$. > > In questo corso, come nelle dispense e nel libro, il posto lineare è il **primo**. Alcuni testi di fisica fanno la scelta opposta. ::: prova Sai che $\langle v, w \rangle = 2 + 3i$. Quanto vale $\langle w, v \rangle$? Per la regola 3, scambiando i due vettori il risultato si coniuga. Quindi $\langle w, v \rangle = 2 - 3i$. ::: ::: prova Sai che $\langle v, w \rangle = 2 + 3i$. Quanto valgono $\langle i v, w \rangle$ e $\langle v, i w \rangle$? Dal primo posto il numero $i$ esce così com'è: $\langle i v, w \rangle = i \cdot (2 + 3i) = 2i + 3 \cdot i \cdot i = -3 + 2i$. Dal secondo posto esce coniugato, cioè come $-i$: $\langle v, i w \rangle = -i \cdot (2 + 3i) = -2i - 3 \cdot i \cdot i = 3 - 2i$. ::: ::: prova Può succedere che $\langle v, v \rangle = 1 + i$? No. Per la proprietà (7) il prodotto di un vettore con sé stesso è sempre un numero reale, e $1 + i$ non lo è. ::: > [!RICORDA] > - Un **prodotto hermitiano** prende due vettori complessi e restituisce un numero complesso. Ha tre regole. > - Dal **primo** posto somme e numeri escono così come sono. Dal **secondo** posto i numeri escono **coniugati**. > - Scambiando i due vettori il risultato si coniuga: $\langle v, w \rangle = \overline{\langle w, v \rangle}$. > - Il prodotto di un vettore con sé stesso è sempre un numero **reale**. ## Lunghezze e perpendicolari con i complessi (p. 130) Adesso sappiamo che il prodotto di un vettore con sé stesso è un numero reale. Quindi ha senso una domanda: è positivo? Quando la risposta è sempre sì, tornano tutti gli attrezzi delle lezioni L20 e L21: lunghezze, vettori perpendicolari, basi ortonormali. ### Positivo per ogni vettore Riprendiamo il prodotto della prima sezione, quello con i coniugati sul secondo vettore. Calcoliamo il prodotto di tre vettori con sé stessi. | Vettore | Prodotto con sé stesso | Risultato | |---|---|---| | $(1, i)$ | $1 \cdot 1 + i \cdot (-i)$ | $1 + 1 = 2$ | | $(2,\ 1 + i)$ | $2 \cdot 2 + (1 + i) \cdot (1 - i)$ | $4 + 2 = 6$ | | $(0, 0)$ | $0 \cdot 0 + 0 \cdot 0$ | $0$ | Ogni pezzo è un numero per il suo coniugato, quindi è reale e mai negativo. Il risultato è positivo per ogni vettore, tranne che per il vettore fatto di soli zeri. Un prodotto hermitiano con questa proprietà si chiama **definito positivo**. Non tutti i prodotti hermitiani lo sono. Nella sezione sulle matrici ne incontrerai uno che a un vettore diverso da zero assegna il numero $-1$. Le dispense lo scrivono così. > [!DEF] 25.2 · Prodotto hermitiano definito positivo > Un prodotto hermitiano è **definito positivo** se $\langle v, v \rangle > 0$ per ogni $v \neq 0$. **Come si legge.** Il simbolo $\neq$ si legge «diverso da». Qui lo zero è il vettore zero, quello fatto di soli zeri. Il simbolo $>$ si legge «maggiore di». Tutta insieme: il prodotto di $v$ con sé stesso è un numero positivo, qualunque vettore $v$ tu scelga, purché non sia il vettore zero. La domanda «è positivo?» ha senso solo perché quel numero è reale. Tra due numeri complessi non si può dire quale sia il maggiore (lezione L01). ### Lunghezza, perpendicolare, base ortonormale Con un prodotto hermitiano definito positivo si rifà tutto quello che si faceva con i vettori reali. Cambia solo il prodotto che si usa. Ecco le parole, una per una. **Norma.** La norma di un vettore è la sua lunghezza. Si calcola come prima: il prodotto del vettore con sé stesso, e poi la radice quadrata. Si scrive con due doppie barre: $\lVert v \rVert$ si legge «norma di $v$». $$\lVert v \rVert = \sqrt{\langle v, v \rangle}$$ Dalla tabella qui sopra: la norma di $(1, i)$ è $\sqrt 2$ e la norma di $(2,\ 1 + i)$ è $\sqrt 6$. **Vettori ortogonali.** Due vettori sono ortogonali, cioè perpendicolari, quando il loro prodotto fa 0. Qui l'ordine non conta: se un prodotto fa 0, anche quello con i vettori scambiati fa 0, perché è il coniugato di 0. **Spazio ortogonale.** Prendi un sottospazio $U$, cioè una «stanza» dentro lo spazio (lezione L06). Il suo spazio ortogonale è l'insieme dei vettori ortogonali a ogni vettore di $U$. Si scrive $U^\perp$ e si legge «U ortogonale» (lezione L21). **Base ortonormale.** È una base fatta di vettori di norma 1 e ortogonali tra loro (lezione L21). **Gram–Schmidt.** È il procedimento della lezione L21 che trasforma una base qualsiasi in una base di vettori ortogonali. Le dispense avvertono che funziona anche qui. Più sotto c'è un esempio. ### Il prodotto più usato: quello euclideo Il prodotto della prima sezione è l'esempio più importante. Le dispense lo presentano nell'Esempio 25.3 e lo scrivono con le matrici. Per leggerlo servono due scritture. > [!RIPASSO] riga per colonna e trasposta di un vettore (lezione L08) > Un vettore si può scrivere in verticale, come una colonna. La **trasposta** lo mette in orizzontale, come una riga. Si scrive con una piccola $t$ in alto a sinistra: ${}^t x$ si legge «ics trasposto». > > Una riga per una colonna dà un numero: si moltiplicano i numeri nello stesso posto e si somma. > $$\begin{pmatrix} 1 & 2 \end{pmatrix} \begin{pmatrix} 3 \\ 4 \end{pmatrix} = 1 \cdot 3 + 2 \cdot 4 = 11$$ > È il prodotto scalare, scritto con le matrici. La seconda scrittura è nuova. Una lineetta sopra un vettore vuol dire: coniuga ogni numero del vettore. Se $y = (2,\ 1 + i)$, allora $\bar y = (2,\ 1 - i)$. Lo stesso vale per una matrice: $\bar A$ è la matrice $A$ con tutti i numeri coniugati. Un'ultima scrittura delle dispense: $M(m, n, \C)$ è l'insieme delle matrici con $m$ righe e $n$ colonne fatte di numeri complessi. > [!ESEMPIO] 25.3 · Il prodotto hermitiano euclideo > Le dispense chiamano **prodotto hermitiano euclideo** su $\C^n$ il prodotto dato da questa formula: > $$\langle x, y \rangle = {}^t x\, \bar y.$$ > A parole: il vettore $x$ messo in riga, per il vettore $y$ coniugato e messo in colonna. > > **Che cosa vuol dire con due numeri.** Se $x = (x_1, x_2)$ e $y = (y_1, y_2)$, il prodotto riga per colonna dà > $$\langle x, y \rangle = x_1 \bar y_1 + x_2 \bar y_2.$$ > È il conto della prima sezione: i numeri di $x$ per i coniugati dei numeri di $y$, e poi la somma. Con $n$ numeri la somma ha $n$ pezzi, uno per ogni posto: $x_1 \bar y_1 + \dots + x_n \bar y_n$. I puntini vogliono dire «e avanti così fino all'ultimo posto». > > **Rispetta la regola (3).** Le dispense lo controllano con questa catena: > $$\overline{\langle y, x \rangle} = \overline{{}^t y\, \bar x} = {}^t \bar y\, x = {}^t x\, \bar y = \langle x, y \rangle.$$ > Con due numeri si vede ogni passo. > > 1. Scrivo il prodotto con i vettori scambiati: $\langle y, x \rangle = y_1 \bar x_1 + y_2 \bar x_2$. > 2. Coniugo tutto. I numeri di $y$ prendono la lineetta. I numeri di $x$ la perdono, perché coniugare due volte riporta al punto di partenza. Ottengo $\bar y_1 x_1 + \bar y_2 x_2$. > 3. In un prodotto di due numeri l'ordine non conta. Quindi ho $x_1 \bar y_1 + x_2 \bar y_2$, che è proprio $\langle x, y \rangle$. > > **È definito positivo.** Per ogni vettore $x$ di $\C^n$ diverso da zero le dispense scrivono > $$\langle x, x \rangle = {}^t x\, \bar x = x_1 \bar x_1 + \dots + x_n \bar x_n = \lvert x_1 \rvert^2 + \dots + \lvert x_n \rvert^2 > 0.$$ > Ogni pezzo è un numero per il suo coniugato, cioè il quadrato di un modulo: è reale e mai negativo. Se il vettore non è zero, almeno uno dei suoi numeri non è zero. Quel pezzo è positivo, quindi tutta la somma è positiva. > [!METODO] Calcolare un prodotto hermitiano euclideo > 1. Scrivi i coniugati dei numeri del **secondo** vettore. > 2. Moltiplica posto per posto: il primo numero per il primo coniugato, il secondo per il secondo. > 3. Dove compare $i \cdot i$ scrivi $-1$. > 4. Somma i risultati. > > Per la norma di un vettore: somma i quadrati dei moduli dei suoi numeri, poi fai la radice quadrata. Per i vettori $x = (1, i)$ e $y = (2,\ 1 + i)$ questi conti li abbiamo già fatti tutti. I due prodotti sono $3 + i$ e $3 - i$. Le due norme sono $\sqrt 2$ e $\sqrt 6$. Altri conti dello stesso tipo sono negli esercizi 2 e 4. > [!ESEMPIO] Vettori ortogonali e una base ortonormale di $\C^2$ > Prendiamo i vettori $(1, i)$ e $(1, -i)$ e calcoliamo il loro prodotto. > > 1. I coniugati dei numeri del secondo vettore sono $1$ e $i$. > 2. Primo posto: $1 \cdot 1 = 1$. Secondo posto: $i \cdot i = -1$. > 3. Sommo: $1 - 1 = 0$. > > Il prodotto fa 0: i due vettori sono **ortogonali**. > > Tutti e due hanno norma $\sqrt 2$. Per il secondo il conto è: modulo di $1$ al quadrato più modulo di $-i$ al quadrato, cioè $1 + 1 = 2$. > > Per avere vettori di norma 1 si divide ogni vettore per la sua norma. Questa mossa si chiama *normalizzare*. > $$\left\{ \tfrac{1}{\sqrt 2}(1, i),\ \tfrac{1}{\sqrt 2}(1, -i) \right\}$$ > Questi due vettori hanno norma 1 e sono ortogonali: formano una base ortonormale di $\C^2$. ### Gram–Schmidt con i numeri complessi Alla stessa base si arriva con il procedimento di Gram–Schmidt. Ricorda l'idea (lezione L21): il primo vettore resta com'è, e al secondo si toglie la sua «ombra» sul primo. Quello che resta è ortogonale al primo. Si parte da due vettori $v_1$ e $v_2$ e si costruiscono due vettori nuovi, $w_1$ e $w_2$. Il numerino in basso dice solo quale dei due è. La formula per il secondo è: $$w_2 = v_2 - \frac{\langle v_2, w_1 \rangle}{\langle w_1, w_1 \rangle}\, w_1$$ > [!ESEMPIO] Gram–Schmidt in $\C^2$ > Partiamo da $v_1 = (1, i)$ e $v_2 = (1, 0)$. Vogliamo due vettori ortogonali. > > 1. Il primo vettore resta com'è: $w_1 = v_1 = (1, i)$. > 2. Il numero sopra la frazione: $\langle v_2, w_1 \rangle = 1 \cdot 1 + 0 \cdot (-i) = 1$. > 3. Il numero sotto la frazione: $\langle w_1, w_1 \rangle = 2$, già calcolato. > 4. La frazione vale $\frac 12$. Quindi al vettore $v_2$ tolgo metà di $w_1$: > $$w_2 = (1, 0) - \tfrac 12 (1, i) = \left(1 - \tfrac 12,\ 0 - \tfrac i2\right) = \left(\tfrac 12,\ -\tfrac i2\right).$$ > 5. Controllo che $w_2$ sia ortogonale a $w_1$. I coniugati dei numeri di $w_1$ sono $1$ e $-i$: > $$\langle w_2, w_1 \rangle = \tfrac 12 \cdot 1 + \left(-\tfrac i2\right) \cdot (-i) = \tfrac 12 + \tfrac{i \cdot i}{2} = \tfrac 12 - \tfrac 12 = 0.$$ > 6. Normalizzo $w_2$. Il prodotto con sé stesso è $\frac 14 + \frac 14 = \frac 12$, quindi la norma è $\frac{1}{\sqrt 2}$. Dividere per $\frac{1}{\sqrt 2}$ è come moltiplicare per $\sqrt 2$: > $$\sqrt 2 \cdot \left(\tfrac 12,\ -\tfrac i2\right) = \left(\tfrac{\sqrt 2}{2},\ -\tfrac{\sqrt 2}{2}\, i\right) = \tfrac{1}{\sqrt 2}(1, -i).$$ > > È il secondo vettore dell'esempio precedente. L'ultimo passaggio usa che $\frac{\sqrt 2}{2}$ e $\frac{1}{\sqrt 2}$ sono lo stesso numero (lezione L01). > [!TRAPPOLA] L'ordine nella frazione di Gram–Schmidt > Sopra la frazione c'è $\langle v_2, w_1 \rangle$: il vettore da correggere sta **al primo posto**. Con i vettori reali l'ordine non contava. Qui conta, perché scambiando i due vettori il prodotto si coniuga. > > Un esempio: con $w_1 = (1, i)$ e $v_2 = (0, 1)$ l'ordine giusto dà $\langle v_2, w_1 \rangle = 1 \cdot (-i) = -i$. L'ordine sbagliato dà $\langle w_1, v_2 \rangle = i \cdot 1 = i$, e il vettore che si ottiene non è più ortogonale a $w_1$. ::: prova Quanto è lungo il vettore $(3, 4i)$ con il prodotto hermitiano euclideo? Si sommano i quadrati dei moduli. Il modulo di $3$ al quadrato è 9. Il modulo di $4i$ al quadrato è $4i \cdot (-4i) = 16$. La somma è $9 + 16 = 25$. La norma è la radice di 25, cioè 5. ::: ::: prova I vettori $(1, i)$ e $(i, -1)$ sono ortogonali? I coniugati dei numeri del secondo vettore sono $-i$ e $-1$. Il prodotto è $1 \cdot (-i) + i \cdot (-1) = -2i$. Non fa 0, quindi no: non sono ortogonali. ::: > [!RICORDA] > - Un prodotto hermitiano è **definito positivo** quando il prodotto di ogni vettore diverso da zero con sé stesso è positivo. > - Il **prodotto hermitiano euclideo** è $\langle x, y \rangle = x_1 \bar y_1 + \dots + x_n \bar y_n$: i numeri del primo per i coniugati dei numeri del secondo. È definito positivo. > - La **norma** è la radice del prodotto del vettore con sé stesso. In pratica: somma dei quadrati dei moduli, poi radice. > - Ortogonali vuol dire «prodotto uguale a 0». Basi ortonormali e Gram–Schmidt funzionano come con i vettori reali. ## Matrici hermitiane: lo specchio che coniuga (pp. 130–131) Una matrice è una tabella di numeri. Nei prodotti scalari le tabelle importanti erano quelle simmetriche (lezioni L19 e L20). Con i numeri complessi il loro posto lo prendono le matrici hermitiane. A che cosa serve: riconoscere una matrice hermitiana è una domanda del quiz, ed è anche il passo finale delle altre due domande tipiche di questa lezione. > [!RIPASSO] trasposta e matrice simmetrica (lezioni L08 e L19) > In una matrice quadrata la **diagonale** è la fila di numeri che va dall'angolo in alto a sinistra all'angolo in basso a destra. > > La **trasposta** di una matrice si ottiene scambiando le righe con le colonne: la prima riga diventa la prima colonna, la seconda riga diventa la seconda colonna. È come ribaltare la tabella attorno alla diagonale. La trasposta di $A$ si scrive ${}^t A$. > $$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \qquad {}^t A = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix}$$ > > Una matrice è **simmetrica** quando è uguale alla sua trasposta: ribaltandola non cambia. Ogni numero è uguale al suo «specchio» dall'altra parte della diagonale. Un esempio: > $$\begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix}$$ ### Uno specchio che cambia il segno alla i Guarda questa matrice. È l'esempio delle dispense. $$H = \begin{pmatrix} 2 & 1 + i \\ 1 - i & 1 \end{pmatrix}$$ Si notano due cose. - Sulla diagonale ci sono $2$ e $1$: due numeri reali. - Fuori dalla diagonale ci sono $1 + i$ in alto a destra e $1 - i$ in basso a sinistra. Non sono uguali, quindi la matrice non è simmetrica. Ma ognuno dei due è il **coniugato** dell'altro. È come una matrice simmetrica in cui lo specchio, oltre a riflettere, cambia il segno davanti alla $i$. Una matrice fatta così si chiama **hermitiana**. ```grafico titolo: La diagonale fa da specchio. I numeri sulla diagonale sono reali; gli altri due sono uno il coniugato dell'altro assi: no griglia: no x: 0 6 y: 0 4 poligono: 1 0.4 5 0.4 5 3.6 1 3.6 | grigio | tenue segmento: 1 3.6 1.6 3.12 | ambra | tratteggio segmento: 2.4 2.48 3.6 1.52 | ambra | tratteggio segmento: 4.4 0.88 5 0.4 | ambra | tratteggio testo: 2 2.8 | ambra | $2$ testo: 4 1.2 | ambra | $1$ testo: 4 2.8 | accento | $1 + i$ testo: 2 1.2 | viola | $1 - i$ freccia: 3.1 2.08 3.6 2.48 | grigio | sottile freccia: 2.9 1.92 2.4 1.52 | grigio | sottile testo: 5.5 0.25 | ambra | "diagonale" ``` ### Con i simboli delle dispense Le dispense usano due operazioni sulle matrici. - La trasposta ${}^t H$: scambia le righe con le colonne (ripasso qui sopra). - La coniugata $\bar H$: coniuga ogni numero della tabella, senza spostare niente. Proviamole tutte e due sulla matrice $H$. $${}^t H = \begin{pmatrix} 2 & 1 - i \\ 1 + i & 1 \end{pmatrix} \qquad \bar H = \begin{pmatrix} 2 & 1 - i \\ 1 + i & 1 \end{pmatrix}$$ Viene la stessa tabella. Trasporre questa matrice dà lo stesso risultato che coniugarla: la definizione delle dispense chiede proprio questo. Serve ancora un modo per indicare un numero preciso della tabella. Si usano due numerini in basso: il primo dice la riga, il secondo la colonna. $H_{12}$ si legge «acca uno due» ed è il numero nella riga 1 e nella colonna 2. Nella nostra matrice $H_{12} = 1 + i$ e $H_{21} = 1 - i$. Con le lettere al posto dei numerini, $H_{ij}$ è il numero nella riga $i$ e nella colonna $j$. > [!DEF] 25.4 · Matrice hermitiana > Una **matrice hermitiana** è una matrice quadrata complessa $H$ per cui > $${}^t H = \bar H.$$ > In altre parole vale $H_{ij} = \overline{H_{ji}}$ per ogni $i, j$. **Come si legge.** - «Matrice quadrata complessa»: una tabella con tante righe quante colonne, fatta di numeri complessi. - La prima formula dice: la trasposta è uguale alla coniugata. - La seconda formula dice la stessa cosa un numero alla volta. Il numero nella riga $i$ e nella colonna $j$ è il coniugato del numero nella riga $j$ e nella colonna $i$. I due posti sono uno lo specchio dell'altro rispetto alla diagonale. - «Per ogni $i, j$» vuol dire: per tutte le coppie di posti. - Sulla diagonale il numero di riga e quello di colonna sono uguali, come in $H_{11}$. Lì la condizione dice che il numero è uguale al suo coniugato. Quindi **i numeri sulla diagonale sono reali**. > [!OSSERVAZIONE] Matrici reali (p. 131) > Una matrice quadrata fatta di numeri **reali** è hermitiana esattamente quando è **simmetrica**. Il motivo: coniugare un numero reale non lo cambia. Quindi $\bar H = H$, e la condizione ${}^t H = \bar H$ diventa ${}^t H = H$. > [!METODO] Riconoscere una matrice hermitiana > 1. Controlla che la matrice sia **quadrata**. > 2. Guarda la **diagonale**: tutti i numeri devono essere **reali**. Basta una $i$ sulla diagonale per dire che la matrice non è hermitiana. > 3. Guarda ogni numero sotto la diagonale: deve essere il **coniugato** del suo specchio sopra la diagonale. Si cambia il segno davanti alla $i$, **non** quello della parte reale. Il metodo applicato a cinque matrici: | Matrice | Hermitiana? | Perché | |---|---|---| | $\begin{pmatrix} 1 & 3 - 2i \\ 3 + 2i & -4 \end{pmatrix}$ | sì | la diagonale è reale, e il coniugato di $3 + 2i$ è $3 - 2i$ | | $\begin{pmatrix} 1 & 3 - 2i \\ 3 - 2i & -4 \end{pmatrix}$ | no | è simmetrica, ma il coniugato di $3 - 2i$ è $3 + 2i$ | | $\begin{pmatrix} 1 & 3 - 2i \\ -3 - 2i & -4 \end{pmatrix}$ | no | il coniugato di $-3 - 2i$ è $-3 + 2i$: è stato cambiato il segno della parte reale, quello sbagliato | | $\begin{pmatrix} i & 0 \\ 0 & 2 \end{pmatrix}$ | no | sulla diagonale c'è $i$ | | $\begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}$ | sì | la diagonale è reale, e il coniugato di $i$ è $-i$ | ### Dalla matrice al prodotto Nella lezione L19 una matrice simmetrica fabbricava un prodotto scalare. Una matrice hermitiana fa lo stesso lavoro con i vettori complessi: fabbrica un prodotto hermitiano. Le dispense lo chiamano $g_H$. La $g$ è il nome del prodotto, e la piccola $H$ in basso ricorda da quale matrice viene. $$g_H(x, y) = {}^t x\, H\, \bar y$$ A parole: il vettore $x$ in riga, per la matrice $H$, per il vettore $y$ coniugato e in colonna. È la formula del prodotto euclideo, con la matrice $H$ infilata in mezzo. > [!RIPASSO] matrice per vettore (lezione L08) > Una matrice per un vettore in colonna dà un altro vettore. Ogni riga della matrice si moltiplica per la colonna, con la regola «riga per colonna». > $$\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} 3 \\ 2 \end{pmatrix} = \begin{pmatrix} 2 \cdot 3 + 1 \cdot 2 \\ 1 \cdot 3 + 1 \cdot 2 \end{pmatrix} = \begin{pmatrix} 8 \\ 5 \end{pmatrix}$$ > [!ESEMPIO] Un conto con $g_H$ > Usiamo la matrice $H$ delle dispense e i vettori $x = (1, i)$ e $y = (1, 1)$. > > **Primo conto: $g_H(x, y)$.** > > 1. Coniugo $y$. I suoi numeri sono reali, quindi $\bar y = (1, 1)$. > 2. Calcolo $H \bar y$, riga per colonna. Prima riga: $2 \cdot 1 + (1 + i) \cdot 1 = 3 + i$. Seconda riga: $(1 - i) \cdot 1 + 1 \cdot 1 = 2 - i$. > 3. Moltiplico $x$, messo in riga, per il vettore appena trovato: $1 \cdot (3 + i) + i \cdot (2 - i)$. > 4. Il secondo pezzo vale $i \cdot (2 - i) = 2i - i \cdot i = 2i + 1$. > 5. Sommo: $3 + i + 2i + 1 = 4 + 3i$. > > Quindi $g_H(x, y) = 4 + 3i$. > > **Secondo conto: $g_H(y, x)$, con i due vettori scambiati.** > > 1. Coniugo $x$: $\bar x = (1, -i)$. > 2. Calcolo $H \bar x$. Prima riga: $2 \cdot 1 + (1 + i) \cdot (-i) = 2 - i + 1 = 3 - i$. Seconda riga: $(1 - i) \cdot 1 + 1 \cdot (-i) = 1 - 2i$. > 3. Moltiplico $y$, messo in riga, per questo vettore: $1 \cdot (3 - i) + 1 \cdot (1 - 2i) = 4 - 3i$. > > Quindi $g_H(y, x) = 4 - 3i$. È il coniugato di $4 + 3i$: la regola (3) è rispettata. Non è un caso: succede con ogni matrice hermitiana e con ogni coppia di vettori. Le regole (1) e (2) si controllano come per i prodotti scalari. La regola (3) vale proprio perché la matrice è hermitiana. La catena di passaggi delle dispense è nel riquadro. > [!DIM] perché $g_H$ rispetta la regola (3) > Le dispense scrivono questa catena: > $$g_H(x, y) = {}^t x H \bar y \overset{(a)}{=} {}^t\big({}^t x H \bar y\big) \overset{(b)}{=} {}^t \bar y\, {}^t H\, x \overset{(c)}{=} {}^t \bar y\, \bar H x \overset{(d)}{=} \overline{{}^t y H \bar x} = \overline{g_H(y, x)}.$$ > Il motivo di ogni passaggio: > > - (a) ${}^t x H \bar y$ è un numero solo, cioè una matrice con una riga e una colonna. Trasporla non la cambia. > - (b) La trasposta di un prodotto è il prodotto delle trasposte **in ordine inverso**. In più, trasporre due volte riporta al punto di partenza: ${}^t({}^t x) = x$. > - (c) $H$ è hermitiana, quindi ${}^t H = \bar H$. > - (d) Il coniugato di un prodotto è il prodotto dei coniugati. Coniugando ${}^t y H \bar x$ si ottiene ${}^t \bar y\, \bar H\, x$. ### La formula scritta per esteso Se fai il conto ${}^t x\, H\, \bar y$ con le lettere al posto dei numeri, in $\C^2$ vengono quattro pezzi: $$g_H(x, y) = H_{11}\, x_1 \bar y_1 + H_{12}\, x_1 \bar y_2 + H_{21}\, x_2 \bar y_1 + H_{22}\, x_2 \bar y_2$$ Ogni pezzo è fatto di tre cose: un numero della matrice, un numero di $x$ e un numero di $y$ coniugato. La regola per abbinarli è questa: - la **riga** dice quale numero di $x$ compare; - la **colonna** dice quale numero di $y$ coniugato compare. Per esempio $H_{12}$, che sta nella riga 1 e nella colonna 2, moltiplica $x_1 \bar y_2$. Con la matrice delle dispense la formula diventa: $$g_H(x, y) = 2\, x_1 \bar y_1 + (1 + i)\, x_1 \bar y_2 + (1 - i)\, x_2 \bar y_1 + x_2 \bar y_2$$ Un caso particolare. I vettori $e_1 = (1, 0)$ ed $e_2 = (0, 1)$ formano la **base canonica** di $\C^2$. Se nella formula metti $e_1$ al primo posto ed $e_2$ al secondo, tre pezzi su quattro contengono uno zero. Resta solo il pezzo con $x_1 \bar y_2$, che vale $H_{12}$. Il prodotto di due vettori della base canonica «pesca» un numero della matrice. Le dispense lo scrivono così: $$g_H(e_i, e_j) = {}^t e_i H \bar e_j = {}^t e_i H e_j = H_{ij}$$ Qui $e_1, \dots, e_n$ è la base canonica di $\C^n$: il vettore $e_i$ ha un 1 al posto $i$ e 0 negli altri posti. Sono vettori fatti di numeri reali, quindi coniugarli non li cambia. ### Una formula è un prodotto hermitiano? È la domanda più frequente dell'esame su questa lezione. Ti danno una formula con quattro pezzi e chiedono se è un prodotto hermitiano. Il metodo: si legge la formula al contrario, dai pezzi alla matrice. > [!METODO] Decidere se una formula è un prodotto hermitiano > La formula è fatta così: $a\, x_1 \bar y_1 + b\, x_1 \bar y_2 + c\, x_2 \bar y_1 + d\, x_2 \bar y_2$, dove $a$, $b$, $c$, $d$ sono quattro numeri. > > 1. Controlla le lineette. In ogni pezzo il numero di $y$ deve essere coniugato. Una formula senza lineette non è un prodotto hermitiano. > 2. Scrivi la matrice dei coefficienti: $H = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$. La riga è il numerino di $x$, la colonna è il numerino di $\bar y$. > 3. Controlla che la matrice sia hermitiana: $a$ e $d$ reali, e $c$ uguale al coniugato di $b$. Un **coefficiente** è il numero che sta davanti a un pezzo della formula. > [!ESEMPIO] Due formule a confronto > **Prima formula:** $x_1 \bar y_1 + i\, x_1 \bar y_2 - i\, x_2 \bar y_1 + 2\, x_2 \bar y_2$. > > 1. Le lineette ci sono in tutti i pezzi. > 2. La matrice dei coefficienti è $\begin{pmatrix} 1 & i \\ -i & 2 \end{pmatrix}$. > 3. Sulla diagonale ci sono $1$ e $2$, reali. Il coniugato di $i$ è $-i$, e in basso a sinistra c'è proprio $-i$. > > La matrice è hermitiana: la formula è un prodotto hermitiano. > > **Seconda formula:** $x_1 \bar y_1 + i\, x_1 \bar y_2 + i\, x_2 \bar y_1 + 2\, x_2 \bar y_2$. > > 1. Le lineette ci sono in tutti i pezzi. > 2. La matrice dei coefficienti è $\begin{pmatrix} 1 & i \\ i & 2 \end{pmatrix}$. > 3. La diagonale è reale. Ma in basso a sinistra dovrebbe esserci $-i$, e invece c'è $i$. > > La matrice non è hermitiana: la formula non è un prodotto hermitiano. La matrice è simmetrica, ma con i numeri complessi «simmetrica» non basta. > [!OLTRE] Hermitiano non vuol dire definito positivo > La Definizione 25.1 non chiede che il prodotto di un vettore con sé stesso sia positivo. Prendi la matrice $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$. È reale e simmetrica, quindi è hermitiana. Il suo prodotto è $g(x, y) = x_1 \bar y_1 - x_2 \bar y_2$. > > Con il vettore $e_2 = (0, 1)$ viene $g(e_2, e_2) = 0 - 1 = -1$. Un vettore diverso da zero dà un risultato negativo: questo prodotto hermitiano **non** è definito positivo. > > Nel quiz la domanda è quasi sempre «quale di queste è un prodotto hermitiano?». La risposta giusta può non essere definita positiva: la domanda non lo chiede. ::: prova Completa la matrice in modo che sia hermitiana: $\begin{pmatrix} 3 & 2 - i \\ \ast & 5 \end{pmatrix}$. Al posto dell'asterisco va il coniugato del suo specchio, cioè il coniugato di $2 - i$. Si cambia il segno davanti alla $i$: viene $2 + i$. ::: ::: prova La matrice $\begin{pmatrix} 4 & 1 + 2i \\ 1 - 2i & i \end{pmatrix}$ è hermitiana? No. Gli specchi vanno bene, perché il coniugato di $1 - 2i$ è $1 + 2i$. Ma sulla diagonale c'è $i$, che non è un numero reale. ::: ::: prova Scrivi la matrice della formula $3\, x_1 \bar y_1 + 2i\, x_1 \bar y_2 - 2i\, x_2 \bar y_1 + x_2 \bar y_2$. È un prodotto hermitiano? La riga è il numerino di $x$, la colonna quello di $\bar y$. La matrice è $\begin{pmatrix} 3 & 2i \\ -2i & 1 \end{pmatrix}$. La diagonale è reale. Il coniugato di $-2i$ è $2i$, che è proprio il numero in alto a destra. La matrice è hermitiana, quindi la formula è un prodotto hermitiano. ::: > [!RICORDA] > - Una matrice è **hermitiana** quando la trasposta è uguale alla coniugata: ${}^t H = \bar H$. > - In pratica: **diagonale reale** e **specchi coniugati**. > - Una matrice reale è hermitiana esattamente quando è simmetrica. Una matrice complessa simmetrica di solito **non** è hermitiana. > - Ogni matrice hermitiana dà un prodotto hermitiano. Il numero nella riga $i$ e colonna $j$ è il coefficiente di $x_i \bar y_j$. ## La tabella dei prodotti: matrice associata (p. 131) Un prodotto hermitiano si può riassumere in una tabella. Basta scegliere una base e scrivere tutti i prodotti tra i vettori della base. È la stessa costruzione fatta per i prodotti scalari nella lezione L19. A che cosa serve? Spiega perché nel quiz basta guardare la matrice dei coefficienti: ogni prodotto hermitiano viene da una matrice hermitiana. Negli appelli dal 2024 al 2026 nessuna domanda chiede di calcolare la tabella di questa sezione. Se hai poco tempo, leggi il primo esempio e il riquadro «Da ricordare». > [!RIPASSO] base e coordinate (lezioni L07 e L13) > Una **base** è un elenco di vettori con cui si costruisce ogni altro vettore dello spazio, in un modo solo. Costruire vuol dire fare una ricetta: «tanto del primo vettore più tanto del secondo». Le quantità della ricetta si chiamano **coordinate**. > > Un esempio in $\R^2$, con la base fatta da $b_1 = (1, 1)$ e $b_2 = (0, 1)$. Il vettore $v = (2, 5)$ si ottiene con 2 parti di $b_1$ e 3 parti di $b_2$: > $$2 \cdot (1, 1) + 3 \cdot (0, 1) = (2, 2) + (0, 3) = (2, 5).$$ > Quindi le coordinate di $v$ in questa base sono $(2, 3)$. La lista delle coordinate di $v$ nella base $\mathcal B$ si scrive $[v]_{\mathcal B}$. La lettera $\mathcal B$ è una B in corsivo: è il nome della base. ### Un esempio: la tabella di una base > [!ESEMPIO] La matrice del prodotto euclideo in un'altra base > In $\C^2$ usiamo il prodotto hermitiano euclideo. Come base prendiamo $b_1 = (1, i)$ e $b_2 = (0, 1)$. Calcoliamo i quattro prodotti tra i vettori della base e li mettiamo in una tabella. Ricorda: si coniugano i numeri del secondo vettore. > > | Posto nella tabella | Prodotto | Conto | Risultato | > |---|---|---|---| > | riga 1, colonna 1 | $\langle b_1, b_1 \rangle$ | $1 \cdot 1 + i \cdot (-i)$ | $2$ | > | riga 1, colonna 2 | $\langle b_1, b_2 \rangle$ | $1 \cdot 0 + i \cdot 1$ | $i$ | > | riga 2, colonna 1 | $\langle b_2, b_1 \rangle$ | $0 \cdot 1 + 1 \cdot (-i)$ | $-i$ | > | riga 2, colonna 2 | $\langle b_2, b_2 \rangle$ | $0 \cdot 0 + 1 \cdot 1$ | $1$ | > > La tabella dei prodotti è > $$H = \begin{pmatrix} 2 & i \\ -i & 1 \end{pmatrix}.$$ > È hermitiana: la diagonale è reale, e $-i$ è il coniugato di $i$. ### La regola generale La ricetta è sempre questa. Hai uno spazio vettoriale complesso con un prodotto hermitiano, e scegli una base. Le dispense chiamano lo spazio $V$ e la base $\mathcal B = \{v_1, \dots, v_n\}$. Vuol dire: un elenco di $n$ vettori, in cui il primo si chiama $v_1$ e l'ultimo $v_n$. La **matrice associata** al prodotto in quella base è la tabella dei prodotti. Nel posto di riga $i$ e colonna $j$ c'è il prodotto del vettore numero $i$ con il vettore numero $j$: $$H_{ij} = \langle v_i, v_j \rangle \quad \text{per ogni } i, j.$$ Questa tabella è sempre hermitiana. Il motivo è la regola (3). Scambiando i due vettori il prodotto si coniuga, quindi il numero nel posto «riga $j$, colonna $i$» è il coniugato di quello nel posto «riga $i$, colonna $j$»: $$H_{ij} = \langle v_i, v_j \rangle = \overline{\langle v_j, v_i \rangle} = \overline{H_{ji}}$$ Per questo le dispense usano la lettera $H$ e non la $S$ dei prodotti scalari: la matrice non è simmetrica ma hermitiana. Con la tabella si calcola il prodotto di due vettori qualsiasi, usando solo le loro coordinate. Le dispense scrivono: $$\langle v, w \rangle = {}^t[v]_{\mathcal B} \cdot H \cdot \overline{[w]_{\mathcal B}}$$ A parole: le coordinate di $v$ in riga, per la tabella, per le coordinate di $w$ coniugate e in colonna. È la formula di $g_H$ della sezione precedente, con le coordinate al posto dei vettori. > [!ESEMPIO] Controllo della formula > Stessa base di prima e stessa tabella $H$. Prendiamo $v = b_1 + b_2$ e $w = b_2$, e calcoliamo il loro prodotto in due modi. > > **Primo modo: direttamente.** > > 1. Scrivo i due vettori: $v = (1, i) + (0, 1) = (1,\ 1 + i)$ e $w = (0, 1)$. > 2. I numeri di $w$ sono reali: coniugarli non li cambia. > 3. Il prodotto: $1 \cdot 0 + (1 + i) \cdot 1 = 1 + i$. > > **Secondo modo: con le coordinate.** > > 1. $v$ è fatto di 1 parte di $b_1$ e 1 parte di $b_2$: le sue coordinate sono $(1, 1)$. > 2. $w$ è fatto di 0 parti di $b_1$ e 1 parte di $b_2$: le sue coordinate sono $(0, 1)$. Sono reali, quindi coniugarle non le cambia. > 3. Tabella per le coordinate di $w$: > $$H \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 2 \cdot 0 + i \cdot 1 \\ -i \cdot 0 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} i \\ 1 \end{pmatrix}.$$ > 4. Coordinate di $v$ in riga per questo vettore: $1 \cdot i + 1 \cdot 1 = 1 + i$. > > Stesso risultato: $1 + i$. Perché le coordinate di $w$ vanno coniugate? Perché $w$ sta al secondo posto, e dal secondo posto i numeri escono coniugati (proprietà 5). Le dispense dicono che la formula si dimostra come per un prodotto scalare, «stando attenti alla sesquilinearità». ### Ogni prodotto hermitiano viene da una matrice Prendi $\C^n$ con la base canonica. In quella base le coordinate di un vettore sono i suoi stessi numeri. La formula con le coordinate diventa allora quella di $g_H$. Le dispense concludono: qualsiasi prodotto hermitiano su $\C^n$ è della forma $g_H$ per qualche matrice hermitiana $H$. Quindi prodotti hermitiani e matrici hermitiane contengono la stessa informazione. Ecco perché il metodo della sezione precedente funziona: per giudicare una formula basta guardare la sua matrice. ::: prova In $\C^2$ con il prodotto hermitiano euclideo, qual è la matrice associata nella base canonica $e_1 = (1, 0)$, $e_2 = (0, 1)$? I quattro prodotti sono: $\langle e_1, e_1 \rangle = 1$, poi $\langle e_1, e_2 \rangle = 0$, poi $\langle e_2, e_1 \rangle = 0$, poi $\langle e_2, e_2 \rangle = 1$. La tabella ha 1 sulla diagonale e 0 fuori: è la matrice identità $\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$. Succede con ogni base ortonormale, e servirà nella prossima sezione. ::: ::: prova Nella tabella $H$ dell'esempio, quale numero è il prodotto $\langle b_2, b_1 \rangle$? E perché non è uguale a $\langle b_1, b_2 \rangle$? Il primo vettore è il numero 2 e il secondo è il numero 1: si guarda la riga 2 e la colonna 1. Lì c'è $-i$. Il prodotto con i vettori scambiati sta nella riga 1 e nella colonna 2, ed è $i$. I due numeri sono uno il coniugato dell'altro, come vuole la regola (3). ::: > [!RICORDA] > - La **matrice associata** a un prodotto hermitiano in una base è la tabella dei prodotti tra i vettori della base: $H_{ij} = \langle v_i, v_j \rangle$. > - È sempre una matrice hermitiana. > - Ogni prodotto hermitiano su $\C^n$ viene da una matrice hermitiana. Per questo le domande sui prodotti hermitiani si risolvono guardando una matrice. ## Autoaggiunto: la macchina cambia posto (pp. 132–133) Fin qui il prodotto prendeva due vettori e dava un numero. Adesso entra in scena un personaggio diverso: una macchina che trasforma vettori in vettori, cioè un'applicazione lineare (lezione L14). In questa sezione e nella prossima lo spazio $V$ può essere di due tipi, e tutto vale per entrambi: - uno spazio di vettori reali con un prodotto scalare definito positivo, come $\R^2$ con il conto della spesa; - uno spazio di vettori complessi con un prodotto hermitiano definito positivo, come $\C^2$ con il prodotto euclideo. A che cosa serve: le macchine di questa sezione sono le protagoniste del teorema spettrale (lezione L26). E «quale di queste applicazioni è autoaggiunta?» è una domanda del quiz. > [!RIPASSO] la macchina di una matrice (lezioni L14–L16) > Una matrice $A$ è anche una macchina: entra un vettore $v$, esce il vettore $A v$, che si calcola con la regola «matrice per vettore». Le dispense chiamano questa macchina $L_A$. > > Se entra un vettore della base canonica, esce una **colonna** della matrice. Con $A = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$: entra $e_1 = (1, 0)$ ed esce la prima colonna, $(2, 1)$; entra $e_2 = (0, 1)$ ed esce la seconda colonna, $(1, 1)$. > > Una macchina che restituisce vettori dello stesso spazio da cui li prende si chiama **endomorfismo**. Si scrive $T \colon V \to V$ e si legge «ti da vi a vi». La scrittura $T(v)$ indica il vettore che esce quando entra $v$. ### Un esperimento con due matrici Prendiamo $\R^2$ con il prodotto scalare di sempre e questa matrice: $$A = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$$ Scegliamo due vettori, $v = (1, 2)$ e $w = (3, 1)$, e facciamo due conti diversi. - **Primo conto:** passo $v$ nella macchina, poi faccio il prodotto con $w$. - **Secondo conto:** passo $w$ nella macchina, poi faccio il prodotto di $v$ con il vettore che esce. > [!ESEMPIO] I due conti con la matrice $A$ > **Primo conto.** > > 1. Calcolo $A v$. Prima riga: $2 \cdot 1 + 1 \cdot 2 = 4$. Seconda riga: $1 \cdot 1 + 1 \cdot 2 = 3$. Esce il vettore $(4, 3)$. > 2. Prodotto con $w$: $\langle (4, 3), (3, 1) \rangle = 4 \cdot 3 + 3 \cdot 1 = 15$. > > **Secondo conto.** > > 1. Calcolo $A w$. Prima riga: $2 \cdot 3 + 1 \cdot 1 = 7$. Seconda riga: $1 \cdot 3 + 1 \cdot 1 = 4$. Esce il vettore $(7, 4)$. > 2. Prodotto di $v$ con questo vettore: $\langle (1, 2), (7, 4) \rangle = 1 \cdot 7 + 2 \cdot 4 = 15$. > > Viene 15 tutte e due le volte. Non è fortuna. Con questa matrice i due conti danno lo stesso numero per ogni coppia di vettori. Ora rifacciamo l'esperimento con un'altra matrice: $$B = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$$ > [!ESEMPIO] I due conti con la matrice $B$ > Questa volta usiamo i due vettori della base canonica, $e_1 = (1, 0)$ ed $e_2 = (0, 1)$. > > **Primo conto.** $B e_1$ è la prima colonna di $B$, cioè $(1, 0)$. Il prodotto con $e_2$ è $\langle (1, 0), (0, 1) \rangle = 0$. > > **Secondo conto.** $B e_2$ è la seconda colonna di $B$, cioè $(1, 1)$. Il prodotto di $e_1$ con questo vettore è $\langle (1, 0), (1, 1) \rangle = 1$. > > Il primo conto dà 0, il secondo dà 1. Sono diversi. Che differenza c'è tra le due matrici? La prima è simmetrica, la seconda no. Tra poco vedrai che il motivo è proprio questo. > [!IDEA] > Una macchina è **autoaggiunta** quando, dentro il prodotto, puoi spostarla dal primo vettore al secondo senza cambiare il risultato. Le dispense lo scrivono così. > [!DEF] 25.5 · Endomorfismo autoaggiunto > Un endomorfismo $T \colon V \to V$ è **autoaggiunto** se > $$\langle T(v), w \rangle = \langle v, T(w) \rangle \quad \text{per ogni } v, w \in V.$$ **Come si legge.** - $T \colon V \to V$ è la macchina: un endomorfismo dello spazio $V$. - A sinistra dell'uguale c'è il primo conto: passo $v$ nella macchina, poi faccio il prodotto con $w$. - A destra c'è il secondo conto: passo $w$ nella macchina, poi faccio il prodotto di $v$ con il vettore che esce. - «Per ogni $v, w \in V$» vuol dire che i due conti devono dare lo stesso numero con qualunque coppia di vettori, non solo con qualcuna. Il nome aiuta a ricordare: «auto» vuol dire «sé stessa». Dall'altra parte del prodotto ci va la stessa macchina, non un'altra. ### Non confonderla con un'isometria La definizione assomiglia a quella di **isometria** (lezione L22). Un'isometria è un movimento rigido, come una rotazione: non cambia né le lunghezze né gli angoli. Le dispense avvertono che tra le due definizioni ci sono somiglianze, ma anche differenze importanti. Conviene vederle una accanto all'altra. | | Isometria | Endomorfismo autoaggiunto | |---|---|---| | condizione | $\langle T(v), T(w) \rangle = \langle v, w \rangle$ | $\langle T(v), w \rangle = \langle v, T(w) \rangle$ | | dove compare $T$ | in tutti e due i posti | in un posto solo per volta | | matrice in una base ortonormale (caso reale) | ortogonale: ${}^t A A = I$ | simmetrica: ${}^t A = A$ | | esempio in $\R^2$ | la rotazione $\begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$ | $\begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}$ | ### Come si riconosce dalla matrice La definizione chiede di controllare tutte le coppie di vettori, e sono infinite. Serve un test che si faccia in pochi secondi. Il test guarda la matrice della macchina. Ricorda (lezione L15): scelta una base $\mathcal B$, una macchina $T$ si scrive come una matrice, che si indica con $[T]^{\mathcal B}_{\mathcal B}$. Nelle sue colonne ci sono le coordinate dei vettori in cui la macchina manda i vettori della base. Per il test la base deve essere **ortonormale**: vettori di norma 1, ortogonali tra loro. La base canonica lo è. Scegliamo quindi una base ortonormale $\mathcal B$ di $V$, e chiamiamo $A = [T]^{\mathcal B}_{\mathcal B}$ la matrice della macchina $T$ in quella base. Le dispense dimostrano questo risultato. > [!PROP] 25.6 > L'endomorfismo $T$ è autoaggiunto se e solo se la matrice $A$ è hermitiana. **Come si legge.** «Se e solo se» vuol dire che le due cose vanno sempre insieme. Se la macchina è autoaggiunta, la matrice è hermitiana. Se la matrice è hermitiana, la macchina è autoaggiunta. Nel caso reale «hermitiana» vuol dire «simmetrica». Attenzione all'ipotesi scritta prima del riquadro: $A$ è la matrice di $T$ in una base **ortonormale**. Perché è vero? Riguarda l'esperimento con la matrice $B$ e i vettori della base canonica. Il primo conto ha dato 0: è il numero di $B$ nella riga 2 e nella colonna 1. Il secondo conto ha dato 1: è il numero nella riga 1 e nella colonna 2. I due conti «pescano» due numeri della matrice che sono uno lo specchio dell'altro. Quindi i due conti coincidono quando i numeri a specchio coincidono. Se succede per tutte le coppie di posti, la matrice è simmetrica. Con i numeri complessi il secondo conto pesca il numero **coniugato**, e «simmetrica» diventa «hermitiana». > [!DIM] Proposizione 25.6 > Chiamiamo $v_1, \dots, v_n$ i vettori della base ortonormale $\mathcal B$. > > 1. **Basta controllare i vettori della base.** Ogni vettore è una ricetta fatta con i vettori della base. Il prodotto rispetta somme e multipli: è bilineare nel caso reale, sesquilineare nel caso complesso. Quindi, se l'uguaglianza della Definizione 25.5 vale quando $v$ e $w$ sono due vettori della base, vale per tutti i vettori. > 2. **In una base ortonormale la tabella dei prodotti è la matrice identità.** Infatti $\langle v_i, v_j \rangle$ vale 1 se $i = j$ e vale 0 altrimenti. La matrice identità $I_n$ ha 1 sulla diagonale e 0 negli altri posti. Quindi $\langle v, w \rangle = {}^t[v]_{\mathcal B} \cdot I_n \cdot \overline{[w]_{\mathcal B}}$. > 3. **Primo conto.** Le coordinate di $T(v_i)$ sono la colonna numero $i$ di $A$, che le dispense scrivono $A^i$. Le coordinate di $v_j$ sono il vettore $e_j$ della base canonica. Quindi > $$\langle T(v_i), v_j \rangle = {}^t A^i\, e_j = A_{ji},$$ > cioè il numero al posto $j$ della colonna $i$. > 4. **Secondo conto.** Le coordinate di $v_i$ sono $e_i$. Le coordinate di $T(v_j)$ sono la colonna $A^j$, che va coniugata perché sta al secondo posto: > $$\langle v_i, T(v_j) \rangle = {}^t e_i\, \overline{A^j} = \overline{A_{ij}}.$$ > 5. **Conclusione.** $T$ è autoaggiunto esattamente quando $A_{ji} = \overline{A_{ij}}$ per ogni $i, j$, cioè quando $A$ è hermitiana. Nel caso reale il conto è lo stesso senza i coniugati: la condizione diventa $A_{ji} = A_{ij}$, cioè $A$ simmetrica. Se come base si prende la base canonica di $\R^n$ o di $\C^n$, che è ortonormale per il prodotto euclideo, si ottiene il criterio che si usa nel quiz. > [!COROLLARIO] 25.7 > Sia $A$ una matrice $n \times n$. L'endomorfismo $L_A \colon \C^n \to \C^n$ è autoaggiunto rispetto al prodotto hermitiano euclideo di $\C^n$ se e solo se la matrice $A$ è hermitiana. Analogamente, se $A$ è reale, l'endomorfismo $L_A \colon \R^n \to \R^n$ è autoaggiunto rispetto al prodotto scalare euclideo di $\R^n$ se e solo se la matrice $A$ è simmetrica. **Come si legge.** - Una matrice $n \times n$ («enne per enne») ha $n$ righe e $n$ colonne. $L_A$ è la macchina «moltiplica per $A$». - «Autoaggiunto rispetto al prodotto hermitiano euclideo» vuol dire: nella Definizione 25.5 il prodotto che si usa è quello euclideo. - In pratica: per sapere se la macchina è autoaggiunta guardi solo la matrice. Con i numeri complessi deve essere hermitiana. Con i numeri reali deve essere simmetrica. > [!METODO] Un'applicazione data con una formula è autoaggiunta? > 1. Scrivi la matrice nella base canonica. Per $T(x, y) = (ax + by,\ cx + dy)$ la matrice è $\begin{pmatrix} a & b \\ c & d \end{pmatrix}$: ogni **riga** contiene i numeri di una **componente** del risultato. > 2. Se i numeri sono reali: l'applicazione è autoaggiunta esattamente quando la matrice è **simmetrica**. Qui vuol dire $b = c$. > 3. Se i numeri sono complessi: è autoaggiunta esattamente quando la matrice è **hermitiana**. Qui vuol dire $a$ e $d$ reali, e $c$ uguale al coniugato di $b$. Una **componente** è uno dei numeri del vettore che esce: la prima componente è il primo numero, la seconda è il secondo. > [!ESEMPIO] Tre applicazioni di $\C^2$ > **Prima applicazione:** $T(x, y) = \big(x + (1 - i)y,\ (1 + i)x + 2y\big)$. > > 1. Nella prima componente i numeri davanti a $x$ e a $y$ sono $1$ e $1 - i$: è la prima riga. Nella seconda componente sono $1 + i$ e $2$: è la seconda riga. > 2. La matrice è $\begin{pmatrix} 1 & 1 - i \\ 1 + i & 2 \end{pmatrix}$. > 3. La diagonale è reale. Il coniugato di $1 + i$ è $1 - i$: gli specchi sono coniugati. > > La matrice è hermitiana, quindi $T$ è autoaggiunto. > > **Seconda applicazione:** $T(x, y) = (ix,\ y)$. > > 1. La matrice è $\begin{pmatrix} i & 0 \\ 0 & 1 \end{pmatrix}$. > 2. Sulla diagonale c'è $i$, che non è reale. > > La matrice non è hermitiana, quindi $T$ non è autoaggiunto. Controllo con la definizione, prendendo $v = w = e_1$. Primo conto: $T(e_1) = (i, 0)$, e $\langle (i, 0), (1, 0) \rangle = i$. Secondo conto: $\langle (1, 0), (i, 0) \rangle = 1 \cdot (-i) = -i$. I due conti danno numeri diversi. > > **Terza applicazione:** $T(x, y) = (x + iy,\ ix + y)$. > > 1. La matrice è $\begin{pmatrix} 1 & i \\ i & 1 \end{pmatrix}$. > 2. È simmetrica. Ma il coniugato di $i$ è $-i$, e in basso a sinistra c'è $i$. > > La matrice **non** è hermitiana, quindi $T$ non è autoaggiunto. Con i numeri complessi «simmetrica» non basta. > [!OSSERVAZIONE] Il doppio ruolo delle matrici hermitiane (p. 132) > In questa lezione le matrici hermitiane (simmetriche, nel caso reale) fanno due mestieri diversi. > > - Rappresentano un **prodotto** hermitiano o scalare: una regola che prende due vettori e restituisce un numero. > - Rappresentano un **endomorfismo** autoaggiunto in una base ortonormale: una macchina che prende un vettore e restituisce un vettore. > > Sono due oggetti diversi, scritti con lo stesso tipo di tabella. Non vanno confusi. ### Perché serve una base ortonormale La Proposizione 25.6 vale solo se la base è ortonormale. Le dispense lo mostrano con un esempio: la stessa macchina scritta in tre basi diverse. Per cambiare base serve la formula della lezione L16. > [!RIPASSO] la matrice di una macchina in un'altra base (lezioni L10 e L16) > Hai una macchina con matrice $A$ nella base canonica, e vuoi la sua matrice in un'altra base. > > 1. Metti i vettori della nuova base in colonna, uno accanto all'altro. La matrice che ottieni si chiama $M$. > 2. Calcola l'**inversa** di $M$, che si scrive $M^{-1}$ e si legge «emme alla meno uno». È la matrice che, moltiplicata per $M$, dà la matrice identità. > 3. La matrice della macchina nella nuova base è il prodotto $M^{-1} A M$. > > Per una matrice con due righe e due colonne l'inversa si scrive subito. Prima calcoli il **determinante**: il prodotto dei due numeri sulla diagonale, meno il prodotto degli altri due. Poi scambi i due numeri sulla diagonale, cambi segno agli altri due e dividi tutto per il determinante. > $$\det \begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc \qquad\qquad \begin{pmatrix} a & b \\ c & d \end{pmatrix}^{-1} = \frac{1}{ad - bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$$ > > Il prodotto di due matrici si fa riga per colonna. Il numero nella riga 1 e nella colonna 2 del risultato è la riga 1 della prima matrice per la colonna 2 della seconda. > [!ESEMPIO] 25.8 > Prendiamo $\R^2$ con il prodotto scalare euclideo e l'endomorfismo $L_A$ della matrice > $$A = \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix}.$$ > $L_A$ è autoaggiunto, perché la matrice $A$ è simmetrica e stiamo usando la base canonica, che è ortonormale. > > **Un'altra base ortonormale.** Scriviamo $L_A$ nella base $\mathcal B = \left\{ \begin{pmatrix} 0 \\ 1 \end{pmatrix}, \begin{pmatrix} -1 \\ 0 \end{pmatrix} \right\}$. È ortonormale: i due vettori sono lunghi 1 e il loro prodotto scalare è $0 \cdot (-1) + 1 \cdot 0 = 0$. > > 1. I vettori della base in colonna: $M = \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix}$. > 2. Il determinante: $0 \cdot 0 - (-1) \cdot 1 = 1$. > 3. L'inversa. Scambio i numeri sulla diagonale (sono due zeri), cambio segno agli altri due e divido per 1: $M^{-1} = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}$. > 4. Il primo prodotto, riga per colonna: > $$M^{-1} A = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix} \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 0 \cdot 2 + 1 \cdot 1 & 0 \cdot 1 + 1 \cdot 1 \\ -1 \cdot 2 + 0 \cdot 1 & -1 \cdot 1 + 0 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ -2 & -1 \end{pmatrix}.$$ > 5. Il secondo prodotto: > $$(M^{-1} A)\, M = \begin{pmatrix} 1 & 1 \\ -2 & -1 \end{pmatrix} \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 \cdot 0 + 1 \cdot 1 & 1 \cdot (-1) + 1 \cdot 0 \\ -2 \cdot 0 - 1 \cdot 1 & -2 \cdot (-1) - 1 \cdot 0 \end{pmatrix} = \begin{pmatrix} 1 & -1 \\ -1 & 2 \end{pmatrix}.$$ > > Le dispense chiamano $A'$ questa nuova matrice. È ancora simmetrica: fuori dalla diagonale c'è $-1$ in tutti e due i posti. Questo è coerente con la Proposizione 25.6. > > **Una base non ortonormale.** Ora scriviamo $L_A$ nella base $\mathcal B = \left\{ \begin{pmatrix} -1 \\ 1 \end{pmatrix}, \begin{pmatrix} 1 \\ 0 \end{pmatrix} \right\}$. Non è ortonormale: il prodotto scalare dei due vettori è $-1 \cdot 1 + 1 \cdot 0 = -1$, non 0. > > 1. I vettori della base in colonna: $M = \begin{pmatrix} -1 & 1 \\ 1 & 0 \end{pmatrix}$. > 2. Il determinante: $-1 \cdot 0 - 1 \cdot 1 = -1$. > 3. L'inversa. Scambio i numeri sulla diagonale, cambio segno agli altri due e divido per $-1$: > $$M^{-1} = \frac{1}{-1} \begin{pmatrix} 0 & -1 \\ -1 & -1 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix}.$$ > 4. Il primo prodotto: > $$M^{-1} A = \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} 2 & 1 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 0 \cdot 2 + 1 \cdot 1 & 0 \cdot 1 + 1 \cdot 1 \\ 1 \cdot 2 + 1 \cdot 1 & 1 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 1 & 1 \\ 3 & 2 \end{pmatrix}.$$ > 5. Il secondo prodotto: > $$(M^{-1} A)\, M = \begin{pmatrix} 1 & 1 \\ 3 & 2 \end{pmatrix} \begin{pmatrix} -1 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 \cdot (-1) + 1 \cdot 1 & 1 \cdot 1 + 1 \cdot 0 \\ 3 \cdot (-1) + 2 \cdot 1 & 3 \cdot 1 + 2 \cdot 0 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ -1 & 3 \end{pmatrix}.$$ > > Questa matrice **non** è simmetrica: fuori dalla diagonale ci sono $1$ e $-1$. La macchina è sempre la stessa, ed è autoaggiunta: la definizione parla di vettori e di prodotti, non di basi. È la **matrice** che, scritta in una base non ortonormale, perde la simmetria. > [!TRAPPOLA] «La matrice non è simmetrica, quindi $T$ non è autoaggiunto» > Questa conclusione è giusta solo se la base è **ortonormale**. Nel quiz le applicazioni sono quasi sempre date con una formula nelle coordinate canoniche. La base canonica è ortonormale, quindi lì il criterio del Corollario 25.7 si usa senza problemi. ::: prova L'applicazione $T(x, y) = (x + 3y,\ 3x - 2y)$ di $\R^2$ è autoaggiunta rispetto al prodotto scalare euclideo? La matrice ha una riga per ogni componente: $\begin{pmatrix} 1 & 3 \\ 3 & -2 \end{pmatrix}$. Fuori dalla diagonale c'è 3 in tutti e due i posti: la matrice è simmetrica. Quindi sì, l'applicazione è autoaggiunta. ::: ::: prova L'applicazione $T(x, y) = (x + 2i\,y,\ -2i\,x + y)$ di $\C^2$ è autoaggiunta rispetto al prodotto hermitiano euclideo? La matrice è $\begin{pmatrix} 1 & 2i \\ -2i & 1 \end{pmatrix}$. Con i numeri complessi deve essere hermitiana. La diagonale è reale. Il coniugato di $-2i$ è $2i$, che è il numero in alto a destra. Quindi sì, è autoaggiunta. ::: > [!RICORDA] > - $T$ è **autoaggiunto** quando $\langle T(v), w \rangle = \langle v, T(w) \rangle$ per ogni coppia di vettori: la macchina si sposta da un posto all'altro del prodotto. > - In una base **ortonormale**: autoaggiunto vuol dire matrice simmetrica (numeri reali) o hermitiana (numeri complessi). > - Per un'applicazione data con una formula: scrivi la matrice, una riga per ogni componente, e guardala. > - In una base non ortonormale la matrice di una macchina autoaggiunta può non essere simmetrica. ## Stanze da cui non si esce: sottospazi invarianti (p. 133) Un sottospazio è una stanza dentro lo spazio: una retta o un piano che passano per il punto di partenza (lezione L06). Questa sezione parla delle stanze speciali per una macchina: quelle da cui la macchina non fa uscire nessun vettore. A che cosa serve: è l'idea che fa funzionare la dimostrazione del teorema spettrale (lezione L26). In questa sezione lo spazio $V$ e la macchina $T$ sono come nella sezione precedente. ### Una retta che resta al suo posto Prendiamo questa matrice, che è simmetrica: $$A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$$ E prendiamo la retta di tutti i multipli del vettore $(1, 1)$: i vettori $(1, 1)$, $(2, 2)$, $(-1, -1)$, $(5, 5)$ e così via. Questa retta si scrive $\Span((1, 1))$. Ricorda (lezione L06): lo Span di un vettore è l'insieme di tutti i suoi multipli. Passiamo nella macchina qualche vettore della retta. | Entra | Conto | Esce | È ancora sulla retta? | |---|---|---|---| | $(1, 1)$ | $(2 \cdot 1 + 1 \cdot 1,\ 1 \cdot 1 + 2 \cdot 1)$ | $(3, 3)$ | sì: è 3 volte $(1, 1)$ | | $(2, 2)$ | $(2 \cdot 2 + 1 \cdot 2,\ 1 \cdot 2 + 2 \cdot 2)$ | $(6, 6)$ | sì: è 6 volte $(1, 1)$ | | $(-1, -1)$ | $(-2 - 1,\ -1 - 2)$ | $(-3, -3)$ | sì | Ogni vettore della retta esce moltiplicato per 3, quindi resta sulla retta. La macchina sposta i vettori **lungo** la retta, ma non li porta mai fuori. Una stanza così si chiama **invariante**. Non tutte le rette sono così. Prendi la retta dei multipli di $(1, 0)$. Entra $(1, 0)$ ed esce la prima colonna della matrice, cioè $(2, 1)$. Questo vettore non è un multiplo di $(1, 0)$: è uscito dalla retta. Quella retta non è invariante. Le dispense lo scrivono così. > [!DEF] 25.9 · Sottospazio invariante > Sia $T \colon V \to V$ un endomorfismo. Un sottospazio $U \subseteq V$ è **$T$-invariante** se $T(U) \subseteq U$, cioè se $T$ manda gli elementi di $U$ in $U$. **Come si legge.** - Il simbolo $\subseteq$ si legge «è contenuto in». $U \subseteq V$ dice che la stanza $U$ sta dentro lo spazio $V$. - $T(U)$ è l'insieme di tutti i vettori che escono dalla macchina quando entrano i vettori di $U$. - $T(U) \subseteq U$ dice: tutto quello che esce, partendo da $U$, sta ancora in $U$. - «$T$-invariante» si legge «ti invariante»: invariante per la macchina $T$. La stessa stanza può essere invariante per una macchina e non per un'altra. Tre esempi che conosci già. - La stanza che contiene solo il vettore zero e la stanza grande quanto tutto lo spazio sono sempre invarianti. - Ricorda (lezione L17): un **autovettore** è un vettore $v$, diverso da zero, che la macchina manda in un suo multiplo. Si scrive $T(v) = \lambda v$, e il numero $\lambda$ si chiama autovalore. Allora la retta dei multipli di $v$ è invariante. Nell'esempio, $(1, 1)$ è un autovettore con autovalore 3. - Ogni **autospazio**, cioè l'insieme degli autovettori di uno stesso autovalore più il vettore zero, è invariante. Oltre le dispense: lo sono anche il nucleo e l'immagine della macchina (lezione L14). ### La stanza perpendicolare Torniamo alla retta $U$ dei multipli di $(1, 1)$. Chi sono i vettori perpendicolari a tutta la retta? Il vettore $(1, -1)$ lo è: $$\langle (1, -1), (1, 1) \rangle = 1 \cdot 1 + (-1) \cdot 1 = 0$$ Lo spazio ortogonale $U^\perp$ è la retta dei multipli di $(1, -1)$. Passiamo nella macchina anche questo vettore: $$A \begin{pmatrix} 1 \\ -1 \end{pmatrix} = \begin{pmatrix} 2 \cdot 1 + 1 \cdot (-1) \\ 1 \cdot 1 + 2 \cdot (-1) \end{pmatrix} = \begin{pmatrix} 1 \\ -1 \end{pmatrix}$$ Esce lo stesso vettore: resta sulla sua retta. Quindi anche la retta perpendicolare è invariante. Guarda la figura. Le due rette tratteggiate sono le due stanze invarianti, e sono perpendicolari. Il vettore $(1, 0)$, in grigio, esce invece dalla sua retta: finisce in $(2, 1)$. ```grafico titolo: La macchina di $A$ lascia al loro posto due rette perpendicolari. Il vettore $(1, 0)$ invece esce dalla sua retta x: -4 4 y: -4 4 retta: 0 0 1 1 | verde | tratteggio retta: 0 0 1 -1 | viola | tratteggio vettore: 3 3 | verde | sottile | $A(1, 1) = (3, 3)$ | so vettore: 1 1 | verde | spesso | $(1, 1)$ | no vettore: 1 -1 | viola | spesso | $(1, -1) = A(1, -1)$ | se vettore: 1 0 | grigio | $(1, 0)$ | s vettore: 2 1 | ambra | $A(1, 0) = (2, 1)$ | e ``` Non è un caso. Succede perché la matrice è simmetrica, cioè perché la macchina è autoaggiunta. > [!PROP] 25.10 > Sia $T \colon V \to V$ un endomorfismo autoaggiunto e $U \subseteq V$ un sottospazio. Se $T(U) \subseteq U$, allora $T(U^\perp) \subseteq U^\perp$. In altre parole, se $U$ è $T$-invariante allora anche $U^\perp$ è $T$-invariante. **Come si legge.** $U^\perp$ è la stanza di tutti i vettori perpendicolari a ogni vettore di $U$. La proposizione dice: se una macchina autoaggiunta non fa uscire nessun vettore dalla stanza $U$, allora non fa uscire nessun vettore nemmeno dalla stanza perpendicolare. Perché è vero? Il trucco è spostare la macchina. Fai il prodotto tra un vettore perpendicolare alla stanza, passato nella macchina, e un vettore della stanza. Sposti la macchina sul secondo vettore, che resta nella stanza. E il prodotto tra un vettore perpendicolare alla stanza e uno della stanza fa 0. > [!DIM] Proposizione 25.10 > 1. Prendo un vettore qualsiasi $v$ di $U^\perp$. Devo mostrare che anche $T(v)$ sta in $U^\perp$, cioè che $T(v)$ è ortogonale a ogni vettore $u$ di $U$. > 2. Prendo un vettore $u$ di $U$. Siccome $T$ è autoaggiunto, sposto la macchina sull'altro vettore: $\langle T(v), u \rangle = \langle v, T(u) \rangle$. > 3. $U$ è invariante, quindi $T(u)$ sta ancora in $U$. E $v$ è ortogonale a tutti i vettori di $U$. Quindi $\langle v, T(u) \rangle = 0$. > 4. Allora $\langle T(v), u \rangle = 0$ per ogni $u$ di $U$. Cioè $T(v)$ sta in $U^\perp$. Senza l'ipotesi «autoaggiunto» la proposizione è falsa. Ecco un esempio. > [!ESEMPIO] Una macchina non autoaggiunta > Prendiamo la matrice $B = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$, che non è simmetrica. > > 1. La retta $U$ dei multipli di $e_1 = (1, 0)$ è invariante: $B e_1$ è la prima colonna, cioè $(1, 0)$, che è $e_1$ stesso. > 2. La retta perpendicolare $U^\perp$ è quella dei multipli di $e_2 = (0, 1)$. > 3. $B e_2$ è la seconda colonna, cioè $(1, 1)$. Non è un multiplo di $(0, 1)$: è uscito dalla retta. > > Quindi $U$ è invariante ma $U^\perp$ no. > [!IDEA] A che cosa serve > È il motore della dimostrazione del teorema spettrale (lezione L26). Trovi un autovettore di una macchina autoaggiunta. La retta dei suoi multipli è invariante, quindi lo è anche tutto lo spazio perpendicolare a quella retta. Allora la macchina si può guardare solo lì dentro, in uno spazio con una dimensione in meno, e si ricomincia. Un passo dopo l'altro si costruisce una base ortonormale fatta di autovettori. Con lo strumento qui sotto puoi vedere le due rette dell'esempio. ```widget matrice titolo: Una matrice simmetrica: le rette di autovettori sono invarianti e perpendicolari a: 2 1; 1 2 x: 1 1 ``` Che cosa provare. 1. Lo strumento disegna le due rette di autovettori della matrice $A$. Sono la retta dei multipli di $(1, 1)$, con autovalore 3, e la retta dei multipli di $(1, -1)$, con autovalore 1. Sono **perpendicolari**. 2. Trascina il vettore $x$ lungo una delle due rette. Il vettore $A x$ resta sulla stessa retta: la retta è invariante. 3. Porta $x$ fuori dalle due rette. Adesso $A x$ punta in un'altra direzione. 4. Premi il pulsante «taglio». Carica la matrice $B$ dell'esempio qui sopra. La riga orizzontale resta invariante, ma quella verticale no. > [!OLTRE] Dove trovarlo nel libro > Nel libro di Martelli i prodotti hermitiani sono nel §11.1 (pp. 347–350): definizione 11.1.1, definito positivo 11.1.3, prodotto hermitiano euclideo e matrici hermitiane nei §11.1.3–11.1.4, un esempio con gli integrali di funzioni complesse nel §11.1.5, matrice associata nel §11.1.6. > > Gli endomorfismi autoaggiunti e i sottospazi invarianti sono nel §11.2 (pp. 350–352). Le corrispondenze con le dispense: la Proposizione 11.2.1 è la 25.6, il Corollario 11.2.2 è il 25.7, l'Esempio 11.2.3 è il 25.8, la Proposizione 11.2.5 è la 25.10. ::: prova Prendi la matrice $\begin{pmatrix} 3 & 0 \\ 0 & 5 \end{pmatrix}$. La retta dei multipli di $(1, 0)$ è invariante? E quella dei multipli di $(1, 1)$? Entra $(1, 0)$ ed esce la prima colonna, $(3, 0)$. È 3 volte $(1, 0)$: resta sulla retta. La prima retta è invariante. Entra $(1, 1)$ ed esce $(3 \cdot 1 + 0 \cdot 1,\ 0 \cdot 1 + 5 \cdot 1) = (3, 5)$. Non è un multiplo di $(1, 1)$, perché i due numeri sono diversi. La seconda retta non è invariante. ::: ::: prova Una macchina autoaggiunta di $\R^3$ ha come stanza invariante un piano che passa per il punto di partenza. Che cosa puoi dire della retta perpendicolare al piano? Per la Proposizione 25.10 anche la retta perpendicolare è invariante. In più: un vettore della retta, passando nella macchina, resta sulla retta. Quindi diventa un multiplo di sé stesso. Ogni vettore della retta, diverso da zero, è un autovettore. ::: > [!RICORDA] > - Un sottospazio $U$ è **invariante** per la macchina $T$ quando $T$ manda i vettori di $U$ ancora dentro $U$. > - La retta dei multipli di un autovettore è sempre invariante. > - Se $T$ è **autoaggiunto** e $U$ è invariante, anche $U^\perp$ è invariante. Senza «autoaggiunto» non è vero. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | $i$ | «i» | il numero per cui $i \cdot i = -1$ | $i^2 = -1$ | | $a + bi$ | «a più b i» | un numero complesso: parte reale $a$, parte immaginaria $b$ | $3 + 2i$ | | $\R$, $\C$ | «erre», «ci» | l'insieme dei numeri reali, l'insieme dei numeri complessi | $5 \in \R$, $2i \in \C$ | | $\in$ | «appartiene a» | sta dentro l'insieme | $(1, i) \in \C^2$ | | $\C^n$ | «ci alla enne» | le liste di $n$ numeri complessi | $(1, i)$ sta in $\C^2$ | | $x_1, x_2$ | «ics uno», «ics due» | il primo e il secondo numero del vettore $x$ | per $x = (1, i)$: $x_1 = 1$, $x_2 = i$ | | $\bar z$ | «zeta coniugato» | il numero $z$ con il segno cambiato davanti alla $i$ | $\overline{3 + 2i} = 3 - 2i$ | | $\lvert z \rvert$ | «modulo di zeta» | la distanza del numero dal punto di partenza | $\lvert 3 + 4i \rvert = 5$ | | $\bar x$, $\bar A$ | «ics coniugato», «a coniugata» | il vettore o la matrice con tutti i numeri coniugati | se $x = (1, i)$, allora $\bar x = (1, -i)$ | | ${}^t x$, ${}^t A$ | «ics trasposto», «a trasposta» | righe e colonne scambiate; un vettore in colonna diventa una riga | ${}^t \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 1 & 3 \\ 2 & 4 \end{pmatrix}$ | | $\langle v, w \rangle$ | «prodotto di vi e vu doppia» | il numero che il prodotto ricava da due vettori | $\langle (1, i), (2,\ 1 + i) \rangle = 3 + i$ | | $\lVert v \rVert$ | «norma di vi» | la lunghezza del vettore | $\lVert (1, i) \rVert = \sqrt 2$ | | $v \neq 0$ | «vi diverso da zero» | $v$ non è il vettore fatto di soli zeri | $(1, i) \neq 0$ | | $\lambda$, $\mu$ | «lambda», «mi» | lettere greche: indicano numeri | $\lambda = 2i$ | | $v'$ | «vi primo» | il nome di un altro vettore | $x' = (1, 0)$ | | $V \times V$ | «vi per vi» | le coppie di vettori di $V$ | $(v, w)$ | | $\longrightarrow$, $\longmapsto$ | «va in», «viene mandato in» | dicono che cosa entra e che cosa esce | $(v, w) \longmapsto \langle v, w \rangle$ | | $M(m, n, \C)$ | «emme di emme, enne, ci» | le matrici con $m$ righe e $n$ colonne fatte di numeri complessi | una matrice con 2 righe e 2 colonne sta in $M(2, 2, \C)$ | | $H_{ij}$ | «acca i j» | il numero della matrice $H$ nella riga $i$ e nella colonna $j$ | $H_{12}$: riga 1, colonna 2 | | $g_H$ | «gi acca» | il prodotto hermitiano fabbricato dalla matrice $H$ | $g_H(x, y) = {}^t x\, H\, \bar y$ | | $e_1, \dots, e_n$ | «e uno, …, e enne» | la base canonica: un 1 in un posto e 0 negli altri | in $\C^2$: $e_1 = (1, 0)$, $e_2 = (0, 1)$ | | $\mathcal B$ | «bi» | il nome di una base | $\mathcal B = \{v_1, \dots, v_n\}$ | | $[v]_{\mathcal B}$ | «coordinate di vi nella base bi» | le quantità della ricetta che dà $v$ con i vettori della base | $[b_1 + b_2]_{\mathcal B} = (1, 1)$ | | $T \colon V \to V$ | «ti da vi a vi» | una macchina (endomorfismo) che prende e restituisce vettori di $V$ | $T(x, y) = (2x + y,\ x + y)$ | | $T(v)$ | «ti di vi» | il vettore che esce quando entra $v$ | | | $L_A$ | «elle a» | la macchina «moltiplica per la matrice $A$» | $L_A(v) = A v$ | | $[T]^{\mathcal B}_{\mathcal B}$ | «matrice di ti nella base bi» | la macchina $T$ scritta con i numeri, nella base $\mathcal B$ | | | $I$, $I_n$ | «identità» | la matrice con 1 sulla diagonale e 0 negli altri posti | $I_2 = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$ | | $M^{-1}$ | «emme alla meno uno» | l'inversa: moltiplicata per $M$ dà l'identità | | | $\det$ | «determinante» | per una matrice con due righe e due colonne: $ad - bc$ | $\det \begin{pmatrix} 0 & -1 \\ 1 & 0 \end{pmatrix} = 1$ | | $\Span(v)$ | «span di vi» | tutti i multipli del vettore $v$ | $\Span((1, 1))$ contiene $(2, 2)$ | | $U \subseteq V$ | «u è contenuto in vi» | la stanza $U$ sta dentro lo spazio $V$ | | | $T(U)$ | «ti di u» | tutti i vettori che escono quando entrano i vettori di $U$ | | | $U^\perp$ | «u ortogonale» | tutti i vettori ortogonali a ogni vettore di $U$ | se $U = \Span((1, 1))$, allora $U^\perp = \Span((1, -1))$ | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione compare negli appelli.** Solo domande del quiz, ma frequenti: ce n'è una in 9 dei 15 appelli dal 2024 al 2026. Sono punti alla portata, se conosci il metodo. Le domande sono di tre tipi. - **«Quale delle seguenti è un prodotto hermitiano su $\C^2$?»** Appelli del 24/01/2024 (domanda 4), 16/01/2025 (domanda 9), 07/02/2025 (domanda 6), 02/09/2025 (domanda 7), 15/01/2026 (domanda 2). Le cinque formule cambiano nei coefficienti e nelle lineette del coniugato. - **«Quale matrice è (o non è) hermitiana?»** Appelli del 10/06/2024 (domanda 9) e del 10/07/2024 (domanda 10). - **«Quale applicazione è (o non è) autoaggiunta?»** Appelli del 08/02/2024 (domanda 9, su $\C^2$) e del 03/06/2026 (domanda 9, su $\R^2$). In tutti e tre i casi si finisce a guardare una matrice. > [!METODO] Le tre domande tipiche > 1. **Una formula è un prodotto hermitiano?** Controlla le lineette sui numeri di $y$. Scrivi la matrice dei coefficienti: riga = numerino di $x$, colonna = numerino di $\bar y$. Controlla che sia hermitiana. > 2. **Una matrice è hermitiana?** Guarda la diagonale: deve essere reale. Guarda gli specchi: devono essere coniugati. > 3. **Un'applicazione è autoaggiunta?** Scrivi la matrice, una riga per ogni componente. Con i numeri reali deve essere simmetrica. Con i numeri complessi deve essere hermitiana. ### Una domanda vera, letta insieme **Appello del 15/01/2026, domanda 2.** Il testo: «Scriviamo $x = (x_1, x_2)$, $y = (y_1, y_2) \in \C^2$. Quale delle seguenti è un prodotto hermitiano?». Le cinque risposte: | Risposta | Formula | |---|---| | (a) | $x_1 \bar y_1 + 3i x_1 \bar y_2 + 2i x_2 \bar y_1 + x_2 \bar y_2$ | | (b) | $x_1 y_1 + 2i x_1 y_2 - 2i x_2 y_1 + 2 x_2 y_2$ | | (c) | $3i x_1 \bar y_1 + 2 x_1 \bar y_2 + 2 x_2 \bar y_1 + x_2 \bar y_2$ | | (d) | $x_1 \bar y_1 + 2 x_1 \bar y_2 - 2 x_2 \bar y_1 + 2 x_2 \bar y_2$ | | (e) | $3 x_1 \bar y_1 + i x_1 \bar y_2 - i x_2 \bar y_1 - x_2 \bar y_2$ | **In pratica chiede:** hai due vettori di due numeri complessi e cinque ricette per ricavarne un numero. Quale ricetta rispetta le tre regole del prodotto hermitiano? Non serve controllare le regole una per una: basta il metodo della matrice. > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: le lineette.** Nella (b) i numeri di $y$ non sono coniugati. Si scarta. > > **Passo 2: le matrici.** Per ogni formula rimasta scrivo i coefficienti in una tabella. La riga è il numerino di $x$, la colonna è il numerino di $\bar y$. > > | Risposta | Matrice | Diagonale reale? | Specchi coniugati? | Hermitiana? | > |---|---|---|---|---| > | (a) | $\begin{pmatrix} 1 & 3i \\ 2i & 1 \end{pmatrix}$ | sì | no: il coniugato di $2i$ è $-2i$, non $3i$ | no | > | (c) | $\begin{pmatrix} 3i & 2 \\ 2 & 1 \end{pmatrix}$ | no: c'è $3i$ | sì | no | > | (d) | $\begin{pmatrix} 1 & 2 \\ -2 & 2 \end{pmatrix}$ | sì | no: il coniugato di $-2$ è $-2$, non $2$ | no | > | (e) | $\begin{pmatrix} 3 & i \\ -i & -1 \end{pmatrix}$ | sì | sì: il coniugato di $-i$ è $i$ | **sì** | > > **Passo 3: la risposta.** È la (e). > > **La tentazione.** La (e) ha $-1$ sulla diagonale, quindi non è definita positiva: con il vettore $e_2 = (0, 1)$ dà $-1$. Viene voglia di scartarla. Ma la domanda chiede solo «prodotto hermitiano», e la Definizione 25.1 non chiede che il prodotto sia positivo. ### Altre due domande vere > [!ESAME] Appello del 03/06/2026, domanda 9 > *Quale delle seguenti applicazioni lineari $T \colon \R^2 \to \R^2$ è autoaggiunta rispetto al prodotto scalare euclideo? (a) $T(x, y) = (2x - y, -x + y)$; (b) $T(x, y) = (x - y, x + y)$; (c) $T(x, y) = (x, x)$; (d) $T(x, y) = (-x + y, 2x - y)$; (e) $T(x, y) = (x + y, y)$.* > > **Soluzione.** Per il Corollario 25.7 basta scrivere le matrici, una riga per componente, e cercare quella simmetrica. > > | Risposta | Matrice | Numeri fuori dalla diagonale | Simmetrica? | > |---|---|---|---| > | (a) | $\begin{pmatrix} 2 & -1 \\ -1 & 1 \end{pmatrix}$ | $-1$ e $-1$ | **sì** | > | (b) | $\begin{pmatrix} 1 & -1 \\ 1 & 1 \end{pmatrix}$ | $-1$ e $1$ | no | > | (c) | $\begin{pmatrix} 1 & 0 \\ 1 & 0 \end{pmatrix}$ | $0$ e $1$ | no | > | (d) | $\begin{pmatrix} -1 & 1 \\ 2 & -1 \end{pmatrix}$ | $1$ e $2$ | no | > | (e) | $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ | $1$ e $0$ | no | > > La risposta è la (a). Attenzione alla (c): la seconda componente è $x$, cioè $1 \cdot x + 0 \cdot y$, quindi la seconda riga è $1$ e $0$. > [!ESAME] Appello del 10/06/2024, domanda 9 > *Quale delle seguenti matrici **non** è hermitiana?* > > **Soluzione.** Si comincia dalla diagonale, che è il controllo più veloce. > > | Risposta | Matrice | Controllo | > |---|---|---| > | (a) | $\begin{pmatrix} \sqrt 2 & -2i \\ 2i & 3 \end{pmatrix}$ | diagonale reale; il coniugato di $2i$ è $-2i$: hermitiana | > | (b) | $\begin{pmatrix} 1 & 0 & i \\ 0 & -1 & -2i \\ -i & 2i & 0 \end{pmatrix}$ | diagonale reale; il coniugato di $-i$ è $i$ e quello di $2i$ è $-2i$: hermitiana | > | (c) | $\begin{pmatrix} 0 & 0 \\ 0 & \sqrt 7 \end{pmatrix}$ | reale e simmetrica: hermitiana | > | (d) | $\begin{pmatrix} 2 & 1 - 2i \\ 1 + 2i & -2 \end{pmatrix}$ | diagonale reale; il coniugato di $1 + 2i$ è $1 - 2i$: hermitiana | > | (e) | $\begin{pmatrix} -2i & 3 \\ 3 & 2i \end{pmatrix}$ | sulla diagonale ci sono $-2i$ e $2i$, che non sono reali: **non** hermitiana | > > La risposta è la (e). Nota che $\sqrt 2$ e $\sqrt 7$ sono numeri reali: sulla diagonale vanno benissimo. > [!ESAME] Attenzione alle lineette > Negli appelli del 16/01/2025 e del 07/02/2025 le formule dei prodotti hermitiani sono stampate **senza** le lineette del coniugato, e le variabili si chiamano $(x_1, y_1)$ e $(x_2, y_2)$. Le soluzioni ufficiali ragionano lo stesso sulla **matrice dei coefficienti**: diagonale reale e coefficienti fuori dalla diagonale coniugati. Se ti capita un testo così, usa lo stesso criterio. **Errori da evitare.** - Dimenticare di controllare la **diagonale**: basta un coefficiente non reale sulla diagonale per escludere la matrice. - Coniugare cambiando il segno della parte **reale**. Il coniugato di $a + bi$ è $a - bi$: cambia solo il segno davanti alla $i$. - Credere che una matrice complessa **simmetrica** sia hermitiana. - Leggere la matrice di $T(x, y)$ per colonne invece che per righe: la prima **componente** dà la prima **riga**. - Pensare che «hermitiano» voglia dire anche «definito positivo». - Far uscire un numero dal secondo posto del prodotto senza coniugarlo. > [!ESAME] Il foglio da 4 facciate > Da questa lezione conviene copiare cinque righe. > > - Prodotto hermitiano: lineare nel primo posto; scambiando i vettori si coniuga; dal secondo posto i numeri escono coniugati; il prodotto di un vettore con sé stesso è reale. > - Prodotto euclideo: $\langle x, y \rangle = x_1 \bar y_1 + \dots + x_n \bar y_n$. > - Matrice hermitiana: ${}^t H = \bar H$, cioè diagonale reale e specchi coniugati. > - Formula e matrice: il coefficiente di $x_i \bar y_j$ è $H_{ij}$. > - Autoaggiunto vuol dire matrice hermitiana (simmetrica, con i numeri reali) **in una base ortonormale**. Se $U$ è invariante, anche $U^\perp$ lo è. ## Quiz ```quiz D: Scriviamo $x = (x_1, x_2)$, $y = (y_1, y_2) \in \C^2$. Quale delle seguenti è un prodotto hermitiano? + $x_1 \bar y_1 + (1 - i) x_1 \bar y_2 + (1 + i) x_2 \bar y_1 + 3 x_2 \bar y_2$ - $x_1 \bar y_1 + (1 - i) x_1 \bar y_2 + (1 - i) x_2 \bar y_1 + 3 x_2 \bar y_2$ - $i x_1 \bar y_1 + x_1 \bar y_2 + x_2 \bar y_1 + x_2 \bar y_2$ - $x_1 y_1 + (1 - i) x_1 y_2 + (1 + i) x_2 y_1 + 3 x_2 y_2$ - $x_1 \bar y_1 + 2 x_1 \bar y_2 - 2 x_2 \bar y_1 + x_2 \bar y_2$ = La domanda chiede quale formula rispetta le regole del prodotto hermitiano. Il metodo: controlla le lineette, scrivi la matrice dei coefficienti e guarda se è hermitiana. La prima formula ha matrice $\begin{pmatrix} 1 & 1 - i \\ 1 + i & 3 \end{pmatrix}$: la diagonale è reale e il coniugato di $1 + i$ è $1 - i$, quindi va bene. La risposta più insidiosa è la seconda: ha $1 - i$ in tutti e due i posti fuori dalla diagonale, cioè è simmetrica, ma il coniugato di $1 - i$ è $1 + i$. Nella terza c'è $i$ sulla diagonale. La quarta non ha le lineette. Nella quinta il coniugato di $-2$ è $-2$, non $2$. Domande così sono negli appelli del 24/01/2024, 16/01/2025, 07/02/2025, 02/09/2025 e 15/01/2026. D: Quale di queste matrici è hermitiana? + $\begin{pmatrix} 3 & 2 + i \\ 2 - i & 0 \end{pmatrix}$ - $\begin{pmatrix} 3 & 2 + i \\ 2 + i & 0 \end{pmatrix}$ - $\begin{pmatrix} i & 1 \\ 1 & i \end{pmatrix}$ - $\begin{pmatrix} 1 & i \\ i & 1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 1 + i \\ -1 + i & 2 \end{pmatrix}$ = Una matrice è hermitiana quando la diagonale è reale e ogni numero è il coniugato del suo specchio. Nella prima la diagonale è fatta da $3$ e $0$, e il coniugato di $2 - i$ è $2 + i$: va bene. Le risposte più insidiose sono la seconda e la quarta, perché sono simmetriche. Ma il coniugato di $2 + i$ è $2 - i$ e il coniugato di $i$ è $-i$: gli specchi non sono coniugati. La terza ha $i$ sulla diagonale. Nella quinta il coniugato di $-1 + i$ è $-1 - i$, non $1 + i$: è stato cambiato il segno della parte reale invece di quello davanti alla $i$. Domande così sono negli appelli del 10/06/2024 e del 10/07/2024. D: Con il prodotto hermitiano euclideo di $\C^2$, quanto vale $\langle (1, i), (i, 1) \rangle$? + $0$ - $2i$ - $-2i$ - $2$ - $1 + i$ = Si moltiplicano i numeri del primo vettore per i coniugati dei numeri del secondo, e poi si somma. I coniugati di $i$ e di $1$ sono $-i$ e $1$. Il conto è $1 \cdot (-i) + i \cdot 1 = -i + i = 0$: i due vettori sono ortogonali. La risposta più insidiosa è $2i$, quella che viene se dimentichi di coniugare: $1 \cdot i + i \cdot 1 = 2i$. D: Con il prodotto hermitiano euclideo di $\C^2$, quanto vale $\langle v, v \rangle$ per $v = (1 + i, 2i)$? N: 6 = Il prodotto di un vettore con sé stesso è la somma dei quadrati dei moduli dei suoi numeri. Il modulo di $1 + i$ al quadrato è $1 + 1 = 2$. Il modulo di $2i$ al quadrato è $2i \cdot (-2i) = 4$. La somma è $2 + 4 = 6$, e la norma di $v$ è $\sqrt 6$. Senza coniugare verrebbe $(1 + i)^2 + (2i)^2 = 2i - 4$, che non è nemmeno un numero reale. D: Sia $\langle\ ,\ \rangle$ un prodotto hermitiano su $V$ e $\lambda \in \C$. Quale uguaglianza vale per ogni $v, w \in V$? + $\langle v, \lambda w \rangle = \bar\lambda \langle v, w \rangle$ - $\langle v, \lambda w \rangle = \lambda \langle v, w \rangle$ - $\langle \lambda v, w \rangle = \bar\lambda \langle v, w \rangle$ - $\langle v, \lambda w \rangle = \lvert \lambda \rvert \langle v, w \rangle$ - $\langle v, \lambda w \rangle = \lambda \langle w, v \rangle$ = La domanda chiede come esce un numero dal prodotto. La regola: dal primo posto esce così com'è, dal secondo posto esce coniugato. La prima risposta è la proprietà (5). La risposta più insidiosa è la seconda: sarebbe giusta per un prodotto scalare tra vettori reali, ma qui il numero che esce dal secondo posto va coniugato. La terza mette il coniugato sul posto sbagliato. Un controllo con i numeri: se $v = w = (1, 0)$ e $\lambda = i$, il prodotto euclideo dà $\langle v, i w \rangle = 1 \cdot (-i) = -i$, cioè proprio $\bar\lambda$. D: In una matrice hermitiana gli elementi della diagonale sono: + sempre reali - sempre nulli - sempre immaginari puri - sempre positivi - numeri complessi qualsiasi = Sulla diagonale ogni numero è lo specchio di sé stesso. La condizione «ogni numero è il coniugato del suo specchio» dice allora che è uguale al suo coniugato, cioè che è reale. La risposta più insidiosa è «sempre positivi», ma è falsa: la matrice $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$ è hermitiana e ha $-1$ sulla diagonale. D: Quale di queste applicazioni $T \colon \R^2 \to \R^2$ è autoaggiunta rispetto al prodotto scalare euclideo? + $T(x, y) = (3x + 2y,\ 2x - y)$ - $T(x, y) = (3x + 2y,\ -2x - y)$ - $T(x, y) = (x + y,\ y)$ - $T(x, y) = (y,\ -x)$ - $T(x, y) = (2x,\ x + y)$ = Per il Corollario 25.7 basta scrivere la matrice nella base canonica, una riga per ogni componente, e controllare che sia simmetrica. La prima dà $\begin{pmatrix} 3 & 2 \\ 2 & -1 \end{pmatrix}$: fuori dalla diagonale c'è $2$ in tutti e due i posti, quindi è simmetrica. La risposta più insidiosa è la seconda: dà $\begin{pmatrix} 3 & 2 \\ -2 & -1 \end{pmatrix}$, con $2$ e $-2$, che sono diversi. Le altre danno $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$, poi $\begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix}$ (una rotazione), poi $\begin{pmatrix} 2 & 0 \\ 1 & 1 \end{pmatrix}$: nessuna è simmetrica. Una domanda così è nell'appello del 03/06/2026 (domanda 9). D: Quale di queste applicazioni $T \colon \C^2 \to \C^2$ **non** è autoaggiunta rispetto al prodotto hermitiano euclideo? + $T(x, y) = (x + iy,\ ix + y)$ - $T(x, y) = (x + iy,\ -ix + y)$ - $T(x, y) = (2x,\ 3y)$ - $T(x, y) = \big((1 + i)y,\ (1 - i)x\big)$ - $T(x, y) = (x + 2y,\ 2x)$ = Con i numeri complessi un'applicazione è autoaggiunta quando la sua matrice nella base canonica è hermitiana. La prima dà $\begin{pmatrix} 1 & i \\ i & 1 \end{pmatrix}$: è simmetrica, ma il coniugato di $i$ è $-i$, quindi non è hermitiana. È lei quella che non è autoaggiunta. Le altre matrici sono $\begin{pmatrix} 1 & i \\ -i & 1 \end{pmatrix}$, poi $\begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix}$, poi $\begin{pmatrix} 0 & 1 + i \\ 1 - i & 0 \end{pmatrix}$, poi $\begin{pmatrix} 1 & 2 \\ 2 & 0 \end{pmatrix}$. Hanno tutte la diagonale reale e gli specchi coniugati. La risposta più insidiosa è proprio la prima: chi si ferma a «è simmetrica, quindi va bene» la scarta. Una domanda così è nell'appello del 08/02/2024 (domanda 9). D: Sia $T$ un endomorfismo autoaggiunto di $\R^2$ con il prodotto scalare euclideo. Rispetto a quale tipo di base la matrice di $T$ è **sicuramente** simmetrica? + Una qualsiasi base ortonormale. - Una base qualsiasi. - Una base che contiene il vettore $e_1$. - Una base formata da vettori di norma $2$. - Una base la cui matrice di cambiamento ha determinante positivo. = È la Proposizione 25.6: in una base ortonormale la matrice di una macchina autoaggiunta è simmetrica. La risposta più insidiosa è «una base qualsiasi», ma è falsa. L'Esempio 25.8 lo mostra: nella base fatta da $(-1, 1)$ e $(1, 0)$, che non è ortonormale, la matrice viene $\begin{pmatrix} 0 & 1 \\ -1 & 3 \end{pmatrix}$, che non è simmetrica. Quella base contiene il vettore $e_1$: quindi anche la terza risposta è falsa. D: Sia $T$ un endomorfismo autoaggiunto di $\R^3$ e sia $v$ un vettore con $T(v) = 2v$. Detto $U = \Span(v)$, quale affermazione è vera? + $U^\perp$ è $T$-invariante. - $U^\perp = \Ker T$. - $T(U^\perp) \subseteq U$. - $T(U^\perp) = \{0\}$. - Ogni vettore di $U^\perp$ è un autovettore con autovalore $2$. = La retta $U$ dei multipli di $v$ è invariante, perché $v$ è un autovettore: la macchina lo manda nel suo doppio. Per la Proposizione 25.10 anche $U^\perp$ è invariante. Le altre risposte sono false; la più insidiosa è l'ultima, perché fa pensare che l'autovalore di $v$ passi ai vettori perpendicolari. Un esempio che le smentisce tutte: la matrice diagonale con $2$, $1$ e $3$ sulla diagonale, e $v = e_1$. Qui $U^\perp$ è il piano di $e_2$ ed $e_3$. La macchina manda $e_2$ in $e_2$ e manda $e_3$ in $3e_3$: non li manda in zero, non li porta in $U$, e il loro autovalore non è $2$. ``` ## Esercizi ::: esercizio base Riscaldamento: coniugati e quadrati dei moduli Per ognuno di questi numeri scrivi il coniugato. Poi moltiplica il numero per il suo coniugato: (a) $2 + 3i$; (b) $-i$; (c) $4$; (d) $1 - 2i$. ::: soluzione Il coniugato si ottiene cambiando il segno davanti alla $i$. Un numero per il suo coniugato dà il quadrato della parte reale più il quadrato della parte immaginaria. (a) Il coniugato di $2 + 3i$ è $2 - 3i$. Il prodotto, pezzo per pezzo: $4 - 6i + 6i - 9 \cdot i \cdot i = 4 + 9 = 13$. (b) Il coniugato di $-i$ è $i$. Il prodotto: $-i \cdot i = 1$. (c) Il coniugato di $4$ è $4$, perché non c'è nessuna $i$. Il prodotto: $4 \cdot 4 = 16$. (d) Il coniugato di $1 - 2i$ è $1 + 2i$. Il prodotto: $1 + 4 = 5$. Controllo: i quattro risultati sono numeri reali e positivi, come deve essere. ::: ::: esercizio base Riscaldamento: un prodotto hermitiano con numeri piccoli Con il prodotto hermitiano euclideo di $\C^2$ calcola $\langle x, y \rangle$ per $x = (1, i)$ e $y = (i, 2)$. ::: soluzione 1. Coniugo i numeri del secondo vettore. Il coniugato di $i$ è $-i$, il coniugato di $2$ è $2$. 2. Primo posto: $1 \cdot (-i) = -i$. 3. Secondo posto: $i \cdot 2 = 2i$. 4. Sommo: $-i + 2i = i$. Quindi $\langle x, y \rangle = i$. Controllo: scambiando i vettori deve venire il coniugato, cioè $-i$. I coniugati dei numeri di $x$ sono $1$ e $-i$. Il conto è $i \cdot 1 + 2 \cdot (-i) = i - 2i = -i$. Torna. ::: ::: esercizio base Riscaldamento: hermitiana sì o no Quali di queste matrici sono hermitiane? $$A = \begin{pmatrix} 5 & 2 + 3i \\ 2 - 3i & 0 \end{pmatrix}, \quad B = \begin{pmatrix} 0 & 4 \\ 4 & 1 \end{pmatrix}, \quad C = \begin{pmatrix} 2 & 1 + i \\ 1 + i & 2 \end{pmatrix}, \quad D = \begin{pmatrix} 1 & 0 \\ 0 & 2i \end{pmatrix}.$$ ::: soluzione Due controlli per ogni matrice: la diagonale deve essere reale, e ogni numero deve essere il coniugato del suo specchio. - $A$: **sì**. Sulla diagonale ci sono $5$ e $0$. Il coniugato di $2 - 3i$ è $2 + 3i$, che è il numero in alto a destra. - $B$: **sì**. È fatta di numeri reali ed è simmetrica. - $C$: **no**. La diagonale va bene, ma il coniugato di $1 + i$ è $1 - i$, e in basso a sinistra c'è $1 + i$. È simmetrica, e con i numeri complessi non basta. - $D$: **no**. Sulla diagonale c'è $2i$, che non è reale. ::: ::: esercizio base Riscaldamento: la lunghezza di un vettore complesso Con il prodotto hermitiano euclideo di $\C^2$ calcola la lunghezza di $v = (i, 1)$. Che cosa verrebbe senza coniugare? ::: soluzione 1. Coniugo i numeri del secondo vettore, che è ancora $v$: il coniugato di $i$ è $-i$, quello di $1$ è $1$. 2. Il prodotto è $i \cdot (-i) + 1 \cdot 1 = 1 + 1 = 2$. 3. La lunghezza è $\sqrt 2$. Senza coniugare verrebbe $i \cdot i + 1 \cdot 1 = -1 + 1 = 0$: un vettore che non è zero sembrerebbe lungo zero. È proprio il guaio che il coniugato ripara. ::: ::: esercizio base Conti con il prodotto hermitiano euclideo Siano $x = (2 - i, 1)$ e $y = (i, 1 - i)$ in $\C^2$. Calcola $\langle x, y \rangle$, $\langle y, x \rangle$, $\lVert x \rVert$ e $\lVert y \rVert$, e verifica l'assioma (3). ::: soluzione **Il prodotto di $x$ e $y$.** Si coniugano i numeri di $y$: il coniugato di $i$ è $-i$, il coniugato di $1 - i$ è $1 + i$. 1. Primo posto: $(2 - i) \cdot (-i) = -2i + i \cdot i = -2i - 1$. 2. Secondo posto: $1 \cdot (1 + i) = 1 + i$. 3. Sommo: $-2i - 1 + 1 + i = -i$. Quindi $\langle x, y \rangle = -i$. **Il prodotto di $y$ e $x$.** Si coniugano i numeri di $x$: il coniugato di $2 - i$ è $2 + i$, il coniugato di $1$ è $1$. 1. Primo posto: $i \cdot (2 + i) = 2i + i \cdot i = 2i - 1$. 2. Secondo posto: $(1 - i) \cdot 1 = 1 - i$. 3. Sommo: $2i - 1 + 1 - i = i$. Quindi $\langle y, x \rangle = i$. **L'assioma (3).** Scambiando i vettori il risultato deve coniugarsi. Il coniugato di $-i$ è $i$: l'assioma è verificato. **Le norme.** Si sommano i quadrati dei moduli. 1. Per $x$: il modulo di $2 - i$ al quadrato è $4 + 1 = 5$, quello di $1$ è $1$. La somma è 6, quindi $\lVert x \rVert = \sqrt 6$. 2. Per $y$: il modulo di $i$ al quadrato è $1$, quello di $1 - i$ è $1 + 1 = 2$. La somma è 3, quindi $\lVert y \rVert = \sqrt 3$. ::: ::: esercizio base Completare una matrice hermitiana Completa la matrice in modo che sia hermitiana, poi stabilisci quali delle altre matrici sono hermitiane: $$H = \begin{pmatrix} 1 & 2 - i & \ast \\ \ast & 0 & i \\ 3 & \ast & -2 \end{pmatrix}, \quad A = \begin{pmatrix} 5 & 1 + 4i \\ 1 - 4i & 0 \end{pmatrix}, \quad B = \begin{pmatrix} 0 & 2i \\ 2i & 0 \end{pmatrix}, \quad C = \begin{pmatrix} 1 & 2 \\ 2 & 7 \end{pmatrix}.$$ ::: soluzione **La matrice $H$.** Ogni asterisco è il coniugato del suo specchio rispetto alla diagonale. 1. Riga 2, colonna 1. Lo specchio è nella riga 1, colonna 2: è $2 - i$. Il suo coniugato è $2 + i$. 2. Riga 1, colonna 3. Lo specchio è nella riga 3, colonna 1: è $3$. Il suo coniugato è $3$. 3. Riga 3, colonna 2. Lo specchio è nella riga 2, colonna 3: è $i$. Il suo coniugato è $-i$. La diagonale è fatta da $1$, $0$ e $-2$: è già reale. Quindi $$H = \begin{pmatrix} 1 & 2 - i & 3 \\ 2 + i & 0 & i \\ 3 & -i & -2 \end{pmatrix}.$$ **Le altre tre.** - $A$ è hermitiana: la diagonale è reale e il coniugato di $1 - 4i$ è $1 + 4i$. - $B$ non lo è: è simmetrica, ma il coniugato di $2i$ è $-2i$, e nell'altro posto c'è $2i$. - $C$ lo è: è fatta di numeri reali ed è simmetrica (Osservazione di p. 131). ::: ::: esercizio medio Le proprietà che seguono dagli assiomi Usando solo gli assiomi (1), (2), (3) della Definizione 25.1 e le regole del coniugio, dimostra che per ogni $v, w \in V$ e $\lambda, \mu \in \C$: (a) $\langle v, 0 \rangle = 0$; (b) $\langle \lambda v, \mu w \rangle = \lambda \bar\mu \langle v, w \rangle$; (c) $\langle v, w \rangle = 0$ se e solo se $\langle w, v \rangle = 0$. ::: soluzione (a) In parole: il prodotto con il vettore zero fa 0. 1. Il vettore zero è «0 volte un vettore qualsiasi», per esempio $0 \cdot v$. Per l'assioma (2) il numero 0 esce dal primo posto: $\langle 0, v \rangle = \langle 0 \cdot v, v \rangle = 0 \cdot \langle v, v \rangle = 0$. 2. Per l'assioma (3) scambio i due vettori e coniugo: $\langle v, 0 \rangle = \overline{\langle 0, v \rangle} = \bar 0 = 0$. (b) In parole: dal primo posto il numero esce così com'è, dal secondo esce coniugato. 1. Faccio uscire $\lambda$ dal primo posto con l'assioma (2): $\langle \lambda v, \mu w \rangle = \lambda \langle v, \mu w \rangle$. 2. Ora devo far uscire $\mu$ dal secondo posto. Scambio e coniugo con l'assioma (3): $\langle v, \mu w \rangle = \overline{\langle \mu w, v \rangle}$. 3. Adesso $\mu$ è al primo posto ed esce per l'assioma (2): ottengo $\overline{\mu \langle w, v \rangle}$. 4. Il coniugato di un prodotto è il prodotto dei coniugati: ottengo $\bar\mu \cdot \overline{\langle w, v \rangle}$. 5. Per l'assioma (3), $\overline{\langle w, v \rangle}$ è $\langle v, w \rangle$. Quindi $\langle v, \mu w \rangle = \bar\mu \langle v, w \rangle$. 6. Metto insieme il passo 1 e il passo 5: $\langle \lambda v, \mu w \rangle = \lambda \bar\mu \langle v, w \rangle$. (c) In parole: se un prodotto fa 0, fa 0 anche quello con i vettori scambiati. 1. Per l'assioma (3), $\langle w, v \rangle$ è il coniugato di $\langle v, w \rangle$. 2. Il coniugato di $0$ è $0$. E l'unico numero che ha come coniugato $0$ è $0$. 3. Quindi uno dei due prodotti è $0$ esattamente quando lo è l'altro. Conseguenza: per dire che due vettori sono ortogonali non serve precisare l'ordine. ::: ::: esercizio medio Dalla formula alla matrice e ritorno Sia $g(x, y) = 2 x_1 \bar y_1 + (1 + 2i) x_1 \bar y_2 + (1 - 2i) x_2 \bar y_1 + 5 x_2 \bar y_2$ su $\C^2$. (a) Scrivi la matrice $H$ e verifica che $g$ è un prodotto hermitiano. (b) Calcola $g(v, w)$ con $v = (1, 1)$ e $w = (0, i)$, sia con la formula sia con ${}^t v H \bar w$. ::: soluzione (a) Il coefficiente di $x_i \bar y_j$ va nella riga $i$ e nella colonna $j$: $$H = \begin{pmatrix} 2 & 1 + 2i \\ 1 - 2i & 5 \end{pmatrix}.$$ La diagonale è reale. Il coniugato di $1 - 2i$ è $1 + 2i$, che è il numero in alto a destra. La matrice è hermitiana, quindi $g$ è un prodotto hermitiano. (b) **Con la formula.** 1. I numeri di $v$ sono $x_1 = 1$ e $x_2 = 1$. 2. I numeri di $w$ sono $0$ e $i$. I loro coniugati sono $\bar y_1 = 0$ e $\bar y_2 = -i$. 3. I due pezzi con $\bar y_1$ contengono uno zero e spariscono. Restano il secondo e il quarto pezzo. 4. Secondo pezzo: $(1 + 2i) \cdot 1 \cdot (-i) = -i - 2 \cdot i \cdot i = -i + 2$. 5. Quarto pezzo: $5 \cdot 1 \cdot (-i) = -5i$. 6. Sommo: $2 - i - 5i = 2 - 6i$. **Con le matrici.** 1. Il vettore coniugato è $\bar w = (0, -i)$. 2. Calcolo $H \bar w$. Prima riga: $2 \cdot 0 + (1 + 2i) \cdot (-i) = 2 - i$. Seconda riga: $(1 - 2i) \cdot 0 + 5 \cdot (-i) = -5i$. 3. Moltiplico $v$, messo in riga, per questo vettore: $1 \cdot (2 - i) + 1 \cdot (-5i) = 2 - 6i$. Controllo: i due metodi danno lo stesso numero, $2 - 6i$. ::: ::: esercizio medio La matrice associata in una base In $\C^2$ con il prodotto hermitiano euclideo sia $\mathcal B = \{b_1, b_2\}$ con $b_1 = (1, 1)$ e $b_2 = (1, i)$. (a) Calcola la matrice associata $H$. (b) Verifica la formula $\langle v, w \rangle = {}^t[v]_{\mathcal B}\, H\, \overline{[w]_{\mathcal B}}$ con $v = b_1 + i\, b_2$ e $w = b_2$. ::: soluzione (a) La matrice associata è la tabella dei quattro prodotti tra i vettori della base. In ogni prodotto si coniugano i numeri del secondo vettore. | Posto | Prodotto | Conto | Risultato | |---|---|---|---| | riga 1, colonna 1 | $\langle b_1, b_1 \rangle$ | $1 \cdot 1 + 1 \cdot 1$ | $2$ | | riga 1, colonna 2 | $\langle b_1, b_2 \rangle$ | $1 \cdot 1 + 1 \cdot (-i)$ | $1 - i$ | | riga 2, colonna 1 | $\langle b_2, b_1 \rangle$ | $1 \cdot 1 + i \cdot 1$ | $1 + i$ | | riga 2, colonna 2 | $\langle b_2, b_2 \rangle$ | $1 \cdot 1 + i \cdot (-i)$ | $2$ | $$H = \begin{pmatrix} 2 & 1 - i \\ 1 + i & 2 \end{pmatrix}$$ È hermitiana, come deve essere: diagonale reale, e $1 + i$ è il coniugato di $1 - i$. (b) **Direttamente.** 1. Scrivo $v$ con i suoi numeri: $v = (1, 1) + i \cdot (1, i) = (1, 1) + (i, -1) = (1 + i,\ 0)$. 2. Il secondo vettore è $w = (1, i)$. I coniugati dei suoi numeri sono $1$ e $-i$. 3. Il prodotto: $(1 + i) \cdot 1 + 0 \cdot (-i) = 1 + i$. **Con le coordinate.** 1. $v$ è fatto di 1 parte di $b_1$ e $i$ parti di $b_2$: le sue coordinate sono $(1, i)$. 2. $w$ è fatto di 0 parti di $b_1$ e 1 parte di $b_2$: le sue coordinate sono $(0, 1)$. Sono reali, quindi coniugarle non le cambia. 3. Tabella per le coordinate di $w$: viene la seconda colonna di $H$, cioè $(1 - i,\ 2)$. 4. Coordinate di $v$ in riga per questo vettore: $1 \cdot (1 - i) + i \cdot 2 = 1 - i + 2i = 1 + i$. Controllo: i due metodi danno lo stesso numero, $1 + i$. ::: ::: esercizio medio Autoaggiunto o no? Stabilisci quali endomorfismi sono autoaggiunti rispetto al prodotto euclideo (scalare o hermitiano): (a) $T \colon \C^2 \to \C^2$, $T(x, y) = \big(x + (1 - i)y,\ (1 + i)x + 2y\big)$; (b) $T \colon \C^2 \to \C^2$, $T(x, y) = (ix, y)$; (c) $T \colon \R^3 \to \R^3$, $T(x, y, z) = (x + 2z,\ 3y,\ 2x - z)$. Per (b) trova esplicitamente due vettori per cui la Definizione 25.5 fallisce. ::: soluzione Il metodo è lo stesso per tutti e tre: scrivo la matrice nella base canonica, una riga per ogni componente, e uso il Corollario 25.7. (a) La matrice è $\begin{pmatrix} 1 & 1 - i \\ 1 + i & 2 \end{pmatrix}$. La diagonale è reale e il coniugato di $1 + i$ è $1 - i$. È hermitiana, quindi $T$ è autoaggiunto. (b) La matrice è $\begin{pmatrix} i & 0 \\ 0 & 1 \end{pmatrix}$. Sulla diagonale c'è $i$: non è hermitiana, quindi $T$ non è autoaggiunto. Due vettori per cui la definizione fallisce: prendo $v = w = e_1 = (1, 0)$. 1. $T(e_1) = (i \cdot 1,\ 0) = (i, 0)$. 2. Primo conto: $\langle T(e_1), e_1 \rangle = \langle (i, 0), (1, 0) \rangle = i \cdot 1 = i$. 3. Secondo conto: $\langle e_1, T(e_1) \rangle = \langle (1, 0), (i, 0) \rangle = 1 \cdot (-i) = -i$. I due conti danno $i$ e $-i$: sono diversi. (c) Le tre componenti danno le tre righe. La prima è $x + 2z$, cioè $1, 0, 2$. La seconda è $3y$, cioè $0, 3, 0$. La terza è $2x - z$, cioè $2, 0, -1$. $$\begin{pmatrix} 1 & 0 & 2 \\ 0 & 3 & 0 \\ 2 & 0 & -1 \end{pmatrix}$$ I numeri sono reali, quindi basta che la matrice sia simmetrica. Controllo i tre specchi: $0$ e $0$, poi $2$ e $2$, poi $0$ e $0$. È simmetrica, quindi $T$ è autoaggiunto. ::: ::: esercizio medio La stessa matrice in due basi Sia $A = \begin{pmatrix} 1 & 2 \\ 2 & 1 \end{pmatrix}$, che definisce un endomorfismo autoaggiunto di $\R^2$. Calcola la matrice di $L_A$ (a) nella base ortonormale $\mathcal B = \left\{ \frac{1}{\sqrt 2}(1, 1), \frac{1}{\sqrt 2}(1, -1) \right\}$; (b) nella base $\mathcal B' = \{(1, 0), (1, 1)\}$. Commenta alla luce della Proposizione 25.6. ::: soluzione (a) Conviene guardare dove la macchina manda i vettori della base. 1. $A \begin{pmatrix} 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 1 \cdot 1 + 2 \cdot 1 \\ 2 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} 3 \\ 3 \end{pmatrix}$. È 3 volte $(1, 1)$. 2. $A \begin{pmatrix} 1 \\ -1 \end{pmatrix} = \begin{pmatrix} 1 \cdot 1 + 2 \cdot (-1) \\ 2 \cdot 1 + 1 \cdot (-1) \end{pmatrix} = \begin{pmatrix} -1 \\ 1 \end{pmatrix}$. È $-1$ volte $(1, -1)$. 3. I due vettori della base sono autovettori, con autovalori $3$ e $-1$. Il numero $\frac{1}{\sqrt 2}$ davanti non cambia niente: un multiplo di un autovettore è ancora un autovettore. 4. Nelle colonne della matrice vanno le coordinate dei vettori che escono. Il primo vettore della base va in 3 volte sé stesso: coordinate $(3, 0)$. Il secondo va in $-1$ volte sé stesso: coordinate $(0, -1)$. $$[L_A]^{\mathcal B}_{\mathcal B} = \begin{pmatrix} 3 & 0 \\ 0 & -1 \end{pmatrix}$$ La matrice è diagonale, quindi è simmetrica, come prevede la Proposizione 25.6. È un'anteprima del teorema spettrale. (b) Qui uso la formula $M^{-1} A M$. 1. I vettori della base in colonna: $M = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$. 2. Il determinante: $1 \cdot 1 - 1 \cdot 0 = 1$. 3. L'inversa. Scambio i numeri sulla diagonale, cambio segno agli altri due e divido per 1: $M^{-1} = \begin{pmatrix} 1 & -1 \\ 0 & 1 \end{pmatrix}$. 4. Primo prodotto: $$M^{-1} A = \begin{pmatrix} 1 \cdot 1 - 1 \cdot 2 & 1 \cdot 2 - 1 \cdot 1 \\ 0 \cdot 1 + 1 \cdot 2 & 0 \cdot 2 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} -1 & 1 \\ 2 & 1 \end{pmatrix}.$$ 5. Secondo prodotto: $$(M^{-1} A)\, M = \begin{pmatrix} -1 \cdot 1 + 1 \cdot 0 & -1 \cdot 1 + 1 \cdot 1 \\ 2 \cdot 1 + 1 \cdot 0 & 2 \cdot 1 + 1 \cdot 1 \end{pmatrix} = \begin{pmatrix} -1 & 0 \\ 2 & 3 \end{pmatrix}.$$ Questa matrice non è simmetrica: fuori dalla diagonale ci sono $0$ e $2$. **Commento.** La base $\mathcal B'$ non è ortonormale: il prodotto scalare dei suoi due vettori è $1 \cdot 1 + 0 \cdot 1 = 1$, non 0. La Proposizione 25.6 parla solo di basi ortonormali, quindi qui non dice niente. La macchina è autoaggiunta lo stesso. ::: ::: esercizio medio Sottospazi invarianti di una matrice simmetrica Sia $A = \begin{pmatrix} 2 & 0 & 0 \\ 0 & 1 & 1 \\ 0 & 1 & 1 \end{pmatrix}$. (a) Verifica che $U = \Span((0, 1, 1))$ è $L_A$-invariante. (b) Trova $U^\perp$ e verifica direttamente che è invariante, come prevede la Proposizione 25.10. ::: soluzione (a) $U$ è la retta dei multipli di $(0, 1, 1)$. Passo questo vettore nella macchina. 1. Prima riga: $2 \cdot 0 + 0 \cdot 1 + 0 \cdot 1 = 0$. 2. Seconda riga: $0 \cdot 0 + 1 \cdot 1 + 1 \cdot 1 = 2$. 3. Terza riga: $0 \cdot 0 + 1 \cdot 1 + 1 \cdot 1 = 2$. Esce $(0, 2, 2)$, che è 2 volte $(0, 1, 1)$: sta ancora in $U$. Ogni altro vettore di $U$ è un multiplo di $(0, 1, 1)$, e la macchina lo manda nel doppio di sé stesso. Quindi $U$ è invariante. (b) **Trovo $U^\perp$.** Cerco i vettori $(x, y, z)$ ortogonali a $(0, 1, 1)$. 1. Il prodotto scalare è $x \cdot 0 + y \cdot 1 + z \cdot 1 = y + z$. 2. Deve fare 0: quindi $z = -y$. Il numero $x$ è libero. 3. I vettori sono $(x, y, -y)$, cioè $x$ volte $(1, 0, 0)$ più $y$ volte $(0, 1, -1)$. Quindi $U^\perp = \Span((1, 0, 0), (0, 1, -1))$: è un piano. **Controllo che è invariante.** Passo nella macchina i due vettori che generano il piano. 1. $A (1, 0, 0)$ è la prima colonna: $(2, 0, 0)$. Per questo vettore $y + z = 0$: sta in $U^\perp$. 2. $A (0, 1, -1)$: prima riga $0$, seconda riga $1 - 1 = 0$, terza riga $1 - 1 = 0$. Esce $(0, 0, 0)$, che sta in $U^\perp$. La macchina è lineare, quindi basta controllare i due vettori che generano il piano. $U^\perp$ è invariante, come prevede la Proposizione 25.10. ::: ::: esercizio esame Un prodotto hermitiano con un parametro Scriviamo $x = (x_1, x_2)$, $y = (y_1, y_2) \in \C^2$ e, per $a \in \C$, sia $g_a(x, y) = x_1 \bar y_1 + a\, x_1 \bar y_2 + (2 + i)\, x_2 \bar y_1 + 4\, x_2 \bar y_2$. (1) Per quali $a$ la formula è un prodotto hermitiano? (2) Per quel valore scrivi la matrice $H$ e calcola $g_a(v, v)$ con $v = (1, 1)$. (3) Trova un vettore $w \neq 0$ ortogonale a $e_1$ e calcola $g_a(w, w)$: il prodotto è definito positivo? ::: soluzione (1) Scrivo la matrice dei coefficienti: $\begin{pmatrix} 1 & a \\ 2 + i & 4 \end{pmatrix}$. 1. La diagonale è fatta da $1$ e $4$: è reale. 2. Il numero in alto a destra deve essere il coniugato di quello in basso a sinistra. Il coniugato di $2 + i$ è $2 - i$. Quindi la formula è un prodotto hermitiano solo per $a = 2 - i$. (2) Con $a = 2 - i$ la matrice è $H = \begin{pmatrix} 1 & 2 - i \\ 2 + i & 4 \end{pmatrix}$. Il vettore $v = (1, 1)$ ha numeri reali, quindi coniugarlo non lo cambia. Tutti i numeri che compaiono nei quattro pezzi valgono 1. Restano i quattro coefficienti, da sommare: $$g(v, v) = 1 + (2 - i) + (2 + i) + 4 = 9.$$ Il risultato è reale, come deve essere per la proprietà (7). (3) Qui «ortogonale» si intende rispetto al prodotto $g$: cerco $w$ con $g(w, e_1) = 0$. 1. Il secondo vettore è $e_1 = (1, 0)$. I coniugati dei suoi numeri sono $\bar y_1 = 1$ e $\bar y_2 = 0$. 2. I due pezzi con $\bar y_2$ spariscono. Restano il primo e il terzo: $g(w, e_1) = w_1 + (2 + i)\, w_2$. 3. Voglio che faccia 0. Scelgo $w_2 = 1$: allora $w_1 = -(2 + i) = -2 - i$. Quindi $w = (-2 - i,\ 1)$. I coniugati dei suoi numeri sono $-2 + i$ e $1$. Ora calcolo $g(w, w)$, un pezzo alla volta. | Pezzo | Con i numeri | Conto | Risultato | |---|---|---|---| | $x_1 \bar y_1$ | $(-2 - i)(-2 + i)$ | $4 - 2i + 2i - i \cdot i$ | $5$ | | $(2 - i)\, x_1 \bar y_2$ | $(2 - i)(-2 - i) \cdot 1$ | $-4 - 2i + 2i + i \cdot i$ | $-5$ | | $(2 + i)\, x_2 \bar y_1$ | $(2 + i) \cdot 1 \cdot (-2 + i)$ | $-4 + 2i - 2i + i \cdot i$ | $-5$ | | $4\, x_2 \bar y_2$ | $4 \cdot 1 \cdot 1$ | | $4$ | La somma è $5 - 5 - 5 + 4 = -1$. Un vettore diverso da zero dà un risultato negativo. Quindi il prodotto **non** è definito positivo. ::: ::: esercizio esame Un endomorfismo autoaggiunto di $\C^2$ Sia $T \colon \C^2 \to \C^2$, $T(x, y) = \big(2x + (1 - i)y,\ (1 + i)x + 3y\big)$. (1) Scrivi la matrice $A$ di $T$ nella base canonica e mostra che $T$ è autoaggiunto rispetto al prodotto hermitiano euclideo. (2) Verifica direttamente che $\langle T(e_1), e_2 \rangle = \langle e_1, T(e_2) \rangle$. (3) Verifica che $U = \Span((-1 + i, 1))$ è $T$-invariante, trova $U^\perp$ e verifica che anche $U^\perp$ è invariante. ::: soluzione (1) Una riga per ogni componente: $$A = \begin{pmatrix} 2 & 1 - i \\ 1 + i & 3 \end{pmatrix}.$$ La diagonale è reale e il coniugato di $1 + i$ è $1 - i$. La matrice è hermitiana, quindi $T$ è autoaggiunto (Corollario 25.7). (2) Faccio i due conti. 1. $T(e_1)$ è la prima colonna: $(2,\ 1 + i)$. Il prodotto con $e_2 = (0, 1)$: $2 \cdot 0 + (1 + i) \cdot 1 = 1 + i$. 2. $T(e_2)$ è la seconda colonna: $(1 - i,\ 3)$. I coniugati dei suoi numeri sono $1 + i$ e $3$. Il prodotto di $e_1 = (1, 0)$ con questo vettore: $1 \cdot (1 + i) + 0 \cdot 3 = 1 + i$. I due conti danno lo stesso numero, $1 + i$. (3) **$U$ è invariante.** Passo nella macchina il vettore $(-1 + i,\ 1)$, cioè metto $x = -1 + i$ e $y = 1$. 1. Prima componente: $2 \cdot (-1 + i) + (1 - i) \cdot 1 = -2 + 2i + 1 - i = -1 + i$. 2. Seconda componente: $(1 + i)(-1 + i) + 3 \cdot 1$. Il prodotto vale $-1 + i - i + i \cdot i = -2$. Quindi viene $-2 + 3 = 1$. Esce $(-1 + i,\ 1)$: lo stesso vettore che è entrato. È un autovettore con autovalore 1, quindi la retta $U$ dei suoi multipli è invariante. **Trovo $U^\perp$.** Cerco i vettori $w = (w_1, w_2)$ il cui prodotto con $(-1 + i,\ 1)$ fa 0. 1. I coniugati dei numeri di $(-1 + i,\ 1)$ sono $-1 - i$ e $1$. 2. Il prodotto è $w_1 \cdot (-1 - i) + w_2 \cdot 1$. Deve fare 0, quindi $w_2 = (1 + i)\, w_1$. 3. Scelgo $w_1 = 1$: viene il vettore $(1,\ 1 + i)$. Quindi $U^\perp = \Span((1,\ 1 + i))$. **$U^\perp$ è invariante.** Passo nella macchina il vettore $(1,\ 1 + i)$. 1. Prima componente: $2 \cdot 1 + (1 - i)(1 + i)$. Il prodotto vale $1 + i - i - i \cdot i = 2$. Quindi viene $2 + 2 = 4$. 2. Seconda componente: $(1 + i) \cdot 1 + 3 \cdot (1 + i) = 4 \cdot (1 + i) = 4 + 4i$. Esce $(4,\ 4 + 4i)$, che è 4 volte $(1,\ 1 + i)$. Resta sulla retta $U^\perp$, che quindi è invariante, come prevede la Proposizione 25.10. È la retta degli autovettori con autovalore 4. ::: ::: esercizio difficile Autovalori e autovettori di un autoaggiunto Sia $T$ un endomorfismo autoaggiunto di uno spazio con prodotto hermitiano (o scalare) definito positivo. Dimostra che: (a) se $T(v) = \lambda v$ con $v \neq 0$, allora $\lambda$ è reale; (b) se $T(v) = \lambda v$ e $T(w) = \mu w$ con $\lambda \neq \mu$, allora $\langle v, w \rangle = 0$. (Sono due fatti che userai nella lezione L26.) ::: soluzione (a) In parole: gli autovalori di una macchina autoaggiunta sono numeri reali. L'idea è calcolare $\langle T(v), v \rangle$ in due modi. 1. Primo modo. Al posto di $T(v)$ scrivo $\lambda v$. Il numero $\lambda$ è al primo posto ed esce così com'è: $\langle \lambda v, v \rangle = \lambda \langle v, v \rangle$. 2. Secondo modo. Siccome $T$ è autoaggiunto, sposto la macchina sull'altro vettore: $\langle T(v), v \rangle = \langle v, T(v) \rangle = \langle v, \lambda v \rangle$. 3. Ora $\lambda$ è al secondo posto ed esce coniugato: $\langle v, \lambda v \rangle = \bar\lambda \langle v, v \rangle$. 4. I due modi danno lo stesso numero: $\lambda \langle v, v \rangle = \bar\lambda \langle v, v \rangle$. 5. Il prodotto è definito positivo e $v$ non è zero, quindi $\langle v, v \rangle$ è un numero positivo. Posso dividere tutti e due i lati per questo numero: $\lambda = \bar\lambda$. 6. Un numero uguale al suo coniugato è reale. Quindi $\lambda$ è reale. (b) In parole: due autovettori con autovalori diversi sono ortogonali. L'idea è calcolare $\langle T(v), w \rangle$ in due modi. 1. Primo modo: $\langle T(v), w \rangle = \langle \lambda v, w \rangle = \lambda \langle v, w \rangle$. 2. Secondo modo. Sposto la macchina: $\langle T(v), w \rangle = \langle v, T(w) \rangle = \langle v, \mu w \rangle$. 3. Il numero $\mu$ esce dal secondo posto coniugato. Ma per il punto (a) $\mu$ è reale, quindi il suo coniugato è $\mu$ stesso: $\langle v, \mu w \rangle = \mu \langle v, w \rangle$. 4. I due modi danno lo stesso numero: $\lambda \langle v, w \rangle = \mu \langle v, w \rangle$. Porto tutto a sinistra: $(\lambda - \mu) \langle v, w \rangle = 0$. 5. Un prodotto di due numeri fa 0 solo se uno dei due è 0. Il numero $\lambda - \mu$ non è 0, perché $\lambda$ e $\mu$ sono diversi. Quindi $\langle v, w \rangle = 0$. Controllo con un esempio della lezione: la matrice $\begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ ha gli autovettori $(1, 1)$ e $(1, -1)$, con autovalori $3$ e $1$. Gli autovalori sono reali e i due vettori sono ortogonali. ::: ::: esercizio difficile Hermitiana ma non definita positiva Sia $H = \begin{pmatrix} 1 & i \\ -i & 1 \end{pmatrix}$. (a) Verifica che $H$ è hermitiana. (b) Trova un vettore $v \neq 0$ con $g_H(v, v) = 0$: il prodotto $g_H$ non è definito positivo. ::: soluzione (a) Sulla diagonale ci sono $1$ e $1$, che sono reali. Il coniugato di $-i$ è $i$, che è il numero in alto a destra. La matrice è hermitiana. (b) Scrivo la formula per esteso, mettendo ogni numero della matrice davanti al suo pezzo: $$g_H(x, y) = x_1 \bar y_1 + i\, x_1 \bar y_2 - i\, x_2 \bar y_1 + x_2 \bar y_2.$$ Provo con il vettore $v = (1, -i)$. I coniugati dei suoi numeri sono $1$ e $i$. | Pezzo | Con i numeri | Risultato | |---|---|---| | $x_1 \bar y_1$ | $1 \cdot 1$ | $1$ | | $i\, x_1 \bar y_2$ | $i \cdot 1 \cdot i$ | $-1$ | | $-i\, x_2 \bar y_1$ | $-i \cdot (-i) \cdot 1 = i \cdot i$ | $-1$ | | $x_2 \bar y_2$ | $-i \cdot i$ | $1$ | La somma è $1 - 1 - 1 + 1 = 0$. Quindi $g_H(v, v) = 0$ con $v$ diverso da zero: il prodotto $g_H$ è hermitiano ma non è definito positivo. **Come si trova questo vettore.** Si cerca un vettore che la matrice manda in zero. Qui $H$ manda in zero il vettore $(1, i)$: 1. Prima riga: $1 \cdot 1 + i \cdot i = 1 - 1 = 0$. 2. Seconda riga: $-i \cdot 1 + 1 \cdot i = 0$. Poi si prende $v$ in modo che il suo coniugato sia quel vettore: $\bar v = (1, i)$, cioè $v = (1, -i)$. Allora $H \bar v$ è il vettore zero, e $g_H(v, v) = {}^t v\, H\, \bar v = 0$. Nella lezione L26 vedrai che gli autovalori di questa matrice sono $0$ e $2$. ::: ## Domande di ripasso ::: domanda Perché su $\C^n$ non si può usare la formula $x_1 y_1 + \dots + x_n y_n$ per misurare le lunghezze? Perché con i numeri complessi il prodotto di un vettore con sé stesso può venire zero, negativo o non reale. Per il vettore $(1, i)$ viene $1 + i \cdot i = 0$, anche se il vettore non è zero. Se si coniugano i numeri del secondo vettore viene la somma dei quadrati dei moduli, che è reale e positiva. ::: ::: domanda Quali sono gli assiomi di un prodotto hermitiano? Sono tre. Primo: una somma al primo posto si spezza. Secondo: un numero che moltiplica il primo vettore esce così com'è. Terzo: scambiando i due vettori il risultato si coniuga, cioè $\langle v, w \rangle = \overline{\langle w, v \rangle}$. Devono valere per tutti i vettori e per tutti i numeri complessi. ::: ::: domanda Che cosa vuol dire sesquilineare? Come esce uno scalare dal secondo posto? Vuol dire lineare nel primo posto e antilineare nel secondo. Uno scalare è un numero. Dal secondo posto esce coniugato: $\langle v, \lambda w \rangle = \bar\lambda \langle v, w \rangle$. «Sesqui» in latino vuol dire «uno e mezzo». ::: ::: domanda Perché $\langle v, v \rangle$ è sempre reale? Per il terzo assioma, scambiando i due vettori il risultato si coniuga. Ma qui i due vettori sono uguali, quindi scambiarli non cambia niente. Il numero è uguale al suo coniugato, e un numero così è reale. ::: ::: domanda Che cos'è il prodotto hermitiano euclideo? È definito positivo? È il prodotto su $\C^n$ che moltiplica i numeri del primo vettore per i coniugati dei numeri del secondo e poi somma: $\langle x, y \rangle = x_1 \bar y_1 + \dots + x_n \bar y_n$. È definito positivo. Il prodotto di un vettore con sé stesso è la somma dei quadrati dei moduli dei suoi numeri, che è positiva se il vettore non è zero. ::: ::: domanda Che cos'è una matrice hermitiana? Che cosa si può dire della sua diagonale? È una matrice quadrata complessa in cui la trasposta è uguale alla coniugata: ${}^t H = \bar H$. Un numero alla volta: ogni numero è il coniugato del suo specchio rispetto alla diagonale. I numeri sulla diagonale sono reali. Una matrice fatta di numeri reali è hermitiana esattamente quando è simmetrica. ::: ::: domanda Come si passa da una formula con i pezzi $x_i \bar y_j$ alla matrice, e come si decide se è un prodotto hermitiano? Il coefficiente del pezzo $x_i \bar y_j$ va nella riga $i$ e nella colonna $j$ della matrice. La formula è un prodotto hermitiano quando succedono due cose. In tutti i pezzi il numero di $y$ è coniugato. E la matrice dei coefficienti è hermitiana. ::: ::: domanda Che cos'è la matrice associata a un prodotto hermitiano in una base? È la tabella dei prodotti tra i vettori della base: nel posto di riga $i$ e colonna $j$ c'è $\langle v_i, v_j \rangle$. È sempre hermitiana. Serve a calcolare un prodotto con le coordinate: coordinate del primo vettore in riga, per la tabella, per le coordinate del secondo coniugate e in colonna. ::: ::: domanda Che cos'è un endomorfismo autoaggiunto? Che differenza c'è con un'isometria? Un endomorfismo $T$ è autoaggiunto quando $\langle T(v), w \rangle = \langle v, T(w) \rangle$ per ogni coppia di vettori: la macchina si può spostare da un posto all'altro del prodotto. Un'isometria invece non cambia il prodotto quando tutti e due i vettori passano nella macchina: $\langle T(v), T(w) \rangle = \langle v, w \rangle$. In una base ortonormale, con i numeri reali: autoaggiunto vuol dire matrice simmetrica, isometria vuol dire matrice ortogonale. ::: ::: domanda Che cosa dice la Proposizione 25.6? Perché serve la base ortonormale? In una base ortonormale, un endomorfismo è autoaggiunto esattamente quando la sua matrice è hermitiana. Con i numeri reali vuol dire simmetrica. La dimostrazione usa che in una base ortonormale la tabella dei prodotti è la matrice identità. In una base non ortonormale la matrice di una macchina autoaggiunta può non essere simmetrica: lo mostra l'Esempio 25.8. ::: ::: domanda Come si stabilisce se $T(x, y) = (ax + by, cx + dy)$ è autoaggiunto? Si scrive la matrice nella base canonica, che è ortonormale: $\begin{pmatrix} a & b \\ c & d \end{pmatrix}$, una riga per ogni componente. Poi si usa il Corollario 25.7. Con i numeri reali la matrice deve essere simmetrica. Con i numeri complessi deve essere hermitiana. ::: ::: domanda Che cos'è un sottospazio invariante? Che cosa dice la Proposizione 25.10? Un sottospazio $U$ è invariante per la macchina $T$ quando $T$ manda i vettori di $U$ ancora dentro $U$: $T(U) \subseteq U$. La Proposizione 25.10 dice: se $T$ è autoaggiunto e $U$ è invariante, anche $U^\perp$ è invariante. Il motivo: per $v$ in $U^\perp$ e $u$ in $U$ vale $\langle T(v), u \rangle = \langle v, T(u) \rangle = 0$. ::: ## Glossario ```glossario Coniugato | Il numero che si ottiene cambiando il segno davanti alla $i$: il coniugato di $3 + 2i$ è $3 - 2i$. Si scrive $\bar z$. Modulo | La distanza di un numero complesso dal punto di partenza. Il suo quadrato è il numero per il suo coniugato: il modulo di $3 + 4i$ è 5. Prodotto hermitiano | Una regola che da due vettori complessi ricava un numero complesso. È lineare nel primo posto, e scambiando i due vettori il risultato si coniuga (Definizione 25.1). Sesquilineare | Lineare nel primo posto e antilineare nel secondo. Dal secondo posto i numeri escono coniugati: $\langle v, \lambda w \rangle = \bar\lambda \langle v, w \rangle$. Antilineare | Che rispetta le somme, ma fa uscire i numeri coniugati. Il prodotto hermitiano è antilineare nel secondo posto. Prodotto hermitiano definito positivo | Un prodotto hermitiano in cui il prodotto di ogni vettore diverso da zero con sé stesso è positivo (Definizione 25.2). Norma (caso complesso) | La lunghezza di un vettore: la radice del prodotto del vettore con sé stesso. Con il prodotto euclideo la norma di $(1, i)$ è $\sqrt 2$. Prodotto hermitiano euclideo | Su $\C^n$: i numeri del primo vettore per i coniugati dei numeri del secondo, poi la somma. In formula $\langle x, y \rangle = x_1 \bar y_1 + \dots + x_n \bar y_n$. Matrice coniugata | La matrice $\bar A$: la matrice $A$ con tutti i numeri coniugati, senza spostarli. Matrice hermitiana | Matrice quadrata in cui la trasposta è uguale alla coniugata: ${}^t H = \bar H$. In pratica: diagonale reale e specchi coniugati. Prodotto $g_H$ | Il prodotto hermitiano fabbricato da una matrice hermitiana $H$: $g_H(x, y) = {}^t x\, H\, \bar y$. Il numero $H_{ij}$ è il coefficiente di $x_i \bar y_j$. Matrice associata (caso hermitiano) | La tabella dei prodotti tra i vettori di una base: $H_{ij} = \langle v_i, v_j \rangle$. È sempre hermitiana. Endomorfismo | Un'applicazione lineare da uno spazio in sé stesso: una macchina che prende e restituisce vettori dello stesso spazio. Endomorfismo autoaggiunto | Una macchina $T$ che si può spostare da un posto all'altro del prodotto: $\langle T(v), w \rangle = \langle v, T(w) \rangle$ per ogni coppia di vettori (Definizione 25.5). Vettori ortogonali | Due vettori il cui prodotto fa 0. Con il prodotto euclideo, $(1, i)$ e $(1, -i)$ sono ortogonali. Base ortonormale | Base fatta di vettori di norma 1 e ortogonali tra loro. In una base così la tabella dei prodotti è la matrice identità. Sottospazio $T$-invariante | Una stanza $U$ da cui la macchina $T$ non fa uscire nessun vettore: $T(U) \subseteq U$ (Definizione 25.9). Complemento ortogonale $U^\perp$ | L'insieme dei vettori ortogonali a tutti i vettori di $U$. Se $U$ è la retta dei multipli di $(1, 1)$, $U^\perp$ è la retta dei multipli di $(1, -1)$. ``` ## Checklist ```checklist - So spiegare perché con i vettori complessi serve il coniugato nel prodotto, con l'esempio del vettore $(1, i)$. - So dire le tre regole del prodotto hermitiano e le quattro proprietà che ne vengono, dalla (4) alla (7). - So calcolare prodotti hermitiani e norme in $\C^n$ senza dimenticare di coniugare il secondo vettore. - So usare Gram–Schmidt in $\C^n$ mettendo il vettore da correggere al primo posto del prodotto. - So riconoscere una matrice hermitiana: diagonale reale, specchi coniugati. - So passare da una formula con i pezzi $x_i \bar y_j$ alla sua matrice e decidere se è un prodotto hermitiano. - So calcolare la matrice associata a un prodotto hermitiano in una base e usarla con le coordinate. - So dire che cos'è un endomorfismo autoaggiunto e in che cosa è diverso da un'isometria. - So decidere se un'applicazione data con una formula è autoaggiunta, e so che il criterio vale in una base ortonormale. - So spiegare perché, per una macchina autoaggiunta, se $U$ è invariante lo è anche $U^\perp$. ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 25 «Teorema spettrale I», pp. 129–133: sezioni 25.A (prodotti hermitiani), 25.B (matrici hermitiane), 25.C (matrice associata), 25.D (endomorfismi autoaggiunti) e 25.E (sottospazi invarianti), seguite in ordine con la numerazione originale (Definizioni 25.1, 25.2, 25.4, 25.5, 25.9; Esempio 25.3; Proposizioni 25.6, 25.10; Corollario 25.7; Esempio 25.8). Dalle lezioni precedenti: coniugio e modulo (lezione 2), cambiamento di base per gli endomorfismi (lezione 16), isometrie (lezione 22). Questa lezione delle dispense non ha una sezione di esercizi. - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §11.1 (prodotti hermitiani, matrici hermitiane, matrice associata) e §11.2 (endomorfismi autoaggiunti, sottospazi invarianti). - **Appelli d'esame** (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): testo riportato del 15/01/2026 (domanda 2), del 03/06/2026 (domanda 9) e del 10/06/2024 (domanda 9), con soluzioni scritte per questi appunti; citati per tipo di domanda gli appelli del 24/01/2024, 08/02/2024, 10/07/2024, 16/01/2025, 07/02/2025 e 02/09/2025. - Le parti **«Oltre le dispense»** («hermitiano non vuol dire definito positivo», nucleo e immagine come sottospazi invarianti, il rimando al libro) e gli esempi aggiunti (il vettore $(1, i)$, Gram–Schmidt in $\C^2$, il criterio per le formule) servono a collegare la lezione al libro e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Ripasso» e «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/lezioni/L26_teorema_spettrale_2.md` ```yaml corso: MDAG modulo: AG lezione: L26 titolo: Teorema spettrale II docenti: Reto Buzano e Marco Radeschi sopratitolo: Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · Lezione L26 descrizione: >- Appunti della lezione L26 di Algebra lineare e Geometria (MDAG, parte 2): il teorema spettrale per gli endomorfismi autoaggiunti, la sua dimostrazione, la versione con le matrici simmetriche e ortogonali, il collegamento con la PCA e tutti gli esercizi delle dispense svolti, con quiz nello stile dell'esame. lede: >- Una macchina simmetrica tira lo spazio come un foglio di gomma: lungo direzioni perpendicolari tra loro, senza storcerlo. È il teorema spettrale, l'ultimo del corso. Qui trovi perché è vero, il metodo per trovare quelle direzioni passo per passo e gli esercizi delle dispense, anche quello con i numeri complessi. materiale: dispense scheda: Dispense: lezione 26 · pp. 134–138 Libro: Martelli, §11.3 Docenti: Reto Buzano e Marco Radeschi · A.A. 2026/27 Tempo di studio: 2–3 ore, anche in più volte fonte: >- Dispense 2026 del corso (Buzano, Radeschi), lezione 26 «Teorema spettrale II»; B. Martelli, Geometria e algebra lineare, §11.3 appunti_html: appunti/MDAG/L26_teorema_spettrale_2.html genera_html: true ``` ## In breve - Una matrice diagonalizzabile ha una base di autovettori (lezioni L17–L18). Il **teorema spettrale** dice **quando quella base si può scegliere ortonormale**: vettori lunghi 1 e perpendicolari tra loro. - La risposta: esattamente quando la macchina è **autoaggiunta** (lezione L25) e i suoi autovalori sono numeri reali. Vale con i numeri reali e con i complessi. - Una conseguenza da sapere: **una matrice reale simmetrica ha tutti gli autovalori reali** ed è sempre diagonalizzabile. - Con le matrici: una matrice reale è **simmetrica** esattamente quando c'è una matrice **ortogonale** $M$ che la rende diagonale. E per una matrice ortogonale l'inversa è la trasposta: niente conti. - Gli autovettori di autovalori **diversi** di una matrice simmetrica sono già **perpendicolari**. Gram–Schmidt serve solo dentro un autospazio con più dimensioni. - Il metodo: autovalori, autospazi, Gram–Schmidt dove serve, vettori resi lunghi 1, e la matrice $M$ è pronta. - Applicazione: la **PCA**, che cerca le direzioni in cui un insieme di dati varia di più. > [!CANALI] > Le dispense di Algebra lineare e Geometria sono le stesse per i canali A, B e C (Buzano insegna nei canali A e B, Radeschi nei canali B e C), quindi questi appunti valgono per tutti e tre. Cambiano solo i giorni delle lezioni: gli avvisi sono sulla pagina Moodle del corso (MDAG2, [id 3831](https://informatica.i-learn.unito.it/course/view.php?id=3831)). Esame e quiz sono comuni. ## Il problema: autovettori perpendicolari (p. 134) Immagina un foglio di gomma fissato al centro. Lo tiri in due direzioni: in una lo allunghi di 3 volte, nell'altra lo lasci com'è. Se le due direzioni sono **perpendicolari**, il foglio si allunga senza storcersi. Se non lo sono, oltre ad allungarsi si piega di lato, come una pila di fogli spinta in alto. Le direzioni in cui la macchina allunga senza girare sono le rette degli **autovettori** (lezione L17). Guarda due matrici di $\R^2$, tutte e due diagonalizzabili. - $S = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ manda $(1, 1)$ in $(3, 3)$ e $(1, -1)$ in sé stesso. Gli autovettori sono $(1, 1)$, con autovalore 3, e $(1, -1)$, con autovalore 1. Il loro prodotto scalare è $1 - 1 = 0$: sono **perpendicolari**. - $B = \begin{pmatrix} 3 & 1 \\ 0 & 1 \end{pmatrix}$ ha autovettori $(1, 0)$, con autovalore 3, e $(-1, 2)$, con autovalore 1. Il loro prodotto scalare è $-1$: **non** sono perpendicolari. ```grafico titolo: La macchina simmetrica $S$ tira lungo due rette perpendicolari: allunga di 3 la retta di $(1, 1)$ e lascia ferma quella di $(1, -1)$ x: -3.5 3.5 y: -3 3.5 retta: 0 0 1 1 | accento | tratteggio | $V_3$ | ne retta: 0 0 1 -1 | viola | tratteggio | $V_1$ | se vettore: 3 3 | accento | sottile | $S(1, 1) = (3, 3)$ | so vettore: 1 1 | accento | spesso | $(1, 1)$ | no vettore: 1 -1 | viola | spesso | $(1, -1)$ | e ``` ```grafico titolo: Le due rette di autovettori di $B = \begin{pmatrix} 3 & 1 \\ 0 & 1 \end{pmatrix}$ non sono perpendicolari: formano un angolo di circa $63{,}4^\circ$ x: -2.5 2.5 y: -2.2 2.6 retta: -2 0 2 0 | accento | spesso | $V_3$ | ne retta: -1 2 1 -2 | viola | spesso | $V_1$ | e vettore: 0 0 1 0 | accento | $(1, 0)$ | se vettore: 0 0 -1 2 | viola | $(-1, 2)$ | o arco: 0 0 0.6 2.0344 pi | ambra | $63{,}4^\circ$ ``` Perché conviene avere autovettori perpendicolari? Resi lunghi 1, formano una **base ortonormale**. Messi in colonna danno una matrice **ortogonale** $M$ (lezione L22), e per lei l'inversa è la trasposta: non serve calcolare nessuna inversa. In più, le coordinate di un vettore in quella base si trovano con i prodotti scalari (lezione L21). La domanda è: **quando** si possono scegliere autovettori perpendicolari? Le dispense lo dicono subito: esattamente per le macchine autoaggiunte. Nel caso reale, per le matrici simmetriche, come $S$. ::: prova La matrice simmetrica $\begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$ manda $(1, 2)$ in $(5, 10)$. In che direzione sta l'altro autovettore? Perpendicolare a $(1, 2)$, per esempio $(2, -1)$. Controllo: la matrice lo manda in $(2 - 2,\ 4 - 4) = (0, 0)$, cioè in 0 volte sé stesso. Autovalore 0. ::: > [!RICORDA] > - Matrice simmetrica: il foglio si tira lungo direzioni perpendicolari. > - Matrice non simmetrica: anche se diagonalizzabile, le direzioni possono essere storte. ## Il teorema spettrale (p. 134) Lo spazio è di due tipi, come nella lezione L25: di vettori reali con un prodotto scalare definito positivo, oppure di vettori complessi con un prodotto hermitiano definito positivo. La dimensione è un numero finito $n$. Le dispense enunciano il teorema così. > [!TEOREMA] 26.1 · Teorema spettrale > Un endomorfismo $T \colon V \to V$ è autoaggiunto $\iff$ ha una base ortonormale di autovettori e tutti i suoi autovalori sono in $\R$. **Come si legge.** - **Autoaggiunto**: la macchina si sposta da un posto all'altro del prodotto senza cambiare il risultato (Definizione 25.5). In una base ortonormale vuol dire matrice **hermitiana**, o **simmetrica** con i numeri reali (Proposizione 25.6). - **Base ortonormale di autovettori**: vettori $v_1, \dots, v_n$ che la macchina allunga senza girare, lunghi 1 e perpendicolari tra loro. - **Autovalori reali**: con i numeri reali è automatico. Con i complessi è una condizione in più, e serve davvero. - Il simbolo in mezzo vuol dire «esattamente quando»: le due cose vanno sempre insieme. > [!ESEMPIO] Perché con i complessi serve «autovalori reali» > Su $\C^2$ con il prodotto hermitiano euclideo, la macchina $T(x, y) = (ix, y)$ ha matrice $\begin{pmatrix} i & 0 \\ 0 & 1 \end{pmatrix}$. > - La base canonica è una base **ortonormale di autovettori**, con autovalori $i$ e 1. > - Eppure $T$ **non** è autoaggiunta: sulla diagonale c'è $i$, quindi la matrice non è hermitiana (lezione L25). > > Il teorema non è contraddetto: l'autovalore $i$ non è reale. Il nome «spettrale» viene da *spettro*, l'insieme degli autovalori di una macchina. Il teorema mette insieme due parti del corso: la diagonalizzazione (lezioni L17–L18) e i prodotti scalari e hermitiani (lezioni L19–L21 e L25). ::: prova La matrice reale $\begin{pmatrix} 4 & -1 \\ -1 & 0 \end{pmatrix}$ ha una base ortonormale di autovettori? Sì: è simmetrica, quindi la macchina è autoaggiunta e il teorema garantisce la base. ::: > [!RICORDA] > - Teorema spettrale: autoaggiunta esattamente quando c'è una base ortonormale di autovettori con autovalori reali. > - Con i complessi la condizione sugli autovalori reali non si può togliere. ## Perché è vero (pp. 134–135) La dimostrazione delle dispense ha tre pezzi. Il primo è il verso facile. Il secondo è il verso difficile con i numeri complessi, e il terzo lo stesso con i numeri reali. All'esame non si chiede di ripeterla, ma l'idea serve a ricordare il metodo. **Dalla base alla macchina autoaggiunta.** Se c'è una base ortonormale di autovettori con autovalori reali: 1. in quella base la matrice della macchina è **diagonale**, con gli autovalori sulla diagonale; 2. una matrice diagonale con numeri reali è uguale alla sua trasposta e alla sua coniugata: è hermitiana; 3. la base è ortonormale, quindi per la Proposizione 25.6 la macchina è autoaggiunta. **Gli autovalori di una macchina autoaggiunta sono reali.** È il primo passo del verso difficile, ed è un conto di una riga. Prendi un autovettore $v$ con autovalore $\lambda$ e calcola il prodotto di $T(v)$ con $v$ in due modi: tenendo la macchina a sinistra, oppure spostandola a destra. > [!DIM] gli autovalori sono reali > Se $T(v) = \lambda v$ con $v$ diverso da zero: > $$\lambda \langle v, v \rangle = \langle \lambda v, v \rangle = \langle T(v), v \rangle = \langle v, T(v) \rangle = \langle v, \lambda v \rangle = \bar\lambda \langle v, v \rangle.$$ > 1. Il primo passo usa la linearità nel primo posto; il secondo $T(v) = \lambda v$. > 2. Il terzo usa che $T$ è autoaggiunta; il quarto di nuovo $T(v) = \lambda v$. > 3. L'ultimo usa che un numero esce dal secondo posto coniugato (lezione L25). > > Siccome $\langle v, v \rangle$ è positivo, si può dividere: $\lambda = \bar\lambda$. Un numero uguale al suo coniugato è reale. **La base ortonormale di autovettori, un vettore alla volta.** L'idea è staccare un autovettore alla volta. Trovato il primo, lo spazio si spezza in due stanze: la retta dell'autovettore e tutto ciò che le è perpendicolare. La macchina non mescola le due stanze, per la Proposizione 25.10. Dentro la stanza perpendicolare, che ha una dimensione in meno, si ricomincia. > [!DIM] del Teorema 26.1, induzione sulla dimensione > 1. **Dimensione 1.** Ogni vettore diverso da zero è un autovettore, perché la macchina è la moltiplicazione per un numero. Un vettore lungo 1 è già una base ortonormale di autovettori. > 2. **Ipotesi.** Supponiamo il risultato vero in dimensione $n - 1$ e prendiamo $V$ di dimensione $n$. > 3. **Esiste un autovettore.** Con i numeri complessi il polinomio caratteristico ha almeno una radice, per il **teorema fondamentale dell'algebra** (lezione L04). Quindi $T$ ha un autovalore e un autovettore $v$. > 4. **Una stanza invariante più piccola.** La retta $\Span(v)$ è invariante, perché è fatta di multipli di un autovettore. Per la Proposizione 25.10 anche $U = \Span(v)^\perp$ è invariante. Inoltre $U$ ha dimensione $n - 1$ (lezione L21). > 5. **Dentro $U$ la macchina è ancora autoaggiunta.** La macchina manda $U$ in $U$, e l'uguaglianza della Definizione 25.5 vale per tutti i vettori, quindi anche per quelli di $U$. > 6. **Si usa l'ipotesi.** $U$ ha una base ortonormale $v_2, \dots, v_n$ di autovettori. > 7. **Si aggiunge $v$.** Rendo $v$ lungo 1. È perpendicolare a tutti i $v_2, \dots, v_n$, che stanno in $U$. Quindi $v, v_2, \dots, v_n$ è una base ortonormale di autovettori di $V$. **Con i numeri reali.** Sui reali un polinomio può non avere radici: per esempio $\lambda^2 + 1$. Quindi il punto 3 non è gratis. Le dispense lo sistemano così. 1. In una base ortonormale la macchina ha una matrice $S$ **reale e simmetrica** (Proposizione 25.6). 2. Vista come matrice complessa, $S$ è hermitiana. Per il caso complesso appena visto, **tutti i suoi autovalori sono reali**: il polinomio caratteristico ha una radice reale $\lambda$. 3. Il sistema $(S - \lambda I)x = 0$ ha numeri reali e soluzioni diverse da zero: c'è un autovettore **reale**. 4. Con questo autovettore si fa la stessa induzione. C'è una conseguenza che le dispense sottolineano: **una matrice reale simmetrica ha sempre tutti gli autovalori reali.** > [!OLTRE] Il caso $2 \times 2$ fatto a mano > Per $S = \begin{pmatrix} a & b \\ b & c \end{pmatrix}$ reale, il polinomio caratteristico è $\lambda^2 - (a + c)\lambda + (ac - b^2)$. Il suo discriminante è > $$(a + c)^2 - 4(ac - b^2) = a^2 - 2ac + c^2 + 4b^2 = (a - c)^2 + 4b^2,$$ > una somma di quadrati, quindi mai negativo: le radici sono sempre reali. Sono uguali solo se $a = c$ e $b = 0$, cioè se $S$ è già un multiplo dell'identità. ::: prova Quali sono gli autovalori di $\begin{pmatrix} 1 & 3 \\ 3 & 1 \end{pmatrix}$? Sono reali? Il polinomio è $(1 - \lambda)^2 - 9$, che si annulla con $1 - \lambda = 3$ oppure $1 - \lambda = -3$: autovalori $-2$ e 4. Reali, come deve essere per una matrice simmetrica. ::: > [!RICORDA] > - Gli autovalori di una macchina autoaggiunta sono reali: conto di una riga. > - La base si costruisce staccando un autovettore alla volta; la stanza perpendicolare resta invariante. ## Il teorema con le matrici (p. 135) Nello spazio delle colonne di numeri reali, con il prodotto scalare di tutti i giorni, il teorema diventa un fatto sulle matrici. È la forma che si usa negli esercizi. Le dispense la scrivono così. > [!COROLLARIO] 26.2 > Sia $A$ una matrice $n \times n$ reale. Sono equivalenti i fatti seguenti: > 1. $A$ è simmetrica; > 2. $L_A$ ha una base ortonormale di autovettori; > 3. esiste una matrice ortogonale $M$ tale che > $${}^tM A M = M^{-1} A M = D$$ > sia una matrice diagonale. **Come si legge.** - «Equivalenti» vuol dire: se vale uno dei tre fatti, valgono tutti. - **Matrice ortogonale** (Definizione 22.10): le sue colonne sono una base ortonormale, e la sua inversa è la trasposta. Per questo ${}^tM A M$ e $M^{-1} A M$ sono la stessa matrice. - Sulla diagonale di $D$ ci sono gli autovalori, nello stesso ordine in cui le colonne di $M$ mettono gli autovettori. Il perché, un passaggio alla volta: 1. **(1) e (2) insieme**: è il teorema spettrale. La macchina di $A$ è autoaggiunta esattamente quando $A$ è simmetrica (Corollario 25.7), e gli autovalori di una simmetrica reale sono reali. 2. **Da (2) a (3)**: i vettori della base ortonormale di autovettori, messi in colonna, danno una matrice ortogonale $M$, e $M^{-1} A M$ è diagonale (lezioni L17–L18). 3. **Da (3) a (2)**: se $M^{-1} A M$ è diagonale, le colonne di $M$ sono autovettori; se $M$ è ortogonale, sono una base ortonormale. > [!TRAPPOLA] Diagonalizzabile non vuol dire simmetrica > La matrice $B = \begin{pmatrix} 3 & 1 \\ 0 & 1 \end{pmatrix}$ è **diagonalizzabile**, perché ha due autovalori distinti, ma non è simmetrica. Ha una base di autovettori, ma non una base **ortonormale** di autovettori (Esercizio 26.3). Il teorema spettrale riconosce le matrici diagonalizzabili **con una matrice ortogonale**, non tutte quelle diagonalizzabili. ### Due fatti che accorciano i conti Il primo fatto: autovettori di autovalori diversi sono già perpendicolari. È lo stesso trucco di prima, spostare la macchina dentro il prodotto. > [!OLTRE] Autovettori di autovalori diversi sono ortogonali > Prendi $A$ simmetrica, con $A v = \lambda v$ e $A w = \mu w$. Se $\lambda$ è diverso da $\mu$, allora $\langle v, w \rangle = 0$. Infatti, con $\mu$ reale, > $$\lambda \langle v, w \rangle = \langle A v, w \rangle = \langle v, A w \rangle = \mu \langle v, w \rangle.$$ > Quindi $(\lambda - \mu)\langle v, w \rangle = 0$, e il primo fattore non è zero. Le dispense usano questo fatto nell'Esercizio 26.4: l'autovettore di un autovalore «è sempre automaticamente ortogonale» a quelli dell'altro. > > Conseguenza pratica: **Gram–Schmidt serve solo dentro un autospazio** con almeno due dimensioni. Tra autospazi diversi la perpendicolarità è gratis. Il secondo fatto: una matrice simmetrica è diagonalizzabile, quindi per ogni autovalore la molteplicità geometrica è uguale a quella algebrica (Teorema 18.10). La dimensione di ogni autospazio si legge già dal polinomio caratteristico. ::: prova La matrice $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ è ortogonale? Quanto vale la sua inversa? Le colonne sono $(0, 1)$ e $(1, 0)$: lunghe 1 e perpendicolari. È ortogonale, e l'inversa è la trasposta, cioè la matrice stessa. ::: > [!RICORDA] > - Reale simmetrica = diagonalizzabile con una matrice ortogonale, e ${}^tM = M^{-1}$. > - Autovalori diversi: autovettori già perpendicolari. Gram–Schmidt solo dentro un autospazio grande. ## Il metodo, passo per passo (oltre le dispense) Ecco il procedimento che gli esercizi chiedono. Prima la ricetta, poi due esempi svolti. > [!METODO] Trovare una base ortonormale di autovettori, e la matrice $M$ > 1. **Controlla** che $A$ sia simmetrica. Se non lo è, per il Corollario 26.2 una base ortonormale di autovettori non esiste. > 2. **Autovalori**: le radici di $p_A(\lambda) = \det(A - \lambda I)$, con le molteplicità. > 3. **Autospazi**: per ogni autovalore risolvi $(A - \lambda I)x = 0$ e trova una base. > 4. **Rendi perpendicolari** i vettori dentro ogni autospazio con almeno due dimensioni, con Gram–Schmidt o scegliendoli subito perpendicolari. > 5. **Rendi lunghi 1** tutti i vettori, dividendo ciascuno per la sua lunghezza. > 6. Mettili in colonna: è $M$, ortogonale. Allora ${}^tM A M$ è diagonale, con gli autovalori nell'ordine delle colonne. > 7. **Controlla**: prodotti scalari zero a due a due, lunghezze 1. > [!ESEMPIO] Una matrice $2 \times 2$ > $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ è simmetrica. Il polinomio è $(2 - \lambda)^2 - 1 = \lambda^2 - 4\lambda + 3 = (\lambda - 3)(\lambda - 1)$. > - $\lambda = 3$: $(A - 3I)x = 0$ dà $-x_1 + x_2 = 0$, autovettore $(1, 1)$; > - $\lambda = 1$: $(A - I)x = 0$ dà $x_1 + x_2 = 0$, autovettore $(1, -1)$. > > Sono già perpendicolari, perché gli autovalori sono diversi. Li rendo lunghi 1: $\frac{1}{\sqrt 2}(1, 1)$ e $\frac{1}{\sqrt 2}(1, -1)$. Allora > $$M = \frac{1}{\sqrt 2}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}, \qquad {}^tM A M = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}.$$ > Controllo: $A\,(1, 1) = (3, 3) = 3\,(1, 1)$ e $A\,(1, -1) = (1, -1)$. > [!ESEMPIO] Una matrice $3 \times 3$ con un autovalore doppio > $A = \begin{pmatrix} 2 & 1 & 1 \\ 1 & 2 & 1 \\ 1 & 1 & 2 \end{pmatrix}$ è simmetrica. > > **Autovalori.** Con Sarrus, e chiamando $t = 2 - \lambda$: > $$\det(A - \lambda I) = t^3 + 1 + 1 - t - t - t = t^3 - 3t + 2 = (t - 1)^2 (t + 2).$$ > Siccome $t - 1 = 1 - \lambda$ e $t + 2 = 4 - \lambda$, gli autovalori sono 1 (doppio) e 4 (semplice). > > **Autospazi.** Per $\lambda = 4$: ogni riga di $A$ somma a 4, quindi $(1, 1, 1)$ è un autovettore, e $V_4 = \Span((1, 1, 1))$. Per $\lambda = 1$: $A - I$ ha tutte le righe uguali a $(1, 1, 1)$, quindi $V_1$ è il piano $x_1 + x_2 + x_3 = 0$, con base $(1, -1, 0)$ e $(1, 0, -1)$. > > **Gram–Schmidt dentro $V_1$.** $w_1 = (1, -1, 0)$ e > $$\begin{aligned} w_2 &= (1, 0, -1) - \frac{\langle (1, 0, -1), (1, -1, 0) \rangle}{\langle (1, -1, 0), (1, -1, 0) \rangle}(1, -1, 0) \\ &= (1, 0, -1) - \tfrac 12 (1, -1, 0) = \left(\tfrac 12, \tfrac 12, -1\right), \end{aligned}$$ > che moltiplico per 2: $(1, 1, -2)$. Controllo: è perpendicolare a $(1, -1, 0)$ e sta nel piano, perché $1 + 1 - 2 = 0$. > > **Vettori lunghi 1.** La base ortonormale di autovettori è > $$\tfrac{1}{\sqrt 3}(1, 1, 1), \qquad \tfrac{1}{\sqrt 2}(1, -1, 0), \qquad \tfrac{1}{\sqrt 6}(1, 1, -2).$$ > Con queste colonne $M$ è ortogonale e ${}^tM A M = \operatorname{diag}(4, 1, 1)$. Il vettore $(1, 1, 1)$ è perpendicolare agli altri due senza Gram–Schmidt: autovalori diversi. Con la calcolatrice qui sotto puoi controllare autovalori e autospazi (lo strumento scrive anche le molteplicità). Con la seconda puoi rifare Gram–Schmidt dentro l'autospazio $V_1$. ```widget gauss titolo: Autovalori e autospazi della matrice simmetrica dell'esempio matrice: 2 1 1; 1 2 1; 1 1 2 modo: autovalori ``` ```widget gauss titolo: Gram–Schmidt dentro l'autospazio $V_1 = \{x_1 + x_2 + x_3 = 0\}$ matrice: 1 -1 0; 1 0 -1 modo: gram-schmidt ``` ### Con i numeri complessi Per una matrice **hermitiana** $H$ il procedimento è lo stesso, con due differenze. - Prodotti e lunghezze si calcolano con il **prodotto hermitiano** (lezione L25): i numeri del secondo vettore si coniugano. - La matrice $W$ con gli autovettori in colonna non è ortogonale: la sua inversa è la **trasposta coniugata** ${}^t\bar W$. L'Esercizio 26.5 delle dispense lo mostra per esteso. > [!TRAPPOLA] La lunghezza di un vettore complesso > La lunghezza di $(1, i, i)$ è $\sqrt{1 + 1 + 1} = \sqrt 3$: si sommano i **moduli al quadrato**. Il conto senza moduli darebbe $1 + i^2 + i^2 = -1$, e la radice di un numero negativo come lunghezza non ha senso. ::: prova Rendi lungo 1 il vettore $(3, 4)$. È lungo $\sqrt{9 + 16} = 5$: diviso per 5 diventa $\left(\frac 35, \frac 45\right)$. ::: > [!RICORDA] > - Metodo: autovalori, autospazi, Gram–Schmidt dentro gli autospazi grandi, vettori lunghi 1, colonne di $M$. > - Con i complessi: prodotto hermitiano e $W^{-1} = {}^t\bar W$. ## Collegamento con l'informatica: la PCA (pp. 135–136) Hai una nuvola di punti, per esempio altezza e peso di cento persone. In che direzione la nuvola è più allungata? È la domanda della **PCA**, l'analisi delle componenti principali, e la risposta la dà il teorema spettrale. Le dispense la presentano così. > [!NOTA] PCA e riduzione dimensionale > Le dispense chiudono la parte teorica con un'applicazione all'analisi dei dati: la **Principal Component Analysis** (PCA, analisi delle componenti principali). Si hanno dati **centrati** $x_1, \dots, x_N \in \R^n$, cioè con media zero, e si considera la matrice > $$S = \frac 1N \sum_{i=1}^N x_i\, {}^t x_i.$$ > $S$ è **simmetrica**, quindi per il teorema spettrale ha una base ortonormale di autovettori. Gli autovettori con gli autovalori più grandi indicano le **direzioni** in cui i dati variano di più. Proiettando i dati sul sottospazio generato da poche di queste direzioni si ottiene una rappresentazione in dimensione più bassa, che conserva una parte importante dell'informazione. È il principio matematico della PCA. **Perché $S$ è simmetrica.** Ogni $x_i\, {}^t x_i$ è una colonna per una riga, cioè una matrice $n \times n$, ed è uguale alla sua trasposta. La media di matrici simmetriche è simmetrica. > [!OLTRE] Un esempio con quattro punti > Prendiamo nel piano i punti $(2, 2)$, $(-2, -2)$, $(1, -1)$, $(-1, 1)$. La loro media è $(0, 0)$, quindi sono centrati. > - $(2, 2)\,{}^t(2, 2) = \begin{pmatrix} 4 & 4 \\ 4 & 4 \end{pmatrix}$, e lo stesso per $(-2, -2)$; > - $(1, -1)\,{}^t(1, -1) = \begin{pmatrix} 1 & -1 \\ -1 & 1 \end{pmatrix}$, e lo stesso per $(-1, 1)$. > > Quindi $S = \frac 14 \begin{pmatrix} 10 & 6 \\ 6 & 10 \end{pmatrix} = \begin{pmatrix} 5/2 & 3/2 \\ 3/2 & 5/2 \end{pmatrix}$. I suoi autovalori sono 4, con autovettore $(1, 1)$, e 1, con autovettore $(1, -1)$. > > La **prima componente principale** è la direzione $u_1 = \frac{1}{\sqrt 2}(1, 1)$. Le coordinate dei punti lungo $u_1$ sono $2\sqrt 2$, $-2\sqrt 2$, 0 e 0, e la media dei loro quadrati è $\frac{8 + 8}{4} = 4$: proprio l'autovalore. Lungo $u_2 = \frac{1}{\sqrt 2}(1, -1)$ la media dei quadrati è 1. Tenere solo la coordinata lungo $u_1$ riduce i dati a una dimensione, perdendo la parte di variabilità più piccola. ```grafico titolo: I quattro punti e le due direzioni principali: lungo $u_1$ i dati variano di più (autovalore 4) che lungo $u_2$ (autovalore 1) x: -3 3 y: -3 3 retta: -2 -2 2 2 | accento | tratteggio | sottile retta: -2 2 2 -2 | viola | tratteggio | sottile punto: 2 2 | ambra | $(2, 2)$ | se punto: -2 -2 | ambra | $(-2, -2)$ | no punto: 1 -1 | ambra | $(1, -1)$ | se punto: -1 1 | ambra | $(-1, 1)$ | no vettore: 0 0 1.4 1.4 | accento | spesso | $u_1$ | no vettore: 0 0 0.7 -0.7 | viola | spesso | $u_2$ | se ``` > [!OLTRE] Dove trovarlo nel libro > Nel libro di Martelli il teorema spettrale è il §11.3 (pp. 352–355): Teorema 11.3.1 = 26.1, Corollario 11.3.2 = 26.2. Subito dopo (Esempio 11.3.3) il libro osserva che proiezioni e riflessioni ortogonali sono autoaggiunte, quindi hanno matrici simmetriche. Poi usa il teorema per calcolare la segnatura di una matrice simmetrica, contando gli autovalori positivi, negativi e nulli (Proposizione 11.3.4, con il criterio di Cartesio). Gli Esercizi 11.1 e 11.2 di fine capitolo (p. 355) sono simili al 26.3 e al nostro esercizio sulla matrice $\begin{pmatrix} 1 & i \\ -i & 1 \end{pmatrix}$. ::: prova Perché la matrice $(1, 2)\,{}^t(1, 2)$ è simmetrica? È $\begin{pmatrix} 1 & 2 \\ 2 & 4 \end{pmatrix}$: fuori dalla diagonale c'è 2 in tutti e due i posti. In generale il posto $(j, k)$ è il prodotto della coordinata $j$ per la coordinata $k$, e il prodotto non cambia scambiandole. ::: > [!RICORDA] > - La matrice dei dati della PCA è simmetrica: ha direzioni principali perpendicolari. > - Autovalore grande = direzione in cui i dati variano di più. ## I simboli di questa lezione | Simbolo | Si legge | Vuol dire | Esempio | |---|---|---|---| | ${}^tA = A$ | «a trasposta uguale ad a» | la matrice è simmetrica | $\begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$ | | ${}^tM M = I$ | «emme trasposta per emme è l'identità» | $M$ è ortogonale: colonne lunghe 1 e perpendicolari | $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ | | ${}^tM A M = D$ | «emme trasposta, a, emme uguale a di» | $A$ diventa diagonale con una matrice ortogonale | | | $\operatorname{diag}(4, 1, 1)$ | «diagonale quattro, uno, uno» | la matrice diagonale con quei numeri | | | $V_\lambda$ | «autospazio di lambda» | gli autovettori di $\lambda$, più lo zero | | | $p_A(\lambda)$ | «polinomio caratteristico di a» | $\det(A - \lambda I)$ | | | ${}^t\bar W$ | «trasposta coniugata di vu doppio» | l'inversa di $W$, se le colonne sono ortonormali per il prodotto hermitiano | | | $T\vert_U$ | «ti ristretta a u» | la macchina usata solo sui vettori di $U$ | | ## Verso l'esame La prova di Algebra lineare e Geometria ha 10 domande a risposta multipla, con 5 risposte e una sola giusta. Ci sono poi 2 problemi da 11 punti, corretti solo con almeno 6 risposte giuste. Dura 2 ore, senza calcolatrice, e si può portare solo un foglio da 4 facciate scritto a mano. Gli appelli 2026/27 sono il 22/01/2027 e il 05/02/2027 alle 14:00. Tutti i dettagli sono nella lezione L01. **Che cosa di questa lezione compare negli appelli 2023–2026.** - **Problemi aperti con una matrice a parametro**: si calcola ${}^tA - A$ per capire per quali valori la matrice è simmetrica, e si conclude con il teorema spettrale. Appelli del 24/01/2024 (problema 11, punto 3: con $k = -1$ la matrice è simmetrica, quindi diagonalizzabile) e del 15/01/2026 (problema 11, punti 2 e 3: per quali $k$ ci sono autovalori reali e una base ortonormale di autovettori, e poi calcolarla). - **Base ortonormale di un autospazio**: appello del 02/09/2025 (problema 11, punto 3). - **Quiz teorici**: appello del 16/01/2025 (domanda 7). ### Una domanda vera, letta insieme **Appello del 16/01/2025, domanda 7.** Il testo: «Sia $A \in M(4, \R)$ una matrice simmetrica con esattamente 2 autovalori reali distinti. Quale delle seguenti affermazioni è vera? (a) Almeno un autovalore di $A$ deve avere molteplicità maggiore di 1. (b) $A$ deve essere ortogonale. (c) Gli autovettori di $A$ sono ortonormali. (d) $A$ ha almeno un autovalore complesso. (e) $A$ non può essere diagonalizzabile». **In pratica chiede:** una matrice simmetrica 4 per 4 con soli due autovalori. Che cosa dice di sicuro il teorema spettrale? > [!ESEMPIO] · la soluzione, passo per passo > **Passo 1: che cosa garantisce il teorema.** $A$ è simmetrica: è diagonalizzabile e ha autovalori reali. Questo esclude subito (d) ed (e). > > **Passo 2: contare.** Diagonalizzabile vuol dire che le molteplicità dei due autovalori sommano a 4. Con due soli numeri che sommano a 4, almeno uno è 2 o più: è la (a). > > **Passo 3: le altre.** (b) è falsa: $\operatorname{diag}(2, 2, 3, 3)$ è simmetrica ma non ortogonale, perché le colonne non sono lunghe 1. (c) confonde «esiste una base ortonormale di autovettori» con «tutti gli autovettori sono ortonormali»: il doppio di un autovettore è ancora un autovettore, ma non è lungo 1. ### Un'altra domanda vera > [!ESAME] Appello del 02/09/2025, problema 11, punto 3 > *Data $A = \begin{pmatrix} -6 & 3 & 3 \\ 3 & -6 & 3 \\ 3 & 3 & -6 \end{pmatrix}$, calcolare una base ortonormale dell'autospazio di $A$ con autovalore $-9$.* > > **Soluzione.** > 1. $A + 9I$ ha tutte le righe uguali a $(3, 3, 3)$, quindi l'autospazio è il piano $x_1 + x_2 + x_3 = 0$, con base $(1, -1, 0)$ e $(1, 0, -1)$. > 2. È lo stesso piano dell'esempio $3 \times 3$ del metodo: Gram–Schmidt dà $(1, -1, 0)$ e $(1, 1, -2)$. > 3. Resi lunghi 1: $\frac{1}{\sqrt 2}(1, -1, 0)$ e $\frac{1}{\sqrt 6}(1, 1, -2)$. Il problema 11 del 15/01/2026 è svolto per intero negli esercizi. > [!METODO] Il ragionamento con ${}^tA - A$ > 1. Calcola ${}^tA - A$: è la matrice nulla esattamente quando $A$ è simmetrica. > 2. Per i valori del parametro in cui $A$ è simmetrica: autovalori reali, diagonalizzabile, base ortonormale di autovettori (Corollario 26.2). > 3. Per gli altri valori: **nessuna base ortonormale di autovettori**, sempre per il Corollario 26.2, anche se la matrice può essere diagonalizzabile. Per la diagonalizzabilità servono i metodi delle lezioni L17–L18. **Errori da evitare.** - Dimenticare di rendere i vettori **lunghi 1**: una base ortogonale di autovettori non è ancora ortonormale. - Fare Gram–Schmidt **tra autospazi diversi**, che è inutile, e **non** farlo dentro un autospazio di dimensione 2, dove serve se la base trovata con Gauss non è già perpendicolare. - Calcolare a mano l'inversa di una matrice ortogonale: basta la trasposta. - Dire «non simmetrica, quindi non diagonalizzabile»: è falso, guarda $B = \begin{pmatrix} 3 & 1 \\ 0 & 1 \end{pmatrix}$. - Con i vettori complessi, sommare i quadrati invece dei **moduli al quadrato**. > [!ESAME] Il foglio da 4 facciate > Da questa lezione: l'enunciato del teorema spettrale e del Corollario 26.2; «simmetrica reale, quindi autovalori reali»; «autovalori diversi, quindi autovettori perpendicolari»; la ricetta in sette passi; con i complessi $W^{-1} = {}^t\bar W$. ## Quiz ```quiz D: Con il prodotto scalare euclideo di $\R^2$, quale di queste matrici ha **sicuramente** una base ortonormale di autovettori? + $\begin{pmatrix} 1 & 3 \\ 3 & -2 \end{pmatrix}$ - $\begin{pmatrix} 1 & 3 \\ -3 & 1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ - $\begin{pmatrix} 2 & 1 \\ 0 & 3 \end{pmatrix}$ - $\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$ = Per il Corollario 26.2 le matrici reali con una base ortonormale di autovettori sono esattamente le simmetriche: solo la prima. La risposta più insidiosa è la quarta: è diagonalizzabile, ma i suoi autovettori $(1, 0)$ e $(1, 1)$ non sono perpendicolari. La seconda ha autovalori non reali, $1 \pm 3i$; la terza non è diagonalizzabile; la quinta non è simmetrica. Simile all'appello del 15/01/2026 (problema 11, punto 2). D: Sia $A \in M(3, \R)$ simmetrica con esattamente due autovalori distinti. Quale affermazione è vera? + Uno dei due autospazi ha dimensione 2. - $A$ è ortogonale. - $A$ non è diagonalizzabile. - $A$ ha un autovalore non reale. - Ogni base di autovettori di $A$ è ortonormale. = $A$ è diagonalizzabile per il teorema spettrale, quindi le dimensioni dei due autospazi sommano a 3: una è 2 e l'altra 1. La risposta più insidiosa è l'ultima: una base ortonormale di autovettori **esiste**, ma non tutte lo sono, per esempio $e_1, 2e_2, e_3$ con $\operatorname{diag}(1, 1, 2)$. La stessa matrice mostra che $A$ può non essere ortogonale. Simile all'appello del 16/01/2025 (domanda 7). D: Gli autovalori di una matrice reale simmetrica sono: + sempre reali - sempre positivi - sempre distinti - a volte complessi non reali - sempre interi = È la conseguenza del teorema spettrale che le dispense sottolineano. La risposta più insidiosa è «sempre positivi»: $\operatorname{diag}(1, -1)$ è simmetrica e ha $-1$. Non sono nemmeno sempre distinti, come per l'identità, né interi: l'Esercizio 26.3 ha $2 \pm \sqrt 2$. D: Una matrice reale simmetrica $2 \times 2$ ha autovalori $1$ e $3$, e $(1, 2)$ è un autovettore con autovalore $1$. Quale di questi vettori è un autovettore con autovalore $3$? + $(-2, 1)$ - $(2, 1)$ - $(1, 2)$ - $(1, -2)$ - $(3, 6)$ = Autovettori di autovalori diversi di una matrice simmetrica sono perpendicolari, e nel piano i vettori perpendicolari a $(1, 2)$ sono i multipli di $(-2, 1)$. La risposta più insidiosa è $(3, 6)$, che fa pensare all'autovalore 3, ma è un multiplo di $(1, 2)$: appartiene all'autovalore 1. $(2, 1)$ e $(1, -2)$ non sono perpendicolari a $(1, 2)$. D: Se $M \in M(n, \R)$ è ortogonale, quanto vale $M^{-1}$? + ${}^tM$ - $M$ - $-M$ - $\frac{1}{\det M}\, M$ - $M^2$ = Ortogonale vuol dire ${}^tM M = I_n$, cioè la trasposta è l'inversa. Per questo nel Corollario 26.2 ${}^tM A M = M^{-1} A M$. La risposta più insidiosa è $M$: vale solo per le ortogonali che sono anche simmetriche, come le riflessioni. D: Quale matrice $M$ è ortogonale e rende ${}^tM A M$ diagonale per $A = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$? + $\frac{1}{\sqrt 2}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$ - $\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$ - $\frac 12\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$ - $\frac{1}{\sqrt 2}\begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}$ - $\frac{1}{\sqrt 5}\begin{pmatrix} 1 & 2 \\ 2 & -1 \end{pmatrix}$ = Le colonne devono essere autovettori lunghi 1 e perpendicolari: $\frac{1}{\sqrt 2}(1, 1)$ e $\frac{1}{\sqrt 2}(1, -1)$. La risposta più insidiosa è la seconda: le colonne sono gli autovettori giusti, ma non sono lunghe 1, quindi la matrice non è ortogonale. Con $\frac 12$ succede lo stesso; con due colonne uguali $M$ non è invertibile; l'ultima è ortogonale, ma le sue colonne non sono autovettori. Simile agli appelli del 15/01/2026 e del 02/09/2025 (problema 11). D: Il vettore $(1, 1, 0)$ è un autovettore della matrice simmetrica $A = \begin{pmatrix} 1 & 2 & 0 \\ 2 & 1 & 0 \\ 0 & 0 & 5 \end{pmatrix}$. Qual è il suo autovalore? N: 3 = $A\,(1, 1, 0) = (1 + 2,\ 2 + 1,\ 0) = (3, 3, 0) = 3\,(1, 1, 0)$. D: Quali sono gli autovalori della matrice hermitiana $H = \begin{pmatrix} 1 & i \\ -i & 1 \end{pmatrix}$? + $0$ e $2$ - $i$ e $-i$ - $1 + i$ e $1 - i$ - $1$ (doppio) - $0$ e $-2$ = Il polinomio è $(1 - \lambda)^2 - i \cdot (-i) = (1 - \lambda)^2 - 1 = \lambda(\lambda - 2)$. La risposta più insidiosa è $1 + i$ e $1 - i$, di chi legge gli autovalori dalla matrice senza fare il conto. Gli autovalori di una matrice hermitiana sono reali per il teorema spettrale: le risposte con $i$ sono escluse subito. $0$ e $-2$ sbaglia un segno. D: Un endomorfismo $T$ di $\C^n$ ha una base ortonormale di autovettori rispetto al prodotto hermitiano euclideo. Quale affermazione è vera? + $T$ è autoaggiunto se e solo se tutti i suoi autovalori sono reali. - $T$ è sempre autoaggiunto. - $T$ non è mai autoaggiunto. - Gli autovalori di $T$ sono sempre reali. - La matrice di $T$ nella base canonica è diagonale. = Con la base ortonormale di autovettori già garantita, il Teorema 26.1 dice che $T$ è autoaggiunto esattamente quando gli autovalori sono reali. La risposta più insidiosa è «$T$ è sempre autoaggiunto»: $T(x, y) = (ix, y)$ ha la base canonica come base ortonormale di autovettori, ma non è autoaggiunto, perché ha l'autovalore $i$. D: Per quali $k \in \R$ la matrice $A_k = \begin{pmatrix} 1 & k \\ k^2 & 2 \end{pmatrix}$ ha una base ortonormale di autovettori (prodotto euclideo)? + Per $k = 0$ e $k = 1$. - Solo per $k = 1$. - Per ogni $k$. - Per nessun $k$. - Per $k = -1$ e $k = 1$. = ${}^tA_k - A_k$ ha fuori dalla diagonale $k^2 - k$ e $k - k^2$: è nulla esattamente quando $k^2 = k$, cioè $k = 0$ oppure $k = 1$. Per il Corollario 26.2 sono proprio i valori con una base ortonormale di autovettori. La risposta più insidiosa è «solo per $k = 1$», che dimentica $k = 0$, dove la matrice è diagonale. Per $k = -1$ la matrice è $\begin{pmatrix} 1 & -1 \\ 1 & 2 \end{pmatrix}$, non simmetrica. Simile agli appelli del 24/01/2024 e del 15/01/2026 (problema 11). ``` ## Esercizi ::: esercizio base Riscaldamento: simmetrica o no Quali di queste matrici sono simmetriche? $\begin{pmatrix} 1 & 2 \\ 2 & 5 \end{pmatrix}$, $\begin{pmatrix} 1 & 2 \\ 3 & 1 \end{pmatrix}$, $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$. ::: soluzione Una matrice è simmetrica quando i numeri a specchio rispetto alla diagonale sono uguali. 1. La prima: 2 e 2. Sì. 2. La seconda: 2 e 3. No. 3. La terza: 1 e 1. Sì. Per il teorema spettrale la prima e la terza hanno una base ortonormale di autovettori. ::: ::: esercizio base Riscaldamento: l'altro autovettore Una matrice simmetrica $2 \times 2$ ha due autovalori diversi, e $(3, 1)$ è un autovettore. In che direzione sta l'altro autovettore? ::: soluzione 1. Autovalori diversi: gli autovettori sono perpendicolari. 2. Un vettore perpendicolare a $(3, 1)$ è $(-1, 3)$: il prodotto scalare è $-3 + 3 = 0$. 3. L'altro autovettore è un multiplo di $(-1, 3)$. ::: ::: esercizio base Riscaldamento: vettori lunghi 1 Rendi lunghi 1 i vettori $(3, 4)$ e $(1, 1, 1)$. ::: soluzione 1. $(3, 4)$ è lungo $\sqrt{9 + 16} = 5$: diventa $\left(\frac 35, \frac 45\right)$. 2. $(1, 1, 1)$ è lungo $\sqrt 3$: diventa $\frac{1}{\sqrt 3}(1, 1, 1)$. ::: ::: esercizio base Riscaldamento: ortogonale o no Le matrici $\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}$ e $\begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}$ sono ortogonali? ::: soluzione Una matrice è ortogonale quando le colonne sono lunghe 1 e perpendicolari. 1. La prima ha colonne $(0, 1)$ e $(1, 0)$: lunghe 1 e perpendicolari. Sì, e la sua inversa è la trasposta. 2. La seconda ha colonne $(1, 0)$ e $(1, 1)$: il prodotto scalare è 1, non zero. No. ::: ::: esercizio base Esercizio 26.3 delle dispense: simmetrica sì, simmetrica no Verifica che la matrice $A$ ha una base ortonormale di autovettori mentre la matrice $B$ no: $$A = \begin{pmatrix} 3 & 1 \\ 1 & 1 \end{pmatrix}, \qquad B = \begin{pmatrix} 3 & 1 \\ 0 & 1 \end{pmatrix}.$$ ::: soluzione Il Corollario 26.2 risponde subito: $A$ è simmetrica e $B$ no. Le dispense chiedono però di verificarlo **senza** usare il teorema spettrale. **La matrice $A$.** Il polinomio è $(3 - \lambda)(1 - \lambda) - 1 = \lambda^2 - 4\lambda + 2$, con radici $\frac{4 \pm \sqrt{16 - 8}}{2} = 2 \pm \sqrt 2$. Per gli autovettori uso la prima riga di $A - \lambda I$: $(3 - \lambda)x + y = 0$, cioè $y = (\lambda - 3)x$. - $\lambda_1 = 2 + \sqrt 2$: $y = (\sqrt 2 - 1)x$. Con $x = 1 + \sqrt 2$ viene $y = (\sqrt 2 - 1)(\sqrt 2 + 1) = 2 - 1 = 1$, quindi $v_1 = (1 + \sqrt 2, 1)$. - $\lambda_2 = 2 - \sqrt 2$: $y = (-1 - \sqrt 2)x$. Con $x = 1 - \sqrt 2$ viene $y = -(1 + \sqrt 2)(1 - \sqrt 2) = -(1 - 2) = 1$, quindi $v_2 = (1 - \sqrt 2, 1)$. Il prodotto scalare è $(1 + \sqrt 2)(1 - \sqrt 2) + 1 = (1 - 2) + 1 = 0$: sono perpendicolari. Rendendoli lunghi 1 (le lunghezze al quadrato sono $4 + 2\sqrt 2$ e $4 - 2\sqrt 2$) si ottiene una base ortonormale di autovettori. **La matrice $B$.** È triangolare: autovalori 3 e 1. Per 3: $(B - 3I)x = 0$ dà $y = 0$, autovettore $v_1 = (1, 0)$. Per 1: $(B - I)x = 0$ dà $2x + y = 0$, autovettore $v_2 = (-1, 2)$. Il prodotto scalare è $-1$, non zero. Perché nessuna scelta funziona: ogni autovettore di 3 è un multiplo di $v_1$, ogni autovettore di 1 è un multiplo di $v_2$. Moltiplicare per numeri non cambia la retta, quindi due autovettori formano sempre lo stesso angolo $\vartheta$ o $\pi - \vartheta$, con $\cos\vartheta = \frac{-1}{1 \cdot \sqrt 5}$: non è un angolo retto. ::: ::: esercizio base Una diagonalizzazione ortogonale $2 \times 2$ Trova una matrice ortogonale $M$ tale che ${}^tM A M$ sia diagonale, per $A = \begin{pmatrix} 5 & 2 \\ 2 & 2 \end{pmatrix}$. ::: soluzione Il polinomio è $(5 - \lambda)(2 - \lambda) - 4 = \lambda^2 - 7\lambda + 6 = (\lambda - 6)(\lambda - 1)$. - $\lambda = 6$: $(A - 6I)x = 0$ dà $-x_1 + 2x_2 = 0$, autovettore $(2, 1)$. - $\lambda = 1$: $(A - I)x = 0$ dà $4x_1 + 2x_2 = 0$, autovettore $(1, -2)$. Sono perpendicolari: $2 - 2 = 0$. Tutti e due sono lunghi $\sqrt 5$. Quindi $$M = \frac{1}{\sqrt 5}\begin{pmatrix} 2 & 1 \\ 1 & -2 \end{pmatrix}, \qquad {}^tM A M = \begin{pmatrix} 6 & 0 \\ 0 & 1 \end{pmatrix}.$$ Controllo: $A\,(2, 1) = (12, 6) = 6\,(2, 1)$ e $A\,(1, -2) = (1, -2)$. ::: ::: esercizio medio Esercizio 26.4 delle dispense: una base ortonormale di autovettori Trovare una base ortonormale di autovettori per la matrice $$A = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 2 & 0 \\ 1 & 0 & 1 \end{pmatrix}.$$ ::: soluzione $A$ è simmetrica, quindi la base esiste. **Polinomio caratteristico**, sviluppando lungo la seconda riga, che ha un solo numero diverso da zero: $$\begin{aligned} p_A(\lambda) &= \det\begin{pmatrix} 1 - \lambda & 0 & 1 \\ 0 & 2 - \lambda & 0 \\ 1 & 0 & 1 - \lambda \end{pmatrix} = (2 - \lambda)\det\begin{pmatrix} 1 - \lambda & 1 \\ 1 & 1 - \lambda \end{pmatrix} \\ &= (2 - \lambda)\big[(1 - \lambda)^2 - 1\big]. \end{aligned}$$ Siccome $(1 - \lambda)^2 - 1 = \lambda^2 - 2\lambda = \lambda(\lambda - 2)$, viene $p_A(\lambda) = -\lambda(2 - \lambda)^2$. Autovalori: 0, con molteplicità 1, e 2, con molteplicità 2. $A$ è diagonalizzabile, quindi le molteplicità geometriche sono le stesse. **Autospazi.** - $\lambda = 0$: $Ax = 0$ dà $x_1 + x_3 = 0$ e $x_2 = 0$, quindi $V_0 = \Span((1, 0, -1))$. - $\lambda = 2$: $(2I - A)x = 0$ con $2I - A = \begin{pmatrix} 1 & 0 & -1 \\ 0 & 0 & 0 \\ -1 & 0 & 1 \end{pmatrix}$ dà solo $x_1 = x_3$, con $x_2$ libero: $V_2 = \Span((1, 0, 1), (0, 1, 0))$. **Perpendicolarità.** I due vettori scelti in $V_2$ sono già perpendicolari, perché il loro prodotto scalare è 0. Le dispense avvertono: bisogna sceglierli così, altrimenti serve Gram–Schmidt. Il vettore di $V_0$ è perpendicolare a tutto $V_2$, perché gli autovalori sono diversi: infatti $\langle (1, 0, -1), (1, 0, 1) \rangle = 0$ e $\langle (1, 0, -1), (0, 1, 0) \rangle = 0$. **Vettori lunghi 1.** $(1, 0, -1)$ e $(1, 0, 1)$ sono lunghi $\sqrt 2$, $(0, 1, 0)$ è già lungo 1: $$w_1 = \tfrac{1}{\sqrt 2}(1, 0, -1) = \left(\tfrac{\sqrt 2}{2}, 0, -\tfrac{\sqrt 2}{2}\right), \qquad w_2 = \tfrac{1}{\sqrt 2}(1, 0, 1) = \left(\tfrac{\sqrt 2}{2}, 0, \tfrac{\sqrt 2}{2}\right),$$ $$w_3 = (0, 1, 0).$$ $w_1, w_2, w_3$ è una base ortonormale di autovettori. Con $M = (w_1 \mid w_2 \mid w_3)$ viene ${}^tM A M = \operatorname{diag}(0, 2, 2)$. ::: ::: esercizio medio Un autovalore doppio con Gram–Schmidt Trova una base ortonormale di autovettori per $A = \begin{pmatrix} 2 & 2 & 2 \\ 2 & 5 & 4 \\ 2 & 4 & 5 \end{pmatrix}$. ::: soluzione **Polinomio caratteristico**, sviluppando lungo la prima riga: $$\det(A - \lambda I) = (2 - \lambda)\big[(5 - \lambda)^2 - 16\big] - 2\big[2(5 - \lambda) - 8\big] + 2\big[8 - 2(5 - \lambda)\big].$$ I pezzi: $(5 - \lambda)^2 - 16 = (\lambda - 1)(\lambda - 9)$; $2(5 - \lambda) - 8 = 2 - 2\lambda$; $8 - 2(5 - \lambda) = -2 + 2\lambda$. Quindi $$\begin{aligned} \det(A - \lambda I) &= (2 - \lambda)(\lambda - 1)(\lambda - 9) + 8(\lambda - 1) \\ &= (\lambda - 1)\big[(2 - \lambda)(\lambda - 9) + 8\big] = -(\lambda - 1)^2(\lambda - 10), \end{aligned}$$ perché $(2 - \lambda)(\lambda - 9) + 8 = -\lambda^2 + 11\lambda - 10 = -(\lambda - 1)(\lambda - 10)$. Autovalori: 1 (doppio) e 10. **Autospazi.** $A - I = \begin{pmatrix} 1 & 2 & 2 \\ 2 & 4 & 4 \\ 2 & 4 & 4 \end{pmatrix}$ ha rango 1: $V_1$ è il piano $x_1 + 2x_2 + 2x_3 = 0$, con base $(-2, 1, 0)$ e $(-2, 0, 1)$. Per $\lambda = 10$: $A\,(1, 2, 2) = (10, 20, 20)$, quindi $V_{10} = \Span((1, 2, 2))$. È la retta perpendicolare al piano $V_1$, come deve essere. **Gram–Schmidt in $V_1$.** $w_1 = (-2, 1, 0)$ e $$\begin{aligned} w_2 &= (-2, 0, 1) - \frac{\langle (-2, 0, 1), (-2, 1, 0) \rangle}{\langle (-2, 1, 0), (-2, 1, 0) \rangle}(-2, 1, 0) \\ &= (-2, 0, 1) - \tfrac 45(-2, 1, 0) = \left(-\tfrac 25, -\tfrac 45, 1\right), \end{aligned}$$ che moltiplico per 5: $(-2, -4, 5)$. Controlli: il prodotto con $(-2, 1, 0)$ è $4 - 4 = 0$, e $-2 - 8 + 10 = 0$, quindi sta in $V_1$. **Vettori lunghi 1.** Le lunghezze sono 3, $\sqrt 5$ e $\sqrt{45} = 3\sqrt 5$. Base ortonormale di autovettori: $$\tfrac 13 (1, 2, 2), \qquad \tfrac{1}{\sqrt 5}(-2, 1, 0), \qquad \tfrac{1}{3\sqrt 5}(-2, -4, 5),$$ con ${}^tM A M = \operatorname{diag}(10, 1, 1)$. ::: ::: esercizio medio Una matrice hermitiana $2 \times 2$ Trova una base ortonormale di autovettori (prodotto hermitiano euclideo) per $H = \begin{pmatrix} 1 & i \\ -i & 1 \end{pmatrix}$ e scrivi $W$ con $W^{-1} H W$ diagonale. ::: soluzione Il polinomio è $(1 - \lambda)^2 - i(-i) = (1 - \lambda)^2 - 1 = \lambda(\lambda - 2)$: autovalori 0 e 2, reali. - $\lambda = 0$: $x_1 + i x_2 = 0$, cioè $x_1 = -i x_2$. Con $x_2 = i$ viene $x_1 = 1$: autovettore $(1, i)$. Controllo: $H\,(1, i) = (1 + i \cdot i,\ -i + i) = (0, 0)$. - $\lambda = 2$: $-x_1 + i x_2 = 0$, cioè $x_1 = i x_2$. Con $x_2 = -i$ viene $x_1 = 1$: autovettore $(1, -i)$. Controllo: $H\,(1, -i) = (1 + 1,\ -i - i) = 2\,(1, -i)$. Il prodotto hermitiano è $1 + i \cdot \overline{-i} = 1 + i \cdot i = 0$, e tutti e due sono lunghi $\sqrt 2$. Quindi $$W = \frac{1}{\sqrt 2}\begin{pmatrix} 1 & 1 \\ i & -i \end{pmatrix}, \qquad W^{-1} = {}^t\bar W = \frac{1}{\sqrt 2}\begin{pmatrix} 1 & -i \\ 1 & i \end{pmatrix},$$ $$W^{-1} H W = \begin{pmatrix} 0 & 0 \\ 0 & 2 \end{pmatrix}.$$ ::: ::: esercizio esame Matrice con parametro (appello del 15/01/2026, problema 11) Si consideri la matrice $A = \begin{pmatrix} 1 & k^2 & 0 \\ k & k + 1 & k \\ 0 & k & 1 \end{pmatrix}$ in $M(3, \R)$, dove $k$ è un parametro reale. (1) Determinare per quali valori di $k$ la matrice $A$ è invertibile. (2) Calcolare ${}^tA - A$, e stabilire per quali valori di $k$ la matrice $A$ ammette sia autovalori reali, sia una base ortonormale di autovettori. (3) Posto $k = 1$, calcolare una base ortonormale di autovettori. ::: soluzione (1) Sviluppo lungo la prima riga: $$\det A = 1 \cdot \big((k + 1) \cdot 1 - k \cdot k\big) - k^2 \cdot (k \cdot 1 - k \cdot 0) + 0 = k + 1 - k^2 - k^3.$$ Raccolgo: $-k^3 - k^2 + k + 1 = -k^2(k + 1) + (k + 1) = (k + 1)(1 - k^2) = -(k + 1)^2 (k - 1)$. Quindi $A$ è invertibile per $k$ diverso da 1 e da $-1$. (2) ${}^tA = \begin{pmatrix} 1 & k & 0 \\ k^2 & k + 1 & k \\ 0 & k & 1 \end{pmatrix}$, quindi $${}^tA - A = \begin{pmatrix} 0 & k - k^2 & 0 \\ k^2 - k & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}.$$ $A$ è simmetrica esattamente quando $k^2 = k$, cioè $k = 0$ oppure $k = 1$. Per il Corollario 26.2 la base ortonormale di autovettori c'è esattamente quando $A$ è simmetrica, e allora anche gli autovalori sono reali. Risposta: $k = 0$ oppure $k = 1$. (3) Con $k = 1$: $A = \begin{pmatrix} 1 & 1 & 0 \\ 1 & 2 & 1 \\ 0 & 1 & 1 \end{pmatrix}$. Sviluppando lungo la prima riga, $$\begin{aligned} p_A(\lambda) &= (1 - \lambda)\big[(2 - \lambda)(1 - \lambda) - 1\big] - 1 \cdot \big[(1 - \lambda) - 0\big] \\ &= (1 - \lambda)\big[\lambda^2 - 3\lambda + 1 - 1\big] = (1 - \lambda)\,\lambda\,(\lambda - 3). \end{aligned}$$ Autovalori 0, 1 e 3, distinti. - $\lambda = 0$: $x_1 + x_2 = 0$ e $x_2 + x_3 = 0$: $(1, -1, 1)$. - $\lambda = 1$: $A - I = \begin{pmatrix} 0 & 1 & 0 \\ 1 & 1 & 1 \\ 0 & 1 & 0 \end{pmatrix}$ dà $x_2 = 0$ e $x_1 + x_3 = 0$: $(1, 0, -1)$. - $\lambda = 3$: $A - 3I = \begin{pmatrix} -2 & 1 & 0 \\ 1 & -1 & 1 \\ 0 & 1 & -2 \end{pmatrix}$ dà $x_2 = 2x_1$ e $x_2 = 2x_3$: $(1, 2, 1)$. Sono perpendicolari a due a due, perché gli autovalori sono distinti. Controllo: $1 - 1 + 0 = 0$, $1 - 2 + 1 = 0$, $1 + 0 - 1 = 0$. Resi lunghi 1: $$\tfrac{1}{\sqrt 3}(1, -1, 1), \qquad \tfrac{1}{\sqrt 2}(1, 0, -1), \qquad \tfrac{1}{\sqrt 6}(1, 2, 1).$$ Nota: 0 è un autovalore proprio per $k = 1$, e infatti per il punto (1) la matrice non è invertibile. ::: ::: esercizio esame Simmetrica per un solo valore del parametro Sia $A_k = \begin{pmatrix} 2 & k & 0 \\ 1 & 2 & 0 \\ 0 & 0 & 3 \end{pmatrix}$ con $k \in \R$. (1) Calcola ${}^tA_k - A_k$ e trova per quali $k$ la matrice è simmetrica. (2) Per quel valore trova una matrice ortogonale $M$ e una diagonale $D$ con ${}^tM A_k M = D$. (3) Per $k = 4$ la matrice è diagonalizzabile? Ha una base ortonormale di autovettori? ::: soluzione (1) ${}^tA_k - A_k = \begin{pmatrix} 0 & 1 - k & 0 \\ k - 1 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}$: è nulla solo per $k = 1$. (2) Con $k = 1$ il blocco in alto a sinistra è $\begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix}$, con autovalori 3 e 1 e autovettori $(1, 1)$ e $(1, -1)$. Il terzo vettore della base canonica dà ancora l'autovalore 3. Quindi - $\lambda = 3$ (doppio): $V_3 = \Span((1, 1, 0), (0, 0, 1))$, già perpendicolari; - $\lambda = 1$: $V_1 = \Span((1, -1, 0))$. Controllo con il polinomio: $(3 - \lambda)\big[(2 - \lambda)^2 - 1\big] = (3 - \lambda)(\lambda - 1)(\lambda - 3)$. Resi lunghi 1: $$M = \begin{pmatrix} \frac{1}{\sqrt 2} & 0 & \frac{1}{\sqrt 2} \\ \frac{1}{\sqrt 2} & 0 & -\frac{1}{\sqrt 2} \\ 0 & 1 & 0 \end{pmatrix}, \qquad D = \begin{pmatrix} 3 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 1 \end{pmatrix}.$$ (3) Con $k = 4$ il blocco $\begin{pmatrix} 2 & 4 \\ 1 & 2 \end{pmatrix}$ ha polinomio $(2 - \lambda)^2 - 4 = \lambda(\lambda - 4)$: autovalori 0 e 4, più l'autovalore 3. Tre autovalori reali **distinti**: $A_4$ è diagonalizzabile (lezione L18). Però non è simmetrica, quindi per il Corollario 26.2 **non** ha una base ortonormale di autovettori. Infatti gli autovettori di 4 e di 0 sono $(2, 1, 0)$ e $(-2, 1, 0)$, con prodotto scalare $-4 + 1 = -3$. ::: ::: esercizio difficile Esercizio 26.5 delle dispense: una matrice hermitiana Calcolare la diagonalizzazione della seguente matrice: $$A = \begin{pmatrix} 2 & i & i \\ -i & 1 & 0 \\ -i & 0 & 1 \end{pmatrix}.$$ ::: soluzione $A$ è hermitiana: la diagonale è reale, e il coniugato di $-i$ è $i$. Quindi c'è una base ortonormale di autovettori, per il prodotto hermitiano euclideo, e gli autovalori sono reali. **Polinomio caratteristico**, sviluppando lungo la prima riga: $$\det(A - \lambda I) = (2 - \lambda)(1 - \lambda)^2 - i\,\big[(-i)(1 - \lambda) - 0\big] + i\,\big[0 - (1 - \lambda)(-i)\big].$$ Il secondo pezzo è $-i \cdot (-i)(1 - \lambda) = i^2 (1 - \lambda) = -(1 - \lambda)$; il terzo è $i \cdot i(1 - \lambda) = -(1 - \lambda)$. Quindi $$\begin{aligned} \det(A - \lambda I) &= (1 - \lambda)\big[(2 - \lambda)(1 - \lambda) - 2\big] \\ &= (1 - \lambda)(\lambda^2 - 3\lambda) = (1 - \lambda)\lambda(\lambda - 3). \end{aligned}$$ Autovalori 0, 1 e 3, ciascuno con molteplicità 1: tutti reali, come previsto. **Autovettori.** - $\lambda = 0$: dalla seconda riga $-ix + y = 0$, cioè $y = ix$; dalla terza $z = ix$. La prima torna: $2x + i(ix) + i(ix) = 2x - x - x = 0$. Con $x = 1$: $v_1 = (1, i, i)$. - $\lambda = 1$: $A - I = \begin{pmatrix} 1 & i & i \\ -i & 0 & 0 \\ -i & 0 & 0 \end{pmatrix}$. La seconda riga dà $x = 0$, la prima $iy + iz = 0$, cioè $z = -y$: $v_2 = (0, 1, -1)$. - $\lambda = 3$: $A - 3I = \begin{pmatrix} -1 & i & i \\ -i & -2 & 0 \\ -i & 0 & -2 \end{pmatrix}$. Dalla seconda riga $y = -\frac{i}{2}x$, dalla terza $z = -\frac{i}{2}x$. Con $x = 2i$: $y = -\frac i2 \cdot 2i = 1$ e $z = 1$, quindi $v_3 = (2i, 1, 1)$. Controllo sulla prima riga: $-2i + i + i = 0$. **Perpendicolarità**, con il prodotto hermitiano: $\langle v_1, v_2 \rangle = 0 + i - i = 0$; $\langle v_1, v_3 \rangle = 1 \cdot \overline{2i} + i + i = -2i + 2i = 0$; $\langle v_2, v_3 \rangle = 0 + 1 - 1 = 0$. Sono già perpendicolari, perché gli autovalori sono distinti: basta renderli lunghi 1. **Vettori lunghi 1**, con i moduli al quadrato: le lunghezze al quadrato sono 3, 2 e $4 + 1 + 1 = 6$. Le colonne divise per le lunghezze formano $$W = \begin{pmatrix} \frac{\sqrt 3}{3} & 0 & \frac{i\sqrt 6}{3} \\ \frac{\sqrt 3\, i}{3} & \frac{\sqrt 2}{2} & \frac{\sqrt 6}{6} \\ \frac{\sqrt 3\, i}{3} & -\frac{\sqrt 2}{2} & \frac{\sqrt 6}{6} \end{pmatrix}$$ (per esempio $\frac{2i}{\sqrt 6} = \frac{2i\sqrt 6}{6} = \frac{i\sqrt 6}{3}$), e $$\Lambda = W^{-1} A W = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 3 \end{pmatrix}.$$ **L'inversa senza conti.** Le dispense notano che ${}^t\bar W \cdot W = I_3$, quindi $W^{-1} = {}^t\bar W$. Il numero al posto $(j, k)$ di ${}^t\bar W W$ è il prodotto hermitiano della colonna $k$ con la colonna $j$: vale 1 se sono la stessa colonna e 0 altrimenti, perché le colonne sono ortonormali. Attenzione: senza il coniugato non funziona. Il posto $(1, 1)$ di ${}^tW W$ è $\frac 13 + \left(\frac{\sqrt 3 i}{3}\right)^2 + \left(\frac{\sqrt 3 i}{3}\right)^2 = \frac 13 - \frac 13 - \frac 13 = -\frac 13$, non 1. ::: ::: esercizio difficile Il viceversa facile, con le matrici Sia $A \in M(n, \R)$ e supponi che esista una matrice ortogonale $M$ con ${}^tM A M = D$ diagonale. Dimostra direttamente che $A$ è simmetrica. ::: soluzione Da ${}^tM A M = D$, moltiplico a sinistra per $M$ e a destra per ${}^tM$. Uso $M\,{}^tM = I$: per una matrice quadrata ${}^tM M = I$ dà anche $M\,{}^tM = I$. Viene $$A = M D\, {}^tM.$$ Traspongo, con la regola della trasposta di un prodotto e ${}^tD = D$, perché una matrice diagonale è simmetrica: $${}^tA = {}^t({}^tM)\, {}^tD\, {}^tM = M D\, {}^tM = A.$$ Quindi $A$ è simmetrica. È il passaggio da (3) a (1) del Corollario 26.2, senza passare per le macchine. ::: ::: esercizio difficile Autovalori reali per le simmetriche $2 \times 2$, a mano (a) Dimostra che $S = \begin{pmatrix} a & b \\ b & c \end{pmatrix}$ con $a, b, c \in \R$ ha sempre autovalori reali. (b) Quando i due autovalori coincidono? (c) Verifica che, se $b \neq 0$, gli autovettori sono ortogonali. ::: soluzione (a) Il polinomio è $\lambda^2 - (a + c)\lambda + (ac - b^2)$, con discriminante $$\Delta = (a + c)^2 - 4(ac - b^2) = (a - c)^2 + 4b^2.$$ È una somma di quadrati, mai negativa: le radici sono reali. (b) Il discriminante è zero esattamente quando $a = c$ e $b = 0$, cioè $S = aI$: un solo autovalore, e ogni vettore è un autovettore. (c) Se $b$ non è zero, i due autovalori $\lambda_1$ e $\lambda_2$ sono distinti. Dalla prima riga di $S - \lambda I$, $(a - \lambda)x + by = 0$, un autovettore di $\lambda$ è $v = (b, \lambda - a)$. Allora $$\langle v_1, v_2 \rangle = b^2 + (\lambda_1 - a)(\lambda_2 - a) = b^2 + \lambda_1\lambda_2 - a(\lambda_1 + \lambda_2) + a^2.$$ Dai numeri del polinomio, $\lambda_1 + \lambda_2 = a + c$ e $\lambda_1 \lambda_2 = ac - b^2$. Sostituendo: $b^2 + ac - b^2 - a^2 - ac + a^2 = 0$. ::: ## Domande di ripasso ::: domanda Che cosa dice il teorema spettrale? Prendi uno spazio reale con un prodotto scalare definito positivo, o complesso con un prodotto hermitiano definito positivo. Una sua macchina è autoaggiunta esattamente quando ha una base ortonormale di autovettori e tutti i suoi autovalori sono reali (Teorema 26.1). ::: ::: domanda Perché con i numeri complessi serve la condizione «autovalori reali»? Perché ci sono macchine con una base ortonormale di autovettori che non sono autoaggiunte, come $T(x, y) = (ix, y)$ su $\C^2$. La loro matrice diagonale ha un numero non reale, quindi non è hermitiana. ::: ::: domanda Come si dimostra che gli autovalori di una macchina autoaggiunta sono reali? Se $T(v) = \lambda v$ con $v$ diverso da zero: $\lambda \langle v, v \rangle = \langle T(v), v \rangle = \langle v, T(v) \rangle = \bar\lambda \langle v, v \rangle$. Siccome $\langle v, v \rangle$ è positivo, $\lambda = \bar\lambda$. ::: ::: domanda Qual è l'idea dell'induzione nella dimostrazione? Si prende un autovettore $v$, che con i complessi esiste per il teorema fondamentale dell'algebra. La retta di $v$ è invariante, quindi anche la stanza perpendicolare $U$ lo è (Proposizione 25.10). Dentro $U$ la macchina è autoaggiunta e la dimensione è una in meno: per induzione c'è una base ortonormale di autovettori, a cui si aggiunge $v$ reso lungo 1. ::: ::: domanda Come si passa dai numeri complessi ai reali? Si scrive la macchina in una base ortonormale con una matrice reale simmetrica. Vista come complessa, ha autovalori reali: il polinomio ha una radice reale $\lambda$, e il sistema $(S - \lambda I)x = 0$ dà un autovettore reale. Poi la stessa induzione. ::: ::: domanda Che cosa dice il Corollario 26.2? Per una matrice reale $A$ sono equivalenti: $A$ simmetrica; la sua macchina ha una base ortonormale di autovettori; c'è una matrice ortogonale $M$ con ${}^tM A M = M^{-1} A M$ diagonale. ::: ::: domanda Che cos'è una matrice ortogonale e perché è comoda? Una matrice reale con ${}^tM M = I$: le sue colonne sono lunghe 1 e perpendicolari. È comoda perché l'inversa è la trasposta, senza conti. ::: ::: domanda Perché autovettori di autovalori diversi di una matrice simmetrica sono perpendicolari? Da $\lambda \langle v, w \rangle = \langle Av, w \rangle = \langle v, Aw \rangle = \mu \langle v, w \rangle$ viene $(\lambda - \mu)\langle v, w \rangle = 0$, e $\lambda - \mu$ non è zero. ::: ::: domanda Quando serve Gram–Schmidt per diagonalizzare una matrice simmetrica? Solo dentro un autospazio di dimensione almeno 2, se la base trovata risolvendo il sistema non è già perpendicolare. Tra autospazi diversi la perpendicolarità è automatica. ::: ::: domanda Una matrice diagonalizzabile è sempre simmetrica? No. $\begin{pmatrix} 3 & 1 \\ 0 & 1 \end{pmatrix}$ è diagonalizzabile ma non simmetrica: ha una base di autovettori, ma non una base ortonormale di autovettori. ::: ::: domanda Come cambia il metodo per una matrice hermitiana? Prodotti e lunghezze si calcolano con il prodotto hermitiano, cioè con i moduli al quadrato. La matrice $W$ degli autovettori resi lunghi 1 ha come inversa la trasposta coniugata. ::: ::: domanda Che cosa c'entra il teorema spettrale con la PCA? La matrice $S = \frac 1N \sum x_i\, {}^t x_i$ dei dati centrati è simmetrica, quindi ha una base ortonormale di autovettori. Quelli con gli autovalori più grandi sono le direzioni in cui i dati variano di più; proiettando su di loro si riduce la dimensione dei dati. ::: ## Glossario ```glossario Spettro | L'insieme degli autovalori di un endomorfismo o di una matrice. Teorema spettrale | Un endomorfismo è autoaggiunto esattamente quando ha una base ortonormale di autovettori e autovalori reali (Teorema 26.1). Endomorfismo autoaggiunto | $T$ con $\langle T(v), w \rangle = \langle v, T(w) \rangle$ per ogni $v, w$ (lezione L25). Base ortonormale di autovettori | Una base di autovettori lunghi 1 e perpendicolari a due a due; in essa la matrice dell'endomorfismo è diagonale. Matrice ortogonale | Una matrice reale con ${}^tM M = I$: le colonne sono una base ortonormale e l'inversa è la trasposta. Diagonalizzazione ortogonale | La scrittura ${}^tM A M = D$ con $M$ ortogonale e $D$ diagonale; possibile esattamente per le matrici simmetriche (Corollario 26.2). Matrice simmetrica | Una matrice reale uguale alla sua trasposta; ha autovalori reali ed è diagonalizzabile con una matrice ortogonale. Matrice hermitiana | Una matrice complessa con ${}^tH = \bar H$; ha autovalori reali e una base ortonormale di autovettori per il prodotto hermitiano. Trasposta coniugata | ${}^t\bar W$; per una matrice con colonne ortonormali, per il prodotto hermitiano, è l'inversa. Autospazio | $V_\lambda$: gli autovettori di $\lambda$ più il vettore zero; per le matrici simmetriche la sua dimensione è la molteplicità algebrica di $\lambda$. Molteplicità algebrica e geometrica | Quante volte $\lambda$ è radice del polinomio caratteristico, e la dimensione dell'autospazio; per le matrici simmetriche coincidono. Induzione sulla dimensione | La tecnica della dimostrazione: si stacca un autovettore e si ricomincia nella stanza perpendicolare. Teorema fondamentale dell'algebra | Ogni polinomio complesso non costante ha una radice complessa; garantisce un autovalore con i numeri complessi. PCA | Analisi delle componenti principali: diagonalizza la matrice simmetrica dei dati per trovare le direzioni in cui variano di più. ``` ## Checklist ```checklist - So enunciare il teorema spettrale e spiegare perché con i numeri complessi serve la condizione sugli autovalori reali. - So dimostrare che gli autovalori di una macchina autoaggiunta sono reali. - So raccontare la dimostrazione per induzione: autovettore, stanza perpendicolare invariante, ipotesi sulla dimensione più piccola. - So che una matrice reale simmetrica ha autovalori reali ed è diagonalizzabile con una matrice ortogonale. - So enunciare il Corollario 26.2 e usare che l'inversa di una matrice ortogonale è la trasposta. - So dimostrare che autovettori di autovalori diversi di una matrice simmetrica sono perpendicolari. - So trovare una base ortonormale di autovettori anche con un autovalore doppio, usando Gram–Schmidt dentro l'autospazio. - So diagonalizzare una matrice hermitiana usando il prodotto hermitiano e la trasposta coniugata. - So usare ${}^tA - A$ per decidere, al variare di un parametro, quando c'è una base ortonormale di autovettori. - So distinguere «diagonalizzabile» da «diagonalizzabile con una base ortonormale». ``` ## Fonti - **Dispense 2026 del corso** (Buzano, Radeschi), lezione 26 «Teorema spettrale II», pp. 134–138: introduzione, sezione 26.A (Teorema 26.1 con la dimostrazione, Corollario 26.2, collegamento con la PCA) e sezione 26.B (Esercizi 26.3, 26.4 e 26.5, svolti per intero negli esercizi). Dalle lezioni precedenti: diagonalizzazione (lezioni 17–18), prodotti scalari e Gram–Schmidt (lezioni 19–21), matrici ortogonali (Definizione 22.10), prodotti hermitiani ed endomorfismi autoaggiunti (lezione 25). - **B. Martelli, *Geometria e algebra lineare***, testo di riferimento del corso, gratuito online: [people.dm.unipi.it/martelli](https://people.dm.unipi.it/martelli/Alg%20Lin.pdf). Qui: §11.3 (teorema spettrale, Corollario 11.3.2, conseguenze) ed Esercizi 11.1–11.2. - **Appelli d'esame** (Moodle 2025/26, [id 3503](https://informatica.i-learn.unito.it/course/view.php?id=3503)): testo riportato del 16/01/2025 (domanda 7), del 02/09/2025 (problema 11, punto 3) e del 15/01/2026 (problema 11, svolto come esercizio 11), con soluzioni scritte per questi appunti; citato per tipo di domanda l'appello del 24/01/2024 (problema 11). - Le parti **«Oltre le dispense»** (caso $2 \times 2$ a mano, perpendicolarità degli autovettori di autovalori diversi, il metodo passo per passo, esempio numerico di PCA, esempi ed esercizi aggiuntivi) servono a collegare la lezione al libro e all'esame. - Le spiegazioni a parole, gli esempi con i numeri, i riquadri «Prova tu» e gli esercizi di riscaldamento sono di questi appunti. --- > File: `contesto_ai/MDAG/riassunti/settimana_01_AG.md` ```yaml corso: MDAG modulo: AG lezione: S1 tipo: riassunto titolo: "Settimana 1: i numeri reali" data: 2026-10-01 docenti: Reto Buzano e Marco Radeschi sopratitolo: Riassunto settimanale · Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · 28/09 – 02/10/2026 descrizione: >- Riassunto della settimana 1 di Algebra lineare e Geometria (MDAG, parte 2): le famiglie dei numeri, i numeri reali e gli irrazionali, perché la radice di 2 non è una frazione, che cos'è un campo, l'ordine, graffe, tonde e quadre, i conti con le radici senza calcolatrice. lede: >- La lezione della settimana in poche pagine: le quattro famiglie dei numeri, le nove regole dei conti, le parentesi e le regole delle radici, con le domande per controllarti. materiale: dispense scheda: Lezioni: "[L01](L01_numeri_reali.html), nel canale B giovedì 01/10" Dispense: Buzano e Radeschi 2026, pp. 2–5 Tempo di ripasso: 20–30 minuti fonte: >- Gli appunti della lezione L01 di Algebra lineare e Geometria, scritti sulle dispense 2026 del corso (R. Buzano, M. Radeschi) appunti_html: appunti/MDAG/riassunto_settimana_01_AG.html genera_html: true ``` ## In breve - I numeri sono quattro famiglie, una dentro l'altra: $\N \subset \Z \subset \Q \subset \R$. - Alcuni numeri reali non sono frazioni: sono **irrazionali**, come $\sqrt 2$. Che non sia una frazione si dimostra **per assurdo**. - Un **campo** è un insieme di numeri in cui valgono le nove regole dei conti: $\Q$, $\R$ e $\C$ sì, $\N$ e $\Z$ no. - Graffe, tonde e quadre dicono cose diverse. - All'esame non c'è la calcolatrice: le radici si semplificano a mano. ## L01 · I numeri reali | Simbolo | Nome | Che cosa contiene | Esempi | |:-:|---|---|---| | $\N$ | naturali | i numeri per contare, **zero compreso** | 0, 1, 2, 3… | | $\Z$ | interi | i naturali e i loro opposti | −3, 0, 7 | | $\Q$ | razionali | le frazioni $\frac ab$ con $b \neq 0$ | $\frac12$, $-\frac34$, 5 | | $\R$ | reali | i numeri con infinite cifre dopo la virgola, anche senza ripetizioni | $\sqrt 2$, $\pi$, $e$ | - Ogni famiglia sta dentro la successiva e ha qualcosa in più: $\N \subsetneq \Z \subsetneq \Q \subsetneq \R$. - Una frazione ha tante scritture: $\frac12 = \frac24 = \frac36$. Le frazioni sono i numeri con la virgola che **finiscono o si ripetono**; quelli che non si ripetono mai sono **irrazionali**. - Una stranezza: $0{,}999\ldots = 1$, due scritture dello stesso numero. - In modo preciso un numero reale è una lista di frazioni che si avvicinano sempre di più tra loro: serve per capire, non per l'esame. $\R$ è **completo**, cioè non ha buchi; $\Q$ invece sì: $\left(1 + \frac1n\right)^n$ sale verso $e \approx 2{,}718$, che non è una frazione. **Perché $\sqrt 2$ non è una frazione.** $\sqrt 2$ è la diagonale di un quadrato di lato 1, per Pitagora. Si ragiona **per assurdo**: 1. fai finta che $\sqrt 2 = \frac ab$, con la frazione già ridotta ai minimi termini; 2. allora $a^2 = 2b^2$, quindi $a^2$ è pari e anche $a$ è pari: $a = 2k$; 3. sostituendo, $4k^2 = 2b^2$, cioè $b^2 = 2k^2$: anche $b$ è pari; 4. ma allora la frazione si poteva ancora semplificare per 2. Contraddizione: $\sqrt 2$ non è una frazione. > [!TRAPPOLA] Irrazionale per irrazionale > Il prodotto di due irrazionali non è sempre irrazionale: $\sqrt 2 \cdot \sqrt 2 = 2$. **Le nove regole dei conti.** Per la somma: associativa, commutativa, c'è lo 0, ogni numero ha l'opposto. Per il prodotto: associativa, commutativa, c'è l'1, ogni numero **diverso da 0** ha l'inverso. In più la distributiva, $a(b + c) = ab + ac$. > [!DEF] Campo > Un insieme di numeri con somma e prodotto in cui valgono tutte e nove le regole. **Come si legge.** In pratica un campo è un insieme in cui fai le quattro operazioni senza uscirne. $\Q$, $\R$ e $\C$ sono campi; $\N$ no, perché manca $-1$; $\Z$ no, perché manca $\frac12$. Lo zero non ha inverso: non si divide per zero. **L'ordine.** $a > b$ vuol dire che $a - b$ è positivo, cioè che $a$ sta più a destra sulla retta dei numeri. $\N$, $\Z$, $\Q$ e $\R$ sono ordinati; $\C$ no. | Scrittura | Vuol dire | |---|---| | $\{1, 2\}$ | l'insieme con i due elementi 1 e 2 | | $(1, 2)$ | i reali tra 1 e 2, estremi **esclusi**; oppure il punto o il vettore di coordinate 1 e 2, a seconda del contesto | | $[1, 2]$ | i reali tra 1 e 2, estremi **compresi** | | $\lambda$, $\mu$, $\vartheta$ | lettere greche: di solito $\lambda$ e $\mu$ sono numeri, $\vartheta$ un angolo | | $\forall$, $\exists$, $\Longrightarrow$ | «per ogni», «esiste», «se … allora» | > [!TRAPPOLA] «Se … allora» non vale al contrario > Se $a = 2$ allora $a^2 = 4$; ma da $a^2 = 4$ non segue $a = 2$, perché anche $a = -2$ va bene. Quando una frase vale nei due versi si dice «se e solo se». > [!METODO] Conti con le radici senza calcolatrice > 1. $\sqrt a \cdot \sqrt b = \sqrt{ab}$, e un quadrato esce dalla radice: $\sqrt{12} = \sqrt{4 \cdot 3} = 2\sqrt 3$. > 2. Si sommano solo radici uguali: $2\sqrt 3 + 5\sqrt 3 = 7\sqrt 3$, mentre $\sqrt 2 + \sqrt 3$ resta così. > 3. Per togliere la radice dal denominatore moltiplica sopra e sotto per quella radice: $\frac1{\sqrt 3} = \frac{\sqrt 3}3$. > 4. $\sqrt{a + b}$ **non** è $\sqrt a + \sqrt b$: $\sqrt{9 + 16} = 5$, mentre $3 + 4 = 7$. ## Verso l'esame - Prova comune ai tre canali: **10 quiz** a 5 risposte; con almeno **6** giuste si correggono i **2 problemi** da 11 punti. Dura 2 ore, **senza calcolatrice**, e si possono portare solo **4 facciate scritte a mano**. - Appelli 2026/27: venerdì 22/01/2027 e venerdì 05/02/2027, alle 14:00. Il voto di MDAG è la media con Matematica Discreta. - Da questa lezione: riconoscere un campo, usare le parentesi giuste, semplificare le radici. Nell'appello del 07/09/2026 le risposte per una distanza erano $3$, $\frac{\sqrt 3}3$, $3\sqrt 3$, $\sqrt 3$ e $3 + \sqrt 3$: bisogna riconoscere che $\frac1{\sqrt 3}$ e $\frac{\sqrt 3}3$ sono lo stesso numero. - Sul foglio da 4 facciate: la tabella delle famiglie, le nove regole, le regole delle radici. ## Domande di ripasso ::: domanda $-4$ sta in $\N$? In $\Z$? In $\Q$? Non sta in $\N$; sta in $\Z$ e in $\Q$. ::: ::: domanda $0{,}333\ldots$ è razionale? Sì: è $\frac13$, le cifre si ripetono. ::: ::: domanda $\Z$ è un campo? Perché? No: 2 non ha inverso in $\Z$, perché $\frac12$ non è un intero. ::: ::: domanda Che differenza c'è tra $(2, 5)$ e $[2, 5]$? Il 5 sta in tutti e due? Il primo esclude gli estremi, il secondo li comprende: il 5 sta solo in $[2, 5]$. ::: ::: domanda Semplifica $\sqrt{50}$ e $\frac6{\sqrt 2}$. $\sqrt{50} = \sqrt{25 \cdot 2} = 5\sqrt 2$; $\frac6{\sqrt 2} = \frac{6\sqrt 2}2 = 3\sqrt 2$. ::: ::: domanda $\sqrt 2 \cdot \sqrt 8$ è irrazionale? No: $\sqrt 2 \cdot \sqrt 8 = \sqrt{16} = 4$. ::: ## Quiz d'esame Nei 15 appelli di Algebra lineare dal 2024 al 2026 non c'è una domanda solo sui numeri reali. I conti di questa settimana, con radici e frazioni senza calcolatrice, stanno però dentro molte domande vere. Le prime tre domande qui sotto sono proprio quei conti, presi dalle domande indicate; la quarta è una domanda vera intera. Le risposte sono quelle delle soluzioni ufficiali, ricontrollate con un programma. ```quiz D: Dal primo passo dell'appello del 15/01/2026, domanda 5. Per $z = \frac{\sqrt 3}2 - \frac 12 i$ serve la distanza dall'origine, $\sqrt{\left(\frac{\sqrt 3}2\right)^2 + \left(\frac 12\right)^2}$. Quanto vale? + $1$ - $\frac{\sqrt 3 + 1}2$ - $\frac{\sqrt 3}4 + \frac 14$ - $\frac 12$ - $2$ = $\left(\frac{\sqrt 3}2\right)^2 = \frac 34$ e $\left(\frac 12\right)^2 = \frac 14$; la somma è 1, e la radice di 1 è 1. La risposta più insidiosa è $\frac{\sqrt 3 + 1}2$: si ottiene togliendo la radice pezzo per pezzo, ma $\sqrt{a^2 + b^2}$ non è $a + b$. $\frac{\sqrt 3}4$ dimentica che $(\sqrt 3)^2 = 3$. D: Dal primo passo dell'appello del 24/01/2024, domanda 2. Per $z = -\frac{\sqrt 2}2 + \frac{\sqrt 2}2 i$ serve $\left(\frac{\sqrt 2}2\right)^2$. Quanto vale? - $\frac{\sqrt 2}4$ + $\frac 12$ - $1$ - $\frac{\sqrt 2}2$ - $2$ = Si eleva sopra e sotto: $\frac{(\sqrt 2)^2}{2^2} = \frac 24 = \frac 12$. Allora la distanza di $z$ è $\sqrt{\frac 12 + \frac 12} = 1$. La risposta più insidiosa è $\frac{\sqrt 2}4$: eleva solo il numero sotto. D: Dall'appello dell'08/02/2024, domanda 4. Il conto finale della domanda è la somma dei tre numeri $\sqrt 2 \cdot \sqrt 3 - \sqrt 2 \cdot \sqrt 3$, $-\sqrt 3 \cdot \sqrt 2 + \sqrt 3 \cdot \sqrt 2$ e $\sqrt 5 \cdot \sqrt 5$. Le risposte della domanda vera erano queste: quale è giusta? - $30$ - $(\sqrt 2 + \sqrt 3 + \sqrt 5)^2$ + $5$ - $\sqrt{30}$ - $\sqrt 5$ = I primi due numeri valgono 0, perché sono un numero meno sé stesso. Il terzo è $\sqrt 5 \cdot \sqrt 5 = 5$. La risposta più insidiosa è $(\sqrt 2 + \sqrt 3 + \sqrt 5)^2$: sembra contenere tutti i pezzi, ma vale $10 + 2\sqrt 6 + 2\sqrt{10} + 2\sqrt{15}$. $\sqrt{30}$ moltiplica tutte le radici insieme. La domanda vera chiedeva la traccia del prodotto di due matrici, che vedrai nella lezione L08: la soluzione ufficiale è 5. D: Appello del 07/02/2025, domanda 2. Qual è la risposta corretta alla domanda «$\C$ ammette una struttura di spazio vettoriale su $\R$?» - No, poiché $\C$ è già uno spazio vettoriale su $\C$ stesso. - Sì, perché ogni campo è uno spazio vettoriale su $\R$. - No, ma poiché $\C$ contiene $\R$, $\R$ è uno spazio vettoriale su $\C$. - No, in quanto $\C$ e $\R$ sono campi diversi. + Sì, $\R$ è sottoinsieme di $\C$ e le operazioni $+$ e $\cdot$ su $\R$ sono le stesse che in $\C$. = Il punto chiave è della settimana 1: $\R$ sta dentro $\C$, e un reale per un complesso dà ancora un complesso. La risposta più insidiosa è «ogni campo è uno spazio vettoriale su $\R$»: è falsa, per esempio $\Q$ non contiene $\R$. La soluzione ufficiale nota che la prima e la quarta dicono cose vere che non rispondono alla domanda. Che cosa sia uno spazio vettoriale lo vedrai nella lezione L05. ``` ## Fonti - La lezione completa: [L01 · Numeri reali](L01_numeri_reali.html), con quiz degli appelli ed esercizi svolti. Tutte le 26 lezioni di Algebra lineare e Geometria sono già nel sito. - R. Buzano, M. Radeschi, dispense 2026 del corso, pp. 2–5. - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). --- > File: `contesto_ai/MDAG/riassunti/settimana_01_MD.md` ```yaml corso: MDAG modulo: MD lezione: S1 tipo: riassunto titolo: "Settimana 1: insiemi, De Morgan, induzione e partizioni" data: 2026-10-02 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Riassunto settimanale · Parte 1 (modA) · Matematica Discreta · Canali A, B e C · 28/09 – 02/10/2026 descrizione: >- Riassunto della settimana 1 di Matematica Discreta (MDAG, parte 1): insiemi, elementi e sottoinsiemi, per ogni ed esiste, insieme vuoto e cardinalità, insieme delle parti, unione, intersezione, differenza e complementare, leggi di De Morgan, assiomi di Peano e induzione, ricoprimenti, partizioni e insieme quoziente. lede: >- Le due lezioni della settimana in poche pagine: le definizioni da sapere, i metodi che servono nella domanda 1 e nella domanda 2 del quiz, le trappole e le domande per controllarti. materiale: libro scheda: Lezioni: "[D01](D01_insiemi_induzione.html) mer 30/09 · [D02](D02_complementare_induzione_partizioni.html) ven 02/10" Libro: A. Mori, Lezioni di Matematica Discreta, cap. 1, pp. 1–13 Tempo di ripasso: 40 minuti fonte: >- Gli appunti delle lezioni D01 e D02 di Matematica Discreta, scritti sul libro di A. Mori, cap. 1 appunti_html: appunti/MDAG/riassunto_settimana_01_MD.html genera_html: true ``` ## In breve - Un **insieme** è un sacchetto di oggetti, i suoi **elementi**: conta solo chi c'è dentro, non l'ordine né le ripetizioni. - **Elemento** ($\in$) e **sottoinsieme** ($\subset$) sono due cose diverse: è il trucco di quasi tutte le domande 1 del quiz. - Con gli insiemi si fanno **unione**, **intersezione**, **differenza** e **complementare**. Le **leggi di De Morgan** dicono come si comporta il «fuori». - I naturali si descrivono con gli **assiomi di Peano**, e da lì viene l'**induzione**. Un insieme con $n$ elementi ha $2^n$ sottoinsiemi. - Una **partizione** divide un insieme in parti non vuote che non si toccano: si riconosce con tre controlli. ## D01 · Insiemi e induzione (mer 30/09) **Insiemi.** - Si scrive con le graffe: con l'**elenco**, $\{1, 3, 5\}$, o con una **regola**, $\{n \in \N \mid n < 5\} = \{0, 1, 2, 3, 4\}$. La barra si legge «tali che». - $\{1, 2\} = \{2, 1\} = \{1, 1, 2\}$: ordine e ripetizioni non contano. - Un insieme può stare dentro un altro: $\{0, \{1, -1\}\}$ ha **due** elementi, lo zero e il sacchetto $\{1, -1\}$. Le graffe interne contano. - L'**insieme vuoto** $\emptyset$ non ha elementi; $\{\emptyset\}$ invece ne ha uno, il vuoto. - La **cardinalità** $\lvert A \rvert$ è il numero degli elementi: $\lvert \{a, b, a\} \rvert = 2$. **Per ogni ed esiste.** $\forall$ si legge «per ogni», $\exists$ «esiste». Per dire il contrario «per ogni» diventa «esiste» e la proprietà si nega: il contrario di «tutti hanno superato l'esame» è «**almeno uno** non l'ha superato», non «nessuno». Per smontare una frase con «per ogni» basta un **controesempio**. **Sottoinsiemi.** $B \subset A$ se **ogni** elemento di $B$ sta in $A$. Il vuoto e $A$ stesso sono sempre sottoinsiemi di $A$. Mori scrive $\subset$ anche quando i due insiemi possono essere uguali. Due insiemi sono uguali quando ognuno è contenuto nell'altro: è la **doppia inclusione**. L'**insieme delle parti** $P(A)$ ha come elementi tutti i sottoinsiemi di $A$: $P(\{a, b\}) = \{\emptyset, \{a\}, \{b\}, \{a, b\}\}$. > [!METODO] Elemento o sottoinsieme? > 1. Elenca gli elementi di $A$ guardando solo le virgole al primo livello di graffe. > 2. «$x \in A$» è vera se $x$ compare **identico** in quell'elenco. > 3. «$X \subset A$» è vera se $X$ è un insieme e **ognuno** dei suoi elementi compare nell'elenco. > > Con $A = \{1, 2, 3\}$: $\emptyset \subset A$ sì, $\emptyset \in A$ no; $\{1\} \subset A$ sì, $\{1\} \in A$ no; $1 \subset A$ no, perché 1 non è un insieme. **Naturali e induzione.** - $\N = \{0, 1, 2, \dots\}$: per Mori **lo zero è un naturale**. - **Induzione**, come il domino: **passo base** (la proprietà vale per il primo numero) e **passo induttivo** (se vale per $n$, vale per $n + 1$). Allora vale per tutti. Il passo base non si salta. - Esempi: $1 + 2 + \dots + n = \frac{n(n + 1)}2$; quello del libro, $1^2 + 2^2 + \dots + n^2 = \frac{n(n + 1)(2n + 1)}6$. - Un insieme con $n$ elementi ha $2^n$ sottoinsiemi: per ogni elemento la scelta è «dentro» o «fuori». Quelli di $\{1, \dots, 6\}$ che contengono 1 sono $2^5 = 32$: fissi l'1 e scegli il resto. - Le famiglie di numeri: $\N \subset \Z \subset \Q \subset \R$. Intervalli: $(a, b)$ con gli estremi esclusi, $[a, b]$ compresi. ## D02 · Complementare, De Morgan, induzione e partizioni (ven 02/10) L'esempio che gira per tutta la lezione: $X$ = le tessere da 1 a 10, $A$ = i pari $= \{2, 4, 6, 8, 10\}$, $B$ = i multipli di 3 $= \{3, 6, 9\}$. | Operazione | Si legge | Contiene | Con le tessere | |---|---|---|---| | $A \cap B$ | «$A$ intersecato $B$» | gli elementi in $A$ **e** in $B$ | $\{6\}$ | | $A \cup B$ | «$A$ unione $B$» | gli elementi in $A$ **oppure** in $B$, anche in tutti e due | $\{2, 3, 4, 6, 8, 9, 10\}$ | | $A \setminus B$ | «$A$ meno $B$» | gli elementi di $A$ che non stanno in $B$ | $\{2, 4, 8, 10\}$ | | $B \setminus A$ | «$B$ meno $A$» | l'ordine conta | $\{3, 9\}$ | | $C_X(A)$ | «complementare di $A$ in $X$» | gli elementi di $X$ fuori da $A$ | $\{1, 3, 5, 7, 9\}$ | - Due insiemi sono **disgiunti** se l'intersezione è vuota. - L'intersezione è un insieme: se $A \cap B = \{6\}$ allora $6 \in A \cap B$ e $\{6\} \subset A \cap B$; sono sbagliati $6 \subset A \cap B$ e $\{6\} \in A \cap B$. - $\lvert A \cup B \rvert = \lvert A \rvert + \lvert B \rvert - \lvert A \cap B \rvert$: $5 + 3 - 1 = 7$, perché gli elementi comuni si contano una volta. - Proprietà distributive: $(A \cup B) \cap C = (A \cap C) \cup (B \cap C)$, e la stessa con $\cap$ e $\cup$ scambiati. - Il complementare **dipende da $X$**: $\{2, 4\}$ in $\{1, \dots, 5\}$ ha complementare $\{1, 3, 5\}$, nelle dieci tessere $\{1, 3, 5, 6, 7, 8, 9, 10\}$. Il complementare del complementare è l'insieme di partenza. > [!TEOREMA] Leggi di De Morgan (teorema 1.18) > $$C_X(A \cup B) = C_X(A) \cap C_X(B) \qquad C_X(A \cap B) = C_X(A) \cup C_X(B)$$ **Come si legge.** Fuori dall'unione vuol dire fuori da **tutti e due**: con le tessere $\{1, 5, 7\}$. Fuori dall'intersezione vuol dire fuori da **almeno uno**: tutte tranne la 6. Il complementare entra nella parentesi e **scambia** $\cap$ e $\cup$, come nella logica: il contrario di «piove e fa freddo» è «non piove oppure non fa freddo». Le stesse leggi valgono con la differenza: $X \setminus (A \cap B) = (X \setminus A) \cup (X \setminus B)$. **Assiomi di Peano**, spiegati con quello che va storto quando ne manca uno: | Regola | Senza questa regola | |---|---| | 1. lo zero è un naturale | — | | 2. ogni naturale ha un successivo $s(n)$ | — | | 3. numeri diversi hanno successivi diversi | il **cappio**: da 0 a 5, con il successivo di 5 uguale a 3, si rientra a metà strada | | 4. lo zero non è il successivo di nessuno | l'**orologio**: dopo le 11 vengono le 0 | | 5. un insieme che contiene 0 e passa sempre al successivo contiene tutti i naturali | i **numeri fantasma**: una seconda fila che da 0 non si raggiunge mai | La regola 5 è il **principio di induzione**. > [!METODO] Dimostrare per induzione > 1. **Passo base**: controlla il primo numero, 0 oppure 1. > 2. **Ipotesi induttiva**: supponi la proprietà vera per $n$. > 3. **Passo induttivo**: scrivi la proprietà per $n + 1$, parti dal lato sinistro, usa l'ipotesi e arriva al lato destro. > 4. **Conclusione**: vale per tutti i numeri dal primo in poi. > > Esempi della lezione: $1 + 3 + 5 + \dots + (2n - 1) = n^2$, il quadrato che cresce di una «L»; $2^n \ge n + 1$. Il paradosso dei cavalli tutti dello stesso colore si rompe nel passo da 1 a 2. **Insieme delle parti, ricoprimenti, partizioni.** - I sottoinsiemi di $\{1, 2, 3\}$ per grandezza sono $1 + 3 + 3 + 1 = 8 = 2^3$. Aggiungere un elemento raddoppia il conto: quelli senza più quelli con. - Gli elementi di $P(A)$ sono insiemi: $\{1\} \in P(A)$ ma $1 \notin P(A)$. $P(\emptyset) = \{\emptyset\}$. Vale $P(A) \cap P(B) = P(A \cap B)$, ma $P(A \cup B)$ in generale è più grande di $P(A) \cup P(B)$. - Un **ricoprimento** di $X$ è un gruppo di sottoinsiemi di $X$ la cui unione è tutto $X$; le parti possono sovrapporsi. - $n\Z$ sono i multipli di $n$: $2\Z$ i pari, $2\Z + 1$ i dispari, e $\Z = 2\Z \cup (2\Z + 1)$. - L'**insieme quoziente** ha come elementi le parti di una partizione; $[x]$ è la parte che contiene $x$. Per pari e dispari: $[0]$ e $[1]$. - $\{1, 2, 3\}$ ha **5** partizioni; $\{a, b, c, d\}$ ne ha 15. > [!METODO] È una partizione? Tre controlli > 1. L'unione delle parti è **tutto** l'insieme, e nessuna parte contiene elementi estranei. > 2. **Nessuna parte è vuota.** > 3. **Nessuna sovrapposizione**, controllata su **ogni coppia** di parti: ogni elemento sta in una parte sola. ## Verso l'esame - Prova comune ai tre canali: **10 quiz** a 5 risposte e **2 problemi**, in 2 ore. Con meno di 6 nel quiz i problemi non si correggono; la sufficienza è 18. Si possono portare libro, appunti e una calcolatrice non programmabile. - Appelli 2026/27: martedì 19/01/2027 e mercoledì 03/02/2027, alle 14:00 (su MyUniTo l'appello si chiama «M.D.A.G.1»). - La **domanda 1** riguarda quasi sempre gli insiemi: $\in$ contro $\subset$, unione e intersezione (appelli del 2025 e del 2026). La **domanda 2** a volte chiede una partizione (04/02/2025) o «un ricoprimento ma non una partizione» (07/07/2025). - Nei problemi tornano i conteggi con $2^n$ e, più avanti, «almeno uno» contato come «tutti meno nessuno», cioè con il complementare. - Negli appelli di Matematica Discreta l'induzione non va scritta; a Fondamenti dell'Informatica il principio di induzione è tra gli argomenti dei quiz. ## Domande di ripasso ::: domanda Quanti elementi ha $\{\emptyset, \{\emptyset\}, \{1, 2\}\}$? Tre: il vuoto, l'insieme che contiene il vuoto e l'insieme $\{1, 2\}$. ::: ::: domanda Con $A = \{a, \{b\}\}$: $b \in A$? $\{b\} \in A$? $\{b\} \subset A$? $b \in A$ no: in $A$ c'è $\{b\}$, non $b$. $\{b\} \in A$ sì. $\{b\} \subset A$ no: servirebbe $b$ tra gli elementi di $A$. ::: ::: domanda Qual è il contrario di «esiste un numero pari maggiore di 10»? «Ogni numero pari è minore o uguale a 10». È falsa, quindi la frase di partenza è vera. ::: ::: domanda Quanti sottoinsiemi di $\{1, 2, 3, 4, 5\}$ contengono 1 e 2? $2^3 = 8$: fissati 1 e 2, gli altri tre elementi si scelgono liberamente. ::: ::: domanda Con $X = \{1, \dots, 8\}$, $A = \{1, 2, 3\}$ e $B = \{3, 4, 5\}$, quanto fa $C_X(A \cap B)$? $A \cap B = \{3\}$, quindi $C_X(A \cap B) = \{1, 2, 4, 5, 6, 7, 8\}$. ::: ::: domanda Le parti $\{1, 2\}$, $\{2, 3\}$, $\{4\}$ sono una partizione di $\{1, 2, 3, 4\}$? No: coprono tutto e nessuna è vuota, ma il 2 sta in due parti. ::: ::: domanda Quale assioma di Peano non vale per un orologio con le ore da 0 a 11? Il quarto: lo zero è il successivo di 11. ::: ::: domanda Nel passo induttivo di $1 + 3 + \dots + (2n - 1) = n^2$, dove devi arrivare? A $1 + 3 + \dots + (2n + 1) = (n + 1)^2$. ::: ## Quiz d'esame Tutte domande vere dei quiz di Matematica Discreta, con la data dell'appello. Le risposte giuste sono quelle delle soluzioni ufficiali, ricontrollate con un programma. All'esame ogni domanda vale 1 punto, e servono almeno 6 punti su 10 nel quiz perché i problemi vengano corretti. ```quiz D: Appello del 13/01/2026, domanda 1. Sia $A = \{b, e, h, k, m, p, q, s, u, x\}$. Allora: - $t \in A$ - $h \notin A$ - $\{h, s\} \in A$ + $\{k, q, u\} \subset A$ - $\{e, s, y\} \subset A$ = Le lettere $k$, $q$, $u$ sono tutte in $A$, quindi l'insieme che le contiene è un sottoinsieme. La risposta più insidiosa è $\{h, s\} \in A$: $h$ e $s$ ci sono, ma gli elementi di $A$ sono lettere, non insiemi. Sarebbe giusto $\{h, s\} \subset A$. $t$ e $y$ non sono in $A$, e $h$ invece c'è. D: Appello del 10/09/2026, domanda 1. Sia $X = \{c, \{f, m\}, p, q, \{x\}\}$. Allora: - $q \subset X$ - $\{c, p\} \in X$ + $\{f, m\} \in X$ - $\{x\} \subset X$ - $\emptyset \in X$ = $X$ ha cinque elementi, e due di loro sono insiemi: $\{f, m\}$ e $\{x\}$. Quindi $\{f, m\} \in X$. La risposta più insidiosa è $\{x\} \subset X$: vorrebbe dire che la lettera $x$ è un elemento di $X$, ma l'elemento è $\{x\}$, non $x$. $q$ non è un insieme, $\{c, p\}$ non è tra gli elementi, e il vuoto non è elencato. D: Appello del 14/01/2025, domanda 1. Siano $X = \{a, g, h, m\}$ e $Y = \{g, h, m, p, s\}$. Allora: - $\emptyset \in X \cap Y$ - $X \subset Y$ + $m \in X \cap Y$ - $g \subset X \cap Y$ - $\{g, h\} \in X \cap Y$ = $X \cap Y = \{g, h, m\}$, e $m$ è uno dei suoi elementi. La risposta più insidiosa è $\{g, h\} \in X \cap Y$: è un sottoinsieme dell'intersezione, non un suo elemento. $X \subset Y$ è falso perché $a$ non sta in $Y$. D: Appello del 04/02/2025, domanda 1. Siano $A = \{2, 3, 5, 7, 9\}$ e $B = \{1, 4, 5, 8, 9\}$. Allora: - $6 \in A \cup B$ - $\{3, 4\} \in A \cup B$ - $\{2, 8\} \subset A \cap B$ + $\{5, 9\} = A \cap B$ - $9 \subset A \cap B$ = Gli elementi comuni sono 5 e 9, quindi $A \cap B = \{5, 9\}$. La risposta più insidiosa è $\{2, 8\} \subset A \cap B$: 2 sta solo in $A$ e 8 solo in $B$, quindi sono nell'unione, non nell'intersezione. 6 non sta in nessuno dei due. D: Appello del 03/02/2026, domanda 1. Siano $X = \{a, b, f, h, r, s, t, v, z\}$ e $Y = \{d, g, h, m, p, s, t, x, y\}$. Allora: - $\{b, s, t\} \subset X \cap Y$ + $f \notin X \cap Y$ - $\{h, t\} = X \cap Y$ - $\{h, s\} \in X \cap Y$ - $s \subset X \cap Y$ = $X \cap Y = \{h, s, t\}$, e $f$ sta solo in $X$. La risposta più insidiosa è $\{h, t\} = X \cap Y$: dimentica la $s$. $b$ non sta in $Y$; $\{h, s\}$ è un sottoinsieme, non un elemento; $s$ è una lettera, non un insieme. D: Appello del 06/06/2026, domanda 1. Ricordando che $n\Z = \{nk \mid k \in \Z\}$, cioè i multipli di $n$, quale affermazione è vera? - $7 \in 3\Z \cup 5\Z$ - $\{12, 20\} \subset 3\Z \cap 4\Z$ - $4\Z \cap 5\Z = \emptyset$ - $8 \in 2\Z \cap 5\Z$ + $\{10, 21\} \subset 2\Z \cup 7\Z$ = 10 è multiplo di 2 e 21 è multiplo di 7: tutti e due stanno nell'unione. La risposta più insidiosa è $\{12, 20\} \subset 3\Z \cap 4\Z$: 12 va bene, ma 20 non è multiplo di 3. $4\Z \cap 5\Z$ contiene i multipli di 20, quindi non è vuoto; 7 non è multiplo né di 3 né di 5; 8 non è multiplo di 5. D: Appello del 01/07/2026, domanda 1. Siano $A = \{b, f, h, m, n\}$, $B = \{d, g, h, p, q\}$ e $X = \{a, f, g, h, s, x, y\}$. Quale dei seguenti è un sottoinsieme di $(A \cup B) \cap X$? - $\{\emptyset\}$ + $\{f, h\}$ - $\{n\}$ - $\{a, g\}$ - $\{b, q\}$ = $(A \cup B) \cap X = \{f, g, h\}$: le lettere di $X$ che stanno in $A$ o in $B$. $\{f, h\}$ è un suo sottoinsieme. La risposta più insidiosa è $\{a, g\}$: $g$ va bene, ma $a$ sta solo in $X$. $\{\emptyset\}$ contiene il vuoto come elemento, e il vuoto non è un elemento di quell'insieme. D: Appello del 06/06/2025, domanda 1. Siano $A = \{3, 4, 7, 9\}$, $B = \{1, 3, 5, 6, 8, 9\}$ e $C = \{2, 4, 5, 8, 9\}$. Allora: - $4 \in A \cap B \cap C$ - $A \subset B \cup C$ - $B \cap C \subset A$ - $A \cap B \subset C$ + $A \cap B \cap C \neq \emptyset$ = 9 sta in tutti e tre gli insiemi, quindi l'intersezione non è vuota. La risposta più insidiosa è $A \cap B \subset C$: $A \cap B = \{3, 9\}$, e 3 non sta in $C$. 4 non sta in $B$; 7 non sta né in $B$ né in $C$; $B \cap C = \{5, 8, 9\}$ e 5 non sta in $A$. D: Appello del 04/02/2025, domanda 2. Sia $S = \{a, c, f, h, m, t, v\}$. Quale delle seguenti è una partizione di $S$? + $\{m\} \cup \{a, c, t\} \cup \{f, h, v\}$ - $\{f, m\} \cup \{a, t\} \cup \{c, v\}$ - $\emptyset \cup \{a, f, h, m\} \cup \{c, t, v\}$ - $\{a, c\} \cup \{c, f, h, m\} \cup \{t, v\}$ - $\{a, h, m\} \cup \{h, t\} \cup \{c, f\}$ = I tre controlli: parti non vuote, che non si toccano, che coprono tutto. La prima li passa. La seconda dimentica la $h$. La terza ha una parte vuota. La quarta e la quinta ripetono una lettera, la $c$ e la $h$: sono ricoprimenti, non partizioni. D: Appello del 07/07/2025, domanda 2. Sia $X = \{b, c, f, h, k, m, r, u, v, z\}$. Quale è un ricoprimento di $X$ ma non una partizione? - $\{f, h, k, u, v\} \cup \{b, c, k, r, z\}$ - $\{b, c, k, r, s, z\} \cup \{f, h, m, u, v\}$ + $\{b, f, k, m, r\} \cup \{c, h, r, u, v, z\}$ - $\{b, c, m, v, z\} \cup \{f, h, k, u\}$ - $\{b, f, k, r, u, z\} \cup \{c, m, t, v\}$ = La terza copre tutte e dieci le lettere e ripete la $r$: è un ricoprimento ma non una partizione. La risposta più insidiosa è la prima, che ripete la $k$ ma dimentica la $m$: non copre tutto. La seconda e la quinta contengono lettere che in $X$ non ci sono ($s$ e $t$); la quarta dimentica la $r$. D: Appello del 06/06/2025, domanda 2. L'affermazione «per ogni $x \in \N$ e per ogni $y \in \N$, $x^2 + x \ge y$» è contraddetta da: - $(x, y) = (2, 5)$ - $(x, y) = (-4, 10)$ + $(x, y) = (1, 3)$ - $(x, y) = (0, -1)$ - $(x, y) = (3, 12)$ = Un controesempio è una coppia di naturali per cui la frase è falsa. Con $(1, 3)$: $1 + 1 = 2$, che non è almeno 3. La risposta più insidiosa è $(-4, 10)$: la disuguaglianza è falsa, ma $-4$ non è un naturale, quindi non conta. Con $(2, 5)$ e $(3, 12)$ la disuguaglianza è vera; in $(0, -1)$ c'è un numero negativo. ``` ## Fonti - Le lezioni complete: [D01 · Insiemi e induzione](D01_insiemi_induzione.html) e [D02 · Complementare, De Morgan, induzione e partizioni](D02_complementare_induzione_partizioni.html), con quiz degli appelli ed esercizi svolti. - A. Mori, *Lezioni di Matematica Discreta*, cap. 1 «Insiemi», pp. 1–13. - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). --- > File: `contesto_ai/MDAG/riassunti/settimana_02_AG.md` ```yaml corso: MDAG modulo: AG lezione: S2 tipo: riassunto titolo: "Settimana 2: numeri complessi e polinomi" data: 2026-10-08 docenti: Reto Buzano e Marco Radeschi sopratitolo: Riassunto settimanale · Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · 05/10 – 09/10/2026 descrizione: >- Riassunto della settimana 2 di Algebra lineare e Geometria (MDAG, parte 2): l'unità immaginaria, i numeri complessi e il piano complesso, somma, prodotto, coniugato, modulo e divisione; coordinate polari, forma polare, prodotti, potenze e radici n-esime; polinomi, divisione con il resto e Ruffini, radici e molteplicità, teorema fondamentale dell'algebra. lede: >- Le tre lezioni della settimana in poche pagine: come si fanno i conti con i numeri complessi, quando conviene la forma polare, come si trovano le radici di un polinomio, e le domande per controllarti. materiale: dispense scheda: Lezioni: "[L02](L02_numeri_complessi_1.html) mar 06/10 · [L03](L03_numeri_complessi_2.html) mer 07/10 · [L04](L04_polinomi.html) gio 08/10, nel canale B" Dispense: Buzano e Radeschi 2026, pp. 6–19 Tempo di ripasso: 40 minuti fonte: >- Gli appunti delle lezioni L02, L03 e L04 di Algebra lineare e Geometria, scritti sulle dispense 2026 del corso (R. Buzano, M. Radeschi) appunti_html: appunti/MDAG/riassunto_settimana_02_AG.html genera_html: true ``` ## In breve - Nessun numero reale al quadrato dà meno uno. Si aggiunge allora l'**unità immaginaria** $i$, con $i^2 = -1$. - Un **numero complesso** è un punto del piano: $3 + 2i$ sta 3 passi a destra e 2 in su. - Il **coniugato** cambia il segno davanti alla $i$; il **modulo** è la distanza dal centro. Per dividere si moltiplica sopra e sotto per il coniugato del numero sotto. - In **forma polare** un numero è una distanza e un angolo. Nei prodotti le distanze si moltiplicano e gli angoli si sommano. - Le **radici** $n$-esime di un numero diverso da zero sono sempre $n$, in cerchio. - Un **polinomio** di grado $n$ ha esattamente $n$ radici complesse, contate con la molteplicità: è il **teorema fondamentale dell'algebra**. ## L02 · Numeri complessi I (mar 06/10) Un numero complesso è un punto di un foglio a quadretti, descritto da due numeri reali. Si scrive per esempio $3 + 2i$. Il primo è la **parte reale**, il secondo la **parte immaginaria**, senza la $i$. Sul foglio a quadretti è il punto 3 passi a destra e 2 in su. | Operazione | Come si fa | Esempio | |---|---|---| | somma | parte reale con parte reale, immaginaria con immaginaria | $(1 + 2i) + (3 - i) = 4 + i$ | | prodotto | quattro prodotti, poi $-1$ al posto di $i^2$ | $(3 + 2i)(1 - i) = 5 - i$ | | coniugato | cambia il segno davanti alla $i$ | il coniugato di $3 + 2i$ è $3 - 2i$ | | modulo | Pitagora: la radice di $a^2 + b^2$ | $\lvert 3 + 4i \rvert = 5$ | | potenze di $i$ | si ripetono ogni 4: $i$, $-1$, $-i$, $1$ | $i^7 = -i$, perché 7 diviso 4 dà resto 3 | ```grafico titolo: Il numero $z = 3 + 2i$ è il punto $(3, 2)$. Il coniugato $\bar z = 3 - 2i$ è il suo riflesso rispetto all'asse orizzontale; il modulo $\lvert z \rvert = \sqrt{13}$ è la lunghezza del segmento dall'origine. x: -1 5 y: -3 3 assi: si griglia: si nomi: Re Im segmento: 0 0 3 2 | blu | spesso | $\lvert z \rvert$ | no segmento: 3 2 3 -2 | grigio | tratteggio punto: 3 2 | blu | $z = 3 + 2i$ | e punto: 3 -2 | ambra | $\bar z = 3 - 2i$ | e ``` > [!METODO] Dividere due numeri complessi > 1. Scrivi la divisione come frazione. > 2. Moltiplica sopra e sotto per il **coniugato del numero sotto**: sotto resta un numero reale, il quadrato del modulo. > 3. Separa la parte reale e la parte immaginaria. > 4. Controlla moltiplicando. > > Per $(1 + i)z = 3 + 2i$: $z = \frac{3 + 2i}{1 + i} = \frac{(3 + 2i)(1 - i)}{2} = \frac{5 - i}{2}$. È il tipo della prima domanda del quiz in tre appelli. - I numeri complessi formano un **campo**, ma **non sono ordinati**: non ha senso chiedere quale sia il maggiore. - Nel piano: «parte reale uguale a 2» è una retta verticale; «distanza da $c$ uguale a $r$» è una circonferenza. ::: prova Quanto vale $(2 + i)(2 - i)$? E il modulo di $2 + i$? $(2 + i)(2 - i) = 4 - i^2 = 5$. Il modulo è la radice di 5: un numero per il suo coniugato dà il quadrato del modulo. ::: > [!RICORDA] > - Il prodotto non si fa pezzo per pezzo: servono quattro prodotti. > - Per dividere, il coniugato del numero sotto. ## L03 · Numeri complessi II (mer 07/10) Un punto del piano si può dire in due modi: «3 passi a destra e 4 in su», oppure «guarda in quella direzione e fai 5 passi». Il secondo usa una **distanza** e un **angolo**: sono le **coordinate polari**. - Forma polare: $z = re^{i\vartheta}$. La distanza è il modulo, l'angolo si chiama **argomento**. La scrittura con la $e$ è un'abbreviazione: vuol dire il punto del cerchio di raggio 1 a quell'angolo, cioè $\cos\vartheta + i\sin\vartheta$. - Gli angoli si misurano in radianti: un giro intero è $2\pi$. Angoli che differiscono di giri interi danno lo stesso punto. | Operazione | In forma polare | |---|---| | prodotto | distanze moltiplicate, angoli sommati | | quoziente | distanze divise, angoli sottratti | | potenza $z^n$ | distanza alla $n$, angolo per $n$ | | moltiplicare per $i$ | un quarto di giro in senso antiorario | > [!METODO] Le radici n-esime > Cercare le radici $n$-esime di un numero diverso da zero vuol dire risolvere $z^n = z_0$. Le soluzioni sono sempre **esattamente $n$**. > 1. La distanza è la radice $n$-esima della distanza di $z_0$. > 2. Il primo angolo è l'angolo di $z_0$ diviso per $n$. > 3. Gli altri si ottengono aggiungendo ogni volta un $n$-esimo di giro. > > Le soluzioni sono i vertici di un poligono regolare. Per $z^3 = 8$ sono i vertici di un triangolo sul cerchio di raggio 2: il primo è 2, gli altri sono $-1 + \sqrt3\, i$ e $-1 - \sqrt3\, i$. ::: prova Quanto vale $(1 + i)^8$? $1 + i$ ha distanza $\sqrt2$ e angolo $\frac\pi4$. All'ottava: distanza $(\sqrt2)^8 = 16$, angolo $8 \cdot \frac\pi4 = 2\pi$, cioè un giro intero. Il risultato è 16. ::: > [!RICORDA] > - Prodotti e potenze: in forma polare. Somme: in forma cartesiana. > - Le radici $n$-esime sono $n$ punti in cerchio, a distanze uguali. ## L04 · Polinomi (gio 08/10) Un **polinomio** funziona come una macchina: metti un numero al posto della lettera ed esce un numero. Il **grado** è l'esponente più alto. - I polinomi si **dividono con il resto**, come i numeri: dividendo uguale quoziente per divisore più resto. Per dividere per $x - a$ c'è **Ruffini**: abbassa, moltiplica per $a$, somma. - Una **radice** è un numero che fa uscire zero. **Un numero $a$ è radice esattamente quando $x - a$ divide il polinomio**: il resto di quella divisione è proprio il valore del polinomio in $a$. - La **molteplicità** dice quante volte $x - a$ ci sta: in $(x - 1)^2(x + 2)$ la radice 1 è doppia. > [!METODO] Scomporre un polinomio > 1. Cerca una radice tra i divisori del termine noto: per $x^3 - 6x^2 + 11x - 6$ prova 1, 2, 3, 6 e i loro opposti. > 2. Con 1 il polinomio vale 0: dividi per $x - 1$ con Ruffini e ottieni $x^2 - 5x + 6$. > 3. Ripeti, oppure usa la formula del secondo grado: $x^2 - 5x + 6 = (x - 2)(x - 3)$. > > Il risultato: $(x - 1)(x - 2)(x - 3)$. - Un polinomio di grado $n$ ha **al massimo** $n$ radici reali. Tra i complessi ne ha **esattamente** $n$, contate con la molteplicità. - Se i numeri del polinomio sono reali, le radici non reali vengono a **coppie coniugate**: le radici di $x^2 + 1$ sono $i$ e il suo coniugato. - Per il secondo grado decide il $\Delta$: positivo due radici reali, zero una doppia, negativo due complesse coniugate. ::: prova È vero che 2 è una radice di $x^3 - 6x^2 + 11x - 6$? Quanto vale il resto della divisione per $x - 2$? Sì: $8 - 24 + 22 - 6 = 0$. Il resto della divisione per $x - 2$ è il valore in 2, cioè 0. ::: > [!RICORDA] > - Radice $a$ vuol dire che $x - a$ divide il polinomio. > - Coefficienti reali: le radici complesse vengono a coppie coniugate. ## Verso l'esame - La **domanda sui complessi** del quiz, dal 2024 al 2026: trovare $z$ da un'uguaglianza (divisione), potenze alte e radici (forma polare), «quale di questi numeri è una radice?» (polinomi). - Le radici dei polinomi tornano nei problemi sugli **autovalori**, nelle lezioni L17 e L18. - Senza calcolatrice: a lezione e all'esame i conti con le radici e gli angoli si fanno a mano. Servono i seni e i coseni degli angoli notevoli: 30, 45, 60 e 90 gradi. - Appelli 2026/27: venerdì 22/01/2027 e venerdì 05/02/2027, alle 14:00, con 4 facciate di appunti scritti a mano. ## Domande di ripasso ::: domanda Quanto vale $i^2$? E $i^{10}$? $i^2 = -1$. $i^{10}$: 10 diviso 4 dà resto 2, quindi $i^{10} = i^2 = -1$. ::: ::: domanda Che cosa sono il coniugato e il modulo di $a + bi$? Il coniugato è $a - bi$, il riflesso rispetto all'asse orizzontale. Il modulo è la distanza dal centro, la radice di $a^2 + b^2$. ::: ::: domanda Come si divide per un numero complesso? Si moltiplicano sopra e sotto per il coniugato del numero sotto: sotto resta un numero reale. ::: ::: domanda Come si moltiplicano due numeri in forma polare? Le distanze si moltiplicano e gli angoli si sommano. ::: ::: domanda Quante soluzioni ha $z^5 = 1$ tra i numeri complessi? Come sono messe? Cinque: sono i vertici di un pentagono regolare sul cerchio di raggio 1, il primo in 1. ::: ::: domanda Quando un numero $a$ è radice di un polinomio? Quando il polinomio vale 0 in $a$, cioè quando $x - a$ lo divide senza resto. ::: ::: domanda Che cosa dice il teorema fondamentale dell'algebra? Che un polinomio di grado $n$ ha esattamente $n$ radici tra i numeri complessi, contate con la molteplicità. ::: ## Quiz d'esame Tutte domande vere degli appelli di Algebra lineare dal 2024 al 2026: in ognuno dei 15 appelli c'è almeno una domanda sui numeri complessi o sulle radici di un polinomio. Le risposte sono quelle delle soluzioni ufficiali, ricontrollate con un programma. All'esame non c'è la calcolatrice: falle a mano. ```quiz D: Appello del 03/06/2025, domanda 1. Dato $z \in \C$ che soddisfa $(1 + i)z = 3 + 2i$, allora $2z(5 + i)$ è uguale a: - $13 + 13i$ - $26i$ - $1 + i$ - $13 - 13i$ + $26$ = $z = \frac{3 + 2i}{1 + i} = \frac{(3 + 2i)(1 - i)}2 = \frac{5 - i}2$, quindi $2z = 5 - i$, e $(5 - i)(5 + i) = 25 + 1 = 26$. La risposta più insidiosa è $26i$: viene moltiplicando sopra per $1 + i$ invece che per il coniugato $1 - i$. D: Appello del 08/02/2024, domanda 1. Trovare il numero $z \in \C$ tale che $(i - 1)(i - 2)z = (i + 1)(i + 2)(i + 3)$. - $10 + 3i$ + $i - 3$ - $30 + 10i$ - $3i - 1$ - $1 - 30i$ = A sinistra $(i - 1)(i - 2) = 1 - 3i$, a destra il prodotto vale $10i$. Quindi $z = \frac{10i}{1 - 3i} = \frac{10i(1 + 3i)}{10} = -3 + i$. La risposta più insidiosa è $30 + 10i$: è il numero sopra prima di dividere per 10, con il segno sbagliato. $3i - 1$ scambia la parte reale e quella immaginaria. D: Appello del 03/06/2026, domanda 1. Se $(1 + i)z = 2i$, allora $\frac 1{z + i}$ è uguale a: - $0$ - $\frac 1{1 + i}$ + $\frac{1 - 2i}5$ - $\frac i{1 + i}$ - $\frac{2 + i}5$ = $z = \frac{2i}{1 + i} = \frac{2i(1 - i)}2 = 1 + i$, quindi $z + i = 1 + 2i$ e $\frac 1{1 + 2i} = \frac{1 - 2i}{1 + 4}$. La risposta più insidiosa è $\frac 1{1 + i}$: è l'inverso di $z$, non di $z + i$. $\frac{2 + i}5$ si ottiene scambiando le parti. D: Appello del 24/01/2024, domanda 2. Dato $z = -\frac{\sqrt 2}2 + \frac{\sqrt 2}2 i$, allora $z^{12}$ è uguale a: + $-1$ - $-2i$ - $\frac 1{2^6}(1 - i)$ - $\frac{\sqrt 2}2 + \frac{\sqrt 2}2 i$ - $2^{12} i$ = $z$ ha distanza 1 dall'origine e angolo $\frac{3\pi}4$. Alla dodicesima: distanza 1, angolo $12 \cdot \frac{3\pi}4 = 9\pi$, cioè mezzo giro più quattro giri interi. Il punto è $-1$. La risposta più insidiosa è $2^{12} i$: viene se si sbaglia la distanza, che è 1 e non 2. D: Appello del 15/01/2026, domanda 5. Dato $z = \frac{\sqrt 3}2 - \frac 12 i$, allora $z^9$ è uguale a: - $1$ - $\frac 12 - \frac{\sqrt 3}2 i$ - $-\frac{9\sqrt 3}2 + \frac 92 i$ + $i$ - $-\frac{\sqrt 3^9}{2^9} + \frac 1{2^9} i$ = Distanza 1, angolo $-\frac\pi6$. Alla nona: angolo $-\frac{3\pi}2$, che più un giro dà $\frac\pi2$: il punto è $i$. Le risposte più insidiose sono le due con il 9: moltiplicano o elevano ciascuna parte da sola, che con i complessi non si può fare. D: Appello del 16/01/2025, domanda 1. Dato $z = 2\cos\frac\pi4 + 2i\sin\frac\pi4$, allora $-3iz$ in coordinate polari è uguale a: - $-6i\cos\frac\pi4 - 6i\sin\frac\pi4$ - $-6e^{3\pi i/4}$ - $-6i\cos\frac\pi4 + 6i\sin\frac\pi4$ + $6e^{7\pi i/4}$ - $0$ = $z$ ha distanza 2 e angolo $\frac\pi4$; $-3i$ ha distanza 3 e angolo $\frac{3\pi}2$. Distanze moltiplicate, angoli sommati: $6e^{7\pi i/4}$. La risposta più insidiosa è $-6e^{3\pi i/4}$: è lo stesso numero, ma con un 6 negativo davanti non è scritto in coordinate polari, dove la distanza è sempre positiva. D: Appello del 02/09/2025, domanda 2. Quale dei seguenti è una radice terza di $z = 8e^{3\pi i/5}$? - $4e^{\pi i/5}$ + $2e^{\pi i/5 + 2\pi i/3}$ - $8e^{\pi i/3 + 2\pi ik}$ - $2e^{3\pi i/5}$ - $2e^{3\pi i/5 + \pi i/3}$ = Le radici terze hanno distanza $\sqrt[3]8 = 2$ e angoli $\frac\pi5 + \frac{2k\pi}3$: con $k = 1$ è la seconda risposta. La risposta più insidiosa è $2e^{3\pi i/5}$: la distanza è giusta, ma l'angolo non è stato diviso per 3. Le risposte con 4 e con 8 hanno la distanza sbagliata. D: Appello del 07/09/2026, domanda 1. Quale dei seguenti è una radice del polinomio $p(z) = z^4 + 5z^2 + 4$? - $z = -3 + i$ - $z = 1 - i$ - $z = -1$ + $z = -2i$ - il polinomio non ha radici = Con $t = z^2$: $t^2 + 5t + 4 = (t + 1)(t + 4)$, quindi $z^2 = -1$ o $z^2 = -4$, cioè $z = \pm i$ o $z = \pm 2i$. Controllo: $(-2i)^2 = -4$ e $(-2i)^4 = 16$, e $16 - 20 + 4 = 0$. La risposta più insidiosa è «non ha radici»: è vero solo tra i reali. Tra i complessi un polinomio di grado 4 ne ha quattro. D: Appello del 10/07/2025, domanda 1. Quale dei seguenti è una radice di $p(z) = z^4 + 7z^2 + 12$? + $z = -2i$ - $z = -2$ - il polinomio non ha radici - $z = 3 + 4i$ - $z = 4$ = Con $w = z^2$: $(w + 3)(w + 4)$, quindi $z^2 = -3$ o $z^2 = -4$. $-2i$ al quadrato fa $-4$: è una radice. La risposta più insidiosa è $-2$: anche il suo quadrato è 4, ma con il segno più, e per $z$ reale il polinomio vale almeno 12. D: Appello del 03/07/2026, domanda 7. Quale dei seguenti è una radice del polinomio $p(z) = z^3 + 2z^2 + z + 2$? - $z = 0$ + $z = i$ - $z = 1 + i$ - $z = 1$ - $z^3 + 2z^2 + z + 2 = 0$ = Raccogliendo a coppie, $p(z) = z^2(z + 2) + (z + 2) = (z^2 + 1)(z + 2)$: le radici sono $-2$, $i$, $-i$. Controllo diretto: $p(i) = -i - 2 + i + 2 = 0$. La risposta più insidiosa è l'ultima: è l'equazione, non un numero. $p(0) = 2$ e $p(1) = 6$. ``` ## Fonti - Le lezioni complete: [L02 · Numeri complessi I](L02_numeri_complessi_1.html), [L03 · Numeri complessi II](L03_numeri_complessi_2.html), [L04 · Polinomi](L04_polinomi.html), con le domande vere degli appelli, gli strumenti interattivi e gli esercizi. - Dispense 2026 del corso, R. Buzano e M. Radeschi, pp. 6–19. - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). --- > File: `contesto_ai/MDAG/riassunti/settimana_02_MD.md` ```yaml corso: MDAG modulo: MD lezione: S2 tipo: riassunto titolo: "Settimana 2: prodotto cartesiano, relazioni di equivalenza, funzioni" data: 2026-10-09 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Riassunto settimanale · Parte 1 (modA) · Matematica Discreta · Canali A, B e C · 05/10 – 09/10/2026 descrizione: >- Riassunto della settimana 2 di Matematica Discreta (MDAG, parte 1): coppie ordinate e prodotto cartesiano, relazioni e le loro quattro proprietà, relazioni d'ordine e di equivalenza, congruenza modulo N, classi e partizioni; funzioni come insiemi di coppie, immagine e controimmagine, funzioni iniettive, suriettive e biettive. lede: >- Le due lezioni della settimana in poche pagine: le definizioni da sapere, le tabelle dei pallini per riconoscere relazioni e funzioni, i metodi per la domanda 2 e la domanda 3 del quiz, e le domande per controllarti. materiale: libro scheda: Lezioni: "[D03](D03_prodotto_cartesiano_relazioni.html) lun 05/10 · [D04](D04_funzioni_immagini_controimmagini.html) ven 09/10" Libro: A. Mori, Lezioni di Matematica Discreta, cap. 1, pp. 13–15; app. A, pp. 153–155; cap. 2, pp. 17–23 Tempo di ripasso: 40 minuti fonte: >- Gli appunti delle lezioni D03 e D04 di Matematica Discreta, scritti sul libro di A. Mori appunti_html: appunti/MDAG/riassunto_settimana_02_MD.html genera_html: true ``` ## In breve - Una **coppia ordinata** ha un primo e un secondo pezzo: l'ordine conta. Il **prodotto cartesiano** di due insiemi contiene tutte le coppie con il primo pezzo nel primo insieme e il secondo nel secondo. - Una **relazione** in un insieme è un sacchetto di coppie: dice chi è legato a chi. - Le quattro **proprietà**: riflessiva, simmetrica, antisimmetrica, transitiva. Un'**equivalenza** è riflessiva, simmetrica e transitiva; un **ordine** è riflessivo, antisimmetrico e transitivo. - Ogni equivalenza divide l'insieme in **classi**, che formano una partizione. - Una **funzione** fa corrispondere a ogni elemento del dominio uno e un solo elemento del codominio. Sulla tabella dei pallini: un pallino in ogni colonna. - **Iniettiva**: ogni riga ha al massimo un pallino. **Suriettiva**: ogni riga ne ha almeno uno. **Biettiva**: esattamente uno. - All'esame la **domanda 2** del quiz è quasi sempre sul prodotto cartesiano, la **domanda 3** sulle funzioni. ## D03 · Prodotto cartesiano e relazioni (lun 05/10) **Coppie e prodotto cartesiano.** - Scambiare i due pezzi di una coppia dà un'altra coppia, se i pezzi sono diversi: la casella B3 della battaglia navale non è 3B. Tonde per le coppie, graffe per gli insiemi. - Per scrivere il prodotto si fissa un elemento del primo insieme e lo si accoppia con tutti quelli del secondo, poi si passa al successivo. Il numero di coppie è il prodotto dei due numeri di elementi: 3 per 4 fa 12. - In generale $A \times B \neq B \times A$. Se uno dei due insiemi è vuoto, il prodotto è vuoto. > [!METODO] La domanda 2 del quiz > 1. Un **elemento** del prodotto cartesiano è una coppia, con ogni pezzo nel suo insieme. > 2. Un **sottoinsieme** di $A \times B$ è un sacchetto di coppie così, oppure il vuoto. > 3. Controlla ogni coppia pezzo per pezzo, e nell'ordine giusto. > > Nell'appello del 03/02/2026 gli insiemi erano $P = \{1, 3, 4, 7, 8\}$ e $Q = \{2, 3, 5, 6, 9\}$. La risposta giusta era il sacchetto con la coppia $(6, 7)$: **non** è un sottoinsieme di $P \times Q$, perché 6 non sta in $P$. **Relazioni.** Una relazione in un insieme è un sacchetto di coppie di suoi elementi, cioè un sottoinsieme del prodotto dell'insieme con sé stesso. Si scrive $a \, R \, b$ quando $a$ è legato a $b$, e si disegna con una tabella di pallini. | Proprietà | A parole | Sulla tabella | |---|---|---| | riflessiva | ognuno è legato a sé stesso | tutta la diagonale piena | | simmetrica | se $a$ è legato a $b$, anche $b$ è legato ad $a$ | la tabella è uguale allo specchio | | antisimmetrica | due elementi diversi non sono legati nei due sensi | fuori dalla diagonale nessun pallino ha lo specchio | | transitiva | da $a$ a $b$ e da $b$ a $c$, allora da $a$ a $c$ | le catene si chiudono | > [!TRAPPOLA] Antisimmetrica non vuol dire «non simmetrica» > L'uguaglianza è simmetrica **e** antisimmetrica. Una relazione può anche non essere né l'una né l'altra. **Equivalenze e classi.** - Un'equivalenza vuol dire «essere dello stesso tipo»: stesso mese di nascita, stessa parità, stesso resto. - **Congruenza modulo $N$**: due interi sono equivalenti quando la loro differenza è un multiplo di $N$. Con $N = 3$ le classi sono tre: i multipli di 3, quelli con resto 1, quelli con resto 2. - La **classe** $[x]$ contiene gli elementi equivalenti a $x$; se $x \sim y$ allora $[x] = [y]$. Le classi formano una **partizione**, e ogni partizione dà un'equivalenza, «stare nello stesso cassetto». ::: prova Con $A = \{1, 2\}$ e $B = \{a, b, c\}$, quanti elementi ha $A \times B$? La coppia $(a, 1)$ ci sta? 6 elementi. $(a, 1)$ non ci sta: il primo pezzo deve essere in $A$. Sta in $B \times A$. ::: > [!RICORDA] > - Equivalenza: riflessiva, simmetrica, transitiva. Ordine: riflessivo, antisimmetrico, transitivo. > - Le classi di un'equivalenza sono i cassetti di una partizione. ## D04 · Funzioni, immagini, controimmagini (ven 09/10) Una **funzione** è come la mensa: **ogni** studente sceglie **un solo** piatto. Si scrive $f \colon A \to B$. In modo preciso è il suo grafico, un sottoinsieme di $A \times B$ in cui ogni elemento di $A$ compare come primo pezzo di una sola coppia. - **Dominio** $A$, **codominio** $B$. Due funzioni sono uguali se hanno stesso dominio, stesso codominio e stesso grafico. - Funzioni da riconoscere: identità, costanti, proiezioni, successioni, funzione quoziente. - L'**immagine** $\operatorname{Im}(f)$ sono i valori raggiunti davvero; il codominio è quello che **potrebbe** raggiungere. - La **controimmagine** $f^{-1}(b)$ è l'insieme di chi finisce in $b$: le soluzioni di $f(a) = b$. Può essere vuota. Non vuol dire «uno diviso $f$». | Proprietà | Sulle righe della tabella | Con le controimmagini | |---|---|---| | iniettiva | al massimo un pallino per riga | ogni $f^{-1}(b)$ ha al massimo un elemento | | suriettiva | almeno un pallino per riga | ogni $f^{-1}(b)$ è non vuota | | biettiva | esattamente un pallino per riga | ogni $f^{-1}(b)$ ha esattamente un elemento | ```grafico titolo: Una funzione dagli studenti ai piatti: da ogni studente parte **una sola** freccia. La pasta riceve due frecce, quindi la funzione non è iniettiva; l'insalata nessuna, quindi non è suriettiva. x: 0 10 y: 0 6 assi: no griglia: no poligono: 0.4 0.4 3.4 0.4 3.4 5.6 0.4 5.6 | blu poligono: 6.6 0.4 9.6 0.4 9.6 5.6 6.6 5.6 | ambra testo: 1.9 5.25 | blu | "studenti" testo: 8.1 5.25 | ambra | "piatti" punto: 2.6 4.3 | blu | "Anna" | o punto: 2.6 3.3 | blu | "Bruno" | o punto: 2.6 2.3 | blu | "Carla" | o punto: 2.6 1.3 | blu | "Dario" | o punto: 7.4 4.3 | ambra | "pasta" | e punto: 7.4 3.1 | ambra | "riso" | e punto: 7.4 1.9 | ambra | "zuppa" | e punto: 7.4 0.9 | ambra | "insalata" | e freccia: 2.7 4.3 7.25 4.3 freccia: 2.7 3.3 7.25 4.2 freccia: 2.7 2.3 7.25 3.1 freccia: 2.7 1.3 7.25 1.9 ``` > [!METODO] Smentire o dimostrare > - **Non iniettiva**: basta trovare due elementi diversi con lo stesso valore, come $1$ e $-1$ quando c'è un quadrato. > - **Non suriettiva**: basta un elemento del codominio che non arriva mai. > - **Iniettiva**: da $f(a_1) = f(a_2)$ fai i conti fino ad $a_1 = a_2$. > - **Suriettiva**: prendi un $b$ qualsiasi e trova chi ci arriva. Due esempi da ricordare. «Due n più uno» sugli interi è iniettiva ma non suriettiva: dà solo i dispari. Il quadrato sui reali non è né l'una né l'altra, ma diventa biettivo sui reali positivi. ::: prova Con $f \colon \Z \to \Z$, $f(n) = n^2 - 1$, quanto valgono $f^{-1}(8)$ e $f^{-1}(12)$? $f^{-1}(8) = \{3, -3\}$, perché $n^2 = 9$. $f^{-1}(12) = \emptyset$, perché 13 non è un quadrato. ::: > [!RICORDA] > - Funzione: un pallino in ogni colonna. Le righe dicono iniettiva, suriettiva, biettiva. > - Tra insiemi finiti: dal più grande al più piccolo non c'è mai una funzione iniettiva. ## Verso l'esame - **Domanda 2 del quiz**: elementi e sottoinsiemi del prodotto cartesiano, coppia per coppia. - **Domanda 3 del quiz**: sulle funzioni. Nel 2025 chiedeva immagini, controimmagini, iniettività; dal 2025 in poi quasi sempre una **composizione**, l'argomento della [lezione D05](../MDAG/D05_composizione_funzioni_inverse.html) del 12/10. - Le classi di equivalenza tornano con le **classi di resto**, e la buona definizione con i problemi sui gruppi. - Appelli 2026/27: martedì 19/01/2027 e mercoledì 03/02/2027, alle 14:00, con libro e appunti. ## Domande di ripasso ::: domanda Quanti elementi ha $A \times B$ se $A$ ha 3 elementi e $B$ ne ha 4? 12: si moltiplica il numero degli elementi. ::: ::: domanda Quali proprietà ha una relazione di equivalenza? E una relazione d'ordine? L'equivalenza è riflessiva, simmetrica e transitiva. L'ordine è riflessivo, antisimmetrico e transitivo. ::: ::: domanda Quali sono le classi della congruenza modulo 3 sugli interi? $[0]$, i multipli di 3; $[1]$, quelli che danno resto 1; $[2]$, quelli che danno resto 2. ::: ::: domanda Come si riconosce una funzione sulla tabella dei pallini? Ogni colonna, cioè ogni elemento del dominio, ha esattamente un pallino. ::: ::: domanda Che differenza c'è tra codominio e immagine? Il codominio è l'insieme d'arrivo dichiarato; l'immagine è l'insieme dei valori raggiunti davvero. ::: ::: domanda Come si dimostra che una funzione non è iniettiva? Trovando due elementi diversi con lo stesso valore. ::: ::: domanda $f(n) = 2n + 1$ da $\Z$ a $\Z$ è suriettiva? No: i valori sono tutti dispari, e 0 non viene mai raggiunto. ::: ## Quiz d'esame Tutte domande vere dei quiz di Matematica Discreta: le prime sei sul prodotto cartesiano, che è quasi sempre la domanda 2, le altre sulle funzioni. Le risposte giuste sono quelle delle soluzioni ufficiali, ricontrollate con un programma. Sulle relazioni di equivalenza nei quiz 2021–2026 non ho trovato domande a scelta multipla. ```quiz D: Appello del 07/07/2025, domanda 1. Siano $A = \{a, d, h, m\}$ e $B = \{c, g, p, t\}$. Allora: - $(d, m) \in A \times B$ - $g \in A \times B$ - $(p, m) \in A \times B$ - $\{a, t\} \subset A \times B$ + $(h, t) \in A \times B$ = $h$ sta in $A$ e $t$ in $B$, nell'ordine giusto. La risposta più insidiosa è $(d, m)$: tutte e due le lettere stanno in $A$, ma il secondo pezzo deve stare in $B$. $g$ e $\{a, t\}$ non sono coppie; $(p, m)$ ha i pezzi negli insiemi sbagliati. D: Appello del 14/01/2025, domanda 2. Siano $A = \{1, 2, 5, 8\}$ e $B = \{2, 3, 8, 9\}$. La terna $(1, 2, 5)$ è un elemento di: - $B \times A \times A$ + $A \times B \times A$ - $B \times B \times B$ - $B \times B \times A$ - $A \times A \times B$ = Pezzo per pezzo: 1 sta solo in $A$, 2 sta in $B$ (e anche in $A$), 5 sta solo in $A$. Quindi il primo e il terzo insieme devono essere $A$. La risposta più insidiosa è $A \times A \times B$: va bene per i primi due pezzi, ma 5 non sta in $B$. D: Appello del 13/01/2026, domanda 2. Siano $R = \{2, 5, 6, 9\}$ e $S = \{d, g, n, z\}$. Allora: + $(g, 6) \notin R \times S$ - $(d, z) \in R \times S$ - $(5, 6, g) \in R \times S$ - $(3, n) \in R \times S$ - $(2, d) \notin R \times S$ = Le coppie di $R \times S$ hanno prima un numero di $R$ e poi una lettera di $S$. $(g, 6)$ ha l'ordine rovesciato, quindi non ci sta: la frase è vera. La risposta più insidiosa è $(2, d) \notin R \times S$: la coppia ci sta, quindi la frase con «non appartiene» è falsa. $(5, 6, g)$ è una terna, e 3 non sta in $R$. D: Appello del 03/02/2026, domanda 2. Siano $P = \{1, 3, 4, 7, 8\}$ e $Q = \{2, 3, 5, 6, 9\}$. Quale insieme NON è un sottoinsieme di $P \times Q$? - $\{(3, 3)\}$ - $\{(8, 3), (3, 9)\}$ - $\emptyset$ + $\{(1, 3), (6, 7), (8, 2)\}$ - $\{(4, 6), (1, 9), (7, 5)\}$ = Nella coppia $(6, 7)$ il 6 non sta in $P$ e il 7 non sta in $Q$: basta una coppia sbagliata. La risposta più insidiosa è $\emptyset$: il vuoto è un sottoinsieme di ogni insieme, quindi va bene. $(3, 3)$ va bene perché 3 sta in tutti e due. D: Appello del 06/06/2026, domanda 2. Siano $X = \{\beta, \delta, \rho, \omega\}$ e $Y = \{2, 3, 6, 8, 9\}$. Allora: - $(6, \rho) \in X \times Y$ + $(\omega, 4) \notin X \times Y$ - $\emptyset \in X \times Y$ - $(\delta, 2) \notin X \times Y$ - $\beta \in X \times Y$ = 4 non sta in $Y$, quindi $(\omega, 4)$ non è nel prodotto: la frase è vera. La risposta più insidiosa è $(\delta, 2) \notin X \times Y$: la coppia invece ci sta. $(6, \rho)$ ha l'ordine rovesciato; il vuoto e $\beta$ non sono coppie. D: Appello del 01/07/2026, domanda 2. Siano $R = \{1, 4, 6, 8\}$ e $S = \{2, 5, 7, 8\}$. Allora: - $(8, 8) \notin R \times S$ - $(1, 2) \notin R \times S$ - $\{6, 7\} \in R \times S$ - $(7, 6) \in R \times S$ + $(4, 5) \in R \times S$ = 4 sta in $R$ e 5 in $S$. La risposta più insidiosa è $(8, 8) \notin R \times S$: 8 sta in tutti e due gli insiemi, quindi la coppia c'è, e la frase è falsa. $\{6, 7\}$ è un insieme, non una coppia; $(7, 6)$ ha l'ordine rovesciato. D: Appello del 14/01/2025, domanda 3. Sia $f \colon \Z \to \N$ la funzione $f(n) = n^2 + 1$ se $n$ è pari, $f(n) = n^2 - 1$ se $n$ è dispari. Allora: - se $m$ sta nell'immagine di $f$, allora $m + 1$ non ci sta - $f^{-1}(p) = \emptyset$ se $p$ è primo + $f(m) = f(n)$ se e solo se $m = \pm n$ - $f$ è iniettiva - $f$ è suriettiva = $n$ e $-n$ sono tutti e due pari o tutti e due dispari, quindi hanno lo stesso valore. Al contrario, due numeri con lo stesso valore hanno lo stesso quadrato, oppure i quadrati differiscono di 2, che tra quadrati di interi non succede. La risposta più insidiosa è «iniettiva»: $f(1) = f(-1) = 0$. $f(0) = 1$ e $f(1) = 0$ smentiscono la prima; $f(2) = 5$ è primo; il 2 non è mai raggiunto, quindi non è suriettiva. D: Appello del 14/01/2025, domanda 3, altra versione. Sia $f \colon \Z \to \N$ la funzione $f(n) = n^2 + 2$ se $n$ è pari, $f(n) = n^2$ se $n$ è dispari. Allora: - se $s$ sta nell'immagine di $f$, allora $s + 1$ non ci sta - $f^{-1}(p) = \emptyset$ se $p$ è primo - $f(2n) = 4n^2 + 4$ per ogni $n$ + $f$ non è iniettiva - $f$ è suriettiva = $f(1) = f(-1) = 1$: due numeri diversi con lo stesso valore. La risposta più insidiosa è $f(2n) = 4n^2 + 4$: $2n$ è pari, quindi $f(2n) = 4n^2 + 2$. $f(0) = 2$ e $f(1) = 1$ smentiscono la prima; $f(0) = 2$ è primo; il 3 non è mai raggiunto. D: Quiz 2021–2025. Sia $f \colon \Z \to \Z$ la funzione $f(n) = 2n$ se $n$ è dispari, $f(n) = 2$ se $n$ è pari. Allora: - $f$ è suriettiva - $f(n/2) = 2$ per ogni $n$ pari - $f(2n) = 4n$ per ogni $n$ dispari + $f^{-1}(8) = \emptyset$ - $f$ è iniettiva = Per avere 8 servirebbe $2n = 8$ con $n$ dispari, ma $n = 4$ è pari; i pari danno sempre 2. Quindi nessuno va in 8. La risposta più insidiosa è $f(2n) = 4n$: $2n$ è pari, quindi $f(2n) = 2$. $f(n/2)$ vale 2 solo se $n/2$ è pari; $f$ dà solo numeri pari, quindi non è suriettiva; tutti i pari vanno in 2, quindi non è iniettiva. D: Quiz 2021–2025. Sia $h \colon \Z \to \Z$ la funzione $h(n) = 2n$ se $n$ è dispari, $h(n) = n$ se $n$ è pari. Allora: - $h$ è suriettiva - $h(n/2) = n$ per ogni $n$ pari - $\{4, 8\} = h^{-1}(8)$ + $\{3, 6\} = h^{-1}(6)$ - $h$ è iniettiva = Chi va in 6: il dispari 3, perché $2 \cdot 3 = 6$, e il pari 6. Quindi $h^{-1}(6) = \{3, 6\}$, e per lo stesso motivo $h$ non è iniettiva. La risposta più insidiosa è $\{4, 8\} = h^{-1}(8)$: 4 è pari e va in 4, non in 8; il dispari che andrebbe in 8 sarebbe 4, che non è dispari, quindi $h^{-1}(8) = \{8\}$. $h$ dà solo numeri pari, quindi non è suriettiva. ``` ## Fonti - Le lezioni complete: [D03 · Prodotto cartesiano e relazioni di equivalenza](D03_prodotto_cartesiano_relazioni.html), [D04 · Funzioni, immagini e controimmagini](D04_funzioni_immagini_controimmagini.html), con le domande vere degli appelli, i quiz e gli esercizi. - A. Mori, *Lezioni di Matematica Discreta*: cap. 1, pp. 13–15; appendice A, pp. 153–155; cap. 2, pp. 17–23. - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). --- > File: `contesto_ai/MDAG/riassunti/settimana_03_AG.md` ```yaml corso: MDAG modulo: AG lezione: S3 tipo: riassunto titolo: "Settimana 3: spazi vettoriali, sottospazi e Span" data: 2026-10-15 docenti: Reto Buzano e Marco Radeschi sopratitolo: Riassunto settimanale · Parte 2 (modB) · Algebra lineare e Geometria · Canali A, B e C · 12/10 – 16/10/2026 descrizione: >- Riassunto della settimana 3 di Algebra lineare e Geometria (MDAG, parte 2): vettori di R^n, somma e prodotto per scalare, le otto regole, gruppi e campi, definizione di spazio vettoriale ed esempi (polinomi, funzioni, successioni); matrici, sottospazi, matrici diagonali, triangolari, simmetriche e antisimmetriche, combinazioni lineari e Span. lede: >- Le due lezioni della settimana in poche pagine: che cosa vuol dire spazio vettoriale, come si riconosce un sottospazio in pochi secondi, che cos'è lo Span, e le domande vere degli appelli 2024–2026 su questi argomenti. materiale: dispense scheda: Lezioni: "[L05](L05_spazi_vettoriali_1.html) mar 13/10 · [L06](L06_spazi_vettoriali_2.html) gio 15/10, nel canale B" Dispense: Buzano e Radeschi 2026, pp. 20–30 Tempo di ripasso: 35 minuti fonte: >- Gli appunti delle lezioni L05 e L06 di Algebra lineare e Geometria, scritti sulle dispense 2026 del corso (R. Buzano, M. Radeschi) appunti_html: appunti/MDAG/riassunto_settimana_03_AG.html genera_html: true ``` ## In breve - Un **vettore** è una lista ordinata di numeri. Nel piano $(3, 2)$ è lo spostamento «3 a destra e 2 in su». - I vettori si **sommano** un posto alla volta e si **moltiplicano per un numero**, lo **scalare**, moltiplicando ogni posto. - Uno **spazio vettoriale** è un insieme in cui queste due operazioni non fanno mai uscire e seguono otto regole. Lo sono anche i polinomi, le funzioni, le successioni e le matrici. - Un **sottospazio** è una parte di uno spazio vettoriale da cui non si esce: contiene lo zero ed è chiusa rispetto a somme e multipli. - Una **combinazione lineare** è una ricetta: alcuni vettori, ciascuno moltiplicato per una dose, poi sommati. Lo **Span** è l'insieme di tutte le ricette, ed è sempre un sottospazio. - All'esame «quale di questi insiemi è (o non è) un sottospazio?» è una domanda del quiz in quasi ogni appello. ## L05 · Spazi vettoriali I (mar 13/10) **I vettori e le due operazioni.** Su una mappa a quadretti, fare un passo a destra e due in su, e poi tre a destra e uno in su, porta quattro a destra e tre in su. Quindi $(1, 2) + (3, 1) = (4, 3)$: sommare vuol dire fare uno spostamento dopo l'altro, un posto alla volta. Moltiplicare per 2 vuol dire fare lo stesso spostamento due volte; per $-1$, farlo al contrario. ```grafico titolo: La somma di $v = (1, 2)$ e $w = (3, 1)$ è la diagonale del parallelogramma costruito sui due vettori: $(4, 3)$. Nell'altro ordine si arriva nello stesso punto. x: -1 5 y: -1 4 poligono: 0 0 1 2 4 3 3 1 | ambra | tenue segmento: 1 2 4 3 | blu | tratteggio segmento: 3 1 4 3 | accento | tratteggio vettore: 4 3 | ambra | spesso | $v + w$ | n vettore: 1 2 | accento | spesso | $v$ | no vettore: 3 1 | blu | spesso | $w$ | se ``` - Si sommano solo vettori con lo stesso numero di coordinate: $(1, 2) + (1, 2, 3)$ non ha senso. - Tutti i multipli di un vettore diverso da zero stanno su una retta che passa per l'origine. - Le **otto regole** sono quattro per la somma e quattro per i multipli. Per la somma: l'ordine non conta, le parentesi non contano, c'è il vettore zero, ogni vettore ha l'opposto. Per i multipli: due distributive, due scalari uno dopo l'altro, lo scalare 1 che non cambia niente. **Gruppi e campi.** Sono i nomi di due liste di regole, la parte più teorica della lezione. | Nome | Che cosa chiede | Sì | No | |---|---|---|---| | **gruppo** | un'operazione che non fa uscire, con elemento neutro, associativa, con l'inverso di ogni elemento | $\Z$ con la somma | $\N$ con la somma: manca l'opposto | | **campo** | le quattro operazioni senza uscire, dividendo solo per numeri diversi da zero | $\Q$, $\R$, $\C$ | $\N$, $\Z$: $1/2$ esce | **Lo spazio vettoriale.** Un insieme con una somma e un prodotto per scalare che non fanno uscire e rispettano le otto regole. Gli scalari sono i numeri di un campo: nel corso $\R$ o $\C$. Tra due vettori **non** c'è un prodotto. | Spazio | I vettori | Il vettore zero | |---|---|---| | $\R^n$, $\C^n$ | liste di $n$ numeri | $(0, \dots, 0)$ | | successioni | liste infinite di numeri | la successione di soli zeri | | funzioni da un insieme in $\R$ | una funzione, sommata punto per punto | la funzione che vale sempre 0 | | $\R_k[x]$ | i polinomi di grado **al massimo** $k$ | il polinomio nullo | > [!TRAPPOLA] Due zeri e due gradi > Il numero zero è uno scalare; il **vettore zero** è il vettore che sommato non cambia niente. Qualunque vettore per il numero zero dà il vettore zero. E i polinomi di grado **esattamente** 2 non sono uno spazio vettoriale: $x^2 + (-x^2 + x) = x$ ha grado 1, ed esce. > [!METODO] «È uno spazio vettoriale?» > 1. Scrivi chi sono i vettori, chi sono gli scalari e quali sono le due operazioni. > 2. Prova con elementi concreti: una somma, un multiplo per $-1$ e per 0. Restano dentro? > 3. Il vettore zero c'è? > 4. Per dire **no** basta un esempio. Per dire **sì** serve un ragionamento che valga per tutti. ::: prova L'insieme dei vettori $(x, y)$ del piano con $x \ge 0$ è uno spazio vettoriale con le operazioni solite? No. $(1, 0)$ ci sta, ma $(-1) \cdot (1, 0) = (-1, 0)$ no: un multiplo esce. ::: > [!RICORDA] > - Spazio vettoriale: somma e prodotto per scalare che non fanno uscire, più le otto regole. > - Per dire di no: manca lo zero, oppure una somma o un multiplo escono. ## L06 · Spazi vettoriali II (gio 15/10) **Le matrici.** Una matrice è una tabella di numeri: con $m$ righe e $n$ colonne si chiama $m \times n$; $a_{ij}$ è il numero nella riga $i$ e nella colonna $j$. Le matrici della stessa forma si sommano e si moltiplicano per un numero casella per casella: formano lo spazio vettoriale $M(m, n, \K)$. **I sottospazi.** Una parte di uno spazio vettoriale è un sottospazio quando supera tre controlli: 1. contiene il vettore zero; 2. la somma di due suoi vettori resta dentro; 3. ogni multiplo di un suo vettore resta dentro. ```grafico titolo: La retta $y = 2x$ passa per l'origine ed è un sottospazio. La retta $y = 2x + 1$ no: non contiene l'origine, e la somma dei suoi punti $(0, 1)$ e $(1, 3)$ è $(1, 4)$, che sta fuori. x: -4 4 y: -3 5 retta: 0 0 1.5 3 | accento | $y = 2x$ | e retta: 0 1 -1.5 -2 | rosa | tratteggio | $y = 2x + 1$ | o punto: 0 0 | accento | $O$ | se punto: 0 1 | rosa | $(0, 1)$ | o punto: 1 3 | rosa | $(1, 3)$ | o punto: 1 4 | ambra | $(1, 4)$ | no ``` > [!TRAPPOLA] Un solo controllo non basta > Il primo quadrante contiene lo zero e le somme restano dentro, ma il multiplo per $-1$ esce. I due assi insieme hanno lo zero e i multipli, ma $(1, 0) + (0, 1) = (1, 1)$ esce. Allo stesso modo «le triangolari», superiori oppure inferiori, non sono un sottospazio; lo sono le superiori e le inferiori separatamente. **Cinque classi di matrici quadrate**, tutte sottospazi: | Classe | Che cosa vuol dire | |---|---| | diagonali | zeri fuori dalla diagonale | | triangolari superiori | zeri sotto la diagonale | | triangolari inferiori | zeri sopra la diagonale | | simmetriche | uguali allo specchio sulla diagonale: $a_{ij} = a_{ji}$ | | antisimmetriche | opposte allo specchio: $a_{ij} = -a_{ji}$, e quindi diagonale di zeri | **Combinazioni lineari e Span.** Con gli ingredienti $v_1, \dots, v_k$ e le dosi $\lambda_1, \dots, \lambda_k$ la ricetta è $\lambda_1 v_1 + \dots + \lambda_k v_k$. Lo $\Span(v_1, \dots, v_k)$ è l'insieme di tutte le ricette: è sempre un sottospazio (Proposizione 6.7), ed è il più piccolo che contiene gli ingredienti. - Lo Span di un vettore diverso da zero è la retta dei suoi multipli: $\Span\big((1, 2)\big) = \Span\big((2, 4)\big)$. - Lo Span di due vettori **non** è l'insieme dei due vettori: contiene infinite ricette. - **Il vettore sta nello Span?** Chiama le dosi con delle lettere, scrivi la ricetta uguale al vettore coordinata per coordinata, risolvi il sistema. Se trovi le dosi, sì; se arrivi a una cosa impossibile, come $3 = 4$, no. > [!METODO] «È un sottospazio?» in pochi secondi > | Se l'insieme è descritto da… | allora… | > |---|---| > | equazioni lineari **senza termine noto**: $x - 2y = 0$, $a = 2c$, $p(1) = 0$ | sì | > | un'equazione con termine noto: $x + y = 1$, $p(0) = 1$ | no: manca lo zero | > | disuguaglianze: $x \ge 0$ | quasi sempre no: prova il multiplo per $-1$ | > | prodotti o potenze delle lettere: $xy = 0$, $x^2 = 1$ | quasi sempre no: prova una somma | > | una lettera con un pezzo fisso: $\{(1 + t)x^2 + tx\}$ | no: nessun valore di $t$ dà lo zero | > | uno Span | sì, sempre | ::: prova Il vettore $(1, 1)$ sta nello $\Span\big((1, 2), (2, 4)\big)$? No. Ogni ricetta è $\lambda(1, 2) + \mu(2, 4) = (\lambda + 2\mu)(1, 2)$, un multiplo di $(1, 2)$: la seconda coordinata è sempre il doppio della prima. ::: > [!RICORDA] > - Sottospazio: zero, somme, multipli. Per dire no basta un esempio che non funziona. > - Lo Span è l'insieme di tutte le ricette con quegli ingredienti, ed è sempre un sottospazio. ## Verso l'esame - **Quiz**: «quale di questi insiemi è (o non è) un sottospazio?» è uscita il 08/02/2024, il 03/06/2025, il 05/02/2026 e il 07/09/2026. Si risolve con la tabella dei segnali della L06: quasi sempre basta guardare se c'è lo zero. - **Span tra i polinomi**: il 24/01/2024 la domanda 1 chiedeva quali polinomi generano un sottospazio dato. - Questi argomenti tornano in tutto il corso: dimensione e basi nella L07, nucleo e immagine nella L14, autospazi nella L18. - Appelli 2026/27: venerdì 22/01/2027 e venerdì 05/02/2027, alle 14:00, con 4 facciate scritte a mano e senza calcolatrice. ## Domande di ripasso ::: domanda Quanto fa $(1, 2) + (3, 1)$? E $-2 \cdot (1, -3)$? $(4, 3)$ e $(-2, 6)$: si lavora un posto alla volta. ::: ::: domanda Perché $\Z$ non è un campo? Perché non sempre si può dividere senza uscire: $1/2$ non è intero. ::: ::: domanda I polinomi di grado esattamente 3 formano uno spazio vettoriale? No: il polinomio nullo non ha grado 3, e $x^3 + (-x^3 + 1) = 1$ ha grado 0. ::: ::: domanda Quali sono i tre controlli per un sottospazio? Contiene lo zero; la somma di due suoi vettori resta dentro; ogni multiplo di un suo vettore resta dentro. ::: ::: domanda Le matrici $2 \times 2$ con $a_{11} = 1$ sono un sottospazio? No: la matrice nulla ha $a_{11} = 0$, quindi manca lo zero. ::: ::: domanda Che cos'è lo Span di un solo vettore $v \neq 0$ nel piano? La retta che passa per l'origine e contiene $v$: tutti i suoi multipli. ::: ## Quiz d'esame Tutte domande vere degli appelli di Algebra lineare e Geometria, con le risposte delle soluzioni ufficiali, ricontrollate con un programma. Sono la domanda 1, 2 o 3 del quiz, quella che vale 1 punto. ```quiz D: Appello del 07/02/2025, domanda 2. Identificate la risposta corretta alla domanda «$\C$ ammette una struttura di spazio vettoriale su $\R$?». - No, poiché $\C$ è già uno spazio vettoriale su $\C$ stesso. - Sì, perché ogni campo è uno spazio vettoriale su $\R$. - No, ma poiché $\C$ contiene $\R$, $\R$ è uno spazio vettoriale su $\C$. - No, in quanto $\C$ e $\R$ sono campi diversi. + Sì, $\R$ è sottoinsieme di $\C$ e le operazioni $+$, $\cdot$ su $\R$ sono le stesse che in $\C$. = Due numeri complessi si sommano, e un complesso per un reale resta complesso: le otto regole valgono perché valgono per i numeri. La risposta più insidiosa è «ogni campo è uno spazio vettoriale su $\R$»: è falso, per esempio $\Q$ non lo è, perché $\sqrt 2 \cdot 1$ esce. Le due «No» con motivazioni vere non rispondono alla domanda; $\R$ su $\C$ non funziona, perché $i \cdot 1$ non è reale. D: Appello del 03/06/2025, domanda 2. Quale dei seguenti insiemi è un sottospazio vettoriale di $\R^3$? - $\{(x, y, z) \in \R^3 \mid x^2 - 2x + 1 = 0\}$ - $\{(x, y, z) \in \R^3 \mid x + 2yz + 3z = 7\}$ - $\{(x, y, z) \in \R^3 \mid -x + 7y + z = 5\}$ + $\{(x, y, z) \in \R^3 \mid x + \frac y2 - 5\pi z = 0\}$ - $\{(x, y, z) \in \R^3 \mid x + 3iy + 5z = 0\}$ = Un'equazione lineare, con numeri reali e senza termine noto. La risposta più insidiosa è la prima: sembra senza termine noto, ma è $(x - 1)^2 = 0$, cioè $x = 1$, e l'origine non la rispetta. La seconda e la terza hanno il termine noto; l'ultima ha un numero non reale, e la soluzione ufficiale la scarta perché «non è definita sui numeri reali». D: Appello del 08/02/2024, domanda 2. Quale dei seguenti insiemi non è un sottospazio di $\R_2[x]$? - $\{p(x) \in \R_2[x] \mid p(0) = 0\}$ - $\{(t + s)x^2 - tx - s \mid s, t \in \R\}$ - $\{p(x) = ax^2 + bx + c \mid a = 2c,\ b = 0\}$ + $\{(1 + t)x^2 + tx \mid t \in \R\}$ - $\{p(x) \in \R_2[x] \mid p(1) = 0 = p(2)\}$ = Per avere il polinomio nullo servirebbero $1 + t = 0$ e $t = 0$ insieme: impossibile. La risposta più insidiosa è la seconda, che ha una forma simile: ma $(t + s)x^2 - tx - s = t(x^2 - x) + s(x^2 - 1)$ è uno Span, quindi è un sottospazio. Le altre sono equazioni lineari senza termine noto. D: Appello del 05/02/2026, domanda 2. Quale dei seguenti insiemi non è un sottospazio di $\R_2[x]$? - $\{p(x) \in \R_2[x] \mid p(1) = p(2)\}$ - $\Span(x + 1, x^2 - 1)$ + $\{x^2 + tx \mid t \in \R\}$ - $\{p(x) = ax^2 + bx + c \mid a + b - c = 0\}$ - $\R_1[x]^\perp$ = Tutti i polinomi dell'insieme hanno 1 davanti a $x^2$: il polinomio nullo manca. La risposta più insidiosa è $p(1) = p(2)$: sembra una condizione strana, ma è $a + b + c = 4a + 2b + c$, cioè $3a + b = 0$, un'equazione lineare senza termine noto. Uno Span è sempre un sottospazio. L'ultimo è il complemento ortogonale, della lezione L21: anche lui è sempre un sottospazio. D: Appello del 07/09/2026, domanda 3. Quale dei seguenti insiemi è un sottospazio di $\R_2[x]$? - $\{p(x) = ax^2 + bx + c \mid a = 2c,\ b = 2\}$ - $\{p(x) \in \R_2[x] \mid p(0) = 1\}$ + $\{p(x) \in \R_2[x] \mid p(1) = 0 = p(-1)\}$ - $\{tx^2 + sx + 1 \mid s, t \in \R\}$ - $\{(1 + t)x^2 + tx \mid t \in \R\}$ = È l'unico insieme che contiene il polinomio nullo, e le condizioni $p(1) = 0$ e $p(-1) = 0$ restano vere per somme e multipli. La risposta più insidiosa è la prima: $a = 2c$ va bene, ma $b = 2$ esclude il polinomio nullo. Nelle altre il termine noto è fissato a 1, oppure nessun $t$ dà lo zero. D: Appello del 24/01/2024, domanda 1. In $\R_3[x]$ siano $a(x) = x - 1$, $b(x) = x + 2$, $c(x) = 2x^2 - 2$, $d(x) = x^2 - x$, $e(x) = 2x^3 + 1$, $f(x) = x^3 - x^2$, e sia $U = \{p(x) \in \R_3[x] \mid p(1) = 0\}$. Vale: - $U = \Span(a, c)$ + $U = \Span(a, c, f)$ - $U = \Span(c, d, e, f)$ - $U = \Span(b, e, f)$ - $U = \Span(a, c, d)$ = $a$, $c$ e $f$ fanno zero in 1, quindi il loro Span sta in $U$; e ogni $p$ con $p(1) = 0$ è $(x - 1)$ per un polinomio di grado al massimo 2, che si scrive con $a$, $c$, $f$. La risposta più insidiosa è $\Span(a, c, d)$: tutti fanno zero in 1, ma hanno grado al massimo 2, e $x^3 - 1$ resta fuori. $b$ ed $e$ non fanno zero in 1, quindi gli Span con loro escono da $U$. ``` ## Fonti - Le lezioni complete: [L05 · Spazi vettoriali I](L05_spazi_vettoriali_1.html), [L06 · Spazi vettoriali II](L06_spazi_vettoriali_2.html), con le domande vere degli appelli, i quiz e gli esercizi. - Dispense 2026 del corso (R. Buzano, M. Radeschi), lezioni 5 e 6, pp. 20–30; B. Martelli, *Geometria e algebra lineare*, §1.5, §2.1 e §2.2. - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). --- > File: `contesto_ai/MDAG/riassunti/settimana_03_MD.md` ```yaml corso: MDAG modulo: MD lezione: S3 tipo: riassunto titolo: "Settimana 3: composizione e inverse, insiemi finiti, primi conteggi" data: 2026-10-16 docenti: Andrea Mori, Ignazio Longhi e Lea Terracini sopratitolo: Riassunto settimanale · Parte 1 (modA) · Matematica Discreta · Canali A, B e C · 12/10 – 16/10/2026 descrizione: >- Riassunto della settimana 3 di Matematica Discreta (MDAG, parte 1): composizione di funzioni, funzioni inverse e biezioni; cardinalità, insiemi finiti e infiniti, principio dei piccioni, inclusione-esclusione e multipli; metodo delle scelte successive, parole, fattoriale, disposizioni semplici e con ripetizione, anagrammi, combinazioni. lede: >- Le tre lezioni della settimana in poche pagine: come si calcola una composizione senza sbagliare l'ordine, come si contano un'unione e i multipli, quale formula usare nei primi problemi di conteggio, e le domande vere della domanda 3 e della domanda 4 del quiz. materiale: libro scheda: Lezioni: "[D05](D05_composizione_funzioni_inverse.html) lun 12/10 · [D06](D06_insiemi_finiti_inclusione_esclusione.html) mer 14/10 · [D07](D07_parole_anagrammi_disposizioni.html) ven 16/10" Libro: A. Mori, Lezioni di Matematica Discreta, cap. 2, pp. 23–29; cap. 3, pp. 39–55 Tempo di ripasso: 45 minuti fonte: >- Gli appunti delle lezioni D05, D06 e D07 di Matematica Discreta, scritti sul libro di A. Mori appunti_html: appunti/MDAG/riassunto_settimana_03_MD.html genera_html: true ``` ## In breve - **Comporre** vuol dire applicare due funzioni una dopo l'altra. In $g \circ f$ si applica **prima** la funzione scritta a destra. - La composizione è associativa ma **non** commutativa: scambiando l'ordine il risultato in generale cambia, e a volte la composta nell'altro ordine non esiste. - Una funzione ha l'**inversa** se e solo se è biettiva. L'inversa di una formula si trova scrivendo $y = f(x)$ e ricavando $x$. - Due insiemi hanno lo stesso numero di elementi quando c'è una biezione tra loro. Tra insiemi finiti con lo stesso numero di elementi, iniettiva, suriettiva e biettiva sono la stessa cosa. - **Piccioni**: con più piccioni che gabbie, una gabbia ne ha almeno due. **Inclusione-esclusione**: l'unione di due insiemi ha la somma dei loro elementi meno quelli in comune. - **Scelte successive**: se una cosa si costruisce con più scelte una dopo l'altra, i numeri di possibilità si moltiplicano. Da qui vengono tutte le formule della D07. - All'esame la **domanda 3** del quiz è quasi sempre una composizione, la **domanda 4** un conteggio. ## D05 · Composizione e funzioni inverse (lun 12/10) **Una funzione dopo l'altra.** Alla mensa ogni studente sceglie un piatto, e ogni piatto ha un prezzo: «dallo studente al prezzo» è la composizione delle due funzioni. Con $f \colon A \to B$ e $g \colon B \to C$ la composta $g \circ f$ va da $A$ a $C$: $(g \circ f)(a) = g(f(a))$. Si può comporre solo se l'arrivo della prima è la partenza della seconda. ```grafico titolo: $g \circ f$ si legge da destra: prima $f$ porta $a$ in $B$, poi $g$ porta $f(a)$ in $C$. La freccia tratteggiata è la composta, che salta il passaggio intermedio. x: 0 12 y: 0 5 assi: no griglia: no proporzioni: libere cerchio: 1.8 2.4 1.3 | blu cerchio: 6 2.4 1.3 | ambra cerchio: 10.2 2.4 1.3 | verde testo: 1.8 4.3 | blu | $A$ testo: 6 4.3 | ambra | $B$ testo: 10.2 4.3 | verde | $C$ punto: 1.8 2.4 | blu | $a$ | o punto: 6 2.4 | ambra | $f(a)$ | s punto: 10.2 2.4 | verde | $g(f(a))$ | s freccia: 2 2.4 5.8 2.4 | blu freccia: 6.2 2.4 10 2.4 | ambra testo: 3.9 2.85 | blu | $f$ testo: 8.1 2.85 | ambra | $g$ arco: 6 -2 6.08 0.81 2.33 | grigio | tratteggio testo: 6 4.45 | grigio | $g \circ f$ ``` > [!METODO] La domanda 3 del quiz > 1. Leggi ogni catena **da destra a sinistra**: la funzione più vicina alla variabile si usa per prima. > 2. Con un valore, come $g \circ f \circ f(0)$, calcola un passo alla volta e scrivi ogni numero. > 3. Con una formula, sostituisci con le parentesi: in $g(f(n))$, al posto di ogni $n$ di $g$ va tutta la formula di $f$. Poi controlla su $x = 0$. > 4. Se chiede quale composizione «non è definita», segui gli insiemi da destra: l'arrivo di ogni funzione deve essere la partenza della successiva. > 5. Se chiede $g$ conoscendo $g \circ f$, prova le cinque risposte. Un esempio dall'appello del 06/06/2025. Con $f(n) = 2n + 3$ e $g(n) = 3n - 2$: $$(g \circ f)(n) = g(2n + 3) = 3(2n + 3) - 2 = 6n + 7.$$ **Le regole.** Con tre o più funzioni le parentesi non contano, conta solo l'ordine. L'identità non cambia niente; una costante, prima o dopo, rende costante la composta. Composte di iniettive restano iniettive, composte di suriettive restano suriettive. **Le inverse.** Due funzioni sono inverse quando le due composte, nei due ordini, sono l'identità. L'inversa esiste solo per le biezioni ed è una sola (Teorema 2.20). - Per trovarla: controlla che $f$ sia biettiva con il dominio e il codominio dati, scrivi $y = f(x)$, ricava $x$, controlla componendo. - $f(x) = 2x + 5$ sui reali: da $y = 2x + 5$ viene $x = \frac{y - 5}{2}$, quindi $f^{-1}(y) = \frac 12 y - \frac 52$. - L'inversa di una composta si fa al contrario, come calze e scarpe: $(g \circ f)^{-1} = f^{-1} \circ g^{-1}$. > [!TRAPPOLA] Due cose con lo stesso simbolo > $f^{-1}(b)$ della lezione D04 è la **controimmagine**, un insieme, ed esiste sempre. Qui $f^{-1}(b)$ è il valore della **funzione inversa**, un elemento, ed esiste solo se $f$ è biettiva. E la stessa formula può essere biettiva sui reali e non sugli interi: $3n - 2$ sugli interi non raggiunge 0. ::: prova Con $f(n) = n + 3$ e $g(n) = 1 - 3n$ sugli interi, quanto fa $(g \circ f)(n)$? $g(n + 3) = 1 - 3(n + 3) = -8 - 3n$. È la risposta giusta dell'appello del 04/02/2025, versione 2. ::: > [!RICORDA] > - $(g \circ f)(a) = g(f(a))$: prima $f$, poi $g$. Si calcola da dentro. > - Inversa: solo per le biezioni. Si trova da $y = f(x)$ e si controlla componendo. ## D06 · Insiemi finiti e unioni (mer 14/10) **Contare con le biezioni.** Due insiemi hanno la stessa **cardinalità** quando c'è una funzione biettiva tra loro. Con gli insiemi infiniti succedono cose strane: i numeri pari sono «tanti quanti» i naturali, con $n \mapsto 2n$. - Un insieme è **finito** quando ogni funzione iniettiva da sé in sé è anche suriettiva. Tra due insiemi finiti con lo stesso numero di elementi, iniettiva, suriettiva e biettiva vogliono dire la stessa cosa (Nota 3.8). - **Principio dei piccioni**: 13 persone, 12 mesi, quindi almeno due persone sono nate nello stesso mese. Dice che la gabbia c'è, non quale. - Interi e frazioni si mettono in fila come i naturali: sono **numerabili**. I reali no. **Contare un'unione.** Si sommano i due insiemi e si tolgono gli elementi in comune, che altrimenti si contano due volte: $$\lvert A \cup B \rvert = \lvert A \rvert + \lvert B \rvert - \lvert A \cap B \rvert.$$ Con tre insiemi: più i tre singoli, meno le tre intersezioni a due, più l'intersezione di tutti e tre. ```grafico titolo: Tra 1 e 500 ci sono 250 multipli di 2 e 100 multipli di 5; i 50 multipli di 10 stanno in tutti e due. L'unione ne ha $250 + 100 - 50 = 300$, e fuori restano i 200 numeri coprimi con 1000. x: -4 4 y: -2.6 2.6 assi: no griglia: no poligono: -3.8 -2.4 3.8 -2.4 3.8 2.4 -3.8 2.4 | grigio cerchio: -0.9 0 1.7 | blu cerchio: 0.9 0 1.7 | ambra testo: -3.1 2.05 | grigio | "1–500" testo: -1.9 1.95 | blu | "multipli di 2" testo: 1.9 1.95 | ambra | "multipli di 5" testo: -1.65 0 | blu | "200" testo: 0 0 | accento | "50" testo: 1.65 0 | ambra | "50" testo: 3.1 -1.95 | grigio | "200" ``` > [!METODO] Contare i numeri divisibili per qualcosa > 1. I multipli di $k$ tra 1 e $n$ sono la parte intera di $n/k$: tra 1 e 1000 i multipli di 3 sono 333. > 2. «Divisibile per $a$ e per $b$» vuol dire multiplo del **minimo comune multiplo**, non del prodotto: per 6 e 45 è 90, non 270. > 3. «Per $a$ o per $b$» è un'unione: inclusione-esclusione. «Né per $a$ né per $b$» è il totale meno l'unione. ::: prova Tra 1 e 1000, quanti numeri sono divisibili per 6 ma non per 45? I multipli di 6 sono 166; quelli divisibili anche per 45 sono i multipli di 90, cioè 11. Restano $166 - 11 = 155$: è l'appello del 01/07/2026, problema 1. ::: > [!RICORDA] > - Stessa cardinalità: c'è una biezione. Più piccioni che gabbie: una gabbia ne ha due. > - Unione di due insiemi: somma meno intersezione. «E» tra divisibilità: minimo comune multiplo. ## D07 · Parole, anagrammi, disposizioni (ven 16/10) **Scelte successive.** Con 2 primi e 3 secondi i menù possibili sono 6, perché per ogni primo ci sono tre secondi: si moltiplica. Vale anche quando le possibilità di una scelta dipendono dalle precedenti, purché il loro **numero** sia sempre lo stesso. | Che cosa conti | Esempio | Formula | |---|---|---| | parole di lunghezza $k$ su $n$ simboli, ripetizioni ammesse (**disposizioni con ripetizione**) | parole di 6 lettere con 15 simboli | $n^k$: $15^6$ | | file di $n$ oggetti diversi (**ordinamenti**) | 5 libri sullo scaffale | $n!$: $5! = 120$ | | $k$ oggetti diversi presi da $n$, **in ordine** (**disposizioni semplici**) | podio con 12 atleti | $\frac{n!}{(n-k)!}$: $12 \cdot 11 \cdot 10$ | | **anagrammi** con lettere ripetute | TROTTO | $\frac{6!}{2! \, 3!} = 60$ | ```grafico titolo: Il podio con 12 atleti: 12 scelte per l'oro, 11 per l'argento, 10 per il bronzo. Le scelte si moltiplicano: $12 \cdot 11 \cdot 10 = 1320 = \frac{12!}{9!}$. x: 0 10 y: 0 5 assi: no griglia: no proporzioni: libere poligono: 3.6 0.5 6.4 0.5 6.4 3.2 3.6 3.2 | ambra poligono: 0.8 0.5 3.6 0.5 3.6 2.4 0.8 2.4 | grigio poligono: 6.4 0.5 9.2 0.5 9.2 1.7 6.4 1.7 | rosa testo: 5 2.4 | ambra | "1°" testo: 2.2 1.7 | grigio | "2°" testo: 7.8 1.2 | rosa | "3°" testo: 5 3.9 | ambra | "12 scelte" testo: 2.2 3.1 | grigio | "11 scelte" testo: 7.8 2.4 | rosa | "10 scelte" ``` **Anagrammi.** Se tutte le lettere fossero diverse, gli anagrammi di una parola di $n$ lettere sarebbero $n!$. Ogni lettera ripetuta $r$ volte fa contare ogni parola $r!$ volte: si divide per $r!$. In TROTTO la T compare 3 volte e la O 2: $\frac{6!}{3! \, 2!} = \frac{720}{12} = 60$. **Combinazioni.** Scegliere $k$ oggetti da $n$ **senza** ordine: dalle 4 piante $a$, $b$, $c$, $d$ le coppie sono 6, mentre le scelte in ordine erano $\frac{4!}{2!} = 12$. La formula generale arriva nella prossima lezione. > [!METODO] Quale formula? > 1. **Conta l'ordine?** Se scambiando due elementi ottieni una cosa diversa, sì. > 2. **Si possono ripetere?** Se lo stesso simbolo può tornare, sì. > 3. Ordine sì e ripetizioni sì: $n^k$. Ordine sì e ripetizioni no: $\frac{n!}{(n-k)!}$. Tutti gli $n$ oggetti in fila: $n!$. Ordine no: combinazioni. ::: prova Quanti modi ci sono di far sedere 8 persone in una fila di 11 sedie? Le persone scelgono la sedia una dopo l'altra: $11 \cdot 10 \cdots 4 = \frac{11!}{3!}$. È l'appello del 14/01/2025, domanda 4. ::: > [!RICORDA] > - Scelte una dopo l'altra: si moltiplica. Ordine e ripetizioni decidono la formula. > - Anagrammi: $n!$ diviso il fattoriale di quante volte compare ogni lettera ripetuta. ## Verso l'esame - **Domanda 3 del quiz**: in tutti gli appelli 2025–2026 è una composizione, con valori, con formule, con tre funzioni o con «quale non è definita». Il metodo è nella sezione D05. - **Domanda 4 del quiz**: un conteggio. Nel 2025–2026 sono uscite parole, sedie, colorazioni, palline e anagrammi: tutti con le formule della D07. Le combinazioni (degustazioni di birre, caselle da colorare) servono dalla prossima lezione. - **Problemi**: l'inclusione-esclusione con i multipli era il problema 1 dell'appello del 01/07/2026; anagrammi e ordinamenti il problema 1 del 03/02/2026. - Appelli 2026/27: martedì 19/01/2027 e mercoledì 03/02/2027, alle 14:00, con libro e appunti. ## Domande di ripasso ::: domanda In $g \circ f$, quale funzione si applica per prima? $f$, quella a destra: $(g \circ f)(a) = g(f(a))$. ::: ::: domanda Quando una funzione ha l'inversa? Quando è biettiva. In quel caso l'inversa è una sola. ::: ::: domanda Quanto fa $(g \circ f)^{-1}$? $f^{-1} \circ g^{-1}$: si disfa prima l'ultima funzione applicata. ::: ::: domanda Che cosa dice il principio dei piccioni? Se ci sono più piccioni che gabbie, almeno una gabbia ha due piccioni o più. Con le funzioni: da un insieme finito più grande a uno più piccolo non ci sono funzioni iniettive. ::: ::: domanda Tra 1 e 100, quanti numeri sono divisibili per 4 e per 6? 8: sono i multipli di 12, il minimo comune multiplo. Con 24 se ne troverebbero 4, sbagliando. ::: ::: domanda Quante parole di 3 lettere si formano con 26 lettere? E se le lettere devono essere diverse? $26^3 = 17576$; con lettere diverse $26 \cdot 25 \cdot 24 = 15600$. ::: ::: domanda Quanti sono gli anagrammi di ORO? 3: le $3! = 6$ file delle lettere si raggruppano a due a due, perché scambiare le due O non cambia la parola. ::: ## Quiz d'esame Tutte domande vere dei quiz di Matematica Discreta, tranne la settima, che viene da un problema vero ed è messa a scelta multipla da me. Le prime sei sono la domanda 3, le ultime sei la domanda 4. Le risposte giuste sono quelle delle soluzioni ufficiali, ricontrollate con un programma. Sul principio dei piccioni nei quiz 2021–2026 non ho trovato domande. ```quiz D: Appello del 01/07/2026, domanda 3. Siano $f, g, h \colon \Z \to \Z$ definite da $f(n) = n^2 - 1$, $g(n) = 1 - n$ e $h(n) = 3n + 1$. Allora: - $f(h(g(1))) = 3$ - $h(g(f(1))) = 3$ - $g(h(f(1))) = -1$ + $h(f(g(1))) = -2$ - $g(f(h(1))) = 14$ = Da dentro: $g(1) = 0$, $f(0) = -1$, $h(-1) = -2$. La risposta più insidiosa è $g(f(h(1))) = 14$: $h(1) = 4$, $f(4) = 15$, $g(15) = -14$, con il segno meno. Le altre: $f(h(g(1))) = f(1) = 0$; $h(g(f(1))) = h(1) = 4$; $g(h(f(1))) = g(1) = 0$. D: Appello del 03/02/2026, domanda 3, versione 3. Siano $f, g \colon \Z \to \Z$ definite da $f(n) = 4n - 1$ e $g(n) = -n + 3$. Allora: + $f \circ g(-x) = 4x + 11$ - $f \circ g(x + 1) = 4x + 7$ - $f \circ g(x - 1) = -4x + 5$ - $g \circ f(2x) = 8x + 4$ - $g \circ f(-x) = -4x + 11$ = $g(-x) = x + 3$, poi $f(x + 3) = 4x + 12 - 1 = 4x + 11$. La risposta più insidiosa è $f \circ g(x + 1) = 4x + 7$: il valore vero è $f(-x + 2) = -4x + 7$, con il segno cambiato. Gli altri valori veri sono $-4x + 15$, $-8x + 4$ e $4x + 4$. D: Appello del 06/06/2026, domanda 3, versione 2. Siano $f(x) = x + 3$, $g(x) = -x + 1$ e $h(x) = 2x$. Allora: - $(g \circ f \circ h)(x) = -2x + 2$ + $(h \circ f \circ g)(x) = -2x + 8$ - $(f \circ h \circ g)(x) = -2x + 3$ - $(f \circ g \circ h)(x) = -2x - 4$ - $(g \circ h \circ f)(x) = -2x + 5$ = Si parte da destra: $g$ dà $-x + 1$, $f$ dà $-x + 4$, $h$ dà $-2x + 8$. La risposta più insidiosa è $(g \circ h \circ f)(x) = -2x + 5$: il valore vero è $-(2x + 6) + 1 = -2x - 5$. Le altre tre valgono davvero $-2x - 2$, $-2x + 5$ e $-2x + 4$: le trappole hanno tutte la forma $-2x + \text{qualcosa}$, e solo l'ordine giusto dà il numero giusto. D: Appello del 13/01/2026, domanda 3, versione 2. Supponiamo di avere funzioni $f \colon A \to C$, $g \colon C \to A$, $h \colon B \to A$, $k \colon B \to C$. Quale delle seguenti composizioni NON è definita? + $k \circ g \circ f \circ h$ - $f \circ g \circ f \circ h$ - $f \circ g \circ f \circ g$ - $g \circ f \circ g \circ k$ - $g \circ f \circ g \circ f$ = Da destra: $h$ porta in $A$, $f$ in $C$, $g$ in $A$; poi $k$ dovrebbe partire da $A$, ma parte da $B$. La risposta più insidiosa è $g \circ f \circ g \circ k$: $k$ va da $B$ a $C$, e da lì $g$, $f$, $g$ si incastrano. Nelle altre $f$ e $g$ si alternano tra $A$ e $C$ senza problemi. D: Appello del 07/07/2025, domanda 3, versione 3. Sia $f(x) = 5 - 2x$ e $g(x)$ tale che $(g \circ f)(x) = 4x - 9$. Allora: - $g(x) = 3 - 2x$ - $g(x) = 3 - x$ - $g(x) = 1 - x$ + $g(x) = 1 - 2x$ - $g(x) = 1 + 2x$ = Si provano le risposte: $g(5 - 2x) = 1 - 2(5 - 2x) = 1 - 10 + 4x = 4x - 9$. La risposta più insidiosa è $g(x) = 3 - 2x$: dà $4x - 7$, sbagliato solo nel numero. $1 + 2x$ dà $11 - 4x$; con $1 - x$ e $3 - x$ il coefficiente di $x$ è 2, non 4. D: Quiz 2021–2025, domanda 3. Sia $f \colon \R \to \R$ la funzione $f(x) = 3x - 2$. La funzione inversa è: + $g(x) = \frac 13 x + \frac 23$ - $g(x) = \frac 12 x + \frac 32$ - $g(x) = x + \frac 23$ - $g(x) = \frac 13 x - \frac 23$ - $g(x) = \frac 12 x - \frac 32$ = Da $y = 3x - 2$ viene $x = \frac{y + 2}{3}$. Controllo: $g(f(x)) = \frac{3x - 2}{3} + \frac 23 = x$. La risposta più insidiosa è $\frac 13 x - \frac 23$, con il segno sbagliato: $g(f(0)) = g(-2) = -\frac 43$, non 0. D: Appello del 01/07/2026, problema 1, versione A, messo a scelta multipla. Quanti sono i numeri tra 1 e 1000 divisibili per 6 ma non per 45? - 166 + 155 - 163 - 144 - 11 = I multipli di 6 sono $\lfloor 1000/6 \rfloor = 166$. Tra questi vanno tolti i divisibili anche per 45, cioè i multipli di $\operatorname{mcm}(6, 45) = 90$: sono 11. Restano 155. La risposta più insidiosa è 163: chi usa il prodotto $6 \cdot 45 = 270$ toglie solo 3 numeri. 144 toglie tutti i 22 multipli di 45, anche quelli dispari; 166 dimentica di togliere; 11 sono quelli da togliere. D: Appello del 01/07/2026, domanda 4, versione 2. Il numero di anagrammi della parola STRETTE è: + $\frac{7!}{2! \cdot 3!}$ - $7! - (2! \cdot 3!)$ - $7! - (2! + 3!)$ - $7!$ - $\frac{7!}{2 \cdot 3}$ = STRETTE ha 7 lettere: la T compare 3 volte, la E 2. Si divide $7!$ per $3!$ e per $2!$. La risposta più insidiosa è $\frac{7!}{2 \cdot 3}$: divide per 6 invece che per 12, cioè per 3 e non per $3! = 6$. Togliere qualcosa da $7!$ non ha senso: le ripetizioni fanno contare ogni parola più volte, quindi si divide. D: Appello del 14/01/2025, domanda 4, versione 2. Quanti modi ci sono per far sedere 4 persone in una fila di 12 sedie? + $\frac{12!}{8!}$ - $12^4$ - $\frac{12!}{4!}$ - $12!$ - $4^{12}$ = La prima persona ha 12 sedie, la seconda 11, la terza 10, la quarta 9: $12 \cdot 11 \cdot 10 \cdot 9 = \frac{12!}{8!}$. La risposta più insidiosa è $12^4$: permetterebbe a due persone di sedersi sulla stessa sedia. $\frac{12!}{4!}$ divide per le persone invece che per le sedie vuote. D: Quiz 2021–2025, domanda 4. Un DJ deve scegliere 4 canzoni da un catalogo di 15 da suonare in sequenza. Quante sono le possibili sequenze di tali 4 canzoni? - $15!$ - $4!$ + $\frac{15!}{11!}$ - $15^4$ - $\frac{15!}{4!}$ = Conta l'ordine, perché è una sequenza, e una canzone non si ripete: disposizioni semplici, $15 \cdot 14 \cdot 13 \cdot 12 = \frac{15!}{11!}$. La risposta più insidiosa è $15^4$, che permette di suonare due volte la stessa canzone. D: Appello del 03/02/2026, domanda 4, versione 2. Da una scatola che contiene palline bianche e nere ne vengono estratte, in successione, 9. Quante sono le estrazioni che iniziano con 2 palline bianche? - $\frac{9!}{7!}$ - $9!$ + $2^7$ - $7^2$ - $\frac{9!}{2!}$ = Le prime due palline sono fissate, bianche. Le altre 7 possono essere bianche o nere: è una parola di lunghezza 7 su un alfabeto di 2 simboli, $2^7$. La risposta più insidiosa è $7^2$, con base ed esponente scambiati. I fattoriali non c'entrano: le palline dello stesso colore non si distinguono. D: Quiz 2021–2025, domanda 4. Quanti sono gli anagrammi della parola SCACCO? - $\frac{6!}{3} = 240$ + $\frac{6!}{3!} = 120$ - $\binom 63 = 20$ - $3! = 6$ - $6! - 3! = 714$ = La C compare 3 volte, le altre lettere una: $\frac{720}{6} = 120$. La risposta più insidiosa è 240: divide per 3, il numero di C, invece che per $3!$, il numero di modi di scambiarle tra loro. ``` ## Fonti - Le lezioni complete: [D05 · Composizione di funzioni e funzioni inverse](D05_composizione_funzioni_inverse.html), [D06 · Insiemi finiti, principio dei piccioni e inclusione-esclusione](D06_insiemi_finiti_inclusione_esclusione.html), [D07 · Parole, ordinamenti, anagrammi e disposizioni](D07_parole_anagrammi_disposizioni.html), con le domande vere degli appelli, i quiz e gli esercizi. - A. Mori, *Lezioni di Matematica Discreta*: cap. 2, pp. 23–29; cap. 3, pp. 39–55. - Regole d'esame e appelli: [scheda del corso](https://github.com/DonFlammer/unito-informatica/blob/main/contesto_ai/MDAG/corso.md). --- > File: `contesto_ai/ANMAT/corso.md` # Analisi Matematica — scheda del corso (canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti: scheda MFN0570 (https://laurea.informatica.unito.it/do/corsi.pl/Show?_id=orob, aggiornata al 29/08/2026), bacheca Esse3, calendari University Planner 2025/26, Moodle 2024/25 (accesso ospite), guida degli studenti TSI. Il corso è nel 2° semestre: orari e Moodle 2026/27 non sono ancora consultabili. ## Dati essenziali | Voce | Valore | |---|---| | Codice | MFN0570 · 9 CFU · attività di base, MAT/05 · 1° anno, **2° semestre** | | Ore | 48 h di lezione + 30 h di esercitazioni; tutorato settimanale comune ai tre canali (nel 2025/26 venerdì 14–17, Centro Congressi Informatica). **Nessun laboratorio** | | Periodo | 22/02/2027 – 04/06/2027 (pausa 25–30/03) | | Frequenza | facoltativa ma "fortemente consigliata" | | Esame | tre prove al computer nei laboratori, **uniche per i tre canali**; nessun orale | | Libro | W. Dambrosio, *Analisi Matematica – Fare e comprendere*, Zanichelli (riferimento); estratti di Bramanti, Pagani, Salsa, *Analisi Matematica 1*, per le successioni per ricorrenza | ## Docenti e Moodle | Canale | Docenti 2026/27 (scheda) | Nota | |---|---|---| | **A** (cognomi A–D) | Nicola Soave e Francesca Colasuonno | negli anni scorsi Soave lezioni, Colasuonno esercitazioni | | **B** (cognomi E–O) | Alberto Boscaggin e Riccardo Tione | probabilmente Boscaggin lezioni, Tione esercitazioni (deduzione) | | **C** (cognomi P–Z) | Joerg Seiler e Riccardo Tione | negli anni scorsi Seiler lezioni, Tione esercitazioni | - **Moodle unico** per i tre canali: AnMat2627, [id=3703](https://informatica.i-learn.unito.it/course/view.php?id=3703) (serve il login UniTo). Archivio 2024/25 con accesso ospite: [id=2972](https://informatica.i-learn.unito.it/course/view.php?id=2972). - **Orari 2026/27 non ancora pubblicati.** Riferimento 2025/26: A mar 11–13, gio 9–11, ven 9–11 (Aula A); B mar 11–13, mer 9–11, gio 11–13 (Aula B); C lun 14–16, mer 16–18, gio 16–18 (Aula B). - Prerequisiti deboli: quiz "Prerequisiti" su Moodle e corso di riallineamento online su Orient@mente / ofa.unito.it (lo stesso che serve per l'OFA). Un pre-corso in presenza a inizio semestre è citato nelle slide per le matricole, ma non compare nel calendario 2025/26: da verificare. ## Esame (uguale per A, B, C) **Scheda 2026/27:** tre prove informatizzate al computer, tutte obbligatorie; nessuno strumento elettronico, niente testi né appunti; **calcolatrice scientifica (non grafica, non programmabile) solo nella terza prova**; nessun orale. Nel 2026 le prove si sono svolte alle 8:30 nei laboratori Turing, Dijkstra e Von Neumann, divise in turni. | Prova | Contenuto | Durata (Moodle 2024/25) | Soglia 2026/27 | |---|---|---|---| | 1 · Quiz preliminare | 5 domande a scelta multipla sulle basi | 15 min | **almeno 4/5**, altrimenti ci si ferma | | 2 · Teoria | definizioni, enunciati, dimostrazioni | 45 min | **almeno 14/30** | | 3 · Esercizi | problemi strutturati | 60 min | **almeno 14/30** | - **Voto finale** = media delle prove 2 e 3 arrotondata all'intero più vicino, **+1 se il quiz è 4/5, +2 se è 5/5**. Superato con almeno 18. - Le soglie cambiano spesso (2024/25–2025/26: 16 e 16 senza bonus; prima 15 e 18): non fidarsi di simulazioni vecchie. - Iscrizione su Esse3 obbligatoria, chiude 7 giorni prima; turni comunicati pochi giorni prima; chi ripete l'esame segue le regole dell'anno in corso. **Appelli:** per le matricole 2026/27 i primi saranno nella sessione estiva 2027 (non ancora pubblicati). Nel 2026 sono stati 18/06 (268 iscritti), 16/07 (272), 04/09 (130), 23/09 (211), più uno a gennaio per chi aveva già seguito. ## Programma ufficiale (comune) 1. Funzioni, grafici e modelli; trasformazioni geometriche dei grafici; funzioni composte. 2. Limiti di funzioni e di successioni; teoremi sui limiti; successioni per ricorrenza; confronti di crescita e simboli di Landau (anche per la complessità, es. Merge Sort). 3. Calcolo differenziale: derivata, primitive, monotonia e convessità, Taylor/Mac-Laurin. 4. Risoluzione approssimata di equazioni: esistenza degli zeri e bisezione, metodo di Newton. 5. Calcolo integrale: integrale definito, teorema fondamentale, Torricelli-Barrow, integrali impropri, formula del punto medio con stima dell'errore. 6. Serie numeriche: geometrica, armonica generalizzata, criteri di convergenza, confronto con gli integrali impropri. Taglio molto grafico e applicativo (pendenza, velocità, modelli di popolazione): il corso parte da derivata e integrale in modo intuitivo e solo dopo introduce i limiti. **Dimostrazioni richieste** (programma d'esame 2024/25): permanenza del segno e confronto; continuità delle funzioni derivabili; funzioni con derivata nulla o derivata seconda nulla, caratterizzazione delle primitive; test di monotonia e di convessità; limite di una ricorrenza convergente = punto fisso; esistenza degli zeri; convergenza del metodo di Newton; condizione necessaria di convergenza di una serie; media integrale; Torricelli-Barrow (dimostrazione vista a lezione, diversa dal libro); teorema fondamentale; criterio del confronto integrale per le serie. ## Materiale - **Moodle 2024/25** (ospite): calendario per canale, programma d'esame, appunti delle lezioni, 11 questionari teorici, **simulazioni delle tre prove** con video di svolgimento, applet GeoGebra, videolezioni 2020/21. - **Guida TSI** (`Materie/ANMAT`): appunti manoscritti di Boscaggin (prime 3 lezioni, 2022/23) e appunti non ufficiali di Alessandro Salerno dal canale C 2024/25 (lezioni 1–18; attenzione, i nomi dei file non corrispondono al contenuto). - Software utile: GeoGebra (gratuito) per controllare grafici, derivate e integrali. ## Consigli e trappole - Il quiz iniziale è uno sbarramento ma vale anche fino a +2: preparalo bene su grafici elementari, trasformazioni e lettura di grafici. - La teoria vale metà del voto: studia tutte le dimostrazioni dell'elenco, alcune sugli appunti delle lezioni. - Porta la calcolatrice scientifica per la terza prova. - Allenati con le simulazioni Moodle a tempo (15' / 45' / 60'). - Il 2° semestre è pieno (Architettura, Programmazione II, Ricerca Operativa, Inglese): conviene puntare al primo appello di giugno. --- > File: `contesto_ai/ARCH/corso.md` # Architettura degli Elaboratori — scheda del corso (canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti: scheda INF0326 (https://laurea.informatica.unito.it/do/corsi.pl/Show?_id=7x2d, aggiornata al 21/08/2026) e schede storiche, bacheca Esse3, calendari University Planner 2025/26, guida degli studenti TSI. Corso del 2° semestre: orari e Moodle 2026/27 non ancora consultabili (il Moodle richiede il login). ## Dati essenziali | Voce | Valore | |---|---| | Codice | INF0326 · 6 CFU (4 teoria + 2 laboratorio) · caratterizzante, INF/01 · 1° anno, **2° semestre** | | Ore | 32 h di teoria + 20 h di laboratorio di programmazione **assembly RISC-V**; laboratorio in turni (1 = matricola dispari, 2 = pari) | | Periodo | 22/02/2027 – 04/06/2027 | | Esame | **scritto al computer + orale obbligatorio**, uguale per i tre canali | | Lingua | italiano; il corso è segnato "English-friendly" (per il corso di laurea: materiale in inglese per preparare l'esame e possibilità di sostenerlo in inglese; https://laurea.informatica.unito.it/do/home.pl/View?doc=International_students.html) | | Competenze attese | Programmazione I e Fondamenti dell'Informatica (1° semestre) | | Libro | D. A. Patterson, J. L. Hennessy, *Struttura e progetto dei calcolatori – Progettare con RISC-V*, 2ª ed., Zanichelli 2023, ISBN 978-88-08-19966-9. Sei capitoli (1 il calcolatore: astrazioni e tecnologia; 2 le istruzioni, il linguaggio dei calcolatori; 3 l'aritmetica dei calcolatori; 4 il processore; 5 grande e veloce: la gerarchia delle memorie; 6 processori paralleli) più il manuale di riferimento RISC-V. Quattro appendici sono online, sul sito dell'editore: A «The Basics of Logic Design», B «Mapping Control to Hardware» e D «Survey of Instruction Set Architectures» in inglese, C «La grafica e il calcolo con la GPU» in italiano | | Simulatore | **ARES** (https://ares-sim.github.io), nel browser, RISC-V a 32 bit, dal 2025/26; fino al 2024/25 si usava RARS (a 64 bit) | ## Docenti e Moodle | Canale | Teoria | Laboratorio turno 1 (dispari) | Laboratorio turno 2 (pari) | |---|---|---|---| | **A** (cognomi A–D) | Rossano Gaeta | Rossano Gaeta | Rossano Gaeta | | **B** (cognomi E–O) | Idilio Drago | Idilio Drago | Maurizio Lucenteforte | | **C** (cognomi P–Z) | Claudio Schifanella | Claudio Schifanella | Gianluca Torta | - **Moodle unico** "Architettura degli Elaboratori (A, B, C)": [id=3833](https://informatica.i-learn.unito.it/course/view.php?id=3833), serve il login UniTo. Regole d'esame, soglie e materiali sono lì. - **Orari 2026/27 non ancora pubblicati.** Riferimento 2025/26: 2 blocchi di teoria da 2 h a settimana per canale e 1 blocco di laboratorio da 2 h per turno al laboratorio Turing; laboratori dalla 3ª settimana (primi laboratori tra il 02/03 e il 05/03/2026, con il semestre iniziato il 16/02/2026). ## Esame (uguale per A, B, C) **Scheda 2026/27:** prove scritte e una prova orale, voto in trentesimi con lode. **Tutte le parti vanno superate.** | Parte | Contenuto | Punti | |---|---|---| | Ammissione | competenze elementari, domande a correzione automatica | 10 | | Teoria | enunciare e descrivere proprietà e tecniche, applicarle a esempi (scritto e/o orale) | 14 | | Laboratorio | programma assembly RISC-V, corretto sia nella sintassi sia nell'algoritmo, verificato con i simulatori | 8 | - Totale 32. Le soglie di ciascuna parte non sono sulla scheda: vengono pubblicate su Moodle. - Nel 2023/24 (punteggi 8/10/14) il flusso era: quiz Moodle (soglia 4/8) e laboratorio su Moodle (soglia 5/10, almeno 1 punto per esercizio) lo stesso giorno, poi **orale su tutto il programma**; superato con totale ≥ 18. È probabile che oggi sia analogo con i nuovi punteggi: verificare su Moodle. - All'appello ogni canale ha il **proprio turno Esse3** ("ARCHIT. ELAB. CORSO A/B/C"), con stessa data, ora e laboratori (appello del 01/10/2026: tutti e tre alle 9:00 nei laboratori Turing, Dijkstra e Von Neumann, verificato su Esse3 il 28/09/2026): iscriversi a quello del proprio canale. Iscrizioni aperte circa 20 giorni prima, chiuse 7 giorni prima. **Appelli:** per le matricole 2026/27 i primi saranno nella sessione estiva 2027 (non ancora pubblicati). Riferimento 2025/26: 08/06, 03/07, 14/09, 01/10/2026 (circa 250–290 iscritti ai primi due). ## Programma ufficiale (comune) **Teoria:** calcolatori, astrazioni e tecnologia · ISA RISC-V (bit, byte, parole, operandi, indirizzi, rappresentazione delle istruzioni, assembler, linker, loader, virgola mobile) · processore RISC-V (ALU, registri, temporizzazione, datapath, implementazione semplice) · bus e I/O (arbitraggio, polling, interrupt, DMA, eccezioni RISC-V) · gerarchia delle memorie (località, tecnologie, cache). **Laboratorio:** linguaggio assembly RISC-V; operandi in memoria, indirizzi, registri; operazioni logiche; if-then-else e cicli; procedure (registri, stack, heap); compilazione e traduzione; simulazione di una ALU. ## Materiale - **Guida TSI** (`Materie/ARCH`, 2023/24): appunti digitati di Davide Trapani dalle lezioni di Schifanella (84 pagine, tutto il programma: il file più utile); cheat sheet svolti per la prova di ammissione (prestazioni, CPI, cache a mappatura diretta, ALU) e per il laboratorio (formati delle istruzioni); soluzioni dei laboratori L01–L09 in assembly. **Attenzione:** quel materiale usa RARS a 64 bit (`ld`/`sd`, offset di 8 byte); con ARES a 32 bit si usano `lw`/`sw` e offset di 4 byte. - Gruppo Telegram studentesco del corso: vedi `../unito_informatica.md`. ## Consigli e trappole - Iscriviti al Moodle comune appena parte il semestre: regole e soglie sono solo lì. - Tutte le parti devono essere superate: un laboratorio insufficiente fa fallire l'esame anche con una buona teoria. - Usa ARES fin da subito, compreso il controllo delle convenzioni di chiamata: errori tipici sono non salvare `ra` e i registri `s*` sullo stack, disallineare `sp`, confondere registri caller-saved e callee-saved. - Prova di ammissione: esercitati su prestazioni (CPI, frequenza, tempo), codifica delle istruzioni, esecuzione passo passo, cache, uscite della ALU. - Per l'orale prepara definizioni precise di tutti gli argomenti (bus sincrono/asincrono, arbitraggio, località, tipi di cache, interrupt e DMA, eccezioni, assembler a due passate, linker e loader). - Consolida già adesso cicli, array e ricorsione in C (Programmazione I) e binario, esadecimale e complemento a 2 (Fondamenti). --- > File: `contesto_ai/PROG2/corso.md` # Programmazione II — scheda del corso (canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti: scheda INF0330 (https://laurea.informatica.unito.it/do/corsi.pl/Show?_id=dm23, aggiornata al 18/04/2026) e schede storiche, bacheca Esse3, calendari University Planner 2025/26, elenco delle pagine Moodle, guida degli studenti TSI. Corso del 2° semestre: orari non ancora pubblicati, Moodle chiusi agli ospiti. ## Dati essenziali | Voce | Valore | |---|---| | Codice | INF0330 · 6 CFU · caratterizzante, INF/01 · 1° anno, **2° semestre** | | Linguaggio | **C** (prosegue Programmazione I) | | Ore | 32 h di teoria in aula (senza computer) + 20 h di laboratorio in turni (1 = matricola dispari, 2 = pari); tutorato facoltativo | | Periodo | 22/02/2027 – 04/06/2027 | | Esame | **progetti di laboratorio obbligatori + esonero + scritto**, uguale per i tre canali | | Prerequisiti | tutto Programmazione I: assegnamenti, condizionali, cicli, array, struct, stringhe, **puntatori**, funzioni, ricorsione, I/O | | Libro | la scheda dice che la scelta del libro "è in corso": nessun testo ufficiale per ora (la slide di Prog I indica il Deitel come testo comune, ma non è confermato) | ## Docenti e Moodle | Canale | Teoria | Laboratorio turno 1 (dispari) | Laboratorio turno 2 (pari) | |---|---|---|---| | **A** (cognomi A–D) | Ferruccio Damiani | Ferruccio Damiani | Ferruccio Damiani | | **B** (cognomi E–O) | Robert Birke | Gianluca Torta | Gianluca Torta | | **C** (cognomi P–Z) | Michele Garetto | Michele Garetto | Giorgio Audrito | - Pagine Moodle 2026/27 già create (serve il login): canale A teoria [id=3651](https://informatica.i-learn.unito.it/course/view.php?id=3651), lab A1 id=3653, lab A2 id=3655; lab C2 id=3757. Le pagine di B e di teoria C/lab C1 non sono ancora uscite. - **Orari 2026/27 non ancora pubblicati.** Riferimento 2025/26: teoria 2 volte a settimana in Aula A/B, laboratori al Turing. ## Esame (uguale per A, B, C) Tre fasi, uguali per tutti i canali: gli studenti dei tre canali sostengono insieme lo stesso esonero e poi, in un altro giorno, lo stesso scritto (due prove distinte, con due iscrizioni Esse3): 1. **Progetti di laboratorio** (obbligatori, senza voto): consegnati su Moodle con test automatici. **Tutti** i progetti devono essere consegnati con **tutti i test superati** per essere ammessi a esonero ed esame. Si possono fare da soli o in coppia (in coppia consegnano entrambi). Contano solo le consegne fatte entro la chiusura delle iscrizioni all'esonero; le consegne vengono chiuse nei periodi d'esame. I test verdi sono necessari ma non sufficienti: i docenti possono segnalare altri problemi. 2. **Esonero**: un esercizio di programmazione sulla Piattaforma Esami in laboratorio (e/o su carta). Esito: insufficiente (da ripetere) oppure **sufficiente = 1, buono = 2, ottimo = 3 punti**. Vale **un anno solare**. 3. **Esame scritto** ("TEORIA"): domande a risposta chiusa e aperta, 0–30, superato con **almeno 17** (nel 2025/26 serviva 18). - **Voto finale = esonero (1–3) + scritto (17–30)**; 31 o più diventa **30 e lode**. - Su Esse3 sono **due appelli distinti**, "PROGRAMMAZIONE II- ESONERO" e "PROGRAMMAZIONE II-TEORIA", entrambi da prenotare (chiudono una settimana prima). Nel 2025/26 l'esonero era il giorno prima della teoria, alle 9:00 nei laboratori Turing, Dijkstra e Von Neumann, con turni se gli iscritti sono molti. - **Appelli:** per le matricole 2026/27 i primi saranno nella sessione estiva 2027 (non ancora pubblicati). Riferimento 2025/26: quattro coppie esonero + teoria (esonero il giorno prima della teoria): 15–16/06, 20–21/07, 09–10/09 e 28–29/09/2026. ## Programma ufficiale (comune) 1. Ripasso della programmazione imperativa e del C. 2. Leggere e capire una consegna. 3. Gestione esplicita della memoria: `malloc`/`free`. 4. Strutture dinamiche lineari (liste collegate, anche ordinate), con approccio iterativo e ricorsivo. 5. Tipi di dato astratti pila e coda, con array e con liste. 6. Programmi su più file, header e compilazione. 7. Alberi binari. 8. Tipi `union`. 9. I/O formattato su file (`fopen`, `fscanf`, `fprintf`, `fclose`). ## Materiale - **Guida TSI** (`Materie/PROG2`): la "Bibbia-PROG2" con 9 esercizi in C capitati agli esami (liste `IntList` e alberi `IntTree`, iterativi e ricorsivi, spesso "senza allocare nuova memoria"), ciascuno con test automatici e Makefile: ottimo allenamento per l'esonero. Più un file di domande di teoria con risposte scritte da studenti (non tutte affidabili). Gli appunti Notion e gli esercizi Java della cartella riguardano il **vecchio** Programmazione II in Java: non usarli. ## Consigli e trappole - **I progetti sono il vero sbarramento**: consegnali durante il semestre, prima della sessione estiva. - Servono **due iscrizioni separate** (esonero e teoria): chi ne dimentica una non entra. - Esonero "ottimo" (3) + scritto 28 = 30 e lode: l'esonero pesa. - Per la teoria allenati su tipi e puntatori (`typedef struct`, puntatori a puntatori, `.` e `->`), `union` ed `enum`, tracing di codice con accessi fuori limite e cicli che non terminano. - Arriva a febbraio con i puntatori di Programmazione I ben solidi: sono il prerequisito dichiarato. - Prova il codice anche con `-Wall -Wextra` e con strumenti come valgrind o i sanitizer per trovare errori di memoria (consiglio, non requisito ufficiale). --- > File: `contesto_ai/RO/corso.md` # Ricerca Operativa — scheda del corso (canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti: scheda INF0327 (https://laurea.informatica.unito.it/do/corsi.pl/Show?_id=nw57, aggiornata al 09/07/2026) e schede storiche, bacheca Esse3, calendari University Planner 2025/26, guida degli studenti TSI. Corso del 2° semestre: orari 2026/27 non ancora pubblicati (University Planner senza eventi dopo il 15/01/2027); la pagina Moodle 2026/27 esiste già (id=3719, serve il login). ## Dati essenziali | Voce | Valore | |---|---| | Codice | INF0327 · 6 CFU · affine/integrativo, MAT/09 · 1° anno, **2° semestre** | | Ore | 32 h di lezione + 20 h di esercitazioni in aula; tutorato (nel 2025/26 6 incontri per canale da metà aprile). **Nessun laboratorio** | | Periodo | 22/02/2027 – 04/06/2027 | | Esame | scritto al computer (almeno 1,5 ore) + **orale facoltativo**, uguale per i tre canali | | Prerequisiti | vettori, matrici, sistemi lineari, indipendenza lineare, basi (da MDAG, 1° semestre) | | Testi | obbligatori: appunti e lecture notes dei docenti su Moodle; facoltativo: R. J. Vanderbei, *Linear Programming: Foundations and Extensions*, Springer | ## Docenti | Canale | Docente (lezioni ed esercitazioni) | Orario di riferimento 2025/26 | |---|---|---| | **A** (cognomi A–D) | Andrea Grosso | mar 9–11, ven 11–13 · Aula A | | **B** (cognomi E–O) | Roberto Aringhieri | lun 11–13, mer 11–13 · Aula B | | **C** (cognomi P–Z) | Pierre Hosteins | mar 16–18, gio 14–16 · Aula B | - **Moodle unico** "Ricerca Operativa (A,B,C)" 2026/27 (nome breve RO-26-27): [id=3719](https://informatica.i-learn.unito.it/course/view.php?id=3719), serve il login UniTo (iscrizione spontanea). Pagina 2025/26: id=3555 (anch'essa con login). - Gli esami si svolgono su Moodle Esami (esami.i-learn.unito.it): l'iscrizione alla pagina la fanno i docenti a partire dagli iscritti all'appello su Esse3. ## Esame (uguale per A, B, C) - **Scritto** da 0 a 33 punti, al computer in laboratorio (Turing, Von Neumann, Dijkstra). Il formato preciso dei quesiti al computer non è pubblico. - **Orale facoltativo da −16 a +6 punti**, che si sommano allo scritto: dopo l'orale il voto può anche diventare insufficiente. - Il voto di una prova vale per l'anno accademico in cui è stata sostenuta. **Presentarsi a un nuovo appello annulla il voto precedente, anche se ci si ritira.** - **Appelli:** per le matricole 2026/27 i primi saranno nella sessione estiva 2027 (non ancora pubblicati). Schema tipico: 2 appelli giugno-luglio, 1–2 a settembre-ottobre, uno straordinario in inverno. Giugno e luglio sono i più affollati (250–280 iscritti). Struttura tipica degli scritti del vecchio corso CMRO (raccolta ufficiale 2012–2019, su 33 punti), utile come riferimento: modellazione PL/PLI (10–12 punti), programma lineare con metodo grafico, simplesso, duale e scarti complementari (11–13 punti), più esercizi di algebra lineare che oggi **non** fanno più parte di RO. ## Programma ufficiale (comune) 1. Introduzione alla Ricerca Operativa e cenni di complessità. 2. Modelli di Programmazione Lineare a variabili continue e intere, a partire da problemi reali. 3. Algoritmo del simplesso. 4. Dualità lineare e simplesso duale. 5. Programmazione a variabili intere: Branch and Bound. 6. Flussi su reti e cammino minimo. ## Materiale - **Guida TSI** (`Materie/CMRO`): la **raccolta ufficiale di Aringhieri e Grosso con testi e tracce di soluzione 2012–2019** (la risorsa più utile per modellazione, simplesso e dualità; salta Gauss-Jordan e le dimostrazioni di algebra lineare, che appartengono al vecchio corso); appunti, esercitazioni e tutorati RO 2023/24 del canale A (Branch and Bound, grafi, flussi). - La cartella si chiama CMRO perché fino al 2021/22 il corso era "Calcolo Matriciale e Ricerca Operativa": ignora la parte di calcolo matriciale. ## Consigli e trappole - Vai all'orale solo se sei preparato sulla teoria: può togliere fino a 16 punti. - Non presentarti "per provare" se hai già un voto che ti va bene: lo perdi anche ritirandoti. - Allenati a eseguire il simplesso con precisione e a scrivere i risultati in modo ordinato: lo scritto è al computer. - Per modellazione (variabili binarie, big-M, vincoli logici, obiettivi min-max) usa la raccolta 2012–2019; per Branch and Bound, flussi e cammino minimo usa il materiale del corso. - Arriva al 2° semestre con matrici, sistemi e basi di MDAG ben solidi. - Segui i tutorati di aprile-maggio: sono il modo più diretto per esercitarsi. --- > File: `contesto_ai/INGLESE/corso.md` # Lingua Inglese I — scheda del corso (unica per i canali A, B, C · A.A. 2026/27) Aggiornato al 28/09/2026. Fonti: scheda MFN0590 (https://laurea.informatica.unito.it/do/corsi.pl/Show?_id=ykib), pagina della Scuola di Scienze della Natura sul test SET, Moodle 2024/25 (accesso ospite), pagina "Riconoscimento crediti" del corso di laurea (procedura valida dal 01/10/2026), pagina di Ateneo sulle certificazioni, bacheca Esse3. ## Dati essenziali | Voce | Valore | |---|---| | Codice | MFN0590 · 3 CFU · L-LIN/12 · 1° anno, **2° semestre** | | Voto | **nessuno**: idoneità ("superato") | | Ore | 30 h di esercitazioni **online** (Webex), in inglese; nel 2025/26 il martedì sera | | Canali | **nessuna divisione**: un unico corso per A, B e C, gestito dalla Commissione Lingua Inglese del Dipartimento | | Livello | **B1** di grammatica (la scheda parla di B1–B2 per grammatica e lettura); parlato e scritto non sono valutati | | Libro | R. Murphy, *English Grammar in Use* (with answers), Cambridge University Press | | Moodle | [id=3805](https://informatica.i-learn.unito.it/course/view.php?id=3805) (serve il login); archivio con accesso ospite: id=2900 (2024/25) | | Contatto | commissione-inglese@di.unito.it (non scrivere ai singoli docenti) | ## Esame: test SET (Scientific English Test) Si svolge al computer nei laboratori del Dipartimento, con valutazione automatica ed esito immediato. | Parte | Contenuto | Tempo | Superamento (Moodle 2024/25) | |---|---|---|---| | **A** | grammatica e lessico generali, adattiva a batterie da 19 domande | fino a 60 min | 1ª batteria: ≥ 13 superata, < 7 non superata, 7–12 si prosegue; poi soglie cumulative (≥ 24 dopo due batterie, ≥ 29 dopo tre) | | **B** | comprensione di due testi tecnico-scientifici, 8 domande ciascuno | 30 min | **almeno 9 risposte giuste su 16** | - La parte A va superata per accedere alla B; chi ha già superato la A in un appello precedente rifà solo la B (sulla scadenza della A le fonti si contraddicono: chiedere alla commissione). - **Dizionari cartacei ammessi e consigliati**; traduttori online vietati. Portare la tessera universitaria. - Verificare **nei giorni prima** che il login ai PC del laboratorio funzioni: il giorno dell'esame non si sbloccano account. - Moodle 2024/25: al massimo 3 tentativi per anno accademico, al massimo 2 nella stessa sessione. - Iscrizione su MyUniTo (servono piano carriera ed Edumeter). Appello già pubblicato: 02/02/2027 (iscrizioni 13/01–26/01), ma non è chiaro se sia utilizzabile da chi segue le esercitazioni solo nel 2° semestre 2027. Nel 2025/26 gli appelli sono stati gennaio, giugno, luglio, due a settembre. ## Programma (14 lezioni di grammatica) Verb patterns (-ing/to), make/do · pronomi relativi, comparativi · have something done, must/have to · present simple, avverbi di frequenza, present continuous, preposizioni e phrasal verbs · gerundio, past simple e continuous · linkers, condizioni (provided, unless), used to · futuri, primo condizionale · countable/uncountable, present perfect · past perfect, future perfect · modali, acronimi · passivo · discorso indiretto · Social English e tipi di domande della parte B · articoli, pronomi, possessivi. Materiale utile: PDF "Per superare il SETA" della Scuola (le 70 strutture della parte A) ed "Esempio test SET"; dispense Lesson 1–14 ed esempi di test sul Moodle 2024/25. ## Riconoscimento di una certificazione (procedura dal 01/10/2026) - **B2 o superiore** da un ente riconosciuto, conseguita di norma negli ultimi 5 anni (per il 2026/27 dal 01/10/2021): ticket su https://hdstudenti.unito.it/ con il modulo di riconoscimento e il certificato; nessuna delibera del corso di laurea; domanda in qualsiasi momento dell'anno. Costi e tempi: secondo la pagina di Ateneo si paga solo l'imposta di bollo e la registrazione avviene entro 30 giorni; secondo la pagina "Riconoscimento crediti" del corso di laurea (iter valido dal 01/10/2026, aggiornata al 22/09/2026) la Segreteria Studenti addebita il contributo istanze e inserisce la convalida nel libretto solo dopo il pagamento e con il piano carriera compilato. Le due pagine non coincidono: chiedere conferma alla Segreteria Studenti. Certificati validi a livello B2+: IELTS 5.5+ (non la versione Online), Cambridge B2 First, C1 Advanced, C2 Proficiency, Business Vantage/Higher, TOEFL iBT 4–4,5 (B2) e oltre sulla scala attuale 1–6 (72–94 e oltre sulla scala precedente 0–120), Trinity ISE II–IV, Oxford Test of English 111+, Pearson PTE General 3 / PTE Academic 59+ (non Online), LanguageCert Communicator/Expert/Mastery, Gatehouse Awards. - **B1 con tutte e 4 le abilità**: Google Form di richiesta convalida del corso di laurea (dalla pagina "Riconoscimento crediti"); il corso di laurea delibera, poi si paga il contributo istanze. Serve il piano carriera compilato. - Prima della domanda si può chiedere un parere a informatica@educ.di.unito.it allegando il certificato. ## Consigli - Se hai già un B2 certificato, fai il riconoscimento invece dell'esame. - Il livello richiesto è B1: chi ha fatto bene l'inglese alle superiori può spesso provare l'esame anche senza seguire le esercitazioni, che sono facoltative. - Per la parte B allenati a leggere testi di informatica in inglese.