{"id":29062012,"url":"https://github.com/aarontrowbridge/quantumcontrol.jl","last_synced_at":"2025-10-16T12:09:50.313Z","repository":{"id":70245268,"uuid":"494931867","full_name":"aarontrowbridge/QuantumControl.jl","owner":"aarontrowbridge","description":"A julia package for doing quantum optimal control with the trajectory optimization algorithm ALTRO","archived":false,"fork":false,"pushed_at":"2022-06-20T16:53:36.000Z","size":11492,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-22T10:48:04.215Z","etag":null,"topics":["julia","quantum-optimal-control","trajectory-optimization"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aarontrowbridge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-22T01:26:50.000Z","updated_at":"2022-06-03T19:40:05.000Z","dependencies_parsed_at":"2023-02-24T04:30:22.107Z","dependency_job_id":null,"html_url":"https://github.com/aarontrowbridge/QuantumControl.jl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aarontrowbridge/QuantumControl.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarontrowbridge%2FQuantumControl.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarontrowbridge%2FQuantumControl.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarontrowbridge%2FQuantumControl.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarontrowbridge%2FQuantumControl.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aarontrowbridge","download_url":"https://codeload.github.com/aarontrowbridge/QuantumControl.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarontrowbridge%2FQuantumControl.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279189061,"owners_count":26122656,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["julia","quantum-optimal-control","trajectory-optimization"],"created_at":"2025-06-27T08:30:32.869Z","updated_at":"2025-10-16T12:09:50.293Z","avatar_url":"https://github.com/aarontrowbridge.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QuantumControl.jl\n\n\u003e HEADS UP: this repo was experimental and functionality will be moved to my new repo: QubitControl.jl\n\n\nthis package aims to provide an interface between the python package QuTiP and the Altro.jl trajectory optimization package.\n\nthe goal is to do multi-qubit quantum optimal control quickly and robustly. \n\n## installation\n\nto use this package, clone it, and then, from a julia REPL in the cloned directory run\n\n`(@v1.7) pkg\u003e activate .`\n\n`(QuantumControl) pkg\u003e instantiate`\n\none should have a python environment containing scipy and qutip (this can be achieved with conda, by activating the environment before running the julia scripts.\n\n## usage\n\nsee `experiments` directory for examples including:\n\n* single qubit gates with a single quantum state\n* single qubit gates with multiple quantum states\n* bootstrapped single qubit, multi-state solves\n\n## quantum optimal control\n\nthis problem involves taking advantage of an experimental time-dependent qubit Hamiltonian that has a controllable parameter, e.g. \n\n$$\n\\begin{equation}\nH(t, a(t)) = f_q {\\sigma_z \\over 2} + a(t) {\\sigma_x \\over 2}  \n\\end{equation}\n$$\n\nwhich governs the dynamics of a qubit state via the Schroedinger equation:\n\n$$\n\\begin{equation}\n{d \\over dt} \\ket{\\psi} = -iH(t, a(t)) \\ket{\\psi}\n\\end{equation}\n$$\n\nThe goal is then to find $a(t)$ s.t. $\\ket{\\psi(t_0)} \\to \\ket{\\psi(t_f)} = X\\ket{\\psi(t_0)}$ with the dynamics satisfying (1) and (2).   \n\n## example: single fluxonium qubit\n\n![](plots/single_fluxonium_qubit/single_qstate_X_gate_on_0_basis_all_T_10.01_fidelity.png)\n\nThe above plot shows the dynamics for the wavefunction and control $a(t)$ s.t. \n\n$$\n\\ket{0} \\to X \\ket{0} = \\ket{1}\n$$\n\n\n\n## TODO:\n\n- [x] multistate single qubit script\n- [x] scripts for X, Y, Z gates\n- [x] add functionality to define wavefunctions as complex vectors \n- [x] add plotting utilities\n- [ ] two qubit problem\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarontrowbridge%2Fquantumcontrol.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faarontrowbridge%2Fquantumcontrol.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarontrowbridge%2Fquantumcontrol.jl/lists"}