{"id":29617102,"url":"https://github.com/harmoniqs/qnumerics-2025","last_synced_at":"2026-02-05T07:31:09.550Z","repository":{"id":304012834,"uuid":"1017490894","full_name":"harmoniqs/qnumerics-2025","owner":"harmoniqs","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-11T20:06:00.000Z","size":112,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-21T01:37:17.037Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/harmoniqs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-07-10T16:01:18.000Z","updated_at":"2025-07-10T16:23:54.000Z","dependencies_parsed_at":"2025-07-10T22:49:06.499Z","dependency_job_id":"c5e6284e-0422-45d1-a068-89c533c4b550","html_url":"https://github.com/harmoniqs/qnumerics-2025","commit_stats":null,"previous_names":["harmoniqs/qnumerics-2025"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/harmoniqs/qnumerics-2025","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmoniqs%2Fqnumerics-2025","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmoniqs%2Fqnumerics-2025/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmoniqs%2Fqnumerics-2025/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmoniqs%2Fqnumerics-2025/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harmoniqs","download_url":"https://codeload.github.com/harmoniqs/qnumerics-2025/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harmoniqs%2Fqnumerics-2025/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29115520,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T05:31:32.482Z","status":"ssl_error","status_checked_at":"2026-02-05T05:31:29.075Z","response_time":65,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-07-21T01:33:19.758Z","updated_at":"2026-02-05T07:31:09.525Z","avatar_url":"https://github.com/harmoniqs.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## Numerical Methods in Quantum Information Science: Quantum optimal control\n\nOptimal control lectures at the Numerical Methods in Quantum Information Science Summer School at University of Massachusetts Amherst\nJuly 14th (Mon) - 18th (Friday) 2025.\n\n### Thanks\nThese notebooks owe a great deal of credit to Zac Manchester's CMU 745: Optimal Control \u0026 Reinforcement Learning---the code is open source and the lectures are available on YouTube.\n\nShout out to the organizers of Qnumerics for making this event possible!\n\n## Quickstart guide\n\n__Install Julia__ [Juliaup](https://github.com/JuliaLang/juliaup) is an installer and version manager. This is one useful way to manage Julia versions and keep up with the latest changes. After installing, run `julia` to obtain the Julia _REPL_.\n\n__Julia environments__\n[(Documentation)](https://pkgdocs.julialang.org/v1/environments/#Using-someone-else's-project) Your project's environment is stored in _Project.toml_. You can interactively add packages to an environment by using the Julia command line _REPL_ and _package manager_.\n\nTo start Julia in the project folder, type `julia --project`. Alternatively, start `julia`, then type `]` to enter the package manager. Type `activate .` to activate or create an environment specified by _Project.toml_ located in the current folder. \n\nSeparately, you generate a manifest (solving the versions to create a valid environment) by running `instantiate`; instantiate will check that the environment is correct after you add all the packages you want.\n\n__Our environment__\nThese notebooks are configured with a `Project.toml` containing everything you need, so you should be able to run them with this environemnt. \n\n```Julia\n# Standard packages\nusing LinearAlgebra\nusing CairoMakie\n\n# Our package\nusing Piccolo\n```\n\n__Developing__\nIf you are interested in developing with the source code, and want to use these notebooks as a starting point, that's great! We will show you how to do that now. First, uninstall Piccolo from the project.\n\nWe want to go straight to the source from now on--the git repositories are at [the Harmonmiqs Github page](https://github.com/harmoniqs). There are a few packages inside [Piccolo] (_QuantumCollocation_, _NamedTrajectories_, _TrajectoryIndexingUtils_, _PiccoloPlots_, _PiccoloQuantumObjects_, ). Clone, then add the local packages to the Project file with e.g. `dev ../relative/path/to/repo/\u003crepo_name_here\u003e`. This command installs a version pointing to the local code instead of the package repository. Do the same for any others you would like to work with. Now, you can call:\n\n```Julia\nusing QuantumCollocation\n```\n\nor\n\n```julia\nusing DirectTrajOpt\n```\n\nor \n\n```julia\nusing PiccoloQuantumObjects\n```\n\nor whatever part of quantum optimal controls you want to work on!\n\n[Revise.jl](https://timholy.github.io/Revise.jl/stable/) will let you edit source code and reload the changes in a notebook---automatically and without resetting the kernel! This is a great tool for development. `add Revise` from the REPL (within the current environment) and then include it before any packages you intend to edit (here for example, _QuantumCollocation_):\n```Julia\nusing Revise\nusing QuantumCollocation\n```\n\n### Tips for Visual Studio Code\n__Julia extension__ You can run Julia notebooks and much more with [the Julia extension](https://code.visualstudio.com/docs/languages/julia). Upon opening your project folder in VS code and attempting to run an `.ipynb`, you will see that VS Code finds the interpreters managed by juliaup and defaults to using the environment based on the _Project.toml_ in the project directory.\n\n__Fonts__ VS Code will not display all characters allowed by Julia. You can change the editor font family in the settings to `'JuliaMono'` to get full support. If you don't want to mix and mash, you can create a new VS Code settings profile for working in Julia at _File\u003ePreferences\u003eProfile_.\n\n__Tests__ [(TestItemRunner.jl)](https://github.com/julia-vscode/TestItemRunner.jl) Tests should automatically populate in VS Code when working with a Piccolo package. For example, just by adding the `QuantumCollocation.jl` folder to your workspace, you should see tests appear if you click on the _Testing_ sidebar icon. If you run one of these tests, a new Julia kernel is spawned for the test. You can find the kernel if you click on the _Julia_ sidebar icon (after installing the Julia extensions). Sometimes, for the tests to recognize new changes that Revise doesn't fix, you may need to manually kill this kernel to see your changes reflected.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmoniqs%2Fqnumerics-2025","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharmoniqs%2Fqnumerics-2025","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharmoniqs%2Fqnumerics-2025/lists"}