code: def invert(self,nz,A,C):
          
  
          X = [0 for i in range(nz)]
  
          for i in reversed(range(nz-1)):
              C[i] = C[i] - A[i][2] * C[i+1]/A[i+1][1]
              A[i][1] = A[i][1] - A[i][2] * A[i+1][0]/A[i+1][1]
  
          for i in  range(1,nz,1):
              C[i] = C[i] - A[i][0] * C[i-1]/A[i-1][1]
  
          for i in range(nz):
              X[i] = C[i]/A[i][1]
  
          return X
docs: Inversion and resolution of a tridiagonal matrix
                   A X = C
          Input:
           nz number of layers
           a(*,1) lower diagonal (Ai,i-1)
           a(*,2) principal diagonal (Ai,i)
           a(*,3) upper diagonal (Ai,i+1)
           c
          Output
           x     results