Skip to content

hiperwalk/hiperwalk

Repository files navigation

Hiperwalk

High-performance Quantum Walk Simulator

Homepage of Hiperwalk project http://hiperwalk.org/

Currently, it is necessary to have neblina-core and pyneblina installed. Paulo Motta described on his blog the installation steps for both neblina-core and pyneblina.

Style Guide for Python Code

The code must be written accordingly PEP 8. Some code may need to be updated to match PEP 8's requirements.

Python Libraries Dependencies

  • Matplotlib;
  • NetworkX >= 2.7;
    • PIL;
  • NumPy;
  • Scipy >= 1.8;
  • Sphinx;
  • numpydoc;

Optional Libraries For Animations

  • PyGObject: backend for showing animations;
  • ImageMagick: for saving animated gifs;
  • ffmpeg: for saving movies.

TODO List

  • Update installation instructions
  • Refactor Coined_QW_Adjacency_Matrix-v2.ipynb
  • Create separated file for plotting
    • General plotting based on networkx
  • Specific functions for widely used walks?
  • Support for different coins
    • Hadamard Coin general dimensions
    • Generating shift operator: checking whether argument type is sparse or not
    • Optimization: use lil_matrix instead of csr_matrix while generating S operator
  • Construct shift operators based on sympy expressions?
  • Implement and refactor tests
    • Complete Graph
    • Line walk
    • Mesh walk
    • Tests for plotting graphs?
  • Clean examples
  • Add commentaries to qwalk/coined
  • Create documentation
    • pdf (with LaTeX)
    • webpage
  • pyneblina_interface.py
    • Rename functions
    • Remove definition from examples
    • Move PyneblinaInterface.py functions to Pyneblina project?
  • Give support for more backends to show animations
  • Matplotlib animation (show and save may be slow)