code: def flatten(self):
          
  
          for key in self.keys:
              try:
                  arr = self.__dict__[key]
                  shape = arr.shape
                  if shape[2] == 1:
                      self.__dict__[key] = arr.reshape(shape[0], shape[1])
              except:
                  # not an ndarray or not a column vector
                  pass
docs: Flattens any np.array of column vectors into 1D arrays. Basically,
          this makes data readable for humans if you are just inspecting via
          the REPL. For example, if you have saved a KalmanFilter object with 89
          epochs, self.x will be shape (89, 9, 1) (for example). After flatten
          is run, self.x.shape == (89, 9), which displays nicely from the REPL.
  
          There is no way to unflatten, so it's a one way trip.