class_docstr: Impulse response analysis class. Computes impulse responses, asymptotic
  standard errors, and produces relevant plots
  
  Parameters
  ----------
  model : VAR instance
  
  Notes
  -----
  Using Lütkepohl (2005) notation
class_docstr_tok: ["Impulse","response","analysis","class",".","Computes","impulse","responses",",","asymptotic","standard","errors",",","and","produces","relevant","plots","Parameters","--","--","--","--","--","model",":","VAR","instance","Notes","--","--","-","Using","L\u00fctkepohl","(","2005",")","notation"]
code: def _orth_cov(self):
      # Lutkepohl 3.7.8
  
      Ik = np.eye(self.neqs)
      PIk = np.kron(self.P.T, Ik)
      H = self.H
  
      covs = self._empty_covm(self.periods + 1)
      for i in range(self.periods + 1):
          if i == 0:
              apiece = 0
          else:
              Ci = np.dot(PIk, self.G[i - 1])
              apiece = Ci @ self.cov_a @ Ci.T
  
          Cibar = np.dot(np.kron(Ik, self.irfs[i]), H)
          bpiece = (Cibar @ self.cov_sig @ Cibar.T) / self.T
  
          # Lutkepohl typo, cov_sig correct
          covs[i] = apiece + bpiece
  
      return covs
  
imports: import numpy
  import numpy.linalg
  import scipy.linalg
  from statsmodels.tools.decorators import cache_readonly
  import statsmodels.tsa.tsatools
  import statsmodels.tsa.vector_ar.plotting
  import statsmodels.tsa.vector_ar.util
label_desc: Use image node_id 9 for calling the IRAnalysis obj's underlying member method code with example usage: obj._orth_cov() and returns: covs