  The emergence of variational quantum applications has led to the development
of automatic differentiation techniques in quantum computing. Recently, Zhu et
al. (PLDI 2020) have formulated differentiable quantum programming with bounded
loops, providing a framework for scalable gradient calculation by quantum means
for training quantum variational applications. However, promising parameterized
quantum applications, e.g., quantum walk and unitary implementation, cannot be
trained in the existing framework due to the natural involvement of unbounded
loops. To fill in the gap, we provide the first differentiable quantum
programming framework with unbounded loops, including a newly designed
differentiation rule, code transformation, and their correctness proof.
Technically, we introduce a randomized estimator for derivatives to deal with
the infinite sum in the differentiation of unbounded loops, whose applicability
in classical and probabilistic programming is also discussed. We implement our
framework with Python and Q#, and demonstrate a reasonable sample efficiency.
Through extensive case studies, we showcase an exciting application of our
framework in automatically identifying close-to-optimal parameters for several
parameterized quantum applications.
