La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sistemi di equazioni lineari

Presentazioni simili


Presentazione sul tema: "Sistemi di equazioni lineari"— Transcript della presentazione:

1 Sistemi di equazioni lineari

2 Introduzione Un sistema di equazioni algebriche lineari ha la forma seguente: le N incognite x1,x2,...,xN sono legate da M equazioni lineari le quantità aij e bi (i=1,2,...,M e j=1,2,...,N) sono note se N=M il numero di equazioni è pari al numero delle incognite ed esiste la possibilità che il sistema abbia un’unica soluzione nel caso M=N la soluzione non è unica se: una equazione è una combinazione lineare delle altre (degenerazione di riga) tutte le equazioni contengono certe variabili nelle stesse combinazioni lineari (degenerazione di colonna)

3 Alcuni esempi Degenerazione di riga: Degenerazione di colonna:
il primo sistema è impossibile, il secondo è indeterminato Degenerazione di colonna: le variabili x2 e x3 compaiono sempre nella combinazione lineare x2-x3 il sistema in esame è impossibile

4 Soluzioni numeriche Nella soluzione numerica di un sistema si possono presentare due tipi di problemi: gli errori di arrotondamento del computer possono rendere alcune equazioni (che inizialmente non lo sono!) linearmente dipendenti, rendendo il sistema irrisolvibile gli errori di arrotondamento che si accumulano nel corso della risoluzione numerica possono avere effetti significativi sulla soluzione, che risulterà errata è sempre opportuno verificare la correttezza della soluzione andando a sostituirla nelle equazioni di partenza questa situazione tende a verificarsi se N è grande e se il sistema è vicino ad essere singolare

5 Matrici Un sistema lineare può scriversi nella forma: dove:
La matrice A è detta “matrice dei coefficienti” il primo indice di ciascun elemento aij è quello di riga, il secondo indice è quello di colonna Il vettore b è detto “vettore dei termini noti”

6 Definizioni (1) Matrice quadrata: M=N Sia A una matrice quadrata:
diagonale principale: è formata dagli elementi con indici uguali a11,a22,...,aNN diagonale secondaria: è formata dagli elementi con indici la cui somma è N+1: a1N,a2N-1,...,aN1 Matrice diagonale: tutti gli elementi al di fuori della diagonale principale sono nulli Matrice simmetrica: aik=aki diagonale principale diagonale secondaria

7 Definizioni (2) Matrice unità: Simbolo di Kronecker:
è una matrice quadrata che ha uguali a 1 tutti gli elementi della diagonale principale e uguali a 0 tutti gli altri elementi Simbolo di Kronecker: gli elementi della matrice unità possono essere rappresentati con il simbolo di Kronecker

8 Definizioni (3) Matrice trasposta:
data una matrice A, la trasposta AT è la matrice che si ottiene da A scambiando le righe con le colonne se A è una matrice MN, AT sarà una matrice NM se A è quadrata, anche AT è quadrata la matrice trasposta della trasposta è nuovamente la matrice di partenza: (AT)T=A una matrice quadrata simmetrica coincide con la sua trasposta

9 Somma e differenza tra matrici
La somma tra due matrici A e B si può effettuare solo se le due matrici hanno le stesse dimensioni la matrice somma ha le stesse dimensioni di A e di B Detta C=A+B la matrice somma, i suoi elementi si ottengono sommando quelli di A e B: cik=aik+bik Data una matrice A, si definisce la matrice opposta –A tale che A+(-A)=0 la matrice nulla (0) è una matrice i cui elementi sono tutti nulli la matrice opposta ha le stesse dimensioni della matrice A gli elementi della matrice opposta sono gli opposti di quelli della matrice A: (-a)ik=-aik Analogamente alla somma, la differenza tra due matrici A e B si può calcolare solo se A e B hanno le stesse dimensioni la matrice differenza ha le stesse dimensioni di A e B e si ottiene sommando la matrice A con l’opposta di B Detta D=A-B la matrice differenza, i suoi elementi sono: dik=aik-bik

10 Prodotto di una matrice per un numero
Data una matrice A ed un numero r, il prodotto del numero r per la matrice A è una matrice delle stesse dimensioni di A, i cui elementi sono pari agli elementi di A moltiplicati per il numero r:

