def _projected_sinkhorn_evaluation(
        self,
        x: np.ndarray,
        x_init: np.ndarray,
        alpha: np.ndarray,
        exp_alpha: np.ndarray,
        beta: np.ndarray,
        exp_beta: np.ndarray,
        psi: np.ndarray,
        var_k: np.ndarray,
        eps: np.ndarray,
    ) -> np.ndarray:
        """
        Function to evaluate the objective of the projected sinkhorn optimizer.

        :param x: Current adversarial examples.
        :param x_init: An array with the original inputs.
        :param alpha: Alpha parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param exp_alpha: Exponential of alpha.
        :param beta: Beta parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param exp_beta: Exponential of beta.
        :param psi: Psi parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param var_k: K parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param eps: Maximum perturbation that the attacker can introduce.
        :return: Evaluation result.
        """
        return (
            -0.5 / self.regularization * self._batch_dot(beta, beta)
            - psi * eps
            - self._batch_dot(np.minimum(alpha, 1e10), x_init)
            - self._batch_dot(np.minimum(beta, 1e10), x)
            - self._batch_dot(exp_alpha, self._local_transport(var_k, exp_beta, self.kernel_size))
        )

        Function to evaluate the objective of the projected sinkhorn optimizer.

        :param x: Current adversarial examples.
        :param x_init: An array with the original inputs.
        :param alpha: Alpha parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param exp_alpha: Exponential of alpha.
        :param beta: Beta parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param exp_beta: Exponential of beta.
        :param psi: Psi parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param var_k: K parameter in Algorithm 2 of the paper ``Wasserstein Adversarial Examples via Projected
            Sinkhorn Iterations``.
        :param eps: Maximum perturbation that the attacker can introduce.
        :return: Evaluation result.
        
art/attacks/evasion/wasserstein.py