code: def multivariate_normal(
      x: TensorType, mu: TensorType, L: TensorType
  ) -> tf.Tensor:
      """
      Computes the log-density of a multivariate normal.
  
      :param x: sample(s) for which we want the density
      :param mu: mean(s) of the normal distribution
      :param L: Cholesky decomposition of the covariance matrix
      :return: log densities
      """
  
      d = x - mu
      alpha = tf.linalg.triangular_solve(L, d, lower=True)
      num_dims = tf.cast(tf.shape(d)[0], L.dtype)
      p = -0.5 * tf.reduce_sum(tf.square(alpha), 0)
      p -= 0.5 * num_dims * np.log(2 * np.pi)
      p -= tf.reduce_sum(tf.math.log(tf.linalg.diag_part(L)))
  
      return p
  
file_path: GPflow/gpflow/logdensities.py
imports: import numpy
  import tensorflow
  from check_shapes import check_shapes
  from .base import TensorType
  from .utilities import to_default_float
label_desc: Use image node_id 10 for calling a global function with example usage: multivariate_normal(x, mu, L) and returns: p