Learning Unitaries by Gradient Descent | Synapse