Skip to content

Conversation

garrison
Copy link
Member

@garrison garrison commented Nov 27, 2024

This is very rough (untested so far, but lint passes). It follows the same style as #35, which itself is motivated by the desire that implement both state AQC and unitary AQC alongside one another in this package.

The main thing left to do is to show how to construct the target tensor network (update: now done). There is a quimb tutorial that does this, but it seems to construct the unitary in dense form first, and we want to avoid this.

  • demonstration notebook
  • release note
  • test(s) - including backwards compat of the tutorial notebook
  • docstring
  • update explanation and other documentation

@garrison garrison added enhancement New feature or request quimb labels Nov 27, 2024
@garrison garrison added this to the 0.2.0 milestone Nov 27, 2024
@coveralls
Copy link

coveralls commented Nov 27, 2024

Pull Request Test Coverage Report for Build 16126422632

Details

  • 10 of 30 (33.33%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-2.9%) to 97.072%

Changes Missing Coverage Covered Lines Changed/Added Lines %
qiskit_addon_aqc_tensor/simulation/quimb/init.py 5 13 38.46%
qiskit_addon_aqc_tensor/objective.py 5 17 29.41%
Totals Coverage Status
Change from base Build 16005747486: -2.9%
Covered Lines: 663
Relevant Lines: 683

💛 - Coveralls

@garrison
Copy link
Member Author

garrison commented Feb 13, 2025

I added a demonstration notebook. I realized that MaximizeProcessFidelity might not be the best name for this objective/cost function, as the cost function implemented does not actually compute process fidelity (see near bottom of notebook).

Other candidates:

  • MaximizeFrobeniusInnerProduct
  • MaximizeHilbertSchmidtInnerProduct
  • MinimizeUnitaryDistance (not sure that I like this in particular, but perhaps something along this theme)
  • TargetUnitary (and rename MaximizeStateFidelity to TargetState) - this might actually be my favorite, makes the distinction very clear, but is not obvious from the class name that it represents an objective function. I don't consider this a deal breaker, though.

@garrison
Copy link
Member Author

I think an even better name might be MaximizeUnitaryFidelity, as it makes most clear how it compares to MaximizeStateFidelity. We can always say in the docstring what quantity is actually calculated by the loss function.

@garrison
Copy link
Member Author

Interesting; https://link.aps.org/accepted/10.1103/PhysRevApplied.16.024039 uses the phrase "unitary fidelity" to mean the same thing as the quantity we are maximizing.

@garrison garrison modified the milestones: 0.2.0, 0.3.0 Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request quimb

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants