code: def test_multivariate_acovf():
      _acovf = tools._compute_multivariate_acovf_from_coefficients
  
      # Test for a VAR(1) process. From Lutkepohl (2007), pages 27-28.
      # See (2.1.14) for Phi_1, (2.1.33) for Sigma_u, and (2.1.34) for Gamma_0
      Sigma_u = np.array([[2.25, 0, 0], [0, 1.0, 0.5], [0, 0.5, 0.74]])
      Phi_1 = np.array([[0.5, 0, 0], [0.1, 0.1, 0.3], [0, 0.2, 0.3]])
      Gamma_0 = np.array(
          [
              [3.0, 0.161, 0.019],
              [0.161, 1.172, 0.674],
              [0.019, 0.674, 0.954],
          ]
      )
      assert_allclose(_acovf([Phi_1], Sigma_u)[0], Gamma_0, atol=1e-3)
  
      # Test for a VAR(2) process. From Lutkepohl (2007), pages 28-29
      # See (2.1.40) for Phi_1, Phi_2, (2.1.14) for Sigma_u, and (2.1.42) for
      # Gamma_0, Gamma_1
      Sigma_u = np.diag([0.09, 0.04])
      Phi_1 = np.array([[0.5, 0.1], [0.4, 0.5]])
      Phi_2 = np.array([[0, 0], [0.25, 0]])
      Gamma_0 = np.array([[0.131, 0.066], [0.066, 0.181]])
      Gamma_1 = np.array([[0.072, 0.051], [0.104, 0.143]])
      Gamma_2 = np.array([[0.046, 0.040], [0.113, 0.108]])
      Gamma_3 = np.array([[0.035, 0.031], [0.093, 0.083]])
  
      assert_allclose(
          _acovf([Phi_1, Phi_2], Sigma_u, maxlag=0),
          [Gamma_0],
          atol=1e-3,
      )
  
      assert_allclose(
          _acovf([Phi_1, Phi_2], Sigma_u, maxlag=1),
          [Gamma_0, Gamma_1],
          atol=1e-3,
      )
  
      assert_allclose(
          _acovf([Phi_1, Phi_2], Sigma_u), [Gamma_0, Gamma_1], atol=1e-3
      )
  
      assert_allclose(
          _acovf([Phi_1, Phi_2], Sigma_u, maxlag=2),
          [Gamma_0, Gamma_1, Gamma_2],
          atol=1e-3,
      )
  
      assert_allclose(
          _acovf([Phi_1, Phi_2], Sigma_u, maxlag=3),
          [Gamma_0, Gamma_1, Gamma_2, Gamma_3],
          atol=1e-3,
      )
  
      # Test sample acovf in the univariate case against sm.tsa.acovf
      x = np.arange(20) * 1.0
      assert_allclose(
          np.squeeze(
              tools._compute_multivariate_sample_acovf(x, maxlag=4)
          ),
          acovf(x, fft=False)[:5],
      )
  
imports: import pytest
  import numpy
  from numpy.testing import assert_allclose, assert_equal, assert_array_less, assert_array_equal, assert_almost_equal
  import pandas
  from scipy.linalg import solve_discrete_lyapunov
  from statsmodels.tsa.statespace import tools
  from statsmodels.tsa.stattools import acovf
label_desc: Use image node_id 1 for calling a global function with example usage: test_multivariate_acovf() without return types