parameters: (self, times)
docstring: Construct observation model matrix from VARMA parameters.
  
      Args:
        times: A [batch size] vector indicating the times observation models are
            requested for. Unused.
      Returns:
        the observation model matrix. It has shape
          [self.num_features, self.state_dimension].
docstring_summary: Construct observation model matrix from VARMA parameters.
docstring_tokens: Construct observation model matrix from VARMA parameters .
function: def get_observation_model(self, times):
      """Construct observation model matrix from VARMA parameters.
  
      Args:
        times: A [batch size] vector indicating the times observation models are
            requested for. Unused.
      Returns:
        the observation model matrix. It has shape
          [self.num_features, self.state_dimension].
      """
      del times  # StateSpaceModel will broadcast along the batch dimension
      if self.ar_order > self.ma_order or self.state_num_blocks < 2:
        return array_ops.pad(
            linalg_ops.eye(self.num_features, dtype=self.dtype),
            [[0, 0], [0, self.num_features * (self.state_num_blocks - 1)]],
            name="observation_model")
      else:
        # Add a second observed component which "catches" the accumulated moving
        # average errors as they reach the end of the state. If ar_order >
        # ma_order, this is unnecessary, since accumulated errors cycle naturally.
        return array_ops.concat(
            [
                array_ops.pad(
                    linalg_ops.eye(self.num_features, dtype=self.dtype),
                    [[0, 0], [0,
                              self.num_features * (self.state_num_blocks - 2)]]),
                linalg_ops.eye(self.num_features, dtype=self.dtype)
            ],
            axis=1,
            name="observation_model")
function_tokens: def get_observation_model ( self , times ) : del times # StateSpaceModel will broadcast along the batch dimension if self . ar_order > self . ma_order or self . state_num_blocks < 2 : return array_ops . pad ( linalg_ops . eye ( self . num_features , dtype = self . dtype ) , [ [ 0 , 0 ] , [ 0 , self . num_features * ( self . state_num_blocks - 1 ) ] ] , name = "observation_model" ) else : # Add a second observed component which "catches" the accumulated moving # average errors as they reach the end of the state. If ar_order > # ma_order, this is unnecessary, since accumulated errors cycle naturally. return array_ops . concat ( [ array_ops . pad ( linalg_ops . eye ( self . num_features , dtype = self . dtype ) , [ [ 0 , 0 ] , [ 0 , self . num_features * ( self . state_num_blocks - 2 ) ] ] ) , linalg_ops . eye ( self . num_features , dtype = self . dtype ) ] , axis = 1 , name = "observation_model" )