11 Prodotto tra matrici (1)
Il prodotto tra matrici si può effettuare solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda matrice Data una matrice A di tipo MP ed una matrice B di tipo PN, la matrice prodotto C=AB sarà una matrice di tipo MN si noti che in generale AB ≠ BA (sono due matrici di tipo diverso, ammesso che esistano entrambe!) Gli elementi di C=AB si calcolano con la regola del prodotto righe per colonne:

12 Prodotto tra matrici (2)
Regola del prodotto: riga i colonna k

13 Determinante (1) Il determinante può essere definito solamente nel caso di matrici quadrate Per una matrice quadrata 11 (del primo ordine) il determinante è pari all’unico elemento della matrice: Per matrici quadrate di ordine superiore il determinante si definisce in maniera induttiva, partendo dalla definizione data nel caso della matrice di ordine 1

14 Determinante (2) A seconda della sua posizione nella matrice A, un elemento aik di una matrice può essere: di classe pari (dispari) se i+k è pari (dispari) A ciascun elemento aik viene associata una matrice quadrata, che si ottiene dalla matrice A eliminando la i-esima riga e la k-esima colonna il determinante di tale matrice, Mik, si chiama minore complementare dell’elemento aik si chiama complemento algebrico Cik dell’elemento aik il minore complementare Mik moltiplicato per +1 o -1 a seconda che aik sia di classe pari o dispari:

15 Determinante (3) Il determinante di una matrice quadrata è definito come somma dei prodotti degli elementi di una linea (riga o colonna) per i corrispondenti complementi algebrici Il valore del determinante non dipende dalla linea scelta Una matrice con determinante nullo è detta singolare

16 Determinante di una matrice 22
Calcoliamo il determinante di una matrice 22: Sviluppando il determinante lungo la prima riga si ha: Il determinante della matrice 22 si calcola come il prodotto degli elementi della diagonale principale meno il prodotto degli elementi della diagonale secondaria

17 Determinante di una matrice 33
Calcoliamo il determinante di una matrice 33: Sviluppando il determinante lungo la prima riga si ha: Regola empirica: il determinante di una matrice 33 si calcola sommando i prodotti degli elementi della diagonale principale e delle sue parallele e sottraendo i prodotti degli elementi della diagonale secondaria e delle sue parallele

18 Alcune proprietà dei determinanti
Il determinante della matrice trasposta è uguale al determinante della matrice di partenza: detAT=detA Se tutti gli elementi di una riga (o di una colonna) sono nulli, il determinante è nullo Scambiando tra loro due righe (o due colonne) il determinante cambia segno Se due righe (o due colonne) parallele sono proporzionali, il determinante è nullo Se gli elementi di una riga (o di una colonna) vengono moltiplicati per un numero r, il determinante viene anch’esso moltiplicato per r Il determinante di una matrice quadrata non cambia quando agli elementi di una linea si aggiungono i corrispondenti elementi di una linea parallela moltiplicati per un numero arbitrario r Date due matrici quadrate A e B, se C=AB, allora risulta anche detC=detAdetB

19 Matrici triangolari Una matrice quadrata si dice triangolare se tutti i suoi elementi al di sopra o al di sotto della diagonale principale sono nulli matrice triangolare superiore (alta) se aik=0 con i>k matrice triangolare inferiore (bassa) se aik=0 con i<k Il determinante di una matrice triangolare è pari al prodotto degli elementi della diagonale principale:

20 Matrice inversa Data una matrice quadrata A di ordine N, si dice inversa (se esiste) la matrice A-1 tale che: dove I è la matrice unità di ordine N Ogni matrice che ammette un’inversa si dice invertibile Se la matrice inversa esiste è anch’essa di ordine N l’inversa della matrice unità è ancora la matrice unità Teorema: se la matrice inversa esiste, essa è unica Teorema: ogni matrice non singolare possiede una matrice inversa se una matrice ha determinante nullo, allora non è invertibile

21 Metodo di Gauss-Jordan (1)
Il problema della risoluzione di un sistema lineare è strettamente connesso a quello dell’inversione della matrice dei coefficienti i due problemi possono essere affrontati insieme Sia quindi data una matrice A di NN coefficienti ed un vettore b di N termini noti Vogliamo trovare un vettore x ed una matrice Y tali che: il vettore x è la soluzione di un sistema lineare di N equazioni in N incognite la matrice Y è l’inversa della matrice A

