code: def norm_to_lognorm(mu: Tensor, Cov: Tensor) -> Tuple[Tensor, Tensor]:
      """Compute mean and covariance of a log-MVN from its MVN sufficient statistics
  
      If `X ~ N(mu, Cov)` and `Y = exp(X)`, then `Y` is log-normal with
  
          mu_ln_{i} = exp(mu_{i} + 0.5 * Cov_{ii})
          Cov_ln_{ij} = exp(mu_{i} + mu_{j} + 0.5 * (Cov_{ii} + Cov_{jj})) *
          (exp(Cov_{ij}) - 1)
  
      Args:
          mu: A `batch_shape x n` mean vector of the Normal distribution.
          Cov: A `batch_shape x n x n` covariance matrix of the Normal distribution.
  
      Returns:
          A two-tuple containing:
  
          - The `batch_shape x n` mean vector of the log-Normal distribution.
          - The `batch_shape x n x n` covariance matrix of the log-Normal
              distribution.
      """
      diag = torch.diagonal(Cov, dim1=-1, dim2=-2)
      b = mu + 0.5 * diag
      mu_ln = torch.exp(b)
      Cov_ln = (torch.exp(Cov) - 1) * torch.exp(
          b.unsqueeze(-1) + b.unsqueeze(-2)
      )
      return mu_ln, Cov_ln
  
file_path: botorch/botorch/models/transforms/utils.py
imports: from __future__ import annotations
  from functools import wraps
  from typing import Tuple
  import torch
  from torch import Tensor
label_desc: Use image node_id 2 for calling a global function with example usage: norm_to_lognorm(mu, Cov) and returns: mu_ln,  Cov_ln