code: def test_mvn_to_gaussian(sample_shape, batch_shape, dim):
      mvn = random_mvn(batch_shape, dim)
      gaussian = mvn_to_gaussian(mvn)
      value = mvn.sample(sample_shape)
      actual_log_prob = gaussian.log_density(value)
      expected_log_prob = mvn.log_prob(value)
      assert_close(actual_log_prob, expected_log_prob)
  
imports: import math
  from collections import OrderedDict
  import pytest
  import torch
  from torch.distributions import constraints, transform_to
  from torch.nn.functional import pad
  import pyro.distributions
  from pyro.distributions.util import broadcast_shape
  from pyro.ops.gaussian import AffineNormal, Gaussian, gaussian_tensordot, matrix_and_gaussian_to_gaussian, matrix_and_mvn_to_gaussian, mvn_to_gaussian, sequential_gaussian_filter_sample, sequential_gaussian_tensordot
  from tests.common import assert_close
  from tests.ops.gaussian import assert_close_gaussian, random_gaussian, random_mvn
label_desc: Use image node_id 14 for calling a global function with example usage: test_mvn_to_gaussian(sample_shape, batch_shape, dim) without return types