22 Metodo di Gauss-Jordan (2)
Osservazioni preliminari: se si scambiano tra loro due righe di A, e le corrispondenti due righe di b e di I (che in seguito allo scambio non sarà più la matrice unità), le soluzioni x e Y non cambiano se sostituiamo una riga di A con una combinazione lineare della riga stessa e di una qualsiasi altra riga, e facciamo la stessa cosa nelle righe di b e di I (che, ancora una volta, in seguito allo scambio non sarà più la matrice unità), le soluzioni x e Y non cambiano se si scambiano due colonne di A, si ottengono le stesse soluzioni solo se simultaneamente vengono scambiate le righe corrispondenti di x e di Y lo scambio di colonne comporta uno scambio delle righe nella soluzione Il metodo di eliminazione di Gauss-Jordan sfrutta tutte queste proprietà

23 Un esempio (1) Consideriamo il sistema:
La soluzione è il vettore x1=3, x2=2, x3=1 Scambiamo la prima e la seconda riga di A e la prima e la seconda riga di b è evidente che il sistema è rimasto lo stesso, e quindi anche la soluzione non è cambiata

24 Un esempio (2) Sostituiamo ora la prima riga di A e di b con la somma della prima riga e della seconda riga Ancora una volta la soluzione del sistema non cambia (x1=3, x2=2, x3=1)

25 Un esempio (3) Infine scambiamo la seconda e la terza colonna di A:
Adesso la soluzione è diventata x1=3, x2=1, x3=2, cioè si sono scambiati x2 con x3 Per ripristinare la soluzione precedente è necessario scambiare la seconda e la terza riga del vettore x

26 Metodo di Gauss-Jordan (3)
In ciascuna iterazione la matrice A, il vettore b e la matrice I vengono modificati sfruttando le proprietà enunciate in precedenza Alla n-esima iterazione le equazioni da risolvere avranno la forma: se si riesce a trasformare la matrice A nella matrice unità, ossia se An=I, allora sarà: cioè il vettore dei termini noti modificato e la matrice unità modificata forniranno la soluzione del problema

27 Esempio (1) Vediamo come si applica il metodo di eliminazione di Gauss-Jordan nell’esempio studiato in precedenza: Prima iterazione: dividiamo la prima riga per l’elemento a11 (pivot) in modo che il primo elemento della diagonale principale sia 1 in questo caso particolare a11=1 e le matrici restano invariate

28 Esempio (2) Seconda iterazione:
lo scopo è quello di far sì che la prima colonna riproduca la prima colonna della matrice unità seconda riga seconda riga – a21prima riga terza riga  terza riga – a31prima riga

29 Esempio (3) Terza iterazione:
lo scopo è quello di far sì che anche il secondo elemento della diagonale principale di A sia pari a 1 dividiamo quindi la seconda riga per l’elemento pivot a22

30 Esempio (4) Quarta iterazione:
lo scopo è quello di far sì che la seconda colonna riproduca la seconda colonna della matrice unità prima riga prima riga – a12seconda riga terza riga  terza riga – a32seconda riga

31 Esempio (5) Quinta iterazione:
lo scopo è quello di far sì che anche il terzo elemento della diagonale principale di A sia pari a 1 dividiamo quindi la terza riga per l’elemento pivot a33

32 Esempio (6) Sesta iterazione:
lo scopo è quello di far sì che la terza colonna riproduca la seconda colonna della matrice unità prima riga prima riga – a13terza riga seconda riga  seconda riga – a23terza riga

33 Alcune considerazioni
Nell’esempio precedente il vettore b6 rappresenta la soluzione x del sistema Ax=b e la matrice I6 rappresenta la matrice Y=A-1 Nell’applicare il metodo di Gauss-Jordan potrebbero nascere dei problemi se un elemento pivot dovesse essere nullo in tal caso gli elementi della riga corrispondente verrebbero divisi per zero Per evitare situazioni in cui un elemento pivot è nullo, si sfruttano le proprietà legate alla permutazione di righe e colonne delle matrici, in modo che nella posizione di pivot si venga a trovare un elemento di matrice “opportuno” “partial pivoting”: si sfruttano solo le proprietà legate alla permutazione delle righe “full pivoting”: si sfruttano le proprietà legate sia alla permutazione delle righe che delle colonne una volta trovate le soluzioni del problema, occorre poi effettuare le opportune permutazioni inverse una buona strategia è quella di scegliere volta per volta come elemento pivot quello più grande in valore assoluto, effettuando le permutazioni necessarie per portarlo nella posizione di pivot

