up previous next
Slinalg.SGEF

Performs specified steps of structured gaussian elimination on a sparse matrix over F2.
Syntax
          
Slinalg.SGEF(NRow:INT, NCol:INT, M:LIST, CSteps:STRING):LIST

          

Description
Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

This function does some experiments on calculating row echelon form of a matrix using structured gaussian elimination. Please be careful while using this function because some columns and rows are deleted from the matrix. Some times the echelon form may not contain all the required information. The best possibility to compute echelon form is to set the parameter CSteps to "SGE1".

Structured Gaussian Elimination: Structured Gaussian Elimination has the following four steps: After performing the four steps above we apply usual Gaussian Elimination, specially on the heavy part of the matrix. For the parameter CSteps we have to distinguish the following cases:

Example
NRow := 10;
NCol := 13;
CSteps:="SGE1";
M := [[1, 2, 6, 7],
      [ 2, 4, 5, 6], 
      [2, 3], 
      [2, 3, 10, 11], 
      [2, 4, 6, 7, 9, 10], 
      [2, 10, 11, 13], 
      [5, 6, 8],
      [ 6, 8, 9,10,12],
      [6, 10, 12], 
      [10, 13]];
  
  Slinalg.SGEF(NRow, NCol, M, CSteps);
  [[2, 3],
   [3, 13],
   [10, 11],
   [11, 13]]


Example
NRow := 10;
NCol := 13;
CSteps:="SGE0";
M := [[1, 2, 6, 7],
      [ 2, 4, 5, 6], 
      [2, 3], 
      [2, 3, 10, 11], 
      [2, 4, 6, 7, 9, 10], 
      [2, 10, 11, 13], 
      [5, 6, 8],
      [ 6, 8, 9,10,12],
      [6, 10, 12], 
      [10, 13]];
  
  Slinalg.SGEF(NRow, NCol, M, CSteps);
[[1, 2, 6, 7],
 [2, 4, 5, 6],
 [3, 4, 5, 6],
 [4, 5, 6, 13],
 [5, 7, 9, 10],
 [6, 7, 8, 9, 10],
 [7, 8, 9, 12],
 [8, 9],
 [10, 11],
 [11, 13]]


Example
NRow := 10;
NCol := 13;
CSteps:="SGE2";
M := [[1, 2, 6, 7],
      [ 2, 4, 5, 6], 
      [2, 3], 
      [2, 3, 10, 11], 
      [2, 4, 6, 7, 9, 10], 
      [2, 10, 11, 13], 
      [5, 6, 8],
      [ 6, 8, 9,10,12],
      [6, 10, 12], 
      [10, 13]];
  
  Slinalg.SGEF(NRow, NCol, M, CSteps);
   [ ]


See Also