Refactor UCCSD
See original GitHub issueWhat is the expected enhancement?
UCCSD
needs to be refactored for several reasons:
- it is incompatible with the
VQE
implementation provided by Qiskit Terra - it uses the (soon-to-be-removed)
FermionicOperator
class - it uses the legacy
WeightedPauliOperator
The following requirements should be met by the new implementation:
- it should derive
BlueprintCircuit
and, thus, be compatible with Terra - the hopping operator factory logic should be moved to an external place as it can also be of use elsewhere (currently
FermionicTransformation
actually uses the logic inside of UCCSD) - it should make use of the new
FermionicOp
and opflow operators - ideally, the hopping operator factory should be generalized to work for any kind of exctitation (
S
,D
,T
,Q
, …) - ideally, we would have a
UCC
class in which the user can freely specify the types of excitations he would like to have - (we may provide ease-of-use subclasses like
UCCSD
,UCCD
, etc.)
Once UCCSD
has been refactored we should also be able to replace all qiskit.aqua
imports with their new counterparts. Thus, the critical
status of this issue.
Issue Analytics
- State:
- Created 3 years ago
- Comments:9 (9 by maintainers)
Top Results From Across the Web
[refactor] Towards a non-driver focused future #701 - GitHub
What should we add? This Epic outlines the plan for the upcoming restructuring of the entire Qiskit Nature code base.
Read more >Is the Trotterized UCCSD Ansatz Chemically Well-Defined?
To answer this question, we perform classical simulations with randomly shuffled operators using a custom code built with OpenFermion30 and Psi4 ...
Read more >Excited states solvers — Qiskit 0.25.4 documentation
In this tutorial we are going to discuss the excited states calculation interface of Qiskit Chemistry. The goal is to compute the excited...
Read more >implement variational quantum eigensolver with openfermion
Can someone provide me with an example about how to implement VQE with OpenFermion, for example, use the UCCSD ansatz to get the...
Read more >Coupled Cluster Calculations - NWChem
Because of the extensive refactoring of the code to maximize OpenMP performance and the intrinsic non-associativity of floating-point arithmetic, ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
This refactor should also include the UVCC var form too right that was done for Bosonic Problems. I think the same EvolvedOp base class should be usable for this, but it needs bosonic hopping operators; so maybe we need to be careful about naming of the excitation and hopping logic above to differentiate things.
Summarizing use cases from the discussion we had (modulo correct class and argument names):
and the proposed circuit structure: