code: def predict(self, u=0):
          
  
          # x = Fx + Bu
          self.x = dot(self.F, self.x) + dot(self.B, u)
  
          # P = FPF' + Q
          _, P2 = qr(np.hstack([dot(self.F, self._P1_2), self._Q1_2]).T)
          self._P1_2 = P2[:self.dim_x, :self.dim_x].T
  
          # copy prior
          self.x_prior = np.copy(self.x)
          self._P1_2_prior = np.copy(self._P1_2)
docs: Predict next state (prior) using the Kalman filter state propagation
          equations.
  
          Parameters
          ----------
  
          u : np.array, optional
              Optional control vector. If non-zero, it is multiplied by B
              to create the control input into the system.