**Description.**

LUBP is a software that implements a heuristic for the construction of unitary branching programs (UBPs) consistent with a given dataset. The idea is that such a UBP may be regarded as a point in a complex Stiefel manifold of appropriate dimension, while the search for an UBP consistent with a given dataset may be regarded as a minimization problem over this manifold. We approach this minimization problem by combining Riemannian gradient descent theory with local optimization.

**Download.**

Please visit github.com/autoproving/lubp for instructions on how to download, install and use our program.

**Citation.**

The algorithm implemented in our program is described in detail in the following publication, where you will also find experimental results and a theoretical study of unitary branching programs.

- Unitary Branching Programs: Learnability and Lower Bounds.

Fidel Ernesto Diaz Andino, Maria Kokkou, Mateus de Oliveira Olieira, Farhad Vadiee.

Proceedings of the 38th International Conference on Machine Learning.