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

[labs] [WIP] Variational KHK decomposition #6446

Draft
wants to merge 2 commits into
base: csa
Choose a base branch
from
Draft

Conversation

Qottmann
Copy link
Contributor

@Qottmann Qottmann commented Oct 25, 2024

Variational KHK decomposition using the adjoint representation

Based off https://arxiv.org/pdf/2104.00728 but with some important modifications, in particular using the adjoint representation which is faster and enables working with arbitrary bases

TODO

  • Compatible with dense representations
  • more extensive testing
n = 2

gens = [X(i) @ X(i+1) for i in range(n-1)]
gens += [Z(i) for i in range(n)]
H = qml.sum(*gens)

g = qml.lie_closure(gens)
g = [op.pauli_rep for op in g]

involution = concurrence_involution

assert not involution(H)
k, m = cartan_decomposition(g, involution=involution)
assert check_cartan_decomp(k, m)

g = k + m
adj = qml.structure_constants(g)

g, k, mtilde, h, adj = cartan_subalgebra(g, k, m, adj, tol=1e-14, start_idx=0)
len(g), len(k), len(mtilde), len(h), adj.shape
dims = (len(k), len(mtilde), len(h))
khk_res = variational_khk(H, g, dims, adj, verbose=True)
validate_khk(H, k, mtilde+h, khk_res, n, 1e-6)

[sc-74997]

@Qottmann Qottmann changed the base branch from master to csa October 25, 2024 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant