Package: pennylane-qulacs
The PennyLane-Qulacs plugin integrates the Qulacs quantum computing framework with PennyLane’s
quantum machine learning capabilities.PennyLaneis a cross-platform Python library for quantum machine
learning, automatic differentiation, and optimization of hybrid quantum-classical computations.Qulacsis a software library for quantum computing, written in C++ and with GPU support.The plugin documentation can be found here:https://docs.pennylane.ai/projects/qulacs.FeaturesProvides access to Qulacs’ simulator backend via thequlacs.simulatordeviceSupport for all PennyLane core functionalityBenchmarksWe ran a 100 executions of 4 layer quantum neural
networkstrongly entangling layerand compared the runtimes between CPU and GPU.InstallationThis plugin requires Python version 3.6 or above, as well as PennyLane and
Qulacs. Installation of this plugin, as well as all dependencies, can be done
usingpip:$pipinstallpennylane-qulacs["cpu"]Note that you need to include whether to install the CPU version
(pennylane-qulacs["cpu"]) or the GPU version (pennylane-qulacs["gpu"])
of Qulacs for it to be installed correctly. Otherwise Qulacs will need to be
installed independently:pipinstallqulacspennylane-qulacsAlternatively, you can install PennyLane-Qulacs from thesource codeby navigating to the top
directory and running:$pythonsetup.pyinstallNoteQulacs supports parallelized executions via OpenMP. To set the number of
threads to use during simulations you need to update the environment
variableOMP_NUM_THREADS. It can be set using the UNIX command:export OMP_NUM_THREADS = 8where 8 can be replaced by the number of threads that you wish to use. By
default Qulacs uses all available threads. To restore the default behaviour,
simply remove the environment variable. It can be done using the UNIX command:unset OMP_NUM_THREADSSee theOpenMP documentation page for OMP_NUM_THREADSorherefor more details on
how to use environment variables.DependenciesPennyLane-Qulacs requires the following libraries be installed:Python>= 3.6as well as the following Python packages:PennyLane>= 0.9Qulacs>= 0.1.9If you currently do not have Python 3 installed, we recommendAnaconda for Python 3, a distributed version of Python packaged
for scientific computation.TestsTo test that the PennyLane-Qulacs plugin is working correctly you can run$maketestin the source folder.DocumentationTo build the HTML documentation, go to the top-level directory and run:$makedocsThe documentation can then be found in thedoc/_build/html/directory.ContributingWe welcome contributions - simply fork the repository of this plugin, and then make apull requestcontaining your contribution.
All contributers to this plugin will be listed as authors on the releases.We also encourage bug reports, suggestions for new features and enhancements, and even links to cool projects
or applications built on PennyLane.AuthorsPennyLane-Qulacs is the work ofmany contributors.If you are doing research using PennyLane and PennyLane-Qulacs, please citeour paper:Ville Bergholm, Josh Izaac, Maria Schuld, Christian Gogolin, M. Sohaib Alam, Shahnawaz Ahmed,
Juan Miguel Arrazola, Carsten Blank, Alain Delgado, Soran Jahangiri, Keri McKiernan, Johannes Jakob Meyer,
Zeyue Niu, Antal Száva, and Nathan Killoran.PennyLane: Automatic differentiation of hybrid quantum-classical computations.2018. arXiv:1811.04968SupportSource Code:https://github.com/PennyLaneAI/pennylane-qulacsIssue Tracker:https://github.com/PennyLaneAI/pennylane-qulacs/issuesPennyLane Forum:https://discuss.pennylane.aiIf you are having issues, please let us know by posting the issue on our Github issue tracker, or
by asking a question in the forum.LicenseThe PennyLane-Qulacs plugin isfreeandopen source, released under
theApache License, Version 2.0.