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 G(self):
      # Gi matrices as defined on p. 111
  
      K = self.neqs
  
      # nlags = self.model.p
      # J = np.hstack((np.eye(K),) + (np.zeros((K, K)),) * (nlags - 1))
  
      def _make_g(i):
          # p. 111 Lutkepohl
          G = 0.0
          for m in range(i):
              # be a bit cute to go faster
              idx = i - 1 - m
              if idx in self._g_memo:
                  apow = self._g_memo[idx]
              else:
                  apow = la.matrix_power(self._A.T, idx)
                  # apow = np.dot(J, apow)
                  apow = apow[:K]
                  self._g_memo[idx] = apow
  
              # take first K rows
              piece = np.kron(apow, self.irfs[m])
              G = G + piece
  
          return G
  
      return [_make_g(i) for i in range(1, self.periods + 1)]
  
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 8 for calling the IRAnalysis obj's underlying member method code with example usage: obj.G() and returns: unknown, G