code: def _compute_log_a(q: float, sigma: float, alpha: float) -> float:
      r"""Computes :math:`log(A_\alpha)` for any positive finite ``alpha``.
  
      Notes:
          Note that
          :math:`A_\alpha` is real valued function of ``alpha`` and ``q``,
          and that 0 < ``q`` < 1.
  
          Refer to Section 3.3 of https://arxiv.org/pdf/1908.10530.pdf
          for details.
  
      Args:
          q: Sampling rate of SGM.
          sigma: The standard deviation of the additive Gaussian noise.
          alpha: The order at which RDP is computed.
  
      Returns:
          :math:`log(A_\alpha)` as defined in the paper mentioned above.
      """
      if float(alpha).is_integer():
          return _compute_log_a_for_int_alpha(q, sigma, int(alpha))
      else:
          return _compute_log_a_for_frac_alpha(q, sigma, alpha)
  
file_path: opacus/opacus/accountants/analysis/rdp.py
imports: import math
  import warnings
  from typing import List, Tuple, Union
  import numpy
  from scipy import special
label_desc: Use image node_id 5 for calling a global function with example usage: _compute_log_a(q, sigma, alpha) and returns: _compute_log_a_for_int_alpha, _compute_log_a_for_frac_alpha