{ "protocol": "wai.quantum.provider/1", "about": "Conformance vectors for the open provider protocol (wai/extensions/quantum-providers.md). `messages` are sent as they are, each answer checked against `expect`. `billing` are `describe` answers' billing (section 5.1), each with how a client reads it: `free`, `priced`, `unpriced` (not free, and no price set: a job with no estimate has an unknown cost), or `refused` (of none of the three forms: the description is not complete, and a client takes the cost to be unknown). `programs` are OpenQASM 3 programs the checker compiles exactly to the provider's device, submits with seed 1, and checks by their counts: `top` the outcome that must hold at least `at_least` of the shots, or `support` the outcomes that must together hold at least `at_least`, each at least `each_at_least`. The thresholds leave room for a real device's noise. `reference` pins the counts the reference provider gives for each program, in its default configuration (five qubits on a line, rz sx x cz, free, no readout error), at seed 1. `estimates` are `estimate` answers (section 5.2), each with how a client reads it: `free`; `priced` (an amount and its currency); `unpriced` (not free, and no price set for the job: its cost is unknown, it runs only on the person's confirmation, and its counts are stated where the job has them); or `refused` (of none of the three forms: the client takes the cost to be unknown and shows no figure of it). `results` are `result` answers (section 5.5) to a job of two bits that asked `asked` shots, each with how a client reads it: `kept`, its counts of `of` shots (its `accepted_shots` when it gives one, else every shot asked), or `refused` (counts that sum to neither, or an `accepted_shots` that is not a whole number of at least 1): nothing of it is sealed.", "messages": [ { "name": "describe answers", "send": { "protocol": "wai.quantum.provider/1", "op": "describe" }, "expect": { "ok": true } }, { "name": "an unknown operation is unsupported", "send": { "protocol": "wai.quantum.provider/1", "op": "teleport" }, "expect": { "ok": false, "code": ["unsupported"] } }, { "name": "another version of the protocol is unsupported_version", "send": { "protocol": "wai.quantum.provider/999", "op": "describe" }, "expect": { "ok": false, "code": ["unsupported_version"] } }, { "name": "a message without its protocol is invalid", "send": { "op": "describe" }, "expect": { "ok": false, "code": ["invalid"] } }, { "name": "the status of a job that does not exist is not_found", "send": { "protocol": "wai.quantum.provider/1", "op": "status", "job": "wai-conformance-no-such-job" }, "expect": { "ok": false, "code": ["not_found"] } }, { "name": "the result of a job that does not exist is not_found", "send": { "protocol": "wai.quantum.provider/1", "op": "result", "job": "wai-conformance-no-such-job" }, "expect": { "ok": false, "code": ["not_found"] } }, { "name": "cancelling a job that does not exist is not_found, or unsupported", "send": { "protocol": "wai.quantum.provider/1", "op": "cancel", "job": "wai-conformance-no-such-job" }, "expect": { "ok": false, "code": ["not_found", "unsupported"] } }, { "name": "a program in another format is invalid", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "openqasm2", "basis": "rzsxxcz", "bits": 1, "gates": [], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid"] } }, { "name": "an angle that is not m/2^k of a turn with m < 2^k is invalid", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "wai.native/1", "basis": "rzsxxcz", "bits": 1, "gates": [{ "gate": "rz", "qubits": [0], "turns": [[9, 3]] }], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid", "refused"] } }, { "name": "a classical bit that measures no qubit is invalid", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "wai.native/1", "basis": "rzsxxcz", "bits": 2, "gates": [], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid", "refused"] } }, { "name": "an xx past a quarter turn is invalid", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "wai.native/1", "basis": "prxrzxx", "bits": 1, "gates": [{ "gate": "xx", "qubits": [0, 1], "turns": [[3, 3]] }], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid", "refused"] } }, { "name": "a prx past half a turn in prxrzxx is invalid", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "wai.native/1", "basis": "prxrzxx", "bits": 1, "gates": [{ "gate": "prx", "qubits": [0], "turns": [[3, 2], [0, 0]] }], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid", "refused"] } }, { "name": "an ms past a quarter turn is invalid", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "wai.native/1", "basis": "gpims", "bits": 1, "gates": [{ "gate": "ms", "qubits": [0, 1], "turns": [[1, 3], [0, 0], [3, 3]] }], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid", "refused"] } }, { "name": "a move in a basis whose two-qubit gate is not cz is invalid", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "wai.native/1", "basis": "gpizz", "bits": 1, "gates": [{ "gate": "move", "qubits": [0, 1] }], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid", "refused"] } }, { "name": "a move that leaves a state where no move takes it out is refused", "send": { "protocol": "wai.quantum.provider/1", "op": "estimate", "program": { "format": "wai.native/1", "basis": "rzsxxcz", "bits": 1, "gates": [{ "gate": "move", "qubits": [0, 1] }], "measure": [{ "qubit": 0, "bit": 0 }] }, "shots": 10 }, "expect": { "ok": false, "code": ["invalid", "refused"] } } ], "billing": [ { "name": "free", "billing": { "free": true }, "reads_as": "free" }, { "name": "free, with a free tier", "billing": { "free": true, "free_tier": "every job" }, "reads_as": "free" }, { "name": "a price per shot", "billing": { "unit": "shot", "price": "0.0003", "currency": "USD" }, "reads_as": "priced" }, { "name": "a price per job, saying it is not free, with a free tier", "billing": { "free": false, "unit": "job", "price": "1", "currency": "EUR", "free_tier": "ten jobs a month" }, "reads_as": "priced" }, { "name": "not free, and no price set", "billing": { "free": false, "priced": false }, "reads_as": "unpriced" }, { "name": "no price set, with a free tier", "billing": { "free": false, "priced": false, "free_tier": "100 shots a day" }, "reads_as": "unpriced" }, { "name": "an empty billing says nothing", "billing": {}, "reads_as": "refused" }, { "name": "not free, and nothing more", "billing": { "free": false }, "reads_as": "refused" }, { "name": "no price set, without saying it is not free", "billing": { "priced": false }, "reads_as": "refused" }, { "name": "no price set, and a price", "billing": { "free": false, "priced": false, "unit": "shot", "price": "0.01", "currency": "USD" }, "reads_as": "refused" }, { "name": "a price beside priced, which only the form with no price has", "billing": { "free": false, "priced": true, "unit": "shot", "price": "0.01", "currency": "USD" }, "reads_as": "refused" }, { "name": "priced true, and no price", "billing": { "free": false, "priced": true }, "reads_as": "refused" }, { "name": "priced as a string", "billing": { "free": false, "priced": "false" }, "reads_as": "refused" }, { "name": "free as a string", "billing": { "free": "false", "priced": false }, "reads_as": "refused" }, { "name": "a price that is a number, not a decimal string", "billing": { "unit": "shot", "price": 0.01, "currency": "USD" }, "reads_as": "refused" }, { "name": "a price with no currency", "billing": { "unit": "shot", "price": "0.01" }, "reads_as": "refused" }, { "name": "billing null", "billing": null, "reads_as": "refused" }, { "name": "billing as a string", "billing": "free", "reads_as": "refused" } ], "estimates": [ { "name": "free", "estimate": { "ok": true, "free": true }, "reads_as": "free" }, { "name": "free, with its time and a note", "estimate": { "ok": true, "free": true, "seconds": 3, "note": "queued behind two jobs" }, "reads_as": "free" }, { "name": "an amount per shot", "estimate": { "ok": true, "free": false, "amount": "0.3", "currency": "USD", "unit": "shot", "seconds": 4 }, "reads_as": "priced" }, { "name": "the least a job billed by its time can come to", "estimate": { "ok": true, "free": false, "amount": "0.05", "currency": "USD", "unit": "minute", "at_least": true }, "reads_as": "priced" }, { "name": "not free, and no price set", "estimate": { "ok": true, "free": false, "priced": false }, "reads_as": "unpriced" }, { "name": "no price set, with its time and a note", "estimate": { "ok": true, "free": false, "priced": false, "seconds": 120, "note": "no price yet for this device" }, "reads_as": "unpriced" }, { "name": "no price set for a landscape job, its counts stated", "estimate": { "ok": true, "free": false, "priced": false, "operations": 933, "bytes": 3408778 }, "reads_as": "unpriced" }, { "name": "not free, and nothing more", "estimate": { "ok": true, "free": false }, "reads_as": "refused" }, { "name": "no free", "estimate": { "ok": true }, "reads_as": "refused" }, { "name": "free as a string", "estimate": { "ok": true, "free": "false", "priced": false }, "reads_as": "refused" }, { "name": "an amount that is a number, not a decimal string", "estimate": { "ok": true, "free": false, "amount": 0.3, "currency": "USD" }, "reads_as": "refused" }, { "name": "an amount with no currency", "estimate": { "ok": true, "free": false, "amount": "0.3" }, "reads_as": "refused" }, { "name": "no price set, and an amount", "estimate": { "ok": true, "free": false, "priced": false, "amount": "1", "currency": "USD" }, "reads_as": "refused" }, { "name": "no price set, and a unit", "estimate": { "ok": true, "free": false, "priced": false, "unit": "shot" }, "reads_as": "refused" }, { "name": "no price set, and at least", "estimate": { "ok": true, "free": false, "priced": false, "at_least": true }, "reads_as": "refused" }, { "name": "no price set, and free", "estimate": { "ok": true, "free": true, "priced": false }, "reads_as": "refused" }, { "name": "priced true, beside an amount", "estimate": { "ok": true, "free": false, "priced": true, "amount": "1", "currency": "USD" }, "reads_as": "refused" }, { "name": "priced as a string", "estimate": { "ok": true, "free": false, "priced": "false" }, "reads_as": "refused" }, { "name": "priced null", "estimate": { "ok": true, "free": false, "priced": null }, "reads_as": "refused" } ], "results": [ { "name": "every shot asked, with no accepted_shots", "asked": 400, "result": { "ok": true, "counts": { "00": 197, "11": 203 }, "shots": 400 }, "reads_as": "kept", "of": 400 }, { "name": "fewer kept than asked: a post-selected readout", "asked": 400, "result": { "ok": true, "counts": { "00": 180, "11": 193 }, "shots": 400, "accepted_shots": 373 }, "reads_as": "kept", "of": 373 }, { "name": "more kept than asked: a device that ran more", "asked": 400, "result": { "ok": true, "counts": { "00": 210, "11": 202 }, "shots": 400, "accepted_shots": 412 }, "reads_as": "kept", "of": 412 }, { "name": "accepted_shots the shots asked", "asked": 400, "result": { "ok": true, "counts": { "00": 197, "11": 203 }, "shots": 400, "accepted_shots": 400 }, "reads_as": "kept", "of": 400 }, { "name": "one shot kept", "asked": 400, "result": { "ok": true, "counts": { "11": 1 }, "shots": 400, "accepted_shots": 1 }, "reads_as": "kept", "of": 1 }, { "name": "fewer shots than asked, and no accepted_shots", "asked": 400, "result": { "ok": true, "counts": { "00": 180, "11": 193 }, "shots": 400 }, "reads_as": "refused" }, { "name": "every shot asked, beside an accepted_shots of fewer", "asked": 400, "result": { "ok": true, "counts": { "00": 197, "11": 203 }, "shots": 400, "accepted_shots": 373 }, "reads_as": "refused" }, { "name": "counts one short of their accepted_shots", "asked": 400, "result": { "ok": true, "counts": { "00": 180, "11": 193 }, "shots": 400, "accepted_shots": 374 }, "reads_as": "refused" }, { "name": "accepted_shots 0, no shot kept", "asked": 400, "result": { "ok": true, "counts": {}, "shots": 400, "accepted_shots": 0 }, "reads_as": "refused" }, { "name": "accepted_shots with a fraction", "asked": 400, "result": { "ok": true, "counts": { "00": 180, "11": 193 }, "shots": 400, "accepted_shots": 373.5 }, "reads_as": "refused" }, { "name": "accepted_shots as a string", "asked": 400, "result": { "ok": true, "counts": { "00": 180, "11": 193 }, "shots": 400, "accepted_shots": "373" }, "reads_as": "refused" }, { "name": "accepted_shots below zero", "asked": 400, "result": { "ok": true, "counts": { "00": 180, "11": 193 }, "shots": 400, "accepted_shots": -1 }, "reads_as": "refused" } ], "programs": [ { "name": "probe", "qasm": "OPENQASM 3.0;\nqubit[2] q;\nx q[0];\n", "shots": 200, "expect": { "top": "01", "at_least": 0.8 } }, { "name": "named bits", "qasm": "OPENQASM 3.0;\nqubit[2] q;\nbit[2] c;\nx q[1];\nc[0] = measure q[1];\nc[1] = measure q[0];\n", "shots": 200, "expect": { "top": "01", "at_least": 0.8 } }, { "name": "a phase only interference shows", "qasm": "OPENQASM 3.0;\nqubit[1] q;\nh q[0];\nt q[0];\nt q[0];\nt q[0];\nt q[0];\nh q[0];\n", "shots": 200, "expect": { "top": "1", "at_least": 0.8 } }, { "name": "a phase kicked back by two quarter-turn controlled phases", "qasm": "OPENQASM 3.0;\nqubit[2] q;\nx q[0];\nh q[1];\ncp(pi/2) q[0], q[1];\ncp(pi/2) q[0], q[1];\nh q[1];\n", "shots": 200, "expect": { "top": "11", "at_least": 0.8 } }, { "name": "a Bell pair", "qasm": "OPENQASM 3.0;\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;\n", "shots": 400, "expect": { "support": ["00", "11"], "at_least": 0.8, "each_at_least": 0.3 } }, { "name": "a triangle of two-qubit gates, routed", "qasm": "OPENQASM 3.0;\nqubit[3] q;\nh q[0];\ncx q[0], q[1];\ncx q[1], q[2];\ncx q[0], q[2];\n", "shots": 400, "expect": { "support": ["000", "011"], "at_least": 0.8, "each_at_least": 0.3 } } ], "landscape": { "about": "Energy-landscape jobs (section 11), for a device whose `describe` offers them. `messages` are each sent as an `estimate`, each answer checked against `expect`, and a refusal's `line` where it names one; a device that does not list `run` gets each with its first operation in its place. A message that names its `version` is sent only to a device whose description lists that version of the landscape protocol; one that names none holds in every version, and a device that does not list the first gets it with its own version named in the request. A device is sent only the `jobs` of the versions it lists (a job's version is its request's `protocol`, the first where it names none), and a job of a version it does not list must not be taken: `unsupported`, or `refused` from a provider of the earlier text. `jobs` are each estimated, their `operations` and `bytes` held to `expect` (quantum-landscape section 2.0's count, the same on every host), then run when every estimate says free or the person allows the spend: their answers held to quantum-landscape section 5.4 and, from a member at parity `reference` or `bit-exact`, to `replay` (a run's replay digest) or `lines_blake3` (the BLAKE3 of a replay's lines), the reference's bits.", "messages": [ { "name": "a message with a program and a landscape job beside it is invalid", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "program": {"format": "wai.native/1", "basis": "rzsxxcz", "bits": 1, "gates": [], "measure": [{"qubit": 0, "bit": 0}]}, "shots": 10, "landscape": {"op": "run", "request": {"program": "vars 2\nagree 0 1\nminimize\n"}}}, "expect": {"ok": false, "code": ["invalid"]} }, { "name": "a landscape job that is not an object is invalid", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": "run"}, "expect": {"ok": false, "code": ["invalid"]} }, { "name": "an operation that runs nothing is invalid", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "examples", "request": {"program": "vars 1\nsolve\n"}}}, "expect": {"ok": false, "code": ["invalid"]} }, { "name": "an operation the extension does not have is invalid", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "fly", "request": {"program": "vars 1\nsolve\n"}}}, "expect": {"ok": false, "code": ["invalid"]} }, { "name": "a request that is not an object is invalid", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": "vars 1\nsolve\n"}}, "expect": {"ok": false, "code": ["invalid"]} }, { "name": "a program the reader refuses is refused, naming its line", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 2\nagree 0 1\noppos 0 1\nsolve\n"}}}, "expect": {"ok": false, "code": ["refused"], "line": 3} }, { "name": "a temperature written with an exponent is refused", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 1\nsolve\n", "temperature": "1e2"}}}, "expect": {"ok": false, "code": ["refused"]} }, { "name": "a seed past 64 bits is refused", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 1\nsolve\n", "seed": "18446744073709551616"}}}, "expect": {"ok": false, "code": ["refused"]} }, { "name": "a request naming another protocol is refused", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 1\nsolve\n", "protocol": "another/9"}}}, "expect": {"ok": false, "code": ["refused"]} }, { "name": "a job past the operations a job may take is refused, at its run line", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 4096\nsolve restarts=100000 steps=1000000\n"}}}, "expect": {"ok": false, "code": ["refused"], "line": 2} }, { "name": "a second-version constraint that names a variable twice is refused, naming its line", "version": "wai.quantum.landscape/2", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 3\nexactly 1 0 0 1\nsolve\n", "protocol": "wai.quantum.landscape/2"}}}, "expect": {"ok": false, "code": ["refused"], "line": 2} }, { "name": "at most two of a group, which the second version does not write, is refused, naming its line", "version": "wai.quantum.landscape/2", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 3\natmost 2 0 1 2\nsolve\n", "protocol": "wai.quantum.landscape/2"}}}, "expect": {"ok": false, "code": ["refused"], "line": 2} }, { "name": "a second-version statement in a job of the first version is refused, naming its line", "version": "wai.quantum.landscape/1", "send": {"protocol": "wai.quantum.provider/1", "op": "estimate", "landscape": {"op": "run", "request": {"program": "vars 3\nexactly 1 0 1 2\nsolve\n"}}}, "expect": {"ok": false, "code": ["refused"], "line": 2} } ], "jobs": [ { "name": "the talks, run at seed 7", "op": "run", "request": {"program": "#! title Twelve talks, two rooms\n#! about Twelve talks go into room A or room B, or are left out. Talks that share an audience must not be in the same room. Talks in a series belong in the same room. Every talk that runs takes a slot, so a talk with little reason to run stays out.\n#! item talk\n#! plus room A\n#! minus room B\n#! zero left out\n#! expect works\n#\n# Three states per variable: + is room A, - is room B, 0 is left out.\n# `agree I J` talks I and J form a series: the same room.\n# `oppose I J` talks I and J share an audience: different rooms.\n# `cost 1` each talk that runs costs 1.\nvars 12\ncost 1\nagree 0 1\nagree 0 2\nagree 0 3\nagree 1 2\nagree 1 3\nagree 2 3\nagree 4 5\nagree 4 6\nagree 4 7\nagree 5 6\nagree 5 7\nagree 6 7\noppose 0 4\noppose 1 5\noppose 2 6\noppose 3 7\noppose 8 0\noppose 8 1\nagree 9 4\nagree 9 5\noppose 10 11\nsolve restarts=8 steps=40\n", "seed": "7"}, "expect": {"operations": 6930573, "bytes": 3411851, "replay": "e92f3f68dd4df5290ac3fbd9dcbb5234d71e106355538a55059fdd55efaf03a6"} }, { "name": "a chain, settled", "op": "run", "request": {"program": "vars 6\nagree 0 1\nagree 1 2\nagree 2 3\nagree 3 4\nagree 4 5\nfield 0 1\nminimize\n"}, "expect": {"operations": 6151, "bytes": 3408944, "replay": "689f955bb8435530f47fc3dd9a01431142c7f8a7c168fe2fa44e541ce2afa381"} }, { "name": "a temperature given as text", "op": "run", "request": {"program": "vars 4\ncost 1\nagree 0 1\nagree 0 2\nagree 1 2\noppose 2 3\nagree 3 0\nsolve restarts=2 steps=9\n", "seed": "3", "temperature": "0.5"}, "expect": {"operations": 933, "bytes": 3408778, "replay": "ddb2beeedde77667248d581aa8f67baa8606785be276aa6d636270fc13400d8c"} }, { "name": "the talks, replayed at eight seeds", "op": "replay", "request": {"program": "#! title Twelve talks, two rooms\n#! about Twelve talks go into room A or room B, or are left out. Talks that share an audience must not be in the same room. Talks in a series belong in the same room. Every talk that runs takes a slot, so a talk with little reason to run stays out.\n#! item talk\n#! plus room A\n#! minus room B\n#! zero left out\n#! expect works\n#\n# Three states per variable: + is room A, - is room B, 0 is left out.\n# `agree I J` talks I and J form a series: the same room.\n# `oppose I J` talks I and J share an audience: different rooms.\n# `cost 1` each talk that runs costs 1.\nvars 12\ncost 1\nagree 0 1\nagree 0 2\nagree 0 3\nagree 1 2\nagree 1 3\nagree 2 3\nagree 4 5\nagree 4 6\nagree 4 7\nagree 5 6\nagree 5 7\nagree 6 7\noppose 0 4\noppose 1 5\noppose 2 6\noppose 3 7\noppose 8 0\noppose 8 1\nagree 9 4\nagree 9 5\noppose 10 11\nsolve restarts=8 steps=40\n", "seed": "1", "seeds": 8}, "expect": {"operations": 7082445, "bytes": 3413899, "lines_blake3": "0f61c801b18264ecb427e3f7bd00c21705bc862e2e03281c8b518b12d6c2e8a4"} }, { "name": "a sweep at two temperatures", "op": "sweep", "request": {"program": "vars 4\ncost 1\nagree 0 1\nagree 0 2\nagree 1 2\noppose 2 3\nagree 3 0\nsolve restarts=2 steps=9\n", "seeds": 2, "temperatures": [0, 1.5]}, "expect": {"operations": 2037, "bytes": 3408778} }, { "name": "a comparison with the classical methods", "op": "compare", "request": {"program": "vars 4\ncost 1\nagree 0 1\nagree 0 2\nagree 1 2\noppose 2 3\nagree 3 0\nsolve restarts=2 steps=9\n", "seeds": 2}, "expect": {"operations": 5541, "bytes": 3408778} }, { "name": "second version: the 3×3 assignment, run at seed 1, its joules unpriced", "op": "run", "request": {"program": "#! title Three workers, three jobs\n#! about A 3×3 grid: row r is a worker, column c a job, and + means worker r takes job c. Each row and each column holds exactly one +, every other cell -. The first version could not write this above 2×2; here each cell takes only + and -, and every state of lowest energy is one of the six assignments.\n#! expect works\n#! item cell\n#! plus chosen\n#! minus not chosen\n#! check exactly 1 0-1-2 3-4-5 6-7-8 0-3-6 1-4-7 2-5-8\n#\n# Variable 3·r + c is the cell of row r and column c: + chosen, - not.\nvars 9\nexactly 1 0 1 2\nexactly 1 3 4 5\nexactly 1 6 7 8\nexactly 1 0 3 6\nexactly 1 1 4 7\nexactly 1 2 5 8\nsolve restarts=8 steps=40\n", "protocol": "wai.quantum.landscape/2", "seed": "1"}, "expect": {"operations": 569304, "bytes": 3411065, "replay": "b2f31444d0854232ada08db77519719ce458838bea16e6ad05490f4eea1af149"} }, { "name": "second version: costs of either sign, settled, its joules priced", "op": "run", "request": {"program": "vars 4\ncost -1\ncost 3 2\nagree 0 1\noppose 1 2\nfield 0 1\nminimize\n", "protocol": "wai.quantum.landscape/2"}, "expect": {"operations": 925, "bytes": 3408464, "replay": "16d0c8bca58edc397f45e2b1d33972345ab18ce3611a035ff9911de86d1bcaad"} }, { "name": "second version: one of three, quenched at a temperature given as text", "op": "run", "request": {"program": "vars 3\nexactly 1 0 1 2\nfield 0 1\nsolve restarts=2 steps=9\n", "protocol": "wai.quantum.landscape/2", "seed": "3", "temperature": "0"}, "expect": {"operations": 306, "bytes": 3408467, "replay": "cdd253818bd561821a7083f8b680f21518da78ca8162b7f3c1cd3ea3b0deec33"} }, { "name": "second version: the 3×3 assignment, replayed at four seeds", "op": "replay", "request": {"program": "#! title Three workers, three jobs\n#! about A 3×3 grid: row r is a worker, column c a job, and + means worker r takes job c. Each row and each column holds exactly one +, every other cell -. The first version could not write this above 2×2; here each cell takes only + and -, and every state of lowest energy is one of the six assignments.\n#! expect works\n#! item cell\n#! plus chosen\n#! minus not chosen\n#! check exactly 1 0-1-2 3-4-5 6-7-8 0-3-6 1-4-7 2-5-8\n#\n# Variable 3·r + c is the cell of row r and column c: + chosen, - not.\nvars 9\nexactly 1 0 1 2\nexactly 1 3 4 5\nexactly 1 6 7 8\nexactly 1 0 3 6\nexactly 1 1 4 7\nexactly 1 2 5 8\nsolve restarts=8 steps=40\n", "protocol": "wai.quantum.landscape/2", "seed": "1", "seeds": 4}, "expect": {"operations": 623601, "bytes": 3412089, "lines_blake3": "642d14fd577f01972dbbde12af4b481bad6ef90027ac8f5f179bcc1b5d3f06db"} }, { "name": "second version: a sweep at two temperatures", "op": "sweep", "request": {"program": "vars 3\nexactly 1 0 1 2\nfield 0 1\nsolve restarts=2 steps=9\n", "protocol": "wai.quantum.landscape/2", "seeds": 2, "temperatures": [0, 1.5]}, "expect": {"operations": 1143, "bytes": 3408467} }, { "name": "second version: a comparison with the classical methods", "op": "compare", "request": {"program": "vars 3\nexactly 1 0 1 2\nfield 0 1\nsolve restarts=2 steps=9\n", "protocol": "wai.quantum.landscape/2", "seeds": 2}, "expect": {"operations": 3357, "bytes": 3408467} } ] }, "reference": { "seed": 1, "counts": { "probe": { "01": 200 }, "named bits": { "01": 200 }, "a phase only interference shows": { "1": 200 }, "a phase kicked back by two quarter-turn controlled phases": { "11": 200 }, "a Bell pair": { "00": 193, "11": 207 }, "a triangle of two-qubit gates, routed": { "000": 193, "011": 207 } } } }