This example notebook was shown in the talk QuantumControl.jl: A modern framework for quantum optimal control at the APS March Meeting, 2023.
It is a stripped-down version of the example available at https://juliaquantumcontrol.github.io/GRAPE.jl/stable/examples/perfect_entanglers/
Before running the notebook, you should instantiate the project environment. In a checkout of this repository, run:
> julia --project=.
julia> using Pkg
julia> Pkg.instantiate()
Note that for maximum performance, the IJulia kernel running this notebooks (which should be installed in your Base Julia environment) must have at least 4 threads enabled. Check your installed kernels with jupyter kernelspec list
. The kernel.json
file for the kernel that is being used should look something like this:
{
"display_name": "Julia 1.8 (auto threads)",
"argv": [
"/home/mgoerz/.local/julia-1.8.0/bin/julia",
"-i",
"--color=yes",
"--project=@.",
"--threads=auto",
"/local_scratch/mgoerz/.julia/packages/IJulia/6TIq1/src/kernel.jl",
"{connection_file}"
],
"language": "julia",
"env": {},
"interrupt_mode": "signal"
}
Note specifically the --threads=auto
, which allows the kernel to use all available threads.