QuantumLegos.jl/examples/t6_2legos_notebook.jl

48 lines
1.4 KiB
Julia
Raw Permalink Normal View History

2024-05-07 11:11:07 +09:00
### A Pluto.jl notebook ###
# v0.17.7
using Markdown
using InteractiveUtils
# ╔═╡ 3c6bf5ec-909f-11ee-06bd-83347655e198
begin
import Pkg
Pkg.develop(path = "..")
using QuantumLegos
end
# ╔═╡ 9088d661-7bf1-43fb-ab88-77fa325a5cf3
stabilizers = pauliop.(["IIXXXX", "IIZZZZ", "ZIZZII", "IZZIZI", "IXXXII", "XIXIXI"])
# ╔═╡ f806287c-592d-476b-a912-205d2031fd93
lego = Lego(stabilizers)
# ╔═╡ 93251f25-5829-45a7-8aed-f76c834050a9
state = State([lego, lego], Tuple{LegoLeg, LegoLeg}[])
# ╔═╡ 924588fb-0020-47e6-a918-98084d1fabad
state.cmat
# ╔═╡ 99f153a1-da44-499a-b8af-e5c484b70597
QuantumLegos.self_trace!(state.cmat, 3, 9)
# ╔═╡ 726061b5-0d3a-4bf4-aebd-81a2c0fe7ea1
state.cmat |> generators
# ╔═╡ 69a71bfd-81d3-4961-9051-5f19be20f286
pg = state.cmat |> generators |> GeneratedPauliGroup |> collect
# ╔═╡ 656d8d7a-0ede-4621-99f0-9f83619c6a73
pauliop("XIIXIXIIXI") in pg # example on Fig.6
# ╔═╡ Cell order:
# ╠═3c6bf5ec-909f-11ee-06bd-83347655e198
# ╠═9088d661-7bf1-43fb-ab88-77fa325a5cf3
# ╠═f806287c-592d-476b-a912-205d2031fd93
# ╠═93251f25-5829-45a7-8aed-f76c834050a9
# ╠═924588fb-0020-47e6-a918-98084d1fabad
# ╠═99f153a1-da44-499a-b8af-e5c484b70597
# ╠═726061b5-0d3a-4bf4-aebd-81a2c0fe7ea1
# ╠═69a71bfd-81d3-4961-9051-5f19be20f286
# ╠═656d8d7a-0ede-4621-99f0-9f83619c6a73