disp('question 1)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;
if min(spec(U))>0, message='est'; else message='n''est pas'; end;
printf(' \nLa matrice symétrique U %s définie positive\n',message)
B=ones(n,1);

exec gpc.sci;
[sol_gpc,nb_iter_gpc]=gpc(U,B,0.01,zeros(n,1),1000,0.001);
printf(' \nLa solution de UX=B  est obtenue pour alpha=0,01\n..
par gpc au bout de %d itérations avec une erreur de %.1e.\n'..
,nb_iter_gpc,norm(sol_gpc-U\B))

X=[];
for alpha=0:0.25E-3:14E-3;
[sol_gpc,nb_iter_gpc]=gpc(U,B,alpha,zeros(n,1),100,0.001);
X=[X,[alpha;nb_iter_gpc]];
end;

plot2d(X(1,2:$),X(2,2:$),2);
xtitle('Recherche du alpha optimal pour gpc relatif à U',..
'alpha','nombre d''itérations')
alphaoptimal=2/(min(spec(U))+max(spec(U)));
printf(' \nLe alpha qui donne en gros la convergence la plus rapide pour gpc\n..
relativement à U est : alphaoptimal = %.5f (cf. figure).\n',alphaoptimal)