code: def factorMatrix0(M):
      # Gaussian elimination, partial pivoting.
      # M must be an (n,n+1) numpy array. Not tested!
      n = M.shape[0]
      m = M.shape[1]
      for line in range(0, n - 1):
          # find pivot
          cmax = np.argmax(abs(M[line:n, line])) + line
  
          # exchange rows if necessary
          if cmax != line:
              M[[line, cmax]] = M[[cmax, line]]
  
          # eliminate
          pivot = M[line, line]
          for j in range(line + 1, n):
              v = M[j, line] / pivot
              for k in range(line, m):
                  M[j, k] -= v * M[line, k]
  
label_desc: Use image node_id 1 for calling a global function with example usage: factorMatrix0(M) without return types