code: def test_MultivariateNormalQMCEngineSeededOut(self):
      for dtype in (torch.float, torch.double):
          # test even dimension
          a = torch.randn(2, 2)
          cov = a @ a.transpose(-1, -2) + torch.rand(2).diag()
          mean = torch.zeros(2, device=self.device, dtype=dtype)
          cov = cov.to(device=self.device, dtype=dtype)
          engine = MultivariateNormalQMCEngine(
              mean=mean, cov=cov, seed=12345
          )
          out = torch.zeros(2, 2, device=self.device, dtype=dtype)
          self.assertIsNone(engine.draw(n=2, out=out))
          self.assertTrue(torch.all(out != 0))
          # test odd dimension
          a = torch.randn(3, 3)
          cov = a @ a.transpose(-1, -2) + torch.rand(3).diag()
          mean = torch.zeros(3, device=self.device, dtype=dtype)
          cov = cov.to(device=self.device, dtype=dtype)
          engine = MultivariateNormalQMCEngine(mean, cov, seed=12345)
          out = torch.zeros(2, 3, device=self.device, dtype=dtype)
          self.assertIsNone(engine.draw(n=2, out=out))
          self.assertTrue(torch.all(out != 0))
  
imports: import itertools
  import math
  import numpy
  import torch
  from botorch.sampling.qmc import MultivariateNormalQMCEngine, NormalQMCEngine
  from botorch.utils.testing import BotorchTestCase
  from scipy.stats import shapiro
label_desc: Use image node_id 8 for calling the MultivariateNormalQMCTests obj's underlying member method code with example usage: obj.test_MultivariateNormalQMCEngineSeededOut() without return types