#=================================================#
# Dies ist der Maple source zum                   #
# Gaussalgorithmus ohne Pivotwahl                 #
#                                                 #
# Erwartet wird, dass die Dimmension n, die       # 
# Matrix a, die rechte Seite b sowie die Loesung  #
# lagu schon deklariert sind.                     #
#=================================================#


ag:=augment(a,b); # setze a und b zu (a,b) zusammen

# Gausselimination
for i from 1 to n-1 do 
  for j from i+1 to n do    # Gausselimination
    Piv:=ag[j,i]/ag[i,i];   
printf(`%10.5f --> `, Piv);
    for k from i to n+1 do 
      ag[j,k]:=ag[j,k]-Piv*ag[i,k];  
printf(`%10.5f `, ag[j,k]);
    od: 
printf(`\n`);
  od:
printf(`\n`);
od:  

ag:=evalm(ag);   # zeige das Zwischenergebnis
# Rueckwaertseinsetzen
for i from n to 1 by -1 do 
  lgau[i]:=ag[i,n+1]; 
  for j from i+1 to n do 
    lgau[i]:=lgau[i]-ag[i,j]*lgau[j]; 
  od: 
  lgau[i]:=lgau[i]/ag[i,i]; 
od: 
x:=evalm(lgau); # zeige die Loesung
