function X = gauss0sym(A,B) 

printf('gauss0 pour une matrice symétrique')

n=size(A,'c') // calcul de la taille de A et vérif carrée
if ~ size(A,'r')==n  then printf('matrice non carree'), end

A(:,n+1) = B // ou A=[A,B]
////
print(6,A),

for k = 1 : n ,   // etape k
    if A(k,k)==0 then // recherche d'un pivot non nul
        printf('pivot nul a l''etape %d',k),
         printf('on s arrete');
         X='pas de calcul',
         return
        end,
  
    printf('pivot=%f',A(k,k)),

    //  nouvelles lignes i
    for i = k+1 : n ,   // nouvelle ligne i
      A(i,i:n+1) = A(i,i:n+1) - A(k,i)*A(k,i:n+1)/A(k,k)    //////////////
  //      =            =          = =      =
     end,
    
    printf('etape %d',k),
    print(6,A),
end,

// remontée, calcul des xi dans le vecteur X
X(n) = A(n,n+1)/A(n,n), 
for i=[n-1:-1:1],   // remontee : calcul des xi
    X(i) = (A(i,n+1) - A(i,i+1:n)*X(i+1:n))/A(i,i),
end,
printf('solution'),

// A=[4 -2 -6;-2 5 1;-6 1 19]
// At=[4 -2 -6;0 5 1;0 0 19]
// B=[4;-8;6]
