echo on
% 1)
% see cramermatrix.m

% 2)
% Matrix A
A = [1, 2, 3;
     4, 5, 6;
     7, 8, 9; ];

% 3)
% Vector b
b = [ 10; 11; 12];

% 4)
help cramermatrix

% 5)
% test werking cramermatrix voor i=1,2,3
for i=1:3
    cramermatrix(A,i,b)
end

% 6)
% see cramer.m

% 7)
% resultatencheck met rref(Ab)
Ab = [1, 2, 3, 10;
      6, 5, 4, 11;
      7, 9, 8, 12; ];
% little trick to input into newly created cramer function
cramer(Ab(:,1:3),Ab(:,4))
rref(Ab)
% klopt

%
% Permataties van rijen van een matrix
%

% 1)
A = [  1,  2,  3,  4;
       5,  6,  7,  8;
       9, 10, 11, 12;
      13, 14, 15, 16; ];
% 2)
P4231 = [ 0, 0, 0, 1;
          0, 1, 0, 0;
          0, 0, 1, 0;
          1, 0, 0, 0; ];

% 3) 
T1 = P4231 * A

% 4)
T2 = rowswap(A,1,4)
% Ze zijn gelijk

%
% LU deconpositie
%

% 1)
A = [  2,  4, -1,  5, -2;
      -4, -5,  3, -8,  1;
       2, -5, -4,  1,  8;
      -6,  0,  7, -3,  1; ];

% 2)
[L, U] = lu(A)

% 3) Nee L geen onderdriehoeksmatrix, en U geen bovendriehoeksmatrix

% 4)
[L, U, P] = lu(A)

% 5) Ja, L is nu een onderdriehoeksmatrix

% 6)
[L, U] = lu(P * A)
% Dit levert het gewenste resultaat op, als P gebruikt wordt


