disp('question 3)b)')
n=100;
U=zeros(n,n);
for i=1:n, for j=1:n, U(i,j)=sin(i)*sin(j); end; end;
for i=1:n, U(i,i)=n; end;
B=ones(n,1);
V=toeplitz([2 -1 zeros(1,n-2)]);

exec gpv.sci; exec gc.sci;
[sol_gpv,nb_iter_gpv]=gpv(U,B,zeros(n,1),1000,0.001);
[sol_gc,nb_iter_gc]=gc(U,B,zeros(n,1),1000,0.001);
printf(' \nLa solution de UX=B est obtenue\n..
par gpv au bout de %d itérations avec une erreur de %.1e\n..
et par gc au bout de %d itérations avec une erreur de %.1e.\n'..
,nb_iter_gpv,norm(sol_gpv-U\B),nb_iter_gc,norm(sol_gc-U\B))
[sol_gpv,nb_iter_gpv]=gpv(V,B,zeros(n,1),1000,0.001);
[sol_gc,nb_iter_gc]=gc(V,B,zeros(n,1),1000,0.001);
printf(' \nLa solution de VX=B est obtenue\n..
par gpv au bout de %d itérations avec une erreur de %.1e\n..
et par gc au bout de %d itérations avec une erreur de %.1e.\n'..
,nb_iter_gpv,norm(sol_gpv-V\B),nb_iter_gc,norm(sol_gc-V\B))