Algorithm and tuturial update
- Changed state optimization to the Riemannian optimization method in line with gate optimization.
- Added a qutrit example to the Jupyter tutorial notebook.
- Added various explanations to the tutorial.
- Improved visual output and print statements of the main algorithm.