code: def _raw_svi_to_unconstrained(parameters):
      """Converts raw SVI parameters to unconstrained ones for optimization.
  
      The raw SVI parameters are subject to constraints:
      `b > 0`, `|rho| < 1`, `sigma > 0`, `a + b * sqrt(1 - rho^2) > 0'
      In order to perform SVI model fitting using the standard optimizers, the
      model is reparameterized into an equivalent set of unconstrained parameters.
  
      Args:
        parameters: A rank 2 real `Tensor` of shape [batch_size, 5], representing
          SVI model's raw parameters.
  
      Returns:
        A rank 2 real `Tensor` of shape [batch_size, 5], representing the
      unconstrained parameters, used in internal optimization of the SVI model.
      """
      a = parameters[..., 0]
      b = parameters[..., 1]
      rho = parameters[..., 2]
      m = parameters[..., 3]
      sigma = parameters[..., 4]
  
      logminvar = tf.math.log(
          a + b * sigma * tf.math.sqrt(1 - rho**2)
      )
      logb = tf.math.log(b)
      r = tf.math.log1p(rho) - tf.math.log1p(-rho)
      logsigma = tf.math.log(sigma)
      return tf.transpose([logminvar, logb, r, m, logsigma])
  
file_path: tf-quant-finance/tf_quant_finance/experimental/svi/calibration.py
imports: from typing import Callable, Tuple
  import tensorflow.compat.v2
  from tf_quant_finance import types
  from tf_quant_finance.experimental.svi import parameterizations
  from tf_quant_finance.math import make_val_and_grad_fn
  from tf_quant_finance.math import optimizer
label_desc: Use image node_id 3 for calling a global function with example usage: _raw_svi_to_unconstrained(parameters) and returns: tf