{"id":32630251,"url":"https://github.com/dwavesystems/shimming-tutorial","last_synced_at":"2026-03-06T12:32:43.089Z","repository":{"id":170702226,"uuid":"624106763","full_name":"dwavesystems/shimming-tutorial","owner":"dwavesystems","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-24T20:22:31.000Z","size":28,"stargazers_count":5,"open_issues_count":1,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-10-30T22:49:44.906Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dwavesystems.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-05T18:59:09.000Z","updated_at":"2025-10-15T22:42:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"837fadbc-ddc6-4f1e-a31b-750265e97997","html_url":"https://github.com/dwavesystems/shimming-tutorial","commit_stats":null,"previous_names":["dwavesystems/shimming-tutorial"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dwavesystems/shimming-tutorial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwavesystems%2Fshimming-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwavesystems%2Fshimming-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwavesystems%2Fshimming-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwavesystems%2Fshimming-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dwavesystems","download_url":"https://codeload.github.com/dwavesystems/shimming-tutorial/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwavesystems%2Fshimming-tutorial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30176246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T11:48:51.886Z","status":"ssl_error","status_checked_at":"2026-03-06T11:48:51.460Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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-10-30T22:48:59.423Z","updated_at":"2026-03-06T12:32:43.069Z","avatar_url":"https://github.com/dwavesystems.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/pypi/pyversions/dwave-ocean-sdk.svg)\n\n# Shimming Tutorial\n\nThis repository contains supplementary code for\nTutorial: Calibration refinement in quantum annealing\nhttps://doi.org/10.3389/fcomp.2023.1238988\n\nInstall the dependencies with\n```bash\npip install -r requirements.txt\n```\n\nCode examples demonstrate orbits for selected models (executed locally),\ncalculation of embeddings (exectued locally),\nand iterative shimming results for several models (executed by default on\nLeap-hosted Quantum Processing Units).\n\nExamples have configurable parameters, to see these use the `--help`\ncommand line option. This includes the flexibility to reuse cached\nembeddings and data, modify the model, target processor, or embedding\nheuristic for increased performance. To reduce the total number\nof iterations (programmings, thence QPU access time) or learning rate(s).\nFor example,\n```\npython example3_2_tafm_forward_anneal.py --solver_name MockDWaveSampler --num_iters 20 --num_iters_unshimmed_flux 4 --num_iters_unshimmed_J 8\n```\nruns with only 20 total samplesets accelerating data acquisition (albeit\nnot to convergence as shown in the paper). In addition we specify the\nsolver as MockDWaveSampler allowing local execution with artificial noise,\nallowing intuition.\n\nThe original shimming tutorial uses an Advantage generation processor\nby default. This tutorial is adaptable to other processors and uses the default,\ngenerally-accessible processor.\nIt should be noted that defaulted parameters such as the learning rates,\nnumber of reads and iterations are expected to be functions of the noise and\nenergy scales of the target processor, and may require adjustment in\norder to demonstrate comparable phenomena to the paper.\n\n## Orbit examples (run locally)\n\nFor generation of Figure 4\n```\npython -m example0_1_orbits\n```\n\nFor generation of Figure 9\n```\npython -m example2_1_frustrated_loop_orbits\n```\n\nFor generation of Figure 11\n```\npython -m example2_3_buckyball_orbits\n```\n\nFor generation of orbits related to Figures 13-16\n```\npython -m example3_1_tafm_get_orbits\n```\n\n## Ferromagnetic loop example\nFor generation of Figure 6: **Balancing qubits in a FM chain with flux-bias offsets**. \u003cbr\u003e\nRequires 300 sequential QPU-job submissions.\n```\npython -m example1_1_fm_loop_balancing\n```\nFor generation of **Balancing qubits and couplers in a FM chain with flux-bias offsets and coupler adjustments** related to Figure 7. \u003cbr\u003e\nRequires 300 sequential QPU-job submissions.\n```\npython -m example1_2_fm_loop_correlations\n```\n\n## Frustrated loop example\nFor generation of Figure 10: **Shimming a frustrated loop**. \u003cbr\u003e\nRequires 300 sequential QPU-job submissions.\n```\npython -m example2_2_frustrated_loop_anneal\n```\n\n## Triangular antiferromagnet example\nFor generation of the following figures:\n- Figure 13: **Shimming an embedded cylindrical triangular antiferromagnet**. \u003cbr\u003e\n- Figure 14: **Shimming an isotropic, infinite triangular antiferromagnet**. \u003cbr\u003e\n- Figure 15: **Shimming an isotropic, infinite triangular antiferromagnet, starting with halved boundary couplers**. \u003cbr\u003e\n- Figure 16: **Complex order parameter ψ**. \u003cbr\u003e\n\nGeneration of embeddings may require several minutes.\nData is collected in 3 blocks each requiring 800 sequential QPU-job submissions.\nOne figure is presented per block (interrupting data collection until the\nfigure is closed); along with one summary figure.\n```\npython -m example3_2_tafm_forward_anneal\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdwavesystems%2Fshimming-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdwavesystems%2Fshimming-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdwavesystems%2Fshimming-tutorial/lists"}