Hi Simon,
Sounds like a great idea to me, too.
> 1. Does something like this already exist?
Not within QuTiP as far as I know. Probably Shahnawaz knows more about these.
> 2. Should it exist outside of QuTiP as its own library? Or does it belong in qutip.qip.algorithms?
It probably won't be included in the main QuTiP repo for the reason of maintainness. But since qutip.qip is going to be separated out, VQE can certainly be part of it if you would like to. If it is in qutip.qip.algorithms or some other submodules can surely be further discussed.
> 3. Some work in qutip.qip is needed to make it work with the qutip.qip processors -- they don't seem to currently support loading circuits with measurement operators. I'm happy to have a go at implementing that if no one else has plans to do so.
You are right, measurement is not supported by the processor yet. This is new stuff added by Sidhant. In fact, there is so far no classical register in qutip.qip.processor. If you are interested, please feel free to have a go. Happy to help if needed.
> 4. The Pauli decomposition of a Hamiltonian is a very small function. Does it belong somewhere in qutip?
I don't have any idea about this. Probably first implement his inside VQE and if there are demands one can then promote it to the main QuTiP repo?
> 5. Constructing general Pauli measurements (really rotations of the Pauli term eigenbasis into the computational basis) is a bit more involved and I still need to support measurements on more than 2 qubits. Assuming I manage to implement this properly, does this belong anywhere in QuTiP?
I think it could be a nice extension for the measurement part in the main QuTiP repo.
Happy to discuss more!
Best
Boxi