Michael Skeide Algebra per l’Informatica Michael Skeide Dipartimento S.E.G.e S. Università degli Studi del Molise Via de Sanctis, 86100 Campobasso, Italia E-mail: [email protected] Homepage: http://www.math.tu-cottbus.de/INSTITUT/lswas/ skeide.html Prefazione Questo testo contiene le lezioni del corso “algebra per l’informatica” di 6 crediti (48 ore), che ho tenuto nel secondo semestre dell’anno academico 2003/04 alla Sede d’Isernia dell’Università degli Studi del Molise, e qualche supplemento per quale non ho trovato il tempo necessario. Questi supplementi sono riconoscibili o dalla stampatura a caratteri piccoli o come sezioni intere che portano “Appendice: ...” nel titolo, e non fano parte della materia che lo studente dovrebbe avere presente all’esame. È, però, senz’altro possibile che la lettura dei supplementi aiuterà di trovare qualche soluzione di un problema posto nell’esame. Spero, comunque, che i supplementi facciano piacere a tutti quelli che vogliono approfondire la materia del corso e che possano rispondere a qualche domanda che non abbiamo potuto trattare durante il corso. Come libri di testo posso raccomandare i libri [Art97] di M. Artin, [Fac00] di A. Facchini, [Her82] di N. Herstein ed i due libri [Lan70, Lan90] di S. Lang (di quali il secondo è più adatto ma disponibile solo in inglese). Però nessuno di questi libri è adatto di sostituire il testo presente. L’unico libro di livello adeguato è quello [Fac00] di Facchini, che tratta però molto di più che si possa fare in un solo corso. Quello però che rimane da questo libro dopo la cancellazione di qualche sezione o qualche capitolo, non è più abbastanza coerente per formare la base di un corso autonomo.1 La risposta alla domanda se per passare l’esame si deva esguire anche qualche dimostrazione è un deciso “si!”. Quello che voglio insegnare non sono ricette per fare qualche calcolo che non funzionano più quando le ipotesi sono variate minimamente. (Il peggio sarebbe se le ricette siano applicate senza una verifica delle ipotesi, producendo un risultato che non valga assolutamente nulla.) Piuttosto volgio mettere in grado quello che impara, di valutare in modo autonomo se una procedura suggerita gli porti alla destinazione. La verifica che un’affermazione sia vera è solo un altro modo di dire “fare una dimostrazione”, perciò non dovrebbe avere nulla di spaventoso. Piuttosto di specificare in che cosa consiste una dimostrazione matematica, voglio quotare un passaggio del libro di M. Artin [Art97, pagina 691]. 1 Inoltre vorrei raccomdandare il romanzo “Il Teorema del Papagallo” di Denis Guidj [Gue03]. Si tratta di un compendio della storia della matematica fino agli inizi del ventesimo secolo nascosto in un giallo di notevole livello di costruzione del plot (assai improbabile ma per niente impossibile). Spero che i tentativi di spiegare perché la gente aveva iniziato a rispondere a domande matematiche possano trasportare un po del fascino che la matematica ha per me. i ii Ciò che i matematici considerano un modo approprio di presentare una dimostrazione non è definito con chiarezza. Di solito, non vengono date dimostrazioni complete, nel senso che ogni passo consiste nell’applicare una regola di logica al passo precedente. Una dimostrazione siffatta risulterebbe troppo lunga, e inoltre i punti principali non sarebbero messi in evidenza. D’altra parte, tutte le difficoltà nei passaggi dimostrativi sono certamente incluse. Chi legge la dimostrazione dovrebbe essere in grado di completare tutti i dettagli necessari per comprenderla. L’abilità nello scrivere una dimostrazione si acquista soltanto con l’esperienza. In questo spirito, quanto sia dettagliata una dimostrazione dipende dal livello su quale ci troviamo, ma anche dal livello del problema. Se chiedo una dimostrazione del fatto che 0x = 0 per ogni vettore x, è chiaro che esigo una riduzione agli assiomi degli spazi vettoriali. In un’altra dimostrazione tale formula sarà utilizzata (come piccolo passo intermedio) senza neanche menzionare che si tratta di un risultato che sia già stato dimostrato altrove. Come correttore, nella primo caso voglio vedere se il candidato è in grado di verificare (cioè di dimostrare) la validità di una formula, mentre nel secondo caso accetto tutte le formule usate finché non siano sbagliate (o rispetto al livello del corso troppo ingiustificate). Alla fine ho l’immenso piacere di ringraziare lo studente Bruno Maddalena per un lavoro svolto con grande efficienza ed accuratezza eliminando qualche centinaia (o migliaia) di errori linguistici dalle prime versioni di queste dispense. È chiaro però che la risponsabilità per gli errori presenti (nouvi e vecchi, che ci sarano, come in tutti i libri, anche dopo la ennesima revisione) rimane tutta mia. Michael Skeide, estate 2004 Indice Prefazione i Introduzione 1 1 Notazioni di base riviste 3 1.1 Insiemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 I numeri naturali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Appendice: Definizioni ricorsive . . . . . . . . . . . . . . . . . . . . . . . . . 19 2 3 4 Relazioni 23 2.1 Definizioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 Ordinamenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3 Equivalenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4 Classe di equivalenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.5 Appendice: Supplementi sulla cardinalità . . . . . . . . . . . . . . . . . . . . 27 Gruppi, monoidi e semigruppi 31 3.1 Definizioni e primi risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2 Monoidi e gruppi ciclici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3 Esempi di (semi)gruppi di matrici . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4 Omomorfismi ed isomorfismi . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.5 Esempio: Permutazioni e gruppi finiti . . . . . . . . . . . . . . . . . . . . . . 49 3.6 Quozienti (semigruppi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.7 Quozienti (gruppi) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Cenni sugli anelli e campi 63 4.1 Campi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2 Anelli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.3 La formula del binomio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.4 Polinomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5 Appendice: Ideali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 iii Indice iv 5 Algebra lineare 73 5.1 Spazi vettoriali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.2 Funzioni lineari (operatori) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.3 Sottospazi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.4 Quozienti (spazi vettoriali) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.5 Somme dirette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.6 Sottinsiemi generanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.7 Indipendenza lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.8 Basi e dimensione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.9 Appendice: Il lemma di Zorn e l’esistenza di basi . . . . . . . . . . . . . . . . 93 5.10 I numeri complessi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.11 Equazioni lineari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.12 Appendice: Esempi di alcuni matrici particolari . . . . . . . . . . . . . . . . . 111 5.13 Il determinante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.14 Appendice: Calcolo di qualche complessità . . . . . . . . . . . . . . . . . . . 118 5.15 Appendice: Cenni di autovalori e autovettori di matrici . . . . . . . . . . . . . 121 Bibliografia 127 Index 129 Introduzione L’algebra può essere considerata la teoria delle strutture astratte. Per esempio l’insieme R di tutti i numeri reali è dotato di tante strutture (addizione, moltiplicazione, potenze, ordinamento, modulo, etc.). Guardandole tutte insieme corriamo il pericolo di perderci fra troppi dettagli. Per esempio l’insieme R con le operazioni di addizione e moltiplicazione è quello che più tardi chiameremo un campo. (La definizione di campo è proprio motivata dalle proprietà dei numeri nei calcoli elementari.) Però queste sono già due operazioni e per non confondere le proprietà che seguono da ogni operazione con quelle che possono essere dimostrate solo guardandole insieme, occorre di considerare prima le operazioni individualmente. Solo i risultati, che non possono essere dimostrati in questo modo sono risultati propri sui campi. Guardando l’insieme R con la sola operazione di addizione abbiamo quello che chiameremo un gruppo, addirittura un gruppo abeliano perché l’addizione è commutativa. Ma anche l’insieme R senza lo 0 con la sola operazione di moltiplicazione è un gruppo (abeliano). Quindi analizzando le proprietà dei gruppi abeliani astratti con ogni teorema su gruppi (per esempio l’unicità dell’identità) non solo dimostriamo subito due teoremi su R o un qualsiasi altro campo, ma su ogni insieme dotato di un’operazione che siamo in grado di indentificare come gruppo. (In effetti, la notazione del gruppo non ha origine nella teoria dei campi ma nella teoria delle trasformazioni di un insieme.) Fare astrazioni è, quindi, un problema dell’economia dei pensieri. Più realizzazioni concrete la struttura ha, più applicazioni hanno i risultati: esempio concreto astrazione / esempi u: uu u u uu uu u u uu / teoremi uI / esempi II II II II II II I$ struttura astratta esempi Un altro aspetto consiste nel problema di descrivere proprio tutti gli esempi, diciamo di 1 2 Introduzione classificare tutte le realizzazioni. Un esempio che vedremo più tardi sono le classificazioni di matrici. Come dice la parola stessa, classificare significa suddividere in classi. Il fatto che esiste più di una classificazione di matrici, dipende dal fatto che ci sono diverse possibilità di decidere quando due matrici sono membri della stessa classe. Il concetto fondamentale della classificazione è rappresentato dalle relazioni di equivalenza. Capitolo 1 Notazioni di base riviste Dopo l’introduzione dovrebbe essere chiaro che le strutture sono espresse con l’aiuto di funzioni fra insiemi. Il primo obiettivo di questo capitolo è di fissare certe notazioni su insiemi e funzioni e ripetere le loro proprietà basilari che stiamo usando in continuazione. L’altro obiettivo, però, è di farlo in modo tale che siano più adatte per gli scopi di un corso di algebra. Quindi, anche se il lettore conosce già le notazioni e sa usarle, conviene comunque di leggere attentamente come intendiamo di farne uso in questo corso. La presentazione nella Sezione 1.1 è completamente ripetitiva e può essere sostituita con la sezione corrispondente di un qualsiasi testo standard di analisi o algebra. A partire dalla Sezione 1.2 inizia, però, una presentazione specifica sugli scopi del corso. La probabilità di trovarla in un libro, esattamente nel modo in cui abbiamo bisogno, è diminuita considerevolmente. 1.1 Insiemi La teoria rigorosa degli insiemi è decisamente fuori la portata di un qualsiasi corso introduttivo che non abbia come tema la teoria degli insiemi. Però con un po di attenzione (s.v. Nota 1.1.4) é possibile di limitarsi al concetto intuitivo di insiemi come viene introdotto da Cantor. 1 Un insieme è una “collezione” di “oggetti” di interesse. Parlare di un insieme in questo senso non è nient’altro che un’abbreviazione per evitare di dover sempre ripetere la specificazione degli oggetti. Tale specificazione può essere fatta tramite una descrizione verbale, tramite una lista esplicita o tramite la formulazione di condizioni che gli oggetti devono soddisfare. 3 Capitolo 1. Notazioni di base riviste 4 1.1.1 Esempio. Un esempio di una specificazione verbale è “L’insieme A è l’insieme di di tutti i numeri interi compresi fra 3 e 8”. La lista esplicita dello stesso insieme A sarebbe A = 3, 4, 5, 6, 7, 8 , mentre la descrizione con l’aiuto di condizioni è A = n ∈ Z: 3 ≤ n ≤ 8 oppure, ugualmente, A = n∈Z|3≤n≤8 . La seguente tabella contiene altri insieme che usiamo in continuazione. numeri razionali N = 1, 2, . . . N0 = 0, 1, 2, . . . Z = . . . , −2, −1, 0, 1, 2, . . . Q = qp : p ∈ Z, n ∈ N (s.v. la Sezione 3.6) numeri reali R numeri complessi C (s.v. la Sedzione 5.10) l’insieme vuoto ∅ (non contiene nessun oggetto) numeri naturali numeri interi In qualche formula precedente abbiamo già fatto uso del simbolo ∈. Ciò significa: a∈A “a è elemento di A” oppure “a in A”, a<A “a non è elemento di A” oppure “a non in A”, A3a “A contiene l’elemento a”. 1.1.2 Esempio. Per ogni insieme A abbiamo la specificazione banale e tautologica dei suoi elementi A = {a ∈ A}. Come potenziali oggetti di insiemi ci possiamo proprio pensare a tutto. Per un insieme però deve valere la seguente regola: Sia A un insieme. Allora per ogni oggetto a vale o a ∈ A o a < A. 1.1. Insiemi 5 1.1.3 Esempio. L’insieme vuoto ∅ è specificato dal fatto che a < ∅ per un oggetto qualsiasi a. (La sua esistenza è uno degli assiomi della teoria rigorosa degli insiemi.) Il prossimo esempio noto come l’antinomia di Russell dimostra che per soddisfare la precedente regola bisogna di fare attenzione alle definizioni riflessive di insiemi (cioè definizioni dove per certi oggetti l’appartenenza all’insieme può essere decisa solo dopo che si conosca già l’insieme). 1.1.4 Esempio. Il barbiere di un villaggio fa la barba a tutti gli uomini del villaggio che non si fanno la barba da soli e solo a quelli. Allora il barbiere, come uomo del villaggio, è o non è un elemento dell’insieme di tutti gli uomini del villaggio a quali faccia la barba? Se il barbiere fosse un elemento dell’insieme, allora sarebbe proprio lui a farsi si la barba e, quindi, non farebbe parte dell’insieme. Allora, il barbiere non può far parte dell’insieme. Però, se non fa parte dell’insieme, allora non può essere lui a farsi la barba. Quindi, non si fa la barba da solo e proprio per questo fa parte dell’insieme. Come vediamo con questa definizione dell’insieme di tutti i clienti del barbiere, il povero oggetto “barbiere” non può esserne elemento ma nemmeno non può fare a meno di esserlo. Quindi l’esempio viola la regola, perciò l’insieme in effetti nonè un insieme. 1.1.5 Definizione. Diciamo che A è un sottoinsieme di B (o A è contenuto in B, e scriviamo A ⊂ B o B ⊃ A se a ∈ A =⇒ a ∈ B. Osserviamo che, in particolare, ∅ ⊂ B per ogni insieme B. (Un’implicazione è vera, se quando è vera la prima condizione anche la seconda condizione è vera. E poiché la condizione a ∈ ∅ non è vera proprio mai, non c’è proprio nulla da controllare. Alternativamente, basta anche dimostrare l’equivalente contrapposizione a < B ⇒ a < ∅, osservando che qui la seconda condizione sia sempre vera. Purtroppo non abbiamo abbastanza tempo per approfondire questi concetti basilari della disciplina che si chiama logica.) Ripetiamo ancora che come oggetto di un insieme possiamo pensare proprio a tutto. Quindi anche insiemi possono essere elementi di un insieme. (Possibilmente di un altro insieme e non di se stessi. L’insieme di tutti gli insiemi, che dovrebbe contenere anche se stesso, è un altro esempio famosissimo di un insieme che non può esistere.) 1.1.6 Esempio. L’insieme delle parti P(Ω) di un insieme Ω è definito come P(Ω) = A ⊂ Ω . (Anche l’esistenza di P(Ω) è uno degli assiomi della teoria rigorosa degli insiemi.) Capitolo 1. Notazioni di base riviste 6 1.1.7 Definizione. Il prodotto (o prodotto cartesiano) A × B di due insiemi A è B è l’insieme A × B = (a, b) : a ∈ A, b ∈ B di tutte le coppie ordinate (a, b), dove (a, b) = (a0 , b0 ) se e solo se a = a0 e b = b0 . Similmente, il prodotto di n ∈ N insiemi A1 , . . . , An è l’insieme A1 × . . . × An = n Ai = (a1 , . . . , an ) : a1 ∈ A1 , . . . , an ∈ An i=1 di tutte le n–uple (a1 , . . . , an ). In particolare, An = ni=1 A. Finalmente, se I è un insieme d’indice e Ai i∈I una famiglia di insiemi Ai (i ∈ I), allora il prodotto della famiglia è l’insieme Ai = ai i∈I : ai ∈ Ai (i ∈ I) i∈I di tutte le famiglie ai i∈I . In particolare, AI = i∈I A è l’insieme di tutte le funzioni (s.v. sezione 1.2) da I in A. 1.1.8 Nota. Anche l’esistenza dei diversi tipi di prodotti fa parte degli assiomi della teoria rigorosa degli insiemi. In particolare, il fatto che i∈I Ai sia non-vuoto è il famoso assioma della scelta. Lo incontreremo in una delle tante forme equivalenti come lemma di Zorn nella Sezione 5.9. 1.1.9 Esempio. L’insieme R2 = R × R è il solito piano bidimensionale. Gli elementi sono indicati con (x, y) oppure (x1 , x2 ); s.v. Figura 1.1(a). Il prodotto di due intervalli [a, b] e [c, d] è il sottoinsieme [a, b] × [c, d] del prodotto R × R = R2 come disegnato nella Figura 1.1(b), dove per a, b ∈ R l’intervallo chiuso [a, b] è definito come [a, b] = {x ∈ R : a ≤ x ≤ b}. (a) (b) R 6 (x, y) ∈ R2 y R 6 d [a, b] × [c, d] ⊂ R2 c x Figura 1.1: - R (a) R2 e suoi elementi, a (b) prodotto di intervalli - b R 1.1. Insiemi 7 Altre notazioni di intervalli in R sono [a, b) = x ∈ R : a ≤ x < b (anche per b = ∞), (a, b] = {x ∈ R : a < x ≤ b} (anche per a = ∞), (a, b) = {x ∈ R : a < x < b} (anche per a, b = ∞). Usiamo anche la notazione [a, b] × [c, d] =: [(a, c), (b, d)] e le sue analoghe multi-dimensionali. Chiudiamo questa sezione con alcune regole di calcolo fra insiemi. L’intersezione A ∩ B e l’unione A ∪ B di insiemi A e B sono definiti come A ∩ B = c : c ∈ A, c ∈ B , A ∪ B = c: c ∈ A o c ∈ B . La differenza A meno B è A\B = a ∈ A : a < B . Se A ∈ P(Ω), allora il complemento A{ di A (in Ω) è definito come A{ = a ∈ Ω : Ω . 1.1.10 Esercizio. Dimostrare che, se A, B ∈ P(Ω), allora A\B = A ∩ B{ . Le seguenti regole, che valgono per tutti gli A, B, C ∈ P(Ω), corrispondono una ad una a regole della logica e sono dimostrate riducendole, tramite le definizioni, alle regole della logica. A∩B = B∩A A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) A ∩ (B ∪ B{ ) = A A∪B = B∪A (commutatività), A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) (distributività), A ∪ (B ∩ B{ ) = A (elementi neutrali), (A ∩ B) ∩ C = A ∩ (B ∩ C) (A ∪ B) ∪ C = A ∪ (B ∪ C) (associatività), (A ∩ B){ = A{ ∪ B{ (A ∪ B){ = A{ ∩ B{ (De Morgan), A∩A = A A ∩ (B ∩ B{ ) = B ∩ B{ A ⊂ B ⇐⇒ A ∩ B = A A ∪ A = A, A ∪ (B ∪ B{ ) = (B ∪ B{ ), A ⊂ B ⇐⇒ A ∪ B = B. Capitolo 1. Notazioni di base riviste 8 Le prime tre righe ci dicono che gli elementi P(Ω) formano un’algebra booleana. Tutte le altre regole, eccetto l’ultima riga, possono essere dimostrate dalle prime tre. (L’ultima riga invece nel caso astratto serve come definizione di A ⊂ B.) Inoltre si può dimostrare che gli insiemi B ∪ B{ e B ∩ B{ che soddisfano la terza riga sono già determinati univocamente. Visto che Ω e ∅ sono insiemi che soddisfano queste condizioni, ne segue B ∪ B{ = Ω 1.2 B ∩ B{ = ∅. Funzioni Ricordiamoci che un buon modo per avere un’idea di una funzione da R in R è di disegnarla. 2 Nella Figura 1.2(a) l’abbiamo fatto per la funzione x 7→ d − 4(d−c) x − b+a . Anche se non lo 2 (b−a)2 possiamo disegnare, supponiamo che la funzione sia definita su tutta la retta R e, teoricamente, può assumere valori in tutta la retta R (anche se, effettivamente, non lo fa perché fa (x) ≤ d per tutti gli x ∈ R). (a) (b) R 6 (c) R 6 R d 0 6 d c c0 - R Figura 1.2: (a) fa : R → R, a - b R (b) fb : [a, b] → [c, d], a - b R (c) fc : [a, b] → [c0 , d0 ]. I valori delle funzioni fb e fc nelle Figure 1.2(b) e (c) verranno calcolati secondo la stessa legge. Però tutte e due sono definite solo sul dominio [a, b] ⊂ R. Mentre fb esaurisce tutto il suo codominio [c, d] la funzione fc non lo fa, perché [c, d] ( [c0 , d0 ]. La definizione generale di una funzione f e del suo dominio e codominio si orienta proprio all’idea di considerarla l’insieme di tutti i suoi punti, cioè come sottoinsieme di R × R (o di [a, b] × [c, d] o di [a, b] × [c0 , d0 ]). Una funzione, fra altri sottoinsiemi di R × R, è distinto dal fatto che a qualunque valore x corrisponde un valore y (la funzione è definita per x) ma non più di un valore (il valore y per un x è ben definito). 1.2.1 Definizione. Siano A e B insiemi. Una funzione (o applicazione) f : A → B da A in B è 1.2. Funzioni 9 un sottoinsieme G f ⊂ A × B (il grafo di f ) tale che per ogni x ∈ A esiste un unico (cioè uno e un solo) elemento y ∈ B che soddisfa (x, y) ∈ G f . Chiamiamo A il dominio di f e B il suo codominio. 1.2.2 Osservazione. Sia x nel dominio A. Secondo la definizione esiste un unico valore y ∈ B tale che (x, y) ∈ G f . Questo valore notiamo con f (x) = y. Il grafo di f è, quindi, l’insieme x, f (x) : x ∈ A . Viceversa, se ad ogni valore x ∈ A assegniamo un valore f (x) ∈ B allora l’insieme x, f (x) : x ∈ A è il grafo di un’unica funzione f : A → B. Siccome f trasforma x in f (x), scriviamo anche f : x 7→ f (x) o solo x 7→ f (x). 1.2.3 Esempio. Su A × B definiamo due funzioni, le proiezioni canoniche, pA : A × B → A e pB : A × B → B come pA ((a, b)) = a e pB ((a, b)) = b. Se A × B = R × R otteniamo cosı̀ le proiezioni sugli assi delle coordinate. Un’altra funzione definita su A × B è il flip F : A × B → B × A che “cambia le coordinate”: F(a, b) = (b, a). 1.2.4 Esempio. La funzione idA : A → A che trasforma a in idA (a) = a la chiamiamo l’identità su A. 1.2.5 Esempio. Sia f : A → B una funzione e A0 ⊂ A. Definiamo la restrizione f |A0 : A0 → B di f su A0 come ( f |A0 )(a) = f (a) (a ∈ A0 ). Similmente se A00 ⊃ A chiamiamo un’estensione di f su A00 una qualsiasi funzione g : A00 → B tale che g|A = f . Mentre f |A0 è determinata da f ed A0 ⊂ A, la restrizione g|A00 \A di un’estensione g di f è completamente arbitraria. 0 0 Se B0 ⊃ B definiamo la corestrizione f |B la funzione A → B0 definita come f |B (a) = f (a) (a ∈ A). 0 0 0 Ovviamente, ( f |A0 )|B = ( f |B )|A0 . Indichiamo tutte e due con f |AB0 . 0 Ci chiediamo in quali casi la notazione f |B abbia senso anche se la condizione B0 ⊃ B non 0 0 è soddisfatta. Per definire f |B : A → B0 come f |B (a) = f (a), ovviamente, occorre e basta che ogni valore f (a) (a ∈ A) sia un elemento di B0 . Serve, quindi, una definizione dell’insieme che contenga tutti questi punti. Vicecersa, se non vogliamo cambiare B0 basta che ci limitiamo a quei punti di A che f trafsorma in elementi di B0 . La seguente definizione copre, fra l’altro, anche questi casi. 1.2.6 Definizione. Per una funzione f : A → B e sottoinsiemi A0 ⊂ A e B0 ⊂ B definiamo l’immagine f (A0 ) di A0 ed la controimmagine f −1 (B0 ) di B0 come f (A0 ) = f (a) : a ∈ A0 , f −1 (B0 ) = a ∈ A : f (a) ∈ B0 . Capitolo 1. Notazioni di base riviste 10 Per un insieme B0 arbitrario poniamo f −1 (B0 ) := f −1 (B0 ∩ B). 1.2.7 Esercizio. Sia A0 ⊂ A e sia B0 arbitrario. Dimostrare che: (a) f −1 (B0 ) = {a ∈ A : f (a) ∈ B0 }. (b) B0 ⊃ f (A0 ) ⇐⇒ f −1 (B0 ) ⊃ A0 . Vale B0 = f (A0 ) ⇐⇒ f −1 (B0 ) = A0 ? (Consiglio: Verificare quando vale f −1 ( f (A0 )) = A0 e quando f ( f −1 (B0 )) = B0 ?) 0 Quindi, infine, qualunque siano A0 ⊂ A e B, possiamo definire f |AB0 se e solo se A0 e B0 soddisfano una delle condizioni equivalenti dell’Esercizio 1.2.7 1.2.8 Esercizio. Siano fa , fb ed fc le funzioni come definite nella Figura 1.2. Poniamo A = [a, b], B = [c, d] e B0 = [c0 , d0 ]. Indicare quale delle seguenti affermazioni è vera e quale è falsa. (a) fa = fb |RR , (b) fa |A = fb , (d) fa |AB = fc , (c) fa |A = fc , (e) fa |AB = fc |B . Per il resto della sezione ci occuperemo del problema quando una funzione può essere invertita. Osserviamo, come idea, che invertire una funzione x 7→ y significa semplicemente invertire la direzione della freccia: x ← y oppure y 7→ x. Parlando dei grafi il grafo della funzione inversa, se esiste, dovrebbe essere il grafo originale riflesso alla bisettrice. (a) 6y (b) 6R y = x2 y = x2 x= - x (c) 6x √ y x= - R 2 Figura 1.3: Riflessione di x 7→ x alla bisettrice. √ y - y Precisiamo l’idea. Sia G f ⊂ A× B il grafo di una funzione f : A → B. Ci chiediamo in che caso anche l’insieme trasposto F(G f ) ⊂ B × A è il grafo di una funzione g : B → A. La condizione è che per ogni b ∈ B esista uno e un solo valore a ∈ A tale che (b, a) ∈ F(G f ) o, ugualmente, (a, b) ∈ G f . L’esistenza di un a significa per ogni b ∈ B deve esistere un a ∈ A tale che f (a) = b. L’unicità, invece, ci dice che non ci sono due a, a0 diverse che danno lo stesso f (a) = f (a0 ). Perciò: 1.2. Funzioni 11 1.2.9 Definizione. Una funzione f : A → B è surgettiva, se f (A) = B. È iniettiva, se per ogni a, a0 ∈ A l’uguaglianza f (a) = f (a0 ) implica che a = a0 . Se f è surgettiva ed iniettiva allora diciamo che f è biettiva. Riassumiamo la definizione e la discussione che la precede: 1.2.10 Corollario. Il trasposto F(G f ) del grafo G f di una funzione f : A → B è il grafo di una funzione g : B → A, se e solo se f è biettiva. In questo caso anche g è biettiva. D. L’unica cosa rimasta da dimostrare è la biettività di g, che segue banalmente dal fatto che il trasposto F(F(G f )) del grafo di g è il grafo G f e, quindi, dalla prima parte del corollario g è biettiva. Osserviamo che in tutto l’argomento non occorre di specificare come g agisce su B. Nel Teorema 1.2.19 precisiamo anche questo. 1.2.11 Esempio. La proiezione canonica pa : A × B → A (s.v. Esempio 1.2.3) è surgettiva. È iniettiva, se e solo se B ha esattamente un elemento. L’identità idA (s.v. Esempio 1.2.4) è biettiva. Sia A ⊂ B. L’immersione canonicaimmersione!canonica i : A → B definita come i(a) = a (a ∈ A) è iniettiva. È surgettiva, se e solo B\A = ∅. 1.2.12 Esempio. Qualunque sia la funzione f : A → B, la funzione f | f (A) è sempre surgettiva. E se per ogni b ∈ f (A) scegliamo un ab e poniamo A0 = {ab : b ∈ f (A)}, allora la funzione f |A0 è iniettiva e la funzione f |Af (A) è biettiva. Approfondiremo la seconda parte di questo argomento 0 quando parleremo di classe di equivalenza nella Sezione 2.4. 1.2.13 Esercizio. (a) Trovare tutti gli intervalli [a, b] (a, b ∈ R) tali che la funzione sin |[−1,1] [a,b] sia biettiva. (b) Calcolare la controimmagine sin−1 − 21 , 12 . 1.2.14 Definizione. Siano date funzioni f : A → B ed g : B → C. Allora la funzione composta g ◦ f : A → C è definita come g ◦ f (a) = g( f (a)). Più generalmente, se f (A) è contenuta nel dominio di g, definiamo g ◦ f := g| f (A) ◦ f | f (A) . Una funzione g : B → A si chiama inversa a sinistra della funzione f : A → B, se g◦ f = idA . Si chiama inversa a destra, se f ◦ g = idB . Si chiama inversa se è inversa a sinistra ed inversa a destra. Chiamiamo f invertibile, se esiste un’inversa a sinistra ed un’inversa a destra. Capitolo 1. Notazioni di base riviste 12 1.2.15 Osservazione. f ◦ idA = idB ◦ f = f per ogni funzione f : A → B. 1.2.16 Esercizio. Dimostrare che per ogni A0 ⊂ A vale g ◦ f (A0 ) = g( f (A0 )) e per ogni C 0 vale (g ◦ f )−1 (C 0 ) = f −1 (g−1 (C 0 )). 1.2.17 Proposizione. Per tutte le funzioni f : A → B, g : B → C ed h : C → D vale (h ◦ g) ◦ f = h ◦ (g ◦ f ). Indichiamo questa funzione con h ◦ g ◦ f . D. Basta calcolare tutte e due le funzioni per ogni a ∈ A e paragonare i valori. Secondo la definizione delle funzioni composte abbiamo ((h ◦ g) ◦ f )(a) = (h ◦ g)( f (a)) = h(g( f (a))) ed (h ◦ (g ◦ f ))(a) = h((g ◦ f )(a)) = h(g( f (a))). 1.2.18 Proposizione. La funzione f : A → B possiede una coppia (gl , gr ) di un’inversa a sinistra gl ed un’inversa a destra gr . Allora gl = gr . Se (g0l , g0r ) è un’altra coppia, allora (g0l , g0r ) = (gl , gr ). Quindi, se f è invertibile, esiste un’unica funzione f −1 , l’inversa di f , tale che f −1 ◦ f = idA ed f ◦ f −1 = idB . D. Abbiamo gl = gl ◦ idB = gl ◦ f ◦ gr = idA ◦gr = gr , cioè gl = gr . Se sostituiamo gr con g0r , ne segue che g0r = gl = gr . Allora, sostituendo anche gl con g0l , alla fine vediamo che (gl , gr ) = (gl , g0r ) = (g0l , g0r ). 1.2.19 Teorema. Per una funzione f : A → B le seguenti affermazioni sono equivalenti: 1. f è invertibile ed il grafo dell’inversa G f −1 è il trasposto del grafo di f . 2. f è biettiva e la funzione definita dal trasposto F(G f ) del grafo di f è l’inversa f −1 . 1.2. Funzioni 13 D. 1 ⇒ 2. Sia f invertibile. Secondo la Proposizione 1.2.18 esiste la funzione inversa f −1 . Inoltre, secondo l’Esercizio 1.2.16 f ( f −1 (B)) = ( f ◦ f −1 )(B) = idB (B) = B cosicché f (A) non può fare a meno di essere uguale a B perché B ⊃ f (A) ⊃ f ( f −1 (B)) = B. Allora per il grafo di f −1 otteniamo G f −1 = (b, f −1 (b) : b ∈ B = (b, f −1 (b) : b = f (a), a ∈ A = ( f (a), f −1 ( f (a)) : a ∈ A = ( f (a), a) : a ∈ A = F(G f ). Quindi, il trasposto del grafo di f definisce una funzione. Secondo il Corollario 1.2.10 f deve essere biettiva. 2 ⇒ 1. Sia f biettiva. Secondo il Corollario 1.2.10 il trasposto del grafo di f definisce una funzione g : B → A tale che Gg = F(G f ). Prima vogliamo dimostrare che g ◦ f = idA . Sia a ∈ A. Il punto f (a), g( f (a)) fa parte del grafo di g. Ma anche il punto ( f (a), a) fa parte di Gg perché il punto trasposto (a, f (a)) fa parte di G f . Quindi, poichè Gg è un grafo, ne segue che g( f (a)) = a, cioè g ◦ f = idA . Rimane da dimostrare che f ◦ g = idB . Sappiamo già che g ◦ f = idA , quindi, f ◦ g ◦ f = f ◦ idA = f . Allora per ogni b = f (a) (a ∈ A) vale ( f ◦ g)(b) = f ◦ g ◦ f (a) = f (a) = b. Poiché f è surgettiva, ogni b ∈ B può essere scritto come f (a). Quindi, ( f ◦ g)(b) = b vale per ogni b ∈ B cosicché f ◦ g = idB . 1.2.20 Esercizio. Dimostrare che: (a) Se f è invertibile allora lo è anche f −1 e ( f −1 )−1 = f . (b) Se f e g sono invertibili e se esiste f ◦ g, allora anche g ◦ f è invertibile e la sua inversa è (g ◦ f )−1 = f −1 ◦ g−1 . 1.2.21 Corollario. Sia f : A → B una funzione. Allora: 1. f è iniettiva, se e solo se esiste un’inversa g a sinistra. Nel caso affermativo g deve essere surgettiva. 2. f è surgettiva, se e solo se esiste un’inversa g a destra. Nel caso affermativo g deve essere iniettiva. D. Qualunque sia f , secondo l’Esempio 1.2.12 la funzione f | f (A) è surgettiva e possiamo costruire un sottoinsieme A0 ⊂ A tale che f |A0 sia iniettiva e f |A0 (A) = f (A). 1. f è iniettiva se e solo se f | f (A) è biettiva. Capitolo 1. Notazioni di base riviste 14 Supponiamo prima che g sia un’inversa a sinistra, cioè g ◦ f = idA . Da g(B) ⊃ g ◦ f (A) = A segue che g è surgettiva. Allora, anche g| f (A) è surgettiva, perché g| f (A) ◦ f | f (A) = g ◦ f = idA . Siano f (a) ed f (a0 ) due punti diversi del dominio f (A) di g| f (A) . Allora a , a0 (perché anche f è una funzione) e, quindi, g( f (a)) = a , a0 = g( f (a0 )), cioè g| f (A) è anche iniettiva. Dal Teorema 1.2.19 segue che g| f (A) è invertibile e, prendendo in considerazione g| f (A) ◦ f | f (A) = idA , dalla Proposizione 1.2.18 segue che f | f (A) è l’inversa di g| f (A) e, quindi, biettiva. Perciò f non può fare a meno di essere iniettiva. Supponiamo adesso che f sia iniettiva. Allora f | f (A) è biettiva e, quindi, esiste ( f | f (A) )−1 . Se poi scegliamo una qualsiasi estensione g di ( f | f (A) )−1 su tutto B, allora g ◦ f = ( f | f (A) )−1 ◦ f | f (A) = idA . 2. f è surgettiva se e solo se f |A0 è biettiva, cioè se e solo se f |A0 = f |Af (A) 0 . Ricordiamoci che f |Af (A) ha l’inversa b 7→ ab dove ab (b ∈ f (A)) sono quegli elementi di A0 tali che f (ab ) = b 0 che abbiamo scelto nell’Esempio 1.2.12 per comporre l’insieme A0 . Quindi se f è surgettiva, ha l’inversa definita su f (A) = B, e se poniamo g = ( f |A0 )−1 |A (cosicche allora f |A0 = f |Af (A) 0 anche g è iniettiva) troviamo che f ◦ g = f |A0 ◦ ( f |A0 )−1 = id f (A) = idB . Viceversa, se f non è surgettiva, allora per nessuna funzione g del mondo la funzione f ◦ g risulterebbe surgettiva (perchè f (g(B)) ⊂ f (A). Quindi f ◦ g , idB per ogni g perchè idB è surgettiva. 1.3 I numeri naturali Una delle scoperte più fondamentali sia per la vita umana di ogni giorno sia per quasi tutte le scienze fu l’osservazione che cose, oggetti, elementi di un insieme, etc. possono essere contate. (Esistono ancora delle tribù nell’Africa che non hanno il senso per la grandezza di un gruppo di uomini, di animali, di frecce o altro, che sia più grande di 2. Loro contano uno, due, tanti.) Gli oggetti con quali denotiamo il risultato del conteggio sono i numeri naturali 1, 2, 3, . . . . (La scoperta dello 0 che simbolizza il niente sia come numero, sia come cifra, è un’altra grande invenzione.) L’esistenza dei numeri per quanto sia plausibile non può essere dimostrata in nessun modo. Piuttosto si tratta dell’assioma fondamentale della matematica moderna. C’è gente (e non poca) che discute sul fatto che la matematica si possa fare anche senza l’assioma della scelta, e dedica tutta la vita a stabilire fino a che punto si possa arrivare. (Questi problemi sono interessanti ma anche fastidiosi e a volte molto difficili. Noi non contribuiamo a questa discussione, ma prendiamo l’assioma della scelta come ipotesi standard di tutti i nostri teoremi.) Però nessuno pensa seriamente di poter fare matematica senza i numeri naturali. Un proverbio fra matematici dice: I numeri naturali provengono da Dio — tutto il resto è opera umana. Perciò, anche se non abbiamo il tempo di derivare tutte le proprietà dei numeri 1.3. I numeri naturali 15 naturali, che usiamo in continuazione, dalla loro definizione, serve comunque di avere un’idea di come si dovrebbe procedere, se lo volessimo fare veramente. È questo lo scopo della sezione presente. Prima presentiamo gli assiomi dei numeri naturali (più o meno) di Peano in una forma un pò monosillabica usando strettamente i termini già introdotti. 1.3.1 Definizione. Una realizzazione dei numeri naturali è una terna (N, e, s) di un insieme N, un elemento iniziale e ∈ N e una funzione del successore s : N → N, che soddisfano i seguenti assiomi: 1. s è iniettiva. 2. e < s(N). 3. Sia M ⊂ N, tale che e ∈ M e n ∈ M =⇒ n + 1 ∈ M. Allora M = N. Prima di preoccuparci degli assiomi, ci chiediamo il significato della parola un pò mistica “realizzazione”. Una terna come (N, e, s) che contiene insiemi (come N) elementi di essi (come e) e funzioni fra gli insiemi (come s) soddisfacienti certi assiomi, è un esempio di quello che chiameremo una struttura (o struttura matematica). Due incarnazioni, cioè due realizzazioni, della stessa struttura sono considerate uguali, se — parlando vagamente — non possono essere distinte servendosi solo dei mezzi inerenti alla struttura. In nostro caso concreto diciamo, più precisamente, due realizzazioni (N, e, s) e (N 0 , e0 , s0 ) dei numeri naturali sono isomorfe se fra di loro esiste un isomorfismo della struttura, cioè una biezione i : N → N 0 , tale che i(e) = e0 e i(s(n)) = s0 (i(n)) (oppure i ◦ s = s0 ◦ i). 1.3.2 Nota. Gli isomorfismi li incontreremo più tardi per tante altre strutture. La definizione, quale biezione fra due realizzazioni della stessa struttura è anche un isomorfismo della struttura, non è sempre unica. Perciò noi specificheremo sempre esplicitamente quando consideriamo una biezione un isomorfismo. Notiamo, però, che tutti i definizioni di isomorfismo devono assicurare che l’identità è un isomorfismo, che la composizione i ◦ j di due isomorfismi è un isomorfismo e che se i è un isomorfismo allora lo è anche i−1 . (Esercizio: Verificare che la definizione di isomorfismo di realizzazioni dei numeri naturali soddisfa queste condizioni.) Anticipando la terminologia della Sezione 2.3, possiamo dire che la notazione di isomorfismo determina una relazione di equivalenza. 1.3.3 Esempio. I numeri naturali (N = {1, 2, . . .}, 1, s : n 7→ n + 1) sono una realizzazione dei numeri naturali. Ma anche (N0 = {0, 1, 2, . . .}, 0, s0 : n 7→ n + 1) è una realizzazione. Però le due realizzazioni sono isomorfe tramite l’isomorfismo i : N0 → N, i(n) = n + 1. Con la struttura dell’elemento iniziale e della funzione del successore da soli non possiamo stabilire una differenza fra le due realizzazioni. L’esistenza di un isomorfismo nell’Esempio 1.3.3 non è casuale. In effetti, il teorema seguente ci dice che (in un senso adeguato) la realizzazione dei numeri naturali è determinata unicamente dagli assiomi. 1.3.4 Teorema. Tutte le realizzazioni dei numeri naturali sono uguali a meno di un unico isomorfismo. Capitolo 1. Notazioni di base riviste 16 La frase “a meno di isomorfismo” significa che qualunque siano le realizzazioni (N, e, s) e (N 0 , e0 , s0 ) dei numeri naturali, c’è sempre un isomorfismo N → N 0 . La parola “unico” significa che questo isomorfismo è unico. Per la dimostrazione vorremmo definire un isomorfismo i : N → N 0 secondo la definizione ricorsiva i(e) = e0 e i(s(n)) = s0 (i(n)). Intuitivamente questo dovrebbe definire una funzione N → N 0 , per quale possiamo poi tentare di dimostrare che sia un isomorfismo. Però, come ci insegna la dimostrazione difficile del Teorema 1.3.9, che rimandiamo addirittura all’appendice nella Sezione 1.4, a volte ci dobbiamo dare da fare per verificare che l’intuizione non ci frega. Rimandiamo anche la dimostrazione del Teorema 1.3.4 alla Sezione 1.4 dopa la dimostrazione del Teorema 1.3.9. Dopo l’unicità dei numeri naturali manca l’esistenza. 1.3.5 Assioma fondamentale della matematica. Esiste una realizzazione dei numeri naturali. Raccogliamo le conoscenze e riformuliamole un pò: 1.3.6 Definizione. Esiste un insieme N con un elemento distinto 1 ed una funzione n 7→ n + 1 (il successore di n) tale che: 1. n + 1 = m + 1 =⇒ n = m. 2. 1 non è successore di nessun elemento di N. 3. Se N è un sottoinsieme di N, che contiene 1 (1 ∈ N) e con ogni n ∈ N anche il successore di n (n ∈ N =⇒ n + 1 ∈ N), allora N = N. Notiamo 2 = 1 + 1, 3 = 2 + 1, ... , cioè N = {1, 2, 3, . . .}. La Proprietà 3 si chiama il principio dell’induzione. È equivalente al principio della dimostrazione induttiva: 1.3.7 Teorema. Sia A1 , A2 , . . . una successione di affermazioni. Per dimostrare la validità di tutte le affermazioni An (n ∈ N) basta stabilire la validità delle seguenti due affermazioni: 1. Vale A1 . (Inizio dell’induzione) 2. Per ogni n ∈ N, se vale An vale anche An+1 . (Passo induttivo) D. Sia N = {n ∈ N : vale An } l’insieme di tutti gli n per quali An è vera. Dobbiamo dimostrare dalle Ipotesi 1 e 2 che N = N. Secondo l’Ipotesi 1, A1 è vera, allora 1 ∈ N. Poi se n ∈ N allora An è vera e secondo l’Ipotesi 2 anche An+1 è vera, cosicché n + 1 ∈ N. Abbiamo dimostrato cosı̀ che 1 ∈ N e se n ∈ N allora anche n + 1 ∈ N. Secondo il principio dell’induzione abbiamo N = N. 1.3. I numeri naturali 17 1.3.8 Osservazione. Non è importante di iniziare l’induzione proprio con n = 1. Anche per m ∈ N (o, più generale, m ∈ Z), gli elementi di una successione Am , Am+1 , . . . di affermazioni si dimostrano tutte vere, se vale Am e se (dopo aver introdotto l’ordinamento di N o di Z) per ogni n ≥ m la validità di An implica quella di An+1 . Alla fine il principio dell’induzione ci permette di produrre definizioni ricorsivi, anche se la dimostrazione (della prima parte) del seguente teorema è sorprendentemente difficile. Rimandiamo la sua dimostrazione alla Sezione 1.4. 1.3.9 Teorema. Siano X un insieme e f : X → X una funzione. Allora per ogni x0 ∈ S esiste un’unica successione x1 , x2 , . . . che soddisfa x1 = f (x0 ) xn+1 = f (xn ) e (n ∈ N). Per ogni n ∈ N indichiamo con f n : X → X la funzione x0 7→ xn . Poniamo f 0 = idX . Allora la successione f 1 , f 2 , . . . di funzioni X → X soddisfa f1 = f f n+1 = f ◦ f n e (n ∈ N0 ). Inoltre è l’unica successione che soddisfa queste due condizioni. Non è difficile invece di generalizzare il teorema ancora di più. (La dimostrazione anche di questo risultato rimandiamo alla Sezione 1.4.) 1.3.10 Corollario. Siano X0 , X1 , X2 , . . . insiemi e siano fn : Xn−1 → Xn (n ∈ N) funzioni. Allora esiste un’unica successione F0 , F1 , F2 , . . . di funzioni Fn : X0 → Xn che soddisfano X0 = idX0 e Fn+1 = fn+1 ◦ Fn (n ∈ N). Scriviamo anche Fn = fn ◦ . . . ◦ f1 . Concludiamo la sezione introducendo le operazioni di dase in N è in N0 . Denotiamo come prima s(n) = n + 1. L’addizione in N è definita come m + n = sm (n) e soddisfa le seguenti proprietà: n+m = m+n (` + m) + n = ` + (m + n) m + ` = n + ` =⇒ m = n (commutatività), (associatività), (cancellatività). Ricordiamoci per più tardi che (N, +) con tali proprietà è ciò che chiameremo un semigruppo abeliano cancellativo. Capitolo 1. Notazioni di base riviste 18 1.3.11 Esercizio. Estendiamo l’addizione su N0 come 0 + n = n + 0 = n. Dimostrare che anche l’estensione dell’addizione su N0 è commutativa, associativa e cancellativa. (Quindi N0 è ciò che chiameremo un semigruppo abeliano cancellativo con identità 0 oppure un monoide abeliano cancellativo.) Un ordinamento di un insieme è un esempio di una relazione, della quale parliamo nel Capitolo 2. Per adesso mettiamoci solo d’accordo sul dire che n < m (n, m ∈ N0 ) se esiste una ` ∈ N tale che n + ` = k. Diciamo che n ≤ m se n < m on = m e diciamo che n ≥ m (n > m) se m ≤ n (m < n). Qualunque siano n ∈ N e m ∈ N, vale sempre una ed una sola delle tre affermazioni o n < m o n = m o n > m. (Un tale ordinamento lo chiameremo ordinamento totale.) Vale n < m =⇒ n + ` < m + ` per ogni ` ∈ N0 , in particolare, per ` ≥ 0 perché ` ≥ 0 per ogni ` ∈ N0 . Allora N0 è che si chiama un semigruppo totalmente ordinato, un termine che appare più in queste note. Per ogni m ∈ N sia pm : N0 → N0 la funzione pm (n) = m + n. Definiamo il prodotto come n · m = pnm (0). Di solito abbreviamo n · m = nm. Anche per (N, ·) vale nm = mn (commutatività), (`m)n = `(mn) (associatività), m` = n` =⇒ m = n (cancellatività). Inoltre n1 = 1n = n e n > m implica che n` > m` per ogni ` ∈ N. Allora anche N con la moltiplicazione è un semigruppo abeliano cancellativo ordinato (con identità 1), mentre N0 con l’estensione 0n = n0 = 0 della moltiplicazione è solo un semigruppo (né cancellativo né ordinato). Addizione e moltiplicazione soddisfano una regola fra di loro: (n + m)` = m` + n` (distributività). Per ogni m ∈ N sia qm : N → N la funzione qm (n) = mn. Definiamo la potenza come m = qnm (1). n 1.3.12 Esercizio. Dimostrare che l’operazione (m, n) 7→ mn non è né commutativa né associativa. Anche la potenza la estendiamo su N0 come 0n = 0 (n ∈ N) e m0 = 1 (m ∈ N0 ). Valgono le seguenti regole miste per le tre operazioni: `m+n = `m `n (`m )n = `mn (mn)` = m` n` . 1.4. Appendice: Definizioni ricorsive 19 n Per altre espressioni come `m o (m + n)` non esistono formule semplici. Almeno l’ultima può essere calcolata con l’aiuto della formula del binomio che incontreremo nella Sezione 4.3. 1.4 Appendice: Definizioni ricorsive Vogliamo dimostrare il Teorema 1.3.9. Allora sia X , ∅ un insieme e f : X → X una funzione su X. Definiamo la funzione F : N0 × X → N0 × X su N0 × X come F(n, x) = (n + 1, f (x)). 1.4.1 Lemma. Per ogni x ∈ X esiste un unico sottinsieme A x ⊂ N0 × X che soddisfa: 1. (0, x) ∈ A x . 2. (n, y) ∈ A x =⇒ (n + 1, f (y)) ∈ A x , cioè F(A x ) ⊂ A x . 3. Se A ⊂ N0 × X è un altro sottoinsieme di X che soddisfa (0, x) ∈ A e F(A) ⊂ A allora A ⊃ Ax . In altre parole, A x è l’unico sottoinsieme più piccolo di N0 × X che sia invariante su F e che contenga (0, x). D. Si tratta di un argomento standard che incontreremo anche più tardi (Proposizione 3.2.1 e 5.6.1). A x è l’intersezione di tutti i sottoinsiemi di A ⊂ N0 × X che soddisfano 1 e 2. (C’è almeno un insieme, N0 × X, che soddifa 1 e 2. L’intersezione A x di tutti questi insiemi soddisfa 1 e 2. Se A soddisfa 1 e 2, allora A ⊃ A x , quindi, vale 3. Si paragoni con la dimostrazione della Proposizione 3.2.1.) 1.4.2 Lemma. A x = {(0, x)} ∪ F(A x ). D. Vale A x ⊂ {(0, x)} ∪ F(A x ) ⊂ A x , dove la prima inclusione segue da 3 e dove la seconda inclusione segue da 1 e 2. 1.4.3 Lemma. A x è il grafo di una funzione f x : N0 → X. D. Dobbiamo dimostrare che per ogni n ∈ N0 esiste una e una sola coppia (n, y) in A x . Dimostriamo l’esistenza con induzione. Sia N l’insieme di tutti gli n ∈ N0 tali che esiste y ∈ X tale che (n, y) ∈ A x . Per n = 0 c’è (0, x) ∈ A x . Sia n ∈ N, cioè sia y ∈ X tale che (n, y) ∈ A x Capitolo 1. Notazioni di base riviste 20 allora (n + 1, f (y)) = F(n, y) ∈ A x , quindi, n + 1 ∈ N. Allora N = N0 , cioè per ogni n ∈ N0 esiste almeno una coppia (n, y) ∈ A x . Per dimostrare l’unicità definiamo il sottoinsieme N = n ∈ N0 : (n, y) ∈ A x , (n, z) ∈ A x =⇒ y = z di N0 che contiene tutti gli n per quali esista una sola coppia (n, y) ∈ A x . Abbiamo, quindi, finito se dimostriamo N = N0 . Lo dimostriamo con induzione. (i) Sia (0, y) ∈ A x = {(0, x)} ∪ F(A x ). Allora (0, y) ∈ {(0, x)} perché certamente (0, y) < F(A x ) ⊂ N × X. Quindi, (0, y) = (0, x), cioè 0 ∈ N. (ii) Supponiamo n ∈ N. Siano (n + 1, y) e (n + 1, z) in A x = {(0, x)} ∪ F(A x ). Certamente (n+1, y) e (n+1, z) non sono in {(0, x)}, allora per forza devono essere in F(A x ). Perciò esistono y0 , z0 ∈ X tali che (n, y0 ), (n, z0 ) ∈ A x e F(n, y0 ) = (n + 1, y), F(n, z0 ) = (n + 1, z). Dall’ipotesi n ∈ N segue che y0 = z0 . Quindi, y = f (y0 ) = f (z0 ) = z, cioè n + 1 ∈ N. Infine, N = N0 . Ponendo xn = f x0 (n ∈ N0 ) concludiamo la dimostrazione del Teorema 1.3.9. S D C 1.3.10. Definiamo il sottoinsieme X di N0 × n∈N0 Xn come X = (n, x) : n ∈ N0 , x ∈ Xn . Poi definiamo la funzione F : X → X come F(n, x) = (n + 1, xn+1 ). Secondo il Teorema esiste un’unica successione F 0 , F 1 , F 2 , . . . di funzioni X → X che soddisfano F 0 = idX e F n+1 = F ◦ F n . Osserviamo che F n (0, x) (x ∈ X0 !) ha la forma (n, y) dove y ∈ Xn . Allora le funzioni Fn : X0 → Xn definite come Fn (x) = pX |Xn (F n (0, x)) (s.v. l’Esempio 1.2.3 per la definizione della proiezione pX : N0 × X → X) soddisfanno Fn+1 (x) = pX |Xn+1 ◦ F n+1 (0, x) = pX |Xn+1 ◦ F ◦ F n (0, x) = pX |Xn+1 ◦ F(n, Fn (x)) = pX |Xn+1 ◦ (n + 1, fn+1 ◦ Fn (x)) = fn+1 ◦ Fn (x). D T 1.3.4. Iniziamo con l’unicità. Allora siano i1 , i2 due isomorfismi (N, e, s) → (N 0 , e0 , s0 ). Sia poi M ⊂ N l’insieme che contiene tutti gli n ∈ N tali che i1 (n) = i2 (n). Da i1 (e) = e0 = i2 (e) segue che e ∈ M. Poi, se n ∈ M (cosicché i1 (n) = i2 (n)) allora i1 (s(n)) = s0 (i1 (n)) = s0 (i2 (n)) = i2 (s(n)). Quindi, anche s(n) ∈ M. Conseguentemente, M = N, cioè i1 (n) = i2 (m) per ogni n ∈ N. Dimostriamo poi che una funzione i : N → N 0 che soddisfa i(e) = e0 e i ◦ s = s0 ◦ i è automaticamente biettiva, quindi, un isomorfismo. In effetti, e0 = i(e) ∈ i(N) e se n0 = i(n) è in i(N) allora lo è anche s0 (n0 ) = s0 (i(n)) = i(s(n)). Quindi, i(N) = N 0 cosicché i è surgettiva. 1.4. Appendice: Definizioni ricorsive 21 Poi sia M 0 ⊂ N 0 l’insieme di tutti gli n0 ∈ N 0 tali che i(n1 ) = n0 = i(n2 ) implica che n1 = n2 . Dimostrando che M 0 = N 0 ne segue che i è anche iniettiva. Per verificare che e0 ∈ M 0 supponiamo che n sia un elemento di N tale che i(n) = e0 . Sappiamo che o n = e o n = s(m) per un (unico) m ∈ N. Se n = s(m) allora i(n) = i(s(m)) = s0 (i(m)) , e0 . Quindi, e è l’unico elemento di N tale che i(e) = e0 , cosicché e0 ∈ M 0 . Sia poi n0 ∈ M 0 . Siano n1 , n2 ∈ N tali che i(n1 ) = s0 (n0 ) = i(n2 ). Sappiamo (perché?) che n1 , e , n2 perché i(n1 ) = i(m) = s0 (n2 ) , e0 . Allora esistono (unici) m1 , m2 ∈ N tali che s(m1 ) = n1 e s(m2 ) = n2 . Quindi s0 (i(m1 )) = i(s(m1 )) = i(n1 ) = s0 (n0 ) = i(n2 ) = i(s(m2 )) = s0 (i(m2 )). s0 è iniettiva, quindi i(m1 ) = n0 = i(m2 ) e per l’ipotesi n0 ∈ M 0 segue che m1 = m2 oppure n1 = n2 . In altre parole, anche s0 (n0 ) ∈ M 0 e, conseguentemente, M 0 = N 0 . Per l’esistenza poniamo per semplificare le cose (N, e, s) = (N0 , 0, +). (Se dimostriamo che ogni realizzazione è isomorfa a (N0 , 0, +) allora sono anche isomorfe tutte le realizzazioni tra loro.) Secondo il teorema 1.3.9 per la funzione s0 : N 0 → N 0 sull’insieme N 0 e per e0 ∈ N 0 esiste un’unica successione xn n∈N0 tale che x0 = e0 e s0 (xn ) = xn+1 . La funzione i : N0 → N 0 , n 7→ xn soddisfa, quindi, i(0) = x0 = e0 e i(n + 1) = xn+1 = s0 (xn ) = s0 (i(n)) come da noi desiderato. 22 Capitolo 1. Notazioni di base riviste Capitolo 2 Relazioni Una relazione è semplicemente una regola che ci dice quando elementi a e b di A sono in relazione: a è in relazione con b o a non è in relazione con b. Quindi la relazione la conosciamo quando conosciamo l’insieme di tutte le coppie (a, b) tali che a sia in relazione con b e, in effetti, sarà proprio questa la definizione. Esempi tipici sono gli ordinamenti (a è in relazione con b se a ≤ b) e l’uguaglianza (a è in relazione con b se a = b). In effetti tutte le relazioni rilevanti sono piccole generalizzazioni di queste due, che vedremo in seguito. 2.1 Definizioni Sia A un insieme. Una relazione su A è un sottoinsieme R ⊂ A × A. Siano a, b ∈ A. Diciamo che R a è in relazione con b, in formula a ∼ b (oppure a ∼ b quando vogliamo indicare il nome della relazione), se la coppia (a, b) è in R. Spesso usiamo simboli come =, ≡, , ≤, <, etc., per indicare relazioni. La relazione corrispondente è quindi l’insieme ∼= {(a, b) ∈ A2 : a ∼ b} e in questo caso parliamo della relazione ∼. Elenchiamo qualche proprietà che una relazione può avere o non avere. Sia ∼ una relazione su A. 1. La relazione ∼ è riflessiva se a ∼ a per ogni a ∈ A. 2. La relazione ∼ è transitiva se a ∼ b e b ∼ c implica che a ∼ c. 3. La relazione ∼ è hlsimmetrica se a ∼ b implica che b ∼ a. 4. La relazione ∼ è antisimmetrica se a ∼ b e b ∼ a implica che a = b. 23 Capitolo 2. Relazioni 24 2.2 Ordinamenti 2.2.1 Definizione. Un ordinamento!parziale su A è una relazione ∼ su A che è riflessiva, transitiva e antisimmetrica. Diciamo che (A, ∼) è un insieme parzialmente ordinato. Un ordinamento totale su A è un ordinamento parziale ∼ tale che per ogni a, b ∈ A vale a ∼ b o b ∼ a. Diciamo che (A, ∼) è un insieme totalmente ordinato. 2.2.2 Nota. Attenzione: Alcuni autori chiamano ordinamento quello che noi chiamiamo ordinamento parziale, altri chiamano ordinamento quello che noi chiamiamo ordinamento totale. Quindi la scelta migliore è di specificare sempre di quale variante si tratti, come lo facciamo noi. 2.2.3 Esempio. L’insieme R con la solita relazione ≤ è un insieme totalmente ordinato. Lo stesso vale per tutti i suoi sottoinsiemi come per esempio Q, Z, N. R2 diventa un insieme parzialmente ordinato se definiamo (x, y) ≤ (x0 , y0 ) ⇐⇒ x ≤ x0 e y ≤ y0 . Però (R2 , ≤) non è un insieme totalmente ordinato, perché per esempio non vale né (0, 1) ≤ (1, 0) né (1, 0) ≤ (0, 1). Guardiamo brevemente la differenza fra ≤ e <. 2.2.4 Proposizione. Sia (A, ≤) un insieme ordinato. Definiamo la relazione < su A come a < b se a ≤ b ma a , b. Allora < è una relazione transitiva su A tale che per ogni a, b ∈ A vale o a < b o a = b o b < a. D. < la possiamo definire anche se (A, ≤) è solo parzialmente ordinato. Vogliamo dimostrare che già in questo caso < è una relazione transitiva. Siano a, b, c ∈ A con a < b e b < c. A fortiori vale a ≤ b e b ≤ c e quindi, a ≤ c. Dobbiamo solo escludere a = c. Ma se fosse a = c avremmo a ≤ b e b ≤ c = a quindi, a = b a causa dell’antisimmetria, che contraddirebbe a < b. Allora a , c e quindi, a < c, cioè < è una relazione transitiva. Torniamo al caso in cui (A, ≤) è totalmente ordinato. Siano a, b ∈ A. Poiché A è totalmente ordinato, vale a ≤ b o b ≤ a. Se vale a ≤ b e b ≤ a, allora a causa dell’antisimmetria ne segue a = b. Escludendo poi il caso a = b, ne segue che vale o a ≤ b (cioè a < b) o b ≤ a (cioè b < a). Facciamo qualche altro esempio. 2.2.5 Esempio. L’inclusione ⊂ sull’insieme P(Ω) delle parti di Ω è parzialmente ordinata. In effetti A ⊂ A perché a ∈ A (quello destro) implica che a ∈ A (quello sinistro). A ⊂ B e B ⊂ C implica che A ⊂ C perché a ∈ A ⇒ a ∈ B ⇒ a ∈ C. Infine, sia A ⊂ B (quindi a ∈ A ⇒ a ∈ B) e B ⊂ A (quindi a ∈ B ⇒ a ∈ A). Allora a ∈ A ⇔ a ∈ B e quindi, A = B. Se Ω ha almeno due elementi diversi, allora P(Ω) non è totalmente ordinato. In effetti se a, b ∈ Ω e a , b, allora {a} e {b} non sono paragonabili. 2.3. Equivalenze 25 2.2.6 Esercizio. Diciamo che a ∈ Z divide b ∈ Z, in formula a|b, se esiste un c ∈ Z tale che ac = b. Dimostrare che la relazione | è un ordinamento parziale, ma non è un ordinamento totale. 2.3 Equivalenze La relazione = di uguaglianza su un insieme A è riflessiva (a = a), transitiva (a = b e b = c implica che a = c) e simmetrica (a = b implica che b = a). Evidentemente serve per paragonare gli elementi di A. Ma spesso l’uguaglianza è troppo ristretta quando vogliamo paragonare due elementi che differiscono tra loro di poche unità. 2.3.1 Esempio. Analizziamo i prezzi che i venditori di macchine usate di una città assegnano ad una Fiat Panda dell’anno 2000. I prezzi però ci interessano solo arrotondati a multipli di 100 euro. Consideriamo quindi “uguali” due prezzi p1 e p2 , in formula p1 ≈ p2 , quando c’è una differenza solo fra le ultime due cifre. Anche questa relazione è riflessiva, transitiva e simmetrica. 2.3.2 Definizione. Una relazione ∼ su un insieme A è una relazione di equivalenza (o semplicemente equivalenza), se è riflessiva, transitiva e simmetrica. 2.3.3 Esempio. Due insiemi A e B sono equipotenti (cioè sono altrettanto grandi o hanno la stessa cardinalitá), in formula A#B, se esiste una biezione f : A → B. La relazione # è una relazione di equivalenza. In effetti A#A tramite idA . Se A#B tramite f : A → B e se B#C tramite g : B → C, allora A#C tramite g ◦ f . Se A#B tramite f : A → B, allora B#A tramite f −1 . 2.3.4 Definizione. Diciamo che un insieme A è finito se A = ∅ o se esiste un (n ∈ N) tale che A#{1, . . . , n}. In questo caso la cardinalità #A di A è #A = 0, e rispettivamente, #A = n. Se A non è finito è infinito. A è numerabile se è finito o se A#N. Scriviamo #A = #B se A#B. Vedremo nella Sezione 2.5 che la cardinalità di un insieme è unica. 2.3.5 Nota. Attenzione: Alcuni autori dicono che A è numerabile, solo se A#N. 2.3.6 Esempio. N, Z e Q sono numerabili. R o anche [0, 1] non sono numerabili. 2.3.7 Esercizio. Sia m ∈ N. Due numeri a, b ∈ Z sono congrui modulo m, in formule a ≡ b mod m o a ≡m b, se la differenza a − b è divisa da m, cioè se m|(a − b). Dimostrare che la relazione ≡m è una relazione di equivalenza. Capitolo 2. Relazioni 26 2.3.8 Esercizio. (∗) Sia C una relazione riflessiva e transitiva sull’insieme A. 1. Dimostrare che la relazione \ definita come a \ b, se a C b e b C a, è una relazione di equivalenza. 2. Se C è un ordinamento parziale, qual’è \? 2.4 Classe di equivalenza 2.4.1 Esempio. Torniamo all’esempio 2.3.1 e guardiamo l’insieme A di tutti i prezzi che abbiamo trovato. Per un prezzo p ∈ A vogliamo sapere tutti i prezzi q ∈ A che cadano nella stessa classe di p, cioè tutte le q con q ≈ p. L’insieme che otteniamo ha la forma {q ∈ A : 100m ≤ q ≤ 100m + 99} per un m ∈ N0 opportuno. Osserviamo che questa classe non cambierebbe se iniziassimo con un altro suo elemento p0 ≈ p. La classe di un p00 0 p invece è descritta da un altro m00 , m. Quindi tutti le q ≈ p e q00 ≈ p00 appartengono a classi diverse, cioè classi diverse sono disgiunte. Alla fine ogni p è contenuto almeno nella propria classe. Otteniamo allora in questo modo una suddivisione di A in classi disgiunte. 2.4.2 Definizione. Sia A un insieme. Una partizione di un insieme A , ∅ è una famiglia Ai i∈I di sottoinsiemi non vuoti ∅ , Ai ⊂ A, tale che i , j =⇒ Ai ∩ A j = ∅ [ Ai = A. i∈I In altre parole, ogni a ∈ A appartiene ad uno ed uno solo degli insiemi Ai della partizione. 2.4.3 Definizione. Sia ∼ una relazione di equivalenza su A. Per ogni a ∈ A notiamo [a]∼ = a0 ∈ A : a0 ∼ a la sua classe di equivalenza (modulo ∼). Ogni elemento a0 ∈ [a]∼ si chiama rappresentante di [a]∼ . (Cioè [a]∼ è l’insieme di tutti i suoi rappresentanti.) L’insieme quoziente di A (modulo ∼) è A/∼ = [a]∼ : a ∈ A , l’insieme di tutte le classi di equivalenza. 2.5. Appendice: Supplementi sulla cardinalità 27 2.4.4 Teorema. A/∼ è una partizione di A, cioè ogni a ∈ A appartiene ad esattamente una classe di equivalenza. D. Sia a ∈ A. Allora [a]∼ non è vuoto perché almeno a ∈ [a]∼ . Allo stesso modo, ogni a appartiene almeno alla propria classe di equivalenza [a]∼ . Rimane da dimostrare che [a]∼ , [b]∼ implica che [a]∼ ∩ [b]∼ = ∅. Dimostriamo invece la contrapposizione [a]∼ ∩ [b]∼ , ∅ implica [a]∼ = [b]∼ . Secondo l’ipotesi [a]∼ e [b]∼ hanno almeno un elemento c in comune, cioè a ∼ c ∼ b, cosicché a ∼ b. Quindi un qualsiasi elemento d ∈ [a]∼ fa anche parte di [b]∼ , perché d ∼ a ∼ b, e viceversa. 2.4.5 Esempio. Sia f : A → B una funzione. La relazione a ∼ a0 se f (a) = f (a0 ) è una relazione f di equivalenza. (Esercizio!) La classe di equivalenza di a ∈ A è [a]∼f = {a0 ∈ A : f (a0 ) = f (a)} = f −1 { f (a)} . La costruzione dell’insieme A0 nell’Esempio 1.2.12 corrisponde a scegliere esattamente un elemento di ogni classe di equivalenza. Consideriamo la funzione f∼ : [a]∼f 7→ f (a). Per calcolare f∼ ([a]∼f ) si procede cosı̀: scegli un rappresentante a0 di [a]∼f e calcola f (a0 ). La funzione f∼ è ben definita perché f (a0 ) = f (a) è lo stesso per tutte le a0 ∈ [a]∼f , cosicché il valore prescritto f∼ ([a]∼f ) non dipende dalla scelta del rappresentante. Inoltre f∼ è iniettiva perchè secondo il teorema f (a) = f (a0 ) si ha proprio che [a]∼f = [a0 ]∼f . 2.4.6 Esercizio. 1. Determinare Z/≡2 per la relazione ≡2 (congruenza modulo 2 su Z come nell’Esercizio 2.3.7), cioè descrivere tutte le classi di equivalenza [n]≡2 . f 2. Sia f : Z → Z definita come f (n) = (−1)n . Dimostrare che le relazioni ≡2 e ∼ sono uguali, f cioè (n ≡ m mod 2) se e solo se (n ∼ m). 2.4.7 Esercizio. (∗) Sia f : A → B una funzione. Dimostrare che (A/ f )#( f (A)). (Ciò signi∼ f fica che esistono tante classi di equivalenza diverse (modulo ∼) quanti ci sono i valori di f .) 2.5 Appendice: Supplementi sulla cardinalità Concludiamo questo capitolo con qualche risultato sulla cardinalità degli insiemi. Tutti questi risultati porteranno a risutati analoghi sulla dimensione di spazi vettoriali (essenzialmente la cardinalità di basi; s.v. Sezione 5.8). Lo scopo è di stabilire che la cardinalità di un insieme è unica. Capitolo 2. Relazioni 28 2.5.1 Proposizione. Sia A , ∅ un insieme finito e B ⊂ A un suo sottoinsieme. Allora anche B è finito. D. Sia #A = n , 0. Allora tramite una biezione opportuna possiamo supporre che A = {1, . . . , n} ⊃ B. Dopo avere applicata una permutazione opportuna, possiamo addiritura supporre che B = {1, . . . , m} con m ≤ n. (Le permutazioni, che discuteremo nella Sezione 3.5, sono esattamente le biezioni dell’insieme {1, . . . , n}. L’esistenza della permutazione opportuna che ci serve va dimostrata con l’induzione. Però non l’approfondiamo questo argomento.) Quindi, anche B è finito. 2.5.2 Proposizione. Esiste un biezione {1, . . . , n} → {1, . . . , m} se e solo se n = m. D. Chiaramente, se m = n esiste un biezione (l’idenitità di {1, . . . , n} = {1, . . . , m}). Quindi, dobbiamo dimostrare che l’esistenza di una biezione implica n = m. Procediamo con l’induzione per n ∈ N. Sia n = 1. Sia poi m , 1. Allora nessuna funzione {1, . . . , m} → {1} può essere iniettiva, perché tutti gli elementi di {1, . . . , m} sono posti sullo stesso elemento 1. Quindi, se esiste una biezione allora m = 1. Valga allora l’affermazione per un n ∈ N. Dobbiamo concludere che valga anche per n + f ({1,...,n}) è una biezione sul 1. Sia f : {1, . . . , n, n + 1} → {1, . . . , m} una biezione. Quindi, f |{1,...,n} sottoinsieme f ({1, . . . , n}) di {1, . . . , m} al quale manca l’elemento f (n + 1). Dopa l’applicazione di una trasposizione opportuna (s.v. bene il Lemma 3.5.6) possiamo supporre che f ({1, . . . , n}) = {1, . . . , m − 1}. Allora secondo l’ipotesi m − 1 = n, ossia n = m + 1. 2.5.3 Corollario. Sia A un insieme finito con #A = n ∈ N. Allora per ogni insieme B vale B#A =⇒ B è finito e #B = m =⇒ m = n, cioè la cardinalità è unica. Per definizione un insieme infinito non è equipotente con nessun insieme finito. Ci limitiamo di dare qualche criterio dell’esistenza di insiemi infiniti. 2.5.4 Lemma. Se esiste una iniezione f : A → A su un sottoinsieme f (A) , A proprio, allora A non è finito. D. Supponiamo che A sia finito, quindi, possiamo anche supporre subito che A = {1, . . . , n}. Come nella dimostrazione precedente possiamo inoltre anche supporre che f (A) = {1, . . . , n − 1}. Allora f | f (A) sarebbe una biezione da un insieme con cardinalità #A = n su un insieme con cardinalità # f (A) = n − 1. Contraddizione. 2.5. Appendice: Supplementi sulla cardinalità 2.5.5 Corollario. 29 1. L’insieme N non è finito. 2. Se esiste un’iniezione N → A, allora anche A non è finito. 3. In particolare, C ⊃ R ⊃ Q ⊃ Z ⊃ N0 ⊃ N non sono finiti, e se A#N allora A non è finito. D. La terza affermazione è un corollario delle prime due. Le prime due seguono dal lemma, perché in ogni case esiste una surgezione su un sottoinsieme proprio. 30 Capitolo 2. Relazioni Capitolo 3 Gruppi, monoidi e semigruppi Se X è un insieme, per esempio il nostro spazio “reale” tridimensionale R3 , possiamo guar dare lo spazio Fbi (X) = f : X → X | f è biettiva di tutte le trasformazioni di questo spazio. Riconoscere questo spazio con la composizione ( f, g) 7→ f ◦ g come gruppo è stato proprio l’inizio della teoria dei gruppi. Le conseguenze sono tante. Per esempio dall’invarianza di una teoria fisica su tutte le trasformazioni di un sottogruppo H ⊂ Fbi (R3 ) di trasformazioni scaturiscono leggi di conservazione di quantità fisiche (invarianza su traslazioni → conservazione del momento, invarianza su rotazioni → conservazione del momento angolare). Le proprietà principali del gruppo Fbi (X) sono: La composizione ◦ è associativa, cioè ( f ◦ g) ◦ h = f ◦ (g ◦ h) (s.v. Proposizione 1.2.17). Esiste la trasformazione identica idX ∈ Fbi (X) che soddisfa idX ◦ f = f = f ◦ idX (s.v. Osservazione 1.2.15). E per ogni trasformazione f ∈ Fbi (X) esiste la trasformazione inversa f −1 ∈ Fbi (X) tale che f −1 ◦ f = idX = f ◦ f −1 (s.v. Proposizione 1.2.18 e Teorema 1.2.19). Alcune di queste proprietà valgono anche senza la restrizione che le funzioni siano biettive. Per esempio la composizione ◦ sull’insieme F(X) = f : X → X di tutte le funzioni di X è sempre associativa e F(X) contiene anche la trasformazione identica. Manca però l’inversa di alcune funzioni. Per esempio se X ha almeno due elementi, allora per ogni x0 ∈ X la funzione costante f x0 : x 7→ x0 non è né iniettiva né surgettiva. L’insieme di tutte queste funzioni costanti invece, è un sottosemigruppo al quale manca l’identità. In seguito definiremo tutte queste strutture. 3.1 Definizioni e primi risultati Un’operazione ∗ su un insieme G è semplicemente una funzione ∗ : G × G → G. (Più precisamente, si tratta di un’operazione binaria. Un’operazione unaria sarebbe una funzione G → G, 31 Capitolo 3. Gruppi, monoidi e semigruppi 32 mentre un’operazione n–aria sarebbe una funzione Gn → G.) La sola differenza rispetto ad una funzione G × G → G riguarda la notazione nel senso che invece di ∗(a, b), scriveremo piuttosto a ∗ b. Simboli soliti per indicare un’operazione sono ·, +, ◦, ?, e tanti altri. Per la struttura G con l’operazione ∗ scriviamo anche la coppia (G, ∗). 3.1.1 Definizione. Una coppia (G, ∗) che consiste di un insieme G e di un’operazione binaria ∗ su G, è un semigruppo se l’operazione ∗ è associativa, cioè se (a ∗ b) ∗ c = a ∗ (b ∗ c) per ogni a, b, c ∈ G. In questo caso non usiamo più parentesi e denotiamo tutti e due gli elementi (a ∗ b) ∗ c = a ∗ (b ∗ c) di G con a ∗ b ∗ c. 3.1.2 Definizione. Un monoide è un semigruppo (G, ∗) che possiede un elemento distinto e ∈ G tale che e∗a = a = a∗e per ogni a ∈ G. Questo elemento e lo chiamiamo l’identità o l’elemento neutrale di G. Vediamo subito che l’elemento neutrale è unico. In effetti, la seguente proposizione è leggermente più generale. 3.1.3 Proposizione. Sia (G, ∗) un semigruppo e siano e s , ed ∈ G rispettivamente un’identità a sinistra e un’identità a destra (cioè e s ∗ a = a = a ∗ ed per ogni a ∈ G). Allora e s = ed e, quindi e := e s = ed è un elemento neutrale. Se e0s , e0d ∈ G è un’altra coppia con queste proprietà e quindi e0s = e0d = e0 è un altro elemento neutrale, allora e = e0 . D. Vale e s = e s ∗ ed = ed . Sostituendo poi ed con e0d , troviamo e s = e0d . Secondo la prima affermazione tutti e quattro e s , ed , e0s ed e0d , devono essere uguali. 3.1.4 Definizione. Un gruppo infine, è un monoide (G, ∗) (con identità e) tale che ogni a ∈ G possiede un inverso a−1 ∈ G tale che a−1 ∗ a = e = a ∗ a−1 . Anche qui vale un’affermazione analoga alla Proposizione 1.2.18 (con dimostrazione analoga), cioè per trovare un inverso basta trovare un inverso a sinistra ed un inverso a destra che poi si dimostra essere uguali e quindi, anche l’inverso e unico. Con questo dimostriamo facilmente che b−1 ∗ a−1 è l’inverso di a ∗ b. (Eserciozio: Dimostrare che b−1 ∗ a−1 fornisce sia un inverso a sinistra sia un inverso a destra.) 3.1. Definizioni e primi risultati 33 Raccogliamo queste tre definizioni per le proprietà di un’operazione ∗ su un insieme G in un diagramma. associatività di ∗ → esistenza di e semigruppo esistenza di a−1 → monoide → gruppo 3.1.5 Esempio. Abbiamo già visto che (Fbi (X), ◦) è un gruppo e (F(X), ◦) è un monoide (e se X ha almeno due elementi non è un gruppo). Denotiamo con Fin (X) e F sur (X) rispettivamente lo spazio delle funzioni iniettive e surgettive. Allora sia (Fin (X), ◦) che (F sur (X), ◦) sono monoidi, mentre (F(X)\Fin (X), ◦) e (F(X)\F sur (X), ◦) sono semigruppi ma non monoidi. Basta osservare (esercizio!) che la composta di due funzioni iniettive (surgettive) è iniettiva (surgettiva) mentre la composta di due funzioni non iniettive (non surgettive) non può essere iniettiva (surgettiva). 3.1.6 Esempio. Un semigruppo che contiene un solo elemento e è automaticamente un gruppo. (Perchè?) Lo chiamiamo il gruppo banale. 3.1.7 Esercizio. Trovare tutti i gruppi (monoidi) con due elementi. 3.1.8 Esempio. Sia Ω un insieme non vuoto. Allora (P(Ω), ∩) e (P(Ω), ∪) sono monoidi. (Quali sono gli elementi neutrali?) 3.1.9 Esempio. (N, +) è un semigruppo ma non è un monoide. (N, ·) e (N0 , +) sono monoidi ma non sono gruppi. (Z, +) è un gruppo, mentre (Z, ·) è un monoide ma non è un gruppo. (R, +) è un gruppo. (R, ·) è un monoide ma non è un gruppo. Mentre (R∗ , ·) è un gruppo (dove R∗ := R\{0}). Le stesse affermazioni valgono anche per (Q, +), (Q, ·) e (Q∗ , ·). (Z, −) non è un semigruppo. Nell’esempio 3.1.5 abbiamo considerato sottoinsiemi del semigruppo (F(X), ◦) che sono ancora semigruppi sotto la stessa operazione ◦. Il punto decisivo era assicurarci che l’operazione ◦ lasciasse invariato il sottoinsieme, mentre l’associatività segue banalmente da quella sull’insieme più grande F(X). 3.1.10 Definizione. 1. Un sottosemigruppo (H, ∗) di un semigruppo (G, ∗) è un sottoinsie- me H ⊂ G tale che a ∗ b ∈ H per ogni a, b ∈ H. 2. Un sottomonoide di un monoide (G, ∗) è un sottosemigruppo (H, ∗) che contiene l’identità eG di G. Capitolo 3. Gruppi, monoidi e semigruppi 34 3. Un sottogruppo di un gruppo (G, ∗) è un sottomonoide (H, ∗) tale che a ∈ H implica a−1 ∈ H. 3.1.11 Nota. Un sottosemigruppo di un monoide non è necessariamente un sottomonoide. Per esempio, se Ω1 ! Ω2 , ∅ allora (P(Ω2 ), ∩) è un sottosemigruppo di (P(Ω1 ), ∩) ma non un sottomonoide, perché P(Ω2 ) non contiene l’identità Ω1 di P(Ω1 ). Però P(Ω2 ) è sempre un monoide (con l’identità Ω2 diversa dall’identità Ω1 di P(Ω1 )). Un sottosemigruppo di un semigruppo può essere un gruppo. Per esempio, sia X = {x1 , x2 }. Consideriamo il sottosemigruppo F1 = { f1 : x 7→ x1 } del semigruppo F(X)\Fin = F(X)\F sur = {x 7→ x1 , x 7→ x2 }. Il semigruppo F1 contiene un solo elemento e perciò, è sia un monoide sia un gruppo. Ricordiamoci che {x 7→ x1 , x 7→ x2 } non è neanche un monoide. Se (G, ∗) è un monoide, il sottoinsieme Ginv = {a ∈ G | ∃a−1 : a−1 ∗ a = e = a ∗ a−1 } di tutti gli elementi invertibili è sia un sottomonoide sia un gruppo. 3.1.12 Esercizio. Consideriamo la coppia (R, ∗), dove a ∗ b := ab − a − b + 2. 1. Dimostrare che (R, ∗) è un monoide. 2. (∗) (R, ∗) non è un gruppo. (Perché?) Verificare se (R, ∗) contenga sottosemigruppi non banali che sono gruppi. e ∗˜ ) aumentando il A volte è necessario trasformare un semigruppo (G, ∗) in un monoide (G, semigruppo con un’identità artificiale ẽ. Attenzione però: Se G era già un monoide con identità e Anche se G era un gruppo, G e non lo è più. e, allora e , ẽ, cosicché e non è più l’identità di G. e che abbia un inverso è ẽ.) La dimostrazione della seguente (In effetti, l’unico elemento di G proposizione la lasciamo come esercizio. e = G ∪ {ẽ} dove ẽ < G. Su G e defi3.1.13 Proposizione. Sia (G, ∗) un semigruppo. Poniamo G niamo l’operazione ∗˜ nel modo seguente: ẽ ∗˜ ẽ = ẽ, a ∗˜ ẽ = ẽ ∗˜ a = a, a ∗˜ b = a ∗ b se a, b ∈ G. e ∗˜ ) è un monoide con identità ẽ. Allora (G, Ancora qualche notazione: Un semigruppo (monoide, gruppo) (G, ∗) si chiama abeliano se la sua operazione è commutativa, cioè se a ∗ b = b ∗ a per ogni a, b ∈ G. 3.1.14 Esempio. I monoidi (R, +) e (R, ·) e con loro anche tutti i loro sottosemigruppi sono abeliani. I monoidi (P(Ω), ∩) e (P(Ω), ∪) sono abeliani. Se #X ≥ 2 allora il monoide (F, X) e tutti i suoi sottosemigruppi che abbiamo considerato finora non sono abeliani. 3.1.15 Esercizio. Trovare tutti i semigruppi non abeliani con due elementi. 3.1. Definizioni e primi risultati 35 Diciamo che un semigruppo (G, +) con l’operazione + è scritto additivo. Se un semigruppo è scritto additivo, allora assumiamo sempre che sia abeliano. Diciamo che un semigruppo (G, ·) con l’operazione · è scritto moltiplicativo. In questo caso scriviamo spesso ab invece di a · b. Un semigruppo scritto moltiplicativo non è necessariamente abeliano (ma può esserlo come (R, ·)). Se il semigruppo (il monoide, il gruppo) (G, ∗) non è abeliano possiamo anche pensare di definire l’operazione opposta ∗op come a∗op b := b∗a. È facile verificare che anche l’operazione ∗op è associativa (esercizio!). Quindi (G, ∗op ) (o per brevità Gop ) è un semigruppo (un monoide con la stessa identità, un gruppo con gli stessi elementi inversi). Diciamo che (G, ∗op ) è il semigruppo (il monoide, il gruppo) opposto di (G, ∗). Chiudiamo questa sezione con qualche miglioramento che riguarda il numero di proprietà che dobbiamo controllare per essere sicuri che un semigruppo (G, ∗) sia un gruppo. 3.1.16 Teorema. Sia (G, ∗) un semigruppo con le seguenti proprietà: 1. Esiste un elemento e s ∈ G tale che e s ∗ a = a per ogni a ∈ G. 2. Per ogni a ∈ G esiste un elemento a s ∈ G tale che a s ∗ a = e s . Allora (G, ∗) è un gruppo con l’identità e = e s e per ogni a ∈ G l’inverso è a−1 = a s . D. Prima dimostreremo che anche a ∗ a s = e s . (Attenzione però: Finché non abbiamo dimostrato che e s sia l’identità, questo non implica ancora che a abbia un inverso, perché senza l’identità non è definito che cosa sia un inverso.) Per un a ∈ G arbitrario denotiamo con (a s ) s un inverso a sinistra di un suo inverso a sinistra a s (che esistono tutti e due secondo le ipotesi del teorema). Allora a ∗ a s = e s ∗ a ∗ a s = (a s ) s ∗ a s ∗ a ∗ a s = (a s ) s ∗ e s ∗ a s = (a s ) s ∗ a s = e s . Poi da ciò segue facilmente che anche a ∗ e s = a ∗ a s ∗ a = e s ∗ a = a. Questo vale per ogni a ∈ G e quindi e s è un’identità (cioè e s è l’unica identità). Secondo l’equazione precedente, a s é l’unico inverso di a. Evidentemente il teorema vale anche se supponiamo l’esistenza di un’identità a destra ed e per ogni a ∈ G, l’esistenza di un inverso a destra ad ∈ G. Attenzione però: Notiamo che il teorema non vale se supponiamo l’esistenza di un’identità a sinistra e s e per ogni a ∈ G, l’esistenza di un inverso a destra ad ∈ G. 3.1.17 Esempio. Sia G = {a, b} un semigruppo con l’operazione ∗ definita secondo la seguente tabella della moltiplicazione: ∗ a b a a b b a b (Dimostrare l’associatività consisterebbe nel controllare tutti e otto i prodotti triplici possibili. Più elegante è invece osservare che i due elementi del sottosemigruppo F(X)\Fin (X) = Capitolo 3. Gruppi, monoidi e semigruppi 36 F(X)\F sur (X) del monoide F(X) per X = {x1 , x2 } hanno proprio la tabella della moltiplicazione del semigruppo opposto di G. Quindi l’associatività segue da quella della composizione di elementi di F(X).) Osserviamo che (G, ∗) è un semigruppo non abeliano (s.v. l’Esercizio 3.1.15) che contiene un elemento a che agisce come identità a sinistra e come inverso a destra (rispetto a questa identità sinistra) per tutti e due gli elementi a e b. Però G non è un gruppo. Il seguente esercizio (già abbastanza avanzato) ci indica che un semigruppo, soddisfacendo le ipotesi miste, contiene almeno un sottosemigruppo interessante che è un gruppo. È consigliabile seguire le istruzioni. 3.1.18 Esercizio. (∗∗) Sia (G, ∗) un semigruppo con le seguenti proprietà: 1. Esiste un elemento e s ∈ G tale che e s ∗ a = a per ogni a ∈ G. 2. Per ogni a ∈ G esiste un elemento ad ∈ G tale che a ∗ ad = e s . Poniamo G ∗ e s := {g ∗ e s : g ∈ G} ⊂ G. Dimostrare che (G ∗ e s , ∗) è un gruppo con l’identità e = e s e per ogni a ∈ G ∗ e s l’inverso è a−1 = ad ∈ G ∗ e s . Suggerimento: Seguire le seguenti istruzioni: 1. G ∗ e s è un sottosemigruppo. (Facile. Ci sarà utile quando parliamo di classi laterali.) 2. a ∈ G ∗ e s allora a ∗ e s = a. (Cioè e s ∈ G ∗ e s è un’identità per G ∗ e s .) 3. (ad )d = a ∗ e s . (Iniziare a destra e scrivere e s in modo opportuno.) 4. Usare 3 per dimostrare ad ∗ a ∗ e s = e s . 5. (∗) Usare 4 per dimostrare ad = ad ∗ e s . (Cioè ad ∈ G ∗ e s .) 6. Adesso complettare l’argomento: Il sottosemigruppo G ∗ e s (per 1) contiene l’identità e s (per 2) e per ogni a = a ∗ e s ∈ G ∗ e s contiene l’elemento ad (per 5) che costituisce un inverso di a = a ∗ e s (per 4). 3.2 Monoidi e gruppi ciclici Sia (G, ∗) un monoide e X ⊂ G un sottoinsieme di G (non necessariamente un sottosemigruppo). Ci interessa se fra tutti i sottomonoidi di G che contengono X, ne esista uno più piccolo, in altre parole se esiste un sottomonoide [X] di G tale che X ⊂ [X] e tale che qualunque sia il sottomonoide H ⊃ X di G, deve contenere anche [X]. L’argomento che ci assicura l’esistenza e l’unicità di [X] è sempre lo stesso anche per tante altre strutture (s.v. il Lemma 1.4.1). Perciò lo elaboriamo una volta per tutte. 3.2.1 Proposizione. Sia (G, ∗) un monoide e X ⊂ G un sottoinsieme di G. Sia HX l’insieme di tutti i sottomonoidi H di G che contengono X. Allora \ [X] = H H∈HX è l’unico sottomonoide di G che soddisfa le seguenti condizioni: 3.2. Monoidi e gruppi ciclici 37 1. X ⊂ [X]. 2. H ∈ HX =⇒ H ⊃ [X]. D. Osserviamo che G ∈ HX cosicché HX non è vuoto. Allora [X] definito come sopra, contiene almeno X perchè ogni H ∈ HX contiene X. Poi osserviamo che una qualsiasi intersezione di sottomonoidi è un sottomonoide. (e ∈ H∀H ∈ HX ⇒ e ∈ [X] ed a, b ∈ H∀H ∈ HX ⇒ a ∗ b ∈ H∀H ∈ HX ⇒ a ∗ b ∈ [X].) Quindi [X] ∈ HX , cioè [X] è un sottomonoide che contiene X. Questo implica anche che [X] ∩ H = [X] (cioè [X] ⊂ H) per ogni H ∈ HX . Due sottomonoidi H1 , H2 di G che soddisfano le due condizioni devono coincidere perchè vale sia H2 ⊂ H1 (per la seconda condizione di H1 applicata su H2 ) e sia H1 ⊃ H2 . Diciamo che [X] è il sottomonoide generato da X. Se [X] = G diciamo che G è generato da X e X è un generatore di G. Evidentemente lo stesso meccanismo garantisce anche l’esistenza di un sottosemigruppo generato da un sottoinsieme di un semigruppo e l’esistenza si un sottogruppo generato da un sottoinsieme di un gruppo. Se X = {a} ha un solo elemento, allora scriviamo anche [a] invece di [{a}]. Attenzione però a non confondere [a] con la notazione [a]∼ per le classi di equivalenza. Diciamo che un monoide (G, ∗) è ciclico se esiste un elemento a ∈ G tale che G = [a]. Un gruppo è ciclico se è ciclico come monoide. Un elemento a tale che [a] = G, lo chiamiamo anche generatore di G. È possibile specificare [X] più esplicitamente. Osserviamo che il sottoinsieme W = {e} ∪ x1 ∗ . . . ∗ xn : n ∈ N, x1 ∈ X, . . . , xn ∈ X (3.2.1) è un sottomonoide che contiene X, cioè W ∈ HX . Inoltre, un qualsiasi elemento H ∈ HX non può fare a meno di contenere W. Grazie all’unicità nella Proposizione 3.2.1 segue che W = [X]. 3.2.2 Corollario. Sia X un sottoinsieme di un monoide (G, ∗) tale che G = [X]. Allora G è un gruppo se e solo se ogni x ∈ X ha l’inverso x−1 ∈ G. D. Sia a ∈ G. Poiché G = [X], lo possiamo scrivere come a = x1 ∗ . . . ∗ xn (o a = e nel caso a−1 = e). Ogni xi ha l’inverso xi−1 ∈ G. Quindi xn−1 ∗ . . . ∗ x1−1 è un inverso di a. 3.2.3 Corollario. Sia X un sottoinsieme di un monoide (G, ∗) tale che ogni x ∈ X abbia l’inverso x−1 ∈ G. Denotiamo con X −1 := {x−1 : x ∈ X} l’insieme di tutti gli inversi degli elementi di X. Allora [X ∪ X −1 ] è un gruppo (il gruppo generato da X). Per analizzare la struttura dei monoidi ciclici ci servono le potenze an (n ∈ N0 ) di un elemento che sono determinate dalle seguente proprietà: a0 = e an+1 = a ∗ an . Capitolo 3. Gruppi, monoidi e semigruppi 38 Per l’esistenza (un applicazione del Teorema 1.3.9) dobbiamo ancora aspettare un pò. (Usando l’identità artificiale ẽ della Proposizione 3.1.13, la definizione delle potenze an vale anche per i e semigruppi per ogni n ∈ N. Basta dimostrare con l’induzione che le potenze an di a ∈ G ⊂ G sono sempre in G quando n ≥ 1.) Ne segue che in un monoide ciclico (G, ∗) esiste un elemento a tale che G = {an : n ∈ N0 }. Osserviamo che per ogni a ∈ G la funzione ϕa : N0 → G, ϕa (n) = an soddisfa ϕa (n + m) = ϕa (n) ∗ ϕa (m). La funzione è surgettiva se e solo se a è un generatore. 3.2.4 Teorema. Sia (G, ∗) un monoide ciclico. Allora G è numerabile e abeliano. Vale una ed una sola delle seguenti alternative: 1. #G = 1. Allora G è un gruppo. 2. #G = ∞. Allora esiste un unico a ∈ G tale che ϕa : N0 → G, ϕa (n) = an è una biezione e G non è un gruppo. 3. 1 < #G < ∞ ed esiste un numero n ∈ N più piccolo tale che an = e per ogni a ∈ G. In tal caso #G = n e G è un gruppo. 4. 1 < #G < ∞ e non esistono n ∈ N, a ∈ G, a , e con an = e. In tal caso esiste un b ∈ G con b2 = b , e e G non è un gruppo. D. Escludiamo subito il caso banale #G = 1. Quindi, in poi ogni generatore è diverso da e. Denotiamo con a un generatore di G. Dimostriamo che #G = ∞ se e solo se ϕa è iniettiva quindi biettiva. Ovviamente se ϕa è biettiva, allora #G = ∞. Se ϕa non è iniettiva, allora esistono numeri m > n ≥ 0 tali che am = an . Ne segue che a`+m = a`+n per ogni 0 ` ∈ N0 . Allora ogni ak è uguale ad un ak dove k0 < m e perciò, G è finito. Se #G = ∞, allora ϕa è iniettiva per ogni generatore a. Se anche b è un generatore, allora ci sono unici numeri n, m ∈ N (in N perché a , e , b) tali che a = bn ed b = am . Quindi a = bn = (am )n = amn . Per l’iniettività di ϕa concludiamo che 1 = mn. Gli unici numeri naturali che risolvono questa equazione sono m = n = 1. Allora a = b1 = b. Inoltre, poiché ϕa è iniettiva, an , e per ogni n ∈ N. Quindi a ∗ an , e per ogni n ∈ N0 e a non ha l’inverso. Cioè G non è un gruppo. D’allora supponiamo #G < ∞. Scegliamo un generatore a di G e denotiamo con N ⊂ N l’insieme di tutti gli n ∈ N tali che an = e. Se N è vuoto, come sopra, G non è un gruppo. Manca solo trovare b , e con b2 = b. Siano m > n ≥ 1 (perchè ≥ 1?) numeri tali che am = an . Supponiamo che m ≥ 2n. 0 (Altrimenti sostituiamo m con m0 = m + k(m − n). Perchè vale am = an ?) Poiché m ≥ 2n, esiste k = m − 2n ∈ N0 tale che m + k = 2(n + k). Allora se poniamo b = an+k vale b2 = a2(n+k) = am ∗ ak = an ∗ ak = b. Se N non è vuoto, allora contiene un elemento più piccolo n ∈ N. Vale quindi an = e e ar , e per ogni 1 < r < n. Per ogni m ∈ N il resto r della divisione m : n è un numero 3.3. Esempi di (semi)gruppi di matrici 39 0 ≤ r < n tale che am = ar . Quindi G = {ar : 0 ≤ r < n}. Ogni elemento ar (0 ≤ r < n) ha l’inverso an−r , quindi G è un gruppo. Per ogni ar ∈ G vale (ar )n = (an )r = er = e e n è il numero più piccolo che ha questa proprietà per ogni r. Inoltre se 0 ≤ r ≤ s < n tale che a s = ar , allora a s−r = e. Poiché s − r < n e n è il numero più piccolo in N con questa proprietà, ne segue che s − r = 0 o s = r. Quindi tutti gli ar (0 ≤ r < n) sono diversi e #G = n. 3.2.5 Esempio. (N0 , +) è un monoide ciclico. Per ogni n ∈ N l’insieme Zn = {0, 1, . . . , n − 1} con l’addizione modulo n +n definita come k+` <n k + ` k +n ` = k + ` − n k + ` ≥ n diventa un gruppo ciclico. Ogni k ∈ Zn con MCD (massimo comun divisore) di k e n uguale ad 1 (cioè in particolare 1 stesso), genera Zn . Se n è un numero primo, allora ogni k , 0 genera Zn . Sia X = {x1 , . . . , xn }. La funzione f : xn 7→ xn , xk 7→ xk+1 (k < n) genera un sottomonoide ciclico [ f ] di F(X) che non è un gruppo. In effetti, f m = f xn per ogni m ≥ n dove f xn è la funzione costante xk 7→ xn (k = 1, . . . , n). 3.3 Esempi di (semi)gruppi di matrici In questa sezione consideriamo qualche sotto(semi)gruppo di spazi di matrici quadratiche. Serve anche per abituarci al prodotto delle matrici studiando casi particolari. Una discussione dettagliata, anche con qualche dimostrazione di fatti che adesso usiamo semplicemente, segue nel capitolo sulle funzioni lineari. Denotiamo con M2 (o più specificamente, con M2 (R)) lo spazio delle matrici due per due, cioè a b : a, b, c, d ∈ R M2 = A = . c d (M2 , +) con l’addizione definita come a + a0 b + b0 a b a0 b0 = + c + c0 d + d0 c0 d 0 c d (3.3.1) diventa un gruppo abeliano. (Esercizio! Quali sono l’identità e gli elementi inversi?) Per ogni λ ∈ R possiamo anche definire moltiplicazione scalare a b λa λb = . λ c d λc λd (3.3.2) Capitolo 3. Gruppi, monoidi e semigruppi 40 Però né l’addizione né la moltiplicazione scalare ci interessano al momento. Noi vogliamo studiare il prodotto · su M2 definito come a b a0 b0 aa0 + bc0 ab0 + bd0 = c d c0 d 0 ca0 + dc0 cb0 + dd0 oppure a b e f ae + bg a f + bh = . c d g h ce + dg c f + dh Notiamo che ai sensi della nostra convenzione su semigruppi scritti moltiplicativi, abbiamo lasciato da parte il simbolo · fra i due fattori. 3.3.1 Esempio. (M2 , ·) è un monoide. Non è un gruppo. La verifica diretta dell’associatività è un esercizio molto fastidioso. La vedremo molto più facilmente quando riconosceremo matrici come funzioni lineari e il prodotto delle matrici proprio come la composizione delle funzioni alle quali corrispondono. (Ricordiamoci che la composizione di funzioni è associativa!) Ci poniamo, però, il problema di verificare che la matrice I2 = 10 01 sia un’identità. Inoltre verifichiamo che la matrice 02 = 00 00 soddisfi 02 A = 02 = A02 per ogni A ∈ M2 . Quindi (M2 , ·) non è un gruppo. C’è un modo facile per ricordare come calcolare un prodotto di matrici. Osserviamo, per esempio, che l’entrata ce + dg nella seconda riga e nella prima colonna può essere trovata nel modo seguente: Prendiamo la seconda riga (c d) del primo fattore. Poi prendiamo la prima colonna ge del secondo fattore e la trasformiamo in riga rotando la di 90◦ in senso anti-orario e ottenendo (e g). Scriviamo queste due righe una sull’altra. Poi moltiplichiamo quei numeri che si trovano uno sull’altro e sommiamo i risultati. e e g (c d) −−−−−→ c d g −−−−−→ ce + dg Questa regola empirica vale per ogni entrata del prodotto di due matrici (anche di dimensioni più grandi e per matrici rettangolari): Per calcolare l’entrata dell’n–esima riga e dell’m–esima colonna di un prodotto di matrici, basta prendere la n–esima riga del primo fattore e la m–esima colonna del secondo fattore (che devono per forza avere lunghezze uguali), “rotare” la colonna (in senso anti-orario) “sulla” riga, moltiplicare i numeri che risultano uno sull’latro e sommare i risultati. 3.3.2 Esercizio. Siano e11 = 0 0 0 0 0 1 1 0 . Calcolare tutti i 16 ad e = , e = , e = 22 21 12 01 10 00 00 prodotti possibili. Concludere che M2 non è abeliano. Verificare che nessuna delle matrici ei j abbia l’inversa. 3.3. Esempi di (semi)gruppi di matrici 41 n o n o 3.3.3 Esempio. a0 db : a, b, d ∈ R è un sottomonoide di M2 . Il sottomonoide 10 b1 : b ∈ R di n a b o : a, b, d ∈ R , invece, è un gruppo. 0d n o Più in generale, un elemento di a0 db : a, b, d ∈ R ha l’inverso se e solo se ad , 0 (quale?). n o n o Quindi a0 db : a, b, d ∈ R, ad , 0 è un gruppo e 10 b1 : b ∈ R è un suo sottogruppo. n 0 b o : b ∈ R è un sottosemigruppo ma non è un monoide. 00 n o x sin x L’insieme R x = −cos : x ∈ R è un gruppo. sin x cos x 3.3.4 Esercizio. Calcolare i monoidi h 0 1 i h 0 1 i e −1 0 e verificare che siano gruppi tutti e due. 10 Ci domandiamo quali sono gli elementi invertibili di M2 (che secondo la Nota 3.1.11 formano un gruppo). Per rispondere a questa domanda introduciamo il determinante det A di una matrice A = ac db ∈ M2 come a b = ad − bc. det A = det c d 3.3.5 Teorema. Un elemento A ∈ M2 è invertibile se e solo se det A , 0. L’insieme GL(2) := A ∈ M2 : det A , 0 è un gruppo, il gruppo lineare generale di dimensione 2. L’insieme S L(2) := A ∈ M2 : det A = 1 è un sottogruppo di GL(2), il gruppo lineare speciale di dimensione 2. d −b 1 D. Se det ac db = ad − bc , 0, allora si verifichi che la matrice ad−bc −c a sia un’inversa di ac db . Per il caso det A = 0 lasciamo come esercizio trovare una matrice B , 02 tale che AB = 02 . Per dimostrare che S L(2) sia un sottogruppo di GL(2), dobbiamo dimostrare che det A = 1, det B = 1 allora det(AB) = 1. Questo segue dal risultato più generale det(AB) = det A · det B che dimostreremo nel Teorema 5.13.6. Già per una matrice 3 × 3 non è più opportuno denotare ogni entrata con la sua propria lettera. Indichiamo, piuttosto, ogni entrata ai j con un doppio indice dove il primo, i, indica la riga ed il secondo, j, la colonna. Otteniamo, quindi, lo spazio M3 (o M3 (R)) delle matrici 3 × 3 con entrate in R come a a a 11 12 13 a21 a22 a23 : ai j ∈ R; i, j = 1, 2, 3 M3 = A = . a31 a32 a33 Capitolo 3. Gruppi, monoidi e semigruppi 42 Scriviamo anche A = ai j i, j=1,2,3 . Solo quando siamo sicuri di quale sia l’indice per le righe e quale quello per le colonne possiamo essere pigri e scrivere semplicemente A = ai j . Un esempio di dove la pigrezza non conviene è la matrice trasposta di A = ai j i, j=1,2,3 , ottenuta da A per riflessione alla diagonale i = j, sarebbe At = a ji i, j=1,2,3 . Anche su M3 abbiamo l’addizione e la moltiplicazione scalare, definiti in analogia con la (3.3.1) e la (3.3.2), che al momento non ci interessa. Il prodotto lo vogliamo definire secondo la nostra regola empirica. Per una definizione formale, però, non conviene più scrivere tutte le entrate coinvolte ma serve una notazione compatta. Siano A = ai j i, j=1,2,3 e B = bi j i, j=1,2,3 elementi di M3 . Il loro prodotto C = AB è definito come C = ci j 3 X dove i, j=1,2,3 ci j := aik bk j . (3.3.3) k=1 Anche (M3 , ·) è un monoide. L’identità è la matrice I3 = δi j δi j 1 := 0 i, j=1,2,3 dove i= j i , j. è il simbolo di Kronecker. In altre parole, le entrate di I3 sulla diagonale sono tutte uguali ad 1 mentre le altre sono tutte 0. 3.3.6 Esercizio. Verificare l’associatività della moltiplicazione direttamente dalla (3.3.3). 3.3.7 Esercizio. Verificare che le matrici triangolari superiori n o T 3≤ = A = ai j i, j=1,2,3 ∈ M3 : i > j ⇒ ai j = 0 sono un sottomonoide di M3 . Il suo sottoinsieme n o T 3< = A = ai j i, j=1,2,3 ∈ M3 : i ≥ j ⇒ ai j = 0 invece è un sottosemigruppo ma non è un (sotto)monoide. Dare una ragione per il fatto che nessun elemento di T 3< ha l’inverso. (Con “dare una ragione” intendiamo “non cercare di calcolare l’inverso (scoprendo poi che non è possibile), ma concludere dai risultati precedenti”.) 3.3.8 Esercizio. Dimostrare che l’elemento A = ai j a11 a22 a33 , 0. i, j=1,2,3 di T 3≤ ha l’inverso se e solo se Anche per gli elementi A ∈ M3 esiste un determinante det A ∈ R ed A è invertibile se e solo se det A , 0. Una verifica diretta è, però, già cosı̀ fastidiosa che rimandiamo il problema alla discussione del caso generale. 3.4. Omomorfismi ed isomorfismi 43 3.3.9 Esercizio. Verificare che il sottoinsieme 1 a b 0 1 c : a, b, c ∈ R A(a, b, c) = 0 0 1 di M3 è un gruppo. (È chiuso sulla moltiplicazione, contiene l’identità I3 e per ogni elemento contiene il suo inverso. Per tutto questo occorre prima stabilire la legge della moltiplicazione in termini dei parametri a, b, c. Poi cercare i parametri a0 , b0 , c0 tali che A(a0 , b0 c0 )A(a, b, c) = I3 . Non dimenticarsi di verificare anche la direzione opposta.) 3.4 Omomorfismi ed isomorfismi Sia a un elemento di un monoide (G, ∗). Davanti al Teorema 3.2.4, abbiamo considerato la funzione ϕa : N0 → G definita come ϕa (n) = an . (Sarà proprio nella sezione presente che vedremo che una tale funzione esiste.) Questa funzione soddisfa ϕa (n + m) = ϕa (n) ∗ ϕa (m), ϕa (0) = e. Allora, in un certo senso, la funzione ϕa da un monoide in un altro, rispetta la struttura del monoide. In generale, funzioni che rispettano una struttura si chiamano omomorfismi della struttura. Visto però che non è sempre chiaro che cosa s’intenda con “rispettare una struttura”, dobbiamo in ogni caso definirlo esplicitamente. 3.4.1 Definizione. 1. Un omomorfismo di semigruppi (G, ∗) e (G0 , ∗0 ) è una funzione ϕ : G → G0 tale che ϕ(a ∗ b) = ϕ(a) ∗0 ϕ(b) (a, b ∈ G). 2. Un omomorfismo di monoidi (G, ∗) e (G0 , ∗0 ) è una funzione ϕ : G → G0 tale che ϕ(a ∗ b) = ϕ(a) ∗0 ϕ(b) (a, b ∈ G), ϕ(e) = e0 . 3. Un omomorfismo di gruppi (G, ∗) e (G0 , ∗0 ) è una funzione ϕ : G → G0 tale che ϕ(a ∗ b) = ϕ(a) ∗0 ϕ(b) (a, b ∈ G), ϕ(e) = e0 , ϕ(a−1 ) = ϕ(a)−1 (a ∈ G). Il seguente lemma è fondamentale. Qui ci serve per preparare la dimostrazione della prossima proposizione. Capitolo 3. Gruppi, monoidi e semigruppi 44 3.4.2 Lemma. Sia (G, ∗) un gruppo ed a ∈ G. Allora le funzioni sa : b 7→ a ∗ b, da : b 7→ b ∗ a sono tutte e due biettive. D. Dimostriamo solo che sa è biettiva e lasciamo la dimostrazione analoga per da come esercizio. Siano b1 , b2 ∈ G tali che sa (b1 ) = sa (b2 ). Quindi, b1 = a−1 ∗ a ∗ b1 = a−1 ∗ sa (b1 ) = a−1 ∗ sa (b2 ) = a−1 ∗ a ∗ b2 = b2 . Allora sa è iniettiva. Sia poi b ∈ G. Allora a−1 ∗ b è un elemento in G tale che sa (a−1 ∗ b) = a ∗ a−1 ∗ b = b, cioè sa è surgettiva. 3.4.3 Corollario. L’unico elemento a in un gruppo G, che soddisfa a ∗ a = a, è a = e. D. Vale sa (a) = a ∗ a = a = a ∗ e = sa (e). Allora a = e. 3.4.4 Proposizione. Siano (G, ∗) e (G0 , ∗0 ) gruppi. Allora ogni omomorfismo di semigruppi ϕ : G → G0 è anche un omomorfismo di gruppi. D. Vale ϕ(e) = ϕ(e ∗ e) = ϕ(e) ∗0 ϕ(e). Allora secondo il corollario, ϕ(e) = e0 . Poi per ogni a ∈ G, vale ϕ(a) ∗0 ϕ(a−1 ) = ϕ(a ∗ a−1 ) = ϕ(e) = e0 . Però secondo la Proposizione 1.2.18, ogni inverso a destra di ϕ(a) deve coincidere con il suo inverso (a sinistra) ϕ(a)−1 . Quindi ϕ(a−1 ) = ϕ(a)−1 . Perchè una funzione ϕ fra gruppi sia un omomorfismo di gruppi, basta quindi controllare solo la moltiplicatività. Per i monoidi non è cosı̀. 3.4.5 Esempio. Sia X = {x1 , x2 }. Consideriamo l’omomorfismo ϕ che manda l’unico elemento del gruppo { f x1 : x 7→ x1 } sullo stesso elemento f x1 del monoide F(X). Allora ϕ è un omomorfismo di semigruppi che non rispetta l’identità dei monoidi. 3.4. Omomorfismi ed isomorfismi 45 3.4.6 Esempio. ϕ : Z → Z, ϕ(n) = 2n è un omomorfismo di gruppi. La restrizione ϕ|N0 su N0 è un omomorfismo di monoidi. (In effetti, è un esempio del tipo ϕa : n → a2 per a = 2. Attenzione però al fatto che (Z, +) è scritto additivo. Quindi, an non è nient’altro che na.) Infine, la restrizione ϕ|N su N è un omomorfismo di semigruppi. 3.4.7 Esempio. Sia H un sottosemigruppo (un sottomonoide, un sottogruppo) di G. Allora l’iniezione canonica idH |G : H → G, h 7→ h è un omomorfismo di semigruppi (di monoidi, di gruppi). 3.4.8 Esempio. Osserviamo che la composizione di due omomorfismi è un omomorfismo. In particolare, l’insieme E(G) di tutti gli endomorfismi di G (cioè di tutti gli omomorfismi G → G) è un monoide. 3.4.9 Proposizione. Sia ϕ : G → G0 un omomorfismo di semigruppi (di monoidi, di gruppi). Se H è un sottosemigruppo (un sottomonoide, un sottogruppo) di G, allora l’immagine ϕ(H) è un sottosemigruppo (un sottomonoide, un sottogruppo) di G0 . Se H 0 è un sottosemigruppo (un sottomonoide, un sottogruppo) di G0 , allora la controimmagine ϕ−1 (H 0 ) è un sottosemigruppo (un sottomonoide, un sottogruppo) di G. D. (Schematica.) h01 , h02 ∈ ϕ(H) =⇒ ∃h1 , h2 ∈ H : ϕ(h1 ) = h01 , ϕ(h2 ) = h02 =⇒ h01 ∗0 h02 = ϕ(h1 ) ∗0 ϕ(h2 ) = ϕ(h1 ∗ h2 ) ∈ ϕ(H). L’identità (per monoidi) e gli inversi (per gruppi) sono chiaramente contenuti. h1 , h2 ∈ ϕ−1 (H 0 ) =⇒ ϕ(h1 ), ϕ(h2 ) ∈ H 0 =⇒ ϕ(h1 ∗ h2 ) = ϕ(h1 ) ∗0 ϕ(h2 ) ∈ H 0 =⇒ h1 ∗ h2 ∈ ϕ−1 (H 0 ). L’identità (per monoidi) e gli inversi (per gruppi) sono chiaramente contenuti. Il seguente risultato segue come nella dimostrazione precedente. 3.4.10 Corollario. Sia ϕ : G → G0 un omomorfismo di semigruppi. Se G è un gruppo (un monoide), allora ϕ(G) è un gruppo (un monoide). In particolare, se ϕ è surgettivo, allora G0 è un gruppo (un monoide). 3.4.11 Definizione. Il nucleo ker ϕ di un omomorfismo ϕ a valori in un monoide G, è la controimmagine ϕ−1 ({e}). (‘Nucleo’ in inglese si dice ‘kernel’.) Se G non è un monoide, poniamo ker ϕ = ∅. Se ϕ non è almeno un omomorfismo di monoidi, allora ker ϕ può (ma non deve) essere e ⊃ G (s.v. Proposizione 3.1.13). vuoto. Si consideri, per esempio, l’iniezione canonica di G in G Capitolo 3. Gruppi, monoidi e semigruppi 46 3.4.12 Corollario. Se ϕ : G → G0 è un omomorfismo di semigruppi (di monoidi, di gruppi), allora l’immagine ϕ(G) è un sottosemigruppo (un sottomonoide, un sottogruppo) di G0 ed il nucleo ker ϕ è un sottosemigruppo (un sottomonoide, un sottogruppo) di G. 3.4.13 Proposizione. Un omomorfismo ϕ : G → G0 di gruppi è iniettivo se e solo se ker ϕ = {e}. D. Se ker ϕ , {e}, allora ϕ non è iniettivo. Supponiamo adesso che ker ϕ = {e}. Scegliamo a, b ∈ G tali che ϕ(a) = ϕ(b). Ne segue (perché?) che a ∗ b−1 ∈ ker ϕ. Però, ker ϕ ha il solo elemento e, quindi, a ∗ b−1 = e. Moltiplicando con b alla destra otteniamo a = b. Allora ϕ è iniettivo. 3.4.14 Definizione. Un isomorfismo è un omomorfismo biettivo. Intenzionalmente non abbiamo specificato la struttura (semigruppi, monoidi, gruppi). La definizione è fatta nello stesso modo per tante altre strutture. L’idea è che la seguente definizione ci fornisca una relazione di equivalenza. (Per avere simmetria, a volte è necessario includere nella Definizione 3.4.14, che anche l’inverso di un isomorfismo sia un omomorfismo. (Per esempio, l’inverso di un omomorfismo di ordinamenti biettivo, cioè di una funzione biettiva fra insiemi parzialmente ordinati che rispetta l’ordine, non bisogna rispettare l’ordine.) Però vediamo nella Proposizione 3.4.16 che per semigruppi (etc.) ciò è automatico.) 3.4.15 Definizione. Diciamo che G è isomorfo a G0 , in formula G G0 , se esiste un isomorfismo ϕ : G → G0 . 3.4.16 Proposizione. è una relazione di equivalenza. D. La dimostrazione è esattamente come quella per l’equipotenza di insiemi nel Esempio 2.3.3, eccetto che adesso ci dobbiamo convincere che le funzioni richieste in quella dimostrazione sono sempre omomorfismi. (i) idG è un omomorfismo, quindi, è riflessiva. (ii) La composizione di omomorfismi è un omomorfismo, quindi, è transitiva. (iii) L’inverso di un omomorfismo è un omomorfismo. (In effetti, ϕ−1 (a0 ∗0 b0 ) = ϕ−1 ϕ ◦ ϕ−1 (a0 ) ∗0 ϕ ◦ ϕ−1 (b0 ) = ϕ−1 ◦ ϕ(ϕ−1 (a0 ) ∗ ϕ−1 (b0 )) = ϕ−1 (a0 ) ∗ ϕ−1 (b0 ). Questo basta per semigruppi. Per monoidi e gruppi s.v. la seguente proposizione.) Quindi è simmetrica. 3.4.17 Proposizione. Siano G e G0 isomorfi come semigruppi. Allora G è un monoide (un gruppo) se e solo se G è un monoide (un gruppo) ed in ogni caso due sono isomorfi come monoidi (come gruppi). 3.4. Omomorfismi ed isomorfismi 47 D. Basta una direzione (perché?). Prima sia G un monoide e ϕ : G → G0 un isomorfismo. Allora ϕ(e) agisce come identità su tutti gli elementi ϕ(a) di G0 e poiché ϕ è surgettivo, proprio su tutto G0 . Se poi G è anche un gruppo, l’inverso di un qualsiasi elemento a0 = ϕ(a) ∈ G0 è ϕ(a−1 ). 3.4.18 Esempio. x 7→ e x è un isomorfismo di gruppi (R, +) → (R∗+ , ·). Il suo inverso è il logaritmo naturale. Il fatto che tutti e due sono omomorfismi corrisponde alle leggi e x+y = e x ey e ln(xy) = ln x + ln y. Abbiamo già detto che il semigruppo astratto con due elementi dell’Esempio 3.1.17 è isomorfo a (F(X)\Fin (X))op = (F(X)\F sur (X))op per X = {x1 , x2 }. Questo esempio dimostra anche che generalmente G Gop . Vale, però: G Gop se G è abeliano. Inoltre: Se G è un gruppo, allora g 7→ g−1 fornisce un isomorfismo G → Gop . Un isomorfismo identifica uno ad uno gli elementi di un insieme che abbia una certa struttura con quelli di un altro insieme che abbia una struttura simile in modo che non solo gli elementi dei due insiemi, ma anche le operazioni siano identificate. Due strutture che sono isomorfe (si dice sono uguali a meno di isomorfismo) non possono essere distinte con mezzi interni della struttura. Per l’analisi di una struttura un rappresentante di una classe di equivalenza (a meno di isomorfismo) vale l’altro. Se noi in diverse realizzazioni della stessa classe vediamo aspetti diversi, significa che stiamo mescolando aspetti esterni, che sono fuori della struttura, con quelli interni. Spesso, quando ci siamo convinti che quegli altri aspetti hanno importanza (perché crediamo che siano utili per la soluzione di un problema, oppure semplicemente perché ci piacciono), questo da inizio alla scoperta di una nuova struttura che terrà conto di questi aspetti esterni che poi diventeranno aspetti interni della nuova struttura. 3.4.19 Esempio. Nell’Esempio 1.3.3 abbiamo visto che N e N0 sono tutte e due realizzazioni dei numeri naturali. Con gli ingredienti della struttura numeri naturali, cioè la funzione del successore e l’elemento iniziale, non le possiamo distinguere. La differenza fra 0 e 1 si vede solo (per esempio) quando consideriamo N o N0 come semigruppo additivo. 3.4.20 Definizione. Un automorfismo è un isomorfismo su se stesso, cioè un endomorfismo biettivo. 3.4.21 Osservazione. L’insieme A(G) di tutti gli automorfismi di un semigruppo (di un monoide, di un gruppo) G è un gruppo. 3.4.22 Esempio. Se G è un monoide e a ∈ G è invertibile, allora τa : b 7→ aba−1 è un automorfismo di G. Automorfismi di questo tipo chiamiamo interni. L’insieme di tutti gli automorfismi Capitolo 3. Gruppi, monoidi e semigruppi 48 interni è un sottogruppo di A(G) (esercizio!). Se G è abeliano, allora questo sottogruppo è banale. 3.4.23 Esempio. (N0 , +) non ha automorfismi non banali, perchè un automorfismo manda un generatore su un generatore e secondo il Teorema 3.2.4 l’unico generatore di N0 è 1. Invece n 7→ −n è un automorfismo di (Z, +). (a 7→ a−1 funziona per ogni gruppo abeliano.) Abbiamo iniziato con la teoria dei (semi)gruppi con il gruppo Fbi (X) ed il monoide F(X). Vogliamo concludere questa sezione dimostrando che ogni gruppo (semigruppo) è isomorfo ad un sottogruppo di Fbi (X) (un sottosemigruppo di F(X)) per un opportuno insieme X. Iniziamo con l’osservazione che per avere un isomorfismo da G su un sotto(semi)gruppo di 0 G basta trovare un omomorfismo iniettivo ϕ : G → G0 . Poi la sua immagine ϕ(G) ⊂ G0 è un sotto(semi)gruppo e ϕ|ϕ(G) : G → ϕ(G) un isomorfismo. Sia (G, ∗) un semigruppo. Visto che finora l’unico insieme a disposizione è G, formiamo F(G). Nel Lemma 3.4.2 abbiamo già visto due possibilità per associare ad a ∈ G funzioni sa , da ∈ F(G) come sa (b) = a ∗ b e da (b) = b ∗ a. 3.4.24 Proposizione. La rappresentazione regolare a sinistra ϕreg s : a 7→ sa è un omomorfismo di semigruppi G → F(G). Se G è un monoide, allora ϕreg s è un omomorfismo iniettivo di monoidi. reg F bi Se G è un gruppo, allora ϕreg s (G) ⊂ F (G) e ϕ s | bi (G) : G → Fbi (G) è un omomorfismo iniettivo di gruppi. reg 3.4.25 Nota. La rappresentazione regolare a destra ϕd : a 7→ da è, invece, un anti-omomorfismo (cioè un omomorfismo per il semigruppo opposto Gop ). Valgono affermazioni reg analoghe anche per Gop e ϕd . D P 3.4.24. Osserviamo che sa ◦ sb (c) = sa (sb (c)) = a ∗ b ∗ c = sa∗b (c). Quindi, a 7→ sa è un omomorfismo. Se G è un monoide, allora se = idG cosicché ϕreg s è un omomorfismo di monoidi. Inoltre, sa (e) = a. Allora se sa = sb , ne segue in particolare che a = sa (e) = sb (e) = b, quindi ϕreg s è iniettivo. Se poi G è un gruppo, sappiamo dal Corollario 3.4.10 che l’immagine ϕreg s (G) è un gruppo e dalla Proposizione 3.4.9 che è un sottomonoide. Allora l’immagine è contenuta in Fbi (G) ed è un sottogruppo. 3.4.26 Teorema di Cayley. 3.5. Esempio: Permutazioni e gruppi finiti 49 reg ϕs 1. Sia G un gruppo. Allora ϕreg s | (G) reg ϕs 2. Sia G un monoide. Allora ϕreg s | bi è un isomorfismo sul sottogruppo ϕreg s (G) di F (G). (G) è un isomorfismo sul sottomonoide ϕreg s (G) di F(G). reg ϕ s (G) 3. Sia G un semigruppo. Allora la restrizione ϕreg della rappresentazione regolare a s |G e (s.v. Proposizione 3.1.13) è un isomorfismo sul sottosemigruppo sinistra del monoide G e ϕreg s (G) di F(G). D. Lasciamo il riconoscimento del teorema come corollario della Proposizione 3.4.24 come esercizio. Finalmente siamo in grado di assicurarci dell’esistenza delle potenze an (n ∈ N) di elementi in un semigruppo G. Riflettendo sul Teorema 1.3.9 interpretiamo semplicemente a come fune Il Teorema 1.3.9 ci conferma l’esistenza della potenza sna come funzione che è per zione sa su G. forza contenuta nel sottosemigruppo generato dalla funzione sa . Quindi sna è l’immagine di un unico elemento an di G sotto l’isomorfismo garantito dal teorema di Cayley. Se G è un monoide poniamo ancora a0 = e. 3.5 Esempio: Permutazioni e gruppi finiti I gruppi di permutazioni sono fra i gruppi più fondamentali che esistano. Si tratta semplicemente dei gruppi Fbi (X) dove X = {x1 , . . . , xn } è un insieme finito. La struttura, a meno di isomorfismo, non dipende dalla natura specifica di X ma solo dalla cardinalità #X = n. Per convenienza scegliamo sempre X = {1, . . . , n}. 3.5.1 Definizione. Il gruppo simmetrico (n ∈ N) è S n := Fbi ({1, . . . , n}). Gli elementi di un gruppo simmetrico li chiamiamo permutazioni. Il seguente corollario segue immediatamente dal Teorema di Cayley 3.4.26. 3.5.2 Corollario. Ogni gruppo finito G di ordine n = #G ∈ N è isomorfo ad un sottogruppo di S n. Osserviamo che una permutazione non fa altro che riordinare l’n–upla (1, 2, . . . , n). Un modo opportuno di rappresentare un elemento a ∈ S n è 1 2 . . . n . a = a(1) a(2) . . . a(n) Capitolo 3. Gruppi, monoidi e semigruppi 50 In questo modo la rappresentazione di elementi a ∈ S n come matrice 2 × n è biunivoca. Però non è adatta per calcolare facilmente composizioni di permutazioni. Osserviamo che riordinare le colonne della matrice non cambia la permutazione, sempre interpretandola nel senso che l’elemento in alto di una colonna sia posto dalla permutazione a sull’elemento in basso. In altre parole, se b ∈ S n è un’altra permutazione, allora le matrici 1 b(1) 2 . . . n b(2) . . . b(n) e a(1) a(2) . . . a(n) a(b(1)) a(b(2)) . . . a(b(n)) determinano lo stesso elemento a ∈ S n . Qui si vede benissimo che la composizione a ◦ b è fatta come b(1) b(2) . . . b(n) 1 2 . . . n ◦ a ◦ b = a(b(1)) a(b(2)) . . . a(b(n)) b(1) b(2) . . . b(n) 1 2 ... n . = a ◦ b(1) a ◦ b(2) . . . a ◦ b(n) Siano n1 < n2 < . . . < nm (m < n) elementi di {1, . . . , n}. Allora ogni permutazione a ∈ S n che lasci fissati tutti gli n1 , . . . , nm (cioè a(ni ) = ni per ogni i = 1, . . . , m) è per forza una permutazione degli (n − m) elementi rimasti. Quindi a ∈ S n : a(ni ) = ni ; i = 1, . . . , m S n−m . In particolare, per lo studio delle proprietà di S n con metodi induttivi è importante che identifichiamo sempre S n come quel sottogruppo di S n+1 che lasci fissato l’elemento n + 1 di {1, . . . , n, n + 1}. S n = a ∈ S n+1 : a(n + 1) = n + 1 ⊂ S n+1 . (3.5.1) 3.5.3 Definizione. Una trasposizione è un elemento di S n che scambia due posti in {1, . . . , n}. In particolare, per 1 ≤ i < j ≤ n denotiamo con 1 . . . i . . . j . . . n ti,(n)j := 1 ... j ... i ... n (n) la trasposizione in S n che scambia solo i con j. Poniamo anche t(n) j,i := ti, j . Con ti, j = t j,i inten- diamo l’elemento ti,( j)j ∈ S j ⊂ S j+1 ⊂ S j+2 ⊂ . . . . Osserviamo che trasposizioni t sono autoinverse, cioè t2 = e. Inoltre, verifichiamo direttamente ti, j ◦ ti,k ◦ ti, j = t j,k , dove i, j, k, ` sono a due a due diversi. ti, j ◦ tk,` = tk,` ◦ ti, j , (3.5.2) 3.5. Esempio: Permutazioni e gruppi finiti 51 Una dimostrazione per la prima formula potrebbe essere questa: Prima osserviamo che i soli elementi coinvolti sono i, j, k. (Tutti gli altri non sono modificati dalle permutazioni ti, j e ti,k .) Allora basta convincersi che per quei tre valori la permutazione sulla sinistra dell’uguaglianza fa lo stesso della permutazione sulla destra. Quest’ultima t j,k manda j su k, k su j e lascia invariato i. Per la parte sinistra procediamo con una tabella. ti, j i k j ←− ←− ←− ti,k j k i ←− ←− ←− ti, j j i k ←− ←− ←− i j k Fra tutte le trasposizioni si distinguono quelle che scambiano solo numeri vicini, cioè ti,i+1 (i = 1, . . . , n − 1). 3.5.4 Nota. Osserviamo che l’insieme di tutte le trasposizioni non cambia quando enumeriamo l’insieme {1, . . . , n} in modo diverso. Dipendente da questa scelta è, invece, il sottoinsieme delle trasposizioni di prossimi vicini. 3.5.5 Corollario. Ogni trasposizione ti, j (i < j) può essere scritta come prodotto di trasposizioni tk,k+1 (i ≤ k < j) contenente un numero dispari di fattori. In effetti, abbiamo ti, j = ti,i+1 ◦ ti+1, j ◦ ti,i+1 = ti,i+1 ◦ ti+1,i+2 ◦ ti+2, j ◦ ti+1,i+2 ◦ ti,i+1 = ... = = ti,i+1 ◦ ti+1,i+2 ◦ . . . ◦ t j−2, j−1 ◦ t j−1, j ◦ t j−2, j−1 ◦ . . . ◦ ti+1,i+2 ◦ ti,i+1 . Il seguente lemma è la base per sfruttare l’identificazione 3.5.1. 3.5.6 Lemma. Per ogni a ∈ S n+1 vale: O a ∈ S n ⊂ S n+1 o a(n + 1) , n + 1 e t = ta(n+1),n+1 ed a0 := ta(n+1),n+1 ◦ a sono l’unica trasposizione t ∈ S n+1 e l’unico elemento a0 ∈ S n ⊂ S n+1 tali che a = t ◦ a0 . D. Qualunque sia a0 ∈ S n ed i < n + 1 l’elemento ti,n+1 ◦ a0 non può far parte di S n ⊂ S n+1 (perché ti,n+1 ◦ a0 ∈ S n implicherebbe ti,n+1 = ti,n+1 ◦ a0 ◦ a0−1 ∈ S n ). Se, viceversa, a ∈ S n+1 \S n allora a(n + 1) < n + 1 ed a0 := ta(n+1),n+1 ◦ a ∈ S n , perché a0 (n + 1) = ta(n+1),n+1 (a(n + 1)) = n + 1 e ta(n+1),n+1 ◦ a0 = a. Siano s = t j,n+1 ∈ S n+1 \S n e b ∈ S n un’altra coppia tale che s ◦ b = a, allora a0 ◦ b−1 = t ◦ t ◦ a0 ◦ b−1 ◦ s ◦ s = t ◦ a ◦ a−1 ◦ s = t ◦ s ∈ S n . Però ti,n+1 ◦ t j,n+1 ∈ S n è possibile solo se i = j. Allora s = t e, conseguentemente, b = a0 . Capitolo 3. Gruppi, monoidi e semigruppi 52 3.5.7 Corollario. S n è generato da trasposizioni, cioè a ∈ S n è l’identità e o può essere scritto come prodotto di trasposizioni a = t1 ◦ . . . ◦ tm . In particolare, secondo il Corollario 3.5.5, ogni permutazione è il prodotto di trasposizioni di vicini prossimi. D. L’affermazione è vera per n = 1. Adesso dobbiamo dimostrare che se l’ipotesi dell’affermazione è vera per un n ∈ N, è vera anche per n + 1. Ma questo è facile, perchè ogni a ∈ S n+1 o è elemento di S n (che secondo l’ipotesi è un prodotto di trasposizioni) o può essere scritto come t◦a0 dove t è una trasposizione e a0 ∈ S n (allora poiché a0 secondo l’ipotesi è un prodotto di trasposizioni lo è anche a). 3.5.8 Corollario. Ogni S n ha l’ordine #S n = n!. D. Ricordiamoci che n! è definito ricorsivamente come 0! = 1 e (n+1)! = (n+1)n! per ogni n ∈ N0 . Allora per ogni successione fn n∈N0 che soddisfa f0 = 1 e fn+1 = (n + 1) fn vale fn = n! per ogni n ∈ N0 . Lo stesso vale anche per ogni n ∈ N se verifichiamo solo f1 = 1! = 1 e fn+1 = (n + 1) fn . Osserviamo che #S 1 = 1 = 1!. Poi dobbiamo dimostrare che #S n+1 = (n + 1)#S n . Per ogni k = 1, . . . , n + 1 definiamo [k]∼f = {a ∈ S n+1 : a(n + 1) = k}. Osserviamo che [k]∼f sono tutte le classe di equivalenza rispetto alla relazione a∼b ⇐⇒ a(n + 1) = b(n + 1) indotta dalla funzione f : a 7→ a(n + 1) come f nell’esempio 2.4.5. Quindi, ogni k = 1, . . . , n + 1 corrisponde esattamente ad una classe (quella che contiene tutti gli a ∈ S n+1 con il valore f (a) = k di f ). Inoltre, {[k]∼f : k = 1, . . . , n + 1} è una partizione di S n+1 . Ne segue che #S n+1 = n+1 X #[k]∼f . k=1 Abbiamo finito se dimostriamo che #[k]∼f = #S n per ogni k perchè con questo vale #S n+1 = n+1 X #S n = (n + 1)#S n . k=1 In effetti, dal Lemma 3.5.6 segue che per ogni k gli elementi di S n parametrizzano uno ad uno gli elementi di [k]∼f . Il caso k = n + 1 corrisponde al caso a ∈ S n del Lemma. I casi k < n + 1 (n+1) corrispondono ai casi a = tk,n+1 ◦ a0 per un unico elemento a0 ∈ S n . 3.5. Esempio: Permutazioni e gruppi finiti 53 3.5.9 Nota. Il solito argomento funziona cosı̀: Si tratta del problema di distribuire n oggetti su n posti. Ci sono n posti fra i quali scegliere per il primo oggetto. Poi rimangono n − 1 posti fra i quali scegliere per il secondo oggetto. Continuando in questo modo, arriviamo ad n(n + 1) . . . 1 possibilità. Questo argomento è apparentemente molto più facile di quello precedente. Notiamo, però, che tutte le difficoltà sono nascoste nel problema di precisare in che senso una permutazione, cioè una funzione biettiva su un insieme, corrisponde esattamente a scegliere i posti dove mettere gli elementi, uno dopo l’altro. In effetti, determinare ti,n+1 (rispettivamente e se a ∈ S n ) del Lemma 3.5.6, corrisponde esattamente a fare la prima scelta fra n + 1 posti dove mettere l’(n+1)esimo oggetto. Le possibilità di scegliere a0 ∈ S n corrispondono alla distribuzione degli oggetti 1, . . . , n sugli n posti rimasti. 3.5.10 Definizione. Diciamo che una permutazione a ∈ S n è pari se a = e o se esiste un numero pari m di trasposizioni t1 , . . . , tm tali che a = t1 ◦ . . . ◦ tm . Altrimenti diciamo che a è dispari. 3.5.11 Teorema. Sia a ∈ S n una permutazione e siano t1 , . . . , tm (m ∈ N) tali che a = t1 ◦. . .◦tm . Allora se a è pari anche m è pari e se a è dispari anche m è dispari. La funzione sgn : S n → {−1, 1} definita come a pari 1 sgn(a) = −1 a dispari il segno di a, è un omomorfismo sul sottogruppo {−1, 1} di (Z∗ , ·). Diamo due dimostrazioni di questo teorema. Una molto elegante che usa concetti più avanzati ma richiede di avere già una certa pratica nell’applicare questi concetti astratti. (Lang [Lan90, Theorem 6.4].) Poi una dimostrazione un pò “violenta” ma elementare. (Il termine inglese che si usa spesso è dimostrazione “brute force”.) Questa invece richiede di abituarsi ad argomenti che appaiono nel calcolo combinatorio. P . Sia F l’insieme di tutte le funzioni f : Rn → R, (x1 , . . . , xn ) 7→ f (x1 , . . . , xn ). Per ogni a ∈ S n e f ∈ F definiamo la funzione a f ∈ F secondo (a f )(x1 , . . . , xn ) = f (xa(1) , . . . , xa(n) ). (Quindi ogni a ∈ S n agisce come funzione ϕ(a) su F come ϕ(a) : f 7→ a f .) Verifichiamo che a(b f ) = (ab) f per ogni a, b ∈ S n e f ∈ F. (Questo significa che la funzione ϕ : a 7→ ϕ(a) è un omomorfismo S n → Fbi (F).) Poniamo (y1 , . . . , yn ) = (xa(1) , . . . , xa(n) ) cioè yk = xa(k) (k = 1, . . . , n). Allora a(b f ) (x1 , . . . , xn ) = (b f )(xa(1) , . . . , xa(n) ) = (b f )(y1 , . . . , yn ) = f (yb(1) , . . . , yb(n) ) = f (xa(b(1)) , . . . , xa(b(n)) ) = (ab) f (x1 , . . . , xn ). Capitolo 3. Gruppi, monoidi e semigruppi 54 Osserviamo anche che per ogni λ ∈ R abbiamo a(λ f ) = λ(a f ) dove λ f è la funzione (λ f )(x1 , . . . , xn ) = λ f (x1 , . . . , xn ). Definiamo allora ∆ ∈ F come ∆(x1 , . . . , xn ) = Y (x j − xi ). 1≤i< j≤n (Il prodotto è su tutte le coppie i < j; i, j ∈ {1, . . . , n}.) Osserviamo che |a∆(x1 , . . . , xn )| = |∆(xa(1) , . . . , xa(n) )| = |∆(x1 , . . . , xn )| . Quindi, una qualsiasi permutazione a ∈ S n applicata a ∆ non può far di più che cambiare il segno di ∆. Inoltre, questo segno dipende esclusivamente dalla permutazione a, non dagli argomenti x1 , . . . , xn . (Variando uno degli xi cosicché uno dei fattori x j − xi di ∆(x1 , . . . , xn ) cambi segno, lo farà anche il fattore corrispondente xa(k) − xa(`) (k = a−1 (i), ` = a−1 ( j)) in (a∆)(x1 , . . . , xn ). Non disturbiamoci a porre questo argomento quasi rigoroso in forma ancora più rigorosa.) Quindi per ogni permutazione a ∈ S n c’è un unico sgn(a) ∈ {−1, 1} tale che a∆ = sgn(a)∆. Da sgn(ab)∆ = (ab)∆ = a(b∆) = a(sgn(b)∆) = sgn(b)a∆ = sgn(a) sgn(b)∆ (e dal fatto che ∆ , 0) segue che sgn(ab) = sgn(a) sgn(b), cioè sgn : S n → {−1, 1} ⊂ R è un omomorfismo. Abbiamo finito se dimostriamo che sgn t = −1 per ogni trasposizione t. (Perché ogni fattore in una decomposizione di una permutazione arbitraria a in un prodotto di trasposizioni contribuisce un fattore −1 al segno sgn(a) di a e sgn(a) non dipende da questa decomposizione.) Prima osserviamo che l’unico fattore di ∆(x1 , . . . , xn ) che cambia segno quando applichiamo ti,i+1 è proprio il fattore xi+1 − xi . Allora sgn(ti,i+1 ) = −1. Per il Corollario 3.5.5 una trasposizione arbitraria t è il prodotto di un numero dispari 2k + 1 di trasposizioni del tipo ti,i+1 . Quindi sgn(t) = (−1)2k+1 = −1. 3.5.12 Nota. La definizione dell’omomorfismo ϕ da S n nello spazio F di funzioni Rn → R ha senso anche per funzioni X n → Y (X e Y insiemi arbitrari). L’azione del gruppo simmetrico su un sistema fisico composto da n particelle è fondamentale per comprendere che fermioni (come gli elettroni) e bosoni (come i fotoni, cioè le particelle delle quali è composta la luce) si comportano cosı̀ diversamente proprio a causa di come si comportano sotto trasposizioni (scambio di due particelle). S . Dimostriamo la prima affermazione con induzione su n ≥ 2 (mentre per n = 1 non c’è una trasposizione e, quindi, non c’è nulla da dimostrare). Osserviamo che l’affermazione equivale alla sequente: Siano t1 , . . . , tm trasposizioni in S n . Allora t1 ◦ . . . ◦ tm = e =⇒ m è pari. S 2 = {e, t} con una sola trasposizione t. Vale t2m = e e t2m+1 = t. Allora tm = e se e solo se m è pari. Supponiamo poi, come ipostesi, che valga l’affermazione per un n ≥ 2 e dobbiamo concludere che valga anche per n + 1. Siano, allora, t1 , . . . , tm trasposizioni in S n+1 tali che t1 ◦ . . . ◦ tm = e. Se non ci sono fattori in S n+1 \S n allora tutti i t1 , . . . , tm sono in S n e 3.6. Quozienti (semigruppi) 55 secondo l’ipotesi m è pari. Altrimenti ci sono fattori del tipo ti,n+1 (i < n + 1). Ricordandoci delle relazioni della (3.5.2), il nostro primo scopo consiste nel trasformare, senza cambiare né il valore e né il numero di fattori, il prodotto t1 ◦ . . . ◦ tm in una forma dove tutte le trasposizioni del tipo ti,n+1 (i < n + 1) sono raccolte a destra mentre tutte le trasposizioni in S n (cioè del tipo ti, j (i, j < n + 1)) sono raccolte a sinistra. Se tutti i quattro indici di ti,n+1 ◦ t j,k sono diversi, allora possiamo semplicemente scambiare l’ordine. Per un prodotto del tipo ti,n+1 ◦ ti, j usiamo, invece, il meccanismo ti,n+1 ◦ ti, j = ti, j ◦ ti, j ◦ ti,n+1 ◦ ti, j = ti, j ◦ t j,n+1 . Poi c’è un certo numero di fattori in S n (quindi, anche il loro prodotto è in S n ) sulla sinistra e almeno un fattore del tipo ti,n+1 . In effetti, non può essere un solo fattore (perchè b ∈ S n , b ◦ t = e ∈ S n allora t = b−1 ∈ S n ), allora ci sono almeno due fattori ti,n+1 e t j,n+1 . Se i = j allora ti,n+1 ◦ t j,n+1 = e e i due fattori spariscono, diminuendo il numero di fattori senza, però, cambiare parità. (m pari ⇐⇒ m − 2 pari.) Se i , j, allora ti,n+1 ◦ t j,n+1 = ti,n+1 ◦ t j,n+1 ◦ ti,n+1 ◦ ti,n+1 = ti, j ◦ ti,n+1 . Quindi il numero di fattori del tipo ti,n+1 è diminuito. Continuiamo cosı̀ finché non raggiungiamo il numero 2 di fattori del tipo ti,n+1 . Come prima, il prodotto di questi due fattori deve essere un elemento di S n . Come nella dimostrazione del Lemma 3.5.6 i fattori devono essere uguali e, quindi, si cancellano. Alla fine rimaniamo con un prodotto di soli elementi di S n che deve avere un numero pari di fattori secondo l’ipotesi. Dopo questa prima parte molto difficile possiamo benissimo lasciare il resto della dimostrazione come esercizio. 3.6 Quozienti (semigruppi) Costruire il quoziente di un (semi)gruppo rispetto ad una partizione indotta da una relazione di equivalenza (come sappiamo, queste sono proprio tutte le partizioni) serve a tanti scopi: La costruzione di gruppi o semigruppi, trasformare omomorfismi in omomorfismi iniettivi (s.v. gli Esempi 1.2.12 e 2.4.5). Uno degli scopi più importanti del riconoscimento di un (semi)gruppo come quoziente di un altro (semi)gruppo rispetto ad una relazione di equivalenza è la verifica che l’operazione del (semigruppo) sia ben definita. Il modo sistematico di farlo consiste in controllare se la relazione sia compatibile con l’operazione. 3.6.1 Definizione. Una relazione di equivalenza ∼ su un semigruppo (G, ∗) è compatibile con l’operazione del semigruppo, se a ∼ b, c ∼ d =⇒ a ∗ c ∼ b ∗ d (a, b, c, d ∈ G). 3.6.2 Esempio. Sia ϕ : G → G0 un omomorfismo di semigruppi (G, ∗) e (G0 , ∗0 ). Sia a ∼ b ⇐⇒ ϕ ϕ(a) = ϕ(b) la relazione di equivalenza indotta da ϕ. Allora ϕ ϕ a ∼ b, c ∼ d =⇒ =⇒ ϕ(a) = ϕ(b), ϕ(c) = ϕ(d) ϕ(a ∗ c) = ϕ(a) ∗0 ϕ(c) = ϕ(b) ∗0 ϕ(d) = ϕ(b ∗ d) =⇒ ϕ a ∗ c ∼ b ∗ d. Capitolo 3. Gruppi, monoidi e semigruppi 56 ϕ Quindi ∼ è una relazione compatibile. Osserviamo che nell’esempio precedente possiamo definire un’operazione ∗∼ϕ sull’insieme quoziente G/∼ϕ secondo [a]∼ϕ ∗∼ϕ [b]∼ϕ := [a ∗ b]∼ϕ . (3.6.1) Per verificare che questa definizione abbia senso, occorre e basta notare che il valore sulla destra assegnato al prodotto non dipende dalle scelte dei rappresentanti a e b delle classi di equivalenza [a]∼ϕ e [b]∼ϕ . Un modo più rigoroso sarebbe il seguente: Definiamo il sottoinsieme o n G := [a]∼ϕ , [b]∼ϕ , [a ∗ b]∼ϕ : a, b ∈ G ⊂ G/∼ϕ × G/∼ϕ × G/∼ϕ di G/∼ϕ × G/∼ϕ × G/∼ϕ = (G/∼ϕ × G/∼ϕ ) × G/∼ϕ e verifichiamo che si tratti di un grafo che poi definisce una funzione ∗∼ϕ : G/∼ϕ × G/∼ϕ → G/∼ϕ . Dall’associatività di ∗ segue anche quella di ∗∼ϕ . Nel seguito scriviamo [a] invece di [a]∼ per le classe di equivalenza e lo stesso ∗ per l’operazione ∗∼ su un quoziente. Vediamo subito che la costruzione precedente funziona per una relazione compatibile arbitraria. 3.6.3 Teorema. Sia (G, ∗) un semigruppo e ∼ una relazione di equivalenza compatibile. Allora la formula [a] ∗ [b] = [a ∗ b] definisce un’operazione ∗ su G/∼ con la quale G/∼ diventa un semigruppo. Se G è un monoide lo è anche G/∼ (identità [e]) e se G è un gruppo lo è anche G/∼ ([a−1 ] l’inverso di [a]). Se G è abeliano lo è anche G/∼ . Diciamo che (G/∼ , ∗) è il semigruppo (monoide, guppo) quoziente di (G, ∗) modulo ∼. D. Cerchiamo di assegnare a due classi di equivalenza [a] e [b] il prodotto [a ∗ b]. Dobbiamo, quindi, verificare che [a ∗ b] non dipende dalla scelta dei rappresentanti A e b. Siano, allora, a0 ∼ a e b0 ∼ b altri rappresentanti di [a] e [b]. Ne segue per la definizione di compatibilità che a0 ∗ b0 ∼ a ∗ b e, quindi, [a0 ∗ b0 ] = [a ∗ b]. Le altre proprietá da verificare (associatività, identitità per monoidi, inverso per gruppi, abelianità) le lasciamo come esercizio. 3.6.4 Osservazione. La funzione a 7→ [a] è un omomorfismo surgettivo che chiamiamo l’omomorfismo canonico (o la surgezione canonica). Quindi ogni relazione di equivalenza compatiϕ bile ∼ si può considerare indotta come ∼ dal suo omomorfismo canonico ϕ. 3.6. Quozienti (semigruppi) 57 3.6.5 Esercizio. Nell’Esercizio 2.3.7 abbiamo visto che per ogni m ∈ N la relazione ≡m su Z (a ≡m b ⇔ m|(a − b); s.v. l’Esercizio 2.2.6) è una equivalenza. Dimostrare che: 1. ≡m è compatibile sia con l’addizione su Z sia con la moltiplicazione su Z. 2. Il quoziente (Z/≡m , +) è isomorfo al gruppo Zm che abbiamo discusso nell’Esempio 3.2.5. (Suggerimento: Per la direzione opposta Zm → Z/≡m quale potrebbe essere l’isomorfismo?) 3. (∗∗) Il monoide (Z≡m , ·) è un gruppo se e solo se m è un numero primo. (Si tratta di un’applicazione del teorema cinese del resto sulle congruenze.) 4. Le due operazioni + e · soddisfano la legge distributiva a(b + c) = ab + ac. (Questo idenitificherà Z/≡m come anello commutativo con identità (m ≥ 2) e come campo se m è un numero primo.) Prima di discutere come applicazione la costruzione dei numeri interi e razionali, dimostriamo il teorema fondamentale di omomorfismo. 3.6.6 Teorema. Sia ϕ : G → G0 un omomorfismo di semigruppi (di monoidi, di gruppi). Allora ϕ(G) G/∼ϕ come semigruppo (come monoide, come gruppo). D. Passando da ϕ : G → G0 a ϕ∼ϕ : G/∼ϕ → G0 , ϕ∼ϕ ([a]) := ϕ(a) ci fornisce una funzione ϕ∼ϕ ben definita e iniettiva (s.v. l’Esempio 2.4.5). Chiaramente, la funzione ϕ∼ϕ |ϕ(G) è surgettiva, quindi biettiva (s.v. Esempio 1.2.12). Tutto il resto segue dal Teorema 3.6.3, dall’Osservazione 3.6.4 e dalla Proposizione 3.4.17. Tutti noi conosciamo l’introduzione dei numeri razionali Q come frazioni mn (n ∈ Z, m ∈ N) con le note regole di calcolo. Il desiderio di costruire frazioni è nato dal desiderio di avere un inverso per la moltiplicazione in N. Per evitare problemi con lo zero e con i numeri negativi ci limitiamo prima a considerare solo frazioni mn (n, m ∈ N) in Q∗+ . Due frazioni mn e qp si moltiplicano secondo la regola n p np = . m q mq Considerando coppie (n, m) invece di frazioni possiamo benissimo definire corripondentemente (n, m)(p, q) := (np, mq). Più generalmente: Capitolo 3. Gruppi, monoidi e semigruppi 58 3.6.7 Definizione. Siano (G1 , ∗1 ) e (G2 , ∗2 ) semigruppi. Il loro prodotto diretto è (G1 × G2 , ∗) con l’operazione (a1 , a2 ) ∗ (b1 , b2 ) := (a1 ∗1 b1 , a2 ∗2 b2 ). G1 × G2 è un monoide (un gruppo) se e solo se tutti e due G1 e G2 sono monoidi (gruppi). Il prodotto diretto su una famiglia di semigruppi è definito analogamente. Il prodotto diretto N × N non coincide, però, con l’insieme delle frazioni. La differenza è che due frazioni mn e qp sono uguali se esiste un numero k ∈ N tale che n = kp, m = kq. Una versione più simmetrica che non coinvolge il numero k, la otteniamo moltiplicando l’uguaglianza mn = qp con mq: n p = m q ⇐⇒ nq = pm. Alla fine vediamo allora che le frazioni sono rappresentanti delle classi di equivalenza di coppie (n, m) ∈ N × N dove (n, m) ∼ (p, q) ⇐⇒ nq = pm. (3.6.2) Il fatto che questa equivalenza su N × N è compatibile con la moltiplicazione (n, m)(p, q) = (np, mq), ci garantisce che il nostro modo di identificare frazioni e calcolare i loro prodotti è valido. Osserviamo che il gruppo N × N/∼ contiene i numeri naturali come [(n, 1)] = n1 . Ci chiediamo se il modo di procedere precedente può funzionare anche per altri semigruppi. La risposta è affermativa se prendiamo in considerazione due altre proprietà del semigruppo (N, ·). La prima: N è abeliano. La seconda: nk = mk ⇒ n = m, cioè N è cancellativo. 3.6.8 Teorema. Sia (G, ∗) un semigruppo abeliano e cancellativo. Allora la relazione ∼ definita sul prodotto diretto G × G come (a, b) ∼ (c, d) ⇐⇒ a∗d = c∗b è un’equivalenza compatibile con l’operazione di G × G e il semigruppo quoziente GG := G ×G/∼ di G modulo ∼, in effetti, è un gruppo. L’identità è [(a, a)], l’inverso di un elemento [(a, b)] è [(b, a)] e [(a ∗ b, b)] : a, b ∈ G è un sottosemigruppo isomorfo a G. Chiamiamo GG il gruppo inviluppante di Grothendieckgruppo!inviluppante di Grothendieck di un semigruppo abeliano cancellativo di G. D. Sia (a, b) ∼ (a0 , b0 ) e (c, d) ∼ (c0 , d0 ). Allora a ∗ b0 = a0 ∗ b e c ∗ d0 = c0 ∗ d. Ne segue che a ∗ c ∗ b0 ∗ d0 = a ∗ b0 ∗ c ∗ d0 = a0 ∗ b ∗ c0 ∗ d = b ∗ d ∗ a0 ∗ c0 Quindi, (a, b) ∗ (c, d) = (a ∗ c, b ∗ d) ∼ (a0 ∗ c0 , b0 ∗ d0 ) = (a0 , c0 ) ∗ (b0 , d0 ) e ∼ è compatibile. (Notiamo che senza abelianità non c’è speranza di salvare questo calcolo.) 3.7. Quozienti (gruppi) 59 Siano a, b, c ∈ G. Allora (a, a) ∗ (b, c) = (a ∗ b, a ∗ c) è chiaramente equivalente a (b, c). Quindi qualunque sia a ∈ G l’elemento [(a, a)] ∈ GG è un’identità di GG (e per questo è unico, cioè non dipende da a). Inoltre (b, c) ∗ (c, b) = (b ∗ c, c ∗ b) = (b ∗ c, b ∗ c) ∈ [(a, a)] cosicché [(c, b)] è l’inverso di [(b, c)]. Quindi GG è un gruppo. Osserviamo che fissato un a ∈ G, la classe [(a ∗ b, b)] non dipende da b ∈ G perché (a ∗ b) ∗ b0 = (a ∗ b0 ) ∗ b. Quindi la funzione ϕ : a 7→ [(a ∗ b, b)] è ben definita. Osserviamo anche che (a1 ∗ b, b) ∗ (a2 ∗ b, b) = (a1 ∗ a2 ∗ b ∗ b, b ∗ b) ∼ (a1 ∗ a2 ∗ b, b), cioè ϕ è un omomorfismo. (Finora non abbiamo usato la cancellatività. Ciò significa che la costruzione di un gruppo GG con un omomorfismo ϕ : G → GG funziona per un qualsiasi semigruppo abeliano.) Rimane da dimostrare che l’omomorfismo ϕ sia iniettivo. Supponiamo quindi che [(a1 ∗ b, b)] = [(a2 ∗ b, b)]. Per il Teorema 2.4.4 questo implica che (a1 ∗ b, b) ∼ (a2 ∗ b, b), cioè a1 ∗ b ∗ b = a2 ∗ b ∗ b. Per la cancellatività ne segue che a1 = a2 . Quindi ϕ è biettivo. 3.6.9 Esempio. Per costruire i razionali occore prima Q∗+ = NG come gruppo inviluppante di (N, ·) come sopra. Poi osserviamo che l’addizione (n, m) + (p, q) := (nq + pm, mq) è compatibile con l’equivalenza (3.6.2). (Attenzione: Non ha niente a che fare con l’addizione del prodotto diretto di due fattori (N, +).) Questa addizione trasforma (Q∗+ , +) in un semigruppo abeliano e cancellativo. (Attenzione: L’associatività vale solo modulo ∼ ma non vale per le coppie (n, m).) Poi passiamo al gruppo inviluppante di (Q∗+ , +)‘e otteniamo (Q, +). Nuovamente occorre verificare che l’altra operazione (in questo caso ·) sopravviva il quoziente. Anche (Z, +) può essere interpretato come gruppo inviluppante per (N, +). Assicurandoci dell’esistenza della moltipliczione · su Z, possiamo sciogliere lo zero e otteniamo (Q∗ , ·) come gruppo inviluppante di (Z∗ , ·) e poi aumentare Q∗ nuovamente con 0. Questo ordine è più facile da seguire perché la parte più fastidiosa (verificare l’esistenza dell’addizione su Q) viene alla fine. Comunque anche l’inserzione dello zero “a mano” crea fastidio. 3.7 Quozienti (gruppi) Una volta data un’equivalenza compatibile su un semigruppo possiamo costruire il quoziente come nella sezione precedente. Il problema consiste nel trovare possibili equivalenze. Per i gruppi c’è un modo molto efficace di individuare tutte le equivalenze compatibili, che studiamo in questa sezione. A partire da questa sezione, se non indichiamo altro, scriveremo tutti i gruppi moltiplicativi. 3.7.1 Definizione. Sia X un sottoinsieme di un semigruppo G. Per a ∈ G denotiamo aX = {ax : x ∈ X} Xa = {xa : x ∈ X}. Capitolo 3. Gruppi, monoidi e semigruppi 60 Se H è un sottogruppo di un gruppo G, chiamiamo aH e Ha la classe laterale a sinistra e la classe laterale a destra di a. Sia ϕ : G → G0 un omomorfismo di gruppi. (La natura di G0 è di interesse secondario. Possiamo assumere che G0 = G/∼ϕ cosicché ϕ è surgettivo.) Secondo il Corollario 3.4.12 a ϕ è associato in modo naturale un sottogruppo H di G, il nucleo ker ϕ = {a ∈ G : ϕ(a) = e0 }. Studiamo la relazione di H = ker ϕ con le classi di equivalenza [a] = {b ∈ G : ϕ(b) = ϕ(a)} indotte da ϕ. 3.7.2 Lemma. Fissiamo a ∈ G. Per ogni b ∈ G vale b ∈ [a] ⇐⇒ ∃c ∈ H : ac = b ⇐⇒ ∃c ∈ H : ca = b. D. Dimostriamo l’equivalenza delle prime due proprietà. L’equivalenza della prima con la terza (e, quindi, di tutte e tre) si dimostra analogamente. Se b ∈ [a] allora vale ϕ(b) = ϕ(a) oppure ϕ(a−1 b) = ϕ(a)−1 ϕ(b) = e0 . Quindi, c = a−1 b è in H e ac = b. Se esiste c ∈ H tale che ac = b, allora ϕ(b) = ϕ(ac) = ϕ(a)ϕ(c) = ϕ(a)e0 = ϕ(a). Quindi, b ∈ [a]. 3.7.3 Corollario. [a] = aH = Ha. 3.7.4 Definizione. Un sottogruppo H di un gruppo G si chiama sottogruppo normale se aH = Ha per ogni a ∈ G. In questo caso non serve più la distinzione fra classi laterali a sinistra e a destra. Vediamo, quindi, che il nucleo ker ϕ di un omomorfismo ϕ è un sottogruppo normale e che gli elementi del gruppo quoziente G/∼ϕ indotto da ϕ, sono esattamente tutte le classi laterali aH = Ha (a ∈ G) e il prodotto nella (3.6.1), in termini di classi laterali, si legge (aH)(bH) = (ab)H. (3.7.1) Adesso vogliamo dimostrare l’affermazione opposta, cioè ogni sottogruppo normale H è il nucleo di un omomorfismo ϕ (e determina in tal modo un gruppo ϕ(G) unico a meno di isomorfismo). Osserviamo che basta dimostrare che per un sottogruppo normale H l’insieme G/H = {aH : a ∈ G} di tutte le classi laterali è una partizione di G. Se questo è vero, occorre solo chiarire che (a0 b0 )H non dipende dalla scelta dei rappresentanti a0 ∈ aH, b0 ∈ bH. In effetti, poiché G/H è una partizione, abbiamo che a0 H = aH e b0 H = bH. Allora (a0 b0 )H = a0 (b0 H) = a0 (bH) = a0 (Hb) = (a0 H)b = (aH)b = a(Hb) = a(bH) = (ab)H. 3.7. Quozienti (gruppi) 61 Quindi con la (3.7.1) definiamo un’operazione su G/H. È facile da vedere che G/H con questa operazione è un gruppo con l’identità eH = H e con l’inverso a−1 H per ogni aH. (Esercizio!) L’omomorfismo canonico ϕ : G → G/H ha il nucleo ker ϕ = H. 3.7.5 Esercizio. (∗) Dimostrare che: Se ϕ0 : G → G0 è un altro omomorfismo con ker ϕ = H, allora per ogni a0 ∈ ϕ0 (G) la controimmagine ϕ0−1 ({a0 }) è un elemento di G/H (cioè esiste un a ∈ G tale che ϕ0−1 ({a0 }) = [a]) e a0 7→ ϕ0−1 ({a0 }) è un isomorfismo ϕ0 (G) → G/H. Il fatto che le classi laterali (a sinistra o a destra) formano una partizione vale per sottgruppi arbitrari (non solo per quelli normali). 3.7.6 Proposizione. Sia H un sottogruppo di un gruppo G. Allora {aH : a ∈ G} è una partizione di G. D. Ricordiamoci che secondo il Lemma 3.4.2 per ogni a ∈ G la funzione sa : b 7→ ab è una biezione G → G. Quindi la restrizione su H fornisce una biezione sa |aH H : H → aH. In particolare se b ∈ H, allora sb |HH è una biezione H → H. Se a0 ∈ aH, allora esiste un unico b ∈ H con ab = sa b = a0 . Quindi, a0 H = sa0 (H) = sab (H) = sa (sb (H)) = sa (H) = aH. Ciò significa (come nella dimostrazione del Teorema 2.4.4) che due classi aH e a0 H sono o uguali o disgiunte. Poiché anche a ∈ aH, l’unione di tutte le aH è G. La biettività di sa |aH H ha un’altra famosa conseguenza (il teorema di Laplace sulla cardinalità di sottogruppi dei gruppi finiti). 3.7.7 Corollario. Tutte le classi laterali a sinistra sono equipotenti. In particolare, se G è un gruppo finito, l’ordine #H di ogni sottogruppo H divide l’ordine #G di G. Torniamo ai sottogruppi normali. Il seguente corollario riassume la discussione che precede la Proposizione 3.7.6. 3.7.8 Corollario. Se H è un sottogruppo normale di un gruppo G, allora l’insieme G/H di tutte le classi laterali diventa un gruppo con prodotto definito nella (3.7.1). Diciamo che G/H è il gruppo quoziente di G e H. Adesso raccogliamo qualche criterio per la normalità. Il primo è ovvio dalla definizione. 3.7.9 Proposizione. Ogni sottogruppo di un gruppo abeliano è normale. Capitolo 3. Gruppi, monoidi e semigruppi 62 3.7.10 Proposizione. Un sottogruppo H di un gruppo G è normale se e solo se aHa−1 = H per ogni a ∈ G. D. (S.v. la dimostrazione della Proposizione 3.7.6.) Valga aHa−1 = H. Allora Ha = aHa−1 a = aH. Sia H normale. Allora aHa−1 = Haa−1 = H. 3.7.11 Nota. Sia ben chiaro che aHa−1 = H non significa aba−1 = b per ogni b ∈ H, ma solo aba−1 ∈ H. 3.7.12 Esempio. Sia H = {e, t1,2 } il sottogruppo di S 3 generato da t1,2 . Da t2,3 t1,2 t2,3 = t1,3 < H segue che H non è normale. 3.7.13 Corollario. L’intersezione H = H1 ∩ H2 di due sottogruppi normali è normale. (Più in generale, l’intersezione di una famiglia arbitraria di sottogruppi normali è normale.) D. Per dimostrare la normalità di H, basta dimostrare che per ogni b ∈ H vale aba−1 ∈ H per ogni a ∈ G. (L’inclusione inversa segue scegliendo a−1 invece di a.) Sia b ∈ H, cioè b ∈ Hi per ogni i. Allora per ogni a ∈ G vale aba−1 ∈ Hi per ogni i, quindi aba−1 ∈ H. Da questo segue, come per i monoidi, che per un sottoinsieme X ⊂ G esiste un sottogruppo normale più piccolo H che contiene X, il sottogruppo normale generato da X. Questo permette di generare tanti gruppi come quozienti semplicemente dando un sottoinsieme X (sperando che il sottogruppo normale generato da X non sia l’intero G). Capitolo 4 Cenni sugli anelli e campi Finora abbiamo considerato gruppi o almeno semigruppi, cioè un insieme dotato di un’operazione · che è associativa. (Esistono operazioni abbastanza naturali che non sono associative. Per esempio, l’operazione (A, B) 7→ [A, B] := AB − BA sulle matrici 2 × 2, trasformandole in una struttura che si chiama algebra di Lie, non è associativa.) Un campo è un insieme dotato di due operazioni + e · che soddisfano regole come i numeri razionali o reali. (Più tardi discuteremo anche sui numeri complessi.) Un anello è una generalizzazione del campo. La teoria degli anelli ed, in particolare, dei campi e le sue applicazioni alla teoria dei numeri si può considerare il cuore dell’algebra astratta. Non abbiamo nemmeno a disposizione il tempo necessario per approfondire questo aspetto. Ci limitiamo a discutere solo questi risultati che ci servono per il capitolo sugli spazi vettoriali (i campi R e C e qualche proprietà elementare sugli anelli di polinomi). Contro la nostra solita abitudine di procedere dalla struttura più generale (anello) alla struttura più specifica (campo), adesso iniziamo con la discussione dei campi. 4.1 Campi Invece di dare una lista di tutti gli assiomi che pretendiamo du un insieme per essere un campi (o un anelli), decidiamo di usare il più possibile notazioni già introdotte, cioè gruppi (e semigruppi). Oltre ad essere più facilmente memorizzabile, la definizione tramite notazioni già investigate ha il vantaggio che tutti i risultati già derivati valgono subito per le nuove strutture. Ricordiamoci che (Q, +) e (Q∗ , ·) sono tutti e due gruppi abeliani. L’unica regola di calcolo, che non può essere espressa o esclusivamente in termini di solo + o esclusivamente in termini di solo ·, è la legge distributiva x(y + z) = xy + xz che coinvolge tutte e due le operazioni. 63 Capitolo 4. Cenni sugli anelli e campi 64 4.1.1 Definizione. Un campo è una terna (K, +, ·) di un insieme K e due operazioni + e ·, tale che: 1. (K, +) è un gruppo abeliano (con l’identità 0). 2. (K∗ , ·), dove K∗ := K\{0}, è un gruppo abeliano (con l’identità 1). 3. Vale la legge distributiva x(y + z) = xy + xz per ogni x, y, z ∈ K. 4.1.2 Nota. Per tutte le strutture coinvolgendo operazioni + e · stiamo usando la solita convenzione che l’operazione · è più vincolante che l’operazione +. Per esempio, x + yz = x + (yz) mentre xy + z = (xy) + z. Quindi, le parentesi in (x + y)z non possono essere omesse. Le lettere solite per gli elementi di un campo sono le ultime dell’alfabeto. Però se il campo fa parte della struttura più generale di uno spazio vettoriale, spesso useremo anche lettere dell’alfabeto greco λ, µ, ν, . . . . Oltre delle proprietà, che seguono dal fatto che (K, +) e (K∗ , ·) sono gruppi (per esempio, come l’unicità delle identità e degli inversi, o la biettività delle funzioni x 7→ y + x e x 7→ yx), ci interessiamo delle proprietà supplementari. 4.1.3 Proposizione. 1. 0x = 0 per ogni x ∈ K. 2. xy = 0 ⇐⇒ x = 0 ∨ y = 0. 3. (K, ·) è un monoide. (In particolare, 1x = x per ogni x ∈ K.) 4. Per ogni y ∈ K∗ la funzione x 7→ yx è una biezione su K che lascia invariato 0. 5. (−1)x = −x per ogni x ∈ K. 6. (−x)y = (−1)xy = x(−y) per ogni x, y ∈ K. D. Esercizio! (Suggerimenti: 1. Aggiungere l’equazione 0x = 0x. 2. Concludere che ⇐ e ¬ ⇐ ¬. Ricordarsi che K∗ è un gruppo! 3. Chiarire prima attentamente le affermazioni che devono essere controllate. 4. Usare 2. 5. Aggiungere l’equazione 1x = x. 6. Usare la precedente.) Denotiamo con nx la n–esima potenza dell’elemento x del gruppo additivo (K, +) e con xn la n–esima potenza dell’elemento x del semigruppo moltiplicativo (K, ·). 4.2. Anelli 65 4.1.4 Esempio. (R, +, ·) è un campo e (Q, +, ·) è un sottocampo di R. (Esercizio: Inventare la definizione giusta di sottocampo.) Osserviamo che la notazione nx è compatibile con l’identificazione di N0 come sottoinsieme di Q ⊂ R, cioè nx = x + . . . + x (n volte) come multiplo di x è uguale a nx = n · x come prodotto di elementi di Q ⊂ R. Se p ≥ 2 è un numero primo, Z p (s.v. gli Esempi 3.2.5 e 3.6.5) è un campo. (Come tutti gli altri assiomi, anche la distributività su Z p segue da quella su Z.) 4.1.5 Nota. Poniamo l’accento sul fatto che un campo ha almeno i due elementi 0 e 1, dove 1 , 0 perché 0 < K∗ 3 1. Osserviamo che secondo l’esempio precedente Z2 è un campo con due elementi. Chiaramente esiste un solo campo con due elementi, perchè esiste un solo gruppo con due elementi (quello per +), un solo gruppo con un elemento (quello per ·) ed i prodotti con lo zero sono fissati dalla Proposizione 4.1.3(1). 4.1.6 Esercizio. Una funzione ϕ : K → L è un omomorfismo di campi, se è un omomorfismo di gruppi (K, +) → (L, +) e un omomorfismo di gruppi (K∗ , ·) → (L∗ , ·). Dimostrare che ϕ(0) = 0 4.2 ϕ(1) = 1. Anelli Un anello è quasi la stessa cosa di un campo eccetto che la · è solo l’operazione di un semigruppo e questo semigruppo non deve essere necessariamente abeliano. Per questo occorrono anche due leggi distributive. 4.2.1 Definizione. Un anello è una terna (R, +, ·) di un insieme R e due operazioni + e ·, tale che: 1. (R, +) è un gruppo abeliano (con l’identità 0). 2. (R, ·) è un semigruppo. 3. Valgono le leggi distributive r(p + q) = rp + rq (p + q)r = pr + qr per ogni p, q, r ∈ R. Se (R, ·) è abeliano, l’anello R si dice commutativo. Se (R, ·) è un monoide con l’identità 1 , 0, diciamo che R è un anello unitario o un anello con identità. (Altre notazioni per l’identità sono 1, 1R o 1R .) Capitolo 4. Cenni sugli anelli e campi 66 4.2.2 Esercizio. Anche un anello unitario ha almeno due elementi diversi 0 e 1. 1. Dimostrare che Un anello unitario con due elementi è un campo. 2. Esiste un anello con due elementi che non è un campo? 4.2.3 Esercizio. Verificare che M2 e M3 sono anelli ma non campi. Rn con la moltiplicazione (x1 , . . . , xn )(y1 , . . . , yn ) = (x1 y1 , . . . , xn yn ) è un anello commutativo unitario. Quali sono gli elementi invertibili? Per quali n ∈ N è un campo? 4.2.4 Esercizio. Dimostrare che la Proposizione 4.1.3(1) vale anche per gli anelli. Le Proposizioni 4.1.3(3), (5) e (6) valgono per gli anelli unitari. Le Proposizioni 4.1.3(2) e (4) non valgono per tutti gli anelli unitari. La proprietà enunciata nella Proposizione 4.1.3(2) (mancanza di divisori dello zero) è cosı̀ importante, che gli anelli commutativi unitari con questa proprietà guadagnano un nome proprio. 4.2.5 Definizione. Un dominio di integrità è un anello commutativo unitario privo di divisori dello zero, cioè pq = 0 se e solo se p = 0 oppure q = 0. 4.2.6 Esempio. Ogni campo è un dominio di integrità. M2 e Rn (n ≥ 2) sono anelli ma non sono domini di integrità. Esempi tipici di anelli, che sono domini di integrità ma non sono campi, sono gli anelli di polinomi, che discutiamo nella Sezione 4.4. 4.2.7 Esempio. Per ogni insieme X , ∅ e per ogni anello R lo spazio F(X, R) = f : X → R di tutte le funzioni su X a valori in R è un anello con la somma f + g di f, g ∈ F(X, R) definita come ( f + g)(x) = f (x) + g(x) e con il prodotto f g definito come ( f g)(x) = f (x)g(x). Questo anello è commutativo se R è commutativo, è unitario se R è unitario ed è un dominio di integrità se e solo se #X = 1 e R è un dominio di integrità. Gli elementi di (x1 , . . . , xn ) ∈ Rn possono essere considerati come funzioni {1, . . . , n} → R, k 7→ xk . Quindi, con la notazione opportuna di isomorfismo di anelli, l’anello Rn è isomorfo all’anello F({1, . . . , n}, R). 4.2.8 Esercizio. Sia R un anello (con identità). Dimostrare che sia M2 (R) (matrici 2 × 2 a valori in R) e sia M3 (R) (matrici 3 × 3 a valori in R) con l’addizione e moltiplicazione definite come 4.3. La formula del binomio 67 nella Sezione 3.3 (attenzione agli ordini dei fattori nei prodotti di elementi di R) sono anelli (con identità). R2 (R3 ) è un sottoanello di M2 (di M3 ). 4.3 La formula del binomio La sezione presente tratta una formula per calcolare (x+y)n , una delle formule più importanti per calcoli di numeri o di elementi di anelli più generali. Il numero delle dimostrazioni diverse è alto quasi come il numero delle applicazioni. Il ruolo centrale è giocato dai cosiddetti coefficienti binomiali ! n n! = k k!(n − k)! (n ∈ N0 ; k = 0, . . . , n), dove n! è definito come nella dimostrazione del Corollario 3.5.8. Il significato dei coefficienti binomiali è combinatorio (numero di possibilità di scegliere k elementi fra n) e sfruttandolo si può dare una dimostrazione probabilistica (in un corso di probabilità) o un’altra usando più volte la legge distributiva per calcolare il prodotto (x + y)(x + y) . . . (x + y) (che però è sorprendentemente difficile da realizzare in modo formalmente corretto). Una dimostrazione con metodi analitici usa l’induzione come lo fa la dimostrazione che presentiamo noi. Il seguente lemma è la base per tutte le dimostrazioni induttive. ! ! ! n+1 n n 4.3.1 Lemma. = + (dove definiamo nk = 0 per k > n o k < 0). k k k−1 D. Il caso k = 0 dove k − 1 è negativo non crea problemi perché n0 = 1. Supponiamo allora che k ≥ 1. Basta di scrivere la parte destra secondo la definizione: ! ! n n n! n! n! k + = 1+ + = k k−1 k!(n − k)! (k − 1)!(n − k + 1)! k!(n − k)! n−k+1 ! n! (n + 1)! n+1 n+1 = = = . k k!(n − k)! n − k + 1 k!(n − k + 1)! 4.3.2 Teorema (formula del binomio). Sia R un anello commutativo con identità (cosichè r0 = 1 è un elemento di R). Allora ! n X n k n−k (r + s) = r s k k=0 n per ogni r, s ∈ R; n ∈ N0 . (4.3.1) Capitolo 4. Cenni sugli anelli e campi 68 D. Procediamo con induzione. Per n = 0 abbiamo ! ! 0 X 0 k 0−k 0 0 0 r s = r s = 1 · 1 · 1 = 1 = (r + s)0 . k 0 k=0 Valga adesso (4.3.1) per un certo n ∈ N0 . Dobbiamo dimostrare che (4.3.1) vale anche per n + 1. Secondo l’ipotesi vale (r + s) n+1 ! ! ! n n n X X n k n−k n k+1 n−k X n k n−k+1 = (r + s)(r + s) = (r + s) r s = r s + r s . k k k k=0 k=0 k=0 n Nell’ultimo passo abbiamo fatto uso della legge distributiva. Adesso sostituiamo l’indice k della prima somma con k − 1, cosicché la somma va adesso da 1 a n + 1: (r + s) n+1 = n+1 X k=1 ! ! n X n n k n−k+1 k n−k+1 r s + r s . k−1 k k=0 Poi prendiamo da parte il termine con k = n + 1 della prima somma ed il termine con k = 0 della seconda. Risulta che ! ! ! ! n n X n n+1 0 n 0 n+1 X n n k n−k+1 n+1 k n−k+1 (r + s) = r s + r s + r s + r s n 0 k−1 k k=1 k=1 ! !! n X n n k n−k+1 n+1 n+1 = r +s + + r s , k − 1 k k=1 dove nell’ultimo passo abbiamo nuovamente fatto uso della distributività. Secondo il lemma segue (r + s) n+1 = r n+1 +s n+1 ! ! n n+1 X X n + 1 k n−k+1 n + 1 k n−k+1 + r s = r s . k k k=1 k=0 4.3.3 Esercizio. Trovare il passo dove abbiamo usato la commutatività dell’anello. Trovare due matrici A, B ∈ M2 , tali che la (4.3.1) sia errata per n = 2. 4.4 Polinomi Classicamente un polinomio (a coefficienti in R) è una funzione R → R che ha la forma p : x 7−→ pn xn + . . . + p1 x + p0 . Somma e prodotto di due polinomi p e q definiti come (p + q)(x) = p(x) + q(x) e (pq)(x) = p(x)q(x) sono nuovamente polinomi. L’insieme di tutti questi polinomi con le due operazioni 4.4. Polinomi 69 + e · diventa cosı̀ un anello commutativo con identità (attualmente un dominio di integrità; s.v. il Corollario 4.4.4) e un sottoanello di F(R) (s.v. Esempio 4.2.7). In termini di coefficienti la somma ed il prodotto hanno la forma (p + q)k = pk + qk (pq)k = k X p` qk−` . (4.4.1) `=0 Per la consistenza di questa struttura non è necessario che i coefficienti siano scelti da un campo. Basta un anello con identità che però deve essere commutativo. (Perché?) Nell’algebra la definizione di polinomio, comunque motivata dalle considerazioni precedenti, è più astratta e si concentra sui coefficienti. 4.4.1 Definizione. Sia R un anello commutativo con identità. Un polinomio nell’indeterminata x a coefficienti in R è un’espressione del tipo n p = pn x + . . . + p1 x + p0 = n X pk xk (n ∈ N0 , pk ∈ R). k=0 L’insieme di tutti questi polinomi lo denotiamo con R[x]. Due elementi p = pn xn +. . .+ p1 x+ p0 e q = qm xm +. . .+q1 x +q0 sono uguali se pk = qk per ogni k ∈ Z dove applichiamo la convenzione che pk = 0 se k > n ∨ k < 0 e qk = 0 se k > m ∨ k < 0. Il grado d(p) di un polinomio p ∈ R[x], p , 0 è definito come l’unico numero n ∈ N0 , tale che pn , 0 e pk = 0 per ogni k > n. Su R[x] definiamo somma e prodotto secondo la (4.4.1). Si può verificare che R[x] è un anello, ma la verifica diretta è un esercizio non difficile ma fastidioso. (Facile: (R[x], +) è un gruppo abeliano. Anche la verifica della distributività è abbastanza ovvia. Solo l’associatività P del prodotto richiede un pò di esperienza di come trattare somme multiple.) Per ogni polinomio astratto p = pn xn + . . . + p1 x + p0 possiamo definire la sua valutazione p(r) := pn rn + . . . + p1 r + p0 per ogni r ∈ R. 4.4.2 Nota. Quindi ad ogni polinomio astratto p ∈ R[x] possiamo associare la funzione r 7→ p(r) che è un elemento dell’anello F(R). Osserviamo che somma e prodotto di due polinomi astratti p e q corrispondono esattamente a somma e prodotto delle funzioni r 7→ p(r) e r 7→ q(r) in F(R). (Questa è una descrizione verbale del fatto che la funzione p 7→ (r 7→ p(r)) è un omomorfismo di anelli.) Se sapessimo che la corrispondenza p ↔ (r 7→ p(r)) di polinomi astratti con polinomi dell’anello F(R) fosse biunivoca, allora il fatto che R[x] è un anello seguirebbe direttamente dal fatto che F(R) è un anello. Capitolo 4. Cenni sugli anelli e campi 70 4.4.3 Proposizione. I gradi dei polinomi soddisfano d(p + q) ≤ max(d(p), d(q)) e d(pq) ≤ d(p) + d(q). Soddisfano d(pq) = d(p) + d(q) per ogni p, q ∈ R[x], se e solo se R è un dominio di integrità. D. d(p + q) ≤ max(d(p), d(q)) è ovvio. (Esercizio!) Siano d(p) = n e d(q) = m. Quindi per ogni k > n + m (pq)k = k X p` qk−` = 0, `=0 perché o ` > n, quindi p` = 0 o ` ≤ n, quindi k − ` ≥ k − n > m, cioè qk−` = 0. Allora d(pq) ≤ n + k. Per k = n + m l’unico contributo alla somma viene dal termine ` = n. Allora (pq)n+m = pn qm dove pn , 0, qm , 0. Quindi (pq)n+m , 0 per ogni p, d(p) = n e q, d(q) = m, se e solo se R è un dominio di integrità. 4.4.4 Corollario. Se R è un dominio di integrità lo è anche R[x].. Adesso torniamo alla domanda fino a che punto la funzione r 7→ p(r) determini p ∈ R[x]. Particolarmente interessanti sono i punti r per i quali la valutazione risulta nello 0 in interazione con il grado dei polinomi. Anche se la maggior parte dei risultati vale solo per domini di integrità, notiamo che il Teorema di Ruffini 4.4.6 (o il teorema della fattorizzazione) vale per anelli commutativi con identità arbitrari. 4.4.5 Definizione. Sia p ∈ R[x] un polinomio. r ∈ R si chiama radice (o zero) di p, se p(r) = 0. 4.4.6 Teorema. Sia p ∈ R[x] un polinomio di grado n ≥ 1 e r ∈ R una radice di p. Allora il polinomio x − r di grado 1 divide p, più precisamente esiste un polinomio p0 di grado n − 1, tale che p = (x − r)p0 . D. L’idea è di ridurre il problema al caso r = 0, cioè p(0) = 0, tramite una “traslazione” x → x + r, perchè se p(0) = p0 = 0, allora p = pn xn + . . . + p1 x = x(pn xn−1 + . . . + p1 ) dove il polinomio pn xn−1 + . . . + p1 ha il grado n − 1. Per dare senso alla traslazione serve qualche preparazione, perché come elemento di R[x] l’espressione p(x + r) non è definita. La definiamo come q = pn (x + r)n + . . . + p1 (x + r) + p0 , dove gli (x + r)k sono polinomi perchè x ∈ R[x], r ∈ R[x], quindi x + r ∈ R[x] e allora anche (x+r)k ∈ R[x]. Dalla formula del binomio (applicata agli elementi x ed r dell’anello R[x]) segue 4.4. Polinomi 71 che (x + r)k = xk + qualcosa, dove “qualcosa” è o 0 o un polinomio di grado non più grande di k − 1. Quindi q = pn xn + qualcosa, dove “qualcosa” è o 0 o un polinomio di grado non più grande di n − 1. Dalla formula del binomio segue anche che q(x − r) = p. Dalla stessa formula del binomio applicata però adesso agli elementi 0 ed r dell’anello R, segue che q(0) = p(r) = 0. Dalla discussione iniziale segue che q = xq0 , dove q0 è un polinomio di grado n − 1. Quindi p = q(x − r) = (x − r)q0 (x − r) = (x − r)p0 , dove p0 := q0 (x − r) è (come nella discussione per p → q) un polinomio di grado n − 1. 4.4.7 Teorema. Sia R un dominio di integrità. Allora un polinomio p ∈ R[x] di grado n ≥ 1 non può avere più di n radici diverse. D. Procediamo con l’induzione. Il polinomio x − r di grado 1 ha esattamente una radice, r. Quindi, l’affermazione vale per n = 1. Allora supponiamo che l’affermazione valga per un certo n ≥ 1 e dobbiamo concludere che valga anche per n + 1. Sia p un polinomio di grado n + 1 e rn+1 una radice. (Se non esiste una radice, non c’è nulla da dimostrare.) Quindi, p = (x − rn+1 )p0 dove p0 è un polinomio di grado n. Allora p(r) = (r − rn+1 )p0 (r) = 0, se e solo se r − rn+1 = 0, cioè r = rn+1 , o se p0 (r) = 0. Secondo l’ipotesi p0 ha al massimo n radici, allora p non può averne più di n (quelle di p0 ) più 1 (quella di x − rn+1 ). 4.4.8 Corollario. Se R è un dominio di integrità infinito e p, q ∈ R[x], allora p = q, se e solo se p(r) = q(r) un numero infinito di elementi r ∈ R, se e solo se p(r) = q(r) per ogni r ∈ R. D. Basta (perché?) di dimostrare che p(r) = 0 per ogni r ∈ R, allora p = 0 in R[x]. Infatti, se p ha un numero infinito di zeri, secondo il Teorema 4.4.6 o il grado di p è d(p) = 0 o p = 0. Se il grado di p fosse 0, allora p = p0 e p0 = p(0) = 0, allora p = 0 (cosicché il grado di p non è definito). 4.4.9 Esercizio. Il corollario vale, se e solo se R non è finito. Dimostrare che se #R = m, allora p = x2(m−1) − xm−1 ∈ Z p [x] è un polinomio diverso da 0, tale che p(r) = 0 per ogni r ∈ R. (Si veda il Corollario 3.7.7 insieme con il Teorema 3.2.4!) 4.4.10 Corollario. Se ogni polinomio in R[x] di grado non inferiore di 1 ha almeno una radice, allora per ogni p ∈ R[x] esistono r1 , . . . , rn ∈ R (non necessariamente diversi), tali che p = pn (x − r1 ) . . . (x − rn ). Capitolo 4. Cenni sugli anelli e campi 72 Se, oltre, R è un dominio di integrità , allora (secondo la Proposizione 4.4.3) n = d(p) e la n–upla (r1 , . . . , rn ) è unica a meno di permutazione. Se R è un campo, allora R è infinito. D. L’esistenza degli ri va dimostrata con l’induzione servendosi del Teorema 4.4.6. Per l’unicità osserviamo che p(r) = 0 se e solo se almeno un r − ri = 0, cioè se r = ri per almeno un i. Perciò, anche una seconda n–upla (r10 , . . . , rn0 ) deve contenere ri . Riordinando possiamo assumere che rn = rn0 . Generalmente, se (x − rn )q = (x − rn )q0 , allora (x − rn )(q − q0 ) = 0. Però se q − q0 , 0, allora d((x − rn )(q − q0 )) = d(x − rn ) + d(q − q0 ) ≥ 1 (allora (x − rn )(q − q0 ) , 0), quindi q = q0 . Ne segue che (x − r1 ) . . . (x − rn−1 ) = (x − r1 ) . . . (x − rn−1 ) e siamo pronti per una dimostrazione induttiva. Rimane da dimostrare che un campo R, che soddisfa l’ipotesi sull’esistenza delle radici, deve essere infinito. Assumiamo, al conrario, che #R = m e troviamo, come nell’Esercizio 4.4.9, che p = x2(m−1) − xm−1 + 1 è un polinomio di grado 2(m − 1) ≥ 1 che non ha nessuna radice. 4.4.11 Nota. La dimostrazione dell’unicità della fattorizzazione p = (x − rn )q è un caso particolare dell’unicità del risultato dell’algoritmo di Euclide per la divisione di polinomi, che non abbiamo trattato. 4.4.12 Nota. Il fatto che il campo C dei numeri complessi, che consideriamo nella Sezione 5.10, soddisfi le ipotesi del corollario, è noto come teorema fondamentale dell’algebra. 4.5 Appendice: Ideali Sia R un anello e S ⊂ R un sottogruppo di (R, +). Ogni sottogruppo di un gruppo abeliano è normale, quindi possiamo costruire il gruppo quoziente (R/S , +) come R/S = r + S : r ∈ R (r1 + S ) + (r2 + S ) = (r1 + r2 ) + S , dove abbiamo denotato le classi laterali come r + S = {r + s : s ∈ S }. 4.5.1 Teorema. R/S eredita un prodotto da R con quale diventa un anello secondo (r1 + S )(r2 + S ) = (r1 r2 ) + S , se e solo se S è un ideale di R, cioè se rs ∈ S e sr ∈ S per ogni r ∈ R, s ∈ S . D. Necessità: Lo zero di R/S è 0 + S = S . Poichè p0 = 0 = 0p per ogni p = r + S ∈ R/S , occorre quindi che rs ∈ S e sr ∈ S (r ∈ R, s ∈ S ). Sufficienza: Sia S un ideale. Dobbiamo controllare se r ∼ r0 ⇔ r − r0 ∈ S è compatibile con ·. Infatti, se r1 ∼ r10 , r2 ∼ r20 allora r1 r2 − r10 r20 = r1 (r2 − r20 ) + (r1 − r10 )r20 ∈ S , quindi r1 r2 ∼ r10 r20 . Lasciamo come esercizio di verificare gli assiomi dell’anello. Capitolo 5 Algebra lineare L’algebra lineare è la teoria degli spazi vettoriali e di loro omomorfismi. Gli esempi paradigmatici di spazi vettoriali sono il nostro spazio tridimensionale R3 ed il piano R2 . Per esempio, riconoscere i punti del piano come vettori con lo scopo di derivare i risultati della geometria elementare del piano (ed altri) rappresenta proprio l’inizio della geometria analitica. L’idea, che però non possiamo approfondire (s.v. [Fac00, Esempio 34.5]), di considerare somme di vettori dello spazio o del piano, viene dall’interpretazione dei vettori come traslazioni: −−→ Il vettore AB descrive la traslazione che dobbiamo eseguire per arrivare dal punto A al punto B. −−→ Se C è un terzo punto, allora la traslazione AC che ci porta direttamente da A a C può essere −−→ −−→ ottenuta anche come BC + AB, cioè prima andando da A a B e poi da B a C. Le leggi di questa −−→ addizione seguono perchè una traslazione AB non dovrebbe dipendere dal punto iniziale A ma −−→ −−−−−−−→ solo dalla differenza B − A (qualunque sia il modo in che la definiamo), cioè AB = 0(B − A). Qui entra in gioco il punto 0, l’origine, che dobbiamo fissare come punto di referenza. Alla fine, −→ otteniamo cosı̀ un’identificazione fra i punti A di R3 (o di R2 ) è le traslazioni 0A. −→ −→ Possiamo applicare n volte la freccia (cioè la traslazione) 0A e otteniamo cosı̀ la freccia n0A. −→ −→ −→ Similmente, possiamo chiederci se esista una freccia 0X tale che n0X = 0A, che denotiamo con −→ −→ −→ 0X = 1n 0A. Otteniamo cosı̀ per ogni freccia 0A e, prima, per ogni numero razionale mn , poi, −→ −→ per ogni numero reale λ ∈ R una freccia λ0A, che punta nella stessa direzione di 0A ma ha la −→ lunghezza λ volte la lunghezza di 0A. Nota. I concetti di lunghezza e di direzione (cioè angoli) non fanno parte della definizione dello spazio vettoriale, ma di una struttura più ricca di uno spazio vettoriale più un prodotto scalare o prodotto interno (x, y) 7→ hx, yi dal quale sono derivati sia la lunghezza di un vettore, sia l’angolo fra due vettori. (È proprio per causa di questa struttura del prodotto scalare che chiameremo il prodotto (λ, x) 7→ λx la moltiplicazione scalare e non prodotto scalare come nel libro [Fac00]. −→ Oltre che per l’intuizione, la lunghezza serve anche per l’estensione consistente di λ0A sui numeri reali tramite limiti di numeri razionali. 73 Capitolo 5. Algebra lineare 74 5.1 Spazi vettoriali 5.1.1 Definizione. Sia K un campo. Uno spazio vettoriale su K è un gruppo abeliano (V, +) con una moltiplicazione scalare · : K × V → V, tale che: 1. (λµ)x = λ(µx) per ogni λ, µ ∈ K; x ∈ V. (Associatività.) 2. λ(x + y) = λx + λy e (λ + µ)x = λx + µx per ogni λ, µ ∈ K; x, y ∈ V. (Distributività.) 3. 1x = x per ogni x ∈ V, dove 1 è l’identità moltiplicativa di K, (Unitarietà.) Gli elementi del campo K sul quale V è uno spazio vettoriale chiamiamo i scalari. Chiamiamo K anche il campo scalare o il campo dei scalari. Come sempre scriviamo λx = λ · x. 5.1.2 Nota. Osserviamo che V contiene almeno l’elemento 0 e che lo 0 di V e lo 0 di K non hanno nulla a che fare l’uno con l’altro. (Infatti, appartengono a due insiemi diversi.) Comunque, di solito usiamo lo stesso simbolo 0 per tutti e due. Nella definizione abbiamo sempre scritto lo scalare a sinistra del vettore. (V è un modulo a sinistra sull’anello K nel senso della Definizione 5.1.7.) Usiamo però sempre la convenzione xλ := λx. 5.1.3 Nota. Senza la condizione dell’unitarietà potremmo benissimo porre λx = 0 (λ ∈ K, x ∈ V). Raccogliamo qualche proprietà elementare con dimostrazioni simili a quelle della Proposizione 4.1.3. (Dimostrazione come esercizio.) 5.1.4 Proposizione. 1. 0x = 0 per ogni x ∈ V. 2. λ0 = 0 per ogni λ ∈ K. 3. Per ogni λ ∈ K∗ la funzione x 7→ λx è una biezione su V (con inversa x 7→ λ−1 x) che lascia invariato 0. 4. λx = 0 ⇐⇒ λ = 0 ∨ x = 0. 5. (−1)x = −x per ogni x ∈ V. 6. (−λ)x = (−1)λx = λ(−x) per ogni λ ∈ K, x ∈ V. 5.1. Spazi vettoriali 75 5.1.5 Esempio. Per ogni campo K e ogni n ∈ N lo spazio Kn con le operazioni (x1 , . . . , xn ) + (y1 , . . . , yn ) = (x1 + y1 , . . . , xn + yn ) λ(x1 , . . . , xn ) = (λx1 , . . . , λxn ) diventa uno spazio vettoriale. In particolare, K = K1 è uno spazio vettoriale su se stesso. Con K 0 = {0} denotiamo lo spazio vettoriale banale su K. Più in generale per ogni campo K e ogni insieme X , ∅ lo spazio F(X, K) con l’operazione + (s.v. l’Esempio 4.2.7) e con la moltiplicazione scalare (λ f )(x) = λ f (x) diventa uno spazio vettoriale su K. Ancora più in generale lo spazio F(X, V) diventa uno spazio vettoriale su K esattamente nello stesso modo (( f + g)(x) = f (x) + g(x), (λ f )(x) = λ f (x)). 5.1.6 Esempio. (R, +) è uno spazio vettoriale su Q, dove la moltiplicazione scalare è la restrizione del prodotto di R su Q × R. Una generalizzazione dello spazio vettoriale su un campo è il modulo su un anello. 5.1.7 Definizione. Sia R un anello. Un modulo a sinistra su R è un gruppo abeliano (M, +) con un’operazione R × M → M, che soddisfa (1) e (2) della Definizione 5.1.1. Un modulo a sinistra su un anello unitario R è un modulo su R (come anello) che soddisfa anche (3). Un modulo a destra è definito analogamente. Un bimodulo su anelli R e S è un modulo a sinistra su R e un modulo a destra su S , tale che valga l’associatività (rx)s = r(xs). 5.1.8 Nota. La funzione r 7→ (x 7→ rx) per x in un modulo a sinistra M è un omomorfismo da (R, ·) in (F(M), ◦). Se, invece, M è un modulo a destra, la funzione r 7→ (x 7→ xr) è un antiomomorfismo. 5.1.9 Esempio. R[x] è un bimodulo su R con le operazioni rp = pr = (rpn )xn + . . . + (rp1 )x + (rp0 ). 5.1.10 Esempio. In genere, solo se R è commutativo, è possibile di trasformare un modulo a sinistra (o a destra) in un bimodulo con moltiplicazione a sinistra uguale a quella a destra (come abbiamo fatto con gli spazi vettoriali). Però anche se R è un anello commutativo, non è necessariamente detto che un bimodulo su R debba avere moltiplicazioni a sinistra e a destra uguali. Per esempio, sia S un anello non commutativo (come M 2 ) che contiene un sottoanello R commutativo (come R2 , cioè le matrici diagonali). Allora S è un bimodulo su R. Comunque, non deve necessariamente valere rs = sr per ogni s ∈ S , r ∈ r. (Esercizio: Trovare una matrice in A ∈ M2 = S ed un’altra B ∈ R2 ⊂ M2 , che sia diagonale, tali che AB , BA.) Visto che il corso si chiama “algebra” vogliamo, finalmente, anche sapere che cosa sia un’algebra. Capitolo 5. Algebra lineare 76 5.1.11 Definizione. Sia K un campo. Un’algebra su K è uno spazio vettoriale (A, +) su K e un anello (A, +, ·) (con la stessa operazione +) tale che: a(λ1 b1 + λ2 b2 ) = λ1 (ab1 ) + λ2 (ab2 ) (λ1 a1 + λ2 a2 )b = λ1 (a1 b) + λ2 (a2 b). (5.1.1) (Distributivitá.) Ponendo λ2 = 0, a1 = a, b1 = b troviamo l’associatività: (λa)b = λ(ab) = a(λb). Se A è anche un anello unitario, ne segue che λa = (λ1)a, dove 1 è l’identità dell’anello A. Quindi possiamo identificare K come sottoanello di A tramite λ = λ1. 5.1.12 Esempio. M2 (o M3 ) ha la struttura dello spazio vettoriale R4 (o R9 ) su R. Come tale e con sua struttura di anello diventa un’algebra su R. Anche F(X, K) è un’algebra su K, più precisamente, un’algebra commutativa. Le valutazioni x 7→ p(x) dei polinomi p ∈ K[x] formano una sottoalgebra di F(K). Quindi, secondo il Corollario 4.4.8, se K è un campo infinito, K[x] stesso è una sottoalgebra di F(K). Infine, se un modulo è un modulo non solo su un anello ma su un’algebra su K, allora chiediamo, che anche il modulo sia uno spazio vettoriale su K, con proprietà di compatibilità simile a quelle della (5.1.1), cioè sostituendo i b, bi con elementi del modulo, se il modulo è un modulo a destra o sostituendo gli a, ai con elementi del modulo, se il modulo è un modulo a sinistra. Se l’algebra è unitaria, la moltiplicazione con lo scalare λ ∈ K può essere individuata come moltiplicazione con l’elemento λ1 dell’algebra. 5.2 Funzioni lineari (operatori) In questa sezione definiamo le funzioni lineari, cioè gli omomorfismi della teoria degli spazi vettoriali, e determiniamo, come esempio concreto, tutte le funzioni lineari da Rm in Rn . Le proprietà più astratte saranno verificate nelle sezioni seguenti. 5.2.1 Definizione. Siano V e W spazi vettoriali sullo stesso campo K. Un operatore o una funzione lineare da V in W è una funzione T : V → W, che è un omomorfismo di gruppi (V, +) → (W, +) e che rispetta la moltiplicazione scalare, cioè T (λx) = λT (x) per ogni λ ∈ K, x ∈ V. Lo spazio di tutti gli operatori da V in W denotiamo con L(V, W). Un isomorfismo da V in W è un elemento biettivo di L(V, W). 5.2. Funzioni lineari (operatori) 77 Spesso, in particolare quando usiamo il termine operatore, scriviamo T x invece di T (x). La linearità di una funzione T : V → W possiamo controllare in un solo passo. Basta dimostrare che T (λx + y) = λT x + T y per ogni λ ∈ K; x, y ∈ K. 5.2.2 Esercizio. Dimostrare che Se T ∈ L(V, W) è un isomorfismo, allora T −1 ∈ L(W, V), cioè anche T −1 è un isomorfismo. In particolare, la relazione di isomorfismo fra spazi vettoriali è una relazione di equivalenza. 5.2.3 Osservazione. Notiamo che secondo la Proposizione 3.4.13 un elemento T ∈ L(V, W) è iniettivo, se e solo se ker T = {x ∈ V : T x = 0} è banale, cioè se ker T = {0}. 5.2.4 Proposizione. Con le operazioni dello spazio vettoriale F(V, W). anche L(V, W) è uno spazio vettoriale. D. Dobbiamo dimostrare che T + S ∈ L(V, W) e λT ∈ L(V, W) per ogni λ ∈ K e ogni T, S ∈ L(V, W). Infatti, (T + S )(µx + y) = T (µx + y) + S (µx + y) = µT x + T y + µS x + S y = µ(T + S )x + (T + S )y. e (λT )(µx + y) = λT (µx + y) = λµT x + λT y = µ(λT )x + (λT )y per ogni µ ∈ K e ogni x, y ∈ V. 5.2.5 Proposizione. Siano S ∈ L(U, V) e T ∈ L(V, W). Allora anche la funzione composta T ◦ S (che d’ora in poi scriveremo T S ) è lineare, cioè T S ∈ L(U, W). D. Esercizio! 5.2.6 Esercizio. Sia V uno spazio vettoriale su K. Dimostrare che L(V) := L(V, V) è un’algebra (s.v. Definizione 5.1.11). Per il resto della sezione ci occupiamo del problema di caratterizzare gli elementi di L(Rm , Rn ). Per prima cosa definiamo gli elementi ei ∈ Rn (i = 1, . . . , n) come ei = (0, . . . , 0, 1, 0, . . . , 0) z }| { i–esimo posto = δik k=1,...,n , Capitolo 5. Algebra lineare 78 che hanno un 1 sull’i–esimo posto e zeri sui posti rimasti. Osserviamo che n X λi ei = (λ1 , . . . , λn ) i=1 Per esempio, per n = 3 3 X λi ei = λ1 (1, 0, 0) + λ2 (0, 1, 0) + λ3 (0, 0, 1) = (λ1 , 0, 0) + (0, λ2 , 0) + (0, 0, λ3 ) = (λ1 , λ2 , λ3 ). i=1 Quindi ogni vettore x ∈ Rn può essere scritto come x = Pn λi ei . Inoltre, i λi sono proprio le coordinate di x, quindi sono unici. Denotiamo con f j = δ jk k=1,...,m ( j = 1, . . . , m) i vettori i=1 analoghi di Rm . Sia T ∈ L(Rm , Rn ). Da Tx = T P m λj fj = j=1 m X λ jT f j j=1 vediamo che conosciamo T quando conosciamo T f j per ogni j = 1, . . . , m. Inoltre, sappiamo P che ogni T f j ∈ Rn può essere scritto (univocamente) come ni=1 λi ei . Se denotiamo per ogni P j = 1 . . . , m con T i j ∈ R (i = 1, . . . , m) questi λi che corrispondono a T f j , cioè T f j = ni=1 T i j ei , otteniamo per x = (x1 , . . . , xm ) ∈ Rm Tx = m X x jT f j = j=1 n m X X T i j x j ei = m n X X T i j x j ei . (5.2.1) i=1 j=1 j=1 i=1 In altre parole, le coordinate yi del vettore y = T x ∈ Rn sono yi = m X Ti j x j. (5.2.2) j=1 Se al contrario T i j (i = 1, . . . , n; j = 1 . . . , m) sono scalari in R, possiamo definire un operatore T ∈ L(Rm , Rn ) secondo la (5.2.1). Tralasciamo la verifica che la funzione T : x 7→ T x definita cosı̀ sia lineare. Osserviamo solo che T = T 0 se e solo se T i j = T i0j per ogni i = 1, . . . , n; j = 0 per una certa coppia (k, `), allora T f` 1 . . . , m. (Infatti, per la direzione non banale, se T k` , T k` e T 0 f` hanno diverse k–esime coordinate, quindi T f` , T 0 f` , cioè T , T 0 .) Denotiamo con Mnm lo spazio delle matrici n × m a valori in R. Come nella Sezione 3.3, denotiamo gli elementi di Mnm con T = T i j i=1,...,n; j=1...,m = T i j i, j . Solo se non ci sono fonti di confusione, quale indice denota le righe (i) e quale le colonne ( j), possiamo anche scrivere semplicemente T = T i j . Se T = T i j i, j è in Mnm , allora la matrice trasposta di T è definita come T t = T i j j,i . Notiamo che T t è un elemento di Mmn . 5.2. Funzioni lineari (operatori) 79 Abbiamo appena visto che le matrici T = T i j i, j ∈ Mnm corrispondono una ad una agli operatori T ∈ L(Rm , Rn ), che in seguito identificheremo sempre. Vale, però, molto di più. Ricordiamoci che Mnm ha la struttura dello spazio vettoriale Rnm (definita come nel caso M2 nella Sezione 3.3). 5.2.7 Proposizione. L’identificazione Mnm 3 T ←→ T ∈ L(Rm , Rn ) è un isomorfismo di spazi vettoriali. D. Tralasciamo la verifica che l’identificazione sia lineare come esercizio. Rimane di verificare il comportamento delle matrici sotto composizione dei corrispondenti omomorfismi. Per prima cosa osserviamo, che per comporre S ∈ L(R` , Rk ) con T ∈ L(Rm , Rn ) occorre che k = m, cosicché T S è un elemento di L(R` , Rn ). Quindi, qualunque sia la composizione delle matrici T ∈ Mnm e S ∈ Mk` che rifletta la composizione degli operatori, essa può essere definita solo se k = m, quindi se S ∈ Mm` = L(R` , Rm ). I domini 1, . . . , k e 1, . . . , m degli indici che s’incontrano devono essere uguali. Siano allora T ∈ Mnm , S ∈ Mm` e x ∈ R` . Direttamente dalla formula per le coordinate (5.2.2) vediamo che (T S x)i = m X k=1 T ik (S x)k = m X̀ X T ik S k j x j = m X̀ X T ik S k j x j . j=1 k=1 k=1 j=1 Come sopra, da questo segue (mettendo, uno dopo l’altro, x = e j per ogni j = 1, . . . , `) (T S )i j = m X T ik S k j . (5.2.3) k=1 Quindi ritroviamo la formula come la (3.3.3) per M3 . Ne segue in particolare che, scrivendo il solito schema rettangolare T 11 . . . T 1m . .. T = T i j = .. . T n1 . . . T nm , vale sempre la nostra regola empirica (precedente l’Esempio 3.3.2). 5.2.8 Nota. La regola empirica può anche essere utilizzata per calcolare l’azione di T ∈ Mnm su un vettore x = (x1 , . . . , xm ) ∈ Rm . Basta di scrivere x non come una sola riga ma come una sola colonna e considerarlo in questo modo una matrice X = Xi j i=1,...,m; j=1 ∈ Mm1 con Xi1 = xi . Il risultato del prodotto T X è poi una matrice in Mn1 che può essere interpretata come vettore y ∈ Rn dove yi = (T X)i1 . Capitolo 5. Algebra lineare 80 5.2.9 Corollario. Mn := Mnn con il prodotto secondo la (5.2.3) diventa un anello e l’identificazione Mn 3 T ←→ T ∈ L(Rn ) è un isomorfismo di anelli. 5.2.10 Corollario. L’identificazione Mn 3 T ←→ T ∈ L(Rn ) è un isomorfismo di algebre (s.v. Definizione 5.1.11). 5.2.11 Nota. Tutto quello che abbiamo fatto in questa sezione per Rn e L(Rm , Rn ) vale anche se usiamo un qualsiasi campo K invece di R. In particolare, possiamo identificare lo spazio L(Km , Kn ) con Mnm (K), l’insieme di tutte le matrici n × m a entrate in K. 5.3 Sottospazi 5.3.1 Definizione. Un sottospazio di uno spazio vettoriale V su un campo K è un sottogruppo (U, +) di (V, +) tale che la moltiplicazione scalare lasci U invariato, cioè λu ∈ U per ogni λ ∈ K, u ∈ U. Osserviamo che U contiene almeno 0 e l’insieme {0} è un sottospazio che identifichiamo sempre con lo spazio vettoriale banale {0}. Anche V stesso è un sottospazio di V. I sottospazi V e {0} li chiamiamo i sottospazi banali. 5.3.2 Esempio. Q è un sottospazio dello spazio vettoriale R su Q. 5.3.3 Esempio. L’insieme C(R) di tutti i funzioni continui su R è un sottospazio di F(R). Se X è un insieme ed Y un sottoinsieme non vuoto di X, allora lo spazio FY (X, R) di tutte le funzioni in F(X, R) che sono zero su Y { (cioè f |Y { = 0) è un sottospazio di F(X, R)isomorfo a F(Y, R). Per esempio, per 1 ≤ m < n lo spazio Rm = F({1, . . . , m}, R) F{1,...,m} ({1, . . . , n}, R) è un sottospazio dello spazio Rn = F({1, . . . , n}, R). 5.3.4 Esercizio. Sia 0 , x ∈ V e definiamo Kx := {λx : λ ∈ K}. Dimostrare che Kx è un sottospazio di V diverso da {0}. Sottospazi di questo tipo li chiamiamo rette attraverso l’origine. Siano 0 , x, y ∈ V, tali che x , λy per ogni λ ∈ K. Definiamo [{x, y}] = {λx+µy : λ, µ ∈ K}. Dimostrare che [{x, y}] è un sottospazio di V diverso da {0} e diverso da ogni retta. Sottospazi di questo tipo li chiamiamo piani attraverso l’origine. 5.3.5 Proposizione. Siano U1 , U2 sottospazi di V. Allora anche U1 ∩ U2 sono sottospazi di V. e U1 + U2 = u1 + u2 : u1 ∈ U1 , u2 ∈ U2 5.4. Quozienti (spazi vettoriali) 81 D. Sappiamo già che l’intersezione di due sottogruppi è un sottogruppo. Rimane da dimostrare che U1 ∩U2 rimane invariato sotto prodotti con λ ∈ K. Vale u ∈ U1 ∩U2 ⇒ u ∈ Ui ⇒ λu ∈ Ui (perché gli Ui sono sottospazi) ⇒ λu ∈ U1 ∩ U2 . Per U1 + U2 dobbiamo dimostrare invarianza sotto + e sotto moltiplicazione con λ. Lo facciamo in un solo passo. Siano u, u0 in U1 +U2 e λ ∈ K e dimostreremo che λu+u0 ∈ U1 + U2 . (Il caso λ = 1 ci conferma l’invarianza sotto + ed il caso u0 = 0 ci conferma l’invarianza sotto moltiplicazione con λ.) Poiché u, u0 ∈ U1 + U2 , esistono ui , u0i ∈ Ui tali che u = u1 + u2 e u0 = u01 + u02 . Quindi λu + u0 = λ(u1 + u2 ) + u01 + u02 = (λu1 + u01 ) + (λu2 + u02 ) ∈ U1 + U2 perché λui + u0i ∈ Ui . 5.3.6 Esempio. Sia ∅ , Yi ⊂ X (i = 1, 2). Allora FY1 (X, R) ∩ FY2 (X, R) = FY1 ∩Y2 (X, R), mentre FY1 (X, R) + FY2 (X, R) = FY1 ∪Y2 (X, R). Attenzione però: La seconda affermazione non deve necessariamente valere per sottospazi di F(R) come C(R). Non tutte le funzioni continue su R, che siano 0 sul complemento di (a, c] = (a, b](b, c], sono la somma di due funzioni continue l’una 0 sul complemento di (a, b], l’altra 0 sul complemento di (b, c]. (Per continuità tutte e due sono 0 in b, allora lo è anche la somma.) 5.3.7 Proposizione. Sia T ∈ L(V, V 0 ) un operatore e siano U ⊂ V e U 0 ⊂ V 0 sottospazi. Allora T (U) è un sottospazio di V 0 e T −1 (U 0 ) = {x ∈ V : T x ∈ U 0 } è un sottospazio di V. In particolare l’immagine T (V) di T è un sottospazio di V 0 ed il nucleo ker T = T −1 ({0}) = {x ∈ V : T x = 0} di T è un sottospazio di V. D. Sappiamo dalla Proposizione 3.4.9, che gli spazi T (U) e T −1 (U 0 ) sono sottogruppi rispetto all’operazione +. Rimane da verificare, che restano invariati sotto moltiplicazione scalare. Sia x0 ∈ T (U), cioè esista un u ∈ U tale che x0 = T u. Allora λx0 = λT u = T (λu) è anche in T (U) perché λu ∈ U. Similmente, sia x ∈ T −1 (U 0 ), cioè T x ∈ U 0 . Allora anche T (λx) = λT x ∈ U 0 , quindi λx ∈ T −1 (U 0 ). 5.3.8 Esempio. Sia 1 ≤ m < n. Definiamo P ∈ L(Rn ) come P(x1 , . . . , xn ) = (x1 , . . . , xm , 0, . . . , 0). Allora P(Rn ) = (x1 , . . . , xm , 0, . . . , 0) ∈ Rn : x1 ∈ R, . . . , xm ∈ R è un sottospazio di Rn isomorfo ad Rm e ker P = (0, . . . , 0, xm+1 , . . . , xn ) ∈ Rn : xm+1 ∈ R, . . . , xn ∈ R è un sottospazio di Rn isomorfo ad Rn−m . (Esercizio: Trovare isomorfismi opportuni.) 5.4 Quozienti (spazi vettoriali) Se U è un sottospazio di V, è in particolare un sottogruppo del gruppo abeliano (V, +) e, come tale, è un sottogruppo normale. Quindi, secondo la Sezione 3.7, possiamo costruire il gruppo quoziente V/U = v + U : v ∈ V , Capitolo 5. Algebra lineare 82 dove abbiamo notato la classe laterale di v ∈ V con v + U = {v + u : u ∈ U}. Anche V/U è un gruppo abeliano con l’operazione (v1 + U) + (v2 + U) = (v1 + v2 ) + U, con l’identità 0 + U e con l’inverso (−v) + U di v + U. Vogliamo dimostrare che V/U è anche uno spazio vettoriale per la moltiplicazione scalare λ(v + U) = (λv) + U ereditata da V. La moltiplicazione scalare non è più un’operazione su un insieme, ma coinvolge due insiemi. Quindi non possiamo applicare direttamente i nostri risultati su relazioni compatibili della Sezione 3.6. Però gli argomenti per vedere che la moltiplicazione scalare sia ben definita sono molto simili. Dobbiamo dimostrare che il risultato (λv)+U della moltiplicazione scalare non dipende dalla scelta del rappresentante della classe v+U. Siano quindi v, v0 ∈ V tali che v+U = v0 +U. Ciò accade se e solo se v−v0 ∈ U; s.v. il Lemma 3.7.2. Allora anche λv−λv0 = λ(v−v0 ) ∈ U, quindi anche (λv) + U = (λv0 ) + U. 5.4.1 Teorema. Sia U un sottospazio dello spazio vettoriale V sul campo K. Allora anche il gruppo quoziente V/U rispetto all’operazione + è uno spazio vettoriale V su K con la moltiplicazione scalare λ(v + U) = (λv) + U, che chiamiamo lo spazio quoziente di V e U. L’omomorfismo canonico ϕ : V → V/U, v 7→ v + U è un operatore surgettivo di L(V, V/U). Quindi ogni sottospazio è il nucleo di un operatore. D. Riflettendo sull’osservazione 3.6.4, l’unica cosa che dobbiamo ancora dimostrare è ϕ(λv) = λϕv, ma questo è proprio la definizione della moltiplicazione scalare di V/U. Raccogliamo qualche altra conseguenza facile dei risultati della Sezione 3.6. Le dimostrazioni le lasciamo come esercizio. 5.4.2 Proposizione. Sia T ∈ L(V, W) e U = ker T ⊂ V. Allora esiste un unico operatore iniettivo Te ∈ L(V/U, W) soddisfaccente Te(v+U) = T v (v ∈ V). In particolare, vale (teorema di omomorfismo per operatori) V/ ker T T (V). 5.4.3 Esempio. Torniamo all’Esempio 5.3.8. Abbiamo P(Rn ) Rm e ker P Rn−m . Quindi Rn /Rn−m Rm . Pensando a quest’ultimo isomorfismo come identificazione, l’operatore P può essere considerato l’omomorfismo canonico Rn → Rn /Rn−m . 5.5 Somme dirette Sappiamo dalla Proposizione 5.3.5 che per due sottospazi U1 , U2 di V anche U1 + U2 = {u1 + u2 : ui ∈ Ui } è un sottospazio di V. Però la decomposizione di u ∈ U1 + U2 come somma u1 + u2 non è necessariamente unica. Per esempio, vale sempre U + U = U è se U , {0}, allora ogni 0 , u ∈ U può essere scritto nei modi diversi u + 0 e 0 + u. 5.5. Somme dirette 83 5.5.1 Definizione. Diciamo che U1 + U2 è la somma diretta (interna) dei sottospazi U1 , U2 di V, in formula U1 + U2 = U1 ⊕ U2 , se ogni elemento u ∈ U1 + U2 può essere scritto in un solo modo come u = u1 + u2 (u1 ∈ U1 , u2 ∈ U2 ). In particolare, se U1 + U2 = V diciamo che V = U1 ⊕ U2 è la somma diretta dei suoi sottospazi U1 e U2 . 5.5.2 Nota. Una definizione analoga esiste per la somma diretta di n sottospazi. Per una famigL U se ogni v può essere scritto in modo lia infinita di sottospazi Ui i∈I scriviamo V = i∈I i unico come somma di un numero finito di elementi 0 , ui ∈ Ui . 5.5.3 Proposizione. U1 + U2 = U1 ⊕ U2 ⇐⇒ U1 ∩ U2 = {0}. D. Se U1 + U2 = U1 ⊕ U2 allora u1 + u2 = 0 (ui ∈ Ui ) implica che ui = 0. Quindi, se u ∈ U1 ∩ U2 allora u1 := u ∈ U1 , u2 := −u ∈ U2 tale che u1 + u2 = 0, quindi u1 = −u2 = u = 0. Se U1 + U2 , U1 ⊕ U2 allora esistono ui , u0i ∈ Ui tali che u1 + u2 = u01 + u02 e ui , u0i per almeno un i = 1, 2 (e quindi per tutti e due). Allora vi = ui − u0i , 0 sono elementi di Ui . Ma v1 = −v2 , quindi v1 ∈ U2 e allora 0 , v1 ∈ U1 ∩ U2 . 5.5.4 Esempio. Nell’Esempio 5.3.8 troviamo che Rn = P(Rn ) ⊕ ker P. Questo non deve, però, valere per tutti gli operatori T ∈ L(V, W). Per prima cosa, se V , W gli spazi T (V) ⊂ W e ker T ⊂ V sono sottospazi di spazi diversi e T (V) + ker T non ha nessun senso. Ma anche se T ∈ L(V) non deve valere ne T (V) + ker T = V ne T (V) + ker T = T (V)⊕ker T . Consideriamo l’operatore T = 00 10 su R2 . Vediamo che T (R2 ) = ker T = R0 . 5.5.5 Proposizione. Siano U1 e U2 sottospazi di V tali che V = U1 ⊕ U2 . Siano T i ∈ L(Ui , W) operatori. Allora esiste un unico operatore T ∈ L(V, W) tale che T (u) = T i (u) per ogni u ∈ Ui ; i = 1, 2. D. Per linearità (attualmente basta additività) un operatore T che soddisfa T |Ui = T i è determinato univocamente. La funzione T (u) := T 1 (u1 ) + T 2 (u2 ) (ui ∈ Ui tali che u1 + u2 = u) è ben definita perchè la decomposizione u = u1 + u2 è unica. Lasciamo come esercizio di verificare che T è lineare. 5.5.6 Corollario. Sia T 1 = 0 è T 2 = idU2 . Allora U2 = T (V) ker T = U1 . Vogliamo allora dare senso a V ⊕W indipendentemente dal fatto che siano sottospazi di uno spazio vettoriale comune. Ci orientiamo al prodotto diretto di (semi)gruppi come nella Definizione 3.6.7. 5.5.7 Definizione. Siano V e W spazi vettoriali su un campo K. La somma diretta (esterna) V ⊕ W è lo spazio prodotto V × W = (v, w) : v ∈ V, w ∈ W con la somma e la moltiplicazione scalare date come (v1 , w2 ) + (v2 , w2 ) = (v1 + v2 , w1 + w2 ) λ(v, w) = (λv, λw) Capitolo 5. Algebra lineare 84 per ogni λ ∈ K; v, vi ∈ V; w, wi ∈ W. 5.5.8 Esercizio. Dimostrare che V ⊕ W è uno spazio vettoriale su K. 5.5.9 Nota. Gli spazi V ⊕ W e W ⊕ V a priori non hanno niente a che fare l’uno con l’altro. Però sono isomorfi secondo l’isomorfismo canonico (v, w) 7→ (w, v). (Esercizio: Dimostrare che si tratti veramente di un isomorfismo.) 5.5.10 Esercizio. I sottospazi {(v, 0) : v ∈ V} e {(0, w) : w ∈ W} (verificare che si tratti di sottospazi!) sono isomorfi, rispettivamente, a V e a W, e li identifichiamo con V e con W. Dimostrare che V + W = V ⊕ W (somma diretta interna!). Dimostrare che per sottospazi V 0 ⊂ V ⊂ V ⊕ W e W 0 ⊂ W ⊂ V ⊕ W anche V 0 + W 0 = V 0 ⊕ W 0 (somma diretta interna!). 5.5.11 Esempio. La somma diretta (esterna, ma di solito non ci facciamo caso alla differenza) Rn ⊕ Rm consiste di elementi (x1 , . . . , xn ), (y1 , . . . , ym ) . Tralasciando le parentesi interne otteniamo l’elemento (x1 , . . . , xn , y1 , . . . , ym ) di Rn+m . Otteniamo cosı̀ Rn ⊕ Rm Rn+m . Anche se questa non è l’unica possibilità, identifichiamo sempre Rn ⊕ Rm = Rn+m nel modo descritto. In particolare, Rn ⊂ Rn ⊕ Rm = Rn+m , però Rm in questa idenitificazione è solo isomorfo a {0} ⊕ Rm ⊂ Rn+m . 5.5.12 Nota. Anche la somma diretta esterna ha versioni per più addendi. Finché il numero di addendi è finito, la somma diretta è definita come spazio prodotto con le operazioni analoghe. Però, se il numero di addendi è infinito, lo spazio prodotto (sempre con le stesse operazioni) si chiama prodotto diretto, mentre la somma diretta è lo sottospazio del prodotto diretto che consiste di famiglie ui i∈I (nelle notazioni della Definizione 1.1.7) dove ui , 0 solo per un numero finito di i ∈ I. (Per #I < ∞ non c’è differenza fra la somma diretta ed il prodotto diretto.) 5.6 Sottinsiemi generanti Ogni parte della Proposizione 5.3.5 ha una conseguenza che riguarda esistenza e costruzione di sottospazi [X] generati da sottoinsiemi X ⊂ V. 5.6.1 Proposizione. Sia X ⊂ V un sottoinsieme di uno spazio vettoriale V. 1. Esistenza: Sia UX l’insieme di tutti i sottospazi U di V che contengono X. Allora \ [X] = U U∈UX 5.6. Sottinsiemi generanti 85 è l’unico sottospazio di V soddisfacente le seguenti condizioni: (a) X ⊂ [X]. (b) U ∈ UX =⇒ U ⊃ [X]. 2. Costruzione: Se X , ∅ allora [X] = λ1 x1 + . . . + λn xn : n ∈ N, λi ∈ K, xi ∈ X . Altrimenti [∅] = {0}. D. La prima parte segue più o meno come la Proposizione 3.2.1 dal fatto che intersezioni di sottospazi sono sottospazi. Per la seconda parte osserviamo che, come sottospazio, [X] non può fare meno di ottenere tutti gli elementi λ1 x1 + . . . + λn xn . Basta dimostrare che l’insieme di tutti questi vettori è un sottospazio. Una dimostrazione formale funziona cosı̀: Siano y = µ1 y1 +. . .+µm ym , z = ν1 z1 +. . .+νn zn , λ ∈ K per n, m ∈ N; yi , z j ∈ X. Allora y + λz = λ1 x1 + . . . + λm+n xm+n , dove yi xi = zi−m i≤m i > m, µi λi = λνi−m i≤m i > m. 5.6.2 Definizione. Sia X ⊂ V un sottoinsieme di uno spazio vettoriale su K. Un’espressione del tipo λ1 x1 + . . . + λn xn per n ∈ N, λi ∈ K, xi ∈ X si chiama combinazione lineare di elementi di X o semplicemente di X. (Attenzione: Il numero di addendi deve essere finito. Somme infinite non hanno senso senza una notazione di limite.) Il sottoinsieme X ⊂ V si chiama generante (per V) se [X] = V. 5.6.3 Osservazione. Ovviamente X è generante per [X] e [X] è l’insieme di tutte le combinazioni lineari di X. In particolare, se X è generante per V, allora V è l’insieme di tutte le combinazioni lineari di X. 5.6.4 Esempio. Sia K un campo. Allora il sottoinsieme {1, x, x2 , . . .} dello spazio vettoriale K[x] è generante. Il sottoinsieme X = {x 7→ 1, x 7→ x, x 7→ x2 , . . .} dello spazio vettoriale F(K) non è generante, ma genera proprio il sottospazio di F(K) che contiene tutte le valutazioni x 7→ p(x) di elementi p ∈ K[x]. Se K è infinito sappiamo dal Corollario 4.4.8 che [X] K[x]. Capitolo 5. Algebra lineare 86 5.6.5 Esempio. Si può dimostrare che lo spazio vettoriale R su Q non ha nessun sottoinsieme numerabile che sia generante. Anche lo spazio vettoriale F(X, K) su un qualsiasi campo K non ha nessun sottoinsieme numerabile generante se l’insieme X non è finito. 5.6.6 Proposizione. Sia e T ∈ L(V, W). Allora le seguenti affermazioni sono equivalenti: 1. T è surgettivo. 2. T (X) è generante per W per ogni sottoinsieme generante X di V. 3. Esiste un sottoinsieme X di V, tale che T (X) è generante per W. D. Osserviamo che per la linearità T ([X]) = [T (X)]. (Verificare!) 1 ⇒ 2. Sia T surgettivo e X generante per V. Allora [T (X)] = T ([X]) = T (V) = W. 2 ⇒ 3. Banale, perché V è un sottoinsieme generante di V. 3 ⇒ 1. Sia X ⊂ V tale che T (X) è generante per W. Allora W = [T (X)] = T ([X]) ⊂ T (V), quindi T è surgettivo. 5.7 Indipendenza lineare Il sottoinsieme X dello spazio vettoriale V su un campo K genera il sottospazio [X] di V, cioè ogni elemento u ∈ [X] può essere scritto come combinazione lineare u = λ1 x1 + . . . + λn xn di elementi di X. Adesso ci occupiamo della domanda quando i coefficienti λ sono unici. Come vediamo subito, basta di rispondere alla domanda per il solo elemento u = 0 ∈ [X]. 5.7.1 Definizione. Una n–upla (v1 , . . . , vn ) (n ∈ N) di elementi di V è linearmente indipendente, se λ 1 v1 + . . . + λ n vn = 0 =⇒ λ1 = . . . = λn = 0. (Diciamo che anche i vettori v1 , . . . , vn sono linearmente indipendenti.) Una famiglia xi i∈I di elementi di V è linearmente indipendente, se ogni sottofamiglia finita (xi1 , . . . , xin ) (n ∈ N, ik ∈ I e k , ` ⇒ ik , i` ) è linearmente indipendente. È linearmente dipendente, se non è linearmente indipendente. Qui occorre di rendersi conto della differenza formale fra la famiglia xi i∈I di elementi di V (dove i componenti xi a priori non devono essere diversi fra di loro in V, ma sono distinti dai loro indici diversi) ed il sottoinsieme {xi : i ∈ I} di V (dove due elementi uguali xi = x j non possono 5.7. Indipendenza lineare 87 essere distinti, anche se i , j). Osserviamo che, se siamo interessati a famiglie linearmente indipendenti, fra due elementi uguali xi = x j (i , j) ne possiamo cancellare uno dalla lista (perchè 1xi + (−1)x j = 0) senza cambiare {xi : i ∈ I} e, quindi, senza cambiare [{xi : i ∈ I}]. Lo stesso vale per ogni elemento xi = 0 (perché 1xi = 0). Poniamo [ xi i∈I ] := [{xi : i ∈ I}]. 5.7.2 Proposizione. Sia xi 1. xi i∈I i∈I una famiglia di vettori xi ∈ V. Allora si equivalgano: è linearmente indipendente. 2. Per ogni sottoinsieme finito J ⊂ I vale X X λ i xi = µi xi i∈J ⇐⇒ λi = µi (i ∈ J). i∈J D. Prendendo in 2 la differenza dei due lati, otteniamo X (λi − µi )xi = 0 ⇐⇒ λi − µi = 0 (i ∈ J) i∈J per ogni sottoinsieme finito J ⊂ I, che chiaramente, equivale all’indipendenza lineare. 5.7.3 Proposizione. xi i∈I è linearmente dipendente, se e solo se esiste i ∈ I, un sottoinsieme finito J ⊂ I, i < J e λ j ∈ K ( j ∈ J), tali che xi = X λ j x j, j∈J cioè se e solo se almeno uno degli xi può essere ottenuto come combinazione lineare degli altri. D. Esercizio! 5.7.4 Nota. La proposizione precedente serve bene come criterio per dipendenza lineare, perché basta di trovare un solo xi che può essere espresso usando gli altri. Attenzione però a non commettere l’errore di concludere dal fatto che un certo xi non possa essere espresso usando gli altri, che la famiglia sia linearmente indipendente. Per esempio i vettori x1 = (1, 0, 0) x2 = (0, 1, 0) x3 = (0, 0, 1) x4 = (0, 1, 1) in R3 non sono linearmente indipendenti, perché x4 = x2 + x3 . Però nessuna combinazione lineare dei x2 , x3 , x4 è in grado di comporre x1 . è linearmente indipendente, allora per ogni sottoinsieme (non necessariamente finito) J ⊂ I lo è anche la sottofamiglia xi i∈J . 5.7.5 Osservazione. Se xi i∈I Capitolo 5. Algebra lineare 88 Però: Se J , I, allora xi i∈J non può essere generante anche se xi i∈I lo fosse. (Esercizio! Idea: Supporre che xi i∈J sia generante e concludere con l’aiuto della Proposizione 5.7.3 che xi i∈I non è linearmente indipendente. 5.7.6 Proposizione. Sia xi i∈I vale [ xi è linearmente indipendente. Allora per ogni I1 , I2 ⊂ I, I1 ∩ I2 = ∅ i∈I1 ] + [ xi i∈I2 ] = [ xi i∈I1 ] ⊕ [ xi i∈I2 ] D. Secondo la Proposizione 5.5.3 basta dimostrare che [ xi i∈I1 ] ∩ [ xi i∈I2 ] = {0}. (Esercizio!) Ci piacerebbe di dimostrare una proposizione analoga alla Proposizione 5.6.6. Però per farlo ci manca l’esistenza di una famiglia linearmente indipendente e generante, che sarà l’oggetto della sezione seguente (e dell’appendice in Sezione 5.9 per quanto riguarda l’esistenza). 5.8 Basi e dimensione Uniamo le notazioni delle due sezioni precedenti. 5.8.1 Definizione. Sia V uno spazio vettoriale sul campo K. Una base di V è una famiglia xi i∈I di elementi xi ∈ V che è sia generante sia linearmente indipendente. Per definizione la famiglia vuota (cioè I = ∅) è una base dello spazio banale {0}. 5.8.2 Corollario. Se xi [ xi i∈I ]. i∈I è una famiglia linearmente indipendente, allora forma una base di 5.8.3 Esempio. Osserviamo che gli ei (i = 1, . . . , n), come definiti nella Sezione 5.2, formano una base di Rn . La chiamiamo la base canonica di Rn . 5.8.4 Corollario. Sia xi come x = i∈I X una base di V. Allora ogni elemento x ∈ V può essere espresso λi xi , dove I 0 ⊂ I, #I 0 < ∞, 0 , λi ∈ K (i ∈ I 0 ), i∈I 0 in un e solo in un modo. 5.8.5 Corollario. Per ogni x poniamo tutti i λi , i < I 0 del Corollario 5.8.4 uguali a 0. Allora la funzione V 3 x 7→ λi i∈I ∈ KI è lineare e, quindi, un operatore iniettivo in L(V, KI ). È surgettivo (e quindi un isomorfismo) sul sottospazio di RI che contiene tutte le famiglie λi i∈I , tali che #{i ∈ I : λi , 0} < ∞. 5.8. Basi e dimensione 89 In particolare, se #I < ∞ cosicché possiamo scrivere I = {1, . . . , n} (n = #I), allora x 7→ (λ1 , . . . , λn ) (λi tali che λ1 x1 + . . . + λn xn = x) è un isomorfismo da V su Rn con l’inverso (λ1 , . . . , λn ) 7−→ λ1 x1 + . . . + λn xn . (5.8.1) L’isomorfismo della (5.8.1) dipende dalla scelta della base. Lo chiamiamo l’isomorfismo associato con la base (x1 , . . . , xn ). 5.8.6 Corollario. Siano xi i∈I una base di V e yi (i ∈ I) elementi in W . Allora esiste un unico elemento T ∈ L(V, W) tale che T (xi ) = yi per ogni i ∈ I. D. Esercizio. (Come la dimostrazione della Proposizione 5.5.5. 5.8.7 Corollario. Siano V e W spazi vettoriali su K con basi, rispettivamente, x j j∈J e yi i∈I e sia T ∈ L(V, W). Denotiamo con T i j ∈ K gli unici scalari (come nei Corollari 5.8.4 P e 5.8.5 ma per gli elementi T x j in W con la base yi i∈I ) tali che T x j = i∈I T i j yi per ogni j ∈ J. (Osserviamo che per ogni j ∈ J la somma va solo su un numero finito di addendi P diversi da zero.) Allora se λ j sono i coefficienti di x = j∈J λ j x j rispetto alla base x j j∈J , P i coefficenti di y = T x rispetto alla base yi i∈I sono µi = j∈J T i j λ j . Viceversa se T i j i∈I, j∈J è una “matrice” tale che #{i : T i j , 0} per ogni j ∈ J, allora P esiste un unico operatore T ∈ L(V, W) tale che T x j = i∈I T i j yi . Chiamiamo T i j i∈I, j∈J la “matrice” di T associata con le basi x j j∈J e yi i∈I . Per #I = n, # j = m abbiamo un’isomorfismo L(V, W) Mnm (che dipende dalle basi). Valgono (sia per basi finite sia per basi infinite) affermazioni analoghe alla Proposizione 5.2.7, all’Equazione 5.2.3 e ai Corollari 5.2.9 e 5.2.10. 5.8.8 Proposizione. Sia T ∈ L(V, W) e yi = T xi per una base xi di V, cosicché T è l’operatore T del Corollario 5.8.6. Allora T è surgettivo, se e solo se yi i∈I è generante per W. È iniettivo, se e solo se yi i∈I è linearmente indipendente. Quindi, è biettivo, se e solo se yi i∈I è una base di W. i∈I Se T è biettivo, T −1 è l’operatore in L(W, V) determinato secondo il Corollario 5.8.6 da T −1 (yi ) = xi . D. La prima affermazione è la Proposizione 5.6.6. La terza affermazione segue dalla prima e dalla seconda. Per la seconda affermazione osserviamo che X P λ jT x j = T λjxj . j∈J j∈J Quindi se T è iniettivo e xi i∈I è linearmente indipendente, allora X P T λ j x j = 0 ⇐⇒ λ j x j = 0 ⇐⇒ λi = 0 (i ∈ I), j∈J j∈J Capitolo 5. Algebra lineare 90 cioè T pone la base xi su una famiglia linearmente indipendente. (Questo argomento fun ziona per una qualsiasi famiglia linearmente indipendente xi i∈I , quindi se T è iniettivo, allora i∈I manda famiglie linearmente indipendenti su famiglie linearmente indipendenti.) Se T non è P iniettivo esiste una combinazione lineare 0 , x = i∈J λi xi con T x = 0. Quindi i T xi (i ∈ J) non sono linearmente indipendenti. 5.8.9 Teorema. Ogni spazio vettoriale possiede una base. La dimostrazione in piena generalità rimandiamo all’appendice nella Sezione 5.9. Anche una leggera generalizzazione del teorema (il Teorema 5.9.3), che ci garantisce l’estensibilità di una famiglia linearmente indipendente ad una base (con conseguenze per la decomposizione di spazi vettoriali in somme dirette) e un teorema più difficile (il Teorema 5.9.7) lo rimandiamo alla Sezione 5.9. Per spazi vettoriali che sono generati da un sottoinsieme numerabile ci possiamo aiutare con la seguente Proposizione. 5.8.10 Proposizione. Se V possiede un insieme generante numerabile X = {x1 , x2 , . . .}, allora esiste un sottoinsieme N ⊂ N tale che xi i∈N è una base di V. D. Definiamo la funzione f : N → {0, 1} nel modo seguente: Se xn è combinazione lineare di (x1 , . . . , xn−1 ) poniamo f (n) = 0, altrimenti poniamo f (n) = 1. Sia N = f −1 ({1}). Allora xi i∈N è l’insieme di tutti gli xi che non possono essere ottenuti come combinazione lineare dei precedenti. Chiaramente xi i∈N è ancora generante. Dobbiamo dimostrare che è anche linearmente indipendente. Assumiamo il contrario, cioè esistano n ∈ N e λi ∈ K (i ∈ N, i ≤ n) tali che X λi xi = 0 e λ j , 0 i∈N∩{1,...,n} per almeno un j ∈ N, j ≤ n. Possiamo scegliere n come il numero più grande fra tutti questi j, quindi λn , 0. In altre parole, X λi xn = − xi , λn i∈N∩{1,...,n−1} contraddicendo l’ipotesi n ∈ N. Diciamo che un operatore T ∈ L(V, W) manda la famiglia xi famiglia T xi i∈I di elementi T xi ∈ W. i∈I di elementi xi ∈ V sulla 5.8.11 Corollario. Un operatore T ∈ L(V, W) è surgettivo, se e solo se pone una base (e quindi tutte le basi) su una famiglia generante. È iniettivo, se e solo se pone una base (e quindi tutte le basi) su una famiglia linearmente indipendente. Quindi, T è biettivo, se e solo se pone una base (e quindi tutte le basi) su una base. 5.8. Basi e dimensione 91 D. L’unica cosa, che ci mancava ancora per concludere con l’aiuto della Proposizione 5.8.8 sull’iniettività, era l’esistenza di una base. Adesso vogliamo dimostrare che la cardinalità delle basi di uno spazio vettoriale è unica, per definire poi la dimensione dello spazio come tale cardinalità. Ci limitiamo (più o meno) al caso di basi finite, menzioniamo però, che quasi tutti risultati valgono (forse con qualche variazione) per cardinalità infinite. 5.8.12 Lemma. Sia n ∈ N e 0 , x ∈ Kn . Allora esiste un sottospazio V ⊂ Rn tale che Kn = V ⊕ Kx. Qualunque sia lo sottospazio con questa proprietà, vale sempre V Rn−1 . In particolare, tutti i sottospazi con questa proprietà sono isomorfi fra di loro. D. Dimostriamo prima che, dopo una permutazione delle coordinate, Kn = Kn−1 ⊕ Kx. Infatti, x = (λ1 , . . . , λn ) dove almeno una delle λi è diversa da 0. Supponiamo che λn , 0 (altrimenti applichiamo una permutazione opportuna). Ne segue, che en = x − λ1 e1 − . . . − λn−1 en−1 λn è una combinazione lineare di x e degli ei (i = 1, . . . , n − 1), cioè la n–upla (e1 , . . . , en−1 , x) è generante. È anche linearmente indipendente perché in 0 = λ1 e1 + . . . + λn−1 en−1 + λn x la coordinata λn xn , 0 di λn x non può mai essere eliminata da nessuna combinazione lineare degli (e1 , . . . , en−1 ), cioè per forza vale λn = 0, e gli (e1 , . . . , en−1 ) rimasti sono ancora linearmente indipendenti, quindi λi = 0 per ogni i. Dalla Proposizione 5.7.6 segue che Rn = [(e1 , . . . , en−1 , x)] = [(e1 , . . . , en−1 )] ⊕ Kx = Kn−1 ⊕ Kx. Questa è l’esistenza di V = Rn−1 : Adesso sia V ⊂ Rn con Kn = V ⊕ Kx arbitrario. Allora per ogni ei (i = 1, . . . , n − 1) esistono un unico vi ∈ V e un unico λi ∈ K tali che ei = vi + λi x. I vi sono generanti per V. (Ovviamente, [(v1 , . . . , vn−1 , x)] = [(e1 , . . . , en−1 , x)] = Rn . Allora, ogni v ∈ V può essere scritto come v = µ1 v1 + . . . + µn−1 vn−1 + µx = v0 + µx, dove v0 = µ1 v1 + . . . + µn−1 vn−1 ∈ V. Quindi, v = v + 0x = v0 + µx e per l’unicità della decomposizione nella somma diretta Rn = V ⊕ Kx segue µ = 0 e v = v0 ∈ [(v1 , . . . , vn−1 )].) E sono linearmente indipendenti. (Se 0 = λ1 v1 + . . . + λn−1 vn−1 = λ1 e1 + . . . + λn−1 en−1 + (λ1 + . . . + λn−1 )x, allora, in particolare, λi = 0 per ogni i = 1, . . . , n − 1.) Quindi (v1 , . . . , vn−1 ) è una base di V, e secondo il Corollario 5.8.6 ei 7→ vi (i = 1, . . . , n − 1) definisce un operatore che secondo la Proposizione 5.8.8 é un isomorfismo. 5.8.13 Lemma. Kn Km se e solo se n = m. Capitolo 5. Algebra lineare 92 D. Possiamo supporre che n ≥ m. Procediamo con l’induzione per n ∈ N0 . Per n = 0 non c’è proprio nulla da dimostrare, perché l’unico m ≤ n è m = 0. Supponiamo che per un certo n ∈ N0 valga n ≥ m, Kn Km allora n = m. Supponiamo poi che m ≤ n + 1 e che T ∈ L(Kn+1 , Km ) sia un isomorfismo. Quindi la restrizione T |Kn è un isomorfismo sul sottospazio V = T (Kn ) di Km e x = T en+1 è un vettore non zero, tale che Km = V ⊕ Kx. Secondo il lemma precedente segue che V Km−1 . Quindi Kn Km−1 , n ≥ m − 1, allora secondo l’ipotesi n = m − 1 o, ugualmente, n + 1 = m. 5.8.14 Teorema. Sia V uno spazio vettoriale su K con la base xi i=1,...,n . Sia W uno spazio vettoriale isomorfo con la base y j j∈J . Allora #J = n. In particolare, ogni base di V ha la cardinalità n. D. Se #J = m è finito possiamo limitarci al caso Kn Km ed il lemma precedente tramite gli isomorfismi associati con le basi. Supponiamo allora che #J sia infinito. Ma questo ci porterebbe un numero infinito di vettori linearmente indipendenti in Rn V. Un argomento simile ai precedenti ci dice che Rn−1 V 0 dove V 0 ha la base infinita. Con l’induzione arriviamo all’assurdo {0} = R0 V (n) , dove anche V (n) sarebbe uno spazio con la base infinita. 5.8.15 Definizione. Diciamo che V ha la dimensione dim V = n se ha una base di cardinalità n. Se non possiede una base finita allora poniamo dim V = ∞. 5.8.16 Corollario. Due spazi vettoriali V, W su K, fra di quali almeno uno è di dimensione finita, sono isomorfi se e solo se dim V = dim W. 5.8.17 Nota. Si può dimostrare che la relazione di equivalenza indotta dall’equipotenza delle basi, corrisponde esattamente alla classificazione degli spazi vettoriali su K meno di isomorfismo. Cioè la cardinalità delle basi di uno spazio vettoriale è unica, e due spazi vettoriali su K sono isomorfi se e solo se possiedono basi di cardinalità uguali. Osserviamo anche, che per ogni insieme I il sottospazio di RI di tutte le famiglie con un numero finito di coefficienti diversi da zero (s.v. Corollario 5.8.5) è uno spazio vettoriale con base ei i∈I dove ei = δi j j∈I è la famiglia dove l’ie–esimo coefficiente 1 e tutti gli altri 0. Quindi per ogni cardinalità esiste uno spazio vettoriale con una base della stessa cardinalità. 5.8.18 Corollario. dim Rn = n. Allora se n , m, nessuna matrice in Mnm è invertibile. Chiudiamo con la discussione della dimensione di sottospazi. 5.8.19 Proposizione. Sia V ⊂ Kn (n ∈ N) un sottospazio. Allora dim V ≤ n e dim V = n ⇐⇒ V = Kn . D. Sia y j j∈J una base di V. Come nella dimostrazione della Proposizione 5.8.10 possiamo aumentare gli y j con elementi di un insieme generante di Kn (per esempio con elementi della base canonica) per ottenere una base di Kn che contiene la base di V. Secondo il Teorema 5.8.14 la cardinaltità di questa base nuova di Kn è sempre n, quindi la cardinalità della base di V non è più grande di n, ossia m := dim V ≤ n. Inoltre, se V , Kn , la cardinalità della base nuova è strettamente più grande di m, perché dobbiamo aumentare la base di V di almeno un vettore. 5.9. Appendice: Il lemma di Zorn e l’esistenza di basi 5.9 93 Appendice: Il lemma di Zorn e l’esistenza di basi Il lemma di Zorn è un’affermazione che equivale all’assioma della Scelta (lo spazio prodotto i∈I Ai di una famiglia Ai i∈I di insiemi Ai non è vuoto) e serve per stabilire l’esistenza in di oggetti matematici in tanti teoremi. Qui vogliamo usarlo per dimostrare l’esistenza di una base (e qualcosa di più) in ogni spazio vettoriale su un campo K (che costituisce una delle differenze più fondamentali fra spazi vettoriali e moduli su anelli più generali). Prima di poter formularlo, però, ci serve un pò di notazione. 5.9.1 Definizione. Sia (A, ≤) un ordinamento parziale. Un elemento a ∈ A è massimale, se b ∈ A, a ≤ b implica a = b. Sia B un sottoinsieme di A. Un elemento a ∈ A è un maggiorante di B, se b ≤ a per ogni b ∈ B. (A, ≤) è un ordinamento parziale induttivo, se ogni sottoinsieme totalmente ordinato B di A possiede un maggiorante a in A. 5.9.2 Lemma di Zorn. Ogni ordinamento parziale induttivo possiede un elemento massimale. Nelle usuali applicazioni del lemma di Zorn l’ordinamento parziale A è un sottoinsieme dell’ordinamento parziale (P(Ω), ⊂). Cioè A è un insieme di sottoinsiemi di Ω , ∅. Un sottoinsieme B di A è ordinato totalmente, se per ogni coppia di elementi X1 , X2 ∈ B (cioè sottoinsiemi di X1 , X2 ⊂ Ω che sono elementi dell’insieme B che contiene sottoinsiemi di Ω) vale X1 ⊂ X2 o X2 ⊂ X1 . D T 5.8.9. Sia V , {0} uno spazio vettoriale sul campo K. (Per V = {0} l’insieme vuoto è una base.) Sia A l’insieme di tutti i sottoinsiemi X ⊂ V, tale che la famiglia x x∈X è linearmente indipendente. (i) Dimostriamo che (A, ⊂) è induttivo, quindi secondo il lemma di Zorn possiede un elemento massimale. Infatti, sia B ⊂ A tale che X1 ⊂ X2 o X2 ⊂ X1 per ogni X1 , X2 ∈ B. Poniamo S Y = X∈B X. Chiaramente X ⊂ Y per ogni X ∈ B. Dobbiamo solo dimostrare che y y∈Y è linearmente indipendente, cioè Y ∈ A. Allora siano y1 , . . . , yn elementi (diversi fra di loro) di Y. Per ogni i = 1, . . . , n esiste, quindi, un Xi ∈ B tale che yi ∈ Xi . Per causa dell’ordinamento totale di B, fra il numero finito di insiemi X1 , . . . , Xn ci deve essere un Xk più grande, cioè Xi ⊂ Xk per ogni i (dimostrazione con induzione per n). Quindi yi ∈ Xk per ogni i cosicché i yi sono linearmente indipendenti perché Xk è linearmente indipendente. (ii) Dimostriamo che se Y è un elemento massimale di A, allora y y∈Y è una base. Basta di dimostrare che nel caso contrario Y non potrebbe essere un elemento massimale. Quindi Capitolo 5. Algebra lineare 94 supponiamo che esista v ∈ V, v < [Y]. Allora Y ∪ {v} è linearmente indipendente, cioè Y ∪ {v} è un elemento di A strettamente più grande di Y, contraddicendo cosı̀ la massimalità di Y. 5.9.3 Teorema. Siano xi una famiglia linearmente indipendente di uno spazio vettoriale V e Y ⊂ V un insieme generante. Allora esiste una base z j j∈J di V tale che I ⊂ J, yi = xi per i∈I ogni i ∈ I e y j ∈ Y per ogni j ∈ J, j < I. D. Molto simile alla dimostrazione precedente. Solo che adesso scegliamo con A l’insieme di tutti i sottoinsiemi di {xi : i ∈ I}∪Y che sono linearmente indipendenti e contengono {xi : i ∈ I}. 5.9.4 Corollario. Da ogni sottoinsieme generante Y possiamo scegliere una base. D. Basta di scegliere nel teorema come base xi i∈I la famiglia vuota (cioè I = ∅) che è linearmente indipendente. 5.9.5 Corollario. Per ogni sottospazio U ⊂ V esiste un sottospazio W ⊂ V tale che V = U ⊕ W. D. Basta di scegliere una base xi i∈I di U e costruire da un sottoinsieme generante arbitrario una base z j j∈J che “contiene” xi i∈I (nel senso spiegato nel teorema). Allora W := [z j : j < I] ha la proprietà desiderata. 5.9.6 Corollario. Dal Corollario 5.5.6 segue che V T (V) ⊕ ker T per ogni operatore T . 5.9.7 Teorema. Sia y j una base e xi una famiglia linearmente indipendente. Allora esiste un sottoinsieme J ⊂ J ed una biezione f : J 0 → I, tali che la famiglia y0j j∈J con j∈J i∈I 0 x f ( j) 0 y j := y j j ∈ J0 j < J0 è una base. D. Anche questa è un’applicazione (già abbastanza impegnativa) del lemma di Zorn simile ai casi precedenti, però con ordinamento parziale A un po più raffinato. Qui A è l’insieme di tutte le coppie (I 0 , g) di sottoinsiemi I 0 ⊂ I ed iniezioni g : I 0 → J tali che gli elementi di {xi : i ∈ I 0 } ∪ {y j : j < g(I 0 )} formano una base. I 0 = ∅ con la sola iniezione ∅ → J che non pone nessun elemento di ∅ a nessun elemento di J è una tale coppia, quindi A non è vuoto. Su A definiamo un ordinamento parziale come (I10 , g1 ) ≤ (I20 , g2 ) ⇐⇒ I10 ⊂ I20 e g2 |I10 = g1 . Questo basta per garantire l’induttività di (A, ≤) e quindi l’esistenza di un elemento massimale 5.10. I numeri complessi 95 (come nel Passo (i) di sopra). Poi occorre la generalizzazione del Lemma 5.8.12 da Rn a spazi vettoriali arbitrari (sostituzione di un singolo vettore in una base) per stabilire che un elemento −1 massimale (I 0 , g) debba soddisfare I 0 = I (e con ciò f := g|g(I) è una biezione da J 0 := g(I) su I, che ha tutte le proprietà desiderate). 5.10 I numeri complessi Non tutti i polinomi reali possiedono una radice. Per essempio, non esiste nessun x ∈ R, che √ risolve l’equazione p(x) = x2 +1 = 0 o, ugualmente, in R non esiste una radice quadrata −1 di −1. Però, il desiderio di introdurre un’estensione del campo dei numeri reali R, cioè un campo che contiene R come sottocampo, nel quale esiste un elemento immaginario ı tale che ı2 = −1, non era nato perché ogni equazione polinomiale abbia almeno una soluzione. Fu piuttosto la formula di Cardano, che esprime le tre radici reali di un polinomio reale (se esistono) con l’aiuto di un tale numero ı finora solamente immaginato, la ragione per la quale occuparsi seriamente di numeri complessi. I primi culmini sono il teorema fondmentale dell’algebra di Gauß, che afferma che ogni polinomio complesso abbia almeno una radice complessa, e la teoria di Galois, che risponde fra l’altro alla domanda quando esista un formula algebrica (coinvolgendo solo potenze razionali) per le radici di un polinomio. Non possiamo approfondirlo. Invece ci limitiamo a costruire i numeri complessi. Cerchiamo un campo C ⊃ R, che contiene un elemento ı tale che ı2 = −1. Supponiamo che esista un tale campo e supponiamo anche che sia al più piccolo possibile. (È possibile di dimostrare l’esistenza con mezzi astratti, quindi non commettiamo errori se assumiamo per il momento l’esistenza, che sarà comunque stabilita dopo.) Come ogni campo (o anello) è uno spazio vettoriale su un suo sottocampo qualsiasi, anche C è uno spazio vettoriale sul suo sottocampo R. 5.10.1 Proposizione. 1 è ı sono linearmente indipendenti. D. Siano x, y ∈ R tali che x1 + yı = 0. Allora 0 = (x1 + yı)(x1 − yı) = (x1)2 − (yı)2 = x2 + y2 . (5.10.1) La somma di due quadrati di numeri reali è 0 se e solo se tutti e due sono 0. Quindi x = y = 0 cosicché 1 e ı sono linearmente indipendenti. 5.10.2 Proposizione. Il sottospazio {x1 + yı : x, y ∈ R} di C è chiuso alle operazioni del campo Capitolo 5. Algebra lineare 96 C e quindi uguale a C. Più precisamente, il prodotto di x1 + yı e u1 + vı è (x1 + yı)(u1 + vı) = x1u1 + x1vı + yıu1 + yıvı = (xu − yv)1 + (xv + yu)ı. L’esistenza di C presupposta, abbiamo finito. C come spazio vettoriale è R2 ed il prodotto è (x, y)(u, v) = (xu − yv, xv + yu). (5.10.2) Identifichiamo sempre (x, y) = x1 + yı = x + ıy. Senza supporre l’esistenza adesso verrebbe la verifica degli assiomi del gruppo abeliano (C∗ , ·) e della legge distributiva. Vediamo, però, fra qualche istante come possiamo identificare C come sottoanello (in questo caso, come sottoalgebra) di M2 . Questo ci fornisce anche un’altra interpretazione del prodotto di numeri complessi. Prima occorre un po di preparazione geometrica. Il numero reale x2 + y2 che abbiamo calcolato nella (5.10.1) (e poi posto a 0) ha il significato del quadrato della lunghezza del vettore p (x, y) nel piano R2 . Per z = x + ıy ∈ C definiamo |z| = x2 + y2 . I numeri x0 = |z|x e y0 = |z|y soddisfano x02 + y02 = 1 e, quindi, esiste un unico angolo ϕ ∈ [0, 2π) tale che x0 = cos ϕ, y0 = sin ϕ oppure x = |z| cos ϕ, y = |z| sin ϕ. R y 6 z = x + ıy ∈ C 1 |z| sin ϕ 1 ϕ cos ϕ 1 x - R Figura 5.1: I coordinate polari (|z| , ϕ) e i coordinate cartesiane (x, y) di z ∈ C2 . La forma delle coordinate del prodotto nella (5.10.2) ci dovrebbe ricordare del prodotto di matrici di rotazioni dell’Esempio 3.3.3. Una rotazione in R2 di un angolo ϕ aveva la forma Rϕ = cos ϕ − sin ϕ . L’azione di Rϕ su un elemento (u, v) ∈ R2 risulta in ((cos ϕ)u − (sin ϕ)v, (sin ϕ)u + sin ϕ cos ϕ 5.10. I numeri complessi 97 (cos ϕ)v). Quindi l’azione di z |z| z) su w = u + ıv secondo w 7→ (o, più precisamente, del prodotto |z|1 z dello scalare 1 |z| e del vettore z w |z| non è altro che la rotazione Rϕ . Adesso è chiaro che l’azione x −y u −v w→ 7 zw di z = x + ıy è data dalla matrice yx −y e che il prodotto di matrici e v u è lo x y x stesso come nella (5.10.2). Questo stabilisce che C2 è un anello e x −y x + ıy 7−→ y x è un isomorfismo di anelli sul sottoanello di M2 che consiste di tutte le matrici x −y y x (x, y ∈ R). Per verificare che tutti e due sono campi basta di stabilire che la moltiplicazione sia commutativa (osserviamo che le rotazioni sono un gruppo abeliano e che la moltiplicazione con |z| corrispon de al multiplo |z|0 |z|0 dell’identità I2 ) e di trovare gli inversi degli elementi diversi da zero di C. Per quest’ultima impresa osserviamo che secondo il calcolo nella (5.10.1) vale |z|2 = zz̄, dove abbiamo definito il coniugato z̄ del numero complesso z = x + ıv come z̄ := x − ıy. Da questo segue che z zz̄ z̄ = = 1 2 zz̄ |z| oppure z̄ = z−1 , |z|2 per ogni z , 0 (cosicché |z| , 0). 5.10.3 Definizione. Chiamiamo C il campo dei numeri complessi o il campo complesso. Inoltre, per ogni z = x + ıy ∈ C chiamiamo Re z = x = z + z̄ 2 e Im z = y = z − z̄ , 2ı rispettivamente, la parte reale e la parte immaginaria di z. Notiamo che z 7→ z̄ è un automorfismo di campi. In altre parole, non c’è nessun modo per distinguere fra le radici ı e −ı di −1. Ma questo è proprio l’unico automorfismo di C. (±ı sono le uniche radici di −1 e, per forza, un automorfismo deve porre una radice di −1 su una radice di −1. Infatti, un automorfismo pone 1 su 1, allora anche −1 su −1. Quindi una radice quadrato di −1 ha anche dopo l’applicazione dell’automorfismo il quadrato −1.) Chiudiamo con un’affermazione negativa su un possibile ordinamento totale di C compatibile con quello di R ⊂ C. 5.10.4 Proposizione. Non esiste nessun ordinamento totale su C che estende l’ordinamento di R ⊂ C e che soddisfa z ≥ 0, w ≥ 0 =⇒ zw ≥ 0. Capitolo 5. Algebra lineare 98 D. Se esistesse un tale ordinamento totale, varrebbe o ı > 0 o ı < 0 (perché ı , 0). Supponiamo prima che ı > 0. Ne seguirebbe ıı = ı2 = −1 > 0, allora ı non può essere > 0. Quindi supponiamo allora che ı < 0 oppure −ı = (−1)ı > 0. Ma ne seguirebbe comunque (−ı)(−ı) = −1 > 0. Contraddizione. 5.10.5 Nota. Con z ≥ 0 per un numero complesso, s’intende che z ∈ R ⊂ C e come elemento di R vale z ≥ 0. 5.10.6 Esercizio. Definiamo la funzione esponenziale come e x+ıy := e x eıy dove eıy := cos y + ı sin y è nota come formula di Euler. Verificare prima che eıϕ eıψ = eı(ϕ+ψ) per ogni ϕ, ψ ∈ R (ricordarsi dell’Esempio 3.3.3) e poi che ez ew = ez+w per ogni z, w ∈ C. 5.10.7 Nota. Una definizione analitica della funzione esponenziale è come serie di potenza z e = ∞ n X z n=0 n! . (Prima occorre di definire che cosa sia un limite di numeri complessi servendosi della distanza |z − w| fra due numeri complessi z e w.) Non è difficile di verificare l’equazione funzionale ez ew = ez+w per le serie di potenza, dalla quale segue subito sia che e x+ıy = e x eıy sia che eıϕ eıψ = eı(ϕ+ψ) . Ponendo cos ϕ := Re eıϕ e sin ϕ := Im eıϕ otteniamo una definizione analitica delle funzioni cos e sin. (Questo vale per argomenti reali. Per argomenti ız −ız ız −ız e sin z = e −e complessi si definisce cos z = e +e 2 2ı .) Da questa definizione seguono (fra l’altro) subito i teoremi dell’addizione cos(ϕ + ψ) = Re(eı(ϕ+ψ) ) = Re(eıϕ eıψ ) = cos ϕ cos ψ − sin ϕ sin ψ sin(ϕ + ψ) = Im(eı(ϕ+ψ) ) = Im(eıϕ eıψ ) = cos ϕ sin ψ + sin ϕ cos ψ, e le serie di potenza cos ϕ = ∞ X (−1)n ϕ2n n=0 (2n)! sin ϕ = ∞ X (−1)n ϕ2n+1 n=0 (2n + 1)! (tutte valide anche per argomenti complessi). Per niente facile, però, è dimostrare sia che cos e sin sono funzioni periodiche (con il periodo che denotiamo con 2π, cioè cos(ϕ + 2π) = cos ϕ e sin(ϕ + 2π) = sin ϕ), sia che il valore dell’argomento ϕ corrisponde alla lunghezza dell’arco che il punto eıψ corre nel piano complesso C = R2 (sul cerchio della Figura 5.1) quando ψ va da 0 a ϕ. 5.11. Equazioni lineari 5.11 99 Equazioni lineari Un’equazione lineare in R è un’equazione della forma ax = b, dove a, b ∈ R sono dati e dove cerchiamo tutti gli x che dovrebbero soddisfare l’equazione. (La forma ax + b = c si trasforma in ax = c − b, quindi non è più generale.) È facile notare che finché a , 0, l’unica soluzione dell’equazione è x = ba . Se l’equazione fosse un’equazione fra elementi di un anello, vedremo subito che la proprietà decisiva di a non è quella di essere diverso da zero, ma piuttosto quella di essere invertibile. Neanche in un dominio di integrità l’equazione ax = b con a , 0 deve possedere necessariamente una soluzione. Per esempio, non esiste nessun polinomio p che risolve l’equazione q1 p = q2 in R[x] quando d(q2 ) < d(q1 ). Se a non è invertibile (cioè in nostro caso a = 0, quindi l’equazione da soddisfare sarebbe 0x = b), allora o b = 0, cosicché tutti x ∈ R sono soluzioni, o b , 0 e l’equazione non ha nessuna soluzione. Il primo caso, b = 0, corrisponde all’equazione 0x = 0, che è superflua, mentre il secondo caso, b , 0, corrisponde all’equazione 0x = b , 0, che è impossibile da soddisfare. Un’equazione lineare (astratta) fra spazi vettoriali V e W su un campo K è un equazione della forma Ax = b, dove l’operatore A ∈ L(V, W) e il vettore b ∈ W sono dati e dove cerchiamo l’insieme delle soluzioni LA,b = {x ∈ V : Ax = b}. Spesso scriviamo solo L quando è chiaro quali siano A e b. Se V = Km e W = Kn , cosicché A ∈ L(Km , Kn ) = Mnm (K) è una matrice n × m ad entrate in K, allora Ax = b diventa il sistema di equazioni lineari a11 . . . a1m x1 a11 x1 + . . . + a1m xm b1 . . .. .. .. .. .. = = . . . an1 . . . anm xm an1 x1 + . . . + anm xm bn (5.11.1) con n equazioni per m ignoti x j . 5.11.1 Notazione. È opportuno di considerare la matrice A ∈ Mnm (K) come m–upla (a1 , . . . , am ) di vettori ai = (a1i , . . . , ani ) ∈ Kn scritti come colonne (come nella Nota 5.2.8). a11 a1m a11 . . . a1m . . .. .. .. = (a1 , . . . , am ) = , . . . , A = .. . . anm an1 . . . anm an1 (5.11.2) Capitolo 5. Algebra lineare 100 5.11.2 Esercizio. Verificare che per A = (a1 , . . . , am ) ∈ Mnm (K) nella notazione della (5.11.2) Ax = x1 a1 + . . . + xm am T A = (T a1 , . . . , T am ) per ogni x ∈ Km e per ogni T = Mkn (K). Per la prima uguaglianza si guardi bene la parte intermedia della (5.11.1). La seconda significa che la matrice T agisce dalla sinistra colonna per colonna sulla matrice A = (a1 , . . . , am ) di colonne ai . (Attenzione: Per il prodotto AT è sbagliato! Qui occorre la decomposizione di A in righe, cosicché T agisce dalla destra riga per riga.) Anche qui, se A è invertibile allora per ogni b ∈ W troviamo un’unica soluzione x = A−1 b. Viceversa se per ogni b ∈ W esiste un’unica soluzione x di Ax = b, allora la funzione b 7→ x è chiaramente un’inversa di A. Ma sappiamo, per esempio, che nessuna matrice A ∈ Mnm è invertibile se n , m. Comunque, può capitare che fra n > m equazioni per m ignoti alcune sono superflue come la 0 = 0 di sopra (cosicché le possiamo cancellare senza cambiare l’insieme delle soluzioni L). Però, anche se n = m può capitare che alcune delle equazioni sono superflue (0 = 0) o contraddittorie (0 = b , 0) e cosı̀ troviamo più soluzioni o non troviamo nessuna soluzione. Vediamo che sia l’unicità sia l’esistenza di soluzioni non sono problemi banali. Una ricetta per trovare la soluzione generale deve funzionare nonostante questi ostacoli e o ci deve dare proprio tutte le soluzioni o deve risultare in criteri chiari per la non-esistenza di soluzioni. L’algoritmo di Gauß, che discuteremo dopo, soddisfa tutte queste richieste. Inoltre, è l’algoritmo più economico, e anche facile da eseguire sulla carta. (A dire il vero, è più facile da eseguire personalmente sulla carta, che programmarlo in piena generalità. La ragione consiste nel fatto che nonostante il suo meccanismo sia molto chiaro, in ogni passo c’è un certo numero di casi da distinguere.) Prima, però, di discutere l’algoritmo, studiamo un po la struttura generale di L. Osserviamo che Ax = b ha una soluzione, se e solo se b ∈ A(V). Supponiamo di avere due soluzioni x, x0 ∈ L, cioè Ax = b e Ax0 = b. Quindi se prendiamo la differenza di queste due equazioni, otteniamo A(x0 − x) = 0 o x0 := x0 − x ∈ ker A. Quindi, se x è una soluzione, allora qualunque sia la soluzione x0 la otteniamo nella forma x0 = x + x0 dove x0 è un (unico) elemento del nucleo ker A. Viceversa, per ogni x0 ∈ ker A, anche x0 = x + x0 è una soluzione. Abbiamo dimostrato: 5.11.3 Proposizione. La soluzione generale dell’equazione non omogenea Ax = b è la somma x0 = x + x0 di una soluzione particolare x0 dell’equazione non omogenea e della soluzione 5.11. Equazioni lineari 101 generale x0 dell’equazione omogenea Ax = 0. In altre parole, LA,b = x + ker A := x + x0 : x0 ∈ ker A , dove x ∈ LA,b è una soluzione particolare. Vediamo che sia l’immagine A(V) di A sia il nucleo ker A di A giocano ruoli importantissimi nello studio di LA,b . 5.11.4 Nota. Per b1 , b2 ∈ W con b1 , b2 vale LA,b1 ∩LA,b2 = ∅. (Esercizio!) Inoltre l’unione di tutti LA,b (b ∈ A(V)) è V, perché per ogni x ∈ V c’è pure b = Ax, tale che x ∈ LA,b . Quindi LA,b (b ∈ A(V)) è una partizione di V. Infatti, {LA,b : b ∈ A(V)} è proprio lo spazio quoziente V/ ker A, perché ad ogni x + ker A corrisponde uno ed un solo b = Ax ∈ A(V) tale che x + ker A = LA,b . Inoltre, vale (esercizio!) LA,b1 + λLA,b2 = LA,b1 +λb2 . Quindi abbiamo che V/ ker A {LA,b : b ∈ A(V)} A(V) e cosı̀ abbiamo ridimostrato il teorema di omomorfismo per spazi vettoriali. Sottoinsiemi S di uno spazio vettoriale V della forma S = x + U, dove U ⊂ V è un sottospazio, si chiamano sottospazi affini. Sono caratterizzati proprio dal fatto che {x1 − x2 : xi ∈ S } =: U è un sottospazio di V. Se U è una retta attraverso l’origine (s.v. l’Esempio 5.3.4), allora diciamo x + U è una retta attraverso x. Se U è un piano attraverso l’origine, allora diciamo x + U è un piano attraverso x. Siano Ai ∈ L(V, Wi ) e bi ∈ Wi . Definiamo A ∈ L(V, W1 ⊕ W2 ) come Ax = A1 x ⊕ A2 x e definiamo b = b1 ⊕ b2 ∈ W1 ⊕ W2 . Allora l’intersezione dei sottospazi affini LAi ,bi (i = 1, 2) è LA1 ,b1 ∩ LA2 ,b2 = LA,b . In questo modo si possono comprendere e studiare intersezioni di piani e rette nel R3 e nel R2 . Adesso torniamo al problema di trovare in modo sistematico tutte le soluzioni di sistemi di equazioni lineari. Con “sistematico” intendiamo che il metodo dovrebbe funzionare per un qualsiasi sistema. È chiaro che per la soluzione di un sistema concreto esistono quasi sempre metodi più eleganti o più diretti. Ma anche se nel caso particolare questi metodi ci portano alla soluzione più velocemente, hanno quasi sempre il difetto di non funzionare per molti altri esempi. Ci orientiamo al caso 2 × 2. 5.11.5 Esempio. Vogliamo trovare la soluzione generale (x, y) ∈ L ⊂ R2 per il sistema ax + by = e cx + dy = f, (5.11.3) Capitolo 5. Algebra lineare 102 dove A = a b cd ∈ M2 e dove (e, f ) ∈ R2 . Come si fa? Di solito cerchiamo di eliminare la prima variabile x moltiplicando la prima equazione con c, la seconda con a e prendendo la differenza delle due. Per non dimenticarci del fatto che avevamo due equazioni, conserviamo anche la prima. Allora: ax + by = e cx + dy = f (1) → (1) −−−−−−−−−−−−−−→ (2) → a(2)−c(1) ax + by = e 0x + (ad − cb)y = a f − ce. Questo funziona sempre. Però se a = 0 abbiamo perduto ogni informazione su x. (Si vede dal fatto che, se a = 0 non c’è nessun modo di ricostruire dall’ultima coppia di equazioni quella originale.) Se a , 0 una qualsiasi soluzione y della seconda equazione inserita nella prima, ci determina un unico x ∈ L come e − by . (5.11.4) a Ricordiamoci che il fattore davanti la y nella seconda equazione è ab − cb = det(A) (come x = definito davanti il Teorema 3.3.5). Quindi, se det(A) , 0, c’è un’unica soluzione y = a f − ce , ad − cb che insieme con la (5.11.4) determina un’unica soluzione del sistema nella (5.11.3). Se invece det(A) = 0, allora troviamo = 0 =⇒ y arbritrario e x determinato dalla (5.11.4), 0y = 0 = a f − ce , 0 =⇒ nessuna soluzione. Questa è la discussione completa del caso a , 0. Se, invece, a = 0, può darsi che almeno c , 0. Allora scambiamo semplicemente la prima e la seconda equazione e procediamo come sopra. Se a = c = 0, allora le due equazioni 0x + by = by = e 0x + dy = dy = f non ci dicono proprio niente su x. Quindi qualunque sia x ∈ K, se troviamo una soluzione y di queste due equazioni per la sola variabile y, allora (x, y) ∈ K2 è una soluzione della (5.11.3). Possiamo ripetere per y tutto quello che abbiamo fatto sopra per x, cioè se b , 0, allora la prima equazione può essere usata sia per determinare y = e b con la prima sia per eliminare y dalla seconda. Il risultato dell’eliminazione è 0y = 0 = b f − de. 5.11. Equazioni lineari 103 Quindi se b f − de = 0 abbiamo la soluzione y = be , x ∈ K arbitrario. Se b f − de , 0, allora il sistema non ha nessuna soluzione. Se b = 0 ma d , 0, possiamo scambiare le due equazioni e procedere come nel caso b , 0. Se b = d = 0, allora abbiamo solo due equazioni 0x + 0y = 0 = e 0x + 0y = 0 = f. Ovviamente, hanno una soluzione se e solo se e = f = 0, e in questo caso L è l’intero spazio K2 . In termini generali, che cosa abbiamo fatto? Abbiamo cercato una riga i del sistema, dove il coefficiente ai1 davanti alla prima variabile x1 non è 0. Se i , 1 scambiamo la prima riga con l’i–esima. Poi abbiamo usato questa (nuova) prima riga per eliminare la variabile x1 da tutte le altre righe, sottraendo multipli opportuni della prima riga dalle altre. Il risultato è un sistema di equazioni dove la prima equazione non è cambiata e dove quelle rimaste non contengono più la prima variabile. Usando anche un pò la Notazione 5.11.1 delle colonne abbiamo, schematicamente, trasformato a11 a12 . . . a1m b1 . .. .. .. .. . . . ai1 ai2 . . . aim bi . .. .. .. .. . . . an1 an2 . . . anm bm in ai1 0 .. . 0 aim bi , (ã2 , . . . , ãm , b̃) ai2 ... dove à = (ã2 , . . . , ãm ) ∈ M(n−1)(m−1) (K) e b̃ ∈ Kn−1 forniscono un sistema di n − 1 equazioni lineari Ã(x2 , . . . , xm ) = b̃ per gli m − 1 ignoti x2 , . . . , xm e dove ogni tale soluzione determina una soluzione (x1 , x2 , . . . , xm ) di Ax = b calcolando x1 con l’aiuto della prima riga (ai1 , 0 !) come bi − (ai2 x2 + . . . + aim x − m) . ai1 Se invece l’intera colonna a1 è zero, allora notiamo che x1 ∈ K è libero e che occorre di guardare x1 = il sistema Ã(x2 , . . . , xm ) = b̃ di n equazioni per gli m − 1 ignoti x2 , . . . , xm con la matrice à = (a2 , . . . , am ) ∈ Mn(m−1) (K) e il vettore b̃ = b ∈ Kn . Abbiamo, quindi, in ogni caso ridotto il problema della soluzione di un sistema (A, b) = (a1 , . . . , am , b) per m variabili alla soluzione di un sistema (Ã, b̃) = (ã2 , . . . , ãm , b̃) per m − 1 variabili, insieme con la conoscenza o come x1 deve essere calcolata dagli altri o che x1 può essere scelto liberamente da K. È chiaro che questa procedura di eliminazione di variabili, se funziona, termina dopo al massimo m passi. Precisiamo dopo sia la sua formulazione esatta sia come è fatta la forma Capitolo 5. Algebra lineare 104 finale e come si estraggono le soluzioni del sistema originale. Prima ci dobbiamo assicurare che quello che facciamo non cambi l’insieme delle soluzioni L. Iniziamo con un lemma. La sua dimostrazione elementare (servendosi dell’Esercizio 5.11.2) la lasciamo come esercizio. 5.11.6 Lemma. Sia Ax = b (A ∈ L(V, W), b ∈ W) un’equazione lineare e sia T ∈ L(W) invertibile. Allora LA,b = LT A,T b , cioè l’equazione Ax = b e l’equazione (T A)x = T b hanno le stesse soluzioni. Quindi, nel caso di un sistema con n equazioni lineari per m ignoti, cioè A ∈ L(Rm , Rn ), b ∈ Rn con le soluzioni x ∈ LA,b ⊂ Rm , dobbiamo dimostrare che le manipolazioni che vogliamo eseguire (cioè scambio di due coordinate o aumento di una coordinata con un multiplo di un’altra) sono effettuate applicando matrici invertibili sul sistema e, quindi, non cambiano L. Ci limitiamo ad osservare che tutte e due tipi di operazioni sono chiaramente invertibili. (La prima è una trasposizione di coordinate, quindi è autoinversa, e la seconda è annullabile sottraendo lo stesso multiplo.) Poi basta di osservare che le operazioni come funzioni su Rn sono tutte e due lineari, quindi sono rappresentate da matrici invertibili. Per vedere le matrici opportune ci riferiamo all’appendice della Sezione 5.12. Abbiamo quindi a disposizione matrici invertibili che su un vettore y ∈ Rn hanno l’effetto di scambiare coordinate o di addizionare una coordinata con un multiplo di un’altra. Prendendo in considerazione sia l’Esercizio 5.11.2 sia il Lemma 5.11.6 vediamo che l’azione di T sul sistema di equazioni lineari Ax = b (trasformandolo in T (Ax) = (T A)x = T b) equivale all’azione T (A, b) = (T A, T b) sulla matrice (A, b) = (a1 , . . . , am , b), che lo caratterizza. D’ora in poi parliamo semplicemente del sistema (A, b) ∈ Mn(m+1) quando intendiamo il sistema Ax = b di n equazioni per m ignoti. 5.11.7 Definizione. Le operazioni di cambiare due righe di una matrice o di addizionare una riga con un multiplo di un’altra riga le chiamiamo operazioni elementari di righe. Esiste una definizione analoga per le operazioni elementari di colonne Riassumiamo: 5.11.8 Corollario. Se T 1 , . . . , T k è una successione di matrici di operazioni elementari di righe, allora il sistema T k . . . T 1 (A, b) ha le stesse soluzioni del sistema (A, b). Finalmente, possiamo formulare rigorosamente l’Algoritmo di Gauß com’è implementato nei computer ed essendo sicuri che funzioni. 5.11. Equazioni lineari 5.11.9 L’Algoritmo di Gauß. 105 Sia (A, b) ∈ Mn(m+1) con A ∈ Mnm , b ∈ Rn la matrice di un sistema di n equazioni lineari per m ignoti (x1 , . . . , xm ) come nella (5.11.1). 1. Riduzione del numero di variabili m: Siano n > 1, m > 1. (a) Esiste i : ai1 , 0. i. Se a11 = 0 scambia la prima riga con la i–esima per la i più piccola e poi va da 1(a)ii. ii. a11 , 0. Per ogni k = 2, . . . , n sottra dalla k–esima riga il multiplo ak1 a11 della prima riga. La matrice (A0 , b0 ) ∈ Mn(m+1) che risulta ha nella prima colonna un vettore della forma (a011 , 0, . . . , 0) (a011 , 0). Le soluzioni (x2 , . . . , xm ) del sistema (Ã, b̃) di n − 1 equazioni per m − 1 ignoti, con 0 a22 . . . a02m . .. à = .. . 0 0 an2 . . . anm 0 b2 . b̃ = .. , b0n corrispondono una ad una a soluzioni (x1 , x2 , . . . , xn ) del sistema originale (A, b), dove x1 = b01 − (a012 x2 + . . . + a02m xm ) . a011 (5.11.5) (b) ai1 = 0 per ogni i = 1, . . . , n, cioè la prima colonna di A è 0. In questo caso x1 è completamente libero e ogni soluzione (x1 , x2 , . . . , xm ) di (A, b) è ottenuta scegliendo un x1 ∈ K ed una soluzione (x2 , . . . , xm ) del sistema (Ã, b̃) di n equazioni per m − 1 ignoti, dove à è la matrice in Mn(m−1) ottenuta da A cancellando la prima colonna e dove b̃ = b. Quindi, in tutti e due i casi il problema è stato ridotto alla soluzione di un sistema con un’ignota di meno. 2. Terminazione: m = 1 o n = 1. (a) m = 1, n > 1. Procediamo come sopra 1. L’unica variabile x1 risulta determinata, se esiste un ai1 , 0 (in questo caso x1 = bi ), ai1 o può essere scelta liberamente se l’intera colonna (a11 , . . . , an1 ) è 0. L’unica differenza consiste nel fatto che ci rimane un sistema di n − 1 o n equazioni senza nessuna variabile, della forma 0 = b̃. È proprio a questo punto che si decide se il sistema ha o non ha soluzioni. Se uno solo dei b̃i risulta diverso da 0, allora non c’è nessuna soluzione. Capitolo 5. Algebra lineare 106 Altrimenti ci sono soluzioni (con tutti questi xi come parametri liberi, che si sono dimostrati essere indeterminati nei passi precedenti). (b) n = 1. Ci è rimasta una sola equazione lineare a11 x1 + . . . + a1m xm = b1 per m variabili. Anche qui procediamo come sopra 1. L’unica differenza è che nel caso a11 , 0 (nel quale la nostra unica equazione determina x1 come sopra, e tutti gli x2 , . . . , xm , se ci sono, sono liberi) l’algoritmo termina. Nel caso a11 = 0 la x1 è libera è o m > 1, cosicché si passa alla prossima come sopra 1b, o m = 1 e l’algoritmo termina con un’equazione del tipo 0 = b1 (con soluzioni se b1 = 0 e con nessuna soluzione altrimenti.) 5.11.10 Nota. Se si tratta del problema di trovare tutte le soluzioni dell’equazione omogenea Ax = 0 (o, ugualmente, del problema di determinare ker A), cioè b = 0 sin dall’inizio, allora ogni b̃ che sia calcolato durante l’esecuzione dell’algoritmo risulta 0. Quindi, per equazioni omogenee non occorre di riservare una colonna per la b. Il risultato tipico dell’algoritmo di Gauß è una matrice della forma (5.11.6) dove sotto la linea ci sono solo 0 e sui pezzi paralleli alla diagonale tutti numeri sono diversi da 0. I pezzi orizzontali corrispondono ai passi dell’algoritmo dove non siamo in grado di trovare entrate diverse da zero nella colonna corrispondente, e quindi passiamo alla prossima variabile. Un pò più esplicito è l’esempio a11 ∗ 0 a22 0 0 0 0 0 0 0 0 0 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ a33 ∗ ∗ ∗ ∗ ∗ 0 0 0 a46 ∗ ∗ 0 0 0 0 0 a58 0 0 0 0 0 0 0 0 0 0 0 0 ∗ ∗ ∗ ∗ ∗ ∗ x1 . ∗ .. = ∗ ∗ ∗ x9 b 0 6 0 b7 5.11. Equazioni lineari 107 Le entrate indicate, a11 , a22 , a33 , a46 , a58 , sono diverse da zero. Quelle indicate con ∗ sono arbitrarie (sia nella matrice, sia i valori b1 , . . . , b5 ) per quanto riguarda l’esistenza di soluzioni. Se una delle due b6 o b7 non è 0, allora non esistono soluzioni. Se, invece, b6 = b7 = 0, allora esistono soluzioni e tutte le soluzioni sono ottenute nel modo seguente: Si inizia sempre in basso. x9 è libera e, quindi, la scegliamo in K. Inserendo x9 nella prima equazione non banale (quinta riga) troviamo che x8 = b5 − a59 x9 . a58 x7 è libera, quindi la scegliamo in K. La x6 la troviamo usando la quarta riga come x6 = b4 − (a49 x9 + a48 x8 + a47 x7 ) . a46 Poi x5 e x4 sono libere tutte e due. Inserendo x4 , . . . , x9 nella terza riga otteniamo x3 , inserendo x3 , . . . , x9 nella seconda riga otteniamo x2 e, infine, inserendo x2 , . . . , x9 nella prima riga otteniamo x1 , come b3 − (a39 x9 + a38 x8 + a37 x7 + a36 x6 + a35 x5 + a34 x4 ) , a33 b2 − (a29 x9 + a28 x8 + a27 x7 + a26 x6 + a25 x5 + a24 x4 + a23 x3 ) x2 = , a22 b1 − (a19 x9 + a18 x8 + a17 x7 + a16 x6 + a15 x5 + a14 x4 + a13 x3 + a12 x2 ) x1 = . a11 x3 = È chiaro che la riduzione di queste espressioni in termini solo dei parametri liberi x9 , x7 , x5 , x4 in questa generalità ci porta a formule molto complicate. (L’algoritmo di Gauß funziona bene con numeri concreti, non con parametri non specificati.) Ci limitiamo a notare che dopo un assortimento rispetto a constanti e multipli delle variabili libere otteniamo la soluzione generale nella forma x = c0 + x9 c9 + x7 c7 + x5 c5 + x4 c4 , dove gli ci sono vettori in K9 . Qui si vede bene la struttura della soluzione generale come somma della soluzione particolare c0 dell’equazione non omogenea Ax = b (che corrisponde alla scelta x9 , x7 , x5 , x4 = 0, ma anche ogni altra scelta particolare può andare bene) è la soluzione generale x0 = x9 c9 + x7 c7 + x5 c5 + x4 c4 dell’equazione omogenea Ax0 = 0. (Ricordiamoci che l’insieme LA,0 di tutte queste soluzioni è proprio ker A.) Capitolo 5. Algebra lineare 108 5.11.11 Nota. Nel passo 1(a)ii dell’algoritmo, invece di sottrarre il multiplo ak1 a11 della prima riga dalla k–esima, è spesso più facile (come abbiamo fatto nell’Esempio 2 × 2) di sostituire la k–esima riga con a11 (k) − ak1 (1). In fondo è la stessa cosa, solo che adesso prima di eseguire il passo abbiamo moltiplicato la riga (k) con il fattore a11 , 0. È facile da notare che neanche ciò cambi l’insieme delle soluzioni. 5.11.12 Nota. C’è una variante dell’algoritmo di Gauß, nella quale il risultato è una matrice come nella (5.11.6), eccetto per il fatto che la linea inizia con un pezzo della diagonale per poi rimanere sempre orizzontale. Per raggiungere questo scopo, però, è necessario di non solo scambiare righe ma anche di scambiare colonne, cioè scambiare i numeri xi ↔ x j delle variabili. Purtroppo, questa operazione non può essere eseguita senza cambiare L. Le permutazioni eseguite si vedono nel risultato e devono essere annullate una dopo l’altra nell’ordine opposto. Oltre a necessitare di tenere il conto di tutte queste permutazioni, è anche fonte di tanti errori di distrazione, e quindi è poco raccomandabile. Per fortuna è molto più facile di eseguire l’algoritmo di Gauß in esempi concreti (con numeri concreti) che descriverlo astrattamente come abbiamo fatto sopra. Tutto ciò lo vogliamo illustrare adesso in un esempio. 5.11.13 Esempio. Vogliamo risolvere l’equazione lineare Ax = b dove A = 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 b = Applichiamo l’algoritmo di Gauß nello schema seguente: 0 1 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 (3) − (1) (4) − (1) 1 0 0 (2) (1) 0 1 1 0 0 0 0 0 0 0 1 0 (3) − (2) 0 1 1 1 0 (4) − (2) 1 0 0 0 0 0 0 1 0 0 0 1 0 1 −1 −1 0 1 0 0 1 0 . 0 0 5.11. Equazioni lineari 109 A questo punto possiamo già terminare, perché la terza riga risulta in 0 = −1, cioè non esiste nessuna soluzione. Se avessimo invece scelto b = (0, 0, 0, 1) con gli stessi passi saremmo arrivati a 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 (2) (1) 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 (3) − (1) (4) − (1) 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 (3) − (2) (4) − (2) 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 (4) (3) 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 Qui x4 è libero. x3 , x2 , x1 sono determinati da x4 come x3 = 1 − x4 x2 = 0 − 0x4 − 0x3 = 0 x1 = 0 − 0x4 − 0x3 − 0x2 = 0. Quindi, scrivendo la soluzione come vettore ed effettuando un assortimento per parti costanti (che non dipendono da x4 ) e parti con un fattore x4 , la soluzione generale è x = (0, 0, 1, 0) + x4 (0, 0, −1, 1). Come ulteriore applicazione discutiamo su come possiamo trovare l’inversa di una matrice quadratica A ∈ Mn (K) con l’aiuto dell’algoritmo di Gauß. Come primo passo grande portiamo la matrice in una forma triangolare superiore, applicando il’algoritmo come descritto. Se una delle righe risultasse 0 la matrice non sarebbe invertibile, perchè Ax = 0 avrebbe soluzioni x , 0. Quindi, se A è invertibile, allora la forma che otteniamo, per forza, ha entrate diverse da zero su tutta la diagonale. Poi usiamo l’algoritmo di Gauß “dal basso all’alto” per eliminare tutte le entrate sopra la diagonale, ottenendo cosı̀ una matrice diagonale, cioè sulla diagonale ha Capitolo 5. Algebra lineare 110 entrate diverse da zero e fuori della diagonale è tutto zero. (Non diamo la descrizione formale del procedimento, ma ci limitiamo di dare un esempio fra qualche istante.) Alla fine trasformiamo le entrate sulla diagonale in 1 (moltiplicando l’intera riga con il valore reciproco). Che abbiamo fatto? Abbiamo trovato un certo numero m di operazioni elementari di righe T m tali che T m . . . T 1 A = In . Quindi T = T m . . . T 1 è un inverso a sinistra di A e, poichè come prodotto di matrici invertibili è invertibile, quindi T è l’inverso di A. Se facciamo, simultaneamente con A, tutte le operazioni T 1 , . . . , T n anche a In , il risultato è T m . . . T 1 In = T . Quindi scambiamo la matrice A ∈ Mn (K) con la matrice (A, In ) ∈ Mn(2n) e se poi procediamo con (A, In ) come se volessimo solo “diagonalizzare” A, alla fine otteniamo la matrice (T A, T In ) = (In , A−1 ), cioè la parte destra ci da l’inversa di A. 5.11.14 Esempio. Vogliamo invertire la matrice A = 0 0 1 1 1 1 0 1 1 di M3 . Applichiamo quell’Algoritmo di Gauß esteso come appena descritto: 0 0 1 1 0 0 0 1 0 0 0 1 (3) 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 (1) − (3) (2) − (3) 1 1 0 0 1 0 0 0 1 −1 −1 1 0 1 0 1 0 0 (1) − (2) 1 0 0 0 −1 1 0 1 0 0 0 1 −1 1 1 0 0 0 Quindi L’inversa della matrice A è la matrice T = T A = I3 .) (1) 0 −1 1 −1 1 0 . 1 0 0 (Esercizio: Verificare che AT = Notiamo che a causa della semplicità dell’esempio, i numeri risultati sulla diagonale nell ultimo passo sono già tutti 1. Di solito questo non è cosı̀, e occorrerebbe ancora un’altro passo per arrivarci. Anche il fatto, che dopo un solo scambio di righe nel primo passo la matrice risultava già triangolare, è pienamente casuale. 5.11.15 Esercizio. Eseguire gli Esempi 5.11.13 e 5.11.14 rimpiazzando alcuni degli 1 con 2. 5.12. Appendice: Esempi di alcuni matrici particolari 5.12 111 Appendice: Esempi di alcuni matrici particolari Denotiamo con ei j una matrice che ha un solo 1 sul punto i j (cioè sull’intersezione dell’i–esima riga con la j–esima colonna) e 0 su tutti gli altri punti. Veramente dovremmo indicare n, m (ed anche K) tali che ei j ∈ Mnm (K) (cosicché i ≤ n, j ≤ m). Però useremo sempre lo stesso simbolo quando ha senso. Gli ei j le chiamiamo unità matriciali (di Mnm (K)). Ovviamente gli ei j formano la base canonica dello spazio vettoriale Mnm (K) Rnm . Quindi ogni matrice è una combinazione lineare dei ei j . Notiamo che ei j è una matrice, non un elemento matriciale. Piuttosto, ogni ei j ha delle entrate (ei j )k` che formano la matrice ei j = (ei j )k` k=1,...,n;`=1,...,m . Queste entrate sono (ei j )k` = δ(i, j)(k,`) := δik δ j` . 5.12.1 Esercizio. Verificare che se ei j ei0 j0 esiste (cioè ei j ∈ Mnp (K), ei0 j0 ∈ M pm (K)), allora ei j ei0 j0 = δ ji0 ei j0 . (5.12.1) D’ora in poi consideriamo solo matrici in Mn (K). Osserviamo che ei j “prende” la j–esima coordinata del vettore x = (x1 , . . . , xn ) e la “porta” sull’i–esimo posto, cioè se y = ei j x allora yi = x j e tutti gli altri yk sono 0. Se A è una matrice con n righe, allora ei j A è la matrice che contiene nella sua i–esima riga la j–esima riga di A e tutte le altre righe sono zero. Quindi se σ : {1, . . . , n} → {1, . . . , n} è una permutazione in S n , allora eσ := eσ(1)1 + . . . + eσ(n)n che agisce come la permutazione σ sulle coordinati di x, rispettivamente, le righe di A. 5.12.2 Esercizio. (∗) Dimostrare che una matrice in Mn agisce come permutazione sulle coordinate dei vettori in Rn , se e solo se la matrice ha in ogni riga esattamente un 1 (il resto 0) e in ogni colonna esattamente un 1 (il resto 0). (Non è facile! Argomentare con l’iniettività e la surgettività delle permutazioni.) 5.12.3 Esercizio. Sia t la trasposizione in S n che scambia i con j , i. Verificare che et può essere scritta come et = In − eii − e j j + ei j + e ji , cioè la matrice sulla destra scambia in x l’i–esima coordinata con la j–esima. Verificare con un calcolo diretto (usando le relazioni nella (5.12.1)) che questa matrice è autoinversa. (Attenzione: Il prodotto di matrici non è commutativo, quindi non valgono le formule binomiali! Quindi per il quadrato della matrice ci sono 25 prodotti fra le matrici In , eii , e j j , ei j , e ji da calcolare. Per fortuna i prodotti sono o 0 o si trovano sempre fra queste 5.) Capitolo 5. Algebra lineare 112 5.12.4 Esercizio. Sia i , j e λ ∈ K. Verificare che la matrice In + λei j in un prodotto (In + λei j )A aumenta la i–esima riga della matrice A con λ volte l’i–esima riga. Verificare usando la 5.12.1 che In − λei j è l’inversa di In + λei j . 5.13 Il determinante Il determinante, come funziona da Mn (K) in K, è un modello esemplare, forse come nessun altro, per un oggetto matematico che viene sia definito sia sfruttato (forse con la sola eccezione dell’esistenza) esclusivamente riferendosi alle sue proprietà astratte. Le conseguenze parattiche (come la regola di Cramer per sistemi di equazioni lineari o l’inversione di matrici), invece, sono di importanza secondaria. (L’algoritmo di Gauß è molto più veloce e, per le equazioni linerari, anche assai più generale.) 5.13.1 Teorema e definizione. Per ogni n ∈ N e ogni campo K esiste un’unica funzione, il determinante, det : Mn (K) −→ K, A 7−→ det(A), che soddisfa le seguenti condizioni: 1. det è normalizzato, cioè det(In ) = 1. 2. det è lineare in ogni colonna di A, cioè se a1 , . . . , an sono vettori in Rn (considerati come colonne), allora per ogni k = 1, . . . , n la funzione v 7−→ det(a1 , . . . , ak−1 , v, ak+1 , . . . , an ) è lineare. 3. det è antisimmetrico, cioè se due fra i vettori a1 , . . . , an sono uguali, allora det(a1 , . . . , an ) = 0. Prima di dimostrare il teorema abbiamo bisogno di un lemma, che spiega anche la parola “antisimmetrica” nella terza proprietà. 5.13.2 Lemma. Supposto la Proprietà 2, la Proprietà 3 del Teorema 5.13.1 è equivalente alla seguente: 5.13. Il determinante 113 3’. Il determinante cambia il segno sotto una trasposizione di due colonne di A = (a1 , . . . , an ). D. Evidentemente 3’ implica 3. (Se det A cambia il segno sotto lo scambio di due colonne uguali ai e a j , ma A è sempre la stessa matrice prima e dopo lo scambio, allora det A = − det A, quindi det A = 0.) Adesso valga 3. Per il Corollario 3.5.5 ed il Teorema 3.5.11 basta di dimostrare 3 per trasposizioni ai ↔ ai+i di prossimi vicini. Allora siano b, c elementi di Rn che vogliamo mettere rispettivamente come i–esima e come i + 1–esima colonna di A. Troviamo che 0 = det(a1 , . . . , ai−1 , b + c, b + c, ai+2 , . . . , an ) = det(a1 , . . . , ai−1 , b, b, ai+2 , . . . , an ) + det(a1 , . . . , ai−1 , b, c, ai+2 , . . . , an ) + det(a1 , . . . , ai−1 , c, b, ai+2 , . . . , an ) + det(a1 , . . . , ai−1 , c, c, ai+2 , . . . , an ) = 0 + det(a1 , . . . , ai−1 , b, c, ai+2 , . . . , an ) + det(a1 , . . . , ai−1 , c, b, ai+2 , . . . , an ) + 0. Quindi det(a1 , . . . , ai−1 , b, c, ai+2 , . . . , an ) = − det(a1 , . . . , ai−1 , c, b, ai+2 , . . . , an ). 5.13.3 Corollario. Se a1 , . . . , an non sono linearmente indipendenti, allora det(a1 , . . . , an ) = 0. D. Possiamo assumere (forse dopo aver applicato qualche permutazione sulla n– P upla (a1 , . . . , an )) che an = n−1 i=1 λi ai . Quindi det(a1 , . . . , an−1 , an ) = n−1 X λi det(a1 , . . . , an−1 , ai ) = 0. i=1 D T 5.13.1. Dimostriamo prima l’unicità perché la sua dimostrazione ci da anche l’idea giusta per l’esistenza. A causa della linearità conosciamo det quando conos ciamo det(ei1 , . . . , ein ) con indici 1 ≤ ik ≤ n (k = 1, . . . , n). Infatti, se A = ai j = (a1 , . . . , an ) P dove ak = nik =1 akik eik , allora det(A) = n X a1i1 . . . anin det(ei1 , . . . , ein ). (5.13.1) i1 ,...,in =1 Qui in ogni addendo o (i1 , . . . , in ) è una permutazione (σ(1), . . . , σ(n)) di (1, . . . , n) (cosicché det(ei1 , . . . , ein ) = sgn(σ) det(e1 , . . . , en ) = sgn(σ) det(In ) = sgn(σ)) o almeno due dei ik sono Capitolo 5. Algebra lineare 114 uguali (cioè det(ei1 , . . . , ein ) = 0). Quindi det A è determinata dalla (5.13.1) e dalle Proprietà 1 e 3. Per l’esistenza basta di definire sgn(σ) det(ei1 , . . . , ein ) := 0 se ∃(!)σ ∈ S n : (i1 , . . . , in ) = (σ(1), . . . , σ(n)) altrimenti, e poi estendere la definizione su tutte le matrici A secondo la (5.13.1), e alla fine verificare (esercizio!) che la funzione cosı̀ definita soddisfi le Proprietà 1,2 e 3. 5.13.4 Corollario. det(λA) = λn det(A). 5.13.5 Corollario. Sia d : Mn (K) → K una funzione che soddisfa le Proprietà 2 e 3 del Teorema 5.13.1. Allora d(A) = d(In ) det(A). D. La riduzione del calcolo d(A) a d(In ) secondo la (5.13.1) e gli argomenti successivi funziona anche qui. 5.13.6 Corollario. det(AB) = det(A) det(B). D. Ricordiamoci che se B = (b1 , . . . , bn ) allora AB = (Ab1 , . . . , Abn ). Quindi la funzione dA : B → det(AB) soddisfa le ipotesi del corollario precedente. Allora det(AB) = dA (B) = dA (In ) det(B) = det(A) det(B). 5.13.7 Corollario. A ∈ Mn (K) è invertibile, se e solo se det(A) , 0. Se A è invertibile allora det(A−1 ) = det(A)−1 . D. Se A non è invertibile, allora secondo la Proposizione 5.8.8 le immagini ai = Aei degli elementi della base canonica non sono linearmente indipendenti e secondo il Corollario 5.13.3 segue che det(A) = 0. Se A è invertibile, allora 1 = det(In ) = det(AA−1 ) = det(A) det(A−1 ). In particolare, det(A) , 0. 5.13.8 Osservazione. Ovviamente vale un teorema analogo per una funzione det0 : Mn (K) → K che soddisfa la Proprietà 1e le Proprietà 2 e 3 per le righe invece delle colonne. Basta di considerare la funzione A 7→ det0 (At ) che soddisfa le Proprietà 1, 2 e 3 originali. 5.13.9 Corollario. det(A) = det(At ) = det0 (A). 5.13. Il determinante 115 D. Basta di dimostrare che det soddisfa anche le ipotesi analoghe del Teorema per le righe invece delle colonne. Sappiamo già che la (5.13.1) la possiamo riscrivere come det(A) = X a1σ(1) . . . anσ(n) sgn(σ), σ∈S n perchè se (i1 , . . . , in ) non è il risultato di una permutazione, allora det(ei1 , . . . , ein ) = 0, e che nell’insieme di tutti gli (i1 , . . . , in ) che sono permutazioni ogni permutazione appare proprio esattamente una volta (s.v. l’argomento nella Nota 3.5.9). Poi osserviamo che a1σ(1) . . . anσ(n) = aσ◦σ−1 (1)σ(1) . . . aσ◦σ−1 (n)σ(n) = aσ−1 (1)1 . . . aσ−1 (n)n per causa della commutatività del prodotto di K. Da questo segue, come sopra per le colonne, adesso la linearità e l’antisimmetria per le righe. Un’applicazione è la regola di Cramer per la risoluzione dell’equazione lineare Ax = b per matrici quadratiche (almeno finché la soluzione sia unica o non esista). 5.13.10 Teorema. Sia A = (a1 , . . . , an ) ∈ Mn (K). Allora vale una ed una sola delle alternative seguenti: 1. det(A) , 0. In questo caso l’equazione lineare Ax = b per ogni b ∈ Rn ammette un’unica soluzione x = A−1 b e le coordinate di x possono essere ottenute come xi = det(a1 , . . . , ai−1 , b, ai+1 , . . . , an ) , det(a1 , . . . , an ) (5.13.2) dove nel numeratore abbiamo sostituito l’i–esima colonna di A con b. 2. det(A) = 0. Se in questo caso esiste un i tale che det(a1 , . . . , ai−1 , b, ai+1 , . . . , an ) , 0, (5.13.3) allora l’equazione lineare Ax = b sicuramente non ammette soluzioni. D. Sappiamo già che Ax = b ha un’unica soluzione (e questo poi per ogni b), se e solo se A è invertibile, cioè se e solo se det(A) , 0. Allora quello che ci serve sono le proprietà che riguardando le Equazioni 5.13.2 e 5.13.3. Supponiamo che esista una soluzione x, allora Ax = x1 a1 + . . . + xn an = b. Capitolo 5. Algebra lineare 116 Cioè per ogni i gli n vettori a1 , . . . , ai−1 , xi ai − b, ai+1 , . . . , an non sono linearmente indipendenti. Quindi la matrice Ai := (a1 , . . . , ai−1 , xi ai − b, ai+1 , . . . , an ) non è invertibile, cosicché det(Ai ) = 0 per ogni i. Per la linearità di det nelle colonne troviamo che 0 = det(Ai ) = det(a1 , . . . , ai−1 , xi ai − b, ai+1 , . . . , an ) = xi det(a1 , . . . , ai−1 , ai , ai+1 , . . . , an ) − det(a1 , . . . , ai−1 , b, ai+1 , . . . , an ). Se det(A) , 0 segue la (5.13.2). Se invece det(A) = 0, allora seguirebbe che la (5.13.3) dovrebbe risultare 0 per ogni i. Quindi se esiste i, tale che sia diverso da 0, allora non può esistere nessuna soluzione. 5.13.11 Nota. Il criterio nella (5.13.3) per la non-esistenza di soluzioni è sufficiente ma non necessario. Infatti, se n ≥ 2 e A = 0, b , 0, allora Ax = 0 = b non ha nessuna soluzione, nonostante det(Ai ) = 0 per ogni i. La regola di Cramer ci da un altro modo per calcolare l’inversa di una matrice. 5.13.12 Teorema. Sia A = (a1 , . . . , an ) ∈ Mn (K) invertibile. Allora A−1 = 1 αi j i, j , det(A) dove αi j = det(a1 , . . . , ai−1 , e j , ai+1 , . . . , an ). D. Poniamo X = A−1 , cioè vale AX = In . Quindi, ogni colonna x j = (x1 j , . . . , xn j ) di X è unica soluzione di Ax j = e j . Secondo la regola di Cramer vale xi j = det(a1 , . . . , ai−1 , e j , ai+1 , . . . , an ) . det(a1 , . . . , an ) Usando la definizione degli αi j troviamo il risultato. 5.13.13 Osservazione. Per la computazione di soluzioni concrete di un sistema di equazioni lineari la regola di Cramer è inutile per quanto sia bella. Questo è dovuto alla complessità del problema di calcolare i determinanti di tante matrici grandi. La situazione è ancora peggiore per il calcolo della matrice inversa secondo il Teorema 5.13.12. L’algoritmo di Gauß è molto più efficace. Diamo un calcolo concreto delle complessità nell’appendice della Sezione 5.14. Finora non ci siamo occupati di come si calcola il valore di un determinante eccetto che dare la formula complicata (5.13.1). Adesso vogliamo trovare altre possibilità. 5.13. Il determinante 117 5.13.14 Nota. La prima possibilità la menzioniamo solo. È inutile quanto la regola di Cramer per elaborazioni concrete ma ha applicazioni teoriche. Il libro [Fac00] usa questa formula per definire il determinante. Torniamo agli αi j = det(a1 , . . . , ai−1 , e j , ai+1 , . . . , an ) che abbiamo introdotto nel Teorema 5.13.12. Per la linearità del determinante nell’i–esima colonna otteniamo che n X det(A) = det(a1 , . . . , an ) = a ji αi j , j=1 e questo per ogni i = 1, . . . , n. Occorre solo riconoscere che αi j = (−1)i+ j det(A ji ), dove A ji è la matrice (n − 1) × (n − 1) ottenuta da A cancellando la j–esima riga e l’i–esima colonna. Questo si vede, senza andare troppo nei dettagli, dal fatto che la funzione Mn(n−1) (K) → K definita come (a1 , . . . , ai−1 , ai+1 , . . . , an ) 7→ det(a1 , . . . , ai−1 , e j , ai+1 , . . . , an ) è una funzione lineare in tutte le n − 1 colonne, che inoltre non dipende dalla j–esima riga. Quindi cancellando quella riga non cambia valore, cioè per il Corollario 5.13.4 αi j = D det(A ji ) dove il fattore D è il determinante di una matrice che ha sul punto i j un 1 e che , cancellando la j–esima riga e l’i–esima colonna risulta In−1 . Lasciamo come esercizio (un pò avanzato!) di dimostrare che D = (−1)i+ j . La formula si chiama sviluppo per li–esima colonna. Ovviamente funziona anche per le righe. Il seguente lemma è la base per l’applicazione dell’algoritmo di Gauß nel calcolo di determinanti. 5.13.15 Lemma. Sia A = ai j una matrice triangolare superiore in Mn (K), cioè ai j = 0 se i > j. Allora det(A) = a11 . . . ann è il prodotto degli elementi sulla diagonale. D. L’unica n–upla (i1 , . . . , in ), che soddisfa k ≤ ik per ogni k = 1, . . . , n, è (1, . . . , n). Quindi, l’unico termine che rimane nella (5.13.1) è il prodotto sugli elementi della diagonale. 5.13.16 Teorema. Se su A ∈ Mn (K) eseguiamo l’algoritmo di Gauß (con il Passo 1(a)ii esattamente come prescritto!) e denotiamo con m il numero di trasposizioni di righe necessarie, allora per la matrice triangolare superiore A0 , che risulta alla fine, vale det(A) = (−1)m det(A0 ) = a011 . . . a0nn . D. Basta di osservare che il determinante non cambia valore, se aumentiamo una riga con il multiplo di un’altra. (Non è vero, però, che il valore non cambia se moltiplichiamo la riga stessa con uno scalare. Per questo è necessario di seguire il Passo 1(a)ii alla lettera. Non possiamo applicare la procedura rilassata come indicata nella Nota 5.11.11.) Capitolo 5. Algebra lineare 118 5.13.17 Nota. Spesso, in casi concreti, in particolare se ci sono tanti 0, un metodo opportuno è una combinazione dell’algoritmo di Gauß e dello sviluppo per colonne o righe. Manipolando con operazioni elementari di righe o di colonna la matrice in tal modo, dove in una colonna o in una riga risulta una sola entrata diversa da 0, allora secondo lo sviluppo per questa colonna o riga rimane da calcolare un solo determinante di dimensione diminuita. Per esempio si riduce il calcolo del determinante di una matrice 4 × 4 a quello per una matrice 3 × 3 per la quale abbiamo la seguente formula esplicita. 5.13.18 Esercizio. Verificare che det(A) = a11 a22 a33 + a12 a23 a31 + a13 a21 a32 − a13 a22 a31 − a11 a23 a32 − a12 a22 a33 per ogni A = ai j ∈ M3 (K). 5.14 Appendice: Calcolo di qualche complessità Abbiamo visti tre applicazioni dell’algoritmo di Gauß: Risolvere un sistema (anche non quadratico) di equazioni lineari, invertire una matrice quadratica e calcolare il determinante di una matrice quadratica. (Una quarta, che non abbiamo discusso, riguarda il calcolo del rango di una matrice rettangolare che è definito come dimensione dell’immagine dell’operatore definito dalla matrice.) Nella Sezione 5.13 abbiamo conosciuto, sempre per matrici quadratiche, metodi alternativi. Per primo, la regola di Cramer per equazioni lineari (che rimane comunque di applicabilità limitata sui sistemi quadratici, ed anche li, quando non risulta un’unica soluzione, non risolve nè il problema di decidere a cento per cento, se il sistema abbia una soluzione on no, nè nel caso affermativo di trovare tutte le soluzioni). Per secondo, il Teorema 5.13.12 per l’inversione di matrici quadratiche dimostrato con l’aiuto della regola di Cramer. Infine, per terzo, il calcolo del determinante con lo sviluppo per colonne o per righe come schizzato nella Nota 5.13.14. Alternativamente, c’è la formula nella (5.13.1). Per il resto della sezione sia A ∈ Mn (K) (n ≥ 2) una matrica quadratica. Consideriamo solo il caso dove la matrice in questione è invertibile, cosicché alla fine dell’algoritmo di Gauß risulta sempre una matrice che ha entrate tutte diverse da zero sulla diagonale. (Se risulta un’entrata di essere 0, allora in questo istante sappiamo che la matrice non è invertibile. Quindi la regola di Cramer non funzione, l’inversione è inutile e il determinante risulta 0.) In questo caso l’algoritmo di Gauß diventa molto meno complicato. Non termina finché non abbia raggiunto l’ultima riga e, quindi, tutte le distinzioni di casi diversi e le condizioni di terminazione, le quali lo fanno cosı̀ complicato, non appaiono. Per applicare la regola di Cramer e la sua conseguenza, il Teorema 5.13.12, occorre di calcolare un mucchio di determinanti. Quindi paragoniamo prima le tre possibiltà che conosciamo 5.14. Appendice: Calcolo di qualche complessità 119 per calcolare il determinate. Inoltre, per semplificare le cose, non consideriamo il numeri degli addizioni necessari ma solo quello delle moltiplicazioni. Nel primo passo dell’algoritmo di Gauß, per ogni delle n − 1 righe da 2 a n occorre di moltiplicare ogni delle n − 1 entrate da 2 a n della prima riga con un fattore opportuno (e poi sottrarlo dalla riga in question, ma non contiamo addizioni). Quindi, nel primo ci sono (n − 1)2 moltiplicazioni da esguire, nel secondo (n − 2)2 , finche non siamo arrivati ad 12 . Poi dobbiamo calcolare il prodotto delle n entrate sulla diagonale, cioè ulteriori n − 1 prodotti. Usando la P formula ben nota nk=1 k2 = n(n+1)(2n+1) (esercizio: dimostrarla con l’induzione!), troviamo che il 6 numero di moltiplicazioni per calcolare il determinante con l’algoritmo di Gauß è (n − 1)n(2n − 1) 6 (n − 1)(6 + n(2n − 1)) 2n3 − 3n2 + 7n − 6 = = . 6 6 (n − 1) + (n − 1)2 + (n − 2)2 + . . . + 22 + 12 = n − 1 + Quindi si tratta di un polinomio di terzo grado in n. Per lo sviluppo in colonne, nel primo passo ci sono n prodotti delle entrate della colonna scelta con i determinanti delle sotto matrici in Mn−1 (K) corrispondenti. Continuando cosı̀ arriviamo a n(n−1) . . . 1 = n! passi necessari. Ancora peggio è l’elaborazione della (5.13.1), dove abbiamo n! proddotti di n fattori e, quindi, (n − 1)n! prodotti da calcolare. La complessità secondo il fattoriale n! è più o meno la cosa peggiore n √ n en che, in algoritmi concreti, può capitare. Secondo la formula di Stirling, limn→∞ n (2π)n n! = 1, la n crescità di n! è paragonabile non solo con a (cioè esponenziale) ma è di ordine n . Chiaramente, anche l’efficienza delle applicazioni della regola di Crammer dipende strettamente dalla scelta dell’algoritmo con quale calcoliamo i determinanti. Calcolando l’unica soluzione dell’equazione lineare Ax = b, l’algoritmo di Gauß è aumentato di una colonna. Quindi, nel primo passo non abbiamo (n − 1)2 ma (n − 1)n prodotti da calcolare. Non occorre di calcolare il prodotto sulle entrate della diagonale. Invece occorre ancora di estrarre la soluzione dalla forma triangolare superiore. La xn è data senza ulteriori operazioni. Per la xn−1 occorono una moltiplicazione ed una divisione. (Non ci facciamo caso del fatto che una divisione è più complessa di una moltiplicazione, ma la contiamo solo come moltiplicazione.) Per la xn−2 occorono due moltiplicazioni ed una divisione. Il numero di moltiplicazioni è quindi n(n − 1) + (n − 1)(n − 2) + . . . + 3 · 2 + 2 · 1 = n2 + (n − 1)2 + . . . + 32 + 22 + + 2 + ... + n − n − (n − 1) − . . . − 3 − 2 = + 2 + ... + n n(n + 1)(2n + 1) 2n3 + 3n2 + n − 6 − 12 = . 6 6 Capitolo 5. Algebra lineare 120 Vediamo che la complessità dell’algoritmo di Gauß è rimasta quasi la stessa. Applicando, invece, la regola di Cramer ci sono da calcolare n + 1 determinanti di matrici n × n e n divisioni. Se usiamo per il calcolo dei determianti l’algoritmo di Gauß otteniamo il polinomio n + (n + 1) 2n3 − 3n2 + 7n − 6 6 di quarto grado. La complessità è sempre polinomiale, però paragonata con quella dell’algoritmo di Gauß di grado aumentato. (Se usiamo uno degli altri algoritmi per i determinanti sarà fattoriale.) Applicando l’algoritmo di Gauß per l’inversione di A, nel primo passo dobbiamo esguire (n − 1)(2n − 1) moltiplicazioni (n − 1 righe con 2n − 1 entrate coinvolte). Fino alla forma triangolare superiore (usando (2n − 1)(n − 1) = 2(n − 1)2 + (n − 1)) ci sono allora (2n − 1)(n − 1) + . . . + 5 · 2 + 3 · 1 = 2 (n − 1)2 + . . . + 22 + 12 + (n − 1) + . . . + 2 + 1 = 2 4n3 − 3n2 + 11n − 12 2n3 − 3n2 + 7n − 6 n(n − 1) + = 6 2 6 moltiplicazioni da eseguire. Per la “retromarcia” (passando dalla forma triangolare superiore alla forma diagonale) il primo passo (sotrarre un multiplo opportuno dell’n–esima riga dai (n − 1) altri richiede solo (n − 1)n moltiplicazione, vale ad dire gli n posti delle n − 1 righe sulla parte destra dello schema. (Sappiamo che le entrate coinvolte sulla parte sinistra dello schema risultano 0, perché nostro algoritmo è stato costruito per fare proprio questo.) Il numero di posti coinvolti non cambia per i prossimi passi. Solo il numero di righe diminuisce sempre. Otteniamo n(n − 1) n3 − n2 = n (n − 1) + (n − 2) + . . . + 2 + 1 = n 2 2 moltiplicazioni. Infine, occorrono ancora n2 moltiplicazioni (una per posto della matrice sulla destra dollo schema) per trasformare le entrate sulla diagonale della matrice a sinistra in 1. Quindi, ci sono 7n3 − 5n2 + 11n − 12 4n3 − 3n2 + 11n − 12 n3 − n2 + + n2 = 6 2 6 moltiplicazioni. La complessità dell’algoritmo di Gauß è e rimane un polinomio di terzo grado in n. Per l’elaborazione del Teorema 5.13.12 ci sono almeno n2 determinanti di matrici (n − 1) × (n − 1) da calcolare. (Non contiamo neanche il determinante di A, perché esso può essere calcolato dagli altri tramite sviluppo in colonne con “solo” n moltiplicazioni.) Usando l’algoritmo di Gauß per il calcolo dei determinanti risulta come complessità un polinomio di quinto grado in n. 5.15. Appendice: Cenni di autovalori e autovettori di matrici 121 Come vediamo, l’algoritmo di Gauß è in ogni rispetto più efficace (ed anche molto!) di una qualsiasi altra scelta che abbiamo a disposizione. Inoltre, è molto più generale, perché non è ristretto a soli matrici quadratiche. La differenza delle complessità è più grave per il calcolo dei determinanti. (Se decidiamo di usare l’algoritmo di Gauß per i determinanti, poi la differenza rispetto alla regola di Cramer è solo di pochi gradi di un polinomio.) Ci possiamo chiedere il perché. L’indicazione giusta otteniamo quando guardiamo un pò meglio la (5.13.1). Ci sono n! prodotti di n elementi da calcolare. Ma ognuno di questi prodotti contiene parti, e non poche, che devono essere calcolate anche per altri termini della somma. (Lo stesso vale per lo sviluppo per colonne.) Si vede benissimo il problema. Quello che non si vede è un’idea come evitarlo. In fondo, la soluzione del problema è lalgoritmo di Gauß. In quell’algoritmo il numero di prodotti da calcolare appare ottimale. Ricordiamoci che l’algoritmo è emerso dal tentativo di trasformare il procedere per risolvere un sistema di due equazioni per due ignoti, come l’abbiamo imparato a scuola, in un algoritmo sistematico. Forse è questa la ragione perché sia cosı̀ efficiente. Si limiti di sistematizzare idee intuitive senza “teoretizzare” troppo. (Come già detto, le applicazioni convincenti del determinate sono puramente teorici.) Infine, vogliamo mettere in evidenza che, tutto al contrario di quanto pare a prima vista, l’algoritmo di Gauß è anche più facile da programmare! La sua descrizione nella Sezione 5.11 appare piuttosto complicata. Però la parte complicata riguarda esclusivamente i casi “ quando ci sono troppi zeri” per poter procedere con il Passo 1(a)ii. Ma questo può capitare solo in casi in quali le procedure alternative falliscono completamente (mentre nostro algoritmo almeno continua di dare tutti i risultati che vogliamo). In casi dove gli altri metodi funzionano, il nostro algoritmo è facile facile da programmare in forma ricorsiva. (L’algoritmo di Gauß trasforma una matrice in una più piccola, diminuita di una dimensione in ogni direzione, che ci da l’input per la prossima iterazione. A dire il vero, funzionerebbe ancora meglio se avessimo scelto di iniziare con ann invece di a11 , ossia con l’eliminazione di xn , invece di x1 , dalle prime n − 1 righe, invece dalle righe da 2 a n.) Lo sviluppo per colonne (come la regola di Cramer) deve affrontare il problema di passare una sottomatrice, ottenuta cancellando una riga ed una colonna, ad un sottoprogramma. Un’impresa per niente facile! (Qui la (5.13.1) è più adatta ad una programmazione ricorsiva.) 5.15 Appendice: Cenni di autovalori e autovettori di matrici In questa sezione spieghiamo la diagonalizzazione di matrici. Anche se ogni tanto formuliamo alcuni concetti in modo generale, in genere, abbiamo in mente sempre come applicazione il calcolo esplicito dei numeri di Fibonacci. Questi numeri otteniamo, se addizioniamo gli ultimi Capitolo 5. Algebra lineare 122 due per ottenere il prossimo. Un pò più precisamente, i numeri di Fibonacci sono gli elementi della successione a0 , a1 , a2 , a3 , . . . definiti come a0 = a1 = 1 e an+1 = an + an−1 per n ≥ 1. La lista inizia cosı̀: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, . . . Osserviamo che an+1 è una funzione lineare di (an , an−1 ). Se consideriamo anche an come funzione lineare di (an , an−1 ), allora otteniamo il vettore xn+1 := (an+1 , an ) ∈ R2 come funzione lineare del vettore xn = (an , an−1 ). In altre parole, xn+1 = Axn (n ∈ N0 ) dove 1 1 1 e x0 = . A = 1 0 0 (5.15.1) Quindi, se troviamo una formula per gli xn , allora la prima coordinate di ogni xn è la formula per gli an . Chiaramente vale xn = An x0 . Se trovassimo un modo di calcolare esplicitamente An , avremmo una formula esplicita per i numeri di Fibonacci. Supponiamo che v sia un vettore in R2 e λ ∈ R uno scalare, tali che Av = λv, allora ne seguirebbe che An v = λn v. Se avessimo addirittura una base di tali vettori, il calcolo di An in questa base diventerebbe un gioco da ragazzi. Alla fine dovremmo solo esprimere x0 in termini di questa base, applicare An e riesprimere il risultato nella base originale. Più in generale, cerchiamo una soluzione della equazione Ax = λx (5.15.2) dove A ∈ Mm è una matrice quadratica. In fondo è un’equazione lineare, però ci sono diverse particolari da menzionare. Per prima cosa, cerchiamo soluzioni x , 0, perchè alla fine vogliamo formare con questi soluzioni una base. Il valore λ stesso non è a priori noto, ma fa parte del problema di trovare tutti i λ possibili. (Anche per questo è necessario di escludere soluzioni x = 0, perchè x = 0 sarebbe una soluzione per ogni λ.) Finalmente, come equazione lineare per l’ignoto vettore x l’equazione ha, veramente, la forma Ax − λx = (A − λIm )x = 0, (5.15.3) cioè si tratta di un’equazione omogenea. (Questo spiega anche più chiaramente perché x = 0 è sempre una soluzione.) Diciamo che λ ∈ K è un autovalore di A, se esiste un vettore x , 0, che soddisfa l’equazione, e chiamiamo un tale x (, 0!) un autovettore (rispetto all’autovalore λ). Mettiamo l’accento sul fatto che un autovettore per definizione è diverso da 0. L’autovalore λ = 0, invece, non è escluso. (Per esempio, ogni vettore x , 0 è auttovettore della matrice 0 ∈ Mn (K) rispetto all’autovalore 0.) 5.15. Appendice: Cenni di autovalori e autovettori di matrici 123 Per un certo λ l’insieme delle soluzioni dell’equazione omogenea nella (5.15.3) è il sottospazio ker(A − λIm ). Poichè ker(A − λIm ) contenga elementi x , 0 è necessario e sufficiente che A − λIm non sia invertibile, cioè che det(A − λIm ) = 0. Direttamente dalla (5.13.1) si vede, che PA (λ) = det(A − λIm ) è la valutazione di un polinomio PA ∈ K[x] di grado d(PA ) = m che chiameremo il polinomio caratteristico di A. Riassumiamo: 5.15.1 Proposizione. Gli autovalori di una matrice sono le radici del suo polinomio caratteristico. Rendiamoci conto del fatto notevole, che siamo in grado di determinare gli autovalori di una matrice senza conoscere un solo autovettore! Data una radice λ di PA chiameremo lo spazio ker(A − λIm ) di tutti gli autovettori rispetto all’autovalore λ più il vettore 0 l’autospazio Vλ rispetto all’autovalore λ. Metodi per determinare Vλ abbiamo discusso nelle Sezioni 5.11 e 5.13. Osserviamo che il grado di PA è m, quindi secondo il Teorema 4.4.7 A non può avere più di m autovalori. Denotiamo tutti gli autovalori con λ1 , . . . λk (k ≤ m e tutti diversi tra di loro). 5.15.2 Proposizione. Vλ1 +. . .+Vλk = Vλ1 ⊕. . .⊕Vλk . In particolare, una famiglia di autovettori rispetto a autovalori diversi è linearmente indipendente. D. Siano xi vettori in Km tali che Axi = λi xi e x1 + . . . + xk = 0. Dobbiamo concludere che x1 = . . . = xk = 0. Procediamo con l’induzione per k. Per k = 1 non c’è nulla da dimostrare. Supponiamo che l’affermazione valga per k − 1 ≥ 1. Calcoliamo 0 = (A − λk Im )(x1 + . . . + xk ) = (λ1 − λk )x1 + . . . + (λk−1 − λk )xk−1 + (λk − λk )xk = (λ1 − λk )x1 + . . . + (λk−1 − λk )xk−1 . Per ogni i = 1, . . . , k − 1 il vettore (λi − λk )xi è contenuto in Vλi . Quindi, a causa dell’ipotesi, tutti i k − 1 vettori (λi − λk )xi sono zero. Perché gli autovalori sono tutti diversi, i fattori λi − λk non sono zero, quindi xi = 0 (i = 1, . . . , k − 1). Alla fine anche xk = −(x1 + . . . + xk−1 ) = 0. 5.15.3 Corollario. Se una matrice A ∈ Mm (K) ha m autovalori diversi λ1 , . . . , λm allora una qualsiasi m–upla (v1 , . . . , vm ) di autovettori (Avi = λi ei ) è una base di Km . D. Secondo la proposizione, i vi sono linearmente indipendenti. Quindi, ei 7→ vi definisce un isomorfismo da Rn su un sottospazio [{v1 , . . . , vm }]. L’assunzione che Rn fosse isomorfo ad un sottospazio non banale la portiamo all’assurdo come nella dimostrazione del Teorema 5.8.14. Quindi, i vi sono anche generanti, cioè formano una base. Capitolo 5. Algebra lineare 124 Torniamo ai numeri di Fibonacci. Il polinomio caratteristico (o meglio, la sua valutazione) della matrice A nella (5.15.1) è 1 − λ 1 = (1 − λ)(0 − λ) − 1 · 1 PA (λ) = det(A − λI2 ) = det 1 0−λ 2 = λ2 − λ − 1 = λ − 12 − 54 . q Quindi, PA ha due zeri diversi λ± = 1 2 ± 5 4 = √ 1± 5 . 2 Per calcolare autovettori v± concreti, cioè soluzioni diversi da zero di (A − λ± I2 )v± = 0, potremmo applicare l’algoritmo di Gauß. Però in questo caso possiamo raggionare più semplice. Sappiamo già che esistono soluzioni non banali, perchè λ± sono autovalori. Quindi, una riga dell’euazione linerare (A − λ± I2 )v± = 0 ci da un equazione da quale segue il rapporto fra le coordinate v±1 e v±2 di v± , mentre l’altra deve essere superflua, cioè deve essere soddisfatta automaticamente. Noi scegliamo la seconda riga. Risulta l’equazione v±1 − λ± v±2 = 0 rispettivamente Per specificare una soluzione, scegliamo v±2 = 1, cioè v± = v±1 = λ± v±2 . λ± 1 . (Non è possibile di specificare v± meglio, perché se v , 0 è un autovettore, lo è anche un qualsiasi multiplo (diverso da zero) di v.) 5.15.4 Esercizio. Verificare che v± soddisfa anche la prima riga del sistema di equazioni lineari. Notevolmente un problema formulato completamente in termini di numeri interi ci porta a √ numeri irrazionali come 5. Adesso dobbiamo esprimere x0 = 10 come combinazione lineare µ+ v+ + µ− v− . Anche questo risulta in un sistema di equazioni lineari, questa volta con soluzione unica, che comunque risolviamo a mano. Troviamo 1 µ+ λ+ + µ− λ− = . 0 µ+ + µ− Quindi µ− = −µ+ (dalla seconda equazione) inserito nella prima equazione ci da √ 1 = µ+ (λ+ − λ− ) = µ+ 5 Alla fine x0 = v+ −v− √ . 5 xn = o 1 µ+ = √ . 5 Con questo, λn v+ − λn v1 An (v+ − v− ) = + √ − √ 5 5 cosicché è una formula esplicita per i numeri di Fibonacci an . an = n+1 λn+1 + − λ− √ 5 5.15. Appendice: Cenni di autovalori e autovettori di matrici 125 5.15.5 Nota. È questo dove termina quello che possiamo dire sul problema usando i mezzi dell’algebra lineare. Usando la formula del binomio si vede esplicitamente la sparizione di tutte √ le 5 nel risultato. Però la formula che risulta non è più cosı̀ semplice. Notiamo anche che siamo arrivati a questa formula con mezzi del tutto algebrici. (Questo è in contrasto con il metodo della funzione generatrice come nel libro [Fac00, Proposizione 29.8], per quale occorre un po di analisi per convincersi che abbia un significato.) Chiudiamo con descrizioni di qualche risultato generale solo con indicazioni molto vaghe delle idee necessarie quali dovrebbero ellaborate per le dimostrazioni dei risultati. Se la matrice A ∈ Mm (K) possiede una base di autovettori (v1 , . . . , vm ), allora la matrice D = (v1 , . . . , vn ) corrisponde all’unico automorfismo D di Km con D(ei ) = vi secondo il Corollario 5.8.6. Quindi, la matrice D−1 AD soddisfa D−1 ADei = D−1 Avi = λi D−1 vi = λi ei , cioè D−1 AD è una matrice diagonale. Trovare D nel modo descritto, si chiama anche diagonalizzazione di A. Osserviamo che per calcolare D−1 AD non occorre neanche di conoscere D−1 . Per sfruttare la diagonalità, invece occorre. Come per i numeri di Fibonacci osserviamo che A0n := (D−1 AD)n = D−1 An D è una matrice diagonale con entrate λni sulla diagonale. Quindi per conoscere An occorre di trasformare la matrice diagonale A0n in An = DA0n D−1 e questo non funziona senza conoscere D−1 . Se K = C sappiamo dal teorema fondamentale dell’algebra che ogni polinomio ha almeno una radice, quindi ogni matrice A ∈ Mm (C) ha almeno un autovettore v. L’idea principale è di decomporre Cn in una somma diretta Cn = Cv ⊕ U tale che A lasci invariato sia Cv sia U (cioè sarebbe u ∈ U ⇒ Au ∈ U). In tal modo il problema sarebbe rodotto di una dimensione e saremmo pronti per una dimostrazione con l’induzione. Chiaramente lo sottospazio Cv è invariato sotto A. Ma se scegliamo un sottospazio U ⊂ Cm tale che Cm = Cv ⊕ U, non è detto che necessariamente anche U è invariato sotto A. Però se la matrice A è autoaggiunta, cioè se a ji = āi j , si può dimostrare che esiste un tale U invariante. (Si tratta, infatti, del complemento ortogonale del vettore v rispetto ad un prodotto scalare opportuno, un concetto geometrico, che non abbiamo discusso, con quale si definiscono lunghezze, angoli ed, in particolare, ortogonalità.) La matrice dell’operatore A|U è anche autoaggiunta (rispetto ad una base di U opportuna), quindi abbiamo ridotto la dimensione del problema e siamo Capitolo 5. Algebra lineare 126 pronti per una dimpostrazione induttiva del teorema spettrale (per matrici complessi): Ogni matrice quadratica complessa che è autoaggiunta può essere diagonalizzata. Se consderiamo Mm come sottoinsieme di Mm (C), allora le matrici reali simmetriche sono casi speciali delle matrici autoaggiunte. Quindi, possono essere diagonalizzate in Mm (C). Occorre un’analisi dettagliata degli zeri complessi di un polinomio reale per dimostrare, sfruttando anche la simmetria, che tutti gli autovalori sono reali e che tutte le coordinati degli autovettori possono essere scelte reali. Arriviamo al teorema spettrale (per matrici reali): Ogni matrice quadratica reale che è simmetrica può essere diagonalizzata. Bibliografia [Art97] M. Artin, Algebra, Bollati Boringhieri, 1997. [Fac00] A. Facchini, Algebra e matematica discreta, Decibel/Zanichelli, 2000. [Gue03] Denis Guedj, Il teorema del papagallo, Tascabili degli Editori Associati S.p.A., 2003. [Her82] I.N. Herstein, Algebra, Editori Riuniti, 1982. [Lan70] S. Lang, Algebra lineare, Bollati Boringhieri, 1970. [Lan90] , Undergraduate algebra, Springer, 1990. 127 128 Bibliografia Indice analitico a meno di isomorfismo, 15, 47 abeliano (semi)gruppo o monoide, 34 algebra booleana, 8 di Lie, 63 modulo su un’, 76 su un campo K, 76 unitaria, 76 algoritmo di Gauß complessità dell’, 118 per equazioni lineari, 105 per il calcolo di determinanti, 117 per l’inversione di matrici, 109 anello, 65 commutativo, 65 con identità, 65 di polinomi, 69 dominio di integrità, 66 ideale in un, 72 quoziente con un, 72 unitario, 65 antinomia di Russell, 5 assioma della scelta, 6 autospazio, 123 valore, 122 vettore, 122 automorfismo composizione di, 47 di (semi)gruppi o monoidi, 47 base canonica di Rn , 88 di uno spazio vettoriale, 88 esistenza di una, 90 isomorfismo associato con una, 89 biettivo, 11 campo, 64 R, Q, Z p , 65 C, 95 algebra su un, 76 omomorfismo di, 65 scalare di uno spazio vettoriale, 74 spazio vettoriale su un, 74 cancellativo semigruppo abeliano gruppo inviluppante di Grothendieck, 58 semigruppo, 58 cardinalità di un insieme, 25 classe di equivalenza, 26 classe laterale a destra, 60 a sinistra, 60 di un sottogruppo normale, 60 codominio, 9 coefficiente binomiale nk , 67 combinazione lineare di elementi di uno spazio vettoriale, 85 commutativo anello, 65 operazione, 34 complemento A{ , 7 complessità dell’algoritmo di Gauß, 118 della regola di Cramer, 118 dello sviluppo per colonne, 118 129 130 composizione di automorfismi, 47 di funzioni, 11 di isomorfismi, 46 di omomorfismi, 45 di operatori, 77 contrapposizione esempio di una, 5 controimmagine, 9 coordinate polari di numeri complessi, 96 corestrizione, 9 definizione ricorsiva, 17 determinante algoritmo di Gauß per il calcolo di, 117 come omomorfismo, 114 sviluppo per colonne, 117 complessità dello, 118 determinate di una matrice, 112 diagonalizzazione di una matrice, 125 differenza A\B, 7 dimensione di uno spazio vettoriale, 92 unicità di, 92 dimostrazione con l’induzione, 16 dominio, 9 dominio di integrità, 66 polinomio su un, 70 numero massimo di radici, 71 Indice analitico generale dell’equazione omogenea, 100 particolare dell’equazione non omogenea, 100 equipotenza, 25 equivalenza classe di, 26 compatibile (su un semigruppo), 55 quoziente rispetto ad un’, 26 rappresentante di una classe di, 26 relazione di, 25 estensione, 9 flip, 9 formula di Euler, 98 formula del binomio, 67 funzione, 8 biettiva, 11 trasposto del grafo di una, 11 codominio di una, 9 composta, 11 corestrizione di una, 9 dominio di una, 9 estensione di una, 9 grafo di una, 9 identica, 9 iniettiva, 11 inversa, 11 a destra, 11 a sinistra, 11 grafo della, 12 unicità dell’, 12 invertibile, 11 lineare, 76 restrizione di una, 9 surgettiva, 11 funzione esponenziale di numeri complessi, 98 elemento neutrale di un semigruppo, 32 equazione lineare, 99 algoritmo di Gauß per, 105 insieme delle soluzioni di un, 99 grado regola di Cramer, 115 di un polinomio, 69 soluzione di una permutazione (pari o dispari), 53 generale dell’equazione non omogenea, 100 grafo Indice analitico della funzione inversa, 12 di una funziona, 9 gruppo, vedi (semi)gruppo o monoide abeliano, 34 banale, 33 di permutazioni S n , 49 finito, 49 ordine di un, 49 quoziente con un sottogruppo normale, 61 simmetrico S n , 49 ordine di un, 52 sottogruppo normale, 60 (semi)gruppo o monoide automorfismo di, 47 isomorfismo di, 46 omomorfismo di, 43 opposto, 35 prodotto diretto di, 58 quoziente rispetto ad una relazione di equivalenza compatibile su un, 56 relazione di equivalenza compatibile su un, 55 scritto additivo, 35 scritto moltiplicativo, 35 ideale di un anello, 72 quoziente con un, 72 identità artificiale, 34 di un anello, 65 di un semigruppo, 32 su un insieme, 9 unicità dell’, 32 immagine, 9 indipendenza lineare di elementi di uno spazio vettoriale, 86 induzione dimostrazione con l’, 16 principio dell’, 16 iniettivo, 11 iniezione canonica, 45 131 insieme, 3 alcuni notazioni di, N, N0 , Z, Q, R, C, 4 complemento di un, 7 delle parti P(Ω), 5 di cardinalità n ∈ N0 , 25 differenza di, 7 elemento di un, 4 equipotenti, 25 finito, 25 infinito, 25 intersezione di, 7 leggi di calcolo di, 7 numerabile, 25 partizione di un, 26 prodotto di, 6 sottoinsieme di un, 5 unione di, 7 vuto, 5 intersezione A ∩ B, 7 intervallo, 6 multi-dimensionale, 7 inversione di matrici algoritmo di Gauß per, 109 regola di Cramer, 116 inverso, 11 a destra, 11, 32 a sinistra, 11, 32 di un elemento di un monoide, 32 di una funzione invertibile, 12 unicità del, 12, 32 isomorfismo associato con una base, 89 composizione di, 46 di (semi)gruppi o monoidi, 46 di spazi vettoriali, 76 lemma di Zorn, 6, 93 lineare funzione, 76 matrice n × m, 78 132 Indice analitico per (semi)gruppi o monoidi, 57 determinante di una, 112 m n per spazi vettoriali, 82 di un operatore in L(K , K ), 78 operatore, 76 diagonalizzazione di una, 125 biettivo, 76, 89 polinomio caratteristico, 123 di una matrice in Mnm (K), 78 regola emprica per la moltiplicazione di, iniettivo, 89 40 spazio di, 76 trasposta, 78 surgettivo, 86, 89 Mnm (K), 78 operatori modulo, 75 composizione di, 77 a destra, 75 operazione a sinistra, 75 n–aria, 32 bimodulo, 75 associativa, 32 su un’algebra, 76 binaria, 31 moltiplicazione scalare commutative, 34 di uno spazio vettoriale, 74 elementare di colonne, 104 monoide, vedi (semi)gruppo o monoide elementare di righe, 104 abeliano, 34 relazione di equivalenza compatibile con ciclico, 37 un’, 55 generatore di un, 37 su un insieme, 31 normale unaria, 31 sottogruppo, 60 opposto nucleo (semi)gruppo o monoide, 35 di un omomorfismo, 45 ordinamento numerabile parziale nsieme, 25 elemento massimo di un, 93 numeri induttivo, 93 complessi, 95 maggiorante di un sottoinsieme di un, 93 coordinate polari di, 96 totale, 24 funzione esponenziale di, 98 ordinamento parziale, 24 di Fibonacci, 121 ordine naturali, 14 di sottogruppi di un gruppo finito, 61 operazioni sui, 17 di un gruppo, 49 realizzazione dei, 15 di un gruppo simmetrico, 52 razionali, 57 partizione omomorfismo di un insieme, 26 canonico, 56, 82 di un insieme rispetto ad una relazione di composizione di, 45 equivalenza, 27 di (semi)gruppi o monoidi, 43 permutazione, 49 di campi, 65 dispari, 53 nucleo di un, 45 grado di una (pari o dispari), 53 teorema fondamentale di gruppo di, 49 Indice analitico pari, 53 segno di una, 53 piano, 101 R2 , 6 attraverso l’origine, 80 polinomio, 69 anello di, 69 caratteristico, 123 grado di un, 69 radice di un, 70 su un dominio di integrità, 70 numero massimo di radici, 71 su un dominio di integrità infinito controllare l’uguaglianza di, 71 valutazione in r, 69 principio dell’induzione, 16 prodotto cartesiano, 6 prodotto diretto di (semi)gruppi o monoidi, 58 di spazi vettoriali, 84 proiezione canonica, 9 133 realizzazione dei numeri naturali, 15 regola di Cramer complessità della, 118 inversione di matrici con la, 116 soluzione di equazioni linerari con la, 115 regola empirica per la moltiplicazione di matrici, 40 relazione, 23 antisimmetrica, 23 di equivalenza, 25 compatibile (su un semigruppo), 55 ordinamento parziale, 24 totale, 24 riflessiva, 23 simmetrica, 23 transitiva, 23 restrizione, 9 retta, 101 attraverso l’origine, 80 quoziente scalaro, 74 di un anello ed un suo ideale, 72 di un gruppo ed un suo sottogruppo nor- segno di una permutazione, 53 male, 61 semigruppo, vedi (semi)gruppo o monoide di un semigruppo rispetto ad un’equivaabeliano, 34 lenza compatibile, 56 cancellativo, 58 di uno spazio vettoriale ed un suo sottocancellativo abeliano spazio, 82 gruppo inviluppante di Grothendieck di, rispetto ad una relazione di equivalenza, 58 26 con identità (monoide), 32 radice somma diretta di un polinomio, 70 esterna, 83 numero massimo su un dominio di intesimmetria della, 84 grità, 71 interna, 83 rappresentante sottodi una classe di equivalenza, 26 campo, 65 rappresentazione regolare gruppo, 34 a destra, 48 normale, 60 a sinistra, 48 insieme, 5 Indice analitico 134 generante per uno spazio vettoriale, 85 monoide, 33 monoide generato da un sottoinsieme, 37 semigruppo, 33 spazio somma diretta di, 83 spazio affino di uno spazio vettoriale, 101 spazio banale, 80 spazio di uno spazio vettoriale, 80 generato da un sottoinsieme, 84 spazio di operatori, 76 spazio vettoriale, 74 Kn , Rn , Cn , 75 banale, 75 base di uno, 88 esistenza di una, 90 campo scalare di uno, 74 combinazione lineare di elementi di uno, 85 di operatori, 77 dimensione di uno, 92 unicità di, 92 indipendenza lineare di elementi di uno, 86 isomorfismo di, 76 moltiplicazione scalare di uno, 74 prodotto diretto di, 84 quoziente di, 82 somma diretta di, 83 sottospazio affino di uno, 101 sottospazio banale di uno, 80 sottospazio di uno, 80 generato da un sottoinsieme, 84 somma diretta di, 83 surgettivo, 11 surgezione canonica, 56 teorema della fattorizzazione per polinomi, 70 di Cayley, 48 di Ruffini, 70 fondamentale dell’algebra, 72 fondamentale di omomorfismo per (semi)gruppi o monoidi, 57 fondamentale di omomorfismo per spazi vettoriali, 82 spettrale per matrici complessi, 126 per matrici reali, 126 trasposizione, 50 di prossimi vicini, 51 trasposto di un grafo, 10 di un grafo di una funzione biettiva, 11 di una matrice, 78 unione A ∪ B, 7 unitario anello, 65 valutazione di un polinomio, 69