-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JKMN / Neven / Ternary tree qubit mapping #582
Comments
Actually, this repository has it implemented in qiskit. The relevant file is here with all the diffs, should be just a matter of copy-paste as far as I can tell :) |
Hi @Qottmann, I'm one of the authors of the repository you cited. We wrote the code for a older version of qiskit, and I'm interested in the development of this Issue. |
Hi @matteoacrossi as you may have noticed the code has been refactored/changed since the original chemistry in Aqua. You can see the mappers are standalone objects here, and the second quantization FermionicOp is rather different than the similarly named object from the past. Things were made more modular so like adding a new type mapper should just be a new mapper object now unlike in the past. Maybe you have already looked at the code here and know this. In regards of looking at this, contributions are welcomed, please take a look at the CONTRIBUTING.md file which has some info for nature, also more generally https://qiskit.org/documentation/contributing_to_qiskit.html which applies to Qiskit overall as these may be helpful. If you have any questions please feel free to ask. |
Hi, @rabinswosti and I used a (very rudimentary) version of tenary qubit mapping recently and we were interested in implementing this properly as a mapper for qiskit-nature. What is the status on this? |
You are welcome to start working on this! To my knowledge, no work is currently going on in this direction. That said, you may have noticed that Qiskit Nature was moved into the qiskit-community organization. A more detailed announcement on what this means will come with the 0.7 release but in short this means that there will be some changes to the code-owners and that (at least currently) the bandwidth for reviewing and guiding PRs is kept to a minimum. If you wish, you can of course start development in a separate repository. If you want to integrate this into Qiskit Nature (directly or later on from your repo) you should keep the following in mind.
|
Follow up thought: The ternary tree mapping is technically not a fermionic mapper but a mapper from Majorana operators to Pauli Ops. In principle, the mapping is a two step process: fermionic op -> Majorana op -> Pauli op. I feel like the best way to embed this in Qiskit Nature would be to reflect this two step process and
I am happy to work on all four points, but wanted to discuss if this is truly the best course of action. Of course one could also implement it as a direct mapper FermionicOp -> SparsePauliOp, but to me it seems much cleaner this way, fitting better with the structure of Qiskit Nature, and having the MajoranaOp may be useful for other things as well. (MajoranaOp and MajoranaMapper would obviously be very similar to FermionicOp and FermionicMapper, so I guess a lot of steps 1. and 3. is copy&paste.) Also wondering if implementing the MajoranaOp class should maybe be its own separate issue (assuming this is the way to proceed). |
Yes, that sounds like a good idea 👍 For now, I would prefer a I suggest you do this in two PRs:
|
What should we add?
It would be very useful to have the ternary tree qubit mapping (sometimes also referred to as the JKMN or Neven mapping after the authors) from this paper Optimal fermion-to-qubit mapping via ternary trees with applications to reduced quantum states learning.
The text was updated successfully, but these errors were encountered: