This repository contains the code based on qiskit for tapering off qubits using point group symmetries.
It uses qiskit-0.19.4 which can be installed by:
pip3 install qiskit==0.19.4
Python files
- r_mat_for_mols.py contains the code for getting the Hamiltonian for a molecule and constructing the R matrices corresponding to the point group symmetries. It also contains the test code which verifies that the R matrices do commute with the Hamiltonian.
- taper_qubit_rm_funcs.py contains the code that uses the matrices constructed in r_mat_for_mols.py to taper of the qubits. It contains all the helper functions. It main code has two cases for AO and MO basis.
- symmetries.py contains the code for simultaneously diagonalizing the R matrices.
Jupyter Notebook
The demo jupyter notebook tapering_using_point_group_symmetries.ipynb
provides a step by step process for tapering off qubits using the point group symmetries. The code follows the process/algorithm given in https://arxiv.org/abs/1910.14644