[{"data":1,"prerenderedAt":5663},["ShallowReactive",2],{"blog-post-quantum-programming-languages":3,"sibling-dives-quantum-programming-languages":2674,"learn-track-quantum-programming-languages":5661,"learn-prereq-quantum-programming-languages":5662},{"id":4,"title":5,"authors":6,"body":8,"breadcrumb":2646,"builders":2649,"byline":2650,"category":2654,"categoryName":2654,"challenge":2654,"courseAuthor":2654,"courseLead":2654,"dek":2655,"description":2656,"draft":2657,"extension":2658,"eyebrow":2654,"featured":2657,"finish":2654,"fork":2654,"group":2654,"groupName":2654,"hero":2654,"heroAlt":2654,"heroCta":2654,"heroImage":2654,"homepageFeatured":2657,"kind":2659,"lessonCount":2654,"meta":2660,"navigation":317,"newsItems":2654,"next":2654,"ogImage":2661,"order":2654,"outcomes":2654,"path":2662,"prerequisite":2654,"prerequisiteLinks":2654,"publishDate":2663,"readingTime":2664,"related":2665,"relatedProjects":2654,"section":2666,"seo":2667,"spotlight":2657,"stem":2669,"tags":2670,"track":2654,"trackName":2654,"updates":2654,"__hash__":2673},"blog\u002Fblog\u002Fquantum-programming-languages.md","Quantum programming languages and SDKs, compared",[7],"nico",{"type":9,"value":10,"toc":2622},"minimark",[11,32,49,54,57,80,83,87,214,218,221,224,227,231,244,247,252,271,495,506,510,544,626,630,651,797,801,826,1059,1063,1071,1075,1106,1118,1133,1240,1244,1270,1438,1442,1449,1561,1564,1574,1705,1709,1748,2017,2021,2037,2158,2162,2177,2305,2309,2341,2345,2357,2371,2380,2384,2387,2586,2590,2618],[12,13,14,18],"quick-answer",{},[15,16,17],"p",{},"A quantum program is usually written in Python with a software development kit (SDK). An SDK is a library that builds circuits and runs them on a simulator or a quantum computer. Qiskit, Cirq and PennyLane are SDKs. Q# is a language of its own from Microsoft, and OpenQASM is the text format circuits are saved and exchanged in.",[15,19,20,21,26,27,31],{},"If you are starting out, begin with Qiskit: open the ",[22,23,25],"a",{"href":24},"#qiskit-in-python","Qiskit example"," below and run it on the free built-in simulator. On Qollab, Qiskit (from Python or JavaScript), OpenQASM and Cirq ",[22,28,30],{"href":29},"#run-the-bell-state-on-qollab","run in your browser",".",[15,33,34,35,39,40,43,44,48],{},"Every example on this page builds the same circuit, a Bell state: two qubits prepared in one shared state, then measured 1,000 times. Each repetition is a shot. On a noiseless simulator about half the shots read ",[36,37,38],"code",{},"00"," and the rest read ",[36,41,42],{},"11",". ",[22,45,47],{"href":46},"\u002Flearn\u002Fquantum-entanglement","Quantum entanglement"," explains the state itself; from one example to the next, only the syntax changes.",[50,51,53],"h2",{"id":52},"languages-sdks-and-instruction-formats","Languages, SDKs and instruction formats",[15,55,56],{},"Quantum toolkits come in three kinds.",[58,59,60,68,74],"ul",{},[61,62,63,67],"li",{},[64,65,66],"strong",{},"SDKs"," are libraries for a general-purpose language, nearly always Python. You build a circuit with function calls and send it to a backend: a simulator or a quantum computer. Eight of the ten toolkits in the table below are SDKs, among them Qiskit, Cirq and PennyLane.",[61,69,70,73],{},[64,71,72],{},"Quantum programming languages"," have their own syntax and compiler. Q# ships with Microsoft's Quantum Development Kit; Silq and Quipper come from research groups.",[61,75,76,79],{},[64,77,78],{},"Instruction formats"," are the text a circuit compiles to, saved and exchanged between tools. OpenQASM is the open one Qiskit reads and writes; Quil is Rigetti's.",[15,81,82],{},"Every toolkit in the table below can be driven from Python, so choosing a quantum programming language mostly means choosing an SDK.",[50,84,86],{"id":85},"how-the-toolkits-compare","How the toolkits compare",[88,89,90,106],"table",{},[91,92,93],"thead",{},[94,95,96,100,103],"tr",{},[97,98,99],"th",{},"Toolkit",[97,101,102],{},"Built for",[97,104,105],{},"Where this example runs",[107,108,109,121,132,143,154,164,174,184,194,204],"tbody",{},[94,110,111,115,118],{},[112,113,114],"td",{},"Qiskit (IBM SDK)",[112,116,117],{},"Writing circuits and running them on IBM, IonQ and Amazon Braket hardware through add-on provider packages",[112,119,120],{},"Qollab, on the backend you pick",[94,122,123,126,129],{},[112,124,125],{},"OpenQASM (open instruction format)",[112,127,128],{},"Saving a circuit as text and moving it between tools",[112,130,131],{},"Qollab, loaded by Qiskit",[94,133,134,137,140],{},[112,135,136],{},"Cirq (Google Quantum AI SDK)",[112,138,139],{},"Circuits with explicit control over gate timing and qubit layout",[112,141,142],{},"Qollab, on Cirq's own simulator",[94,144,145,148,151],{},[112,146,147],{},"PennyLane (Xanadu SDK)",[112,149,150],{},"Quantum machine learning: circuits you can differentiate and train with PyTorch or JAX",[112,152,153],{},"Your machine",[94,155,156,159,162],{},[112,157,158],{},"Q# (Microsoft language)",[112,160,161],{},"Algorithms written as typed programs, and estimates of the hardware an algorithm would need",[112,163,153],{},[94,165,166,169,172],{},[112,167,168],{},"Amazon Braket SDK (AWS)",[112,170,171],{},"Projects that send circuits to the quantum computers on Amazon Braket",[112,173,153],{},[94,175,176,179,182],{},[112,177,178],{},"pytket (Quantinuum SDK and compiler)",[112,180,181],{},"Optimizing circuits and retargeting them to different machines",[112,183,153],{},[94,185,186,189,192],{},[112,187,188],{},"pyQuil (Rigetti SDK)",[112,190,191],{},"Rigetti hardware and the Quil instruction format",[112,193,153],{},[94,195,196,199,202],{},[112,197,198],{},"CUDA-Q (NVIDIA SDK, Python and C++)",[112,200,201],{},"Simulating circuits on NVIDIA GPUs, and combining quantum code with Python or C++ programs",[112,203,153],{},[94,205,206,209,212],{},[112,207,208],{},"Qibo (Qibo team SDK)",[112,210,211],{},"Fast simulation, and lab control through its Qibolab package",[112,213,153],{},[50,215,217],{"id":216},"which-quantum-programming-language-should-you-learn-first","Which quantum programming language should you learn first?",[15,219,220],{},"If you write Python and want hardware runs soon, start with Qiskit. Provider packages connect it to IBM, IonQ and Amazon Braket hardware. Qollab's playground runs it on every simulator in the Run dialog and on IonQ hardware.",[15,222,223],{},"PennyLane fits quantum machine learning, because its circuits plug into PyTorch and JAX training loops. CUDA-Q fits GPU clusters and C++ codebases. Q# fits algorithm work that needs an estimate of the hardware an algorithm would need on future machines.",[15,225,226],{},"Gates read almost the same in most SDKs below; the setup code, the measurement and the call that runs the circuit differ.",[50,228,230],{"id":229},"run-the-bell-state-on-qollab","Run the Bell state on Qollab",[15,232,233,236,237,239,240,243],{},[64,234,235],{},"Run on Qollab"," under each of the four examples below opens its project page on Qollab, with the files and package requirements already in place. Press ",[64,238,235],{}," on that page to open the Run dialog, headed Select QPU. Pick the built-in simulator for a first run and press ",[64,241,242],{},"Run","; the counts print in the console. The OpenQASM and Cirq examples print a drawing of the circuit first.",[15,245,246],{},"Without an account you get one run; sign in with Google or GitHub to keep running. The playground runs Python through a browser feature called WebAssembly JSPI, found in a recent Chrome, Edge or Opera, or Firefox 153 or later. In a browser without it, Qollab keeps Run disabled; open the example in one of those browsers instead. The first run in a session loads Python and the example's packages, so it takes longer than the runs after it.",[248,249,251],"h3",{"id":250},"qiskit-in-python","Qiskit, in Python",[15,253,254,255,258,259,263,264,267,268,31],{},"Qiskit is IBM's open-source SDK, and every Qollab project has it installed. ",[36,256,257],{},"backend"," already exists when your code starts: it is the machine you pick in the Run dialog. That can be the built-in simulator, the AWS Braket local simulator, an IBM or IonQ noise-model simulator, or IonQ's Forte quantum computers, which ",[22,260,262],{"href":261},"\u002Flearn\u002Fdocs\u002Fhow-credits-work","cost credits",". A noise-model simulator copies a real machine's errors, so a few shots read ",[36,265,266],{},"01"," or ",[36,269,270],{},"10",[272,273,278],"code-block",{"name":274,"tag":275,"no-picker":276,"run-href":277},"main.py","Python · Qiskit","","\u002Fu\u002Fqollab\u002Fbell-state-qiskit",[279,280,284],"pre",{"className":281,"code":282,"language":283,"meta":276,"style":276},"language-python shiki shiki-themes one-dark-pro","# 'backend' is pre-created for you in the Qollab Playground.\nfrom qiskit import QuantumCircuit\n\nqc = QuantumCircuit(2, 2)       # two qubits, two answer bits\nqc.h(0)                         # H gate on qubit 0\nqc.cx(0, 1)                     # CNOT: qubit 1 follows qubit 0\nqc.measure([0, 1], [0, 1])      # read both qubits into the bits\n\njob = backend.run(qc, shots=1000)\ncounts = job.result().get_counts()\nprint(counts)                   # e.g. {'00': 502, '11': 498}\n","python",[36,285,286,295,312,319,351,371,394,426,431,460,483],{"__ignoreMap":276},[287,288,291],"span",{"class":289,"line":290},"line",1,[287,292,294],{"class":293},"sV9Aq","# 'backend' is pre-created for you in the Qollab Playground.\n",[287,296,298,302,306,309],{"class":289,"line":297},2,[287,299,301],{"class":300},"seHd6","from",[287,303,305],{"class":304},"sn6KH"," qiskit ",[287,307,308],{"class":300},"import",[287,310,311],{"class":304}," QuantumCircuit\n",[287,313,315],{"class":289,"line":314},3,[287,316,318],{"emptyLinePlaceholder":317},true,"\n",[287,320,322,325,329,333,336,340,343,345,348],{"class":289,"line":321},4,[287,323,324],{"class":304},"qc ",[287,326,328],{"class":327},"sjrmR","=",[287,330,332],{"class":331},"sVbv2"," QuantumCircuit",[287,334,335],{"class":304},"(",[287,337,339],{"class":338},"sVC51","2",[287,341,342],{"class":304},", ",[287,344,339],{"class":338},[287,346,347],{"class":304},")       ",[287,349,350],{"class":293},"# two qubits, two answer bits\n",[287,352,354,357,360,362,365,368],{"class":289,"line":353},5,[287,355,356],{"class":304},"qc.",[287,358,359],{"class":331},"h",[287,361,335],{"class":304},[287,363,364],{"class":338},"0",[287,366,367],{"class":304},")                         ",[287,369,370],{"class":293},"# H gate on qubit 0\n",[287,372,374,376,379,381,383,385,388,391],{"class":289,"line":373},6,[287,375,356],{"class":304},[287,377,378],{"class":331},"cx",[287,380,335],{"class":304},[287,382,364],{"class":338},[287,384,342],{"class":304},[287,386,387],{"class":338},"1",[287,389,390],{"class":304},")                     ",[287,392,393],{"class":293},"# CNOT: qubit 1 follows qubit 0\n",[287,395,397,399,402,405,407,409,411,414,416,418,420,423],{"class":289,"line":396},7,[287,398,356],{"class":304},[287,400,401],{"class":331},"measure",[287,403,404],{"class":304},"([",[287,406,364],{"class":338},[287,408,342],{"class":304},[287,410,387],{"class":338},[287,412,413],{"class":304},"], [",[287,415,364],{"class":338},[287,417,342],{"class":304},[287,419,387],{"class":338},[287,421,422],{"class":304},"])      ",[287,424,425],{"class":293},"# read both qubits into the bits\n",[287,427,429],{"class":289,"line":428},8,[287,430,318],{"emptyLinePlaceholder":317},[287,432,434,437,439,442,445,448,452,454,457],{"class":289,"line":433},9,[287,435,436],{"class":304},"job ",[287,438,328],{"class":327},[287,440,441],{"class":304}," backend.",[287,443,444],{"class":331},"run",[287,446,447],{"class":304},"(qc, ",[287,449,451],{"class":450},"s_ZVi","shots",[287,453,328],{"class":327},[287,455,456],{"class":338},"1000",[287,458,459],{"class":304},")\n",[287,461,463,466,468,471,474,477,480],{"class":289,"line":462},10,[287,464,465],{"class":304},"counts ",[287,467,328],{"class":327},[287,469,470],{"class":304}," job.",[287,472,473],{"class":331},"result",[287,475,476],{"class":304},"().",[287,478,479],{"class":331},"get_counts",[287,481,482],{"class":304},"()\n",[287,484,486,489,492],{"class":289,"line":485},11,[287,487,488],{"class":327},"print",[287,490,491],{"class":304},"(counts)                   ",[287,493,494],{"class":293},"# e.g. {'00': 502, '11': 498}\n",[15,496,497,500,501,503,504,31],{},[36,498,499],{},"{'00': 502, '11': 498}"," means 502 shots read ",[36,502,38],{}," and 498 read ",[36,505,42],{},[248,507,509],{"id":508},"qiskit-in-javascript","Qiskit, in JavaScript",[15,511,512,513,516,517,520,521,523,524,527,528,342,531,534,535,538,539,543],{},"A JS project calls the same Qiskit from JavaScript. ",[36,514,515],{},"index.html"," and ",[36,518,519],{},"main.js"," at the top level make a project a JS project; ",[36,522,519],{}," imports from ",[36,525,526],{},"qiskit"," and writes into the page. Constructors are called without ",[36,529,530],{},"new",[36,532,533],{},"run()"," is awaited, and ",[36,536,537],{},".toJs()"," turns the Python result into a plain JavaScript object. ",[22,540,542],{"href":541},"\u002Flearn\u002Fdocs\u002Fjs-qiskit-projects","JS \u002F Qiskit projects"," lists the conventions.",[272,545,548],{"name":519,"tag":546,"no-picker":276,"run-href":547},"JavaScript · Qiskit","\u002Fu\u002Fqollab\u002Fbell-state-js",[279,549,553],{"className":550,"code":551,"language":552,"meta":276,"style":276},"language-js shiki shiki-themes one-dark-pro","\u002F\u002F 'backend' is pre-created for you in the Qollab Playground.\n\u002F\u002F index.html holds \u003Cpre id=\"counts\">\u003C\u002Fpre>.\nimport { QuantumCircuit } from 'qiskit';\n\nconst circuit = QuantumCircuit(2, 2);   \u002F\u002F no `new`, as in Python\ncircuit.h(0);\ncircuit.cx(0, 1);\ncircuit.measure([0, 1], [0, 1]);\n\nconst job = await backend.run(circuit, { shots: 1000 });\nconst counts = (await job.result()).get_counts().toJs();\nconst text = JSON.stringify(counts);\nconsole.log(text);\ndocument.getElementById('counts').textContent = text;\n","js",[36,554,555,560,565,570,574,579,584,589,594,598,603,608,614,620],{"__ignoreMap":276},[287,556,557],{"class":289,"line":290},[287,558,559],{},"\u002F\u002F 'backend' is pre-created for you in the Qollab Playground.\n",[287,561,562],{"class":289,"line":297},[287,563,564],{},"\u002F\u002F index.html holds \u003Cpre id=\"counts\">\u003C\u002Fpre>.\n",[287,566,567],{"class":289,"line":314},[287,568,569],{},"import { QuantumCircuit } from 'qiskit';\n",[287,571,572],{"class":289,"line":321},[287,573,318],{"emptyLinePlaceholder":317},[287,575,576],{"class":289,"line":353},[287,577,578],{},"const circuit = QuantumCircuit(2, 2);   \u002F\u002F no `new`, as in Python\n",[287,580,581],{"class":289,"line":373},[287,582,583],{},"circuit.h(0);\n",[287,585,586],{"class":289,"line":396},[287,587,588],{},"circuit.cx(0, 1);\n",[287,590,591],{"class":289,"line":428},[287,592,593],{},"circuit.measure([0, 1], [0, 1]);\n",[287,595,596],{"class":289,"line":433},[287,597,318],{"emptyLinePlaceholder":317},[287,599,600],{"class":289,"line":462},[287,601,602],{},"const job = await backend.run(circuit, { shots: 1000 });\n",[287,604,605],{"class":289,"line":485},[287,606,607],{},"const counts = (await job.result()).get_counts().toJs();\n",[287,609,611],{"class":289,"line":610},12,[287,612,613],{},"const text = JSON.stringify(counts);\n",[287,615,617],{"class":289,"line":616},13,[287,618,619],{},"console.log(text);\n",[287,621,623],{"class":289,"line":622},14,[287,624,625],{},"document.getElementById('counts').textContent = text;\n",[248,627,629],{"id":628},"openqasm","OpenQASM",[15,631,632,633,636,637,640,641,644,645,648,649,31],{},"OpenQASM describes a circuit as plain text. Qiskit reads OpenQASM 3 with ",[36,634,635],{},"qasm3.loads",", which needs the ",[36,638,639],{},"qiskit-qasm3-import"," package; the linked project lists it in ",[36,642,643],{},"requirements.txt",". For older OpenQASM 2.0 text, ",[36,646,647],{},"qasm2.loads"," works the same way and needs no extra package. A loaded circuit is an ordinary Qiskit circuit, so it runs on the same ",[36,650,257],{},[272,652,655],{"name":274,"tag":653,"no-picker":276,"run-href":654},"Python · OpenQASM","\u002Fu\u002Fqollab\u002Fbell-state-openqasm",[279,656,658],{"className":281,"code":657,"language":283,"meta":276,"style":276},"# 'backend' is pre-created for you in the Qollab Playground.\nfrom qiskit import qasm3\n\nbell = \"\"\"\nOPENQASM 3.0;\ninclude \"stdgates.inc\";\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;\n\"\"\"\n\ncircuit = qasm3.loads(bell)\nprint(circuit)\ncounts = backend.run(circuit, shots=1000).result().get_counts()\nprint(counts)\n",[36,659,660,664,675,679,690,695,700,705,710,715,720,725,730,734,750,758,789],{"__ignoreMap":276},[287,661,662],{"class":289,"line":290},[287,663,294],{"class":293},[287,665,666,668,670,672],{"class":289,"line":297},[287,667,301],{"class":300},[287,669,305],{"class":304},[287,671,308],{"class":300},[287,673,674],{"class":304}," qasm3\n",[287,676,677],{"class":289,"line":314},[287,678,318],{"emptyLinePlaceholder":317},[287,680,681,684,686],{"class":289,"line":321},[287,682,683],{"class":304},"bell ",[287,685,328],{"class":327},[287,687,689],{"class":688},"subq3"," \"\"\"\n",[287,691,692],{"class":289,"line":353},[287,693,694],{"class":688},"OPENQASM 3.0;\n",[287,696,697],{"class":289,"line":373},[287,698,699],{"class":688},"include \"stdgates.inc\";\n",[287,701,702],{"class":289,"line":396},[287,703,704],{"class":688},"qubit[2] q;\n",[287,706,707],{"class":289,"line":428},[287,708,709],{"class":688},"bit[2] c;\n",[287,711,712],{"class":289,"line":433},[287,713,714],{"class":688},"h q[0];\n",[287,716,717],{"class":289,"line":462},[287,718,719],{"class":688},"cx q[0], q[1];\n",[287,721,722],{"class":289,"line":485},[287,723,724],{"class":688},"c = measure q;\n",[287,726,727],{"class":289,"line":610},[287,728,729],{"class":688},"\"\"\"\n",[287,731,732],{"class":289,"line":616},[287,733,318],{"emptyLinePlaceholder":317},[287,735,736,739,741,744,747],{"class":289,"line":622},[287,737,738],{"class":304},"circuit ",[287,740,328],{"class":327},[287,742,743],{"class":304}," qasm3.",[287,745,746],{"class":331},"loads",[287,748,749],{"class":304},"(bell)\n",[287,751,753,755],{"class":289,"line":752},15,[287,754,488],{"class":327},[287,756,757],{"class":304},"(circuit)\n",[287,759,761,763,765,767,769,772,774,776,778,781,783,785,787],{"class":289,"line":760},16,[287,762,465],{"class":304},[287,764,328],{"class":327},[287,766,441],{"class":304},[287,768,444],{"class":331},[287,770,771],{"class":304},"(circuit, ",[287,773,451],{"class":450},[287,775,328],{"class":327},[287,777,456],{"class":338},[287,779,780],{"class":304},").",[287,782,473],{"class":331},[287,784,476],{"class":304},[287,786,479],{"class":331},[287,788,482],{"class":304},[287,790,792,794],{"class":289,"line":791},17,[287,793,488],{"class":327},[287,795,796],{"class":304},"(counts)\n",[248,798,800],{"id":799},"cirq","Cirq",[15,802,803,804,806,807,810,811,813,814,817,818,821,822,516,824,31],{},"Cirq is Google Quantum AI's Python SDK. On Qollab it installs from the project's ",[36,805,643],{},", which the linked project already includes (",[36,808,809],{},"cirq-core==1.7.0","), and runs on Cirq's own simulator, inside your browser. Cirq does not use ",[36,812,257],{},", so pick the built-in simulator in the Run dialog; that choice loads no extra provider packages. Cirq's first run loads the most packages of the four examples. The measurement is stored under the key ",[36,815,816],{},"m",", and the small ",[36,819,820],{},"bitstring"," helper labels the totals ",[36,823,38],{},[36,825,42],{},[272,827,830],{"name":274,"tag":828,"no-picker":276,"run-href":829},"Python · Cirq","\u002Fu\u002Fqollab\u002Fbell-state-cirq",[279,831,833],{"className":281,"code":832,"language":283,"meta":276,"style":276},"# Cirq runs on its own simulator here.\n# In the Run dialog, pick the built-in simulator.\nimport cirq\n\nq0, q1 = cirq.LineQubit.range(2)\ncircuit = cirq.Circuit(\n    cirq.H(q0),\n    cirq.CNOT(q0, q1),\n    cirq.measure(q0, q1, key=\"m\"),\n)\nprint(circuit)\n\ndef bitstring(bits):\n    return \"\".join(str(int(b)) for b in bits)\n\nresult = cirq.Simulator().run(circuit, repetitions=1000)\nprint(result.histogram(key=\"m\", fold_func=bitstring))\n",[36,834,835,840,845,852,856,875,890,901,911,931,935,941,945,962,1000,1004,1031],{"__ignoreMap":276},[287,836,837],{"class":289,"line":290},[287,838,839],{"class":293},"# Cirq runs on its own simulator here.\n",[287,841,842],{"class":289,"line":297},[287,843,844],{"class":293},"# In the Run dialog, pick the built-in simulator.\n",[287,846,847,849],{"class":289,"line":314},[287,848,308],{"class":300},[287,850,851],{"class":304}," cirq\n",[287,853,854],{"class":289,"line":321},[287,855,318],{"emptyLinePlaceholder":317},[287,857,858,861,863,866,869,871,873],{"class":289,"line":353},[287,859,860],{"class":304},"q0, q1 ",[287,862,328],{"class":327},[287,864,865],{"class":304}," cirq.LineQubit.",[287,867,868],{"class":331},"range",[287,870,335],{"class":304},[287,872,339],{"class":338},[287,874,459],{"class":304},[287,876,877,879,881,884,887],{"class":289,"line":373},[287,878,738],{"class":304},[287,880,328],{"class":327},[287,882,883],{"class":304}," cirq.",[287,885,886],{"class":331},"Circuit",[287,888,889],{"class":304},"(\n",[287,891,892,895,898],{"class":289,"line":396},[287,893,894],{"class":304},"    cirq.",[287,896,897],{"class":331},"H",[287,899,900],{"class":304},"(q0),\n",[287,902,903,905,908],{"class":289,"line":428},[287,904,894],{"class":304},[287,906,907],{"class":331},"CNOT",[287,909,910],{"class":304},"(q0, q1),\n",[287,912,913,915,917,920,923,925,928],{"class":289,"line":433},[287,914,894],{"class":304},[287,916,401],{"class":331},[287,918,919],{"class":304},"(q0, q1, ",[287,921,922],{"class":450},"key",[287,924,328],{"class":327},[287,926,927],{"class":688},"\"m\"",[287,929,930],{"class":304},"),\n",[287,932,933],{"class":289,"line":462},[287,934,459],{"class":304},[287,936,937,939],{"class":289,"line":485},[287,938,488],{"class":327},[287,940,757],{"class":304},[287,942,943],{"class":289,"line":610},[287,944,318],{"emptyLinePlaceholder":317},[287,946,947,950,953,955,959],{"class":289,"line":616},[287,948,949],{"class":300},"def",[287,951,952],{"class":331}," bitstring",[287,954,335],{"class":304},[287,956,958],{"class":957},"sb9H8","bits",[287,960,961],{"class":304},"):\n",[287,963,964,967,970,972,975,977,980,982,985,988,991,994,997],{"class":289,"line":622},[287,965,966],{"class":300},"    return",[287,968,969],{"class":688}," \"\"",[287,971,31],{"class":304},[287,973,974],{"class":331},"join",[287,976,335],{"class":304},[287,978,979],{"class":327},"str",[287,981,335],{"class":304},[287,983,984],{"class":327},"int",[287,986,987],{"class":304},"(b)) ",[287,989,990],{"class":300},"for",[287,992,993],{"class":304}," b ",[287,995,996],{"class":300},"in",[287,998,999],{"class":304}," bits)\n",[287,1001,1002],{"class":289,"line":752},[287,1003,318],{"emptyLinePlaceholder":317},[287,1005,1006,1009,1011,1013,1016,1018,1020,1022,1025,1027,1029],{"class":289,"line":760},[287,1007,1008],{"class":304},"result ",[287,1010,328],{"class":327},[287,1012,883],{"class":304},[287,1014,1015],{"class":331},"Simulator",[287,1017,476],{"class":304},[287,1019,444],{"class":331},[287,1021,771],{"class":304},[287,1023,1024],{"class":450},"repetitions",[287,1026,328],{"class":327},[287,1028,456],{"class":338},[287,1030,459],{"class":304},[287,1032,1033,1035,1038,1041,1043,1045,1047,1049,1051,1054,1056],{"class":289,"line":791},[287,1034,488],{"class":327},[287,1036,1037],{"class":304},"(result.",[287,1039,1040],{"class":331},"histogram",[287,1042,335],{"class":304},[287,1044,922],{"class":450},[287,1046,328],{"class":327},[287,1048,927],{"class":688},[287,1050,342],{"class":304},[287,1052,1053],{"class":450},"fold_func",[287,1055,328],{"class":327},[287,1057,1058],{"class":304},"bitstring))\n",[50,1060,1062],{"id":1061},"the-bell-state-in-other-toolkits","The Bell state in other toolkits",[15,1064,1065,1066,1070],{},"The toolkits below run on your own machine, each on a local simulator. The ",[22,1067,1069],{"href":1068},"#a-snapshot-october-2026","snapshot"," lists each toolkit's version.",[248,1072,1074],{"id":1073},"q","Q#",[15,1076,1077,1078,1081,1082,1085,1086,1089,1090,1093,1094,1097,1098,1101,1102,1105],{},"Q# is Microsoft's quantum programming language, part of the Quantum Development Kit (QDK). Install the QDK extension for VS Code to write and run ",[36,1079,1080],{},".qs"," files, or the Python package with ",[36,1083,1084],{},"pip install qdk",". In VS Code, click ",[64,1087,1088],{},"Histogram"," above ",[36,1091,1092],{},"Main"," and enter 1,000 shots. Microsoft's older ",[36,1095,1096],{},"qsharp"," package is now a compatibility layer over ",[36,1099,1100],{},"qdk",", so tutorials that ",[36,1103,1104],{},"import qsharp"," still run.",[272,1107,1110],{"name":1108,"tag":1109},"bell.qs","Q# · install locally",[279,1111,1116],{"className":1112,"code":1114,"language":1115,"meta":276},[1113],"language-text","import Std.Measurement.*;\n\noperation Main() : (Result, Result) {\n    use (q0, q1) = (Qubit(), Qubit());\n    H(q0);\n    CNOT(q0, q1);\n    (MResetZ(q0), MResetZ(q1))\n}\n","text",[36,1117,1114],{"__ignoreMap":276},[15,1119,1120,1121,1124,1125,1128,1129,1132],{},"The program measures both qubits with ",[36,1122,1123],{},"MResetZ",", which also resets them, and returns one pair of results. From Python, ",[36,1126,1127],{},"qsharp.run"," repeats it 1,000 times, and ",[36,1130,1131],{},"Counter"," tallies the pairs:",[272,1134,1137],{"name":1135,"tag":1136},"run_bell.py","Python · QDK",[279,1138,1140],{"className":281,"code":1139,"language":283,"meta":276,"style":276},"from collections import Counter\nfrom pathlib import Path\nfrom qdk import qsharp\n\nqsharp.eval(Path(\"bell.qs\").read_text())\nprint(Counter(qsharp.run(\"Main()\", shots=1000)))   # (Zero, Zero) and (One, One)\n",[36,1141,1142,1154,1166,1178,1182,1208],{"__ignoreMap":276},[287,1143,1144,1146,1149,1151],{"class":289,"line":290},[287,1145,301],{"class":300},[287,1147,1148],{"class":304}," collections ",[287,1150,308],{"class":300},[287,1152,1153],{"class":304}," Counter\n",[287,1155,1156,1158,1161,1163],{"class":289,"line":297},[287,1157,301],{"class":300},[287,1159,1160],{"class":304}," pathlib ",[287,1162,308],{"class":300},[287,1164,1165],{"class":304}," Path\n",[287,1167,1168,1170,1173,1175],{"class":289,"line":314},[287,1169,301],{"class":300},[287,1171,1172],{"class":304}," qdk ",[287,1174,308],{"class":300},[287,1176,1177],{"class":304}," qsharp\n",[287,1179,1180],{"class":289,"line":321},[287,1181,318],{"emptyLinePlaceholder":317},[287,1183,1184,1187,1190,1192,1195,1197,1200,1202,1205],{"class":289,"line":353},[287,1185,1186],{"class":304},"qsharp.",[287,1188,1189],{"class":331},"eval",[287,1191,335],{"class":304},[287,1193,1194],{"class":331},"Path",[287,1196,335],{"class":304},[287,1198,1199],{"class":688},"\"bell.qs\"",[287,1201,780],{"class":304},[287,1203,1204],{"class":331},"read_text",[287,1206,1207],{"class":304},"())\n",[287,1209,1210,1212,1214,1216,1219,1221,1223,1226,1228,1230,1232,1234,1237],{"class":289,"line":373},[287,1211,488],{"class":327},[287,1213,335],{"class":304},[287,1215,1131],{"class":331},[287,1217,1218],{"class":304},"(qsharp.",[287,1220,444],{"class":331},[287,1222,335],{"class":304},[287,1224,1225],{"class":688},"\"Main()\"",[287,1227,342],{"class":304},[287,1229,451],{"class":450},[287,1231,328],{"class":327},[287,1233,456],{"class":338},[287,1235,1236],{"class":304},")))   ",[287,1238,1239],{"class":293},"# (Zero, Zero) and (One, One)\n",[248,1241,1243],{"id":1242},"pennylane","PennyLane",[15,1245,1246,1247,1250,1251,1254,1255,1258,1259,1262,1263,1266,1267,31],{},"PennyLane is Xanadu's SDK for differentiable circuits. Install it with ",[36,1248,1249],{},"pip install pennylane",". The device is the simulator and the decorated function builds the circuit. Returning ",[36,1252,1253],{},"qp.counts()"," asks for the measured totals, so there is no separate measure line; calling ",[36,1256,1257],{},"bell()"," runs the circuit and returns them. ",[36,1260,1261],{},"set_shots"," sets the 1,000 shots. PennyLane's docs import the package as ",[36,1264,1265],{},"qp","; older code uses ",[36,1268,1269],{},"qml",[272,1271,1274],{"name":1272,"tag":1273},"bell.py","Python · PennyLane",[279,1275,1277],{"className":281,"code":1276,"language":283,"meta":276,"style":276},"import pennylane as qp\n\ndev = qp.device(\"default.qubit\", wires=2)\n\n@qp.set_shots(1000)\n@qp.qnode(dev)\ndef bell():\n    qp.Hadamard(wires=0)\n    qp.CNOT(wires=[0, 1])\n    return qp.counts()\n\nprint(bell())\n",[36,1278,1279,1292,1296,1325,1329,1344,1360,1370,1388,1412,1423,1427],{"__ignoreMap":276},[287,1280,1281,1283,1286,1289],{"class":289,"line":290},[287,1282,308],{"class":300},[287,1284,1285],{"class":304}," pennylane ",[287,1287,1288],{"class":300},"as",[287,1290,1291],{"class":304}," qp\n",[287,1293,1294],{"class":289,"line":297},[287,1295,318],{"emptyLinePlaceholder":317},[287,1297,1298,1301,1303,1306,1309,1311,1314,1316,1319,1321,1323],{"class":289,"line":314},[287,1299,1300],{"class":304},"dev ",[287,1302,328],{"class":327},[287,1304,1305],{"class":304}," qp.",[287,1307,1308],{"class":331},"device",[287,1310,335],{"class":304},[287,1312,1313],{"class":688},"\"default.qubit\"",[287,1315,342],{"class":304},[287,1317,1318],{"class":450},"wires",[287,1320,328],{"class":327},[287,1322,339],{"class":338},[287,1324,459],{"class":304},[287,1326,1327],{"class":289,"line":321},[287,1328,318],{"emptyLinePlaceholder":317},[287,1330,1331,1334,1336,1338,1340,1342],{"class":289,"line":353},[287,1332,1333],{"class":331},"@qp",[287,1335,31],{"class":304},[287,1337,1261],{"class":331},[287,1339,335],{"class":304},[287,1341,456],{"class":338},[287,1343,459],{"class":304},[287,1345,1346,1348,1350,1353,1355,1358],{"class":289,"line":373},[287,1347,1333],{"class":331},[287,1349,31],{"class":304},[287,1351,1352],{"class":331},"qnode",[287,1354,335],{"class":304},[287,1356,1357],{"class":331},"dev",[287,1359,459],{"class":304},[287,1361,1362,1364,1367],{"class":289,"line":396},[287,1363,949],{"class":300},[287,1365,1366],{"class":331}," bell",[287,1368,1369],{"class":304},"():\n",[287,1371,1372,1375,1378,1380,1382,1384,1386],{"class":289,"line":428},[287,1373,1374],{"class":304},"    qp.",[287,1376,1377],{"class":331},"Hadamard",[287,1379,335],{"class":304},[287,1381,1318],{"class":450},[287,1383,328],{"class":327},[287,1385,364],{"class":338},[287,1387,459],{"class":304},[287,1389,1390,1392,1394,1396,1398,1400,1403,1405,1407,1409],{"class":289,"line":433},[287,1391,1374],{"class":304},[287,1393,907],{"class":331},[287,1395,335],{"class":304},[287,1397,1318],{"class":450},[287,1399,328],{"class":327},[287,1401,1402],{"class":304},"[",[287,1404,364],{"class":338},[287,1406,342],{"class":304},[287,1408,387],{"class":338},[287,1410,1411],{"class":304},"])\n",[287,1413,1414,1416,1418,1421],{"class":289,"line":462},[287,1415,966],{"class":300},[287,1417,1305],{"class":304},[287,1419,1420],{"class":331},"counts",[287,1422,482],{"class":304},[287,1424,1425],{"class":289,"line":485},[287,1426,318],{"emptyLinePlaceholder":317},[287,1428,1429,1431,1433,1436],{"class":289,"line":610},[287,1430,488],{"class":327},[287,1432,335],{"class":304},[287,1434,1435],{"class":331},"bell",[287,1437,1207],{"class":304},[248,1439,1441],{"id":1440},"amazon-braket-sdk","Amazon Braket SDK",[15,1443,1444,1445,1448],{},"The Amazon Braket SDK builds circuits for the quantum computers on Amazon Braket. Install it with ",[36,1446,1447],{},"pip install amazon-braket-sdk","; the local simulator needs no AWS account. The circuit needs no measure line: the result counts both qubits.",[272,1450,1452],{"name":1272,"tag":1451},"Python · Braket SDK",[279,1453,1455],{"className":281,"code":1454,"language":283,"meta":276,"style":276},"from braket.circuits import Circuit\nfrom braket.devices import LocalSimulator\n\nbell = Circuit()\nbell.h(0)\nbell.cnot(0, 1)\nresult = LocalSimulator().run(bell, shots=1000).result()\nprint(result.measurement_counts)\n",[36,1456,1457,1469,1481,1485,1496,1509,1526,1554],{"__ignoreMap":276},[287,1458,1459,1461,1464,1466],{"class":289,"line":290},[287,1460,301],{"class":300},[287,1462,1463],{"class":304}," braket.circuits ",[287,1465,308],{"class":300},[287,1467,1468],{"class":304}," Circuit\n",[287,1470,1471,1473,1476,1478],{"class":289,"line":297},[287,1472,301],{"class":300},[287,1474,1475],{"class":304}," braket.devices ",[287,1477,308],{"class":300},[287,1479,1480],{"class":304}," LocalSimulator\n",[287,1482,1483],{"class":289,"line":314},[287,1484,318],{"emptyLinePlaceholder":317},[287,1486,1487,1489,1491,1494],{"class":289,"line":321},[287,1488,683],{"class":304},[287,1490,328],{"class":327},[287,1492,1493],{"class":331}," Circuit",[287,1495,482],{"class":304},[287,1497,1498,1501,1503,1505,1507],{"class":289,"line":353},[287,1499,1500],{"class":304},"bell.",[287,1502,359],{"class":331},[287,1504,335],{"class":304},[287,1506,364],{"class":338},[287,1508,459],{"class":304},[287,1510,1511,1513,1516,1518,1520,1522,1524],{"class":289,"line":373},[287,1512,1500],{"class":304},[287,1514,1515],{"class":331},"cnot",[287,1517,335],{"class":304},[287,1519,364],{"class":338},[287,1521,342],{"class":304},[287,1523,387],{"class":338},[287,1525,459],{"class":304},[287,1527,1528,1530,1532,1535,1537,1539,1542,1544,1546,1548,1550,1552],{"class":289,"line":396},[287,1529,1008],{"class":304},[287,1531,328],{"class":327},[287,1533,1534],{"class":331}," LocalSimulator",[287,1536,476],{"class":304},[287,1538,444],{"class":331},[287,1540,1541],{"class":304},"(bell, ",[287,1543,451],{"class":450},[287,1545,328],{"class":327},[287,1547,456],{"class":338},[287,1549,780],{"class":304},[287,1551,473],{"class":331},[287,1553,482],{"class":304},[287,1555,1556,1558],{"class":289,"line":428},[287,1557,488],{"class":327},[287,1559,1560],{"class":304},"(result.measurement_counts)\n",[248,1562,1563],{"id":1563},"pytket",[15,1565,1566,1567,43,1570,1573],{},"pytket is Quantinuum's SDK and compiler. It has no simulator of its own, so this example runs on Qiskit Aer through the pytket-qiskit extension: ",[36,1568,1569],{},"pip install \"pytket-qiskit[aer]\"",[36,1571,1572],{},"measure_all()"," adds the measurement Qiskit writes as a separate line.",[272,1575,1577],{"name":1272,"tag":1576},"Python · pytket",[279,1578,1580],{"className":281,"code":1579,"language":283,"meta":276,"style":276},"from pytket import Circuit\nfrom pytket.extensions.qiskit import AerBackend\n\ncircuit = Circuit(2)\ncircuit.H(0)\ncircuit.CX(0, 1)\ncircuit.measure_all()        # measures every qubit into its own bit\nresult = AerBackend().run_circuit(circuit, n_shots=1000)\nprint(result.get_counts())   # keys are bit tuples: (0, 0) and (1, 1)\n",[36,1581,1582,1593,1605,1609,1623,1636,1653,1666,1691],{"__ignoreMap":276},[287,1583,1584,1586,1589,1591],{"class":289,"line":290},[287,1585,301],{"class":300},[287,1587,1588],{"class":304}," pytket ",[287,1590,308],{"class":300},[287,1592,1468],{"class":304},[287,1594,1595,1597,1600,1602],{"class":289,"line":297},[287,1596,301],{"class":300},[287,1598,1599],{"class":304}," pytket.extensions.qiskit ",[287,1601,308],{"class":300},[287,1603,1604],{"class":304}," AerBackend\n",[287,1606,1607],{"class":289,"line":314},[287,1608,318],{"emptyLinePlaceholder":317},[287,1610,1611,1613,1615,1617,1619,1621],{"class":289,"line":321},[287,1612,738],{"class":304},[287,1614,328],{"class":327},[287,1616,1493],{"class":331},[287,1618,335],{"class":304},[287,1620,339],{"class":338},[287,1622,459],{"class":304},[287,1624,1625,1628,1630,1632,1634],{"class":289,"line":353},[287,1626,1627],{"class":304},"circuit.",[287,1629,897],{"class":331},[287,1631,335],{"class":304},[287,1633,364],{"class":338},[287,1635,459],{"class":304},[287,1637,1638,1640,1643,1645,1647,1649,1651],{"class":289,"line":373},[287,1639,1627],{"class":304},[287,1641,1642],{"class":331},"CX",[287,1644,335],{"class":304},[287,1646,364],{"class":338},[287,1648,342],{"class":304},[287,1650,387],{"class":338},[287,1652,459],{"class":304},[287,1654,1655,1657,1660,1663],{"class":289,"line":396},[287,1656,1627],{"class":304},[287,1658,1659],{"class":331},"measure_all",[287,1661,1662],{"class":304},"()        ",[287,1664,1665],{"class":293},"# measures every qubit into its own bit\n",[287,1667,1668,1670,1672,1675,1677,1680,1682,1685,1687,1689],{"class":289,"line":428},[287,1669,1008],{"class":304},[287,1671,328],{"class":327},[287,1673,1674],{"class":331}," AerBackend",[287,1676,476],{"class":304},[287,1678,1679],{"class":331},"run_circuit",[287,1681,771],{"class":304},[287,1683,1684],{"class":450},"n_shots",[287,1686,328],{"class":327},[287,1688,456],{"class":338},[287,1690,459],{"class":304},[287,1692,1693,1695,1697,1699,1702],{"class":289,"line":433},[287,1694,488],{"class":327},[287,1696,1037],{"class":304},[287,1698,479],{"class":331},[287,1700,1701],{"class":304},"())   ",[287,1703,1704],{"class":293},"# keys are bit tuples: (0, 0) and (1, 1)\n",[248,1706,1708],{"id":1707},"pyquil","pyQuil",[15,1710,1711,1712,1715,1716,1719,1720,1723,1724,1727,1728,1731,1732,1736,1737,1740,1741,1744,1745,1747],{},"pyQuil is Rigetti's SDK; programs compile to Quil, Rigetti's instruction format. Install it with ",[36,1713,1714],{},"pip install pyquil","; version 4.22 installs on Python 3.11 and 3.12. Running locally needs two Rigetti servers: start the ",[36,1717,1718],{},"quilc"," compiler with ",[36,1721,1722],{},"quilc -S"," and the ",[36,1725,1726],{},"qvm"," simulator with ",[36,1729,1730],{},"qvm -S",", each in its own terminal, and leave them running. ",[22,1733,1735],{"href":1734},"https:\u002F\u002Fdocs.rigetti.com\u002Fqcs\u002Fgetting-started\u002Finstalling-locally","Rigetti's guide to installing the Quil SDK locally"," covers installing them. In the code, ",[36,1738,1739],{},"ro"," holds the measured answers, ",[36,1742,1743],{},"qc.compile"," prepares the program for the simulator, and ",[36,1746,1131],{}," tallies the rows that come back.",[272,1749,1751],{"name":1272,"tag":1750},"Python · pyQuil",[279,1752,1754],{"className":281,"code":1753,"language":283,"meta":276,"style":276},"from collections import Counter\nfrom pyquil import Program, get_qc\nfrom pyquil.gates import CNOT, H, MEASURE\nfrom pyquil.quilbase import Declare\n\nprogram = Program(\n    Declare(\"ro\", \"BIT\", 2),\n    H(0),\n    CNOT(0, 1),\n    MEASURE(0, (\"ro\", 0)),\n    MEASURE(1, (\"ro\", 1)),\n).wrap_in_numshots_loop(1000)\n\nqc = get_qc(\"2q-qvm\")\nbits = qc.run(qc.compile(program)).get_register_map().get(\"ro\")\nprint(Counter(\"\".join(map(str, row)) for row in bits))\n",[36,1755,1756,1766,1778,1796,1808,1812,1824,1845,1856,1871,1892,1910,1923,1927,1943,1978],{"__ignoreMap":276},[287,1757,1758,1760,1762,1764],{"class":289,"line":290},[287,1759,301],{"class":300},[287,1761,1148],{"class":304},[287,1763,308],{"class":300},[287,1765,1153],{"class":304},[287,1767,1768,1770,1773,1775],{"class":289,"line":297},[287,1769,301],{"class":300},[287,1771,1772],{"class":304}," pyquil ",[287,1774,308],{"class":300},[287,1776,1777],{"class":304}," Program, get_qc\n",[287,1779,1780,1782,1785,1787,1790,1793],{"class":289,"line":314},[287,1781,301],{"class":300},[287,1783,1784],{"class":304}," pyquil.gates ",[287,1786,308],{"class":300},[287,1788,1789],{"class":338}," CNOT",[287,1791,1792],{"class":304},", H, ",[287,1794,1795],{"class":338},"MEASURE\n",[287,1797,1798,1800,1803,1805],{"class":289,"line":321},[287,1799,301],{"class":300},[287,1801,1802],{"class":304}," pyquil.quilbase ",[287,1804,308],{"class":300},[287,1806,1807],{"class":304}," Declare\n",[287,1809,1810],{"class":289,"line":353},[287,1811,318],{"emptyLinePlaceholder":317},[287,1813,1814,1817,1819,1822],{"class":289,"line":373},[287,1815,1816],{"class":304},"program ",[287,1818,328],{"class":327},[287,1820,1821],{"class":331}," Program",[287,1823,889],{"class":304},[287,1825,1826,1829,1831,1834,1836,1839,1841,1843],{"class":289,"line":396},[287,1827,1828],{"class":331},"    Declare",[287,1830,335],{"class":304},[287,1832,1833],{"class":688},"\"ro\"",[287,1835,342],{"class":304},[287,1837,1838],{"class":688},"\"BIT\"",[287,1840,342],{"class":304},[287,1842,339],{"class":338},[287,1844,930],{"class":304},[287,1846,1847,1850,1852,1854],{"class":289,"line":428},[287,1848,1849],{"class":331},"    H",[287,1851,335],{"class":304},[287,1853,364],{"class":338},[287,1855,930],{"class":304},[287,1857,1858,1861,1863,1865,1867,1869],{"class":289,"line":433},[287,1859,1860],{"class":331},"    CNOT",[287,1862,335],{"class":304},[287,1864,364],{"class":338},[287,1866,342],{"class":304},[287,1868,387],{"class":338},[287,1870,930],{"class":304},[287,1872,1873,1876,1878,1880,1883,1885,1887,1889],{"class":289,"line":462},[287,1874,1875],{"class":331},"    MEASURE",[287,1877,335],{"class":304},[287,1879,364],{"class":338},[287,1881,1882],{"class":304},", (",[287,1884,1833],{"class":688},[287,1886,342],{"class":304},[287,1888,364],{"class":338},[287,1890,1891],{"class":304},")),\n",[287,1893,1894,1896,1898,1900,1902,1904,1906,1908],{"class":289,"line":485},[287,1895,1875],{"class":331},[287,1897,335],{"class":304},[287,1899,387],{"class":338},[287,1901,1882],{"class":304},[287,1903,1833],{"class":688},[287,1905,342],{"class":304},[287,1907,387],{"class":338},[287,1909,1891],{"class":304},[287,1911,1912,1914,1917,1919,1921],{"class":289,"line":610},[287,1913,780],{"class":304},[287,1915,1916],{"class":331},"wrap_in_numshots_loop",[287,1918,335],{"class":304},[287,1920,456],{"class":338},[287,1922,459],{"class":304},[287,1924,1925],{"class":289,"line":616},[287,1926,318],{"emptyLinePlaceholder":317},[287,1928,1929,1931,1933,1936,1938,1941],{"class":289,"line":622},[287,1930,324],{"class":304},[287,1932,328],{"class":327},[287,1934,1935],{"class":331}," get_qc",[287,1937,335],{"class":304},[287,1939,1940],{"class":688},"\"2q-qvm\"",[287,1942,459],{"class":304},[287,1944,1945,1948,1950,1953,1955,1958,1961,1964,1967,1969,1972,1974,1976],{"class":289,"line":752},[287,1946,1947],{"class":304},"bits ",[287,1949,328],{"class":327},[287,1951,1952],{"class":304}," qc.",[287,1954,444],{"class":331},[287,1956,1957],{"class":304},"(qc.",[287,1959,1960],{"class":331},"compile",[287,1962,1963],{"class":304},"(program)).",[287,1965,1966],{"class":331},"get_register_map",[287,1968,476],{"class":304},[287,1970,1971],{"class":331},"get",[287,1973,335],{"class":304},[287,1975,1833],{"class":688},[287,1977,459],{"class":304},[287,1979,1980,1982,1984,1986,1988,1991,1993,1995,1997,2000,2002,2004,2007,2009,2012,2014],{"class":289,"line":760},[287,1981,488],{"class":327},[287,1983,335],{"class":304},[287,1985,1131],{"class":331},[287,1987,335],{"class":304},[287,1989,1990],{"class":688},"\"\"",[287,1992,31],{"class":304},[287,1994,974],{"class":331},[287,1996,335],{"class":304},[287,1998,1999],{"class":327},"map",[287,2001,335],{"class":304},[287,2003,979],{"class":327},[287,2005,2006],{"class":304},", row)) ",[287,2008,990],{"class":300},[287,2010,2011],{"class":304}," row ",[287,2013,996],{"class":300},[287,2015,2016],{"class":304}," bits))\n",[248,2018,2020],{"id":2019},"cuda-q","CUDA-Q",[15,2022,2023,2024,342,2026,516,2029,2032,2033,2036],{},"CUDA-Q is NVIDIA's SDK for quantum kernels in Python and C++; a kernel is the decorated function that holds the circuit. Inside it, ",[36,2025,359],{},[36,2027,2028],{},"x.ctrl",[36,2030,2031],{},"mz"," are H, CNOT and measurement. Install the Python package with ",[36,2034,2035],{},"pip install cudaq",". It runs on Linux, and on Apple silicon Macs on the CPU. On Linux it uses an NVIDIA GPU by default when one is present.",[272,2038,2040],{"name":1272,"tag":2039},"Python · CUDA-Q",[279,2041,2043],{"className":281,"code":2042,"language":283,"meta":276,"style":276},"import cudaq\n\n@cudaq.kernel\ndef bell():\n    qubits = cudaq.qvector(2)\n    h(qubits[0])\n    x.ctrl(qubits[0], qubits[1])\n    mz(qubits)\n\nprint(cudaq.sample(bell, shots_count=1000))\n",[36,2044,2045,2052,2056,2066,2074,2093,2105,2124,2132,2136],{"__ignoreMap":276},[287,2046,2047,2049],{"class":289,"line":290},[287,2048,308],{"class":300},[287,2050,2051],{"class":304}," cudaq\n",[287,2053,2054],{"class":289,"line":297},[287,2055,318],{"emptyLinePlaceholder":317},[287,2057,2058,2061,2063],{"class":289,"line":314},[287,2059,2060],{"class":331},"@cudaq",[287,2062,31],{"class":304},[287,2064,2065],{"class":331},"kernel\n",[287,2067,2068,2070,2072],{"class":289,"line":321},[287,2069,949],{"class":300},[287,2071,1366],{"class":331},[287,2073,1369],{"class":304},[287,2075,2076,2079,2081,2084,2087,2089,2091],{"class":289,"line":353},[287,2077,2078],{"class":304},"    qubits ",[287,2080,328],{"class":327},[287,2082,2083],{"class":304}," cudaq.",[287,2085,2086],{"class":331},"qvector",[287,2088,335],{"class":304},[287,2090,339],{"class":338},[287,2092,459],{"class":304},[287,2094,2095,2098,2101,2103],{"class":289,"line":373},[287,2096,2097],{"class":331},"    h",[287,2099,2100],{"class":304},"(qubits[",[287,2102,364],{"class":338},[287,2104,1411],{"class":304},[287,2106,2107,2110,2113,2115,2117,2120,2122],{"class":289,"line":396},[287,2108,2109],{"class":304},"    x.",[287,2111,2112],{"class":331},"ctrl",[287,2114,2100],{"class":304},[287,2116,364],{"class":338},[287,2118,2119],{"class":304},"], qubits[",[287,2121,387],{"class":338},[287,2123,1411],{"class":304},[287,2125,2126,2129],{"class":289,"line":428},[287,2127,2128],{"class":331},"    mz",[287,2130,2131],{"class":304},"(qubits)\n",[287,2133,2134],{"class":289,"line":433},[287,2135,318],{"emptyLinePlaceholder":317},[287,2137,2138,2140,2143,2146,2148,2151,2153,2155],{"class":289,"line":462},[287,2139,488],{"class":327},[287,2141,2142],{"class":304},"(cudaq.",[287,2144,2145],{"class":331},"sample",[287,2147,1541],{"class":304},[287,2149,2150],{"class":450},"shots_count",[287,2152,328],{"class":327},[287,2154,456],{"class":338},[287,2156,2157],{"class":304},"))\n",[248,2159,2161],{"id":2160},"qibo","Qibo",[15,2163,2164,2165,2168,2169,2172,2173,2176],{},"Qibo is an open-source SDK with several simulation backends; its sibling package Qibolab controls lab hardware. Install it with ",[36,2166,2167],{},"pip install qibo","; the current release supports Python 3.10 to 3.13. ",[36,2170,2171],{},"gates.M"," measures, calling the circuit runs it, and ",[36,2174,2175],{},"frequencies()"," returns the counts.",[272,2178,2180],{"name":1272,"tag":2179},"Python · Qibo",[279,2181,2183],{"className":281,"code":2182,"language":283,"meta":276,"style":276},"from qibo import Circuit, gates\n\ncircuit = Circuit(2)\ncircuit.add(gates.H(0))\ncircuit.add(gates.CNOT(0, 1))\ncircuit.add(gates.M(0, 1))\nresult = circuit(nshots=1000)\nprint(result.frequencies())\n",[36,2184,2185,2197,2201,2215,2233,2253,2274,2294],{"__ignoreMap":276},[287,2186,2187,2189,2192,2194],{"class":289,"line":290},[287,2188,301],{"class":300},[287,2190,2191],{"class":304}," qibo ",[287,2193,308],{"class":300},[287,2195,2196],{"class":304}," Circuit, gates\n",[287,2198,2199],{"class":289,"line":297},[287,2200,318],{"emptyLinePlaceholder":317},[287,2202,2203,2205,2207,2209,2211,2213],{"class":289,"line":314},[287,2204,738],{"class":304},[287,2206,328],{"class":327},[287,2208,1493],{"class":331},[287,2210,335],{"class":304},[287,2212,339],{"class":338},[287,2214,459],{"class":304},[287,2216,2217,2219,2222,2225,2227,2229,2231],{"class":289,"line":321},[287,2218,1627],{"class":304},[287,2220,2221],{"class":331},"add",[287,2223,2224],{"class":304},"(gates.",[287,2226,897],{"class":331},[287,2228,335],{"class":304},[287,2230,364],{"class":338},[287,2232,2157],{"class":304},[287,2234,2235,2237,2239,2241,2243,2245,2247,2249,2251],{"class":289,"line":353},[287,2236,1627],{"class":304},[287,2238,2221],{"class":331},[287,2240,2224],{"class":304},[287,2242,907],{"class":331},[287,2244,335],{"class":304},[287,2246,364],{"class":338},[287,2248,342],{"class":304},[287,2250,387],{"class":338},[287,2252,2157],{"class":304},[287,2254,2255,2257,2259,2261,2264,2266,2268,2270,2272],{"class":289,"line":373},[287,2256,1627],{"class":304},[287,2258,2221],{"class":331},[287,2260,2224],{"class":304},[287,2262,2263],{"class":331},"M",[287,2265,335],{"class":304},[287,2267,364],{"class":338},[287,2269,342],{"class":304},[287,2271,387],{"class":338},[287,2273,2157],{"class":304},[287,2275,2276,2278,2280,2283,2285,2288,2290,2292],{"class":289,"line":396},[287,2277,1008],{"class":304},[287,2279,328],{"class":327},[287,2281,2282],{"class":331}," circuit",[287,2284,335],{"class":304},[287,2286,2287],{"class":450},"nshots",[287,2289,328],{"class":327},[287,2291,456],{"class":338},[287,2293,459],{"class":304},[287,2295,2296,2298,2300,2303],{"class":289,"line":428},[287,2297,488],{"class":327},[287,2299,1037],{"class":304},[287,2301,2302],{"class":331},"frequencies",[287,2304,1207],{"class":304},[50,2306,2308],{"id":2307},"research-languages-and-specialist-tools","Research languages and specialist tools",[58,2310,2311,2317,2323,2329,2335],{},[61,2312,2313,2316],{},[64,2314,2315],{},"Qmod"," is Classiq's high-level modeling language. You describe what a function should do, and Classiq's engine synthesizes the gates.",[61,2318,2319,2322],{},[64,2320,2321],{},"Bloqade"," is QuEra's Python SDK for its neutral-atom machines.",[61,2324,2325,2328],{},[64,2326,2327],{},"Stim",", from Google's quantumlib, simulates stabilizer circuits very fast. Stabilizer circuits are a restricted kind used in quantum error correction research.",[61,2330,2331,2334],{},[64,2332,2333],{},"Quipper"," is a functional quantum programming language embedded in Haskell.",[61,2336,2337,2340],{},[64,2338,2339],{},"Silq"," is a typed high-level quantum language from ETH Zurich that cleans up temporary values automatically.",[50,2342,2344],{"id":2343},"questions-people-ask","Questions people ask",[2346,2347,2349],"faq-item",{"q":2348},"Is it worth learning quantum programming?",[15,2350,2351,2352,2356],{},"With Python and three ideas (qubits, gates and measurement), you can write a circuit like the Bell state above. You can then run it on a simulator or a quantum computer. The SDK syntax is the smaller part, as the examples on this page show. ",[22,2353,2355],{"href":2354},"\u002Flearn\u002Fprogramming-your-first-quantum-circuits","Programming your first quantum circuits"," is a free Qollab course that starts from one qubit and runs every step in the Code Playground.",[2346,2358,2360],{"q":2359},"Is C++ used for quantum computing?",[15,2361,2362,2363,2366,2367,2370],{},"Yes. CUDA-Q has a C++ API: kernels marked ",[36,2364,2365],{},"__qpu__"," are compiled with NVIDIA's ",[36,2368,2369],{},"nvq++"," compiler. Q# is a separate language with its own compiler, and its syntax borrows from C# and F#.",[2346,2372,2374],{"q":2373},"Why is most quantum code written in Python?",[15,2375,2376,2377,2379],{},"Python builds the circuit and reads the results; the simulation runs in compiled code or on the quantum computer. Every toolkit in the table above can be driven from Python, including Q# through Microsoft's ",[36,2378,1100],{}," package.",[50,2381,2383],{"id":2382},"a-snapshot-october-2026","A snapshot, October 2026",[15,2385,2386],{},"Versions as checked on 13 October 2026. The four Qollab examples ran in Qollab's playground. The others ran on a local simulator, except pyQuil and Qibo, which are shown as their maintainers document them. Check each toolkit's docs before you install.",[88,2388,2389,2404],{},[91,2390,2391],{},[94,2392,2393,2395,2398,2401],{},[97,2394,99],{},[97,2396,2397],{},"Version",[97,2399,2400],{},"Install",[97,2402,2403],{},"Docs",[107,2405,2406,2425,2442,2462,2482,2498,2515,2532,2553,2570],{},[94,2407,2408,2411,2414,2420],{},[112,2409,2410],{},"Qiskit",[112,2412,2413],{},"2.5.2",[112,2415,2416,2417],{},"in every Qollab project; ",[36,2418,2419],{},"pip install qiskit",[112,2421,2422],{},[22,2423,2410],{"href":2424},"https:\u002F\u002Fgithub.com\u002FQiskit\u002Fqiskit",[94,2426,2427,2429,2432,2437],{},[112,2428,639],{},[112,2430,2431],{},"0.6.0",[112,2433,2434,2436],{},[36,2435,643],{}," on Qollab",[112,2438,2439],{},[22,2440,639],{"href":2441},"https:\u002F\u002Fpypi.org\u002Fproject\u002Fqiskit-qasm3-import\u002F",[94,2443,2444,2446,2449,2457],{},[112,2445,800],{},[112,2447,2448],{},"1.7.0",[112,2450,2451,2453,2454],{},[36,2452,643],{}," on Qollab; ",[36,2455,2456],{},"pip install cirq-core",[112,2458,2459],{},[22,2460,800],{"href":2461},"https:\u002F\u002Fquantumai.google\u002Fcirq",[94,2463,2464,2467,2470,2476],{},[112,2465,2466],{},"Q# (QDK)",[112,2468,2469],{},"1.33.1",[112,2471,2472,2473,2475],{},"Python: ",[36,2474,1084],{},"; VS Code: the QDK extension",[112,2477,2478],{},[22,2479,2481],{"href":2480},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquantum\u002Fqsharp-quickstart","Q# quickstart",[94,2483,2484,2486,2489,2493],{},[112,2485,1243],{},[112,2487,2488],{},"0.45.1",[112,2490,2491],{},[36,2492,1249],{},[112,2494,2495],{},[22,2496,1261],{"href":2497},"https:\u002F\u002Fdocs.pennylane.ai\u002Fen\u002Fstable\u002Fcode\u002Fapi\u002Fpennylane.set_shots.html",[94,2499,2500,2502,2505,2509],{},[112,2501,1441],{},[112,2503,2504],{},"1.127.3.post0",[112,2506,2507],{},[36,2508,1447],{},[112,2510,2511],{},[22,2512,2514],{"href":2513},"https:\u002F\u002Fgithub.com\u002Famazon-braket\u002Famazon-braket-sdk-python","Braket SDK",[94,2516,2517,2520,2523,2527],{},[112,2518,2519],{},"pytket, pytket-qiskit",[112,2521,2522],{},"2.18.5, 0.78.0",[112,2524,2525],{},[36,2526,1569],{},[112,2528,2529],{},[22,2530,1563],{"href":2531},"https:\u002F\u002Fdocs.quantinuum.com\u002Ftket\u002F",[94,2533,2534,2536,2539,2548],{},[112,2535,1708],{},[112,2537,2538],{},"4.22.0",[112,2540,2541,2543,2544,516,2546],{},[36,2542,1714],{},", plus ",[36,2545,1718],{},[36,2547,1726],{},[112,2549,2550],{},[22,2551,1708],{"href":2552},"https:\u002F\u002Fpyquil-docs.rigetti.com\u002F",[94,2554,2555,2557,2560,2564],{},[112,2556,2020],{},[112,2558,2559],{},"0.16.0",[112,2561,2562],{},[36,2563,2035],{},[112,2565,2566],{},[22,2567,2569],{"href":2568},"https:\u002F\u002Fnvidia.github.io\u002Fcuda-quantum\u002Flatest\u002Fusing\u002Fquick_start.html","CUDA-Q quick start",[94,2571,2572,2574,2577,2581],{},[112,2573,2161],{},[112,2575,2576],{},"0.3.5",[112,2578,2579],{},[36,2580,2167],{},[112,2582,2583],{},[22,2584,2161],{"href":2585},"https:\u002F\u002Fgithub.com\u002Fqiboteam\u002Fqibo",[50,2587,2589],{"id":2588},"related","Related",[58,2591,2592,2596,2602,2606,2612],{},[61,2593,2594],{},[22,2595,2355],{"href":2354},[61,2597,2598],{},[22,2599,2601],{"href":2600},"\u002Flearn\u002Fquantum-computing-with-python","Quantum computing with Python",[61,2603,2604],{},[22,2605,542],{"href":541},[61,2607,2608],{},[22,2609,2611],{"href":2610},"\u002Flearn\u002Fdocs\u002Fcompute-backends","Compute backends",[61,2613,2614],{},[22,2615,2617],{"href":2616},"\u002Fexplore\u002Fbuy-a-quantum-computer","Can you buy a quantum computer?",[2619,2620,2621],"style",{},"html pre.shiki code .sV9Aq, html code.shiki .sV9Aq{--shiki-default:#7F848E;--shiki-default-font-style:italic}html pre.shiki code .seHd6, html code.shiki .seHd6{--shiki-default:#C678DD}html pre.shiki code .sn6KH, html code.shiki .sn6KH{--shiki-default:#ABB2BF}html pre.shiki code .sjrmR, html code.shiki .sjrmR{--shiki-default:#56B6C2}html pre.shiki code .sVbv2, html code.shiki .sVbv2{--shiki-default:#61AFEF}html pre.shiki code .sVC51, html code.shiki .sVC51{--shiki-default:#D19A66}html pre.shiki code .s_ZVi, html code.shiki .s_ZVi{--shiki-default:#E06C75;--shiki-default-font-style:italic}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .subq3, html code.shiki .subq3{--shiki-default:#98C379}html pre.shiki code .sb9H8, html code.shiki .sb9H8{--shiki-default:#D19A66;--shiki-default-font-style:italic}",{"title":276,"searchDepth":297,"depth":297,"links":2623},[2624,2625,2626,2627,2633,2642,2643,2644,2645],{"id":52,"depth":297,"text":53},{"id":85,"depth":297,"text":86},{"id":216,"depth":297,"text":217},{"id":229,"depth":297,"text":230,"children":2628},[2629,2630,2631,2632],{"id":250,"depth":314,"text":251},{"id":508,"depth":314,"text":509},{"id":628,"depth":314,"text":629},{"id":799,"depth":314,"text":800},{"id":1061,"depth":297,"text":1062,"children":2634},[2635,2636,2637,2638,2639,2640,2641],{"id":1073,"depth":314,"text":1074},{"id":1242,"depth":314,"text":1243},{"id":1440,"depth":314,"text":1441},{"id":1563,"depth":314,"text":1563},{"id":1707,"depth":314,"text":1708},{"id":2019,"depth":314,"text":2020},{"id":2160,"depth":314,"text":2161},{"id":2307,"depth":297,"text":2308},{"id":2343,"depth":297,"text":2344},{"id":2382,"depth":297,"text":2383},{"id":2588,"depth":297,"text":2589},[2647,2648,72],"Qollab","Explore",[],{"username":7,"name":2651,"role":2652,"avatar":2653},"Nicolaas Spijker","Community manager, Qollab","\u002F_content\u002Fimages\u002Fbuilders\u002Fnicolaas-spijker.webp",null,"The same two-qubit Bell state in Qiskit, Cirq, OpenQASM, Q#, PennyLane and five more toolkits. The ones Qollab runs in your browser come first.","Qiskit, Cirq, PennyLane, Q#, OpenQASM and five more toolkits compared on one Bell state. The Qiskit, OpenQASM and Cirq versions run in your browser on Qollab.",false,"md","article",{},"\u002F_content\u002Fimages\u002Fquantum-programming-languages\u002Fog.png","\u002Fblog\u002Fquantum-programming-languages","2026-10-13","10 min read",[],"guides",{"title":2668,"description":2656},"Quantum Programming Languages Compared, With Code You Can Run","blog\u002Fquantum-programming-languages",[2666,2671,2672],"programming","sdks","0YuRqGGBWDvKZV6miajwdMdY_DA56wcZaYbEbBkaz_4",[2675,4713],{"id":4,"title":5,"authors":2676,"body":2677,"breadcrumb":4706,"builders":4707,"byline":4708,"category":2654,"categoryName":2654,"challenge":2654,"courseAuthor":2654,"courseLead":2654,"dek":2655,"description":2656,"draft":2657,"extension":2658,"eyebrow":2654,"featured":2657,"finish":2654,"fork":2654,"group":2654,"groupName":2654,"hero":2654,"heroAlt":2654,"heroCta":2654,"heroImage":2654,"homepageFeatured":2657,"kind":2659,"lessonCount":2654,"meta":4709,"navigation":317,"newsItems":2654,"next":2654,"ogImage":2661,"order":2654,"outcomes":2654,"path":2662,"prerequisite":2654,"prerequisiteLinks":2654,"publishDate":2663,"readingTime":2664,"related":4710,"relatedProjects":2654,"section":2666,"seo":4711,"spotlight":2657,"stem":2669,"tags":4712,"track":2654,"trackName":2654,"updates":2654,"__hash__":2673},[7],{"type":9,"value":2678,"toc":4682},[2679,2689,2697,2699,2701,2715,2717,2719,2813,2815,2817,2819,2821,2823,2831,2833,2835,2845,2995,3003,3005,3023,3085,3087,3099,3219,3221,3237,3427,3429,3433,3435,3451,3458,3466,3554,3556,3570,3716,3718,3722,3822,3824,3830,3946,3948,3968,4202,4204,4214,4316,4318,4326,4444,4446,4468,4470,4476,4484,4490,4492,4494,4656,4658,4680],[12,2680,2681,2683],{},[15,2682,17],{},[15,2684,20,2685,26,2687,31],{},[22,2686,25],{"href":24},[22,2688,30],{"href":29},[15,2690,34,2691,39,2693,43,2695,48],{},[36,2692,38],{},[36,2694,42],{},[22,2696,47],{"href":46},[50,2698,53],{"id":52},[15,2700,56],{},[58,2702,2703,2707,2711],{},[61,2704,2705,67],{},[64,2706,66],{},[61,2708,2709,73],{},[64,2710,72],{},[61,2712,2713,79],{},[64,2714,78],{},[15,2716,82],{},[50,2718,86],{"id":85},[88,2720,2721,2731],{},[91,2722,2723],{},[94,2724,2725,2727,2729],{},[97,2726,99],{},[97,2728,102],{},[97,2730,105],{},[107,2732,2733,2741,2749,2757,2765,2773,2781,2789,2797,2805],{},[94,2734,2735,2737,2739],{},[112,2736,114],{},[112,2738,117],{},[112,2740,120],{},[94,2742,2743,2745,2747],{},[112,2744,125],{},[112,2746,128],{},[112,2748,131],{},[94,2750,2751,2753,2755],{},[112,2752,136],{},[112,2754,139],{},[112,2756,142],{},[94,2758,2759,2761,2763],{},[112,2760,147],{},[112,2762,150],{},[112,2764,153],{},[94,2766,2767,2769,2771],{},[112,2768,158],{},[112,2770,161],{},[112,2772,153],{},[94,2774,2775,2777,2779],{},[112,2776,168],{},[112,2778,171],{},[112,2780,153],{},[94,2782,2783,2785,2787],{},[112,2784,178],{},[112,2786,181],{},[112,2788,153],{},[94,2790,2791,2793,2795],{},[112,2792,188],{},[112,2794,191],{},[112,2796,153],{},[94,2798,2799,2801,2803],{},[112,2800,198],{},[112,2802,201],{},[112,2804,153],{},[94,2806,2807,2809,2811],{},[112,2808,208],{},[112,2810,211],{},[112,2812,153],{},[50,2814,217],{"id":216},[15,2816,220],{},[15,2818,223],{},[15,2820,226],{},[50,2822,230],{"id":229},[15,2824,2825,236,2827,239,2829,243],{},[64,2826,235],{},[64,2828,235],{},[64,2830,242],{},[15,2832,246],{},[248,2834,251],{"id":250},[15,2836,254,2837,258,2839,263,2841,267,2843,31],{},[36,2838,257],{},[22,2840,262],{"href":261},[36,2842,266],{},[36,2844,270],{},[272,2846,2847],{"name":274,"tag":275,"no-picker":276,"run-href":277},[279,2848,2849],{"className":281,"code":282,"language":283,"meta":276,"style":276},[36,2850,2851,2855,2865,2869,2889,2903,2921,2947,2951,2971,2987],{"__ignoreMap":276},[287,2852,2853],{"class":289,"line":290},[287,2854,294],{"class":293},[287,2856,2857,2859,2861,2863],{"class":289,"line":297},[287,2858,301],{"class":300},[287,2860,305],{"class":304},[287,2862,308],{"class":300},[287,2864,311],{"class":304},[287,2866,2867],{"class":289,"line":314},[287,2868,318],{"emptyLinePlaceholder":317},[287,2870,2871,2873,2875,2877,2879,2881,2883,2885,2887],{"class":289,"line":321},[287,2872,324],{"class":304},[287,2874,328],{"class":327},[287,2876,332],{"class":331},[287,2878,335],{"class":304},[287,2880,339],{"class":338},[287,2882,342],{"class":304},[287,2884,339],{"class":338},[287,2886,347],{"class":304},[287,2888,350],{"class":293},[287,2890,2891,2893,2895,2897,2899,2901],{"class":289,"line":353},[287,2892,356],{"class":304},[287,2894,359],{"class":331},[287,2896,335],{"class":304},[287,2898,364],{"class":338},[287,2900,367],{"class":304},[287,2902,370],{"class":293},[287,2904,2905,2907,2909,2911,2913,2915,2917,2919],{"class":289,"line":373},[287,2906,356],{"class":304},[287,2908,378],{"class":331},[287,2910,335],{"class":304},[287,2912,364],{"class":338},[287,2914,342],{"class":304},[287,2916,387],{"class":338},[287,2918,390],{"class":304},[287,2920,393],{"class":293},[287,2922,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941,2943,2945],{"class":289,"line":396},[287,2924,356],{"class":304},[287,2926,401],{"class":331},[287,2928,404],{"class":304},[287,2930,364],{"class":338},[287,2932,342],{"class":304},[287,2934,387],{"class":338},[287,2936,413],{"class":304},[287,2938,364],{"class":338},[287,2940,342],{"class":304},[287,2942,387],{"class":338},[287,2944,422],{"class":304},[287,2946,425],{"class":293},[287,2948,2949],{"class":289,"line":428},[287,2950,318],{"emptyLinePlaceholder":317},[287,2952,2953,2955,2957,2959,2961,2963,2965,2967,2969],{"class":289,"line":433},[287,2954,436],{"class":304},[287,2956,328],{"class":327},[287,2958,441],{"class":304},[287,2960,444],{"class":331},[287,2962,447],{"class":304},[287,2964,451],{"class":450},[287,2966,328],{"class":327},[287,2968,456],{"class":338},[287,2970,459],{"class":304},[287,2972,2973,2975,2977,2979,2981,2983,2985],{"class":289,"line":462},[287,2974,465],{"class":304},[287,2976,328],{"class":327},[287,2978,470],{"class":304},[287,2980,473],{"class":331},[287,2982,476],{"class":304},[287,2984,479],{"class":331},[287,2986,482],{"class":304},[287,2988,2989,2991,2993],{"class":289,"line":485},[287,2990,488],{"class":327},[287,2992,491],{"class":304},[287,2994,494],{"class":293},[15,2996,2997,500,2999,503,3001,31],{},[36,2998,499],{},[36,3000,38],{},[36,3002,42],{},[248,3004,509],{"id":508},[15,3006,512,3007,516,3009,520,3011,523,3013,527,3015,342,3017,534,3019,538,3021,543],{},[36,3008,515],{},[36,3010,519],{},[36,3012,519],{},[36,3014,526],{},[36,3016,530],{},[36,3018,533],{},[36,3020,537],{},[22,3022,542],{"href":541},[272,3024,3025],{"name":519,"tag":546,"no-picker":276,"run-href":547},[279,3026,3027],{"className":550,"code":551,"language":552,"meta":276,"style":276},[36,3028,3029,3033,3037,3041,3045,3049,3053,3057,3061,3065,3069,3073,3077,3081],{"__ignoreMap":276},[287,3030,3031],{"class":289,"line":290},[287,3032,559],{},[287,3034,3035],{"class":289,"line":297},[287,3036,564],{},[287,3038,3039],{"class":289,"line":314},[287,3040,569],{},[287,3042,3043],{"class":289,"line":321},[287,3044,318],{"emptyLinePlaceholder":317},[287,3046,3047],{"class":289,"line":353},[287,3048,578],{},[287,3050,3051],{"class":289,"line":373},[287,3052,583],{},[287,3054,3055],{"class":289,"line":396},[287,3056,588],{},[287,3058,3059],{"class":289,"line":428},[287,3060,593],{},[287,3062,3063],{"class":289,"line":433},[287,3064,318],{"emptyLinePlaceholder":317},[287,3066,3067],{"class":289,"line":462},[287,3068,602],{},[287,3070,3071],{"class":289,"line":485},[287,3072,607],{},[287,3074,3075],{"class":289,"line":610},[287,3076,613],{},[287,3078,3079],{"class":289,"line":616},[287,3080,619],{},[287,3082,3083],{"class":289,"line":622},[287,3084,625],{},[248,3086,629],{"id":628},[15,3088,632,3089,636,3091,640,3093,644,3095,648,3097,31],{},[36,3090,635],{},[36,3092,639],{},[36,3094,643],{},[36,3096,647],{},[36,3098,257],{},[272,3100,3101],{"name":274,"tag":653,"no-picker":276,"run-href":654},[279,3102,3103],{"className":281,"code":657,"language":283,"meta":276,"style":276},[36,3104,3105,3109,3119,3123,3131,3135,3139,3143,3147,3151,3155,3159,3163,3167,3179,3185,3213],{"__ignoreMap":276},[287,3106,3107],{"class":289,"line":290},[287,3108,294],{"class":293},[287,3110,3111,3113,3115,3117],{"class":289,"line":297},[287,3112,301],{"class":300},[287,3114,305],{"class":304},[287,3116,308],{"class":300},[287,3118,674],{"class":304},[287,3120,3121],{"class":289,"line":314},[287,3122,318],{"emptyLinePlaceholder":317},[287,3124,3125,3127,3129],{"class":289,"line":321},[287,3126,683],{"class":304},[287,3128,328],{"class":327},[287,3130,689],{"class":688},[287,3132,3133],{"class":289,"line":353},[287,3134,694],{"class":688},[287,3136,3137],{"class":289,"line":373},[287,3138,699],{"class":688},[287,3140,3141],{"class":289,"line":396},[287,3142,704],{"class":688},[287,3144,3145],{"class":289,"line":428},[287,3146,709],{"class":688},[287,3148,3149],{"class":289,"line":433},[287,3150,714],{"class":688},[287,3152,3153],{"class":289,"line":462},[287,3154,719],{"class":688},[287,3156,3157],{"class":289,"line":485},[287,3158,724],{"class":688},[287,3160,3161],{"class":289,"line":610},[287,3162,729],{"class":688},[287,3164,3165],{"class":289,"line":616},[287,3166,318],{"emptyLinePlaceholder":317},[287,3168,3169,3171,3173,3175,3177],{"class":289,"line":622},[287,3170,738],{"class":304},[287,3172,328],{"class":327},[287,3174,743],{"class":304},[287,3176,746],{"class":331},[287,3178,749],{"class":304},[287,3180,3181,3183],{"class":289,"line":752},[287,3182,488],{"class":327},[287,3184,757],{"class":304},[287,3186,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211],{"class":289,"line":760},[287,3188,465],{"class":304},[287,3190,328],{"class":327},[287,3192,441],{"class":304},[287,3194,444],{"class":331},[287,3196,771],{"class":304},[287,3198,451],{"class":450},[287,3200,328],{"class":327},[287,3202,456],{"class":338},[287,3204,780],{"class":304},[287,3206,473],{"class":331},[287,3208,476],{"class":304},[287,3210,479],{"class":331},[287,3212,482],{"class":304},[287,3214,3215,3217],{"class":289,"line":791},[287,3216,488],{"class":327},[287,3218,796],{"class":304},[248,3220,800],{"id":799},[15,3222,803,3223,806,3225,810,3227,813,3229,817,3231,821,3233,516,3235,31],{},[36,3224,643],{},[36,3226,809],{},[36,3228,257],{},[36,3230,816],{},[36,3232,820],{},[36,3234,38],{},[36,3236,42],{},[272,3238,3239],{"name":274,"tag":828,"no-picker":276,"run-href":829},[279,3240,3241],{"className":281,"code":832,"language":283,"meta":276,"style":276},[36,3242,3243,3247,3251,3257,3261,3277,3289,3297,3305,3321,3325,3331,3335,3347,3375,3379,3403],{"__ignoreMap":276},[287,3244,3245],{"class":289,"line":290},[287,3246,839],{"class":293},[287,3248,3249],{"class":289,"line":297},[287,3250,844],{"class":293},[287,3252,3253,3255],{"class":289,"line":314},[287,3254,308],{"class":300},[287,3256,851],{"class":304},[287,3258,3259],{"class":289,"line":321},[287,3260,318],{"emptyLinePlaceholder":317},[287,3262,3263,3265,3267,3269,3271,3273,3275],{"class":289,"line":353},[287,3264,860],{"class":304},[287,3266,328],{"class":327},[287,3268,865],{"class":304},[287,3270,868],{"class":331},[287,3272,335],{"class":304},[287,3274,339],{"class":338},[287,3276,459],{"class":304},[287,3278,3279,3281,3283,3285,3287],{"class":289,"line":373},[287,3280,738],{"class":304},[287,3282,328],{"class":327},[287,3284,883],{"class":304},[287,3286,886],{"class":331},[287,3288,889],{"class":304},[287,3290,3291,3293,3295],{"class":289,"line":396},[287,3292,894],{"class":304},[287,3294,897],{"class":331},[287,3296,900],{"class":304},[287,3298,3299,3301,3303],{"class":289,"line":428},[287,3300,894],{"class":304},[287,3302,907],{"class":331},[287,3304,910],{"class":304},[287,3306,3307,3309,3311,3313,3315,3317,3319],{"class":289,"line":433},[287,3308,894],{"class":304},[287,3310,401],{"class":331},[287,3312,919],{"class":304},[287,3314,922],{"class":450},[287,3316,328],{"class":327},[287,3318,927],{"class":688},[287,3320,930],{"class":304},[287,3322,3323],{"class":289,"line":462},[287,3324,459],{"class":304},[287,3326,3327,3329],{"class":289,"line":485},[287,3328,488],{"class":327},[287,3330,757],{"class":304},[287,3332,3333],{"class":289,"line":610},[287,3334,318],{"emptyLinePlaceholder":317},[287,3336,3337,3339,3341,3343,3345],{"class":289,"line":616},[287,3338,949],{"class":300},[287,3340,952],{"class":331},[287,3342,335],{"class":304},[287,3344,958],{"class":957},[287,3346,961],{"class":304},[287,3348,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373],{"class":289,"line":622},[287,3350,966],{"class":300},[287,3352,969],{"class":688},[287,3354,31],{"class":304},[287,3356,974],{"class":331},[287,3358,335],{"class":304},[287,3360,979],{"class":327},[287,3362,335],{"class":304},[287,3364,984],{"class":327},[287,3366,987],{"class":304},[287,3368,990],{"class":300},[287,3370,993],{"class":304},[287,3372,996],{"class":300},[287,3374,999],{"class":304},[287,3376,3377],{"class":289,"line":752},[287,3378,318],{"emptyLinePlaceholder":317},[287,3380,3381,3383,3385,3387,3389,3391,3393,3395,3397,3399,3401],{"class":289,"line":760},[287,3382,1008],{"class":304},[287,3384,328],{"class":327},[287,3386,883],{"class":304},[287,3388,1015],{"class":331},[287,3390,476],{"class":304},[287,3392,444],{"class":331},[287,3394,771],{"class":304},[287,3396,1024],{"class":450},[287,3398,328],{"class":327},[287,3400,456],{"class":338},[287,3402,459],{"class":304},[287,3404,3405,3407,3409,3411,3413,3415,3417,3419,3421,3423,3425],{"class":289,"line":791},[287,3406,488],{"class":327},[287,3408,1037],{"class":304},[287,3410,1040],{"class":331},[287,3412,335],{"class":304},[287,3414,922],{"class":450},[287,3416,328],{"class":327},[287,3418,927],{"class":688},[287,3420,342],{"class":304},[287,3422,1053],{"class":450},[287,3424,328],{"class":327},[287,3426,1058],{"class":304},[50,3428,1062],{"id":1061},[15,3430,1065,3431,1070],{},[22,3432,1069],{"href":1068},[248,3434,1074],{"id":1073},[15,3436,1077,3437,1081,3439,1085,3441,1089,3443,1093,3445,1097,3447,1101,3449,1105],{},[36,3438,1080],{},[36,3440,1084],{},[64,3442,1088],{},[36,3444,1092],{},[36,3446,1096],{},[36,3448,1100],{},[36,3450,1104],{},[272,3452,3453],{"name":1108,"tag":1109},[279,3454,3456],{"className":3455,"code":1114,"language":1115,"meta":276},[1113],[36,3457,1114],{"__ignoreMap":276},[15,3459,1120,3460,1124,3462,1128,3464,1132],{},[36,3461,1123],{},[36,3463,1127],{},[36,3465,1131],{},[272,3467,3468],{"name":1135,"tag":1136},[279,3469,3470],{"className":281,"code":1139,"language":283,"meta":276,"style":276},[36,3471,3472,3482,3492,3502,3506,3526],{"__ignoreMap":276},[287,3473,3474,3476,3478,3480],{"class":289,"line":290},[287,3475,301],{"class":300},[287,3477,1148],{"class":304},[287,3479,308],{"class":300},[287,3481,1153],{"class":304},[287,3483,3484,3486,3488,3490],{"class":289,"line":297},[287,3485,301],{"class":300},[287,3487,1160],{"class":304},[287,3489,308],{"class":300},[287,3491,1165],{"class":304},[287,3493,3494,3496,3498,3500],{"class":289,"line":314},[287,3495,301],{"class":300},[287,3497,1172],{"class":304},[287,3499,308],{"class":300},[287,3501,1177],{"class":304},[287,3503,3504],{"class":289,"line":321},[287,3505,318],{"emptyLinePlaceholder":317},[287,3507,3508,3510,3512,3514,3516,3518,3520,3522,3524],{"class":289,"line":353},[287,3509,1186],{"class":304},[287,3511,1189],{"class":331},[287,3513,335],{"class":304},[287,3515,1194],{"class":331},[287,3517,335],{"class":304},[287,3519,1199],{"class":688},[287,3521,780],{"class":304},[287,3523,1204],{"class":331},[287,3525,1207],{"class":304},[287,3527,3528,3530,3532,3534,3536,3538,3540,3542,3544,3546,3548,3550,3552],{"class":289,"line":373},[287,3529,488],{"class":327},[287,3531,335],{"class":304},[287,3533,1131],{"class":331},[287,3535,1218],{"class":304},[287,3537,444],{"class":331},[287,3539,335],{"class":304},[287,3541,1225],{"class":688},[287,3543,342],{"class":304},[287,3545,451],{"class":450},[287,3547,328],{"class":327},[287,3549,456],{"class":338},[287,3551,1236],{"class":304},[287,3553,1239],{"class":293},[248,3555,1243],{"id":1242},[15,3557,1246,3558,1250,3560,1254,3562,1258,3564,1262,3566,1266,3568,31],{},[36,3559,1249],{},[36,3561,1253],{},[36,3563,1257],{},[36,3565,1261],{},[36,3567,1265],{},[36,3569,1269],{},[272,3571,3572],{"name":1272,"tag":1273},[279,3573,3574],{"className":281,"code":1276,"language":283,"meta":276,"style":276},[36,3575,3576,3586,3590,3614,3618,3632,3646,3654,3670,3692,3702,3706],{"__ignoreMap":276},[287,3577,3578,3580,3582,3584],{"class":289,"line":290},[287,3579,308],{"class":300},[287,3581,1285],{"class":304},[287,3583,1288],{"class":300},[287,3585,1291],{"class":304},[287,3587,3588],{"class":289,"line":297},[287,3589,318],{"emptyLinePlaceholder":317},[287,3591,3592,3594,3596,3598,3600,3602,3604,3606,3608,3610,3612],{"class":289,"line":314},[287,3593,1300],{"class":304},[287,3595,328],{"class":327},[287,3597,1305],{"class":304},[287,3599,1308],{"class":331},[287,3601,335],{"class":304},[287,3603,1313],{"class":688},[287,3605,342],{"class":304},[287,3607,1318],{"class":450},[287,3609,328],{"class":327},[287,3611,339],{"class":338},[287,3613,459],{"class":304},[287,3615,3616],{"class":289,"line":321},[287,3617,318],{"emptyLinePlaceholder":317},[287,3619,3620,3622,3624,3626,3628,3630],{"class":289,"line":353},[287,3621,1333],{"class":331},[287,3623,31],{"class":304},[287,3625,1261],{"class":331},[287,3627,335],{"class":304},[287,3629,456],{"class":338},[287,3631,459],{"class":304},[287,3633,3634,3636,3638,3640,3642,3644],{"class":289,"line":373},[287,3635,1333],{"class":331},[287,3637,31],{"class":304},[287,3639,1352],{"class":331},[287,3641,335],{"class":304},[287,3643,1357],{"class":331},[287,3645,459],{"class":304},[287,3647,3648,3650,3652],{"class":289,"line":396},[287,3649,949],{"class":300},[287,3651,1366],{"class":331},[287,3653,1369],{"class":304},[287,3655,3656,3658,3660,3662,3664,3666,3668],{"class":289,"line":428},[287,3657,1374],{"class":304},[287,3659,1377],{"class":331},[287,3661,335],{"class":304},[287,3663,1318],{"class":450},[287,3665,328],{"class":327},[287,3667,364],{"class":338},[287,3669,459],{"class":304},[287,3671,3672,3674,3676,3678,3680,3682,3684,3686,3688,3690],{"class":289,"line":433},[287,3673,1374],{"class":304},[287,3675,907],{"class":331},[287,3677,335],{"class":304},[287,3679,1318],{"class":450},[287,3681,328],{"class":327},[287,3683,1402],{"class":304},[287,3685,364],{"class":338},[287,3687,342],{"class":304},[287,3689,387],{"class":338},[287,3691,1411],{"class":304},[287,3693,3694,3696,3698,3700],{"class":289,"line":462},[287,3695,966],{"class":300},[287,3697,1305],{"class":304},[287,3699,1420],{"class":331},[287,3701,482],{"class":304},[287,3703,3704],{"class":289,"line":485},[287,3705,318],{"emptyLinePlaceholder":317},[287,3707,3708,3710,3712,3714],{"class":289,"line":610},[287,3709,488],{"class":327},[287,3711,335],{"class":304},[287,3713,1435],{"class":331},[287,3715,1207],{"class":304},[248,3717,1441],{"id":1440},[15,3719,1444,3720,1448],{},[36,3721,1447],{},[272,3723,3724],{"name":1272,"tag":1451},[279,3725,3726],{"className":281,"code":1454,"language":283,"meta":276,"style":276},[36,3727,3728,3738,3748,3752,3762,3774,3790,3816],{"__ignoreMap":276},[287,3729,3730,3732,3734,3736],{"class":289,"line":290},[287,3731,301],{"class":300},[287,3733,1463],{"class":304},[287,3735,308],{"class":300},[287,3737,1468],{"class":304},[287,3739,3740,3742,3744,3746],{"class":289,"line":297},[287,3741,301],{"class":300},[287,3743,1475],{"class":304},[287,3745,308],{"class":300},[287,3747,1480],{"class":304},[287,3749,3750],{"class":289,"line":314},[287,3751,318],{"emptyLinePlaceholder":317},[287,3753,3754,3756,3758,3760],{"class":289,"line":321},[287,3755,683],{"class":304},[287,3757,328],{"class":327},[287,3759,1493],{"class":331},[287,3761,482],{"class":304},[287,3763,3764,3766,3768,3770,3772],{"class":289,"line":353},[287,3765,1500],{"class":304},[287,3767,359],{"class":331},[287,3769,335],{"class":304},[287,3771,364],{"class":338},[287,3773,459],{"class":304},[287,3775,3776,3778,3780,3782,3784,3786,3788],{"class":289,"line":373},[287,3777,1500],{"class":304},[287,3779,1515],{"class":331},[287,3781,335],{"class":304},[287,3783,364],{"class":338},[287,3785,342],{"class":304},[287,3787,387],{"class":338},[287,3789,459],{"class":304},[287,3791,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814],{"class":289,"line":396},[287,3793,1008],{"class":304},[287,3795,328],{"class":327},[287,3797,1534],{"class":331},[287,3799,476],{"class":304},[287,3801,444],{"class":331},[287,3803,1541],{"class":304},[287,3805,451],{"class":450},[287,3807,328],{"class":327},[287,3809,456],{"class":338},[287,3811,780],{"class":304},[287,3813,473],{"class":331},[287,3815,482],{"class":304},[287,3817,3818,3820],{"class":289,"line":428},[287,3819,488],{"class":327},[287,3821,1560],{"class":304},[248,3823,1563],{"id":1563},[15,3825,1566,3826,43,3828,1573],{},[36,3827,1569],{},[36,3829,1572],{},[272,3831,3832],{"name":1272,"tag":1576},[279,3833,3834],{"className":281,"code":1579,"language":283,"meta":276,"style":276},[36,3835,3836,3846,3856,3860,3874,3886,3902,3912,3934],{"__ignoreMap":276},[287,3837,3838,3840,3842,3844],{"class":289,"line":290},[287,3839,301],{"class":300},[287,3841,1588],{"class":304},[287,3843,308],{"class":300},[287,3845,1468],{"class":304},[287,3847,3848,3850,3852,3854],{"class":289,"line":297},[287,3849,301],{"class":300},[287,3851,1599],{"class":304},[287,3853,308],{"class":300},[287,3855,1604],{"class":304},[287,3857,3858],{"class":289,"line":314},[287,3859,318],{"emptyLinePlaceholder":317},[287,3861,3862,3864,3866,3868,3870,3872],{"class":289,"line":321},[287,3863,738],{"class":304},[287,3865,328],{"class":327},[287,3867,1493],{"class":331},[287,3869,335],{"class":304},[287,3871,339],{"class":338},[287,3873,459],{"class":304},[287,3875,3876,3878,3880,3882,3884],{"class":289,"line":353},[287,3877,1627],{"class":304},[287,3879,897],{"class":331},[287,3881,335],{"class":304},[287,3883,364],{"class":338},[287,3885,459],{"class":304},[287,3887,3888,3890,3892,3894,3896,3898,3900],{"class":289,"line":373},[287,3889,1627],{"class":304},[287,3891,1642],{"class":331},[287,3893,335],{"class":304},[287,3895,364],{"class":338},[287,3897,342],{"class":304},[287,3899,387],{"class":338},[287,3901,459],{"class":304},[287,3903,3904,3906,3908,3910],{"class":289,"line":396},[287,3905,1627],{"class":304},[287,3907,1659],{"class":331},[287,3909,1662],{"class":304},[287,3911,1665],{"class":293},[287,3913,3914,3916,3918,3920,3922,3924,3926,3928,3930,3932],{"class":289,"line":428},[287,3915,1008],{"class":304},[287,3917,328],{"class":327},[287,3919,1674],{"class":331},[287,3921,476],{"class":304},[287,3923,1679],{"class":331},[287,3925,771],{"class":304},[287,3927,1684],{"class":450},[287,3929,328],{"class":327},[287,3931,456],{"class":338},[287,3933,459],{"class":304},[287,3935,3936,3938,3940,3942,3944],{"class":289,"line":433},[287,3937,488],{"class":327},[287,3939,1037],{"class":304},[287,3941,479],{"class":331},[287,3943,1701],{"class":304},[287,3945,1704],{"class":293},[248,3947,1708],{"id":1707},[15,3949,1711,3950,1715,3952,1719,3954,1723,3956,1727,3958,1731,3960,1736,3962,1740,3964,1744,3966,1747],{},[36,3951,1714],{},[36,3953,1718],{},[36,3955,1722],{},[36,3957,1726],{},[36,3959,1730],{},[22,3961,1735],{"href":1734},[36,3963,1739],{},[36,3965,1743],{},[36,3967,1131],{},[272,3969,3970],{"name":1272,"tag":1750},[279,3971,3972],{"className":281,"code":1753,"language":283,"meta":276,"style":276},[36,3973,3974,3984,3994,4008,4018,4022,4032,4050,4060,4074,4092,4110,4122,4126,4140,4168],{"__ignoreMap":276},[287,3975,3976,3978,3980,3982],{"class":289,"line":290},[287,3977,301],{"class":300},[287,3979,1148],{"class":304},[287,3981,308],{"class":300},[287,3983,1153],{"class":304},[287,3985,3986,3988,3990,3992],{"class":289,"line":297},[287,3987,301],{"class":300},[287,3989,1772],{"class":304},[287,3991,308],{"class":300},[287,3993,1777],{"class":304},[287,3995,3996,3998,4000,4002,4004,4006],{"class":289,"line":314},[287,3997,301],{"class":300},[287,3999,1784],{"class":304},[287,4001,308],{"class":300},[287,4003,1789],{"class":338},[287,4005,1792],{"class":304},[287,4007,1795],{"class":338},[287,4009,4010,4012,4014,4016],{"class":289,"line":321},[287,4011,301],{"class":300},[287,4013,1802],{"class":304},[287,4015,308],{"class":300},[287,4017,1807],{"class":304},[287,4019,4020],{"class":289,"line":353},[287,4021,318],{"emptyLinePlaceholder":317},[287,4023,4024,4026,4028,4030],{"class":289,"line":373},[287,4025,1816],{"class":304},[287,4027,328],{"class":327},[287,4029,1821],{"class":331},[287,4031,889],{"class":304},[287,4033,4034,4036,4038,4040,4042,4044,4046,4048],{"class":289,"line":396},[287,4035,1828],{"class":331},[287,4037,335],{"class":304},[287,4039,1833],{"class":688},[287,4041,342],{"class":304},[287,4043,1838],{"class":688},[287,4045,342],{"class":304},[287,4047,339],{"class":338},[287,4049,930],{"class":304},[287,4051,4052,4054,4056,4058],{"class":289,"line":428},[287,4053,1849],{"class":331},[287,4055,335],{"class":304},[287,4057,364],{"class":338},[287,4059,930],{"class":304},[287,4061,4062,4064,4066,4068,4070,4072],{"class":289,"line":433},[287,4063,1860],{"class":331},[287,4065,335],{"class":304},[287,4067,364],{"class":338},[287,4069,342],{"class":304},[287,4071,387],{"class":338},[287,4073,930],{"class":304},[287,4075,4076,4078,4080,4082,4084,4086,4088,4090],{"class":289,"line":462},[287,4077,1875],{"class":331},[287,4079,335],{"class":304},[287,4081,364],{"class":338},[287,4083,1882],{"class":304},[287,4085,1833],{"class":688},[287,4087,342],{"class":304},[287,4089,364],{"class":338},[287,4091,1891],{"class":304},[287,4093,4094,4096,4098,4100,4102,4104,4106,4108],{"class":289,"line":485},[287,4095,1875],{"class":331},[287,4097,335],{"class":304},[287,4099,387],{"class":338},[287,4101,1882],{"class":304},[287,4103,1833],{"class":688},[287,4105,342],{"class":304},[287,4107,387],{"class":338},[287,4109,1891],{"class":304},[287,4111,4112,4114,4116,4118,4120],{"class":289,"line":610},[287,4113,780],{"class":304},[287,4115,1916],{"class":331},[287,4117,335],{"class":304},[287,4119,456],{"class":338},[287,4121,459],{"class":304},[287,4123,4124],{"class":289,"line":616},[287,4125,318],{"emptyLinePlaceholder":317},[287,4127,4128,4130,4132,4134,4136,4138],{"class":289,"line":622},[287,4129,324],{"class":304},[287,4131,328],{"class":327},[287,4133,1935],{"class":331},[287,4135,335],{"class":304},[287,4137,1940],{"class":688},[287,4139,459],{"class":304},[287,4141,4142,4144,4146,4148,4150,4152,4154,4156,4158,4160,4162,4164,4166],{"class":289,"line":752},[287,4143,1947],{"class":304},[287,4145,328],{"class":327},[287,4147,1952],{"class":304},[287,4149,444],{"class":331},[287,4151,1957],{"class":304},[287,4153,1960],{"class":331},[287,4155,1963],{"class":304},[287,4157,1966],{"class":331},[287,4159,476],{"class":304},[287,4161,1971],{"class":331},[287,4163,335],{"class":304},[287,4165,1833],{"class":688},[287,4167,459],{"class":304},[287,4169,4170,4172,4174,4176,4178,4180,4182,4184,4186,4188,4190,4192,4194,4196,4198,4200],{"class":289,"line":760},[287,4171,488],{"class":327},[287,4173,335],{"class":304},[287,4175,1131],{"class":331},[287,4177,335],{"class":304},[287,4179,1990],{"class":688},[287,4181,31],{"class":304},[287,4183,974],{"class":331},[287,4185,335],{"class":304},[287,4187,1999],{"class":327},[287,4189,335],{"class":304},[287,4191,979],{"class":327},[287,4193,2006],{"class":304},[287,4195,990],{"class":300},[287,4197,2011],{"class":304},[287,4199,996],{"class":300},[287,4201,2016],{"class":304},[248,4203,2020],{"id":2019},[15,4205,2023,4206,342,4208,516,4210,2032,4212,2036],{},[36,4207,359],{},[36,4209,2028],{},[36,4211,2031],{},[36,4213,2035],{},[272,4215,4216],{"name":1272,"tag":2039},[279,4217,4218],{"className":281,"code":2042,"language":283,"meta":276,"style":276},[36,4219,4220,4226,4230,4238,4246,4262,4272,4288,4294,4298],{"__ignoreMap":276},[287,4221,4222,4224],{"class":289,"line":290},[287,4223,308],{"class":300},[287,4225,2051],{"class":304},[287,4227,4228],{"class":289,"line":297},[287,4229,318],{"emptyLinePlaceholder":317},[287,4231,4232,4234,4236],{"class":289,"line":314},[287,4233,2060],{"class":331},[287,4235,31],{"class":304},[287,4237,2065],{"class":331},[287,4239,4240,4242,4244],{"class":289,"line":321},[287,4241,949],{"class":300},[287,4243,1366],{"class":331},[287,4245,1369],{"class":304},[287,4247,4248,4250,4252,4254,4256,4258,4260],{"class":289,"line":353},[287,4249,2078],{"class":304},[287,4251,328],{"class":327},[287,4253,2083],{"class":304},[287,4255,2086],{"class":331},[287,4257,335],{"class":304},[287,4259,339],{"class":338},[287,4261,459],{"class":304},[287,4263,4264,4266,4268,4270],{"class":289,"line":373},[287,4265,2097],{"class":331},[287,4267,2100],{"class":304},[287,4269,364],{"class":338},[287,4271,1411],{"class":304},[287,4273,4274,4276,4278,4280,4282,4284,4286],{"class":289,"line":396},[287,4275,2109],{"class":304},[287,4277,2112],{"class":331},[287,4279,2100],{"class":304},[287,4281,364],{"class":338},[287,4283,2119],{"class":304},[287,4285,387],{"class":338},[287,4287,1411],{"class":304},[287,4289,4290,4292],{"class":289,"line":428},[287,4291,2128],{"class":331},[287,4293,2131],{"class":304},[287,4295,4296],{"class":289,"line":433},[287,4297,318],{"emptyLinePlaceholder":317},[287,4299,4300,4302,4304,4306,4308,4310,4312,4314],{"class":289,"line":462},[287,4301,488],{"class":327},[287,4303,2142],{"class":304},[287,4305,2145],{"class":331},[287,4307,1541],{"class":304},[287,4309,2150],{"class":450},[287,4311,328],{"class":327},[287,4313,456],{"class":338},[287,4315,2157],{"class":304},[248,4317,2161],{"id":2160},[15,4319,2164,4320,2168,4322,2172,4324,2176],{},[36,4321,2167],{},[36,4323,2171],{},[36,4325,2175],{},[272,4327,4328],{"name":1272,"tag":2179},[279,4329,4330],{"className":281,"code":2182,"language":283,"meta":276,"style":276},[36,4331,4332,4342,4346,4360,4376,4396,4416,4434],{"__ignoreMap":276},[287,4333,4334,4336,4338,4340],{"class":289,"line":290},[287,4335,301],{"class":300},[287,4337,2191],{"class":304},[287,4339,308],{"class":300},[287,4341,2196],{"class":304},[287,4343,4344],{"class":289,"line":297},[287,4345,318],{"emptyLinePlaceholder":317},[287,4347,4348,4350,4352,4354,4356,4358],{"class":289,"line":314},[287,4349,738],{"class":304},[287,4351,328],{"class":327},[287,4353,1493],{"class":331},[287,4355,335],{"class":304},[287,4357,339],{"class":338},[287,4359,459],{"class":304},[287,4361,4362,4364,4366,4368,4370,4372,4374],{"class":289,"line":321},[287,4363,1627],{"class":304},[287,4365,2221],{"class":331},[287,4367,2224],{"class":304},[287,4369,897],{"class":331},[287,4371,335],{"class":304},[287,4373,364],{"class":338},[287,4375,2157],{"class":304},[287,4377,4378,4380,4382,4384,4386,4388,4390,4392,4394],{"class":289,"line":353},[287,4379,1627],{"class":304},[287,4381,2221],{"class":331},[287,4383,2224],{"class":304},[287,4385,907],{"class":331},[287,4387,335],{"class":304},[287,4389,364],{"class":338},[287,4391,342],{"class":304},[287,4393,387],{"class":338},[287,4395,2157],{"class":304},[287,4397,4398,4400,4402,4404,4406,4408,4410,4412,4414],{"class":289,"line":373},[287,4399,1627],{"class":304},[287,4401,2221],{"class":331},[287,4403,2224],{"class":304},[287,4405,2263],{"class":331},[287,4407,335],{"class":304},[287,4409,364],{"class":338},[287,4411,342],{"class":304},[287,4413,387],{"class":338},[287,4415,2157],{"class":304},[287,4417,4418,4420,4422,4424,4426,4428,4430,4432],{"class":289,"line":396},[287,4419,1008],{"class":304},[287,4421,328],{"class":327},[287,4423,2282],{"class":331},[287,4425,335],{"class":304},[287,4427,2287],{"class":450},[287,4429,328],{"class":327},[287,4431,456],{"class":338},[287,4433,459],{"class":304},[287,4435,4436,4438,4440,4442],{"class":289,"line":428},[287,4437,488],{"class":327},[287,4439,1037],{"class":304},[287,4441,2302],{"class":331},[287,4443,1207],{"class":304},[50,4445,2308],{"id":2307},[58,4447,4448,4452,4456,4460,4464],{},[61,4449,4450,2316],{},[64,4451,2315],{},[61,4453,4454,2322],{},[64,4455,2321],{},[61,4457,4458,2328],{},[64,4459,2327],{},[61,4461,4462,2334],{},[64,4463,2333],{},[61,4465,4466,2340],{},[64,4467,2339],{},[50,4469,2344],{"id":2343},[2346,4471,4472],{"q":2348},[15,4473,2351,4474,2356],{},[22,4475,2355],{"href":2354},[2346,4477,4478],{"q":2359},[15,4479,2362,4480,2366,4482,2370],{},[36,4481,2365],{},[36,4483,2369],{},[2346,4485,4486],{"q":2373},[15,4487,2376,4488,2379],{},[36,4489,1100],{},[50,4491,2383],{"id":2382},[15,4493,2386],{},[88,4495,4496,4508],{},[91,4497,4498],{},[94,4499,4500,4502,4504,4506],{},[97,4501,99],{},[97,4503,2397],{},[97,4505,2400],{},[97,4507,2403],{},[107,4509,4510,4524,4538,4554,4568,4582,4596,4610,4628,4642],{},[94,4511,4512,4514,4516,4520],{},[112,4513,2410],{},[112,4515,2413],{},[112,4517,2416,4518],{},[36,4519,2419],{},[112,4521,4522],{},[22,4523,2410],{"href":2424},[94,4525,4526,4528,4530,4534],{},[112,4527,639],{},[112,4529,2431],{},[112,4531,4532,2436],{},[36,4533,643],{},[112,4535,4536],{},[22,4537,639],{"href":2441},[94,4539,4540,4542,4544,4550],{},[112,4541,800],{},[112,4543,2448],{},[112,4545,4546,2453,4548],{},[36,4547,643],{},[36,4549,2456],{},[112,4551,4552],{},[22,4553,800],{"href":2461},[94,4555,4556,4558,4560,4564],{},[112,4557,2466],{},[112,4559,2469],{},[112,4561,2472,4562,2475],{},[36,4563,1084],{},[112,4565,4566],{},[22,4567,2481],{"href":2480},[94,4569,4570,4572,4574,4578],{},[112,4571,1243],{},[112,4573,2488],{},[112,4575,4576],{},[36,4577,1249],{},[112,4579,4580],{},[22,4581,1261],{"href":2497},[94,4583,4584,4586,4588,4592],{},[112,4585,1441],{},[112,4587,2504],{},[112,4589,4590],{},[36,4591,1447],{},[112,4593,4594],{},[22,4595,2514],{"href":2513},[94,4597,4598,4600,4602,4606],{},[112,4599,2519],{},[112,4601,2522],{},[112,4603,4604],{},[36,4605,1569],{},[112,4607,4608],{},[22,4609,1563],{"href":2531},[94,4611,4612,4614,4616,4624],{},[112,4613,1708],{},[112,4615,2538],{},[112,4617,4618,2543,4620,516,4622],{},[36,4619,1714],{},[36,4621,1718],{},[36,4623,1726],{},[112,4625,4626],{},[22,4627,1708],{"href":2552},[94,4629,4630,4632,4634,4638],{},[112,4631,2020],{},[112,4633,2559],{},[112,4635,4636],{},[36,4637,2035],{},[112,4639,4640],{},[22,4641,2569],{"href":2568},[94,4643,4644,4646,4648,4652],{},[112,4645,2161],{},[112,4647,2576],{},[112,4649,4650],{},[36,4651,2167],{},[112,4653,4654],{},[22,4655,2161],{"href":2585},[50,4657,2589],{"id":2588},[58,4659,4660,4664,4668,4672,4676],{},[61,4661,4662],{},[22,4663,2355],{"href":2354},[61,4665,4666],{},[22,4667,2601],{"href":2600},[61,4669,4670],{},[22,4671,542],{"href":541},[61,4673,4674],{},[22,4675,2611],{"href":2610},[61,4677,4678],{},[22,4679,2617],{"href":2616},[2619,4681,2621],{},{"title":276,"searchDepth":297,"depth":297,"links":4683},[4684,4685,4686,4687,4693,4702,4703,4704,4705],{"id":52,"depth":297,"text":53},{"id":85,"depth":297,"text":86},{"id":216,"depth":297,"text":217},{"id":229,"depth":297,"text":230,"children":4688},[4689,4690,4691,4692],{"id":250,"depth":314,"text":251},{"id":508,"depth":314,"text":509},{"id":628,"depth":314,"text":629},{"id":799,"depth":314,"text":800},{"id":1061,"depth":297,"text":1062,"children":4694},[4695,4696,4697,4698,4699,4700,4701],{"id":1073,"depth":314,"text":1074},{"id":1242,"depth":314,"text":1243},{"id":1440,"depth":314,"text":1441},{"id":1563,"depth":314,"text":1563},{"id":1707,"depth":314,"text":1708},{"id":2019,"depth":314,"text":2020},{"id":2160,"depth":314,"text":2161},{"id":2307,"depth":297,"text":2308},{"id":2343,"depth":297,"text":2344},{"id":2382,"depth":297,"text":2383},{"id":2588,"depth":297,"text":2589},[2647,2648,72],[],{"username":7,"name":2651,"role":2652,"avatar":2653},{},[],{"title":2668,"description":2656},[2666,2671,2672],{"id":4714,"title":4715,"authors":4716,"body":4717,"breadcrumb":5643,"builders":5645,"byline":5646,"category":2654,"categoryName":2654,"challenge":2654,"courseAuthor":2654,"courseLead":2654,"dek":5647,"description":5648,"draft":2657,"extension":2658,"eyebrow":2654,"featured":2657,"finish":2654,"fork":2654,"group":2654,"groupName":2654,"hero":2654,"heroAlt":2654,"heroCta":2654,"heroImage":2654,"homepageFeatured":2657,"kind":2659,"lessonCount":2654,"meta":5649,"navigation":317,"newsItems":2654,"next":2654,"ogImage":5650,"order":2654,"outcomes":2654,"path":5651,"prerequisite":2654,"prerequisiteLinks":2654,"publishDate":5652,"readingTime":5653,"related":5654,"relatedProjects":2654,"section":2666,"seo":5655,"spotlight":2657,"stem":5657,"tags":5658,"track":2654,"trackName":2654,"updates":2654,"__hash__":5660},"blog\u002Fblog\u002Fbuy-a-quantum-computer.md","Can you buy a quantum computer? What one costs, and how to run one free",[7],{"type":9,"value":4718,"toc":5634},[4719,4732,4740,4744,4747,4753,4759,4762,4768,4772,4775,4778,4908,4911,4921,4925,4931,4937,5162,5169,5175,5183,5186,5190,5193,5196,5200,5203,5206,5209,5213,5216,5586,5608,5610,5631],[12,4720,4721,4729],{},[15,4722,4723,4724,4728],{},"You can buy a quantum computer, rent one by the minute, the shot or the gate-shot, or ",[22,4725,4727],{"href":4726},"#how-to-run-one-free","run a real one free",". A two-qubit teaching unit sells for low five figures, a nine-qubit processor module is sold by quote without its refrigerator and control electronics, and a full system runs to millions.",[15,4730,4731],{},"Rented time starts at $96 a minute on IBM's Pay-As-You-Go plan and $0.000425 a shot on Amazon Braket, and IonQ hardware on Azure carries a per-program minimum. IBM's Open Plan includes ten free hardware minutes a month. Qollab runs your circuit free on simulators with real IBM and IonQ noise models, then on IonQ hardware for credits, and a new account starts with 100 of them.",[15,4733,4734,4735,4739],{},"Every provider price in this guide is as published on 17 September 2026, and the ",[22,4736,4738],{"href":4737},"#a-snapshot-september-2026","snapshot at the end"," lists each one with its link; the run prices in the table are derived from them. Prices change; check the provider's page before you budget.",[50,4741,4743],{"id":4742},"can-a-civilian-buy-a-quantum-computer","Can a civilian buy a quantum computer?",[15,4745,4746],{},"Yes, at three sizes: a teaching unit you can order, a processor module sold on a quote, and a full system.",[15,4748,4749,4752],{},[64,4750,4751],{},"Teaching units."," SpinQ sells desktop machines built on nuclear magnetic resonance that run at room temperature: the Gemini Mini and Mini Pro with two qubits and the Triangulum with three. SpinQ's price guide puts this tier \"in the lower five-figure U.S. dollar range, depending on configuration and support offerings\", and in 2021 SpinQ announced a desktop unit planned at under $5,000. Two qubits is enough for a Bell state on a physical device on a desk, and SpinQ aims the tier at schools, universities and training programs.",[15,4754,4755,4758],{},[64,4756,4757],{},"Processor modules."," Rigetti's Novera is a 9-qubit superconducting quantum processing unit (QPU), sold with a separate 5-qubit test chip; Rigetti asks buyers to allow four to six weeks for delivery once an order is confirmed and shipping is arranged. The package is the chips, the chip carrier, and the shielding, mounting and signalling hardware: everything that sits below the mixing chamber plate of a dilution refrigerator. The refrigerator itself, which keeps the chips near absolute zero, and the control electronics that drive them come from Rigetti's partners or your own lab, and the product page carries no price. SpinQ's guide places a standalone QPU \"in the five-figure to low six-figure\" bracket.",[15,4760,4761],{},"The one public figure for a whole Novera system is Rigetti's own: in September 2025 it announced purchase orders for two, about $5.7 million together, for delivery in the first half of 2026. The announcement does not say what each system includes.",[15,4763,4764,4767],{},[64,4765,4766],{},"Full systems."," IBM's On-Prem Plan, a dedicated system serviced by IBM, lists \"price requires quote\". SpinQ's buying guide puts an IBM Quantum System One at ten to thirty million dollars, which is one vendor's estimate of another vendor's price, and SpinQ's own industrial tier sits \"in the mid to high tens of millions\".",[50,4769,4771],{"id":4770},"what-renting-one-costs","What renting one costs",[15,4773,4774],{},"Providers sell hardware time in three units: the minute, the shot and the gate-shot. A shot is one run of the circuit ending in one measured result; a circuit is run for hundreds or thousands of shots because a single result is random. A gate-shot is one gate in one shot, so a circuit's gate count times its shots. IonQ's own cloud sells by quote.",[15,4776,4777],{},"The table prices the same two circuits on every route at 1,000 shots. The first is the two-qubit Bell state in the code below: one one-qubit gate, one two-qubit gate and two measurements. The second is the job IonQ uses as the worked example on its cost page, estimated for Forte Enterprise 1: 25 qubits, 400 one-qubit gates and 150 two-qubit gates, with error mitigation on. Where a rule forces a bigger task, the cell says so.",[88,4779,4780,4796],{},[91,4781,4782],{},[94,4783,4784,4787,4790,4793],{},[97,4785,4786],{},"Route",[97,4788,4789],{},"Unit",[97,4791,4792],{},"Bell state",[97,4794,4795],{},"25-qubit job",[107,4797,4798,4812,4826,4840,4853,4867,4881,4894],{},[94,4799,4800,4803,4806,4809],{},[112,4801,4802],{},"IBM · Open Plan",[112,4804,4805],{},"free minutes",[112,4807,4808],{},"$0, within the ten free minutes a month",[112,4810,4811],{},"$0",[94,4813,4814,4817,4820,4823],{},[112,4815,4816],{},"IBM · Pay-As-You-Go",[112,4818,4819],{},"per second",[112,4821,4822],{},"from $1.60 a second ($96 a minute), for every second the job runs",[112,4824,4825],{},"the same rate; a bigger circuit runs longer",[94,4827,4828,4831,4834,4837],{},[112,4829,4830],{},"Braket · IonQ Forte",[112,4832,4833],{},"per task + per shot",[112,4835,4836],{},"$80.30 ($0.30 a task + $80 for 1,000 shots); with error mitigation the task must carry 2,500 shots, $200.30",[112,4838,4839],{},"$80.30 or $200.30: the per-shot price is flat whatever the gate count",[94,4841,4842,4845,4847,4850],{},[112,4843,4844],{},"Braket · Rigetti Cepheus",[112,4846,4833],{},[112,4848,4849],{},"$0.73 ($0.30 a task + $0.43 for 1,000 shots)",[112,4851,4852],{},"$0.73",[94,4854,4855,4858,4861,4864],{},[112,4856,4857],{},"Azure · IonQ Forte 1",[112,4859,4860],{},"per gate-shot + a minimum",[112,4862,4863],{},"$1.29 in gate-shots + a $25.79 minimum, or $168.20 with error mitigation",[112,4865,4866],{},"$233.95 in gate-shots + the same minimum",[94,4868,4869,4872,4875,4878],{},[112,4870,4871],{},"IonQ Cloud · direct",[112,4873,4874],{},"by quote",[112,4876,4877],{},"estimated at submission; a dry run returns the figure first",[112,4879,4880],{},"$233.75, IonQ's own estimate for Forte Enterprise 1 at standard rates, not binding",[94,4882,4883,4886,4889,4891],{},[112,4884,4885],{},"Qollab · any simulator",[112,4887,4888],{},"free",[112,4890,4811],{},[112,4892,4893],{},"$0 on the Braket local, IBM noise-model and IonQ Forte simulators; 25 qubits is the Braket local simulator's ceiling and close to the Forte model's 29, where IonQ warns a run may fail",[94,4895,4896,4899,4902,4905],{},[112,4897,4898],{},"Qollab · IonQ Forte 1",[112,4900,4901],{},"credits",[112,4903,4904],{},"quoted before you approve; a new account starts with 100 credits",[112,4906,4907],{},"quoted before you approve",[15,4909,4910],{},"Read the row for the service you would submit through; the simulator row is the only one that is not real hardware, and Azure adds its infrastructure costs on top of both IonQ figures. Per-shot billing on Braket prices the 550-gate job the same as the Bell state, gate-shot billing on Azure and on IonQ's cloud grows with the circuit, and per-second billing on IBM grows with the runtime, so the cheapest route depends on the shape of the job.",[15,4912,4913,4914,4918,4919,31],{},"A per-job minimum is most of the price of a small circuit. Error mitigation, the setting that moves both minimums, is IonQ's debiasing (",[22,4915,4917],{"href":4916},"\u002Flearn\u002Fdocs\u002Ferror-mitigation","error mitigation and debiasing"," explains it), on by default at 500 shots or more: on Azure it raises the program minimum from $25.79 to $168.20, and on Braket a mitigated IonQ task has to carry 2,500 shots, about two and a half times the price of the 1,000-shot one. A per-second or per-shot route with no floor is the cheaper one for a circuit this size. Every plan and rate, including the ones the table leaves out, is in the ",[22,4920,1069],{"href":4737},[50,4922,4924],{"id":4923},"how-to-run-one-free","How to run one free",[15,4926,4927,4928,4930],{},"On Qollab every simulator is free and only the quantum computers spend credits. Press ",[64,4929,242],{},", pick a simulator, and the run costs nothing. Pick the IonQ Forte 1 quantum computer and the runner quotes the credit cost next to your balance, which starts at 100 credits on a new account, and asks before it spends above your allowance.",[15,4932,4933,4934,4936],{},"Several of the simulators carry the noise models of real machines. In the browser: a built-in simulator at 24 qubits, an AWS Braket local simulator at 25, and eight IBM noise-model simulators, six Heron devices at 156 qubits and two Nighthawk devices at 120. On IonQ's cloud: noise-model simulators of Forte 1 and Forte Enterprise 1 at 29 qubits. A run on the Forte model returns a preview built from that machine's noise model, which IonQ calls a simplified approximation of the hardware, and it tells you whether 100 shots resolves your answer or you need 1,000 before you spend anything. ",[22,4935,2611],{"href":2610}," lists every one. The circuit is the Bell state priced in the table:",[272,4938,4942],{"name":4939,"run-href":4940,"tag":4941},"bell_state.py","\u002Fu\u002Fqollab\u002Fbell-state","Python · Playground version",[279,4943,4945],{"className":281,"code":4944,"language":283,"meta":276,"style":276},"# 'backend' is pre-created for you in the Qollab Playground.\nfrom qiskit import QuantumCircuit\n\nqc = QuantumCircuit(2, 2)\nqc.h(0)\nqc.cx(0, 1)\nqc.measure([0, 1], [0, 1])\n\njob = backend.run(qc, shots=1000)\ncounts = job.result().get_counts()\nprint(counts)\n",[36,4946,4947,4956,4968,4975,4996,5010,5029,5056,5062,5085,5104,5112],{"__ignoreMap":276},[287,4948,4949,4954],{"class":289,"line":290},[287,4950,4953],{"class":4951,"aria-hidden":4952},"qg-cue qg-cue--empty","true","​",[287,4955,294],{"class":293},[287,4957,4958,4960,4962,4964,4966],{"class":289,"line":297},[287,4959,4953],{"class":4951,"aria-hidden":4952},[287,4961,301],{"class":300},[287,4963,305],{"class":304},[287,4965,308],{"class":300},[287,4967,311],{"class":304},[287,4969,4970,4972],{"class":289,"line":314},[287,4971,4953],{"class":4951,"aria-hidden":4952},[287,4973,4974],{},"​\n",[287,4976,4977,4980,4982,4984,4986,4988,4990,4992,4994],{"class":289,"data-cue":387,"line":321},[287,4978,387],{"class":4979},"qg-cue",[287,4981,324],{"class":304},[287,4983,328],{"class":327},[287,4985,332],{"class":331},[287,4987,335],{"class":304},[287,4989,339],{"class":338},[287,4991,342],{"class":304},[287,4993,339],{"class":338},[287,4995,459],{"class":304},[287,4997,4998,5000,5002,5004,5006,5008],{"class":289,"data-cue":339,"line":353},[287,4999,339],{"class":4979},[287,5001,356],{"class":304},[287,5003,359],{"class":331},[287,5005,335],{"class":304},[287,5007,364],{"class":338},[287,5009,459],{"class":304},[287,5011,5013,5015,5017,5019,5021,5023,5025,5027],{"class":289,"data-cue":5012,"line":373},"3",[287,5014,5012],{"class":4979},[287,5016,356],{"class":304},[287,5018,378],{"class":331},[287,5020,335],{"class":304},[287,5022,364],{"class":338},[287,5024,342],{"class":304},[287,5026,387],{"class":338},[287,5028,459],{"class":304},[287,5030,5032,5034,5036,5038,5040,5042,5044,5046,5048,5050,5052,5054],{"class":289,"data-cue":5031,"line":396},"4",[287,5033,5031],{"class":4979},[287,5035,356],{"class":304},[287,5037,401],{"class":331},[287,5039,404],{"class":304},[287,5041,364],{"class":338},[287,5043,342],{"class":304},[287,5045,387],{"class":338},[287,5047,413],{"class":304},[287,5049,364],{"class":338},[287,5051,342],{"class":304},[287,5053,387],{"class":338},[287,5055,1411],{"class":304},[287,5057,5058,5060],{"class":289,"line":428},[287,5059,4953],{"class":4951,"aria-hidden":4952},[287,5061,4974],{},[287,5063,5065,5067,5069,5071,5073,5075,5077,5079,5081,5083],{"class":289,"data-cue":5064,"line":433},"5",[287,5066,5064],{"class":4979},[287,5068,436],{"class":304},[287,5070,328],{"class":327},[287,5072,441],{"class":304},[287,5074,444],{"class":331},[287,5076,447],{"class":304},[287,5078,451],{"class":450},[287,5080,328],{"class":327},[287,5082,456],{"class":338},[287,5084,459],{"class":304},[287,5086,5088,5090,5092,5094,5096,5098,5100,5102],{"class":289,"data-cue":5087,"line":462},"6",[287,5089,5087],{"class":4979},[287,5091,465],{"class":304},[287,5093,328],{"class":327},[287,5095,470],{"class":304},[287,5097,473],{"class":331},[287,5099,476],{"class":304},[287,5101,479],{"class":331},[287,5103,482],{"class":304},[287,5105,5106,5108,5110],{"class":289,"line":485},[287,5107,4953],{"class":4951,"aria-hidden":4952},[287,5109,488],{"class":327},[287,5111,796],{"class":304},[5113,5114,5116,5124,5131,5138,5145,5152],"ol",{"class":5115},"qg-cues",[61,5117,5118,5120],{"data-cue":387},[287,5119,387],{"class":4979},[287,5121,5123],{"class":5122},"qg-cues__text","Two qubits and two ordinary bits to read the answers into.",[61,5125,5126,5128],{"data-cue":339},[287,5127,339],{"class":4979},[287,5129,5130],{"class":5122},"The one-qubit gate. Qubit 0 leaves with no fixed value.",[61,5132,5133,5135],{"data-cue":5012},[287,5134,5012],{"class":4979},[287,5136,5137],{"class":5122},"The two-qubit gate. Qubit 1 now follows qubit 0, whichever way it lands.",[61,5139,5140,5142],{"data-cue":5031},[287,5141,5031],{"class":4979},[287,5143,5144],{"class":5122},"Read both qubits into the two bits.",[61,5146,5147,5149],{"data-cue":5064},[287,5148,5064],{"class":4979},[287,5150,5151],{"class":5122},"Run the circuit 1,000 times on the backend you picked. Each run and its measured pair of bits is one shot, the unit the table prices.",[61,5153,5154,5156],{"data-cue":5087},[287,5155,5087],{"class":4979},[287,5157,5158,5159,5161],{"class":5122},"Tally the 1,000 results. ",[36,5160,499],{}," means 502 shots read 00 and 498 read 11; on hardware a few 01 and 10 appear, which is the noise.",[15,5163,5164,5165,5168],{},"The Run dialog lists the free simulators first and the quantum computers last. As of September 2026 the last group is IonQ Forte 1 and Forte Enterprise 1, 36 qubits each, and the dialog is the source of truth for which machine is online. Fork ",[22,5166,5167],{"href":4940},"the Bell state",", press Run on the built-in simulator, and the counts come back in the console; when they look right, the same Run button puts it on Forte 1, and once the job finishes the runner reports the credits actually withdrawn, which can differ from the estimate.",[5170,5171],"blog-figure",{"alt":5172,"caption":5173,"src":5174},"The Run dialog, headed Select QPU, shows a Shots field under Run settings, then the locally run simulators. The built-in and AWS Braket local simulators are marked Ideal, and eight IBM simulators are folded under one IBM row, marked Noise model. The first IonQ remote simulators follow. Every row is marked Free.","The Run dialog on Qollab. The project behind it asks for a shot count, so the dialog shows Run settings above the simulators.","\u002F_content\u002Fimages\u002Fdocs\u002Fselect-qpu.webp",[15,5176,5177,5178,5182],{},"The 100 starter credits are on the account before any application, and the runner shows an estimate of what a run will take from them before it spends. More come from the ",[22,5179,5181],{"href":5180},"\u002Fprograms\u002Fcredits-grant","Qollab Grant Program",": port existing open-source quantum work or fork and extend a Qollab project for up to $10,000 in IonQ compute credits per project, or publish original work for up to $20,000. Submissions are reviewed on a rolling basis, the team tells you where a proposal lands before you commit to the work, and the credits expire three months after they land.",[15,5184,5185],{},"Each provider has a free route of its own. IBM's Open Plan gives every account up to ten minutes of hardware runtime a month. Amazon Braket includes one hour of managed simulation a month for the first twelve months, IonQ's cloud simulators are free with an account, and Rigetti's QVM simulator is free on Azure under every plan.",[50,5187,5189],{"id":5188},"what-building-one-costs","What building one costs",[15,5191,5192],{},"None of the vendors on this page publishes a price for building one. What is public is the parts list, and a framework for deciding which parts an institution needs. Alex Krasnok's procurement framework, published on arXiv in April 2026 as \"What quantum computer to buy?\", argues that the phrase hides several different purchases: cloud access for teaching, reserved capacity for research, a local instrument for hardware training, an optimization appliance, or a strategic installation. His conclusion is that most institutions should begin with the smallest layer of capability that produces repeatable near-term value, and that a large on-premises system is justified only when mission, site readiness, staffing, governance and upgrade paths are already clear.",[15,5194,5195],{},"Rigetti's Novera is the parts list in practice. The module is a quote and arrives in weeks; the refrigerator, the control electronics, the people who calibrate them and an upgrade path are the rest, and Rigetti sells the system as upgradeable. Its two orders of September 2025, about $5.7 million together and not itemised, are the one public figure for what a whole system costs.",[50,5197,5199],{"id":5198},"is-there-a-1000-qubit-quantum-computer","Is there a 1,000-qubit quantum computer?",[15,5201,5202],{},"Yes. IBM's Condor processor, unveiled in December 2023, has 1,121 superconducting qubits. Atom Computing announced a 1,225-site atomic array holding 1,180 qubits in October 2023. In September 2025 a Caltech team reported a tweezer array of 6,100 atomic qubits, a research result; the group's stated next step is to entangle them.",[15,5204,5205],{},"The machines you can rent are smaller. IBM's fleet is built on processors of 100 or more qubits, IonQ's Forte systems hold 36, and Rigetti's Cepheus on Azure holds 108. Qubit count on its own says little about what a machine can compute.",[15,5207,5208],{},"On the day it unveiled Condor, IBM said its focus was moving from qubit count to error resistance, and the 133-qubit Heron it announced alongside had an error rate three times lower than its predecessor. Gate error is the number to read alongside qubit count: IonQ publishes it per backend as characterization data, and it decides how deep a circuit can go before noise dominates the output.",[50,5210,5212],{"id":5211},"a-snapshot-september-2026","A snapshot, September 2026",[15,5214,5215],{},"Every provider price list on this page as read on 17 September 2026, with its source; press figures and quotations carry their own dates. Check the linked page before you plan a budget: prices in this market change between visits, and a pricing page can outlast the hardware it lists. IonQ's own backend list marks the Aria 1 and Aria 2 hardware as retired, while Azure's provider pricing page still carries Aria 1 rates.",[88,5217,5218,5231],{},[91,5219,5220],{},[94,5221,5222,5225,5228],{},[97,5223,5224],{},"Source",[97,5226,5227],{},"Item",[97,5229,5230],{},"Price",[107,5232,5233,5247,5257,5267,5277,5286,5300,5310,5320,5330,5340,5354,5364,5374,5384,5394,5408,5418,5432,5442,5456,5471,5481,5491,5506,5521,5535,5550,5562,5574],{},[94,5234,5235,5241,5244],{},[112,5236,5237],{},[22,5238,5240],{"href":5239},"https:\u002F\u002Fwww.ibm.com\u002Fquantum\u002Fproducts","IBM Quantum",[112,5242,5243],{},"Open Plan",[112,5245,5246],{},"free, up to 10 minutes of runtime a month",[94,5248,5249,5251,5254],{},[112,5250],{},[112,5252,5253],{},"Pay-As-You-Go",[112,5255,5256],{},"from $96 a minute, billed per second, 1-second minimum",[94,5258,5259,5261,5264],{},[112,5260],{},[112,5262,5263],{},"Flex Plan",[112,5265,5266],{},"from $72 a minute, 400 minutes a year",[94,5268,5269,5271,5274],{},[112,5270],{},[112,5272,5273],{},"Premium Plan",[112,5275,5276],{},"from $48 a minute, 5,200 minutes a year",[94,5278,5279,5281,5284],{},[112,5280],{},[112,5282,5283],{},"On-Prem Plan",[112,5285,4874],{},[94,5287,5288,5294,5297],{},[112,5289,5290],{},[22,5291,5293],{"href":5292},"https:\u002F\u002Faws.amazon.com\u002Fbraket\u002Fpricing\u002F","Amazon Braket",[112,5295,5296],{},"Per task",[112,5298,5299],{},"$0.30",[94,5301,5302,5304,5307],{},[112,5303],{},[112,5305,5306],{},"Per shot",[112,5308,5309],{},"Rigetti Cepheus $0.000425 · IQM Garnet $0.00145 · IQM Emerald $0.0016 · QuEra Aquila $0.01 · AQT IBEX-Q1 $0.0235 · IonQ Forte $0.08",[94,5311,5312,5314,5317],{},[112,5313],{},[112,5315,5316],{},"IonQ with error mitigation",[112,5318,5319],{},"2,500 shots minimum per task",[94,5321,5322,5324,5327],{},[112,5323],{},[112,5325,5326],{},"Reservations",[112,5328,5329],{},"$2,500 to $7,000 an hour",[94,5331,5332,5334,5337],{},[112,5333],{},[112,5335,5336],{},"SV1 simulator",[112,5338,5339],{},"$0.075 a minute; one hour of managed simulation a month free for the first 12 months",[94,5341,5342,5348,5351],{},[112,5343,5344],{},[22,5345,5347],{"href":5346},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquantum\u002Fpricing","Azure Quantum",[112,5349,5350],{},"IonQ Forte 1, Forte Enterprise 1",[112,5352,5353],{},"$0.0001645 per one-qubit gate-shot, $0.001121 per two-qubit gate-shot; minimum per program $168.195 with error mitigation on, $25.7899 off; plus Azure infrastructure costs",[94,5355,5356,5358,5361],{},[112,5357],{},[112,5359,5360],{},"IonQ Aria-Forte plan",[112,5362,5363],{},"$25,000 a month, plus Azure infrastructure costs",[94,5365,5366,5368,5371],{},[112,5367],{},[112,5369,5370],{},"Quantinuum",[112,5372,5373],{},"Standard $125,000 a month for 10,000 HQCs (hardware quantum credits, Quantinuum's job unit); Premium $175,000 for 17,000; plus infrastructure costs",[94,5375,5376,5378,5381],{},[112,5377],{},[112,5379,5380],{},"Rigetti Cepheus-1-108Q",[112,5382,5383],{},"$0.02 per 10-millisecond increment of execution time",[94,5385,5386,5388,5391],{},[112,5387],{},[112,5389,5390],{},"Pasqal",[112,5392,5393],{},"EUR 3,000 per QPU-hour, plus infrastructure costs",[94,5395,5396,5402,5405],{},[112,5397,5398],{},[22,5399,5401],{"href":5400},"https:\u002F\u002Fionq.com\u002Fquantum-cloud","IonQ Quantum Cloud",[112,5403,5404],{},"Simulators",[112,5406,5407],{},"free with an account",[94,5409,5410,5412,5415],{},[112,5411],{},[112,5413,5414],{},"QPU access",[112,5416,5417],{},"volume-based pricing by quote; Research Credits up to $10,000 for academic researchers",[94,5419,5420,5426,5429],{},[112,5421,5422],{},[22,5423,5425],{"href":5424},"https:\u002F\u002Fdocs.ionq.com\u002Fguides\u002Fjob-cost-and-usage","IonQ job cost guide",[112,5427,5428],{},"Sizing",[112,5430,5431],{},"one-qubit gates, two-qubit gates and shots; a per-circuit minimum on small jobs, lower with debiasing off; debiasing on by default at 500 shots or more; a dry run returns an estimate",[94,5433,5434,5436,5439],{},[112,5435],{},[112,5437,5438],{},"Worked example",[112,5440,5441],{},"25 qubits, 400 1Q gates, 150 2Q gates, 1,000 shots, error mitigation on: $233.75 estimated for Forte Enterprise 1 at standard rates, not binding",[94,5443,5444,5450,5453],{},[112,5445,5446],{},[22,5447,5449],{"href":5448},"https:\u002F\u002Fdocs.ionq.com\u002Fuser-manual\u002Fbackends","IonQ backends",[112,5451,5452],{},"Hardware",[112,5454,5455],{},"Forte 1 and Forte Enterprise 1, 36 qubits, available; Aria 1, Aria 2 and Harmony retired",[94,5457,5458,5465,5468],{},[112,5459,5460,5464],{},[22,5461,5463],{"href":5462},"https:\u002F\u002Fwww.spinq.com\u002Fen\u002Fnews-detail\u002Fquantum-computers-cost-price-guide-factors-and-spinq-solutions","SpinQ price guide",", August 2025",[112,5466,5467],{},"Educational systems",[112,5469,5470],{},"\"in the lower five-figure U.S. dollar range\"",[94,5472,5473,5475,5478],{},[112,5474],{},[112,5476,5477],{},"Standalone QPUs",[112,5479,5480],{},"\"five-figure to low six-figure\"",[94,5482,5483,5485,5488],{},[112,5484],{},[112,5486,5487],{},"Industrial systems",[112,5489,5490],{},"\"mid to high tens of millions\"",[94,5492,5493,5500,5503],{},[112,5494,5495,5499],{},[22,5496,5498],{"href":5497},"https:\u002F\u002Fwww.spinq.com\u002Fnews-detail\u002Fwhere-to-buy-a-quantum-computer-top-options-explained20250122054251","SpinQ, Where to Buy a Quantum Computer",", January 2025",[112,5501,5502],{},"IBM Quantum System One",[112,5504,5505],{},"ten to thirty million dollars, SpinQ's estimate",[94,5507,5508,5515,5518],{},[112,5509,5510,5514],{},[22,5511,5513],{"href":5512},"https:\u002F\u002Fwww.discovermagazine.com\u002Fa-desktop-quantum-computer-for-just-usd5-000-42198","Discover",", January 2021",[112,5516,5517],{},"SpinQ desktop unit announced for 2021",[112,5519,5520],{},"planned at under $5,000",[94,5522,5523,5529,5532],{},[112,5524,5525],{},[22,5526,5528],{"href":5527},"https:\u002F\u002Fwww.rigetti.com\u002Fnovera","Rigetti Novera",[112,5530,5531],{},"9-qubit QPU with a 5-qubit test chip",[112,5533,5534],{},"price on request; all hardware below the mixing chamber plate of a dilution refrigerator (plate of 290 mm or more); allow 4 to 6 weeks for delivery once an order is confirmed and shipping is arranged",[94,5536,5537,5544,5547],{},[112,5538,5539,5543],{},[22,5540,5542],{"href":5541},"https:\u002F\u002Fwww.rigetti.com\u002Fnews\u002Frigetti-announces-purchase-orders-for-two-quantum-computing-systems-totaling-approximately-5-7-million","Rigetti news",", 30 September 2025",[112,5545,5546],{},"Two Novera systems",[112,5548,5549],{},"purchase orders of about $5.7 million together, delivery in the first half of 2026",[94,5551,5552,5557,5559],{},[112,5553,5554],{},[22,5555,5556],{"href":2610},"Qollab compute backends",[112,5558,5404],{},[112,5560,5561],{},"free: built-in (24 qubits), Braket local (25), eight IBM noise models (156 and 120), IonQ Forte 1 and Forte Enterprise 1 noise models (29)",[94,5563,5564,5569,5571],{},[112,5565,5566],{},[22,5567,5568],{"href":261},"Qollab, how credits work",[112,5570,5350],{},[112,5572,5573],{},"credits, quoted before the run; 100 credits on a new account",[94,5575,5576,5580,5583],{},[112,5577,5578],{},[22,5579,5181],{"href":5180},[112,5581,5582],{},"Compute credits",[112,5584,5585],{},"up to $10,000 per project for a port or a fork, up to $20,000 for original work",[15,5587,5588,5589,5593,5594,5598,5599,5603,5604,31],{},"Qubit counts: IBM Condor 1,121 (",[22,5590,5592],{"href":5591},"https:\u002F\u002Fwww.scientificamerican.com\u002Farticle\u002Fibm-releases-first-ever-1-000-qubit-quantum-chip\u002F","Scientific American, December 2023","); Atom Computing 1,180 (",[22,5595,5597],{"href":5596},"https:\u002F\u002Fatom-computing.com\u002Fquantum-startup-atom-computing-first-to-exceed-1000-qubits\u002F","announcement, October 2023","); Caltech 6,100 (",[22,5600,5602],{"href":5601},"https:\u002F\u002Fwww.caltech.edu\u002Fabout\u002Fnews\u002Fcaltech-team-sets-record-with-6100-qubit-array","news release, September 2025","). Procurement framework: ",[22,5605,5607],{"href":5606},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2604.04761","Krasnok, arXiv:2604.04761, April 2026",[50,5609,2589],{"id":2588},[58,5611,5612,5617,5621,5627],{},[61,5613,5614],{},[22,5615,5616],{"href":261},"How credits work",[61,5618,5619],{},[22,5620,2611],{"href":2610},[61,5622,5623],{},[22,5624,5626],{"href":5625},"\u002Flearn\u002Fdocs\u002Fbefore-you-spend-credits","Before you spend credits",[61,5628,5629],{},[22,5630,5181],{"href":5180},[2619,5632,5633],{},"html pre.shiki code .sV9Aq, html code.shiki .sV9Aq{--shiki-default:#7F848E;--shiki-default-font-style:italic}html pre.shiki code .seHd6, html code.shiki .seHd6{--shiki-default:#C678DD}html pre.shiki code .sn6KH, html code.shiki .sn6KH{--shiki-default:#ABB2BF}html pre.shiki code .sjrmR, html code.shiki .sjrmR{--shiki-default:#56B6C2}html pre.shiki code .sVbv2, html code.shiki .sVbv2{--shiki-default:#61AFEF}html pre.shiki code .sVC51, html code.shiki .sVC51{--shiki-default:#D19A66}html pre.shiki code .s_ZVi, html code.shiki .s_ZVi{--shiki-default:#E06C75;--shiki-default-font-style:italic}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":276,"searchDepth":297,"depth":297,"links":5635},[5636,5637,5638,5639,5640,5641,5642],{"id":4742,"depth":297,"text":4743},{"id":4770,"depth":297,"text":4771},{"id":4923,"depth":297,"text":4924},{"id":5188,"depth":297,"text":5189},{"id":5198,"depth":297,"text":5199},{"id":5211,"depth":297,"text":5212},{"id":2588,"depth":297,"text":2589},[2647,2648,5644],"Buy a quantum computer",[],{"username":7,"name":2651,"role":2652,"avatar":2653},"What a quantum computer costs to buy, what a minute, a shot or a gate-shot costs to rent, and how to run a real one free, with every price dated.","What a quantum computer costs to buy, what a minute or a shot costs to rent on IBM, Braket, Azure and IonQ, and how to run a real one free. Every price dated.",{},"\u002F_content\u002Fimages\u002Fbuy-a-quantum-computer\u002Fog.png","\u002Fblog\u002Fbuy-a-quantum-computer","2026-09-18","8 min read",[],{"title":5656,"description":5648},"How Much Does a Quantum Computer Cost? Buy, Rent, or Run One Free","blog\u002Fbuy-a-quantum-computer",[2666,5659,4901],"hardware","BTL4qRpgmn0DrsbEFYnFgUF86mj_ahLF9yu6g8c-9d8",[],[],1792119996797]