Machine Learning the period finding algorithm
  We use differentiable programming and gradient descent to find unitary
matrices that can be used in the period finding algorithm to extract period
information from the state of a quantum computer post application of the
oracle. The standard procedure is to use the inverse quantum Fourier transform.
Our findings suggest that that this is not the only unitary matrix appropriate
for the period finding algorithm, There exist several unitary matrices that can
affect out the same transformation and they are significantly different from
each other as well. These unitary matrices can be learned by an algorithm.
Neural networks can be applied to differentiate such unitary matrices from
randomly generated ones indicating that these unitaries do have characteristic
features that cannot otherwise be discerned easily.