34 Metodo di eliminazione di Gauss
Il metodo di eliminazione di Gauss trasforma una matrice A in una matrice triangolare Una volta effettuata questa operazione, il sistema Ax=b può essere risolto per sostituzione Alla fine della procedura, si ha: Il sistema così ottenuto può essere risolto per sostituzione:

35 Esempio (1) Consideriamo ancora il sistema precedente:
Prima iterazione: facciamo in modo che a21=0 e a31=0 seconda riga  seconda riga – (a21/a11)prima riga terza riga  terza riga – (a31/a11)prima riga

36 Esempio (2) Seconda iterazione: facciamo in modo che a32=0
terza riga  terza riga – (a32/a22)seconda riga

37 Esempio (3) Il sistema può quindi essere risolto per sostituzione partendo dall’ultima equazione:

38 Considerazioni sul metodo di Gauss
Anche in questo caso bisogna evitare le situazioni in cui l’elemento pivot è nullo, sfruttando le proprietà delle matrici Il metodo di eliminazione di Gauss è più veloce rispetto a quello di Gauss-Jordan negli algoritmi in cui viene applicato il metodo di Gauss-Jordan sono richieste N3 operazioni per ciclo negli algoritmi in cui si applica il metodo di Gauss sono richieste N3/3 operazioni per ciclo Il metodo di eliminazione di Gauss non fornisce la matrice inversa A-1 Tale matrice può essere calcolata risolvendo gli N sistemi Axi=bi dove bi è il vettore contenente l’i-esima colonna della matrice unità

39 Decomposizione LU (1) Supponiamo che sia possibile scrivere la matrice A come prodotto A=LU dove: L è una matrice triangolare inferiore U è una matrice triangolare superiore Se tale decomposizione è possibile, il sistema Ax=b si trasforma nel modo seguente:

40 Decomposizione LU (2) Per risolvere il sistema di partenza occorre dunque risolvere i due sistemi: Ly = b Ux = y Il vantaggio di questo approccio è che entrambi i sistemi hanno una matrice dei coefficienti di forma triangolare, e possono essere risolti per sostituzione:

41 Decomposizione LU (3) Se vale la decomposizione A=LU si ha, dalla regola del prodotto: in totale si possono scrivere N2 equazioni di questo tipo ciascuna equazione contiene un numero di termini che dipende da i e j (km=0 se k<m e km=0 se k>m) le incognite sono N2+N (le ij e le ij non nulle) in ciascuna matrice L e U ci sono N(N+1)/2 incognite per effettuare la decomposizione occorre fissare N incognite

42 Algoritmo di Crout (1) Si fissano i termini diagonali della matrice L ponendo: Partiamo dalle equazioni che legano i coefficienti ij, ij e aij ed eliminiamo i termini nulli tenendo conto che km=0 se k<m e km=0 se k>m: Nell’algoritmo di Crout si sfruttano queste relazioni per ricavare, in maniera iterativa, i coefficienti ij e ij

43 Algoritmo di Crout (2) Fissiamo l’indice di colonna j=1,2,...,N.
Facciamo variare l’indice di riga i nell’intervallo i=1,2,...,j: Facciamo ora variare l’indice di riga i nell’intervallo i=j+1,j+2,...,N: I coefficienti che compaiono nelle equazioni sono stati determinati nelle iterazioni precedenti

44 Esempio (1) Applichiamo l’algoritmo di Crout per decomporre la matrice: Alla fine del procedimento determineremo due matrici L e U tali che:

45 Esempio (2) L’algoritmo di Crout viene applicato colonna per colonna
si determinano prima i valori di ij e poi quelli di ij Colonna 1 (j=1): Colonna 2 (j=2):

46 Esempio (3) Colonna 3 (j=3): Riassumendo, si ha:
e si può verificare che A=LU

