function nbrchgt = sturm(mat,n,m)
//
//initialisation 
p0=1;
p1=mat(1,1)-m;
if p1>=0 then
 nbr=0; 
else 
 nbr=1;
end
//
// nbr : nombre de changements de signes 
for i=2:n
  p2=(mat(i,i)-m)*p1-(mat(i,i-1)^2)*p0;
//
// redefinition de la fonction signe
  if p1==0 then
   p=p0
  else
    p=p1
  end
//
  if p2*p < 0 then
   nbr=nbr+1
  end
  p0=p1;
  p1=p2;
//
end
nbrchgt=nbr;





