code: def test_measurable_make_vector():
      base1_rv = pt.random.normal(name="base1")
      base2_rv = pt.random.halfnormal(name="base2")
      base3_rv = pt.random.exponential(name="base3")
      y_rv = pt.stack((base1_rv, base2_rv, base3_rv))
      y_rv.name = "y"
  
      base1_vv = base1_rv.clone()
      base2_vv = base2_rv.clone()
      base3_vv = base3_rv.clone()
      y_vv = y_rv.clone()
  
      ref_logp = conditional_logp(
          {base1_rv: base1_vv, base2_rv: base2_vv, base3_rv: base3_vv}
      )
      ref_logp_combined = pt.sum(
          [pt.sum(factor) for factor in ref_logp.values()]
      )
  
      make_vector_logp = logp(y_rv, y_vv)
  
      base1_testval = base1_rv.eval()
      base2_testval = base2_rv.eval()
      base3_testval = base3_rv.eval()
      y_testval = np.stack(
          (base1_testval, base2_testval, base3_testval)
      )
  
      ref_logp_eval_eval = ref_logp_combined.eval(
          {
              base1_vv: base1_testval,
              base2_vv: base2_testval,
              base3_vv: base3_testval,
          }
      )
      make_vector_logp_eval = make_vector_logp.eval({y_vv: y_testval})
  
      assert make_vector_logp_eval.shape == y_testval.shape
      assert np.isclose(make_vector_logp_eval.sum(), ref_logp_eval_eval)
  
imports: import numpy
  import pytensor
  import pytest
  from pytensor import tensor
  from pytensor.graph import RewriteDatabaseQuery
  from pytensor.graph.rewriting.basic import in2out
  from pytensor.graph.rewriting.utils import rewrite_graph
  from pytensor.tensor.basic import Alloc
  from scipy import stats
  from pymc.logprob.basic import conditional_logp, logp
  from pymc.logprob.rewriting import logprob_rewrites_db
  from pymc.logprob.tensor import naive_bcast_rv_lift
  from pymc.testing import assert_no_rvs
label_desc: Use image node_id 4 for calling a global function with example usage: test_measurable_make_vector() without return types