Skip to content
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

Support for the AdjointGradient result type #13

Open
kshyatt-aws opened this issue May 8, 2024 · 1 comment
Open

Support for the AdjointGradient result type #13

kshyatt-aws opened this issue May 8, 2024 · 1 comment
Labels
good first issue Good for newcomers

Comments

@kshyatt-aws
Copy link
Member

Describe the feature you'd like
Native Julia implementation of the adjoint gradient differentiation method for the StateVectorSimulator. Amazon Braket's on-demand state vector simulator SV1 currently supports this differentiation method, but the Python local state vector simulator does not.

How would this feature be used? Please describe.
This differentiation method would allow efficient computation of gradients of parameterized circuits locally and in parallel for exact state vector simulations.

Describe alternatives you've considered
N/A

Additional context
See the Amazon Braket/Pennylane Adjoint Gradient blog for an example of how this might be used. Since the simulator doesn't currently support arbitrary functions for elements of quantum gates, a fallback to finite differences (for applying the chain rule to functions which aren't continuously differentiable) isn't needed.

For smaller circuits, using Julia's dynamic/nested threading capabilities (being careful to avoid running out of memory) would be useful.

@kshyatt-aws kshyatt-aws added the good first issue Good for newcomers label May 14, 2024
@DhairyaLGandhi
Copy link

I understand that the differentiation would still be performed locally? We could use libraries like Zygote/ Diffractor or ForwardDiff.jl depending on whether forward or reverse mode is suitable for your needs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants