|\^/|     Maple V Release 3 (SUNY at Albany)
._|\|   |/|_. Copyright (c) 1981-1994 by Waterloo Maple Software and the
 \  MAPLE  /  University of Waterloo. All rights reserved. Maple and Maple V
 <____ ____>  are registered trademarks of Waterloo Maple Software.
      |       Type ? for help.
Warning: new definition for   norm
Warning: new definition for   trace
> read `gauss.mpl`;


> evalm(A11);


                         [ 1  1    -1     0      -1  ]
                         [                           ]
                         [ 0  1  101/9   -1/9  397/9 ]
                         [                           ]
                         [ 0  0    1    -1/30   1/2  ]
                         [                           ]
                         [ 0  0    0      1     135  ]

> # At this point the matrix is in row-echelon form
> # The solution cam be read directly from here. 
> #The last equation is: N = 135 and therefore x = 1, y = 3 and z = 5.
> # It is an accident that we can read x, y, and z, directly from N.
> # In general we would have to solve the (triangular) system of
> # linear equations:

> pivot(A11,2,2);


                        [ 1  0  -110/9   1/9   -406/9 ]
                        [                             ]
                        [ 0  1   101/9   -1/9   397/9 ]
                        [                             ]
                        [ 0  0     1    -1/30    1/2  ]
                        [                             ]
                        [ 0  0     0      1      135  ]

> pivot(",3,3);


                            [ 1  0  0  -8/27   -39 ]
                            [                      ]
                            [            71        ]
                            [ 0  1  0   ---   77/2 ]
                            [           270        ]
                            [                      ]
                            [ 0  0  1  -1/30   1/2 ]
                            [                      ]
                            [ 0  0  0    1     135 ]

> pivot(",4,4);


                              [ 1  0  0  0   1  ]
                              [                 ]
                              [ 0  1  0  0   3  ]
                              [                 ]
                              [ 0  0  1  0   5  ]
                              [                 ]
                              [ 0  0  0  1  135 ]

> # Ofcourse Maple can get to the row-echelon form in a single step!

> gausselim(A);


                          [ 1  10  100   -1    396  ]
                          [                         ]
                          [ 0   9  101   -1    397  ]
                          [                         ]
                          [ 0   0   30   -1    15   ]
                          [                         ]
                          [             781         ]
                          [ 0   0   0   ---  7029/2 ]
                          [              30         ]

> # Well almost in row-echelon form, except for the leading ones...

> # Back substitution on this (upper-triangular) matrix gives the answer:

> backsub(");


                                [ 1, 3, 5, 135 ]

> # i.e.: x =1, y=3, z=5, N=135.

> # The Maple command that gives the Reduced-Row-Echelon-Form is:

> gaussjord(A);


                              [ 1  0  0  0   1  ]
                              [                 ]
                              [ 0  1  0  0   3  ]
                              [                 ]
                              [ 0  0  1  0   5  ]
                              [                 ]
                              [ 0  0  0  1  135 ]

>