  We examine popular gradient-based algorithms for nonlinear control in the
light of the modern complexity analysis of first-order optimization algorithms.
The examination reveals that the complexity bounds can be clearly stated in
terms of calls to a computational oracle related to dynamic programming and
implementable by gradient back-propagation using machine learning software
libraries such as PyTorch or TensorFlow. Finally, we propose a regularized
Gauss-Newton algorithm enjoying worst-case complexity bounds and improved
convergence behavior in practice. The software library based on PyTorch is
publicly available.