47 Commenti sull’algoritmo di Crout
Anche nell’algoritmo di Crout compaiono delle divisioni per gli elementi pivot jj la scelta dell’elemento pivot può essere effettuata mediante scambi di righe (“partial pivoting”) una volta calcolati tutti i ij della j-esima colonna, si effettua la permutazione delle righe che porta sulla diagonale l’elemento voluto (di solito si sceglie il più grande) in questo caso la matrice che viene decomposta non è la matrice originaria A, ma una matrice ottenuta permutando le righe di A: occorre quindi ricordare le permutazioni effettuate La soluzione di un sistema lineare tramite la decomposizione LU richiede circa 1/3 delle operazioni richieste dal metodo di Gauss-Jordan

48 Applicazioni della decomposizione LU
Calcolo della matrice inversa: come nel caso del metodo di Gauss, la matrice inversa può essere calcolata risolvendo gli N sistemi Axi=bi dove bi è il vettore contenente l’i-esima colonna della matrice unità Calcolo del determinante: si sfruttano le proprietà del determinante di un prodotto tra matrici e del determinante delle matrici triangolari:

49 Sistemi tridiagonali (1)
Si tratta di sistemi in cui la matrice dei coefficienti ha elementi non nulli solo sulla diagonale principale e nelle posizioni adiacenti ad essa: In generale gli elementi sulla diagonale principale sono più grandi rispetto a quelli fuori diagonale:

50 Sistemi tridiagonali (2)
La soluzione di un sistema tridiagonale richiede un numero di operazioni minore rispetto a quella di un sistema normale tipicamente per risolvere un sistema normale sono richieste O(N3) operazioni, mentre per risolvere un sistema tridiagonale ne occorrono O(N) Un algoritmo per la soluzione di un sistema tridiagonale richiede meno memoria rispetto ad uno stesso algoritmo applicato ad un sistema normale non è necessario immagazzinare le informazioni complete sulla matrice dei coefficienti, ma solo quelle relative ai coefficienti non nulli Si può sviluppare un algoritmo per la soluzione di sistemi tridiagonali che sfrutta il metodo eliminazione di Gauss la soluzione si ricava per sostituzione poiché solitamente gli elementi sulla diagonale sono diversi da zero e più grandi in modulo di quelli fuori diagonale, in genere non ci sono problemi di scelta dell’elemento pivot

51 Esempio (1) Consideriamo il seguente sistema tridiagonale:
la cui soluzione è x1=2, x2=3, x3=1, x4=1 Risolviamo il sistema trasformando la matrice A in una matrice triangolare con il metodo di eliminazione di Gauss

52 Esempio (2) Prima iterazione:
seconda riga  seconda riga - 2/1prima riga

53 Esempio (3) Seconda iterazione:
terza riga  terza riga - 3/2seconda riga

54 Esempio (4) Terza iterazione:
quarta riga  quarta riga - 4/3terza riga

55 Esempio (5) A questo punto il sistema può essere risolto per sostituzione: In pratica, data la struttura tridiagonale, in ogni iterazione viene cambiato soltanto un elemento della matrice A

56 Metodi iterativi Un sistema di equazioni lineari può essere risolto in maniera iterativa Si parte da una soluzione «di prova» e, attraverso iterazioni successive, si arriva alla soluzione del sistema Non sempre le procedure iterative convergono verso la soluzione del sistema Se la matrice dei coefficienti soddisfa una serie di condizioni opportune, la convergenza è garantita Una volta stabilita la convergenza della procedura iterativa, occorre stabilire un criterio per arrestare le iterazioni

57 Metodo di Jacobi (1) Consideriamo come esempio il sistema seguente:
la cui soluzione è x=2, y=4, z=3 Le equazioni del sistema possono essere riscritte nel modo seguente:

58 Metodo di Jacobi (2) Si può quindi pensare, data la soluzione (xk,yk,zk) dopo k iterazioni, di valutare la soluzione (xk+1,yk+1,zk+1) all’iterazione successiva come: Partendo da una soluzione di prova (x0,y0,z0) ci si aspetta che la procedura iterativa converga verso la soluzione esatta del sistema in un numero ragionevole di passi

