code: def lognormal_lpdf(x, mu, sigma):
      # formula copied from wikipedia
      # http://en.wikipedia.org/wiki/Log-normal_distribution
      assert np.all(sigma >= 0)
      sigma = np.maximum(sigma, EPS)
      Z = sigma * x * np.sqrt(2 * np.pi)
      E = 0.5 * (old_div((np.log(x) - mu), sigma)) ** 2
      rval = -E - np.log(Z)
      return rval
  
imports: from __future__ import print_function
  from __future__ import absolute_import
  from __future__ import division
  from builtins import str
  from builtins import map
  from builtins import zip
  from builtins import range
  from past.utils import old_div
  import logging
  import time
  import numpy
  from scipy.special import erf
  from .None import pyll
  from .pyll import scope
  from .pyll.stochastic import implicit_stochastic
  from .base import miscs_to_idxs_vals
  from .base import miscs_update_idxs_vals
  from .None import rand
label_desc: Use image node_id 7 for calling a global function with example usage: lognormal_lpdf(x, mu, sigma) and returns: rval