code: def compute_rdp_sample_without_replacement(
      q, noise_multiplier, steps, orders
  ):
      """Compute RDP of Gaussian Mechanism using sampling without replacement.
  
      This function applies to the following schemes:
      1. Sampling w/o replacement: Sample a uniformly random subset of size m = q*n.
      2. ``Replace one data point'' version of differential privacy, i.e., n is
         considered public information.
  
      Reference: Theorem 27 of https://arxiv.org/pdf/1808.00087.pdf (A strengthened
      version applies subsampled-Gaussian mechanism)
      - Wang, Balle, Kasiviswanathan. "Subsampled Renyi Differential Privacy and
      Analytical Moments Accountant." AISTATS'2019.
  
      Args:
        q: The sampling proportion =  m / n.  Assume m is an integer <= n.
        noise_multiplier: The ratio of the standard deviation of the Gaussian noise
          to the l2-sensitivity of the function to which it is added.
        steps: The number of steps.
        orders: An array (or a scalar) of RDP orders.
  
      Returns:
        The RDPs at all orders, can be np.inf.
      """
      if np.isscalar(orders):
          rdp = _compute_rdp_sample_without_replacement_scalar(
              q, noise_multiplier, orders
          )
      else:
          rdp = np.array(
              [
                  _compute_rdp_sample_without_replacement_scalar(
                      q, noise_multiplier, order
                  )
                  for order in orders
              ]
          )
  
      return rdp * steps
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import sys
  import numpy
  from scipy import special
  import six
label_desc: Use image node_id 16 for calling a global function with example usage: compute_rdp_sample_without_replacement(q, noise_multiplier, steps, orders) and returns: unknown