59 Metodo di Jacobi (3) Partendo dai valori (x0,y0,z0)=(1,2,2) il metodo di Jacobi converge verso la soluzione in 10 iterazioni (con una precisione alla quinta cifra significativa) Iterazione x y z 1 2 1.75 3.375 3 1.8438 3.875 3.025 1.9625 3.925 2.9625 4 1.9906 3.9766 5 1.9941 3.9953 3.0009 6 1.9986 3.9972 2.9986 7 1.9996 3.9991 8 1.9998 3.9998 9 1.9999 3.9999 2.9999 10

60 Metodo di Jacobi (4) Riscriviamo il sistema di partenza riordinando le equazioni nel modo seguente: Ricavando x dalla prima equazione, y dalla seconda e z dall’ultima possiamo scrivere le formule di Jacobi nel modo seguente:

61 Metodo di Jacobi (5) Partendo dai valori (x0,y0,z0)=(1,2,2) e utilizzando le formule ricorsive ricavate in precedenza, il metodo di Jacobi stavolta non converge verso la soluzione! Iterazione x y z 1 2 -1.5 3.375 5 6.6875 2.5 16.375 3 8.0156 -17.25 4 6

62 Metodo di Gauss-Seidel (1)
Consideriamo lo stesso sistema dell’esempio precedente L’idea alla base del metodo di Gauss-Seidel è quella di velocizzare la ricerca della soluzione sfruttando i valori di ciascuna incognita, man mano che questi vengono calcolati

63 Metodo di Gauss-Seidel (2)
La formula che permette di passare dalla k-esima alla (k+1)-esima iterazione sarà dunque la seguente: Anche in questo caso si parte da una soluzione di prova (x0,y0,z0) e si procede iterativamente

64 Metodo di Gauss-Seidel (3)
Partendo dai valori (x0,y0,z0)=(1,2,2) e utilizzando le formule ricorsive ricavate in precedenza, il metodo di Gauss-Seidel converge verso la soluzione in 6 iterazioni (con una precisione alla quinta cifra significativa) Iterazione x y z 1 2 1.75 3.75 2.95 1.95 3.9688 2.9862 3 1.9956 3.9961 2.999 4 1.9993 3.9995 2.9998 5 1.9999 3.9999 6

65 Matrici a diagonale dominante
Una matrice A è detta a diagonale dominante (per righe) in senso stretto se è verificata la condizione: Questo significa che in ciascuna riga l’elemento che si trova sulla diagonale è in valore assoluto maggiore della somma dei valori assoluti degli altri elementi In maniera analoga si definiscono le matrici a diagonale dominante per colonne In questo caso, considerata ciascuna colonna, l’elemento che si trova sulla diagonale deve essere in valore assoluto maggiore della somma dei valori assoluti degli altri elementi Teorema: una matrice a diagonale dominante è non singolare

66 Esempio Consideriamo il sistema visto negli esempi precedenti:
Come si può facilmente verificare, la matrice A è strettamente a diagonale dominante (per righe) Se però riscriviamo il sistema scambiando la prima e l’ultima equazione si ha: In questo caso, invece, la matrice A non è più strettamente a diagonale dominante

67 Condizione sufficiente di convergenza
Se la matrice dei coefficienti A è strettamente a diagonale dominante, allora il sistema Ax=b ammette un’unica soluzione Si può dimostrare che in tal caso la procedura di Jacobi converge verso la soluzione, comunque si scelga il vettore x0 di partenza Lo stesso risultato vale anche per il metodo di Gauss-Seidel In generale, il metodo di Gauss-Seidel converge più velocemente rispetto al metodo di Jacobi, e quindi viene preferito Vi sono però dei casi in cui il metodo di Jacobi converge, mentre il metodo di Gauss-Seidel non converge!

68 Formalismo generale Dato il sistema Ax=b, le formule generali utilizzate per le iterazioni di Jacobi e di Gauss-Seidel sono le seguenti: Iterazione di Jacobi: Iterazione di Gauss-Seidel:

69 Criterio di convergenza
Per fermare la procedura iterativa occorre che il vettore x(k+1) sia sufficientemente vicino al vettore x(k) Si va quindi a valutare la distanza tra i due vettori e si richiede che essa sia minore di un valore di soglia prefissato ε Possibili condizioni di convergenza: Condizione sulla norma euclidea: Condizione sulla norma generalizzata: La condizione sulla norma generalizzata è più forte di quella sulla norma euclidea


Scaricare ppt "Sistemi di equazioni lineari"

Presentazioni simili


Annunci Google