Quantum Computing Problems & Solutions
These are my solutions to problems in the book Problems and solutions in quantum computing and quantum information[1] using Julia with SymPy.jl within Pluto.jl notebooks.
The aim of this effort is to assist in improving ones mathematical rigor and know-how related to quantum computing using symbolic algebra and numerical computation.
It helps if you have access to the text by Nielsen & Chuang[2] while working through these problems.
About this site
This site is intended to provide a static render of the various notebooks along with some minor background material. The end goal is to somehow turn the static renders into dynamic notebooks using something like binder.
The html bind objects in the Pluto.jl notebooks don't work with the static html output. However as of Pluto v0.14.8 the html exports now include mybinder button to run. This will work but requires setting up the proper Pkg
environment for SymPy.jl
after it loads and fails. An example of this would be to add the following to the Pluto.jl
notebook running on mybinder:
begin
using Pkg
Pkg.activate(mktempdir())
ENV["PYTHON"] = ""
Pkg.add(["Conda", "PyCall"])
Pkg.build()
using Conda
Conda.add("sympy")
Pkg.add("SymPy")
end
Chapters
The site is broken down by chapter and within each chapter there are programming problems (i.e. solved using SymPy.jl) and those that are just solved by "hand".
Ch. 1 Qubits
Ch. 2 Product spaces
Ch. 3 Matrices
Ch. 4 Density Operators
Ch. 5 Traces
Ch. 7 Unitary Operators
Ch. 8 Entropy
Ch. 9 Measurement
Ch. 10 Entanglement
Ch. 11 Bell's Inequality
Ch. 12 Quantum Information
Ch. 13 Cloning
Using the notebooks files
Once the repo is locally cloned, the environment and pluto server can be instatiated from the Package.toml
and dependencies from Manifest.toml
from within the folder using the command line:
julia --project=@. -e "using Pluto; Pluto.run()"
or
julia> ]
(v1.5) pkg> activate .
(QuantumComputingProblemsSolutions) pkg> instantiate
julia> using Pluto
julia> Pluto.run()
[1] | Steeb, W. H., & Hardy, Y., Problems and solutions in quantum computing and quantum information (4th Edition). In Problems And Solutions In Quantum Computing And Quantum Information, World Scientific, 4th ed., 2018. 10.1142/10943 |
[2] | Nielsen, Michael A., and Isaac Chuang, Quantum computation and quantum information, Cambridge, 2002. 10.1017/CBO9780511976667 |