% Seconda Gara di sistemi lineari (25/10/2017)
% Il sistema assegnato è

X=sym('X',[1,5])
syms k
eqn1=X(1)-2*X(3)+X(4)==1
eqn2=k*X(1)+X(2)+(1-2*k)*X(3)+k*X(4)+X(5)==1
eqn3=X(1)+k*X(2)+(k-2)*X(3)+(1+k)*X(4)+(2*k)*X(5)==k

% La matrice dei coefficienti A e la matrice dei termini noti sono

[A b]=equationsToMatrix(eqn1,eqn2,eqn3,X)

% Se k\ne \text{ }0 , la decomposizione LU di A

[L U]=lu(A)

% (avremmo anche potuto prendere le matrice U avente 1 al posto di k sull'ultima riga e L avente k sull'ultima colonna al posto dell'1).
% Il sistema LY=b ammette l'unica soluzione

Y=linsolve(L,b)

% Troviamo una soluzione particolare del sistema UX=Y

X0=linsolve(U,Y)

% e troviamo le soluzioni base del sistema omogeneo associato UX=0

Z=null(U);
X1=Z(:,1)
X2=Z(:,2)

% Le soluzioni del sistema AX=b per k\ne 0sono quindi

X0+X(3)*X1+X(5)*X2

% Se k=0 la matrice A e la matrice b diventano

k=0;
eqn1=X(1)-2*X(3)+X(4)==1;
eqn2=k*X(1)+X(2)+(1-2*k)*X(3)+k*X(4)+X(5)==1;
eqn3=X(1)+k*X(2)+(k-2)*X(3)+(1+k)*X(4)+(2*k)*X(5)==k;
[A b]=equationsToMatrix(eqn1,eqn2,eqn3,X)

% e la sua decomposizione LU è

[L U]=lu(A)

% risolviamo il sistema LY=b:

Y=linsolve(L,b)

% Il sistema UX=Y (e quindi il sistema iniziale AX=b) è quindi incompatibile, poichè l'ultima riga di U è zero, mentre l'ultima riga di Y non è zero.
%