-- esercizio 1 Use QQ[t, a,b,c]; A := Mat([ [t, 1, t+1], [0, 4, 5], [-12t, 1, 1] ]); B := Mat([ [1], [3], [1] ]); C := MatConcatHor(A,B); C; -- [t, 1, t + 1, 1], -- [0, 4, 5, 3], -- [-12t, 1, 1, 1] ------------------------------- -- considero i casi t=0 e t!=0 --(1) t=0; C0 := Subst(C, [[t,0]]); C0; -- [0, 1, 1, 1], -- [0, 4, 5, 3], -- [0, 1, 1, 1] -- il sistema e' equivalente a -- y+ z=1 -- 4y+5z=3 --da cui segue z=-1 e y=1-z=2, e x puo' assumere qualunque valore. --verifico: Sol := ColMat([a, 2, -1]); A0 := Subst(A, [[t,0]]); A0; -- [0, 1, 1], -- [0, 4, 5], -- [0, 1, 1] B0 := Subst(B, [[t,0]]); B0; -- [1], -- [3], -- [1] A0*Sol = B0; --> True -- => per t=0 esistono infinite soluzioni { (a,2,-1) | a in R} --------------------------------------------------- --(2) t!=0 quindi posso dividere per t E1:=Identity(3); E1[1,1]:=1/t; E1*C; -- [1, 1/t, (t + 1)/t, 1/t], -- [0, 4, 5, 3], -- [-12t, 1, 1, 1] E2:=Identity(3); E2[3,1]:=12t; E2*E1*C; -- [1, 1/t, (t + 1)/t, 1/t], -- [0, 4, 5, 3], -- [0, 13, 12t + 13, 13] E3:=Identity(3); E3[2,2]:=1/4; E3*E2*E1*C; -- [1, 1/t, (t + 1)/t, 1/t], -- [0, 1, 5/4, 3/4], -- [0, 13, 12t + 13, 13] E4:=Identity(3); E4[3,2]:=-13; E4*E3*E2*E1*C; -- [1, 1/t, (t + 1)/t, 1/t], -- [0, 1, 5/4, 3/4], -- [0, 0, 12t - 13/4, 13/4] ------------------------------- -- considero i casi t=13/48 e t!=13/48 --(2A) t=13/48 C1 := Subst(E4*E3*E2*E1*C, [[t, 13/48]]); C1; -- [1, 48/13, 61/13, 48/13], -- [0, 1, 5/4, 3/4], -- [0, 0, 0, 13/4] -- da cui segue che la terza equazione del sistema associato e' 0 = 13/4 -- quindi non ammette soluzioni --(2B) t!=13/48 E5:=Identity(3); E5[3,3]:= 1 / (12t - 13/4); E5*E4*E3*E2*E1*C; -- [1, 1/t, (t + 1)/t, 1/t], -- [0, 1, 5/4, 3/4], -- [0, 0, 1, 13/48/(t - 13/48)] E6:=Identity(3); E6[2,3]:= -5/4; E6*E5*E4*E3*E2*E1*C; -- [1, 1/t, (t + 1)/t, 1/t], -- [0, 1, 0, (3/4t - 13/24)/(t - 13/48)], -- [0, 0, 1, 13/48/(t - 13/48)] E7:=Identity(3); E7[1,2]:=-1/t; E7[1,3]:=- (t+1)/t; E7*E6*E5*E4*E3*E2*E1*C; -- [1, 0, 0, -1/48/(t - 13/48)], -- [0, 1, 0, (3/4t - 13/24)/(t - 13/48)], -- [0, 0, 1, 13/48/(t - 13/48)] --verifico M := E7*E6*E5*E4*E3*E2*E1*C; Sol := Submat(M, [1,2,3], [4]); Sol; -- [-1/48/(t - 13/48)], -- [(3/4t - 13/24)/(t - 13/48)], -- [13/48/(t - 13/48)] A*Sol=B; -- TRUE --------------------------------------------------- -- Conclusione: -- per t=0 infinite soluzioni { (a,2,-1) | a in R} -- per t=13/48 nessuna soluzione -- altrimenti un'unica soluzione -- [-1/48/(t - 13/48)], -- [(3/4t - 13/24)/(t - 13/48)], -- [13/48/(t - 13/48)] ---------------------------------------------------------------------- ---------------------------------------------------------------------- -- esercizio 2 -- (a) -- Falso: controesempio -- A := I, B := -I -- A e B sono invertibili perche' A*A = I e B*B = I -- e A+B e' la matrice nulla, non invertibile -- (b) -- Falso: controesempio A := Identity(2); A[1,1]:=2; A; -- [2, 0], -- [0, 1] InvA := Identity(2); InvA[1,1]:=1/2; InvA; -- [1/2, 0], -- [0, 1] B := Identity(2); B[2,1]:=1; B; -- [1, 0], -- [1, 1] InvB := Identity(2); InvB[2,1]:=-1; InvB; -- [1, 0], -- [-1, 1] -- ora confronto (A*B)^-1 = B^-1 * A^-1 e A^-1*B^-1 InvAB := InvB * InvA; InvAB; -- [1/2, 0], -- [-1/2, 1] InvA*InvB; -- [1/2, 0], -- [-1, 1] --> sono diverse -- (c) -- Falso: controesempio -- A e B come sopra A*B - B*A; -- [0, 0], -- [-1, 0] --> non e' la matrice nulla ---------------------------------------------------------------------- ---------------------------------------------------------------------- -- esercizio 3 A := Mat([ [-2, 0, -1], [-3, 3, -3/2], [5, -1/4, -5/4] ]); --riduco la prima colonna E1:=Identity(3); E1[1,1]:=-1/2; E1*A; E2:=Identity(3); E2[2,1]:=3; E2*E1*A; E3:=Identity(3); E3[3,1]:=-5; E3*E2*E1*A; -- [1, 0, 1/2], -- [0, 3, 0], -- [0, -1/4, -15/4] --riduco la seconda colonna E4:=Identity(3); E4[2,2]:=1/3; E4*E3*E2*E1*A; E5:=Identity(3); E5[3,2]:=1/4; E5*E4*E3*E2*E1*A; -- [1, 0, 1/2], -- [0, 1, 0], -- [0, 0, -15/4] --riduco la terza colonna E6:=Identity(3); E6[3,3]:=-4/15; E6*E5*E4*E3*E2*E1*A; -- [1, 0, 1/2], -- [0, 1, 0], -- [0, 0, 1] -- (a) LU -- perche' non ho usato matrici di scambio ==> la decomposizione LU esiste U := E6*E5*E4*E3*E2*E1*A; U; --calcolo le inverse delle matrici elementari di somma e verifico Inv2:=Identity(3); Inv2[2,1]:=-3; E2*Inv2; Inv3:=Identity(3); Inv3[3,1]:=5; E3*Inv3; Inv5:=Identity(3); Inv5[3,2]:=-1/4; E5*Inv5; --calcolo le inverse delle matrici elementari di prodotto e verifico Inv1:=Identity(3); Inv1[1,1]:=-2; E1*Inv1; Inv4:=Identity(3); Inv4[2,2]:=3; E4*Inv4; Inv6:=Identity(3); Inv6[3,3]:=-15/4; E6*Inv6; L := Inv1*Inv2*Inv3*Inv4*Inv5*Inv6; L; --verifico A=L*U; -- True -- la decomposizione LU di A e' data da L; -- [-2, 0, 0], -- [-3, 3, 0], -- [5, -1/4, -15/4] U; -- [1, 0, 1/2], -- [0, 1, 0], -- [0, 0, 1] -- (b) inversa E6*E5*E4*E3*E2*E1*A; -- [1, 0, 1/2], -- [0, 1, 0], -- [0, 0, 1] -- riduzione all'indietro E7:=Identity(3); E7[1,3]:=-1/2; E7*E6*E5*E4*E3*E2*E1*A; -- [1, 0, 0], -- [0, 1, 0], -- [0, 0, 1] --verifico InvA := E7*E6*E5*E4*E3*E2*E1; -- l'inversa di A e': InvA; -- [-11/60, 1/90, 2/15], -- [-1/2, 1/3, 0], -- [-19/30, -1/45, -4/15] -- infatti: InvA*A; -- [1, 0, 0], -- [0, 1, 0], -- [0, 0, 1] ---------------------------------------------------------------------- ---------------------------------------------------------------------- -- esercizio 4 -- Sia A una matrice di tipo 5. -- per calcolare A^2 = A*A sono necessarie 5^3 = 125 moltiplicazioni -- Sia B una matrice di tipo 3. -- posso calcolare B^6 = B*B*B*B*B*B con 5*3^3 = 135 moltiplicazioni, -- ma posso usare un metodo meno costoso: -- prima calcolo C := B*B con 3^3 = 27 moltiplicazioni -- e poi C*C*C con 2*3^3 = 54 moltiplicazioni -- quindi trovo B^6 con 27+54 moltiplicazioni. -- Conclusione -- e' meno costoso calcolare la 6a potenza di una matrice 3x3