diff --git a/docs/api/qiskit-ibm-runtime/dev/_toc.json b/docs/api/qiskit-ibm-runtime/dev/_toc.json index 8c469dd6263..801b22be5c9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/_toc.json +++ b/docs/api/qiskit-ibm-runtime/dev/_toc.json @@ -53,6 +53,10 @@ "title": "Overview", "url": "/api/qiskit-ibm-runtime/dev/fake_provider" }, + { + "title": "FakeAlgiers", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers" + }, { "title": "FakeAlmaden", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden" @@ -105,6 +109,10 @@ "title": "FakeBogotaV2", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2" }, + { + "title": "FakeBrisbane", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane" + }, { "title": "FakeBrooklyn", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn" @@ -145,6 +153,10 @@ "title": "FakeCasablancaV2", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2" }, + { + "title": "FakeCusco", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco" + }, { "title": "FakeEssex", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex" @@ -189,6 +201,10 @@ "title": "FakeJohannesburgV2", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2" }, + { + "title": "FakeKawasaki", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki" + }, { "title": "FakeKolkata", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata" @@ -197,6 +213,14 @@ "title": "FakeKolkataV2", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2" }, + { + "title": "FakeKyiv", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv" + }, + { + "title": "FakeKyoto", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto" + }, { "title": "FakeLagos", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos" @@ -269,6 +293,10 @@ "title": "FakeNairobiV2", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2" }, + { + "title": "FakeOsaka", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka" + }, { "title": "FakeOslo", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo" @@ -289,6 +317,10 @@ "title": "FakeParisV2", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2" }, + { + "title": "FakePeekskill", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill" + }, { "title": "FakePerth", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth" @@ -313,6 +345,10 @@ "title": "FakeProviderForBackendV2", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2" }, + { + "title": "FakeQuebec", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec" + }, { "title": "FakeQuito", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito" @@ -377,6 +413,10 @@ "title": "FakeTokyo", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTokyo" }, + { + "title": "FakeTorino", + "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino" + }, { "title": "FakeToronto", "url": "/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto" diff --git a/docs/api/qiskit-ibm-runtime/dev/fake_provider.md b/docs/api/qiskit-ibm-runtime/dev/fake_provider.md index 94e693652a9..27ddb888a74 100644 --- a/docs/api/qiskit-ibm-runtime/dev/fake_provider.md +++ b/docs/api/qiskit-ibm-runtime/dev/fake_provider.md @@ -1,7 +1,7 @@ --- title: fake_provider description: API reference for qiskit_ibm_runtime.fake_provider -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit_ibm_runtime.fake_provider --- @@ -90,6 +90,7 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | | | | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | +| [`FakeAlgiers`](qiskit_ibm_runtime.fake_provider.FakeAlgiers "qiskit_ibm_runtime.fake_provider.FakeAlgiers")() | A fake 27 qubit backend. | | [`FakeAlmadenV2`](qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 "qiskit_ibm_runtime.fake_provider.FakeAlmadenV2")() | A fake Almaden V2 backend. | | [`FakeArmonkV2`](qiskit_ibm_runtime.fake_provider.FakeArmonkV2 "qiskit_ibm_runtime.fake_provider.FakeArmonkV2")() | A fake 1 qubit backend. | | [`FakeAthensV2`](qiskit_ibm_runtime.fake_provider.FakeAthensV2 "qiskit_ibm_runtime.fake_provider.FakeAthensV2")() | A fake 5 qubit backend. | @@ -97,18 +98,23 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | [`FakeBelemV2`](qiskit_ibm_runtime.fake_provider.FakeBelemV2 "qiskit_ibm_runtime.fake_provider.FakeBelemV2")() | A fake 5 qubit backend. | | [`FakeBoeblingenV2`](qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 "qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2")() | A fake Boeblingen V2 backend. | | [`FakeBogotaV2`](qiskit_ibm_runtime.fake_provider.FakeBogotaV2 "qiskit_ibm_runtime.fake_provider.FakeBogotaV2")() | A fake 5 qubit backend. | +| [`FakeBrisbane`](qiskit_ibm_runtime.fake_provider.FakeBrisbane "qiskit_ibm_runtime.fake_provider.FakeBrisbane")() | A fake 127 qubit backend. | | [`FakeBrooklynV2`](qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 "qiskit_ibm_runtime.fake_provider.FakeBrooklynV2")() | A fake Brooklyn V2 backend. | | [`FakeBurlingtonV2`](qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 "qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2")() | A fake 5 qubit backend. | | [`FakeCairoV2`](qiskit_ibm_runtime.fake_provider.FakeCairoV2 "qiskit_ibm_runtime.fake_provider.FakeCairoV2")() | A fake 27 qubit backend. | | [`FakeCambridgeV2`](qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 "qiskit_ibm_runtime.fake_provider.FakeCambridgeV2")() | A fake Cambridge backend. | | [`FakeCasablancaV2`](qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 "qiskit_ibm_runtime.fake_provider.FakeCasablancaV2")() | A fake 7 qubit backend. | +| [`FakeCusco`](qiskit_ibm_runtime.fake_provider.FakeCusco "qiskit_ibm_runtime.fake_provider.FakeCusco")() | A fake 127 qubit backend. | | [`FakeEssexV2`](qiskit_ibm_runtime.fake_provider.FakeEssexV2 "qiskit_ibm_runtime.fake_provider.FakeEssexV2")() | A fake 5 qubit backend. | | [`FakeGeneva`](qiskit_ibm_runtime.fake_provider.FakeGeneva "qiskit_ibm_runtime.fake_provider.FakeGeneva")() | A fake 27 qubit backend. | | [`FakeGuadalupeV2`](qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 "qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2")() | A fake 16 qubit backend. | | [`FakeHanoiV2`](qiskit_ibm_runtime.fake_provider.FakeHanoiV2 "qiskit_ibm_runtime.fake_provider.FakeHanoiV2")() | A fake 27 qubit backend. | | [`FakeJakartaV2`](qiskit_ibm_runtime.fake_provider.FakeJakartaV2 "qiskit_ibm_runtime.fake_provider.FakeJakartaV2")() | A fake 7 qubit V2 backend. | | [`FakeJohannesburgV2`](qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 "qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2")() | A fake Johannesburg V2 backend. | +| [`FakeKawasaki`](qiskit_ibm_runtime.fake_provider.FakeKawasaki "qiskit_ibm_runtime.fake_provider.FakeKawasaki")() | A fake 127 qubit backend. | | [`FakeKolkataV2`](qiskit_ibm_runtime.fake_provider.FakeKolkataV2 "qiskit_ibm_runtime.fake_provider.FakeKolkataV2")() | A fake 27 qubit backend. | +| [`FakeKyiv`](qiskit_ibm_runtime.fake_provider.FakeKyiv "qiskit_ibm_runtime.fake_provider.FakeKyiv")() | A fake 127 qubit backend. | +| [`FakeKyoto`](qiskit_ibm_runtime.fake_provider.FakeKyoto "qiskit_ibm_runtime.fake_provider.FakeKyoto")() | A fake 127 qubit backend. | | [`FakeLagosV2`](qiskit_ibm_runtime.fake_provider.FakeLagosV2 "qiskit_ibm_runtime.fake_provider.FakeLagosV2")() | A fake 7 qubit backend. | | [`FakeLimaV2`](qiskit_ibm_runtime.fake_provider.FakeLimaV2 "qiskit_ibm_runtime.fake_provider.FakeLimaV2")() | A fake 5 qubit backend. | | [`FakeLondonV2`](qiskit_ibm_runtime.fake_provider.FakeLondonV2 "qiskit_ibm_runtime.fake_provider.FakeLondonV2")() | A fake 5 qubit backend. | @@ -118,12 +124,15 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | [`FakeMontrealV2`](qiskit_ibm_runtime.fake_provider.FakeMontrealV2 "qiskit_ibm_runtime.fake_provider.FakeMontrealV2")() | A fake 27 qubit backend. | | [`FakeMumbaiV2`](qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 "qiskit_ibm_runtime.fake_provider.FakeMumbaiV2")() | A fake 27 qubit backend. | | [`FakeNairobiV2`](qiskit_ibm_runtime.fake_provider.FakeNairobiV2 "qiskit_ibm_runtime.fake_provider.FakeNairobiV2")() | A fake 7 qubit backend. | +| [`FakeOsaka`](qiskit_ibm_runtime.fake_provider.FakeOsaka "qiskit_ibm_runtime.fake_provider.FakeOsaka")() | A fake 127 qubit backend. | | [`FakeOslo`](qiskit_ibm_runtime.fake_provider.FakeOslo "qiskit_ibm_runtime.fake_provider.FakeOslo")() | A fake 7 qubit backend. | | [`FakeOurenseV2`](qiskit_ibm_runtime.fake_provider.FakeOurenseV2 "qiskit_ibm_runtime.fake_provider.FakeOurenseV2")() | A fake 5 qubit backend. | | [`FakeParisV2`](qiskit_ibm_runtime.fake_provider.FakeParisV2 "qiskit_ibm_runtime.fake_provider.FakeParisV2")() | A fake Paris backend. | +| [`FakePeekskill`](qiskit_ibm_runtime.fake_provider.FakePeekskill "qiskit_ibm_runtime.fake_provider.FakePeekskill")() | A fake 27 qubit backend. | | [`FakePerth`](qiskit_ibm_runtime.fake_provider.FakePerth "qiskit_ibm_runtime.fake_provider.FakePerth")() | A fake 7 qubit backend. | | [`FakePrague`](qiskit_ibm_runtime.fake_provider.FakePrague "qiskit_ibm_runtime.fake_provider.FakePrague")() | A fake 33 qubit backend. | | [`FakePoughkeepsieV2`](qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 "qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2")() | A fake Poughkeepsie backend. | +| [`FakeQuebec`](qiskit_ibm_runtime.fake_provider.FakeQuebec "qiskit_ibm_runtime.fake_provider.FakeQuebec")() | A fake 127 qubit backend. | | [`FakeQuitoV2`](qiskit_ibm_runtime.fake_provider.FakeQuitoV2 "qiskit_ibm_runtime.fake_provider.FakeQuitoV2")() | A fake 5 qubit backend. | | [`FakeRochesterV2`](qiskit_ibm_runtime.fake_provider.FakeRochesterV2 "qiskit_ibm_runtime.fake_provider.FakeRochesterV2")() | A fake Rochester backend. | | [`FakeRomeV2`](qiskit_ibm_runtime.fake_provider.FakeRomeV2 "qiskit_ibm_runtime.fake_provider.FakeRomeV2")() | A fake 5 qubit backend. | @@ -131,6 +140,7 @@ Fake V2 backends are fake backends with IBM Quantum systems snapshots implemente | [`FakeSherbrooke`](qiskit_ibm_runtime.fake_provider.FakeSherbrooke "qiskit_ibm_runtime.fake_provider.FakeSherbrooke")() | A fake 127 qubit backend. | | [`FakeSingaporeV2`](qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 "qiskit_ibm_runtime.fake_provider.FakeSingaporeV2")() | A fake Singapore backend. | | [`FakeSydneyV2`](qiskit_ibm_runtime.fake_provider.FakeSydneyV2 "qiskit_ibm_runtime.fake_provider.FakeSydneyV2")() | A fake 27 qubit backend. | +| [`FakeTorino`](qiskit_ibm_runtime.fake_provider.FakeTorino "qiskit_ibm_runtime.fake_provider.FakeTorino")() | A fake 133 qubit backend. | | [`FakeTorontoV2`](qiskit_ibm_runtime.fake_provider.FakeTorontoV2 "qiskit_ibm_runtime.fake_provider.FakeTorontoV2")() | A fake 27 qubit backend. | | [`FakeValenciaV2`](qiskit_ibm_runtime.fake_provider.FakeValenciaV2 "qiskit_ibm_runtime.fake_provider.FakeValenciaV2")() | A fake 5 qubit backend. | | [`FakeVigoV2`](qiskit_ibm_runtime.fake_provider.FakeVigoV2 "qiskit_ibm_runtime.fake_provider.FakeVigoV2")() | A fake 5 qubit backend. | diff --git a/docs/api/qiskit-ibm-runtime/dev/options.md b/docs/api/qiskit-ibm-runtime/dev/options.md index 64e30e74eff..5d3a56bc888 100644 --- a/docs/api/qiskit-ibm-runtime/dev/options.md +++ b/docs/api/qiskit-ibm-runtime/dev/options.md @@ -1,7 +1,7 @@ --- title: options description: API reference for qiskit_ibm_runtime.options -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit_ibm_runtime.options --- diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.md index a7fd9946ce5..23b9c932ad7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Estimator.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.Estimator -`Estimator(backend=None, session=None, options=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/estimator.py "view source code") +`Estimator(backend=None, session=None, options=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/estimator.py#L36-L219 "view source code") Class for interacting with Qiskit Runtime Estimator primitive service. @@ -131,7 +131,7 @@ Submitted job. The result of the job is an instance of `qiskit.primitives.Estima -`set_options(**fields)` +`set_options(**fields)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/base_primitive.py#L225-L231 "view source code") Set options values for the sampler. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.md index 46e95e7845a..e25f58729f7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.IBMBackend.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.IBMBackend -`IBMBackend(configuration, service, api_client, instance=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py "view source code") +`IBMBackend(configuration, service, api_client, instance=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L75-L856 "view source code") Backend class interfacing with an IBM Quantum backend. @@ -364,7 +364,7 @@ Call self as a function. -`acquire_channel(qubit)` +`acquire_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L480-L486 "view source code") Return the acquisition channel for the given qubit. @@ -380,7 +380,7 @@ AcquireChannel -`cancel_session()` +`cancel_session()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L839-L846 "view source code") Cancel session. All pending jobs will be cancelled. @@ -392,7 +392,7 @@ Cancel session. All pending jobs will be cancelled. -`check_faulty(circuit)` +`check_faulty(circuit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L530-L562 "view source code") Check if the input circuit uses faulty qubits or edges. @@ -412,7 +412,7 @@ Check if the input circuit uses faulty qubits or edges. -`close_session()` +`close_session()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L848-L856 "view source code") Close the session so new jobs will no longer be accepted, but existing queued or running jobs will run to completion. The session will be terminated once there are no more pending jobs. @@ -424,7 +424,7 @@ Close the session so new jobs will no longer be accepted, but existing queued or -`configuration()` +`configuration()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L447-L462 "view source code") Return the backend configuration. @@ -444,7 +444,7 @@ The configuration for the backend. -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L488-L501 "view source code") Return the secondary drive channel for the given qubit @@ -466,7 +466,7 @@ List\[ControlChannel] -`defaults(refresh=False)` +`defaults(refresh=False)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L424-L445 "view source code") Return the pulse defaults for the backend. @@ -488,7 +488,7 @@ The backend pulse defaults or `None` if the backend does not support pulse. -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L464-L470 "view source code") Return the drive channel for the given qubit. @@ -504,7 +504,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L472-L478 "view source code") Return the measure stimulus channel for the given qubit. @@ -520,7 +520,7 @@ MeasureChannel -`open_session(max_time=None)` +`open_session(max_time=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L823-L832 "view source code") Open session @@ -532,7 +532,7 @@ Open session -`properties(refresh=False, datetime=None)` +`properties(refresh=False, datetime=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L348-L398 "view source code") Return the backend properties, subject to optional filtering. @@ -588,7 +588,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(circuits, dynamic=None, job_tags=None, init_circuit=None, init_num_resets=None, header=None, shots=None, memory=None, meas_level=None, meas_return=None, rep_delay=None, init_qubits=None, use_measure_esp=None, noise_model=None, seed_simulator=None, **run_config)` +`run(circuits, dynamic=None, job_tags=None, init_circuit=None, init_num_resets=None, header=None, shots=None, memory=None, meas_level=None, meas_return=None, rep_delay=None, init_qubits=None, use_measure_esp=None, noise_model=None, seed_simulator=None, **run_config)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L582-L739 "view source code") Run on the backend. If a keyword specified here is also present in the `options` attribute/object, the value specified here will be used for this run. @@ -681,7 +681,7 @@ This method is used to update the options of a backend. If you need to change an -`status()` +`status()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L400-L422 "view source code") Return the backend status. @@ -705,7 +705,7 @@ The status of the backend. -`target_history(datetime=None)` +`target_history(datetime=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/ibm_backend.py#L338-L346 "view source code") A `qiskit.transpiler.Target` object for the backend. :rtype: `Target` :returns: Target with properties found on datetime diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.QiskitRuntimeService.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.QiskitRuntimeService.md index 7d110710599..49b7bd2c1c6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.QiskitRuntimeService.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.QiskitRuntimeService.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.QiskitRuntimeService -`QiskitRuntimeService(channel=None, token=None, url=None, filename=None, name=None, instance=None, proxies=None, verify=None, channel_strategy=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py "view source code") +`QiskitRuntimeService(channel=None, token=None, url=None, filename=None, name=None, instance=None, proxies=None, verify=None, channel_strategy=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L64-L1219 "view source code") Class for interacting with the Qiskit Runtime service. @@ -157,7 +157,7 @@ A dictionary with information about the account currently in the session. -`backend(name=None, instance=None)` +`backend(name=None, instance=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L817-L847 "view source code") Return a single backend matching the specified filtering. @@ -182,7 +182,7 @@ Backend -`backends(name=None, min_num_qubits=None, instance=None, dynamic_circuits=None, filters=None, **kwargs)` +`backends(name=None, min_num_qubits=None, instance=None, dynamic_circuits=None, filters=None, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L544-L652 "view source code") Return all backends accessible via this account, subject to optional filtering. @@ -241,7 +241,7 @@ The list of available backends that match the filter. -`static delete_account(filename=None, name=None, channel=None)` +`static delete_account(filename=None, name=None, channel=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L716-L734 "view source code") Delete a saved account from disk. @@ -263,7 +263,7 @@ True if the account was deleted. False if no account was found. -`delete_job(job_id)` +`delete_job(job_id)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L1077-L1094 "view source code") Delete a runtime job. @@ -286,7 +286,7 @@ Note that this operation cannot be reversed. -`get_backend(name=None, **kwargs)` +`get_backend(name=None, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L849-L850 "view source code") Return a single backend matching the specified filtering. @@ -311,7 +311,7 @@ Backend -`instances()` +`instances()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L1184-L1192 "view source code") Return the IBM Quantum instances list currently in use for the session. @@ -327,7 +327,7 @@ A list with instances currently in the session. -`job(job_id)` +`job(job_id)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L960-L979 "view source code") Retrieve a runtime job. @@ -352,7 +352,7 @@ Runtime job retrieved. -`jobs(limit=10, skip=0, backend_name=None, pending=None, program_id=None, instance=None, job_tags=None, session_id=None, created_after=None, created_before=None, descending=True)` +`jobs(limit=10, skip=0, backend_name=None, pending=None, program_id=None, instance=None, job_tags=None, session_id=None, created_after=None, created_before=None, descending=True)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L981-L1075 "view source code") Retrieve all runtime jobs, subject to optional filtering. @@ -386,7 +386,7 @@ A list of runtime jobs. -`least_busy(min_num_qubits=None, instance=None, filters=None, **kwargs)` +`least_busy(min_num_qubits=None, instance=None, filters=None, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L1147-L1182 "view source code") Return the least busy available backend. @@ -420,7 +420,7 @@ The backend with the fewest number of pending jobs. -`run(program_id, inputs, options=None, callback=None, result_decoder=None, session_id=None, start_session=False)` +`run(program_id, inputs, options=None, callback=None, result_decoder=None, session_id=None, start_session=False)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L852-L958 "view source code") Execute the runtime program. @@ -463,7 +463,7 @@ A `RuntimeJob` instance representing the execution. -`static save_account(token=None, url=None, instance=None, channel=None, filename=None, name=None, proxies=None, verify=None, overwrite=False, channel_strategy=None, set_as_default=None)` +`static save_account(token=None, url=None, instance=None, channel=None, filename=None, name=None, proxies=None, verify=None, overwrite=False, channel_strategy=None, set_as_default=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L736-L785 "view source code") Save the account to disk for future use. @@ -489,7 +489,7 @@ Save the account to disk for future use. -`static saved_accounts(default=None, channel=None, filename=None, name=None)` +`static saved_accounts(default=None, channel=None, filename=None, name=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/qiskit_runtime_service.py#L787-L815 "view source code") List the accounts saved on disk. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.md index 12a538763a8..308b592348f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeDecoder.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeDecoder -`RuntimeDecoder(*args, **kwargs)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/utils/json.py "view source code") +`RuntimeDecoder(*args, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/utils/json.py#L282-L343 "view source code") JSON Decoder used by runtime service. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.md index 4f0b8cd950d..dd309dd953e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeEncoder.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeEncoder -`RuntimeEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/utils/json.py "view source code") +`RuntimeEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/utils/json.py#L196-L279 "view source code") JSON Encoder used by runtime service. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.md index 646146048f0..890572b3515 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeJob.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeJob -`RuntimeJob(backend, api_client, client_params, job_id, program_id, service, params=None, creation_date=None, user_callback=None, result_decoder=None, image='', session_id=None, tags=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py "view source code") +`RuntimeJob(backend, api_client, client_params, job_id, program_id, service, params=None, creation_date=None, user_callback=None, result_decoder=None, image='', session_id=None, tags=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L55-L752 "view source code") Representation of a runtime program execution. @@ -178,7 +178,7 @@ Return the backend where this job was executed. Retrieve data again if backend i -`cancel()` +`cancel()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L235-L249 "view source code") Cancel the job. @@ -195,7 +195,7 @@ Cancel the job. -`cancel_result_streaming()` +`cancel_result_streaming()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L352-L356 "view source code") Cancel result streaming. @@ -231,7 +231,7 @@ Return whether the job has successfully run. -`error_message()` +`error_message()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L276-L283 "view source code") Returns the reason if the job failed. @@ -259,7 +259,7 @@ Return whether the job is in a final job state such as `DONE` or `ERROR`. -`interim_results(decoder=None)` +`interim_results(decoder=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L178-L196 "view source code") Return the interim results of the job. @@ -295,7 +295,7 @@ Return a unique id identifying the job. -`logs()` +`logs()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L358-L377 "view source code") Return job logs. @@ -319,7 +319,7 @@ Job logs, including standard output and error. -`metrics()` +`metrics()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L379-L391 "view source code") Return job metrics. @@ -339,7 +339,7 @@ Job metrics, which includes timestamp information. -`properties(refresh=False)` +`properties(refresh=False)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L436-L448 "view source code") Return the backend properties for this job. @@ -359,7 +359,7 @@ The backend properties used for this job, at the time the job was run, or `None` -`queue_info()` +`queue_info()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L720-L752 "view source code") Return queue information for this job. @@ -381,7 +381,7 @@ A `QueueInfo` instance that contains queue information for this job, or `None` i -`queue_position(refresh=False)` +`queue_position(refresh=False)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L693-L718 "view source code") Return the position of the job in the server queue. @@ -405,7 +405,7 @@ Position in the queue or `None` if position is unknown or not applicable. -`result(timeout=None, decoder=None)` +`result(timeout=None, decoder=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L198-L233 "view source code") Return the results of the job. @@ -444,7 +444,7 @@ Return whether the job is actively running. -`status()` +`status()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L267-L274 "view source code") Return the status of the job. @@ -460,7 +460,7 @@ Status of this job. -`stream_results(callback, decoder=None)` +`stream_results(callback, decoder=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L322-L350 "view source code") Start streaming job results. @@ -487,7 +487,7 @@ Start streaming job results. -`submit()` +`submit()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L393-L405 "view source code") Unsupported method. .. note: @@ -509,7 +509,7 @@ to submit a job. -`update_tags(new_tags)` +`update_tags(new_tags)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L407-L434 "view source code") Update the tags associated with this job. @@ -533,7 +533,7 @@ The new tags associated with this job. -`wait_for_final_state(timeout=None)` +`wait_for_final_state(timeout=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_job.py#L285-L320 "view source code") Use the websocket server to wait for the final the state of a job. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeOptions.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeOptions.md index d01176dc3ba..ee8f9506592 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeOptions.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.RuntimeOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.RuntimeOptions -`RuntimeOptions(backend=None, image=None, log_level=None, instance=None, job_tags=None, max_execution_time=None, session_time=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_options.py "view source code") +`RuntimeOptions(backend=None, image=None, log_level=None, instance=None, job_tags=None, max_execution_time=None, session_time=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/runtime_options.py#L24-L106 "view source code") Class for representing generic runtime execution options. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.md index e5e1ee77e52..c5f06308337 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Sampler.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.Sampler -`Sampler(backend=None, session=None, options=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/sampler.py "view source code") +`Sampler(backend=None, session=None, options=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/sampler.py#L35-L184 "view source code") Class for interacting with Qiskit Runtime Sampler primitive service. @@ -122,7 +122,7 @@ Submitted job. The result of the job is an instance of `qiskit.primitives.Sample -`set_options(**fields)` +`set_options(**fields)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/base_primitive.py#L225-L231 "view source code") Set options values for the sampler. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.md index 1d57ad53532..01818f5fba1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.Session.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.Session -`Session(service=None, backend=None, max_time=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py "view source code") +`Session(service=None, backend=None, max_time=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py#L40-L342 "view source code") Class for creating a flexible Qiskit Runtime session. @@ -105,7 +105,7 @@ Backend for this session. None if unknown. -`cancel()` +`cancel()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py#L200-L204 "view source code") Cancel all pending jobs in a session. @@ -117,7 +117,7 @@ Cancel all pending jobs in a session. -`close()` +`close()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py#L206-L212 "view source code") Close the session so new jobs will no longer be accepted, but existing queued or running jobs will run to completion. The session will be terminated once there are no more pending jobs. @@ -129,7 +129,7 @@ Close the session so new jobs will no longer be accepted, but existing queued or -`details()` +`details()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py#L248-L284 "view source code") Return session details. @@ -145,7 +145,7 @@ A dictionary with the sessions details, including -`classmethod from_id(session_id, service=None, backend=None)` +`classmethod from_id(session_id, service=None, backend=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py#L304-L329 "view source code") Construct a Session object with a given session\_id @@ -167,7 +167,7 @@ A new Session with the given `session_id` -`run(program_id, inputs, options=None, callback=None, result_decoder=None)` +`run(program_id, inputs, options=None, callback=None, result_decoder=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py#L155-L198 "view source code") Run a program in the session. @@ -190,7 +190,7 @@ Submitted job. -`status()` +`status()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/session.py#L222-L246 "view source code") Return current session status. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers.md new file mode 100644 index 00000000000..bfa2d708963 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlgiers.md @@ -0,0 +1,377 @@ +--- +title: FakeAlgiers +description: API reference for qiskit_ibm_runtime.fake_provider.FakeAlgiers +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlgiers +--- + +# FakeAlgiers + + + +`FakeAlgiers` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/algiers/fake_algiers.py#L21-L28 "view source code") + +A fake 27 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_algiers'` + + + +### conf\_filename + +`= 'conf_algiers.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_algiers.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/algiers'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeAlgiers.run "qiskit_ibm_runtime.fake_provider.FakeAlgiers.run") method. + + + +### props\_filename + +`= 'props_algiers.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.md index 0a54281c83d..a0685783ca7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmaden.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmaden -`FakeAlmaden` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/almaden/fake_almaden.py "view source code") +`FakeAlmaden` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/almaden/fake_almaden.py#L41-L58 "view source code") A fake Almaden backend. @@ -137,7 +137,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.md index ea105766739..e0d0ec0558b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAlmadenV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAlmadenV2 -`FakeAlmadenV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/almaden/fake_almaden.py "view source code") +`FakeAlmadenV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/almaden/fake_almaden.py#L21-L38 "view source code") A fake Almaden V2 backend. @@ -254,7 +254,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -278,7 +278,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -296,7 +296,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -340,7 +340,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.md index 19eaef790b5..f8b91f68f4f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonk.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonk -`FakeArmonk` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/armonk/fake_armonk.py "view source code") +`FakeArmonk` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/armonk/fake_armonk.py#L36-L48 "view source code") A fake 1 qubit backend. @@ -121,7 +121,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -149,7 +149,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.md index 92752cdafe6..0a9428312a4 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeArmonkV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeArmonkV2 -`FakeArmonkV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/armonk/fake_armonk.py "view source code") +`FakeArmonkV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/armonk/fake_armonk.py#L21-L33 "view source code") A fake 1 qubit backend. @@ -248,7 +248,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -272,7 +272,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -290,7 +290,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -334,7 +334,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.md index 67bd7b22b20..3d4e0931bed 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthens.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthens -`FakeAthens` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/athens/fake_athens.py "view source code") +`FakeAthens` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/athens/fake_athens.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.md index 7ff95b1bc8f..e7fd666bd83 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAthensV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAthensV2 -`FakeAthensV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/athens/fake_athens.py "view source code") +`FakeAthensV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/athens/fake_athens.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.md index 6addbd898a6..22bb3ab1767 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeAuckland.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeAuckland -`FakeAuckland` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/auckland/fake_auckland.py "view source code") +`FakeAuckland` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/auckland/fake_auckland.py#L22-L29 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.md index df458d5beb0..5eda0df6fe9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelem.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelem -`FakeBelem` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/belem/fake_belem.py "view source code") +`FakeBelem` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/belem/fake_belem.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.md index aea950e8eec..a6c8760ffc6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBelemV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBelemV2 -`FakeBelemV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/belem/fake_belem.py "view source code") +`FakeBelemV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/belem/fake_belem.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.md index 7ff55de1141..dcd46d03569 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingen.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingen -`FakeBoeblingen` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/boeblingen/fake_boeblingen.py "view source code") +`FakeBoeblingen` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/boeblingen/fake_boeblingen.py#L42-L60 "view source code") A fake Boeblingen backend. @@ -127,7 +127,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -155,7 +155,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.md index ee875cbf0c3..7e3eb77b89e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBoeblingenV2 -`FakeBoeblingenV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/boeblingen/fake_boeblingen.py "view source code") +`FakeBoeblingenV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/boeblingen/fake_boeblingen.py#L21-L39 "view source code") A fake Boeblingen V2 backend. @@ -254,7 +254,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -278,7 +278,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -296,7 +296,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -340,7 +340,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.md index 0b67788ca19..42d5a0e919e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogota.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogota -`FakeBogota` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/bogota/fake_bogota.py "view source code") +`FakeBogota` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/bogota/fake_bogota.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.md index 4d6857b5f24..191a5ca7606 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBogotaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBogotaV2 -`FakeBogotaV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/bogota/fake_bogota.py "view source code") +`FakeBogotaV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/bogota/fake_bogota.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane.md new file mode 100644 index 00000000000..8ad272fb329 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrisbane.md @@ -0,0 +1,377 @@ +--- +title: FakeBrisbane +description: API reference for qiskit_ibm_runtime.fake_provider.FakeBrisbane +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrisbane +--- + +# FakeBrisbane + + + +`FakeBrisbane` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/brisbane/fake_brisbane.py#L21-L28 "view source code") + +A fake 127 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_brisbane'` + + + +### conf\_filename + +`= 'conf_brisbane.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_brisbane.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/brisbane'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeBrisbane.run "qiskit_ibm_runtime.fake_provider.FakeBrisbane.run") method. + + + +### props\_filename + +`= 'props_brisbane.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.md index edfa5262f7c..1f98a5667d5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklyn.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklyn -`FakeBrooklyn` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/brooklyn/fake_brooklyn.py "view source code") +`FakeBrooklyn` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/brooklyn/fake_brooklyn.py#L31-L38 "view source code") A fake Brooklyn backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.md index 964c4c34075..6a58baabce6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBrooklynV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBrooklynV2 -`FakeBrooklynV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/brooklyn/fake_brooklyn.py "view source code") +`FakeBrooklynV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/brooklyn/fake_brooklyn.py#L21-L28 "view source code") A fake Brooklyn V2 backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.md index 192603dc609..213b643af64 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlington.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlington -`FakeBurlington` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/burlington/fake_burlington.py "view source code") +`FakeBurlington` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/burlington/fake_burlington.py#L37-L50 "view source code") A fake 5 qubit backend. @@ -133,7 +133,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.md index bd85a54816d..950b1418713 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeBurlingtonV2 -`FakeBurlingtonV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/burlington/fake_burlington.py "view source code") +`FakeBurlingtonV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/burlington/fake_burlington.py#L21-L34 "view source code") A fake 5 qubit backend. @@ -250,7 +250,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -274,7 +274,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -292,7 +292,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -336,7 +336,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.md index 21c5b0f2ccf..a5758166e6f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairo.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairo -`FakeCairo` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cairo/fake_cairo.py "view source code") +`FakeCairo` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cairo/fake_cairo.py#L31-L38 "view source code") A fake 27 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.md index 66e5db42e81..00daf3a4d2c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCairoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCairoV2 -`FakeCairoV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cairo/fake_cairo.py "view source code") +`FakeCairoV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cairo/fake_cairo.py#L21-L28 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.md index eccde06742e..aa5a12948dc 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridge.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridge -`FakeCambridge` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cambridge/fake_cambridge.py "view source code") +`FakeCambridge` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cambridge/fake_cambridge.py#L43-L62 "view source code") A fake Cambridge backend. @@ -139,7 +139,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.md index e44f73ed9f4..713c2eebbf3 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCambridgeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCambridgeV2 -`FakeCambridgeV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cambridge/fake_cambridge.py "view source code") +`FakeCambridgeV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cambridge/fake_cambridge.py#L21-L40 "view source code") A fake Cambridge backend. @@ -256,7 +256,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -280,7 +280,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -298,7 +298,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -342,7 +342,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.md index a15d1113030..9c206e536a5 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablanca.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablanca -`FakeCasablanca` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/casablanca/fake_casablanca.py "view source code") +`FakeCasablanca` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/casablanca/fake_casablanca.py#L31-L38 "view source code") A fake 7 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.md index f425b7f7e27..6c78b098274 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCasablancaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeCasablancaV2 -`FakeCasablancaV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/casablanca/fake_casablanca.py "view source code") +`FakeCasablancaV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/casablanca/fake_casablanca.py#L21-L28 "view source code") A fake 7 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco.md new file mode 100644 index 00000000000..2cee5ec5634 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeCusco.md @@ -0,0 +1,377 @@ +--- +title: FakeCusco +description: API reference for qiskit_ibm_runtime.fake_provider.FakeCusco +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeCusco +--- + +# FakeCusco + + + +`FakeCusco` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/cusco/fake_cusco.py#L21-L28 "view source code") + +A fake 127 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_cusco'` + + + +### conf\_filename + +`= 'conf_cusco.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_cusco.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/cusco'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeCusco.run "qiskit_ibm_runtime.fake_provider.FakeCusco.run") method. + + + +### props\_filename + +`= 'props_cusco.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.md index 5c4f1890339..ffddfa3f73d 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssex.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssex -`FakeEssex` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/essex/fake_essex.py "view source code") +`FakeEssex` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/essex/fake_essex.py#L39-L54 "view source code") A fake 5 qubit backend. @@ -135,7 +135,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.md index 1cc968dffe4..f0f0e49f16c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeEssexV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeEssexV2 -`FakeEssexV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/essex/fake_essex.py "view source code") +`FakeEssexV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/essex/fake_essex.py#L21-L36 "view source code") A fake 5 qubit backend. @@ -252,7 +252,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -276,7 +276,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -294,7 +294,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -338,7 +338,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.md index d8c86718ad1..7b6d24d4403 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGeneva.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGeneva -`FakeGeneva` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/geneva/fake_geneva.py "view source code") +`FakeGeneva` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/geneva/fake_geneva.py#L22-L29 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.md index f72e80f83e6..06286362691 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupe.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupe -`FakeGuadalupe` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/guadalupe/fake_guadalupe.py "view source code") +`FakeGuadalupe` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/guadalupe/fake_guadalupe.py#L32-L39 "view source code") A fake 16 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.md index fc2d4fb6287..1e05ccab32a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeGuadalupeV2 -`FakeGuadalupeV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/guadalupe/fake_guadalupe.py "view source code") +`FakeGuadalupeV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/guadalupe/fake_guadalupe.py#L22-L29 "view source code") A fake 16 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.md index 4f8779c7c87..99c8e4fb295 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoi.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoi -`FakeHanoi` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/hanoi/fake_hanoi.py "view source code") +`FakeHanoi` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/hanoi/fake_hanoi.py#L31-L38 "view source code") A fake 27 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.md index e05a48e56e1..20b1fe1cb64 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeHanoiV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeHanoiV2 -`FakeHanoiV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/hanoi/fake_hanoi.py "view source code") +`FakeHanoiV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/hanoi/fake_hanoi.py#L21-L28 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.md index ba0558cc9b3..6f8bbb46b97 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakarta.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakarta -`FakeJakarta` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/jakarta/fake_jakarta.py "view source code") +`FakeJakarta` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/jakarta/fake_jakarta.py#L31-L38 "view source code") A fake 7 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.md index 8734a3882bd..a07ea9a9268 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJakartaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJakartaV2 -`FakeJakartaV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/jakarta/fake_jakarta.py "view source code") +`FakeJakartaV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/jakarta/fake_jakarta.py#L21-L28 "view source code") A fake 7 qubit V2 backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.md index 73ad2debe12..275953a1da9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburg.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburg -`FakeJohannesburg` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/johannesburg/fake_johannesburg.py "view source code") +`FakeJohannesburg` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/johannesburg/fake_johannesburg.py#L41-L58 "view source code") A fake Johannesburg backend. @@ -137,7 +137,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.md index 1f3983293b9..2f885ce0cf6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeJohannesburgV2 -`FakeJohannesburgV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/johannesburg/fake_johannesburg.py "view source code") +`FakeJohannesburgV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/johannesburg/fake_johannesburg.py#L21-L38 "view source code") A fake Johannesburg V2 backend. @@ -254,7 +254,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -278,7 +278,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -296,7 +296,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -340,7 +340,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki.md new file mode 100644 index 00000000000..538a350d6a8 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKawasaki.md @@ -0,0 +1,377 @@ +--- +title: FakeKawasaki +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKawasaki +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKawasaki +--- + +# FakeKawasaki + + + +`FakeKawasaki` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/kawasaki/fake_kawasaki.py#L21-L28 "view source code") + +A fake 127 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_kawasaki'` + + + +### conf\_filename + +`= 'conf_kawasaki.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_kawasaki.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/kawasaki'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKawasaki.run "qiskit_ibm_runtime.fake_provider.FakeKawasaki.run") method. + + + +### props\_filename + +`= 'props_kawasaki.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.md index 9e5c8fc06d7..951c6eb6e13 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkata.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkata -`FakeKolkata` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/kolkata/fake_kolkata.py "view source code") +`FakeKolkata` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/kolkata/fake_kolkata.py#L31-L38 "view source code") A fake 27 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.md index 7a5fcfd423c..16cc98a3e3d 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKolkataV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeKolkataV2 -`FakeKolkataV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/kolkata/fake_kolkata.py "view source code") +`FakeKolkataV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/kolkata/fake_kolkata.py#L21-L28 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv.md new file mode 100644 index 00000000000..f91c719e1dd --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyiv.md @@ -0,0 +1,377 @@ +--- +title: FakeKyiv +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKyiv +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyiv +--- + +# FakeKyiv + + + +`FakeKyiv` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/kyiv/fake_kyiv.py#L21-L28 "view source code") + +A fake 127 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_kyiv'` + + + +### conf\_filename + +`= 'conf_kyiv.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_kyiv.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/kyiv'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKyiv.run "qiskit_ibm_runtime.fake_provider.FakeKyiv.run") method. + + + +### props\_filename + +`= 'props_kyiv.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto.md new file mode 100644 index 00000000000..2894a375d6e --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeKyoto.md @@ -0,0 +1,377 @@ +--- +title: FakeKyoto +description: API reference for qiskit_ibm_runtime.fake_provider.FakeKyoto +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeKyoto +--- + +# FakeKyoto + + + +`FakeKyoto` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/kyoto/fake_kyoto.py#L21-L28 "view source code") + +A fake 127 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_kyoto'` + + + +### conf\_filename + +`= 'conf_kyoto.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_kyoto.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/kyoto'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeKyoto.run "qiskit_ibm_runtime.fake_provider.FakeKyoto.run") method. + + + +### props\_filename + +`= 'props_kyoto.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.md index 6adb07fe42d..209cd975309 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagos.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagos -`FakeLagos` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lagos/fake_lagos.py "view source code") +`FakeLagos` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lagos/fake_lagos.py#L31-L38 "view source code") A fake 7 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.md index ee6c32347a5..caa8526daf4 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLagosV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLagosV2 -`FakeLagosV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lagos/fake_lagos.py "view source code") +`FakeLagosV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lagos/fake_lagos.py#L21-L28 "view source code") A fake 7 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.md index 3d711cc330c..39acf283667 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLima.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLima -`FakeLima` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lima/fake_lima.py "view source code") +`FakeLima` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lima/fake_lima.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.md index 79d0b5eb2f9..5f6078685a9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLimaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLimaV2 -`FakeLimaV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lima/fake_lima.py "view source code") +`FakeLimaV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/lima/fake_lima.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.md index 14f8bb957f1..ca7ce2c1b2e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondon.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondon -`FakeLondon` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/london/fake_london.py "view source code") +`FakeLondon` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/london/fake_london.py#L39-L54 "view source code") A fake 5 qubit backend. @@ -135,7 +135,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.md index e3195f10383..0731b7d3c50 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeLondonV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeLondonV2 -`FakeLondonV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/london/fake_london.py "view source code") +`FakeLondonV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/london/fake_london.py#L21-L36 "view source code") A fake 5 qubit backend. @@ -252,7 +252,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -276,7 +276,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -294,7 +294,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -338,7 +338,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.md index 6c77ab57b6e..658e20c09a7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattan.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattan -`FakeManhattan` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manhattan/fake_manhattan.py "view source code") +`FakeManhattan` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manhattan/fake_manhattan.py#L31-L38 "view source code") A fake Manhattan backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.md index 41170f570d1..b37c97e532b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManhattanV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManhattanV2 -`FakeManhattanV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manhattan/fake_manhattan.py "view source code") +`FakeManhattanV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manhattan/fake_manhattan.py#L21-L28 "view source code") A fake Manhattan backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.md index e0695bad1f2..31a0d9a30a9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManila.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManila -`FakeManila` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manila/fake_manila.py "view source code") +`FakeManila` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manila/fake_manila.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.md index 2a990fe0742..0296db2e4d7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeManilaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeManilaV2 -`FakeManilaV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manila/fake_manila.py "view source code") +`FakeManilaV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/manila/fake_manila.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourne.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourne.md index da6fbd56707..85f4bb73eb0 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourne.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourne.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourne -`FakeMelbourne` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/melbourne/fake_melbourne.py "view source code") +`FakeMelbourne` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/melbourne/fake_melbourne.py#L38-L95 "view source code") A fake 14 qubit backend. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.md index 9cb73035abb..4d7fbf91a4e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMelbourneV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMelbourneV2 -`FakeMelbourneV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/melbourne/fake_melbourne.py "view source code") +`FakeMelbourneV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/melbourne/fake_melbourne.py#L29-L35 "view source code") A fake 14 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.md index fbcd2987856..e7227c67f34 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontreal.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontreal -`FakeMontreal` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/montreal/fake_montreal.py "view source code") +`FakeMontreal` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/montreal/fake_montreal.py#L31-L38 "view source code") A fake 27 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.md index a4c1c9ffb78..bc1d9fa2ee9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMontrealV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMontrealV2 -`FakeMontrealV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/montreal/fake_montreal.py "view source code") +`FakeMontrealV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/montreal/fake_montreal.py#L21-L28 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.md index a2535bf8644..fa88d150662 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbai.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbai -`FakeMumbai` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/mumbai/fake_mumbai.py "view source code") +`FakeMumbai` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/mumbai/fake_mumbai.py#L31-L38 "view source code") A fake 27 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.md index c370a0d7aff..ee0a020b49f 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeMumbaiV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeMumbaiV2 -`FakeMumbaiV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/mumbai/fake_mumbai.py "view source code") +`FakeMumbaiV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/mumbai/fake_mumbai.py#L21-L28 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.md index 71914d63113..66ef2b6ad17 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobi.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobi -`FakeNairobi` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/nairobi/fake_nairobi.py "view source code") +`FakeNairobi` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/nairobi/fake_nairobi.py#L31-L38 "view source code") A fake 7 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.md index 9ac2859203d..2d131eb9814 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeNairobiV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeNairobiV2 -`FakeNairobiV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/nairobi/fake_nairobi.py "view source code") +`FakeNairobiV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/nairobi/fake_nairobi.py#L21-L28 "view source code") A fake 7 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka.md new file mode 100644 index 00000000000..306a587e5a9 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOsaka.md @@ -0,0 +1,377 @@ +--- +title: FakeOsaka +description: API reference for qiskit_ibm_runtime.fake_provider.FakeOsaka +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeOsaka +--- + +# FakeOsaka + + + +`FakeOsaka` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/osaka/fake_osaka.py#L21-L28 "view source code") + +A fake 127 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_osaka'` + + + +### conf\_filename + +`= 'conf_osaka.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_osaka.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/osaka'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeOsaka.run "qiskit_ibm_runtime.fake_provider.FakeOsaka.run") method. + + + +### props\_filename + +`= 'props_osaka.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.md index 60b88b16629..fc4e03776d3 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOslo.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOslo -`FakeOslo` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/oslo/fake_oslo.py "view source code") +`FakeOslo` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/oslo/fake_oslo.py#L22-L29 "view source code") A fake 7 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.md index d423b14d005..ad068d8f345 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurense.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurense -`FakeOurense` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/ourense/fake_ourense.py "view source code") +`FakeOurense` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/ourense/fake_ourense.py#L37-L50 "view source code") A fake 5 qubit backend. @@ -133,7 +133,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.md index 7f0383ae25c..9dfaf13b0f1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeOurenseV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeOurenseV2 -`FakeOurenseV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/ourense/fake_ourense.py "view source code") +`FakeOurenseV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/ourense/fake_ourense.py#L21-L34 "view source code") A fake 5 qubit backend. @@ -250,7 +250,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -274,7 +274,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -292,7 +292,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -336,7 +336,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.md index 2063e56f5bc..b67c2aee306 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParis.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParis -`FakeParis` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/paris/fake_paris.py "view source code") +`FakeParis` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/paris/fake_paris.py#L44-L64 "view source code") A fake Paris backend. @@ -129,7 +129,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -157,7 +157,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.md index c28e400462e..32e22654b2b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeParisV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeParisV2 -`FakeParisV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/paris/fake_paris.py "view source code") +`FakeParisV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/paris/fake_paris.py#L21-L41 "view source code") A fake Paris backend. @@ -256,7 +256,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -280,7 +280,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -298,7 +298,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -342,7 +342,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill.md new file mode 100644 index 00000000000..bc83c8c4ed7 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePeekskill.md @@ -0,0 +1,377 @@ +--- +title: FakePeekskill +description: API reference for qiskit_ibm_runtime.fake_provider.FakePeekskill +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakePeekskill +--- + +# FakePeekskill + + + +`FakePeekskill` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/peekskill/fake_peekskill.py#L21-L28 "view source code") + +A fake 27 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_peekskill'` + + + +### conf\_filename + +`= 'conf_peekskill.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_peekskill.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/peekskill'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakePeekskill.run "qiskit_ibm_runtime.fake_provider.FakePeekskill.run") method. + + + +### props\_filename + +`= 'props_peekskill.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.md index 90ecb0c81b6..964954f3996 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePerth.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePerth -`FakePerth` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/perth/fake_perth.py "view source code") +`FakePerth` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/perth/fake_perth.py#L22-L29 "view source code") A fake 7 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsie.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsie.md index 11fd2421c49..646fb0128e7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsie.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsie.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsie -`FakePoughkeepsie` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/poughkeepsie/fake_poughkeepsie.py "view source code") +`FakePoughkeepsie` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/poughkeepsie/fake_poughkeepsie.py#L39-L128 "view source code") A fake Poughkeepsie backend. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.md index 2a005abdb16..d780262c13e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePoughkeepsieV2 -`FakePoughkeepsieV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/poughkeepsie/fake_poughkeepsie.py "view source code") +`FakePoughkeepsieV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/poughkeepsie/fake_poughkeepsie.py#L29-L36 "view source code") A fake Poughkeepsie backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.md index b309f1ed2b8..768d78435f3 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakePrague.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakePrague -`FakePrague` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/prague/fake_prague.py "view source code") +`FakePrague` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/prague/fake_prague.py#L22-L28 "view source code") A fake 33 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProvider.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProvider.md index a1008216667..1a4a44a8951 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProvider.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProvider.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeProvider -`FakeProvider` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_provider.py "view source code") +`FakeProvider` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_provider.py#L152-L221 "view source code") Fake provider containing fake V1 backends. @@ -53,7 +53,7 @@ list\[Backend] -`get_backend(name=None, **kwargs)` +`get_backend(name=None, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_provider.py#L159-L168 "view source code") Return a single backend matching the specified filtering. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2.md index d9d7b3977cc..1d9d50a4d85 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeProviderForBackendV2 -`FakeProviderForBackendV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_provider.py "view source code") +`FakeProviderForBackendV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_provider.py#L65-L149 "view source code") Fake provider containing fake V2 backends. @@ -38,7 +38,7 @@ Filter backends in provider by name. -`backends(name=None, **kwargs)` +`backends(name=None, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_provider.py#L86-L87 "view source code") Return a list of backends matching the specified filtering. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec.md new file mode 100644 index 00000000000..1f0de76fb31 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuebec.md @@ -0,0 +1,377 @@ +--- +title: FakeQuebec +description: API reference for qiskit_ibm_runtime.fake_provider.FakeQuebec +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuebec +--- + +# FakeQuebec + + + +`FakeQuebec` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/quebec/fake_quebec.py#L21-L28 "view source code") + +A fake 127 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_quebec'` + + + +### conf\_filename + +`= 'conf_quebec.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_quebec.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/quebec'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeQuebec.run "qiskit_ibm_runtime.fake_provider.FakeQuebec.run") method. + + + +### props\_filename + +`= 'props_quebec.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.md index c0123a40238..fa13828efe4 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuito.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuito -`FakeQuito` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/quito/fake_quito.py "view source code") +`FakeQuito` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/quito/fake_quito.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.md index 07305ed35e0..630c86bf5ac 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeQuitoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeQuitoV2 -`FakeQuitoV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/quito/fake_quito.py "view source code") +`FakeQuitoV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/quito/fake_quito.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.md index a7c93b6c4a2..e8a20b93bfb 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochester.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochester -`FakeRochester` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rochester/fake_rochester.py "view source code") +`FakeRochester` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rochester/fake_rochester.py#L30-L36 "view source code") A fake Rochester backend. @@ -127,7 +127,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.md index 9abe5007cd4..da5e9234f7a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRochesterV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRochesterV2 -`FakeRochesterV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rochester/fake_rochester.py "view source code") +`FakeRochesterV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rochester/fake_rochester.py#L21-L27 "view source code") A fake Rochester backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.md index 6f0dadc7cf9..13368774235 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRome.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRome -`FakeRome` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rome/fake_rome.py "view source code") +`FakeRome` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rome/fake_rome.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.md index 6701de0075e..d140a3da438 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRomeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRomeV2 -`FakeRomeV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rome/fake_rome.py "view source code") +`FakeRomeV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rome/fake_rome.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRueschlikon.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRueschlikon.md index 27d74bb8998..9f593f7c6e0 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRueschlikon.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeRueschlikon.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeRueschlikon -`FakeRueschlikon` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rueschlikon/fake_rueschlikon.py "view source code") +`FakeRueschlikon` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/rueschlikon/fake_rueschlikon.py#L21-L74 "view source code") A fake 16 qubit backend. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.md index ed022068699..179c54b8d1a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiago.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiago -`FakeSantiago` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/santiago/fake_santiago.py "view source code") +`FakeSantiago` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/santiago/fake_santiago.py#L31-L38 "view source code") A fake Santiago backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.md index b4017979acc..7186ac0038b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSantiagoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSantiagoV2 -`FakeSantiagoV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/santiago/fake_santiago.py "view source code") +`FakeSantiagoV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/santiago/fake_santiago.py#L21-L28 "view source code") A fake Santiago backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.md index 153d5e7bd9a..3f2e1c14f34 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSherbrooke.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSherbrooke -`FakeSherbrooke` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/sherbrooke/fake_sherbrooke.py "view source code") +`FakeSherbrooke` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/sherbrooke/fake_sherbrooke.py#L21-L28 "view source code") A fake 127 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.md index c5677d94205..deb882c58d2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingapore.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingapore -`FakeSingapore` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/singapore/fake_singapore.py "view source code") +`FakeSingapore` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/singapore/fake_singapore.py#L41-L58 "view source code") A fake Singapore backend. @@ -137,7 +137,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.md index 67406cf6973..8b4e3b503d0 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSingaporeV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSingaporeV2 -`FakeSingaporeV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/singapore/fake_singapore.py "view source code") +`FakeSingaporeV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/singapore/fake_singapore.py#L21-L38 "view source code") A fake Singapore backend. @@ -254,7 +254,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -278,7 +278,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -296,7 +296,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -340,7 +340,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.md index fe65945857b..215bfb12e81 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydney.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydney -`FakeSydney` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/sydney/fake_sydney.py "view source code") +`FakeSydney` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/sydney/fake_sydney.py#L31-L38 "view source code") A fake 27 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.md index 50ba03f888c..e8f45070dc8 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeSydneyV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeSydneyV2 -`FakeSydneyV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/sydney/fake_sydney.py "view source code") +`FakeSydneyV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/sydney/fake_sydney.py#L21-L28 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTenerife.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTenerife.md index 2cbcfc34fa6..8982664b06b 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTenerife.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTenerife.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTenerife -`FakeTenerife` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/tenerife/fake_tenerife.py "view source code") +`FakeTenerife` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/tenerife/fake_tenerife.py#L28-L68 "view source code") A fake 5 qubit backend. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTokyo.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTokyo.md index 98b31a140b5..18f3f7c1965 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTokyo.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTokyo.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTokyo -`FakeTokyo` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/tokyo/fake_tokyo.py "view source code") +`FakeTokyo` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/tokyo/fake_tokyo.py#L28-L141 "view source code") A fake 20 qubit backend. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino.md new file mode 100644 index 00000000000..8630e72ed50 --- /dev/null +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorino.md @@ -0,0 +1,377 @@ +--- +title: FakeTorino +description: API reference for qiskit_ibm_runtime.fake_provider.FakeTorino +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorino +--- + +# FakeTorino + + + +`FakeTorino` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/torino/fake_torino.py#L21-L28 "view source code") + +A fake 133 qubit backend. + +FakeBackendV2 initializer. + +## Attributes + + + +### backend\_name + +`= 'fake_torino'` + + + +### conf\_filename + +`= 'conf_torino.json'` + + + +### coupling\_map + +Return the `CouplingMap` object + + + +### defs\_filename + +`= 'defs_torino.json'` + + + +### dirname + +`= '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/torino'` + + + +### dt + +Return the system time resolution of input signals + +This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`Optional`\[`float`] + +**Returns** + +The input signal timestep in seconds. If the backend doesn’t define `dt`, `None` will be returned. + + + +### dtm + +Return the system time resolution of output signals + +**Return type** + +`float` + +**Returns** + +The output signal timestep in seconds. + + + +### instruction\_durations + +Return the `InstructionDurations` object. + + + +### instruction\_schedule\_map + +Return the `InstructionScheduleMap` for the instructions defined in this backend’s target. + + + +### instructions + +A list of Instruction tuples on the backend of the form `(instruction, (qubits)` + +**Return type** + +`List`\[`Tuple`\[`Instruction`, `Tuple`\[`int`]]] + + + +### max\_circuits + +**Return type** + +`None` + + + +### meas\_map + +Return the grouping of measurements which are multiplexed This is required to be implemented if the backend supports Pulse scheduling. + +**Return type** + +`List`\[`List`\[`int`]] + +**Returns** + +The grouping of measurements which are multiplexed + + + +### num\_qubits + +Return the number of qubits the backend has. + +**Return type** + +`int` + + + +### operation\_names + +A list of instruction names that the backend supports. + +**Return type** + +`List`\[`str`] + + + +### operations + +A list of `Instruction` instances that the backend supports. + +**Return type** + +`List`\[`Instruction`] + + + +### options + +Return the options for the backend + +The options of a backend are the dynamic parameters defining how the backend is used. These are used to control the [`run()`](#qiskit_ibm_runtime.fake_provider.FakeTorino.run "qiskit_ibm_runtime.fake_provider.FakeTorino.run") method. + + + +### props\_filename + +`= 'props_torino.json'` + + + +### provider + +Return the backend Provider. + +**Returns** + +the Provider responsible for the backend. + +**Return type** + +Provider + + + +### target + +A `qiskit.transpiler.Target` object for the backend. + +**Return type** + +Target + + + +### version + +`= 2` + + + +### name + +Name of the backend. + + + +### description + +Optional human-readable description. + + + +### online\_date + +Date that the backend came online. + + + +### backend\_version + +Version of the backend being provided. This is not the same as `BackendV2.version`, which is the version of the `Backend` abstract interface. + +## Methods + +### acquire\_channel + + + +`acquire_channel(qubit)` + +Return the acquisition channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement acquisition line. + +**Return type** + +AcquireChannel + +### control\_channel + + + +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") + +Return the secondary drive channel for the given qubit + +This is typically utilized for controlling multiqubit interactions. This channel is derived from other channels. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Parameters** + +**qubits** (`Iterable`\[`int`]) – Tuple or list of qubits of the form `(control_qubit, target_qubit)`. + +**Returns** + +The multi qubit control line. + +**Return type** + +List\[ControlChannel] + +### drive\_channel + + + +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") + +Return the drive channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit drive channel + +**Return type** + +DriveChannel + +### measure\_channel + + + +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") + +Return the measure stimulus channel for the given qubit. + +This is required to be implemented if the backend supports Pulse scheduling. + +**Returns** + +The Qubit measurement stimulus line + +**Return type** + +MeasureChannel + +### qubit\_properties + + + +`qubit_properties(qubit)` + +Return QubitProperties for a given qubit. + +If there are no defined or the backend doesn’t support querying these details this method does not need to be implemented. + +**Parameters** + +**qubit** (`Union`\[`int`, `List`\[`int`]]) – The qubit to get the `QubitProperties` object for. This can be a single integer for 1 qubit or a list of qubits and a list of `QubitProperties` objects will be returned in the same order + +**Return type** + +`Union`\[`QubitProperties`, `List`\[`QubitProperties`]] + +**Returns** + +The `QubitProperties` object for the specified qubit. If a list of qubits is provided a list will be returned. If properties are missing for a qubit this can be `None`. + +**Raises** + +**NotImplementedError** – if the backend doesn’t support querying the qubit properties + +### run + + + +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") + +Run on the fake backend using a simulator. + +This method runs circuit jobs (an individual or a list of QuantumCircuit ) and pulse jobs (an individual or a list of Schedule or ScheduleBlock) using BasicAer simulator/ BasicSimulator or Aer simulator and returns a `Job` object. + +If qiskit-aer is installed, jobs will be run using AerSimulator with noise model of the fake backend. Otherwise, jobs will be run using BasicAer simulator/ BasicSimulator simulator without noise. + +Currently noisy simulation of a pulse job is not supported yet in FakeBackendV2. + +**Parameters** + +* **run\_input** (*QuantumCircuit or Schedule or ScheduleBlock or list*) – An individual or a list of `QuantumCircuit`, `ScheduleBlock`, or `Schedule` objects to run on the backend. +* **options** – Any kwarg options to pass to the backend for running the config. If a key is also present in the options attribute/object then the expectation is that the value specified will be used instead of what’s set in the options object. + +**Returns** + +The job object for the run + +**Return type** + +Job + +**Raises** + +**QiskitError** – If a pulse job is supplied and qiskit-aer is not installed. + +### set\_options + + + +`set_options(**fields)` + +Set the options fields for the backend + +This method is used to update the options of a backend. If you need to change any of the options prior to running just pass in the kwarg with the new value for the options. + +**Parameters** + +**fields** – The fields to update the options + +**Raises** + +**AttributeError** – If the field passed in is not part of the options + diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.md index e19a0b03479..16b07d519c6 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeToronto.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeToronto -`FakeToronto` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/toronto/fake_toronto.py "view source code") +`FakeToronto` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/toronto/fake_toronto.py#L31-L38 "view source code") A fake 27 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.md index 3db693d46c3..2b07bba0b3a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeTorontoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeTorontoV2 -`FakeTorontoV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/toronto/fake_toronto.py "view source code") +`FakeTorontoV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/toronto/fake_toronto.py#L21-L28 "view source code") A fake 27 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.md index 6b461c54d47..b5f191bb690 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValencia.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValencia -`FakeValencia` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/valencia/fake_valencia.py "view source code") +`FakeValencia` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/valencia/fake_valencia.py#L31-L38 "view source code") A fake 5 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.md index c99e3a1f58a..c37b3d86a11 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeValenciaV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeValenciaV2 -`FakeValenciaV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/valencia/fake_valencia.py "view source code") +`FakeValenciaV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/valencia/fake_valencia.py#L21-L28 "view source code") A fake 5 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.md index 5b957b7f715..7d7d4e1a8a9 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigo.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigo -`FakeVigo` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/vigo/fake_vigo.py "view source code") +`FakeVigo` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/vigo/fake_vigo.py#L37-L50 "view source code") A fake 5 qubit backend. @@ -133,7 +133,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.md index f27bd8c878b..f8e58f37bd7 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeVigoV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeVigoV2 -`FakeVigoV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/vigo/fake_vigo.py "view source code") +`FakeVigoV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/vigo/fake_vigo.py#L21-L34 "view source code") A fake 5 qubit backend. @@ -250,7 +250,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -274,7 +274,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -292,7 +292,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -336,7 +336,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.md index f4a647c1e86..56ecb286736 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashington.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashington -`FakeWashington` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/washington/fake_washington.py "view source code") +`FakeWashington` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/washington/fake_washington.py#L31-L38 "view source code") A fake 127 qubit backend. @@ -117,7 +117,7 @@ str -`properties()` +`properties()` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py#L44-L48 "view source code") Returns a snapshot of device properties @@ -145,7 +145,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.md index 41d294193c2..5aeb1bf4f65 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeWashingtonV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeWashingtonV2 -`FakeWashingtonV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/washington/fake_washington.py "view source code") +`FakeWashingtonV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/washington/fake_washington.py#L21-L28 "view source code") A fake 127 qubit backend. @@ -244,7 +244,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -268,7 +268,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -286,7 +286,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -330,7 +330,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.md index 8932f03b82f..8b7a2530fd2 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktown.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktown -`FakeYorktown` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/yorktown/fake_yorktown.py "view source code") +`FakeYorktown` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/yorktown/fake_yorktown.py#L39-L54 "view source code") A fake 5 qubit backend. @@ -135,7 +135,7 @@ Provider -`run(run_input, **kwargs)` +`run(run_input, **kwargs)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L545-L574 "view source code") Main job in simulator diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.md index d83452f3f48..c55e27bfa00 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.fake_provider.FakeYorktownV2.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.fake_provider.FakeYorktownV2 -`FakeYorktownV2` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/yorktown/fake_yorktown.py "view source code") +`FakeYorktownV2` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/backends/yorktown/fake_yorktown.py#L21-L36 "view source code") A fake 5 qubit backend. @@ -252,7 +252,7 @@ AcquireChannel -`control_channel(qubits)` +`control_channel(qubits)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L284-L304 "view source code") Return the secondary drive channel for the given qubit @@ -276,7 +276,7 @@ List\[ControlChannel] -`drive_channel(qubit)` +`drive_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L239-L252 "view source code") Return the drive channel for the given qubit. @@ -294,7 +294,7 @@ DriveChannel -`measure_channel(qubit)` +`measure_channel(qubit)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L254-L267 "view source code") Return the measure stimulus channel for the given qubit. @@ -338,7 +338,7 @@ The `QubitProperties` object for the specified qubit. If a list of qubits is pro -`run(run_input, **options)` +`run(run_input, **options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/fake_provider/fake_backend.py#L306-L365 "view source code") Run on the fake backend using a simulator. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EnvironmentOptions.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EnvironmentOptions.md index e60b1c95f06..c7274297554 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EnvironmentOptions.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.EnvironmentOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.EnvironmentOptions -`EnvironmentOptions(log_level='WARNING', callback=None, job_tags=)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/environment_options.py "view source code") +`EnvironmentOptions(log_level='WARNING', callback=None, job_tags=)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/environment_options.py#L27-L62 "view source code") Options related to the execution environment. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ExecutionOptions.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ExecutionOptions.md index ecebf55d6c7..6445cb0e842 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ExecutionOptions.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ExecutionOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.ExecutionOptions -`ExecutionOptions(shots=4000, init_qubits=True)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/execution_options.py "view source code") +`ExecutionOptions(shots=4000, init_qubits=True)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/execution_options.py#L25-L47 "view source code") Execution options. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.md index d62a399ac95..00096b950bc 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.Options.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.Options -`Options(optimization_level=None, resilience_level=None, max_execution_time=None, transpilation=, resilience=, execution=, environment=, simulator=)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/options.py "view source code") +`Options(optimization_level=None, resilience_level=None, max_execution_time=None, transpilation=, resilience=, execution=, environment=, simulator=)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/options.py#L32-L279 "view source code") Options for the primitives. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ResilienceOptions.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ResilienceOptions.md index 71742eec226..631274aceb3 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ResilienceOptions.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.ResilienceOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.ResilienceOptions -`ResilienceOptions(noise_amplifier=None, noise_factors=None, extrapolator=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/resilience_options.py "view source code") +`ResilienceOptions(noise_amplifier=None, noise_factors=None, extrapolator=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/resilience_options.py#L34-L91 "view source code") Resilience options. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SimulatorOptions.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SimulatorOptions.md index e6155feeb8c..55e74d69da1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SimulatorOptions.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.SimulatorOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.SimulatorOptions -`SimulatorOptions(noise_model=None, seed_simulator=None, coupling_map=None, basis_gates=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/simulator_options.py "view source code") +`SimulatorOptions(noise_model=None, seed_simulator=None, coupling_map=None, basis_gates=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/simulator_options.py#L35-L95 "view source code") Simulator options. @@ -83,7 +83,7 @@ Set backend for simulation. This method changes noise\_model, coupling\_map, bas -`static validate_simulator_options(simulator_options)` +`static validate_simulator_options(simulator_options)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/simulator_options.py#L61-L69 "view source code") Validate that simulator options are legal. :raises ValueError: if any simulator option is not supported diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.TranspilationOptions.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.TranspilationOptions.md index 6a9c91994a4..6d5b35be942 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.TranspilationOptions.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.options.TranspilationOptions.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.options.TranspilationOptions -`TranspilationOptions(skip_transpilation=False, initial_layout=None, layout_method=None, routing_method=None, approximation_degree=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/transpilation_options.py "view source code") +`TranspilationOptions(skip_transpilation=False, initial_layout=None, layout_method=None, routing_method=None, approximation_degree=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/options/transpilation_options.py#L41-L97 "view source code") Transpilation options. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.basis.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.basis.md index 63e27352738..eaa6e82ebe1 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.basis.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.basis.md @@ -1,7 +1,7 @@ --- title: basis description: API reference for qiskit_ibm_runtime.transpiler.passes.basis -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit_ibm_runtime.transpiler.passes.basis --- diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.md index a966c83becf..f8a5717abc4 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.md @@ -1,7 +1,7 @@ --- title: passes description: API reference for qiskit_ibm_runtime.transpiler.passes -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit_ibm_runtime.transpiler.passes --- diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.md index fe0731522d6..22faa7b1e3c 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAnalysis.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ALAPScheduleAna -`ALAPScheduleAnalysis(durations)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/scheduler.py "view source code") +`ALAPScheduleAnalysis(durations)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/scheduler.py#L427-L644 "view source code") Dynamic circuits as-late-as-possible (ALAP) scheduling analysis pass. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.md index 63375f91650..24b45e7bc3e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAnalysis.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.ASAPScheduleAna -`ASAPScheduleAnalysis(durations)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/scheduler.py "view source code") +`ASAPScheduleAnalysis(durations)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/scheduler.py#L299-L424 "view source code") Dynamic circuits as-soon-as-possible (ASAP) scheduling analysis pass. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.md index 28a43af38b9..c5ddc723d56 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.BlockBasePadder -`BlockBasePadder(schedule_idle_qubits=False)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/block_base_padder.py "view source code") +`BlockBasePadder(schedule_idle_qubits=False)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/block_base_padder.py#L38-L633 "view source code") The base class of padding pass. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.md index fd892c4b242..caf5531747a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitI -`DynamicCircuitInstructionDurations(instruction_durations=None, dt=None, enable_patching=True)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/utils.py "view source code") +`DynamicCircuitInstructionDurations(instruction_durations=None, dt=None, enable_patching=True)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/utils.py#L133-L359 "view source code") For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. For now we use this class to report updated InstructionDurations. TODO: This would be mitigated by a specialized Backend/Target for dynamic circuit backends. @@ -52,7 +52,7 @@ DynamicInstructionDurations -`classmethod from_target(target)` +`classmethod from_target(target)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/utils.py#L205-L222 "view source code") Construct a `DynamicInstructionDurations` object from the target. :type target: `Target` :param target: target from which durations (gate lengths) and dt are extracted. @@ -113,7 +113,7 @@ Set of units used in this instruction durations. -`update(inst_durations, dt=None)` +`update(inst_durations, dt=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/utils.py#L224-L270 "view source code") Update self with inst\_durations (inst\_durations overwrite self). Overrides the default durations for certain hardcoded instructions. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.md index 33bf5220696..dfc0ca55b2e 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDelay -`PadDelay(durations, fill_very_end=True, schedule_idle_qubits=False)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/pad_delay.py "view source code") +`PadDelay(durations, fill_very_end=True, schedule_idle_qubits=False)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/pad_delay.py#L23-L87 "view source code") Padding idle time with Delay instructions. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.md index 3034ccc5a4b..2607ee0b6fe 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDecoupling.md @@ -10,7 +10,7 @@ python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.PadDynamicalDec -`PadDynamicalDecoupling(durations, dd_sequences, qubits=None, spacings=None, skip_reset_qubits=True, pulse_alignment=16, extra_slack_distribution='middle', sequence_min_length_ratios=None, insert_multiple_cycles=False, coupling_map=None, alt_spacings=None, schedule_idle_qubits=False, dd_barrier=None)` [GitHub](https://github.com/qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/dynamical_decoupling.py "view source code") +`PadDynamicalDecoupling(durations, dd_sequences, qubits=None, spacings=None, skip_reset_qubits=True, pulse_alignment=16, extra_slack_distribution='middle', sequence_min_length_ratios=None, insert_multiple_cycles=False, coupling_map=None, alt_spacings=None, schedule_idle_qubits=False, dd_barrier=None)` [GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/main/qiskit_ibm_runtime/transpiler/passes/scheduling/dynamical_decoupling.py#L39-L567 "view source code") Dynamical decoupling insertion pass for IBM dynamic circuit backends. diff --git a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.md b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.md index 6970aa9e8d4..aa3f728d754 100644 --- a/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.md +++ b/docs/api/qiskit-ibm-runtime/dev/qiskit_ibm_runtime.transpiler.passes.scheduling.md @@ -1,7 +1,7 @@ --- title: scheduling description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling --- diff --git a/docs/api/qiskit-ibm-runtime/dev/runtime_service.md b/docs/api/qiskit-ibm-runtime/dev/runtime_service.md index c334f7416ec..9c91dfe440a 100644 --- a/docs/api/qiskit-ibm-runtime/dev/runtime_service.md +++ b/docs/api/qiskit-ibm-runtime/dev/runtime_service.md @@ -1,7 +1,7 @@ --- title: qiskit_ibm_runtime description: API reference for qiskit_ibm_runtime -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit_ibm_runtime --- diff --git a/docs/api/qiskit-ibm-runtime/dev/transpiler.md b/docs/api/qiskit-ibm-runtime/dev/transpiler.md index 36826b30210..adebb057e81 100644 --- a/docs/api/qiskit-ibm-runtime/dev/transpiler.md +++ b/docs/api/qiskit-ibm-runtime/dev/transpiler.md @@ -1,7 +1,7 @@ --- title: transpiler description: API reference for qiskit_ibm_runtime.transpiler -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit_ibm_runtime.transpiler --- diff --git a/docs/api/qiskit/dev/_toc.json b/docs/api/qiskit/dev/_toc.json index 1bf4c0c8ee6..f0397cffd6a 100644 --- a/docs/api/qiskit/dev/_toc.json +++ b/docs/api/qiskit/dev/_toc.json @@ -133,6 +133,10 @@ "title": "Register", "url": "/api/qiskit/dev/qiskit.circuit.Register" }, + { + "title": "Store", + "url": "/api/qiskit/dev/qiskit.circuit.Store" + }, { "title": "SwitchCaseOp", "url": "/api/qiskit/dev/qiskit.circuit.SwitchCaseOp" @@ -798,14 +802,34 @@ "title": "BackendSampler", "url": "/api/qiskit/dev/qiskit.primitives.BackendSampler" }, + { + "title": "BaseEstimatorV1", + "url": "/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1" + }, { "title": "BaseEstimatorV2", "url": "/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2" }, + { + "title": "BasePrimitiveJob", + "url": "/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob" + }, + { + "title": "BaseSamplerV1", + "url": "/api/qiskit/dev/qiskit.primitives.BaseSamplerV1" + }, { "title": "BaseSamplerV2", "url": "/api/qiskit/dev/qiskit.primitives.BaseSamplerV2" }, + { + "title": "BitArray", + "url": "/api/qiskit/dev/qiskit.primitives.BitArray" + }, + { + "title": "DataBin", + "url": "/api/qiskit/dev/qiskit.primitives.DataBin" + }, { "title": "Estimator", "url": "/api/qiskit/dev/qiskit.primitives.Estimator" @@ -814,6 +838,10 @@ "title": "EstimatorResult", "url": "/api/qiskit/dev/qiskit.primitives.EstimatorResult" }, + { + "title": "PrimitiveJob", + "url": "/api/qiskit/dev/qiskit.primitives.PrimitiveJob" + }, { "title": "PrimitiveResult", "url": "/api/qiskit/dev/qiskit.primitives.PrimitiveResult" @@ -1472,7 +1500,7 @@ "children": [ { "title": "Overview", - "url": "/api/qiskit/dev/synthesis_aqc" + "url": "/api/qiskit/dev/qiskit.synthesis.unitary.aqc" }, { "title": "ApproximateCircuit", @@ -1564,6 +1592,14 @@ "title": "Overview", "url": "/api/qiskit/dev/transpiler_passes" }, + { + "title": "ACGSynthesisPermutation", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation" + }, + { + "title": "AGSynthesisClifford", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford" + }, { "title": "ALAPSchedule", "url": "/api/qiskit/dev/qiskit.transpiler.passes.ALAPSchedule" @@ -1582,7 +1618,7 @@ }, { "title": "AQCSynthesisPlugin", - "url": "/api/qiskit/dev/qiskit.transpiler.passes.AQCSynthesisPlugin" + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin" }, { "title": "ASAPSchedule", @@ -1600,10 +1636,18 @@ "title": "BasicSwap", "url": "/api/qiskit/dev/qiskit.transpiler.passes.BasicSwap" }, + { + "title": "BasicSynthesisPermutation", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation" + }, { "title": "BasisTranslator", "url": "/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator" }, + { + "title": "BMSynthesisClifford", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford" + }, { "title": "CheckGateDirection", "url": "/api/qiskit/dev/qiskit.transpiler.passes.CheckGateDirection" @@ -1692,6 +1736,18 @@ "title": "Decompose", "url": "/api/qiskit/dev/qiskit.transpiler.passes.Decompose" }, + { + "title": "DefaultSynthesisClifford", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford" + }, + { + "title": "DefaultSynthesisLinearFunction", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction" + }, + { + "title": "DefaultUnitarySynthesis", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis" + }, { "title": "DenseLayout", "url": "/api/qiskit/dev/qiskit.transpiler.passes.DenseLayout" @@ -1732,6 +1788,10 @@ "title": "GatesInBasis", "url": "/api/qiskit/dev/qiskit.transpiler.passes.GatesInBasis" }, + { + "title": "GreedySynthesisClifford", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford" + }, { "title": "HighLevelSynthesis", "url": "/api/qiskit/dev/qiskit.transpiler.passes.HighLevelSynthesis" @@ -1752,6 +1812,22 @@ "title": "InverseCancellation", "url": "/api/qiskit/dev/qiskit.transpiler.passes.InverseCancellation" }, + { + "title": "KMSSynthesisLinearFunction", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction" + }, + { + "title": "KMSSynthesisPermutation", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation" + }, + { + "title": "LayerLnnSynthesisClifford", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford" + }, + { + "title": "LayerSynthesisClifford", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford" + }, { "title": "Layout2qDistance", "url": "/api/qiskit/dev/qiskit.transpiler.passes.Layout2qDistance" @@ -1808,6 +1884,10 @@ "title": "PadDynamicalDecoupling", "url": "/api/qiskit/dev/qiskit.transpiler.passes.PadDynamicalDecoupling" }, + { + "title": "PMHSynthesisLinearFunction", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction" + }, { "title": "PulseGates", "url": "/api/qiskit/dev/qiskit.transpiler.passes.PulseGates" @@ -1874,7 +1954,7 @@ }, { "title": "SolovayKitaevSynthesis", - "url": "/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaevSynthesis" + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis" }, { "title": "StochasticSwap", @@ -1888,6 +1968,10 @@ "title": "TimeUnitConversion", "url": "/api/qiskit/dev/qiskit.transpiler.passes.TimeUnitConversion" }, + { + "title": "TokenSwapperSynthesisPermutation", + "url": "/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation" + }, { "title": "TranslateParameterizedGates", "url": "/api/qiskit/dev/qiskit.transpiler.passes.TranslateParameterizedGates" diff --git a/docs/api/qiskit/dev/assembler.md b/docs/api/qiskit/dev/assembler.md index 9c05951f5eb..fff6fc1c790 100644 --- a/docs/api/qiskit/dev/assembler.md +++ b/docs/api/qiskit/dev/assembler.md @@ -1,7 +1,7 @@ --- title: assembler description: API reference for qiskit.assembler -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.assembler --- diff --git a/docs/api/qiskit/dev/circuit.md b/docs/api/qiskit/dev/circuit.md index 70478d38150..6dffcf1e4dd 100644 --- a/docs/api/qiskit/dev/circuit.md +++ b/docs/api/qiskit/dev/circuit.md @@ -1,7 +1,7 @@ --- title: circuit description: API reference for qiskit.circuit -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.circuit --- @@ -224,12 +224,13 @@ qc.depth() | [`InstructionSet`](qiskit.circuit.InstructionSet "qiskit.circuit.InstructionSet")(\*\[, resource\_requester]) | Instruction collection, and their contexts. | | [`Operation`](qiskit.circuit.Operation "qiskit.circuit.Operation")() | Quantum Operation Interface Class. | | [`EquivalenceLibrary`](qiskit.circuit.EquivalenceLibrary "qiskit.circuit.EquivalenceLibrary")(\*\[, base]) | A library providing a one-way mapping of Gates to their equivalent implementations as QuantumCircuits. | +| [`Store`](qiskit.circuit.Store "qiskit.circuit.Store")(lvalue, rvalue) | A manual storage of some classical value to a classical memory location. | ### Control Flow Operations | | | | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp")(name, num\_qubits, num\_clbits, ...) | Abstract class to encapsulate all control flow operations. | +| [`ControlFlowOp`](qiskit.circuit.ControlFlowOp "qiskit.circuit.ControlFlowOp")(\*args, \*\*kwargs) | Abstract class to encapsulate all control flow operations. | | [`IfElseOp`](qiskit.circuit.IfElseOp "qiskit.circuit.IfElseOp")(condition, true\_body\[, false\_body, ...]) | A circuit operation which executes a program (`true_body`) if a provided condition (`condition`) evaluates to true, and optionally evaluates another program (`false_body`) otherwise. | | [`WhileLoopOp`](qiskit.circuit.WhileLoopOp "qiskit.circuit.WhileLoopOp")(condition, body\[, label]) | A circuit operation which repeatedly executes a subcircuit (`body`) until a condition (`condition`) evaluates as False. | | [`ForLoopOp`](qiskit.circuit.ForLoopOp "qiskit.circuit.ForLoopOp")(indexset, loop\_parameter, body\[, ...]) | A circuit operation which repeatedly executes a subcircuit (`body`) parameterized by a parameter `loop_parameter` through the set of integer values provided in `indexset`. | diff --git a/docs/api/qiskit/dev/circuit_classical.md b/docs/api/qiskit/dev/circuit_classical.md index 179c6db472c..249a503833d 100644 --- a/docs/api/qiskit/dev/circuit_classical.md +++ b/docs/api/qiskit/dev/circuit_classical.md @@ -1,7 +1,7 @@ --- title: classical description: API reference for qiskit.circuit.classical -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.circuit.classical --- @@ -60,16 +60,34 @@ All subclasses are responsible for setting their `type` attribute in their `__in These objects are mutable and should not be reused in a different location without a copy. -The entry point from general circuit objects to the expression system is by wrapping the object in a [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node and associating a [`Type`](#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type") with it. +The base for dynamic variables is the [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var"), which can be either an arbitrarily typed runtime variable, or a wrapper around a [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"). -`final class qiskit.circuit.classical.expr.Var(var, type)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/classical/expr/expr.py "view source code") +`final class qiskit.circuit.classical.expr.Var(var, type, *, name=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/classical/expr/expr.py "view source code") A classical variable. +These variables take two forms: a new-style variable that owns its storage location and has an associated name; and an old-style variable that wraps a [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") instance that is owned by some containing circuit. In general, construction of variables for use in programs should use `Var.new()` or [`QuantumCircuit.add_var()`](qiskit.circuit.QuantumCircuit#add_var "qiskit.circuit.QuantumCircuit.add_var"). + Variables are immutable after construction, so they can be used as dictionary keys. + + +### name + +`str | None` + +The name of the variable. This is required to exist if the backing [`var`](#qiskit.circuit.classical.expr.Var.var "qiskit.circuit.classical.expr.Var.var") attribute is a [`UUID`](https://docs.python.org/3/library/uuid.html#uuid.UUID "(in Python v3.12)"), i.e. if it is a new-style variable, and must be `None` if it is an old-style variable. + + + +### var + +`qiskit.circuit.Clbit | qiskit.circuit.ClassicalRegister | uuid.UUID` + +A reference to the backing data storage of the [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") instance. When lifting old-style [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") instances into a [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var"), this is exactly the [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister"). If the variable is a new-style classical variable (one that owns its own storage separate to the old [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit")/[`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") model), this field will be a [`UUID`](https://docs.python.org/3/library/uuid.html#uuid.UUID "(in Python v3.12)") to uniquely identify it. + Similarly, literals used in comparison (such as integers) should be lifted to [`Value`](#qiskit.circuit.classical.expr.Value "qiskit.circuit.classical.expr.Value") nodes with associated types. @@ -287,6 +305,8 @@ Value(5, Uint(4)) [Expr](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") +Typically you should create memory-owning [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") instances by using the [`QuantumCircuit.add_var()`](qiskit.circuit.QuantumCircuit#add_var "qiskit.circuit.QuantumCircuit.add_var") method to declare them in some circuit context, since a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") will not accept an [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") that contains variables that are not already declared in it, since it needs to know how to allocate the storage and how the variable will be initialized. However, should you want to do this manually, you should use the low-level `Var.new()` call to safely generate a named variable for usage. + You can manually specify casts in cases where the cast is allowed in explicit form, but may be lossy (such as the cast of a higher precision [`Uint`](#qiskit.circuit.classical.types.Uint "qiskit.circuit.classical.types.Uint") to a lower precision one). ### cast @@ -756,7 +776,7 @@ Two expressions can be compared for direct structural equality by using the buil Do these two expressions have exactly the same tree structure, up to some key function for the [`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var") objects? -In other words, are these two expressions the exact same trees, except we compare the `Var.var` fields by calling the appropriate `*_var_key` function on them, and comparing that output for equality. This function does not allow any semantic “equivalences” such as asserting that `a == b` is equivalent to `b == a`; the evaluation order of the operands could, in general, cause such a statement to be false (consider hypothetical `extern` functions that access global state). +In other words, are these two expressions the exact same trees, except we compare the [`Var.var`](#qiskit.circuit.classical.expr.Var.var "qiskit.circuit.classical.expr.Var.var") fields by calling the appropriate `*_var_key` function on them, and comparing that output for equality. This function does not allow any semantic “equivalences” such as asserting that `a == b` is equivalent to `b == a`; the evaluation order of the operands could, in general, cause such a statement to be false (consider hypothetical `extern` functions that access global state). There’s no requirements on the key functions, except that their outputs should have general `__eq__` methods. If a key function returns `None`, the variable will be used verbatim instead. @@ -764,7 +784,7 @@ There’s no requirements on the key functions, except that their outputs should * **left** ([*expr.Expr*](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.expr.Expr")) – one of the [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.expr.Expr") nodes. * **right** ([*expr.Expr*](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.expr.Expr")) – the other [`Expr`](#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.expr.Expr") node. -* **left\_var\_key** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable "(in Python v3.12)")*\[\[*[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*],* [*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*] | None*) – a callable whose output should be used when comparing `Var.var` attributes. If this argument is `None` or its output is `None` for a given variable in `left`, the variable will be used verbatim. +* **left\_var\_key** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable "(in Python v3.12)")*\[\[*[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*],* [*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*] | None*) – a callable whose output should be used when comparing [`Var.var`](#qiskit.circuit.classical.expr.Var.var "qiskit.circuit.classical.expr.Var.var") attributes. If this argument is `None` or its output is `None` for a given variable in `left`, the variable will be used verbatim. * **right\_var\_key** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable "(in Python v3.12)")*\[\[*[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*],* [*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*] | None*) – same as `left_var_key`, but used on the variables in `right` instead. **Return type** @@ -795,6 +815,54 @@ Comparing the same two expressions, but this time using mapping functions that a True ``` +Some expressions have associated memory locations, and others may be purely temporary. You can use [`is_lvalue()`](#qiskit.circuit.classical.expr.is_lvalue "qiskit.circuit.classical.expr.is_lvalue") to determine whether an expression has an associated memory location. + +### is\_lvalue + + + +`qiskit.circuit.classical.expr.is_lvalue(node, /)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/classical/expr/visitors.py "view source code") + +Return whether this expression can be used in l-value positions, that is, whether it has a well-defined location in memory, such as one that might be writeable. + +Being an l-value is a necessary but not sufficient for this location to be writeable; it is permissible that a larger object containing this memory location may not allow writing from the scope that attempts to write to it. This would be an access property of the containing program, however, and not an inherent property of the expression system. + +**Examples** + +Literal values are never l-values; there’s no memory location associated with (for example) the constant `1`: + +```python +>>> from qiskit.circuit.classical import expr +>>> expr.is_lvalue(expr.lift(2)) +False +``` + +[`Var`](#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var") nodes are always l-values, because they always have some associated memory location: + +```python +>>> from qiskit.circuit.classical import types +>>> from qiskit.circuit import Clbit +>>> expr.is_lvalue(expr.Var.new("a", types.Bool())) +True +>>> expr.is_lvalue(expr.lift(Clbit())) +True +``` + +Currently there are no unary or binary operations on variables that can produce an l-value expression, but it is likely in the future that some sort of “indexing” operation will be added, which could produce l-values: + +```python +>>> a = expr.Var.new("a", types.Uint(8)) +>>> b = expr.Var.new("b", types.Uint(8)) +>>> expr.is_lvalue(a) and expr.is_lvalue(b) +True +>>> expr.is_lvalue(expr.bit_and(a, b)) +False +``` + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + diff --git a/docs/api/qiskit/dev/circuit_library.md b/docs/api/qiskit/dev/circuit_library.md index da75e21bbc2..42a423364aa 100644 --- a/docs/api/qiskit/dev/circuit_library.md +++ b/docs/api/qiskit/dev/circuit_library.md @@ -1,7 +1,7 @@ --- title: library description: API reference for qiskit.circuit.library -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.circuit.library --- diff --git a/docs/api/qiskit/dev/circuit_singleton.md b/docs/api/qiskit/dev/circuit_singleton.md index 28e4e6e72de..52bc1672d82 100644 --- a/docs/api/qiskit/dev/circuit_singleton.md +++ b/docs/api/qiskit/dev/circuit_singleton.md @@ -1,7 +1,7 @@ --- title: singleton description: API reference for qiskit.circuit.singleton -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.circuit.singleton --- diff --git a/docs/api/qiskit/dev/classicalfunction.md b/docs/api/qiskit/dev/classicalfunction.md index affc59df4fe..2283ac9ce87 100644 --- a/docs/api/qiskit/dev/classicalfunction.md +++ b/docs/api/qiskit/dev/classicalfunction.md @@ -1,7 +1,7 @@ --- title: classicalfunction description: API reference for qiskit.circuit.classicalfunction -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.circuit.classicalfunction --- diff --git a/docs/api/qiskit/dev/compiler.md b/docs/api/qiskit/dev/compiler.md index 477334f0778..6281560e292 100644 --- a/docs/api/qiskit/dev/compiler.md +++ b/docs/api/qiskit/dev/compiler.md @@ -1,7 +1,7 @@ --- title: compiler description: API reference for qiskit.compiler -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.compiler --- diff --git a/docs/api/qiskit/dev/converters.md b/docs/api/qiskit/dev/converters.md index f49c19695c0..7316ed36ec9 100644 --- a/docs/api/qiskit/dev/converters.md +++ b/docs/api/qiskit/dev/converters.md @@ -1,7 +1,7 @@ --- title: converters description: API reference for qiskit.converters -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.converters --- diff --git a/docs/api/qiskit/dev/dagcircuit.md b/docs/api/qiskit/dev/dagcircuit.md index 159497aa7af..0e3c5b01968 100644 --- a/docs/api/qiskit/dev/dagcircuit.md +++ b/docs/api/qiskit/dev/dagcircuit.md @@ -1,7 +1,7 @@ --- title: dagcircuit description: API reference for qiskit.dagcircuit -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.dagcircuit --- diff --git a/docs/api/qiskit/dev/exceptions.md b/docs/api/qiskit/dev/exceptions.md index 9028943d3c5..fcd386859f2 100644 --- a/docs/api/qiskit/dev/exceptions.md +++ b/docs/api/qiskit/dev/exceptions.md @@ -1,7 +1,7 @@ --- title: exceptions description: API reference for qiskit.exceptions -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.exceptions --- diff --git a/docs/api/qiskit/dev/index.md b/docs/api/qiskit/dev/index.md index 6c21f6e04ac..7e20f134155 100644 --- a/docs/api/qiskit/dev/index.md +++ b/docs/api/qiskit/dev/index.md @@ -1,7 +1,7 @@ --- title: qiskit description: API reference for qiskit -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit --- @@ -42,7 +42,6 @@ python_api_name: qiskit * [Preset Passmanagers (`qiskit.transpiler.preset_passmanagers`)](transpiler_preset) * [Transpiler Stage Plugin Interface (`qiskit.transpiler.preset_passmanagers.plugin`)](transpiler_plugins) * [Synthesis Plugins (`qiskit.transpiler.passes.synthesis.plugin`)](transpiler_synthesis_plugins) -* [Built-in Transpiler Synthesis Plugins](transpiler_builtin_plugins) * [Utilities (`qiskit.utils`)](utils) * [Top-level exceptions (`qiskit.exceptions`)](exceptions) diff --git a/docs/api/qiskit/dev/passmanager.md b/docs/api/qiskit/dev/passmanager.md index d28d6e689e0..6dc86af9ac4 100644 --- a/docs/api/qiskit/dev/passmanager.md +++ b/docs/api/qiskit/dev/passmanager.md @@ -1,7 +1,7 @@ --- title: passmanager description: API reference for qiskit.passmanager -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.passmanager --- diff --git a/docs/api/qiskit/dev/primitives.md b/docs/api/qiskit/dev/primitives.md index 4c7967c5099..7fb20956f7c 100644 --- a/docs/api/qiskit/dev/primitives.md +++ b/docs/api/qiskit/dev/primitives.md @@ -1,7 +1,7 @@ --- title: primitives description: API reference for qiskit.primitives -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.primitives --- @@ -10,8 +10,6 @@ python_api_name: qiskit.primitives - - # Primitives @@ -20,9 +18,15 @@ python_api_name: qiskit.primitives `qiskit.primitives` +The primitives are computational building blocks to be used in larger applications whose input units, called primitive unified blocs (PUBs), require quantum resources to efficiently produce outputs for. + +Currently there are two types of primitives whose abstractions, in their latest versions, are defined by [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") and [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2"). Samplers are responsible for accepting quantum circuits (or sweeps of values over parameterized circuits) and sampling from their classical output registers. Estimators accept combinations of circuits and observables (or sweeps thereof) to estimate expectation values of the observables. + +Qiskit implements a reference implementation for each of these abstractions, [`StatevectorSampler`](qiskit.primitives.StatevectorSampler "qiskit.primitives.StatevectorSampler") and [`StatevectorEstimator`](qiskit.primitives.StatevectorEstimator "qiskit.primitives.StatevectorEstimator"). + ## Overview of EstimatorV2 -[`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.base.base_estimator.BaseEstimatorV2") is a primitive that estimates expectation values for provided quantum circuit and observable combinations. +[`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") is a primitive that estimates expectation values for provided quantum circuit and observable combinations. Following construction, an estimator is used by calling its [`run()`](qiskit.primitives.BaseEstimatorV2#run "qiskit.primitives.BaseEstimatorV2.run") method with a list of pubs (Primitive Unified Blocs). Each pub contains three values that, together, define a computation unit of work for the estimator to complete: @@ -30,7 +34,7 @@ Following construction, an estimator is used by calling its [`run()`](qiskit.pri * one or more observables (specified as any `ObservablesArrayLike`, including [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli"), [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp"), `str`) that specify which expectation values to estimate, denoted $H_j$, and * a collection parameter value sets to bind the circuit against, $\theta_k$. -Running an estimator returns a [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.JobV1") object, where calling the method [`qiskit.providers.JobV1.result()`](qiskit.providers.JobV1#result "qiskit.providers.JobV1.result") results in expectation value estimates and metadata for each pub: +Running an estimator returns a [`BasePrimitiveJob`](qiskit.primitives.BasePrimitiveJob "qiskit.primitives.BasePrimitiveJob") object, where calling the method [`result()`](qiskit.primitives.BasePrimitiveJob#result "qiskit.primitives.BasePrimitiveJob.result") results in expectation value estimates and metadata for each pub: $$ \langle\psi(\theta_k)|H_j|\psi(\theta_k)\rangle @@ -38,10 +42,10 @@ $$ The observables and parameter values portion of a pub can be array-valued with arbitrary dimensions, where standard broadcasting rules are applied, so that, in turn, the estimated result for each pub is in general array-valued as well. For more information, please check [here](https://github.com/Qiskit/RFCs/blob/master/0015-estimator-interface.md#arrays-and-broadcasting-). -Here is an example of how the estimator is used. +Here is an example of how an estimator is used. ```python -from qiskit.primitives.statevector_estimator import Estimator +from qiskit.primitives import StatevectorEstimator as Estimator from qiskit.circuit.library import RealAmplitudes from qiskit.quantum_info import SparsePauliOp @@ -67,12 +71,64 @@ print(f"The primitive-job finished with result {job_result}")) # ], # [] ] job2 = estimator.run( - [(psi1, [hamiltonian1, hamiltonian3], [theta1, theta3]), (psi2, hamiltonian2, theta2)] + [ + (psi1, [hamiltonian1, hamiltonian3], [theta1, theta3]), + (psi2, hamiltonian2, theta2) + ], + precision=0.01 ) job_result = job2.result() print(f"The primitive-job finished with result {job_result}") ``` +## Overview of SamplerV2 + +[`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") is a primitive that samples outputs of quantum circuits. + +Following construction, a sampler is used by calling its [`run()`](qiskit.primitives.BaseSamplerV2#run "qiskit.primitives.BaseSamplerV2.run") method with a list of pubs (Primitive Unified Blocks). Each pub contains values that, together, define a computational unit of work for the sampler to complete: + +* A single [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), possibly parameterized. +* A collection parameter value sets to bind the circuit against if it is parametric. +* Optionally, the number of shots to sample, determined in the run method if not set. + +Running an estimator returns a [`BasePrimitiveJob`](qiskit.primitives.BasePrimitiveJob "qiskit.primitives.BasePrimitiveJob") object, where calling the method [`result()`](qiskit.primitives.BasePrimitiveJob#result "qiskit.primitives.BasePrimitiveJob.result") results in output samples and metadata for each pub. + +Here is an example of how a sampler is used. + +```python +from qiskit.primitives.statevector_sampler import Sampler +from qiskit import QuantumCircuit +from qiskit.circuit.library import RealAmplitudes + +# create a Bell circuit +bell = QuantumCircuit(2) +bell.h(0) +bell.cx(0, 1) +bell.measure_all() + +# create two parameterized circuits +pqc = RealAmplitudes(num_qubits=2, reps=2) +pqc.measure_all() +pqc2 = RealAmplitudes(num_qubits=2, reps=3) +pqc2.measure_all() + +theta1 = [0, 1, 1, 2, 3, 5] +theta2 = [0, 1, 2, 3, 4, 5, 6, 7] + +# initialization of the sampler +sampler = Sampler() + +# collect 128 shots from the Bell circuit +job = sampler.run([bell], shots=128) +job_result = job.result() +print(f"The primitive-job finished with result {job_result}")) + +# run a sampler job on the parameterized circuits +job2 = sampler.run([(pqc, theta1), (pqc2, theta2)] +job_result = job2.result() +print(f"The primitive-job finished with result {job_result}")) +``` + ## Overview of EstimatorV1 Estimator class estimates expectation values of quantum circuits and observables. @@ -117,61 +173,15 @@ print(f"The primitive-job finished with result {job_result}")) # calculate [ , # , # ] -job2 = estimator.run([psi1, psi2, psi1], [H1, H2, H3], [theta1, theta2, theta3]) +job2 = estimator.run( + [psi1, psi2, psi1], + [H1, H2, H3], + [theta1, theta2, theta3] +) job_result = job2.result() print(f"The primitive-job finished with result {job_result}") ``` - - -## Overview of SamplerV2 - -[`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.base.base_sampler.BaseSamplerV2") is a primitive that samples outputs of quantum circuits. - -Following construction, a sampler is used by calling its [`run()`](qiskit.primitives.BaseSamplerV2#run "qiskit.primitives.BaseSamplerV2.run") method with a list of pubs (Primitive Unified Blocks). Each pub contains values that, together, define a computational unit of work for the sampler to complete: - -* A single [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"), possibly parameterized. -* A collection parameter value sets to bind the circuit against if it is parametric. -* Optionally, the number of shots to sample, determined in the run method if not set. - -Running a sampler returns a `JobV1` object, where calling the method `result()` results in output samples and metadata for each pub. - -Here is an example of how a sampler is used. - -```python -from qiskit.primitives.statevector_sampler import Sampler -from qiskit import QuantumCircuit -from qiskit.circuit.library import RealAmplitudes - -# create a Bell circuit -bell = QuantumCircuit(2) -bell.h(0) -bell.cx(0, 1) -bell.measure_all() - -# create two parameterized circuits -pqc = RealAmplitudes(num_qubits=2, reps=2) -pqc.measure_all() -pqc2 = RealAmplitudes(num_qubits=2, reps=3) -pqc2.measure_all() - -theta1 = [0, 1, 1, 2, 3, 5] -theta2 = [0, 1, 2, 3, 4, 5, 6, 7] - -# initialization of the sampler -sampler = Sampler() - -# collect 128 shots from the Bell circuit -job = sampler.run([bell], shots=128) -job_result = job.result() -print(f"The primitive-job finished with result {job_result}")) - -# run a sampler job on the parameterized circuits -job2 = sampler.run([(pqc, theta1), (pqc2, theta2)] -job_result = job2.result() -print(f"The primitive-job finished with result {job_result}")) -``` - ## Overview of SamplerV1 Sampler class calculates probabilities or quasi-probabilities of bitstrings from quantum circuits. @@ -209,7 +219,9 @@ theta2 = [0, 1, 2, 3, 4, 5, 6, 7] sampler = Sampler() # Sampler runs a job on the Bell circuit -job = sampler.run(circuits=[bell], parameter_values=[[]], parameters=[[]]) +job = sampler.run( + circuits=[bell], parameter_values=[[]], parameters=[[]] +) job_result = job.result() print([q.binary_probabilities() for q in job_result.quasi_dists]) @@ -222,42 +234,118 @@ job_result = job2.result() print([q.binary_probabilities() for q in job_result.quasi_dists]) ``` -## Estimator +## Migration from Primitives V1 to V2 + +The formal distinction between the Primitives V1 and V2 APIs are the base classes from which primitives implementations inherit, which are all listed at the bottom of the page. At a conceptual level, however, here are some notable differences keep in mind when migrating from V1 to V2: + +1. The V2 primitives favour vectorized inputs, where single circuits can be grouped with vector-valued (or more generally, array-valued) specifications. Each group is called a primitive unified bloc (pub), and each pub gets its own result. For example, in the estimator, you can compare the following differences: + + ```python + # Favoured V2 pattern. There is only one pub here, but there could be more. + job = estimator_v2.run([(circuit, [obs1, obs2, obs3, obs4])]) + evs = job.result()[0].data.evs + + # V1 equivalent, where the same circuit must be provided four times. + job = estimator_v1.run([circuit] * 4, [obs1, obs2, obs3, obs4]) + evs = job.result().values + ``` + + Not shown in the above example, for brevity, is that the circuit can be parametric, with arrays of parameter value sets broadcasted against the array of observables. The sampler is similar, but with no observables: + + ```python + # Favoured V2 pattern. There is only one pub here, but there could be more. + job = sampler_v2.run([(circuit, [vals1, vals2, vals3])]) + samples = job.result()[0].data + + # V1 equivalent, where the same circuit must be provided three times. + sampler_v1.run([circuit] * 3, [vals1, vals2, vals3]) + quasi_dists = job.result().quasi_dists + ``` + +2. The V2 sampler returns samples of classical outcomes, preserving the shot order in which they were measured. This is in contrast to the V1 sampler that outputs quasi-probability distributions which are instead an *estimate of the distribution* over classical outcomes. Moreover, the V2 sampler result objects organize data in terms of their input circuits’ classical register names, which provides natural compatibility with dynamic circuits. + + The closest analog of quasi-probability distributions in the V2 interface is the [`get_counts()`](qiskit.primitives.BitArray#get_counts "qiskit.primitives.BitArray.get_counts") method, shown in the example below. However, we emphasize that for utility scale experiments (100+ qubits), the chances of measuring the same bitstring twice are small, so that binning like counts in a dictionary format will not typically be an efficient data processing strategy. + + ```python + circuit = QuantumCircuit(QuantumRegister(2, "qreg"), ClassicalRegister(2, "alpha")) + circuit.h(0) + circuit.cx(0, 1) + circuit.measure([0, 1], [0, 1]) + + # V1 sampler usage + result = sampler_v1.run([circuit]).result() + quasi_dist = result.quasi_dists[0] + + # V2 sampler usage + result = sampler_v2.run([circuit]).result() + # these are the bit values from the alpha register, over all shots + bitvals = result[0].data.alpha + # we can use it to generate a Counts mapping, which is similar to a quasi prob distribution + counts = bitvals.get_counts() + # which can in turn be converted to the V1 type through normalization + quasi_dist = QuasiDistribution({outcome: freq / shots for outcome, freq in counts.items()}) + ``` + +3. The V2 primitives have brought the concept of sampling overhead, inherent to all quantum systems via their inherent probabilistic nature, out of the options and into the API itself. For the sampler, this means that the `shots` argument is now part of the [`run()`](qiskit.primitives.BaseSamplerV2#run "qiskit.primitives.BaseSamplerV2.run") signature, and moreover that each pub is able to specify its own value for `shots`, which takes precedence over any value given to the method. The sampler has an analogous `precision` argument that specifies the error bars that the primitive implementation should target for expectation values estimates. + + This concept is not present in the API of the V1 primitives, though all implementations of the V1 primitives have related settings somewhere in their options. + + ```python + # Sample two circuits at 128 shots each. + sampler_v2.run([circuit1, circuit2], shots=128) -| | | -| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -| [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") | alias of `BaseEstimatorV1` | -| [`Estimator`](qiskit.primitives.Estimator "qiskit.primitives.Estimator")(\*\[, options]) | Reference implementation of [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator"). | -| [`BackendEstimator`](qiskit.primitives.BackendEstimator "qiskit.primitives.BackendEstimator")(backend\[, options, ...]) | Evaluates expectation value using Pauli rotation gates. | + # Sample two circuits at different amounts of shots. The "None"s are necessary as placeholders + # for the lack of parameter values in this example. + sampler_v2.run([(circuit1, None, 123), (circuit2, None, 456)]) -## EstimatorV2 + # Estimate expectation values for two pubs, both with 0.05 precision. + estimator_v2.run([(circuit1, obs_array1), (circuit2, obs_array_2)], precision=0.05) + ``` + +## Primitives API + +### Primitives V2 | | | | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2")() | Estimator base class version 2. | +| [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2")() | Estimator V2 base class. | | [`StatevectorEstimator`](qiskit.primitives.StatevectorEstimator "qiskit.primitives.StatevectorEstimator")(\*\[, default\_precision, ...]) | Simple implementation of [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 "qiskit.primitives.BaseEstimatorV2") with full state vector simulation. | -## Sampler - -| | | -| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.BaseSampler") | alias of `BaseSamplerV1` | -| [`Sampler`](qiskit.primitives.Sampler "qiskit.primitives.Sampler")(\*\[, options]) | Sampler class. | -| [`BackendSampler`](qiskit.primitives.BackendSampler "qiskit.primitives.BackendSampler")(backend\[, options, ...]) | A `BaseSampler` implementation that provides an interface for leveraging the sampler interface from any backend. | - -## SamplerV2 +### Sampler V2 | | | | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2")() | Sampler base class version 2. | +| [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2")() | Sampler V2 base class. | | [`StatevectorSampler`](qiskit.primitives.StatevectorSampler "qiskit.primitives.StatevectorSampler")(\*\[, default\_shots, seed]) | Simple implementation of [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") using full state vector simulation. | -## Results +### Results V2 -| | | -| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -| [`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.EstimatorResult")(values, metadata) | Result of Estimator. | -| [`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.SamplerResult")(quasi\_dists, metadata) | Result of Sampler. | -| [`PrimitiveResult`](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")(pub\_results\[, metadata]) | A container for multiple pub results and global metadata. | -| [`PubResult`](qiskit.primitives.PubResult "qiskit.primitives.PubResult")(data\[, metadata]) | Result of Primitive Unified Bloc. | +| | | +| --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | +| [`BitArray`](qiskit.primitives.BitArray "qiskit.primitives.BitArray")(array, num\_bits) | Stores an array of bit values. | +| [`DataBin`](qiskit.primitives.DataBin "qiskit.primitives.DataBin")() | Base class for data bin containers. | +| [`PrimitiveResult`](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")(pub\_results\[, metadata]) | A container for multiple pub results and global metadata. | +| [`PubResult`](qiskit.primitives.PubResult "qiskit.primitives.PubResult")(data\[, metadata]) | Result of Primitive Unified Bloc. | +| [`BasePrimitiveJob`](qiskit.primitives.BasePrimitiveJob "qiskit.primitives.BasePrimitiveJob")(job\_id, \*\*kwargs) | Primitive job abstract base class. | +| [`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.PrimitiveJob")(function, \*args, \*\*kwargs) | Primitive job class for the reference implementations of Primitives. | + +### Estimator V1 + +| | | +| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator") | alias of [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1") | +| [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.BaseEstimatorV1")(\*\[, options]) | Estimator V1 base class. | +| [`Estimator`](qiskit.primitives.Estimator "qiskit.primitives.Estimator")(\*\[, options]) | Reference implementation of [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator"). | +| [`BackendEstimator`](qiskit.primitives.BackendEstimator "qiskit.primitives.BackendEstimator")(backend\[, options, ...]) | Evaluates expectation value using Pauli rotation gates. | +| [`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.EstimatorResult")(values, metadata) | Result of Estimator. | + +### Sampler V1 + +| | | +| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| [`BaseSampler`](qiskit.primitives.BaseSampler "qiskit.primitives.BaseSampler") | alias of [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1") | +| [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.BaseSamplerV1")(\*\[, options]) | Sampler V1 base class | +| [`Sampler`](qiskit.primitives.Sampler "qiskit.primitives.Sampler")(\*\[, options]) | Sampler class. | +| [`BackendSampler`](qiskit.primitives.BackendSampler "qiskit.primitives.BackendSampler")(backend\[, options, ...]) | A `BaseSampler` implementation that provides an interface for leveraging the sampler interface from any backend. | +| [`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.SamplerResult")(quasi\_dists, metadata) | Result of Sampler. | diff --git a/docs/api/qiskit/dev/providers.md b/docs/api/qiskit/dev/providers.md index 37a02bf1983..5142d5b5acf 100644 --- a/docs/api/qiskit/dev/providers.md +++ b/docs/api/qiskit/dev/providers.md @@ -1,7 +1,7 @@ --- title: providers description: API reference for qiskit.providers -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.providers --- diff --git a/docs/api/qiskit/dev/providers_basic_provider.md b/docs/api/qiskit/dev/providers_basic_provider.md index df53414332b..eb5dc6f06c2 100644 --- a/docs/api/qiskit/dev/providers_basic_provider.md +++ b/docs/api/qiskit/dev/providers_basic_provider.md @@ -1,7 +1,7 @@ --- title: basic_provider description: API reference for qiskit.providers.basic_provider -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.providers.basic_provider --- diff --git a/docs/api/qiskit/dev/providers_fake_provider.md b/docs/api/qiskit/dev/providers_fake_provider.md index 076599fc24f..0b99328d2f7 100644 --- a/docs/api/qiskit/dev/providers_fake_provider.md +++ b/docs/api/qiskit/dev/providers_fake_provider.md @@ -1,7 +1,7 @@ --- title: fake_provider description: API reference for qiskit.providers.fake_provider -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.providers.fake_provider --- diff --git a/docs/api/qiskit/dev/providers_models.md b/docs/api/qiskit/dev/providers_models.md index 0816d353708..d707ddeb624 100644 --- a/docs/api/qiskit/dev/providers_models.md +++ b/docs/api/qiskit/dev/providers_models.md @@ -1,7 +1,7 @@ --- title: models description: API reference for qiskit.providers.models -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.providers.models --- diff --git a/docs/api/qiskit/dev/pulse.md b/docs/api/qiskit/dev/pulse.md index 80c9032270e..6f29aa52a95 100644 --- a/docs/api/qiskit/dev/pulse.md +++ b/docs/api/qiskit/dev/pulse.md @@ -1,7 +1,7 @@ --- title: pulse description: API reference for qiskit.pulse -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.pulse --- diff --git a/docs/api/qiskit/dev/qasm2.md b/docs/api/qiskit/dev/qasm2.md index 2e37c8ea09f..9afe1fefdc0 100644 --- a/docs/api/qiskit/dev/qasm2.md +++ b/docs/api/qiskit/dev/qasm2.md @@ -1,7 +1,7 @@ --- title: qasm2 description: API reference for qiskit.qasm2 -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.qasm2 --- diff --git a/docs/api/qiskit/dev/qasm3.md b/docs/api/qiskit/dev/qasm3.md index 85ca3bcfc72..fe5a2b9513b 100644 --- a/docs/api/qiskit/dev/qasm3.md +++ b/docs/api/qiskit/dev/qasm3.md @@ -1,7 +1,7 @@ --- title: qasm3 description: API reference for qiskit.qasm3 -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.qasm3 --- diff --git a/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.md b/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.md index 934768c6a12..0f736f7435b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.md +++ b/docs/api/qiskit/dev/qiskit.circuit.ControlFlowOp.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.ControlFlowOp -`qiskit.circuit.ControlFlowOp(name, num_qubits, num_clbits, params, duration=None, unit='dt', label=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/controlflow/control_flow.py "view source code") +`qiskit.circuit.ControlFlowOp(*args, **kwargs)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/controlflow/control_flow.py "view source code") Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction"), [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") diff --git a/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.md b/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.md index 0ab1da5ef7f..5e2042b6e6d 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.md +++ b/docs/api/qiskit/dev/qiskit.circuit.QuantumCircuit.md @@ -10,7 +10,7 @@ python_api_name: qiskit.circuit.QuantumCircuit -`qiskit.circuit.QuantumCircuit(*regs, name=None, global_phase=0, metadata=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/quantumcircuit.py "view source code") +`qiskit.circuit.QuantumCircuit(*regs, name=None, global_phase=0, metadata=None, inputs=(), captures=(), declarations=())` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/quantumcircuit.py "view source code") Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") @@ -47,9 +47,20 @@ A circuit is a list of instructions bound to some registers. * **metadata** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")) – Arbitrary key value metadata to associate with the circuit. This gets stored as free-form data in a dict in the [`metadata`](#qiskit.circuit.QuantumCircuit.metadata "qiskit.circuit.QuantumCircuit.metadata") attribute. It will not be directly used in the circuit. +* **inputs** (*Iterable\[*[*expr.Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")*]*) – any variables to declare as `input` runtime variables for this circuit. These should already be existing [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") nodes that you build from somewhere else; if you need to create the inputs as well, use [`QuantumCircuit.add_input()`](#qiskit.circuit.QuantumCircuit.add_input "qiskit.circuit.QuantumCircuit.add_input"). The variables given in this argument will be passed directly to [`add_input()`](#qiskit.circuit.QuantumCircuit.add_input "qiskit.circuit.QuantumCircuit.add_input"). A circuit cannot have both `inputs` and `captures`. + +* **captures** (*Iterable\[*[*expr.Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")*]*) – any variables that that this circuit scope should capture from a containing scope. The variables given here will be passed directly to [`add_capture()`](#qiskit.circuit.QuantumCircuit.add_capture "qiskit.circuit.QuantumCircuit.add_capture"). A circuit cannot have both `inputs` and `captures`. + +* **declarations** (*Mapping\[*[*expr.Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")*,* [*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")*] | Iterable\[Tuple\[*[*expr.Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")*,* [*expr.Expr*](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr")*]]*) – + + any variables that this circuit should declare and initialize immediately. You can order this input so that later declarations depend on earlier ones (including inputs or captures). If you need to depend on values that will be computed later at runtime, use [`add_var()`](#qiskit.circuit.QuantumCircuit.add_var "qiskit.circuit.QuantumCircuit.add_var") at an appropriate point in the circuit execution. + + This argument is intended for convenient circuit initialization when you already have a set of created variables. The variables used here will be directly passed to [`add_var()`](#qiskit.circuit.QuantumCircuit.add_var "qiskit.circuit.QuantumCircuit.add_var"), which you can use directly if this is the first time you are creating the variable. + **Raises** -[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the circuit name, if given, is not valid. +* [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the circuit name, if given, is not valid. +* [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if both `inputs` and `captures` are given. **Examples** @@ -173,12 +184,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the [`iter_captured_vars()`](#qiskit.circuit.QuantumCircuit.iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars") iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.QuantumCircuit.num_input_vars "qiskit.circuit.QuantumCircuit.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the [`iter_declared_vars()`](#qiskit.circuit.QuantumCircuit.iter_declared_vars "qiskit.circuit.QuantumCircuit.iter_declared_vars") iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the [`iter_input_vars()`](#qiskit.circuit.QuantumCircuit.iter_input_vars "qiskit.circuit.QuantumCircuit.iter_input_vars") iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.QuantumCircuit.num_captured_vars "qiskit.circuit.QuantumCircuit.num_captured_vars") must be zero. + ### num\_parameters @@ -191,6 +226,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the [`iter_vars()`](#qiskit.circuit.QuantumCircuit.iter_vars "qiskit.circuit.QuantumCircuit.iter_vars") iterable. + ### op\_start\_times @@ -306,6 +349,49 @@ Register a low-level, custom pulse definition for the given gate. [**Exception**](https://docs.python.org/3/library/exceptions.html#Exception "(in Python v3.12)") – if the gate is of type string and params is None. +### add\_capture + + + +`add_capture(var)` + +Add a variable to the circuit that it should capture from a scope it will be contained within. + +This method requires a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node to enforce that you’ve got a handle to one, because you will need to declare the same variable using the same object into the outer circuit. + +This is a low-level method, which is only really useful if you are manually constructing control-flow operations. You typically will not need to call this method, assuming you are using the builder interface for control-flow scopes (`with` context-manager statements for [`if_test()`](#qiskit.circuit.QuantumCircuit.if_test "qiskit.circuit.QuantumCircuit.if_test") and the other scoping constructs). The builder interface will automatically make the inner scopes closures on your behalf by capturing any variables that are used within them. + +**Parameters** + +**var** ([*Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var")) – the variable to capture from an enclosing scope. + +**Raises** + +[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the variable cannot be created due to shadowing an existing variable. + +### add\_input + + + +`add_input(name_or_var: str, type_: Type, /) → Var` + +`add_input(name_or_var: Var, type_: None = None, /) → Var` + +Register a variable as an input to the circuit. + +**Parameters** + +* **name\_or\_var** – either a string name, or an existing [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node to use as the input variable. +* **type** – if the name is given as a string, then this must be a [`Type`](circuit_classical#qiskit.circuit.classical.types.Type "qiskit.circuit.classical.types.Type") to use for the variable. If the variable is given as an existing [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var"), then this must not be given, and will instead be read from the object itself. + +**Returns** + +the variable created, or the same variable as was passed in. + +**Raises** + +[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the variable cannot be created due to shadowing an existing variable. + ### add\_register @@ -314,6 +400,98 @@ Register a low-level, custom pulse definition for the given gate. Add registers. +### add\_uninitialized\_var + + + +`add_uninitialized_var(var, /)` + +Add a variable with no initializer. + +In most cases, you should use [`add_var()`](#qiskit.circuit.QuantumCircuit.add_var "qiskit.circuit.QuantumCircuit.add_var") to initialize the variable. To use this function, you must already hold a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") instance, as the use of the function typically only makes sense in copying contexts. + + + Qiskit makes no assertions about what an uninitialized variable will evaluate to at runtime, and some hardware may reject this as an error. + + You should treat this function with caution, and as a low-level primitive that is useful only in special cases of programmatically rebuilding two like circuits. + + +**Parameters** + +**var** ([*Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var")) – the variable to add. + +### add\_var + + + +`add_var(name_or_var, /, initial)` + +Add a classical variable with automatic storage and scope to this circuit. + +The variable is considered to have been “declared” at the beginning of the circuit, but it only becomes initialized at the point of the circuit that you call this method, so it can depend on variables defined before it. + +**Parameters** + +* **name\_or\_var** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*expr.Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")) – either a string of the variable name, or an existing instance of [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") to re-use. Variables cannot shadow names that are already in use within the circuit. + +* **initial** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – + + the value to initialize this variable with. If the first argument was given as a string name, the type of the resulting variable is inferred from the initial expression; to control this more manually, either use `Var.new()` to manually construct a new variable with the desired type, or use [`expr.cast()`](circuit_classical#qiskit.circuit.classical.expr.cast "qiskit.circuit.classical.expr.cast") to cast the initializer to the desired type. + + This must be either a [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") node, or a value that can be lifted to one using `expr.lift`. + +**Returns** + +The created variable. If a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") instance was given, the exact same object will be returned. + +**Raises** + +[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the variable cannot be created due to shadowing an existing variable. + +**Return type** + +[expr.Var](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") + +**Examples** + +Define a new variable given just a name and an initializer expression: + +```python +from qiskit.circuit import QuantumCircuit + +qc = QuantumCircuit(2) +my_var = qc.add_var("my_var", False) +``` + +Reuse a variable that may have been taken from a related circuit, or otherwise constructed manually, and initialize it to some more complicated expression: + +```python +from qiskit.circuit import QuantumCircuit, QuantumRegister, ClassicalRegister +from qiskit.circuit.classical import expr, types + +my_var = expr.Var.new("my_var", types.Uint(8)) + +cr1 = ClassicalRegister(8, "cr1") +cr2 = ClassicalRegister(8, "cr2") +qc = QuantumCircuit(QuantumRegister(8), cr1, cr2) + +# Get some measurement results into each register. +qc.h(0) +for i in range(1, 8): + qc.cx(0, i) +qc.measure(range(8), cr1) + +qc.reset(range(8)) +qc.h(0) +for i in range(1, 8): + qc.cx(0, i) +qc.measure(range(8), cr2) + +# Now when we add the variable, it is initialized using the runtime state of the two +# classical registers we measured into above. +qc.add_var(my_var, expr.bit_and(cr1, cr2)) +``` + ### append @@ -750,6 +928,10 @@ Return a copy of self with the same structure but empty. * global phase * all the qubits and clbits, including the registers + + If the circuit contains any local variable declarations (those added by the `declarations` argument to the circuit constructor, or using [`add_var()`](#qiskit.circuit.QuantumCircuit.add_var "qiskit.circuit.QuantumCircuit.add_var")), they will be **uninitialized** in the output circuit. You will need to manually add store instructions for them (see [`Store`](qiskit.circuit.Store "qiskit.circuit.Store") and [`QuantumCircuit.store()`](#qiskit.circuit.QuantumCircuit.store "qiskit.circuit.QuantumCircuit.store")) to initialize them. + + **Parameters** **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Name for the copied circuit. If None, then the name stays the same. @@ -1537,6 +1719,66 @@ assert qc.get_parameter("my_param", None) is my_param assert qc.get_parameter("unknown_param", None) is None ``` + + **[`get_var()`](#qiskit.circuit.QuantumCircuit.get_var "qiskit.circuit.QuantumCircuit.get_var")** + + A similar method, but for [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") run-time variables instead of [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") compile-time parameters. + + +### get\_var + + + +`get_var(name: str, default: T) → Var | T` + +`get_var(name: str, default: ellipsis = Ellipsis) → Var` + +Retrieve a variable that is accessible in this circuit scope by name. + +**Parameters** + +* **name** – the name of the variable to retrieve. +* **default** – if given, this value will be returned if the variable is not present. If it is not given, a [`KeyError`](https://docs.python.org/3/library/exceptions.html#KeyError "(in Python v3.12)") is raised instead. + +**Returns** + +The corresponding variable. + +**Raises** + +[**KeyError**](https://docs.python.org/3/library/exceptions.html#KeyError "(in Python v3.12)") – if no default is given, but the variable does not exist. + +**Examples** + +Retrieve a variable by name from a circuit: + +```python +from qiskit.circuit import QuantumCircuit + +# Create a circuit and create a variable in it. +qc = QuantumCircuit() +my_var = qc.add_var("my_var", False) + +# We can use 'my_var' as a variable, but let's say we've lost the Python object and +# need to retrieve it. +my_var_again = qc.get_var("my_var") + +assert my_var is my_var_again +``` + +Get a variable from a circuit by name, returning some default if it is not present: + +```python +assert qc.get_var("my_var", None) is my_var +assert qc.get_var("unknown_variable", None) is None +``` + + + **[`get_parameter()`](#qiskit.circuit.QuantumCircuit.get_parameter "qiskit.circuit.QuantumCircuit.get_parameter")** + + A similar method, but for [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") compile-time parameters instead of [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") run-time variables. + + ### h @@ -1591,6 +1833,10 @@ whether a matching parameter is assignable in this circuit. **[`QuantumCircuit.get_parameter()`](#qiskit.circuit.QuantumCircuit.get_parameter "qiskit.circuit.QuantumCircuit.get_parameter")** Retrieve the [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter") instance from this circuit by name. + + **[`QuantumCircuit.has_var()`](#qiskit.circuit.QuantumCircuit.has_var "qiskit.circuit.QuantumCircuit.has_var")** + + A similar method to this, but for run-time [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") variables instead of compile-time [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter")s. ### has\_register @@ -1613,6 +1859,36 @@ True if the register is contained in this circuit. [bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") +### has\_var + + + +`has_var(name_or_var, /)` + +Check whether a variable is accessible in this scope. + +**Parameters** + +**name\_or\_var** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*expr.Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var")) – the variable, or name of a variable to check. If this is a [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node, the variable must be exactly the given one for this function to return `True`. + +**Returns** + +whether a matching variable is accessible. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + + + **[`QuantumCircuit.get_var()`](#qiskit.circuit.QuantumCircuit.get_var "qiskit.circuit.QuantumCircuit.get_var")** + + Retrieve the [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") instance from this circuit by name. + + **[`QuantumCircuit.has_parameter()`](#qiskit.circuit.QuantumCircuit.has_parameter "qiskit.circuit.QuantumCircuit.has_parameter")** + + A similar method to this, but for compile-time [`Parameter`](qiskit.circuit.Parameter "qiskit.circuit.Parameter")s instead of run-time [`expr.Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") variables. + + ### id @@ -1901,6 +2177,56 @@ A handle to the instructions created. [*InstructionSet*](qiskit.circuit.InstructionSet "qiskit.circuit.instructionset.InstructionSet") +### iter\_captured\_vars + + + +`iter_captured_vars()` + +Get an iterable over all runtime classical variables that are captured by this circuit scope from a containing scope. This excludes input variables (see [`iter_input_vars()`](#qiskit.circuit.QuantumCircuit.iter_input_vars "qiskit.circuit.QuantumCircuit.iter_input_vars")) and locally declared variables (see [`iter_declared_vars()`](#qiskit.circuit.QuantumCircuit.iter_declared_vars "qiskit.circuit.QuantumCircuit.iter_declared_vars")). + +**Return type** + +[*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")\[[*Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var")] + +### iter\_declared\_vars + + + +`iter_declared_vars()` + +Get an iterable over all runtime classical variables that are declared with automatic storage duration in this scope. This excludes input variables (see [`iter_input_vars()`](#qiskit.circuit.QuantumCircuit.iter_input_vars "qiskit.circuit.QuantumCircuit.iter_input_vars")) and captured variables (see [`iter_captured_vars()`](#qiskit.circuit.QuantumCircuit.iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars")). + +**Return type** + +[*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")\[[*Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var")] + +### iter\_input\_vars + + + +`iter_input_vars()` + +Get an iterable over all runtime classical variables that are declared as inputs to this circuit scope. This excludes locally declared variables (see [`iter_declared_vars()`](#qiskit.circuit.QuantumCircuit.iter_declared_vars "qiskit.circuit.QuantumCircuit.iter_declared_vars")) and captured variables (see [`iter_captured_vars()`](#qiskit.circuit.QuantumCircuit.iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars")). + +**Return type** + +[*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")\[[*Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var")] + +### iter\_vars + + + +`iter_vars()` + +Get an iterable over all runtime classical variables in scope within this circuit. + +This method will iterate over all variables in scope. For more fine-grained iterators, see [`iter_declared_vars()`](#qiskit.circuit.QuantumCircuit.iter_declared_vars "qiskit.circuit.QuantumCircuit.iter_declared_vars"), [`iter_input_vars()`](#qiskit.circuit.QuantumCircuit.iter_input_vars "qiskit.circuit.QuantumCircuit.iter_input_vars") and [`iter_captured_vars()`](#qiskit.circuit.QuantumCircuit.iter_captured_vars "qiskit.circuit.QuantumCircuit.iter_captured_vars"). + +**Return type** + +[*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")\[[*Var*](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.expr.Var")] + ### mcp @@ -2987,6 +3313,35 @@ Total number of gate operations. [int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") +### store + + + +`store(lvalue, rvalue, /)` + +Store the result of the given runtime classical expression `rvalue` in the memory location defined by `lvalue`. + +Typically `lvalue` will be a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node and `rvalue` will be some [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") to write into it, but anything that [`expr.lift()`](circuit_classical#qiskit.circuit.classical.expr.lift "qiskit.circuit.classical.expr.lift") can raise to an [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") is permissible in both places, and it will be called on them. + +**Parameters** + +* **lvalue** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – a valid specifier for a memory location in the circuit. This will typically be a [`Var`](circuit_classical#qiskit.circuit.classical.expr.Var "qiskit.circuit.classical.expr.Var") node, but you can also write to [`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.Clbit") or [`ClassicalRegister`](qiskit.circuit.ClassicalRegister "qiskit.circuit.ClassicalRegister") memory locations if your hardware supports it. The memory location must already be present in the circuit. +* **rvalue** ([*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")) – a runtime classical expression whose result should be written into the given memory location. + +**Return type** + +[*InstructionSet*](qiskit.circuit.InstructionSet "qiskit.circuit.instructionset.InstructionSet") + + + **[`Store`](qiskit.circuit.Store "qiskit.circuit.Store")** + + The backing [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.Instruction") class that represents this operation. + + **[`add_var()`](#qiskit.circuit.QuantumCircuit.add_var "qiskit.circuit.QuantumCircuit.add_var")** + + Create a new variable in the circuit that can be written to with this method. + + ### swap diff --git a/docs/api/qiskit/dev/qiskit.circuit.Store.md b/docs/api/qiskit/dev/qiskit.circuit.Store.md new file mode 100644 index 00000000000..82c9af46286 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.circuit.Store.md @@ -0,0 +1,333 @@ +--- +title: Store +description: API reference for qiskit.circuit.Store +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.circuit.Store +--- + +# Store + + + +`qiskit.circuit.Store(lvalue, rvalue)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/circuit/store.py "view source code") + +Bases: [`Instruction`](qiskit.circuit.Instruction "qiskit.circuit.instruction.Instruction") + +A manual storage of some classical value to a classical memory location. + +This is a low-level primitive of the classical-expression handling (similar to how `Measure` is a primitive for quantum measurement), and is not safe for subclassing. It is likely to become a special-case instruction in later versions of Qiskit circuit and compiler internal representations. + +Create a new instruction. + +**Parameters** + +* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – instruction name +* **num\_qubits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – instruction’s qubit width +* **num\_clbits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – instruction’s clbit width +* **params** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*|*[*complex*](https://docs.python.org/3/library/functions.html#complex "(in Python v3.12)")*|*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*|ndarray|*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")*]*) – list of parameters +* **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *or*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – instruction’s duration. it must be integer if `unit` is ‘dt’ +* **unit** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – time unit of duration +* **label** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *or None*) – An optional label for identifying the instruction. + +**Raises** + +* [**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – when the register is not in the correct format. +* [**TypeError**](https://docs.python.org/3/library/exceptions.html#TypeError "(in Python v3.12)") – when the optional label is provided, but it is not a string. + +## Attributes + + + +### base\_class + +Get the base class of this instruction. This is guaranteed to be in the inheritance tree of `self`. + +The “base class” of an instruction is the lowest class in its inheritance tree that the object should be considered entirely compatible with for \_all\_ circuit applications. This typically means that the subclass is defined purely to offer some sort of programmer convenience over the base class, and the base class is the “true” class for a behavioural perspective. In particular, you should *not* override [`base_class`](#qiskit.circuit.Store.base_class "qiskit.circuit.Store.base_class") if you are defining a custom version of an instruction that will be implemented differently by hardware, such as an alternative measurement strategy, or a version of a parametrised gate with a particular set of parameters for the purposes of distinguishing it in a [`Target`](qiskit.transpiler.Target "qiskit.transpiler.Target") from the full parametrised gate. + +This is often exactly equivalent to `type(obj)`, except in the case of singleton instances of standard-library instructions. These singleton instances are special subclasses of their base class, and this property will return that base. For example: + +```python +>>> isinstance(XGate(), XGate) +True +>>> type(XGate()) is XGate +False +>>> XGate().base_class is XGate +True +``` + +In general, you should not rely on the precise class of an instruction; within a given circuit, it is expected that [`Instruction.name`](qiskit.circuit.Instruction#name "qiskit.circuit.Instruction.name") should be a more suitable discriminator in most situations. + + + +### condition + +The classical condition on the instruction. + + + +### condition\_bits + +Get Clbits in condition. + + + +### decompositions + +Get the decompositions of the instruction from the SessionEquivalenceLibrary. + + + +### definition + +Return definition in terms of other basic gates. + + + +### duration + +Get the duration. + + + +### label + +Return instruction label + + + +### lvalue + +Get the l-value [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") node that is being stored to. + + + +### mutable + +Is this instance is a mutable unique instance or not. + +If this attribute is `False` the gate instance is a shared singleton and is not mutable. + + + +### name + +Return the name. + + + +### num\_clbits + +Return the number of clbits. + + + +### num\_qubits + +Return the number of qubits. + + + +### params + +return instruction params. + + + +### rvalue + +Get the r-value [`Expr`](circuit_classical#qiskit.circuit.classical.expr.Expr "qiskit.circuit.classical.expr.Expr") node that is being written into the l-value. + + + +### unit + +Get the time unit of duration. + +## Methods + +### add\_decomposition + + + +`add_decomposition(decomposition)` + +Add a decomposition of the instruction to the SessionEquivalenceLibrary. + +### assemble + + + +`assemble()` + +Assemble a QasmQobjInstruction + +### broadcast\_arguments + + + +`broadcast_arguments(qargs, cargs)` + +Validation of the arguments. + +**Parameters** + +* **qargs** (*List*) – List of quantum bit arguments. +* **cargs** (*List*) – List of classical bit arguments. + +**Yields** + +*Tuple(List, List)* – A tuple with single arguments. + +**Raises** + +[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If the input is not valid. For example, the number of arguments does not match the gate expectation. + +### c\_if + + + +`c_if(classical, val)` + +Set a classical equality condition on this instruction between the register or cbit `classical` and value `val`. + + + This is a setter method, not an additive one. Calling this multiple times will silently override any previously set condition; it does not stack. + + +### copy + + + +`copy(name=None)` + +Copy of the instruction. + +**Parameters** + +**name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – name to be given to the copied circuit, if `None` then the name stays the same. + +**Returns** + +a copy of the current instruction, with the name updated if it was provided + +**Return type** + +[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction") + +### inverse + + + +`inverse(annotated=False)` + +Invert this instruction. + +If annotated is False, the inverse instruction is implemented as a fresh instruction with the recursively inverted definition. + +If annotated is True, the inverse instruction is implemented as `AnnotatedOperation`, and corresponds to the given instruction annotated with the “inverse modifier”. + +Special instructions inheriting from Instruction can implement their own inverse (e.g. T and Tdg, Barrier, etc.) In particular, they can choose how to handle the argument `annotated` which may include ignoring it and always returning a concrete gate class if the inverse is defined as a standard gate. + +**Parameters** + +**annotated** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – if set to True the output inverse gate will be returned as `AnnotatedOperation`. + +**Returns** + +The inverse operation. + +**Raises** + +[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – if the instruction is not composite and an inverse has not been implemented for it. + +### is\_parameterized + + + +`is_parameterized()` + +Return True .IFF. instruction is parameterized else False + +### repeat + + + +`repeat(n)` + +Creates an instruction with gate repeated n amount of times. + +**Parameters** + +**n** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – Number of times to repeat the instruction + +**Returns** + +Containing the definition. + +**Return type** + +[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction") + +**Raises** + +[**CircuitError**](circuit#qiskit.circuit.CircuitError "qiskit.circuit.CircuitError") – If n \< 1. + +### reverse\_ops + + + +`reverse_ops()` + +For a composite instruction, reverse the order of sub-instructions. + +This is done by recursively reversing all sub-instructions. It does not invert any gate. + +**Returns** + +**a new instruction with** + +sub-instructions reversed. + +**Return type** + +[qiskit.circuit.Instruction](qiskit.circuit.Instruction "qiskit.circuit.Instruction") + +### soft\_compare + + + +`soft_compare(other)` + +Soft comparison between gates. Their names, number of qubits, and classical bit numbers must match. The number of parameters must match. Each parameter is compared. If one is a ParameterExpression then it is not taken into account. + +**Parameters** + +**other** (*instruction*) – other instruction. + +**Returns** + +are self and other equal up to parameter expressions. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### to\_mutable + + + +`to_mutable()` + +Return a mutable copy of this gate. + +This method will return a new mutable copy of this gate instance. If a singleton instance is being used this will be a new unique instance that can be mutated. If the instance is already mutable it will be a deepcopy of that instance. + +### validate\_parameter + + + +`validate_parameter(parameter)` + +Instruction parameters has no validation or normalization. + diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.AND.md b/docs/api/qiskit/dev/qiskit.circuit.library.AND.md index 76e51f8df0d..ccdd4f436a8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.AND.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.AND.md @@ -106,12 +106,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.AND.num_input_vars "qiskit.circuit.library.AND.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.AND.num_captured_vars "qiskit.circuit.library.AND.num_captured_vars") must be zero. + ### num\_parameters @@ -124,6 +148,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.md b/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.md index 62efbeff07a..10c4ac5c31e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.CDKMRippleCarryAdder.md @@ -152,12 +152,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.CDKMRippleCarryAdder.num_input_vars "qiskit.circuit.library.CDKMRippleCarryAdder.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.CDKMRippleCarryAdder.num_captured_vars "qiskit.circuit.library.CDKMRippleCarryAdder.num_captured_vars") must be zero. + ### num\_parameters @@ -180,6 +204,14 @@ The number of state qubits, i.e. the number of bits in each input register. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.md b/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.md index 0ca2d407e54..04b0dd7e3a6 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Diagonal.md @@ -134,12 +134,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.Diagonal.num_input_vars "qiskit.circuit.library.Diagonal.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.Diagonal.num_captured_vars "qiskit.circuit.library.Diagonal.num_captured_vars") must be zero. + ### num\_parameters @@ -152,6 +176,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.md b/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.md index b99c32a5196..2000092ecd5 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.DraperQFTAdder.md @@ -123,12 +123,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.DraperQFTAdder.num_input_vars "qiskit.circuit.library.DraperQFTAdder.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.DraperQFTAdder.num_captured_vars "qiskit.circuit.library.DraperQFTAdder.num_captured_vars") must be zero. + ### num\_parameters @@ -151,6 +175,14 @@ The number of state qubits, i.e. the number of bits in each input register. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.md b/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.md index ae664918b25..4aeb2d57d8c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.EfficientSU2.md @@ -185,12 +185,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.EfficientSU2.num_input_vars "qiskit.circuit.library.EfficientSU2.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.EfficientSU2.num_captured_vars "qiskit.circuit.library.EfficientSU2.num_captured_vars") must be zero. + ### num\_layers @@ -231,6 +255,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.md b/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.md index a6e167ddcba..b6f8e2ef6f0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.EvolvedOperatorAnsatz.md @@ -149,12 +149,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.EvolvedOperatorAnsatz.num_input_vars "qiskit.circuit.library.EvolvedOperatorAnsatz.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.EvolvedOperatorAnsatz.num_captured_vars "qiskit.circuit.library.EvolvedOperatorAnsatz.num_captured_vars") must be zero. + ### num\_layers @@ -195,6 +219,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.md b/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.md index aad87d77dd4..63861a057f3 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ExactReciprocal.md @@ -103,12 +103,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.ExactReciprocal.num_input_vars "qiskit.circuit.library.ExactReciprocal.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.ExactReciprocal.num_captured_vars "qiskit.circuit.library.ExactReciprocal.num_captured_vars") must be zero. + ### num\_parameters @@ -121,6 +145,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.md b/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.md index b536106a6de..db888e830d7 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ExcitationPreserving.md @@ -204,12 +204,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.ExcitationPreserving.num_input_vars "qiskit.circuit.library.ExcitationPreserving.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.ExcitationPreserving.num_captured_vars "qiskit.circuit.library.ExcitationPreserving.num_captured_vars") must be zero. + ### num\_layers @@ -250,6 +274,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.md b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.md index 05061244298..23f2ad4d4ec 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.FourierChecking.md @@ -117,12 +117,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.FourierChecking.num_input_vars "qiskit.circuit.library.FourierChecking.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.FourierChecking.num_captured_vars "qiskit.circuit.library.FourierChecking.num_captured_vars") must be zero. + ### num\_parameters @@ -135,6 +159,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.md b/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.md index 6c35ecd95bf..037fef02792 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.FunctionalPauliRotations.md @@ -108,12 +108,36 @@ The minimal number of ancillas required. Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.FunctionalPauliRotations.num_input_vars "qiskit.circuit.library.FunctionalPauliRotations.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.FunctionalPauliRotations.num_captured_vars "qiskit.circuit.library.FunctionalPauliRotations.num_captured_vars") must be zero. + ### num\_parameters @@ -134,6 +158,14 @@ The number of state qubits representing the state $|x\rangle$. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GMS.md b/docs/api/qiskit/dev/qiskit.circuit.library.GMS.md index 617406c588d..123e1c68684 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GMS.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GMS.md @@ -126,12 +126,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.GMS.num_input_vars "qiskit.circuit.library.GMS.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.GMS.num_captured_vars "qiskit.circuit.library.GMS.num_captured_vars") must be zero. + ### num\_parameters @@ -144,6 +168,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GR.md b/docs/api/qiskit/dev/qiskit.circuit.library.GR.md index fa762912bd1..0eaca448d21 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GR.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GR.md @@ -120,12 +120,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.GR.num_input_vars "qiskit.circuit.library.GR.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.GR.num_captured_vars "qiskit.circuit.library.GR.num_captured_vars") must be zero. + ### num\_parameters @@ -138,6 +162,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRX.md b/docs/api/qiskit/dev/qiskit.circuit.library.GRX.md index 140b97221b1..a13f30d7482 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRX.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRX.md @@ -93,7 +93,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 160` +`= 179` @@ -119,12 +119,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.GRX.num_input_vars "qiskit.circuit.library.GRX.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.GRX.num_captured_vars "qiskit.circuit.library.GRX.num_captured_vars") must be zero. + ### num\_parameters @@ -137,6 +161,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRY.md b/docs/api/qiskit/dev/qiskit.circuit.library.GRY.md index dad8186ae52..5f9701be422 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRY.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRY.md @@ -93,7 +93,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 164` +`= 160` @@ -119,12 +119,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.GRY.num_input_vars "qiskit.circuit.library.GRY.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.GRY.num_captured_vars "qiskit.circuit.library.GRY.num_captured_vars") must be zero. + ### num\_parameters @@ -137,6 +161,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.md b/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.md index 0c0e7d154f5..ff2cdd76b42 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GRZ.md @@ -93,7 +93,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 167` +`= 163` @@ -119,12 +119,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.GRZ.num_input_vars "qiskit.circuit.library.GRZ.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.GRZ.num_captured_vars "qiskit.circuit.library.GRZ.num_captured_vars") must be zero. + ### num\_parameters @@ -137,6 +161,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.md b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.md index 232f12e6913..85ab7c10a67 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GraphState.md @@ -98,7 +98,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 172` +`= 168` @@ -124,12 +124,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.GraphState.num_input_vars "qiskit.circuit.library.GraphState.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.GraphState.num_captured_vars "qiskit.circuit.library.GraphState.num_captured_vars") must be zero. + ### num\_parameters @@ -142,6 +166,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.md b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.md index 82bf7e456e1..a001de2b968 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.GroverOperator.md @@ -209,7 +209,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 174` +`= 170` @@ -235,12 +235,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.GroverOperator.num_input_vars "qiskit.circuit.library.GroverOperator.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.GroverOperator.num_captured_vars "qiskit.circuit.library.GroverOperator.num_captured_vars") must be zero. + ### num\_parameters @@ -253,6 +277,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.md b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.md index 47d65c2077d..7d9b7799c78 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HRSCumulativeMultiplier.md @@ -110,7 +110,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 174` +`= 170` @@ -136,12 +136,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.HRSCumulativeMultiplier.num_input_vars "qiskit.circuit.library.HRSCumulativeMultiplier.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.HRSCumulativeMultiplier.num_captured_vars "qiskit.circuit.library.HRSCumulativeMultiplier.num_captured_vars") must be zero. + ### num\_parameters @@ -174,6 +198,14 @@ The number of state qubits, i.e. the number of bits in each input register. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.md b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.md index 4e28b1aee46..7e88f4745a8 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.HiddenLinearFunction.md @@ -100,7 +100,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 176` +`= 172` @@ -126,12 +126,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.HiddenLinearFunction.num_input_vars "qiskit.circuit.library.HiddenLinearFunction.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.HiddenLinearFunction.num_captured_vars "qiskit.circuit.library.HiddenLinearFunction.num_captured_vars") must be zero. + ### num\_parameters @@ -144,6 +168,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.md b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.md index 0399d93245c..c28f8c0bba0 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IQP.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IQP.md @@ -88,7 +88,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 181` +`= 177` @@ -114,12 +114,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.IQP.num_input_vars "qiskit.circuit.library.IQP.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.IQP.num_captured_vars "qiskit.circuit.library.IQP.num_captured_vars") must be zero. + ### num\_parameters @@ -132,6 +156,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.md b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.md index c30ed311673..67113a32a3f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.InnerProduct.md @@ -99,7 +99,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 194` +`= 190` @@ -125,12 +125,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.InnerProduct.num_input_vars "qiskit.circuit.library.InnerProduct.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.InnerProduct.num_captured_vars "qiskit.circuit.library.InnerProduct.num_captured_vars") must be zero. + ### num\_parameters @@ -143,6 +167,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.md b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.md index d63cf7a79f2..0d53ca19228 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.IntegerComparator.md @@ -79,7 +79,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 196` +`= 192` @@ -105,12 +105,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.IntegerComparator.num_input_vars "qiskit.circuit.library.IntegerComparator.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.IntegerComparator.num_captured_vars "qiskit.circuit.library.IntegerComparator.num_captured_vars") must be zero. + ### num\_parameters @@ -131,6 +155,14 @@ The number of qubits encoding the state for the comparison. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.md b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.md index 93cc720b167..f301aee3209 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearAmplitudeFunction.md @@ -114,7 +114,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 196` +`= 192` @@ -140,12 +140,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.LinearAmplitudeFunction.num_input_vars "qiskit.circuit.library.LinearAmplitudeFunction.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.LinearAmplitudeFunction.num_captured_vars "qiskit.circuit.library.LinearAmplitudeFunction.num_captured_vars") must be zero. + ### num\_parameters @@ -158,6 +182,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.md b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.md index 621cef07f10..501efeacfdc 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.LinearPauliRotations.md @@ -95,7 +95,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 196` +`= 192` @@ -131,12 +131,36 @@ The minimal number of ancillas required. Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.LinearPauliRotations.num_input_vars "qiskit.circuit.library.LinearPauliRotations.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.LinearPauliRotations.num_captured_vars "qiskit.circuit.library.LinearPauliRotations.num_captured_vars") must be zero. + ### num\_parameters @@ -157,6 +181,14 @@ The number of state qubits representing the state $|x\rangle$. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### offset diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.md b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.md index d4a5f0da671..d9e1e1e512b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMT.md @@ -92,7 +92,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 196` +`= 192` @@ -124,12 +124,36 @@ Return the number of ancillas. Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.MCMT.num_input_vars "qiskit.circuit.library.MCMT.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.MCMT.num_captured_vars "qiskit.circuit.library.MCMT.num_captured_vars") must be zero. + ### num\_parameters @@ -142,6 +166,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.md b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.md index bea4fea1722..dfb02ee7562 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.MCMTVChain.md @@ -116,7 +116,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 197` +`= 193` @@ -148,12 +148,36 @@ Return the number of ancilla qubits required. Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.MCMTVChain.num_input_vars "qiskit.circuit.library.MCMTVChain.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.MCMTVChain.num_captured_vars "qiskit.circuit.library.MCMTVChain.num_captured_vars") must be zero. + ### num\_parameters @@ -166,6 +190,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.md b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.md index 981a41dd126..87ed14de734 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.NLocal.md @@ -145,7 +145,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 198` +`= 194` @@ -171,12 +171,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.NLocal.num_input_vars "qiskit.circuit.library.NLocal.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.NLocal.num_captured_vars "qiskit.circuit.library.NLocal.num_captured_vars") must be zero. + ### num\_layers @@ -217,6 +241,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.OR.md b/docs/api/qiskit/dev/qiskit.circuit.library.OR.md index bc4df0f4328..baa16aedd4f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.OR.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.OR.md @@ -80,7 +80,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 201` +`= 197` @@ -106,12 +106,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.OR.num_input_vars "qiskit.circuit.library.OR.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.OR.num_captured_vars "qiskit.circuit.library.OR.num_captured_vars") must be zero. + ### num\_parameters @@ -124,6 +148,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.md b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.md index 6816e780066..23ee9fe9c5f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliFeatureMap.md @@ -208,7 +208,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 206` +`= 202` @@ -234,12 +234,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PauliFeatureMap.num_input_vars "qiskit.circuit.library.PauliFeatureMap.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PauliFeatureMap.num_captured_vars "qiskit.circuit.library.PauliFeatureMap.num_captured_vars") must be zero. + ### num\_layers @@ -270,6 +294,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.md b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.md index c290ba78ad6..c62632bb9e3 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PauliTwoDesign.md @@ -143,7 +143,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 207` +`= 203` @@ -169,12 +169,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PauliTwoDesign.num_input_vars "qiskit.circuit.library.PauliTwoDesign.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PauliTwoDesign.num_captured_vars "qiskit.circuit.library.PauliTwoDesign.num_captured_vars") must be zero. + ### num\_layers @@ -209,6 +233,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.md b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.md index ad1a0380071..878466ef209 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.Permutation.md @@ -82,7 +82,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 225` +`= 221` @@ -108,12 +108,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.Permutation.num_input_vars "qiskit.circuit.library.Permutation.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.Permutation.num_captured_vars "qiskit.circuit.library.Permutation.num_captured_vars") must be zero. + ### num\_parameters @@ -126,6 +150,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.md b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.md index 4a05605113b..fec9ae8cf23 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseEstimation.md @@ -99,7 +99,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 207` +`= 202` @@ -125,12 +125,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PhaseEstimation.num_input_vars "qiskit.circuit.library.PhaseEstimation.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PhaseEstimation.num_captured_vars "qiskit.circuit.library.PhaseEstimation.num_captured_vars") must be zero. + ### num\_parameters @@ -143,6 +167,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.md b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.md index 06c67867944..f5a6cc5371f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PhaseOracle.md @@ -76,7 +76,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 209` +`= 204` @@ -102,12 +102,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PhaseOracle.num_input_vars "qiskit.circuit.library.PhaseOracle.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PhaseOracle.num_captured_vars "qiskit.circuit.library.PhaseOracle.num_captured_vars") must be zero. + ### num\_parameters @@ -120,6 +144,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.md b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.md index 8a9efeb2ed0..60d19ae1ecd 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseChebyshev.md @@ -121,7 +121,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 211` +`= 206` @@ -147,12 +147,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PiecewiseChebyshev.num_input_vars "qiskit.circuit.library.PiecewiseChebyshev.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PiecewiseChebyshev.num_captured_vars "qiskit.circuit.library.PiecewiseChebyshev.num_captured_vars") must be zero. + ### num\_parameters @@ -173,6 +197,14 @@ The number of state qubits representing the state $|x\rangle$. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.md b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.md index 75d11dc3578..d72d97f6b8c 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewiseLinearPauliRotations.md @@ -104,7 +104,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 271` +`= 266` @@ -160,12 +160,36 @@ The minimal number of ancillas required. Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PiecewiseLinearPauliRotations.num_input_vars "qiskit.circuit.library.PiecewiseLinearPauliRotations.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PiecewiseLinearPauliRotations.num_captured_vars "qiskit.circuit.library.PiecewiseLinearPauliRotations.num_captured_vars") must be zero. + ### num\_parameters @@ -186,6 +210,14 @@ The number of state qubits representing the state $|x\rangle$. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### offsets diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md index 63d23cf388a..0bdb03bc60f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PiecewisePolynomialPauliRotations.md @@ -162,7 +162,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 211` +`= 206` @@ -208,12 +208,36 @@ The minimal number of ancillas required. Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PiecewisePolynomialPauliRotations.num_input_vars "qiskit.circuit.library.PiecewisePolynomialPauliRotations.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PiecewisePolynomialPauliRotations.num_captured_vars "qiskit.circuit.library.PiecewisePolynomialPauliRotations.num_captured_vars") must be zero. + ### num\_parameters @@ -234,6 +258,14 @@ The number of state qubits representing the state $|x\rangle$. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.md b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.md index 75706c99247..a354334a0c5 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.PolynomialPauliRotations.md @@ -122,7 +122,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 214` +`= 209` @@ -158,12 +158,36 @@ The minimal number of ancillas required. Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.PolynomialPauliRotations.num_input_vars "qiskit.circuit.library.PolynomialPauliRotations.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.PolynomialPauliRotations.num_captured_vars "qiskit.circuit.library.PolynomialPauliRotations.num_captured_vars") must be zero. + ### num\_parameters @@ -184,6 +208,14 @@ The number of state qubits representing the state $|x\rangle$. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.md b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.md index 13355b6ecd0..744aa7a4454 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QAOAAnsatz.md @@ -137,7 +137,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 271` +`= 266` @@ -177,12 +177,36 @@ BaseOperator or OperatorBase or [QuantumCircuit](qiskit.circuit.QuantumCircuit " Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.QAOAAnsatz.num_input_vars "qiskit.circuit.library.QAOAAnsatz.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.QAOAAnsatz.num_captured_vars "qiskit.circuit.library.QAOAAnsatz.num_captured_vars") must be zero. + ### num\_layers @@ -217,6 +241,14 @@ The number of parameters originally available in the circuit. ### num\_qubits + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QFT.md b/docs/api/qiskit/dev/qiskit.circuit.library.QFT.md index 3e76620c544..7308c8167d2 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QFT.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QFT.md @@ -115,7 +115,7 @@ True, if barriers are inserted, False if not. ### instances -`= 169` +`= 164` @@ -141,12 +141,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.QFT.num_input_vars "qiskit.circuit.library.QFT.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.QFT.num_captured_vars "qiskit.circuit.library.QFT.num_captured_vars") must be zero. + ### num\_parameters @@ -161,6 +185,14 @@ The number of qubits in the QFT circuit. The number of qubits in the circuit. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.md b/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.md index 5841c651574..b20e0fd0a12 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QuadraticForm.md @@ -101,7 +101,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 283` +`= 278` @@ -127,12 +127,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.QuadraticForm.num_input_vars "qiskit.circuit.library.QuadraticForm.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.QuadraticForm.num_captured_vars "qiskit.circuit.library.QuadraticForm.num_captured_vars") must be zero. + ### num\_parameters @@ -145,6 +169,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.md b/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.md index 43a778973be..28b533a24f1 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.QuantumVolume.md @@ -87,7 +87,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 286` +`= 281` @@ -113,12 +113,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.QuantumVolume.num_input_vars "qiskit.circuit.library.QuantumVolume.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.QuantumVolume.num_captured_vars "qiskit.circuit.library.QuantumVolume.num_captured_vars") must be zero. + ### num\_parameters @@ -131,6 +155,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.md b/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.md index 03de7b8bcf4..1a92d1f6bda 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RGQFTMultiplier.md @@ -89,7 +89,7 @@ Return the global phase of the current circuit scope in radians. ### instances -`= 417` +`= 412` @@ -115,12 +115,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.RGQFTMultiplier.num_input_vars "qiskit.circuit.library.RGQFTMultiplier.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.RGQFTMultiplier.num_captured_vars "qiskit.circuit.library.RGQFTMultiplier.num_captured_vars") must be zero. + ### num\_parameters @@ -153,6 +177,14 @@ The number of state qubits, i.e. the number of bits in each input register. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.md b/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.md index 7e4115fcf0a..ae92d352094 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.RealAmplitudes.md @@ -197,7 +197,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 417` +`= 412` @@ -223,12 +223,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.RealAmplitudes.num_input_vars "qiskit.circuit.library.RealAmplitudes.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.RealAmplitudes.num_captured_vars "qiskit.circuit.library.RealAmplitudes.num_captured_vars") must be zero. + ### num\_layers @@ -269,6 +293,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.md b/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.md index 291d04898bf..38e789043ed 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.TwoLocal.md @@ -209,7 +209,7 @@ If barriers are inserted in between the layers or not. ### instances -`= 417` +`= 412` @@ -235,12 +235,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.TwoLocal.num_input_vars "qiskit.circuit.library.TwoLocal.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.TwoLocal.num_captured_vars "qiskit.circuit.library.TwoLocal.num_captured_vars") must be zero. + ### num\_layers @@ -281,6 +305,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.md b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.md index 35d52383032..174be764c6f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.UnitaryOverlap.md @@ -135,12 +135,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.UnitaryOverlap.num_input_vars "qiskit.circuit.library.UnitaryOverlap.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.UnitaryOverlap.num_captured_vars "qiskit.circuit.library.UnitaryOverlap.num_captured_vars") must be zero. + ### num\_parameters @@ -153,6 +177,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.md b/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.md index 19623e991c6..fb29ad35b6f 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.VBERippleCarryAdder.md @@ -124,12 +124,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.VBERippleCarryAdder.num_input_vars "qiskit.circuit.library.VBERippleCarryAdder.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.VBERippleCarryAdder.num_captured_vars "qiskit.circuit.library.VBERippleCarryAdder.num_captured_vars") must be zero. + ### num\_parameters @@ -152,6 +176,14 @@ The number of state qubits, i.e. the number of bits in each input register. The number of state qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.md b/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.md index 628e857d255..bf32fd71e1b 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.WeightedAdder.md @@ -127,6 +127,14 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.WeightedAdder.num_input_vars "qiskit.circuit.library.WeightedAdder.num_input_vars") must be zero. + ### num\_carry\_qubits @@ -157,6 +165,22 @@ Note that the total number of ancilla qubits can be obtained by calling the meth The number of additional control qubits required (0 or 1). + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.WeightedAdder.num_captured_vars "qiskit.circuit.library.WeightedAdder.num_captured_vars") must be zero. + ### num\_parameters @@ -187,6 +211,14 @@ The number of sum qubits in the circuit. The number of qubits needed to represent the weighted sum of the qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.XOR.md b/docs/api/qiskit/dev/qiskit.circuit.library.XOR.md index b7c74c3c930..ec4486c5184 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.XOR.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.XOR.md @@ -108,12 +108,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.XOR.num_input_vars "qiskit.circuit.library.XOR.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.XOR.num_captured_vars "qiskit.circuit.library.XOR.num_captured_vars") must be zero. + ### num\_parameters @@ -126,6 +150,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.md b/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.md index cf2f2abf472..47ba11be62e 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZFeatureMap.md @@ -201,12 +201,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.ZFeatureMap.num_input_vars "qiskit.circuit.library.ZFeatureMap.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.ZFeatureMap.num_captured_vars "qiskit.circuit.library.ZFeatureMap.num_captured_vars") must be zero. + ### num\_layers @@ -237,6 +261,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.md b/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.md index d27d4013711..5dd5edad4f4 100644 --- a/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.md +++ b/docs/api/qiskit/dev/qiskit.circuit.library.ZZFeatureMap.md @@ -206,12 +206,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.circuit.library.ZZFeatureMap.num_input_vars "qiskit.circuit.library.ZZFeatureMap.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.circuit.library.ZZFeatureMap.num_captured_vars "qiskit.circuit.library.ZZFeatureMap.num_captured_vars") must be zero. + ### num\_layers @@ -242,6 +266,14 @@ Returns the number of qubits in this circuit. The number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.md b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.md index 0930584aad6..1892267ecef 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.md +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGInNode.md @@ -36,7 +36,7 @@ Create an incoming node `static semantic_eq(node1, node2, bit_indices1, bit_indices2)` -Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14.0)"). +Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGNode.md b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGNode.md index b950389cf5c..9d7ee972fa7 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGNode.md +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGNode.md @@ -26,7 +26,7 @@ Create a node `static semantic_eq(node1, node2, bit_indices1, bit_indices2)` -Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14.0)"). +Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOpNode.md b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOpNode.md index 6f1e7ac9195..a334e9a6d2e 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOpNode.md +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOpNode.md @@ -50,7 +50,7 @@ Returns the Instruction name corresponding to the op for this node `static semantic_eq(node1, node2, bit_indices1, bit_indices2)` -Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14.0)"). +Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOutNode.md b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOutNode.md index 9c2523e234e..7c258c659e9 100644 --- a/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOutNode.md +++ b/docs/api/qiskit/dev/qiskit.dagcircuit.DAGOutNode.md @@ -36,7 +36,7 @@ Create an outgoing node `static semantic_eq(node1, node2, bit_indices1, bit_indices2)` -Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14.0)"). +Check if DAG nodes are considered equivalent, e.g., as a node\_match for [`rustworkx.is_isomorphic_node_match()`](https://www.rustworkx.org/apiref/rustworkx.is_isomorphic_node_match.html#rustworkx.is_isomorphic_node_match "(in rustworkx v0.14)"). **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.md b/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.md index 516355ba41f..f984b15037b 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.md +++ b/docs/api/qiskit/dev/qiskit.primitives.BackendEstimator.md @@ -12,7 +12,7 @@ python_api_name: qiskit.primitives.BackendEstimator `qiskit.primitives.BackendEstimator(backend, options=None, abelian_grouping=True, bound_pass_manager=None, skip_transpilation=False)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/backend_estimator.py "view source code") -Bases: `BaseEstimatorV1`\[`PrimitiveJob`\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] +Bases: [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] Evaluates expectation value using Pauli rotation gates. diff --git a/docs/api/qiskit/dev/qiskit.primitives.BackendSampler.md b/docs/api/qiskit/dev/qiskit.primitives.BackendSampler.md index aa6c9184a3a..65a655822b6 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BackendSampler.md +++ b/docs/api/qiskit/dev/qiskit.primitives.BackendSampler.md @@ -12,7 +12,7 @@ python_api_name: qiskit.primitives.BackendSampler `qiskit.primitives.BackendSampler(backend, options=None, bound_pass_manager=None, skip_transpilation=False)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/backend_sampler.py "view source code") -Bases: `BaseSamplerV1`\[`PrimitiveJob`\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] +Bases: [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] A `BaseSampler` implementation that provides an interface for leveraging the sampler interface from any backend. diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimator.md b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimator.md index 023265ce8c2..508f1fa9e69 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimator.md +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimator.md @@ -8,5 +8,5 @@ python_api_name: qiskit.primitives.BaseEstimator # BaseEstimator -alias of `BaseEstimatorV1` +alias of [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1") diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1.md b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1.md new file mode 100644 index 00000000000..6110c8dce53 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV1.md @@ -0,0 +1,143 @@ +--- +title: BaseEstimatorV1 +description: API reference for qiskit.primitives.BaseEstimatorV1 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.BaseEstimatorV1 +--- + +# BaseEstimatorV1 + + + +`qiskit.primitives.BaseEstimatorV1(*, options=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/base/base_estimator.py "view source code") + +Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] + +Estimator V1 base class. + +Base class for Estimator that estimates expectation values of quantum circuits and observables. + +An estimator is initialized with an empty parameter set. The estimator is used to create a [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.JobV1"), via the [`qiskit.primitives.Estimator.run()`](qiskit.primitives.Estimator#run "qiskit.primitives.Estimator.run") method. This method is called with the following parameters + +* quantum circuits ($\psi_i(\theta)$): list of (parameterized) quantum circuits (a list of [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") objects). +* observables ($H_j$): a list of [`SparsePauliOp`](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.SparsePauliOp") objects. +* parameter values ($\theta_k$): list of sets of values to be bound to the parameters of the quantum circuits (list of list of float). + +The method returns a [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.JobV1") object, calling [`qiskit.providers.JobV1.result()`](qiskit.providers.JobV1#result "qiskit.providers.JobV1.result") yields the a list of expectation values plus optional metadata like confidence intervals for the estimation. + +$$ +\langle\psi_i(\theta_k)|H_j|\psi_i(\theta_k)\rangle +$$ + +Here is an example of how the estimator is used. + +```python +from qiskit.primitives import Estimator +from qiskit.circuit.library import RealAmplitudes +from qiskit.quantum_info import SparsePauliOp + +psi1 = RealAmplitudes(num_qubits=2, reps=2) +psi2 = RealAmplitudes(num_qubits=2, reps=3) + +H1 = SparsePauliOp.from_list([("II", 1), ("IZ", 2), ("XI", 3)]) +H2 = SparsePauliOp.from_list([("IZ", 1)]) +H3 = SparsePauliOp.from_list([("ZI", 1), ("ZZ", 1)]) + +theta1 = [0, 1, 1, 2, 3, 5] +theta2 = [0, 1, 1, 2, 3, 5, 8, 13] +theta3 = [1, 2, 3, 4, 5, 6] + +estimator = Estimator() + +# calculate [ ] +job = estimator.run([psi1], [H1], [theta1]) +job_result = job.result() # It will block until the job finishes. +print(f"The primitive-job finished with result {job_result}")) + +# calculate [ , +# , +# ] +job2 = estimator.run([psi1, psi2, psi1], [H1, H2, H3], [theta1, theta2, theta3]) +job_result = job2.result() +print(f"The primitive-job finished with result {job_result}") +``` + +Creating an instance of an Estimator, or using one in a `with` context opens a session that holds resources until the instance is `close()` ed or the context is exited. + +**Parameters** + +**options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *| None*) – Default options. + +## Attributes + + + +### options + +Return options values for the estimator. + +**Returns** + +options + +## Methods + +### run + + + +`run(circuits, observables, parameter_values=None, **run_options)` + +Run the job of the estimation of expectation value(s). + +`circuits`, `observables`, and `parameter_values` should have the same length. The i-th element of the result is the expectation of observable + +```python +obs = observables[i] +``` + +for the state prepared by + +```python +circ = circuits[i] +``` + +with bound parameters + +```python +values = parameter_values[i]. +``` + +**Parameters** + +* **circuits** (*Sequence\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] |* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")) – one or more circuit objects. +* **observables** (*Sequence\[BaseOperator |* [*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*] | BaseOperator |* [*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – one or more observable objects. Several formats are allowed; importantly, `str` should follow the string representation format for [`Pauli`](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli") objects. +* **parameter\_values** (*Sequence\[Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*]] | Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*] |* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") *| None*) – concrete parameters to be bound. +* **run\_options** – runtime options used for circuit execution. + +**Returns** + +The job object of EstimatorResult. + +**Raises** + +* [**TypeError**](https://docs.python.org/3/library/exceptions.html#TypeError "(in Python v3.12)") – Invalid argument type given. +* [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – Invalid argument values given. + +**Return type** + +T + +### set\_options + + + +`set_options(**fields)` + +Set options values for the estimator. + +**Parameters** + +**\*\*fields** – The fields to update the options + diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.md b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.md index d02ed08e5d5..0fffe0974b4 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.md +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseEstimatorV2.md @@ -14,7 +14,7 @@ python_api_name: qiskit.primitives.BaseEstimatorV2 Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") -Estimator base class version 2. +Estimator V2 base class. An estimator estimates expectation values for provided quantum circuit and observable combinations. @@ -41,5 +41,5 @@ A job object that contains results. **Return type** -BasePrimitiveJob\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] +[BasePrimitiveJob](qiskit.primitives.BasePrimitiveJob "qiskit.primitives.BasePrimitiveJob")\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] diff --git a/docs/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob.md b/docs/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob.md new file mode 100644 index 00000000000..69f0d566fdd --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.BasePrimitiveJob.md @@ -0,0 +1,119 @@ +--- +title: BasePrimitiveJob +description: API reference for qiskit.primitives.BasePrimitiveJob +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.BasePrimitiveJob +--- + +# BasePrimitiveJob + + + +`qiskit.primitives.BasePrimitiveJob(job_id, **kwargs)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/base/base_primitive_job.py "view source code") + +Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)"), [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`ResultT`, `StatusT`] + +Primitive job abstract base class. + +Initializes the primitive job. + +**Parameters** + +* **job\_id** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – A unique id in the context of the primitive used to run the job. +* **kwargs** – Any key value metadata to associate with this job. + +## Methods + +### cancel + + + +`abstract cancel()` + +Attempt to cancel the job. + +### cancelled + + + +`abstract cancelled()` + +Return whether the job has been cancelled. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### done + + + +`abstract done()` + +Return whether the job has successfully run. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### in\_final\_state + + + +`abstract in_final_state()` + +Return whether the job is in a final job state such as `DONE` or `ERROR`. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### job\_id + + + +`job_id()` + +Return a unique id identifying the job. + +**Return type** + +[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + +### result + + + +`abstract result()` + +Return the results of the job. + +**Return type** + +*ResultT* + +### running + + + +`abstract running()` + +Return whether the job is actively running. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### status + + + +`abstract status()` + +Return the status of the job. + +**Return type** + +*StatusT* + diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.md b/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.md index ae40560cae1..7d78731394a 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.md +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseSampler.md @@ -8,5 +8,5 @@ python_api_name: qiskit.primitives.BaseSampler # BaseSampler -alias of `BaseSamplerV1` +alias of [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1") diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV1.md b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV1.md new file mode 100644 index 00000000000..c3559fe2e1d --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV1.md @@ -0,0 +1,122 @@ +--- +title: BaseSamplerV1 +description: API reference for qiskit.primitives.BaseSamplerV1 +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.BaseSamplerV1 +--- + +# BaseSamplerV1 + + + +`qiskit.primitives.BaseSamplerV1(*, options=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/base/base_sampler.py "view source code") + +Bases: `BasePrimitive`, [`Generic`](https://docs.python.org/3/library/typing.html#typing.Generic "(in Python v3.12)")\[`T`] + +Sampler V1 base class + +Base class of Sampler that calculates quasi-probabilities of bitstrings from quantum circuits. + +A sampler is initialized with an empty parameter set. The sampler is used to create a [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.JobV1"), via the [`qiskit.primitives.Sampler.run()`](qiskit.primitives.Sampler#run "qiskit.primitives.Sampler.run") method. This method is called with the following parameters + +* quantum circuits ($\psi_i(\theta)$): list of (parameterized) quantum circuits. (a list of [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") objects) +* parameter values ($\theta_k$): list of sets of parameter values to be bound to the parameters of the quantum circuits. (list of list of float) + +The method returns a [`JobV1`](qiskit.providers.JobV1 "qiskit.providers.JobV1") object, calling [`qiskit.providers.JobV1.result()`](qiskit.providers.JobV1#result "qiskit.providers.JobV1.result") yields a [`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.SamplerResult") object, which contains probabilities or quasi-probabilities of bitstrings, plus optional metadata like error bars in the samples. + +Here is an example of how sampler is used. + +```python +from qiskit.primitives import Sampler +from qiskit import QuantumCircuit +from qiskit.circuit.library import RealAmplitudes + +# a Bell circuit +bell = QuantumCircuit(2) +bell.h(0) +bell.cx(0, 1) +bell.measure_all() + +# two parameterized circuits +pqc = RealAmplitudes(num_qubits=2, reps=2) +pqc.measure_all() +pqc2 = RealAmplitudes(num_qubits=2, reps=3) +pqc2.measure_all() + +theta1 = [0, 1, 1, 2, 3, 5] +theta2 = [0, 1, 2, 3, 4, 5, 6, 7] + +# initialization of the sampler +sampler = Sampler() + +# Sampler runs a job on the Bell circuit +job = sampler.run(circuits=[bell], parameter_values=[[]], parameters=[[]]) +job_result = job.result() +print([q.binary_probabilities() for q in job_result.quasi_dists]) + +# Sampler runs a job on the parameterized circuits +job2 = sampler.run( + circuits=[pqc, pqc2], + parameter_values=[theta1, theta2], + parameters=[pqc.parameters, pqc2.parameters]) +job_result = job2.result() +print([q.binary_probabilities() for q in job_result.quasi_dists]) +``` + +**Parameters** + +**options** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *| None*) – Default options. + +## Attributes + + + +### options + +Return options values for the estimator. + +**Returns** + +options + +## Methods + +### run + + + +`run(circuits, parameter_values=None, **run_options)` + +Run the job of the sampling of bitstrings. + +**Parameters** + +* **circuits** ([*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| Sequence\[*[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – One of more circuit objects. +* **parameter\_values** (*Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*] | Sequence\[Sequence\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*]] | None*) – Parameters to be bound to the circuit. +* **run\_options** – Backend runtime options used for circuit execution. + +**Returns** + +The job object of the result of the sampler. The i-th result corresponds to `circuits[i]` evaluated with parameters bound as `parameter_values[i]`. + +**Raises** + +[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – Invalid arguments are given. + +**Return type** + +T + +### set\_options + + + +`set_options(**fields)` + +Set options values for the estimator. + +**Parameters** + +**\*\*fields** – The fields to update the options + diff --git a/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.md b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.md index 5c28cd67aa8..764556b2d9a 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.md +++ b/docs/api/qiskit/dev/qiskit.primitives.BaseSamplerV2.md @@ -14,13 +14,11 @@ python_api_name: qiskit.primitives.BaseSamplerV2 Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC "(in Python v3.12)") -Sampler base class version 2. +Sampler V2 base class. A Sampler returns samples of quantum circuit outputs. -**All sampler implementations must implement default value for the `shots` in the** - -[`run()`](#qiskit.primitives.BaseSamplerV2.run "qiskit.primitives.BaseSamplerV2.run") method if `None` is given both as a `kwarg` and in all of the pubs. +All sampler implementations must implement default value for the `shots` in the [`run()`](#qiskit.primitives.BaseSamplerV2.run "qiskit.primitives.BaseSamplerV2.run") method if `None` is given both as a `kwarg` and in all of the pubs. ## Methods @@ -43,5 +41,5 @@ The job object of Sampler’s result. **Return type** -BasePrimitiveJob\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] +[BasePrimitiveJob](qiskit.primitives.BasePrimitiveJob "qiskit.primitives.BasePrimitiveJob")\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] diff --git a/docs/api/qiskit/dev/qiskit.primitives.BitArray.md b/docs/api/qiskit/dev/qiskit.primitives.BitArray.md new file mode 100644 index 00000000000..e269af5d890 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.BitArray.md @@ -0,0 +1,248 @@ +--- +title: BitArray +description: API reference for qiskit.primitives.BitArray +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.BitArray +--- + +# BitArray + + + +`qiskit.primitives.BitArray(array, num_bits)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/containers/bit_array.py "view source code") + +Bases: `ShapedMixin` + +Stores an array of bit values. + +This object contains a single, contiguous block of data that represents an array of bitstrings. The last axis is over packed bits, the second last axis is over shots, and the preceding axes correspond to the shape of the pub that was executed to sample these bits. + +**Parameters** + +* **array** (*NDArray\[np.uint8]*) – The `uint8` data array. +* **num\_bits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – How many bit are in each outcome. + +**Raises** + +* [**TypeError**](https://docs.python.org/3/library/exceptions.html#TypeError "(in Python v3.12)") – If the input is not a NumPy array with type `numpy.uint8`. +* [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – If the input array has fewer than two axes, or the size of the last axis is not the smallest number of bytes that can contain `num_bits`. + +## Attributes + + + +### array + +The raw NumPy array of data. + + + +### ndim + + + +### num\_bits + +The number of bits in the register that this array stores data for. + +For example, a `ClassicalRegister(5, "meas")` would result in `num_bits=5`. + + + +### num\_shots + +The number of shots sampled from the register in each configuration. + +More precisely, the length of the second last axis of [`array`](#qiskit.primitives.BitArray.array "qiskit.primitives.BitArray.array"). + + + +### shape + + + +### size + +## Methods + +### bitcount + + + +`bitcount()` + +Compute the number of ones appearing in the binary representation of each shot. + +**Returns** + +A `numpy.uint64`-array with shape `(*shape, num_shots)`. + +**Return type** + +[*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")\[[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)"), [*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype "(in NumPy v1.26)")\[*uint64*]] + +### from\_bool\_array + + + +`static from_bool_array(array, order='big')` + +Construct a new bit array from an array of bools. + +**Parameters** + +* **array** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")*\[*[*Any*](https://docs.python.org/3/library/typing.html#typing.Any "(in Python v3.12)")*,* [*dtype*](https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype "(in NumPy v1.26)")*\[*[*bool\_*](https://numpy.org/doc/stable/reference/arrays.scalars.html#numpy.bool_ "(in NumPy v1.26)")*]]*) – The array to convert, with “bitstrings” along the last axis. +* **order** ([*Literal*](https://docs.python.org/3/library/typing.html#typing.Literal "(in Python v3.12)")*\['big', 'little']*) – One of `"big"` or `"little"`, indicating whether `array[..., 0]` correspond to the most significant bits or the least significant bits of each bitstring, respectively. + +**Returns** + +A new bit array. + +**Return type** + +[*BitArray*](#qiskit.primitives.BitArray "qiskit.primitives.containers.bit_array.BitArray") + +### from\_counts + + + +`static from_counts(counts, num_bits=None)` + +Construct a new bit array from one or more `Counts`-like objects. + +The `counts` can have keys that are (uniformly) integers, hexstrings, or bitstrings. Their values represent numbers of occurrences of that value. + +**Parameters** + +* **counts** (*Mapping\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*] | Iterable\[Mapping\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *|*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*,* [*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]]*) – One or more counts-like mappings with the same number of shots. +* **num\_bits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – The desired number of bits per shot. If unset, the biggest value found sets this value. + +**Returns** + +A new bit array with shape `()` for single input counts, or `(N,)` for an iterable of $N$ counts. + +**Raises** + +* [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – If different mappings have different numbers of shots. +* [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – If no counts dictionaries are supplied. + +**Return type** + +[BitArray](#qiskit.primitives.BitArray "qiskit.primitives.BitArray") + +### from\_samples + + + +`static from_samples(samples, num_bits=None)` + +Construct a new bit array from an iterable of bitstrings, hexstrings, or integers. + +All samples are assumed to be integers if the first one is. Strings are all assumed to be bitstrings whenever the first string doesn’t start with `"0x"`. + +Consider pairing this method with [`reshape()`](#qiskit.primitives.BitArray.reshape "qiskit.primitives.BitArray.reshape") if your samples represent nested data. + +**Parameters** + +* **samples** (*Iterable\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*] | Iterable\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – A list of bitstrings, a list of integers, or a list of hexstrings. +* **num\_bits** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – The desired number of bits per sample. If unset, the biggest sample provided is used to determine this value. + +**Returns** + +A new bit array. + +**Raises** + +[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – If no strings are given. + +**Return type** + +[BitArray](#qiskit.primitives.BitArray "qiskit.primitives.BitArray") + +### get\_bitstrings + + + +`get_bitstrings(loc=None)` + +Return a list of bitstrings. + +**Parameters** + +**loc** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, ...] | None*) – Which entry of this array to return a dictionary for. If `None`, counts from all positions in this array are unioned together. + +**Returns** + +A list of bitstrings. + +**Return type** + +[list](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")\[[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")] + +### get\_counts + + + +`get_counts(loc=None)` + +Return a counts dictionary with bitstring keys. + +**Parameters** + +**loc** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, ...] | None*) – Which entry of this array to return a dictionary for. If `None`, counts from all positions in this array are unioned together. + +**Returns** + +A dictionary mapping bitstrings to the number of occurrences of that bitstring. + +**Return type** + +[dict](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")\[[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)"), [int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")] + +### get\_int\_counts + + + +`get_int_counts(loc=None)` + +Return a counts dictionary, where bitstrings are stored as `int`s. + +**Parameters** + +**loc** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*, ...] | None*) – Which entry of this array to return a dictionary for. If `None`, counts from all positions in this array are unioned together. + +**Returns** + +A dictionary mapping `ints` to the number of occurrences of that `int`. + +**Return type** + +[dict](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")\[[int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)"), [int](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")] + +### reshape + + + +`reshape(*shape)` + +Return a new reshaped bit array. + +The [`num_shots`](#qiskit.primitives.BitArray.num_shots "qiskit.primitives.BitArray.num_shots") axis is either included or excluded from the reshaping procedure depending on which picture the new shape is compatible with. For example, for a bit array with shape `(20, 5)` and `64` shots, a reshape to `(100,)` would leave the number of shots intact, whereas a reshape to `(200, 32)` would change the number of shots to `32`. + +**Parameters** + +**\*shape** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *|*[*Iterable*](https://docs.python.org/3/library/typing.html#typing.Iterable "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| Iterable\[ShapeInput]]*) – The new desired shape. + +**Returns** + +A new bit array. + +**Raises** + +[**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – If the size corresponding to your new shape is not equal to either [`size`](#qiskit.primitives.BitArray.size "qiskit.primitives.BitArray.size"), or the product of [`size`](#qiskit.primitives.BitArray.size "qiskit.primitives.BitArray.size") and [`num_shots`](#qiskit.primitives.BitArray.num_shots "qiskit.primitives.BitArray.num_shots"). + +**Return type** + +[*BitArray*](#qiskit.primitives.BitArray "qiskit.primitives.containers.bit_array.BitArray") + diff --git a/docs/api/qiskit/dev/qiskit.primitives.DataBin.md b/docs/api/qiskit/dev/qiskit.primitives.DataBin.md new file mode 100644 index 00000000000..06dd934400c --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.DataBin.md @@ -0,0 +1,20 @@ +--- +title: DataBin +description: API reference for qiskit.primitives.DataBin +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.DataBin +--- + +# DataBin + + + +`qiskit.primitives.DataBin` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/containers/data_bin.py "view source code") + +Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") + +Base class for data bin containers. + +Subclasses are typically made via `make_data_bin`, which is a specialization of `make_dataclass`. + diff --git a/docs/api/qiskit/dev/qiskit.primitives.Estimator.md b/docs/api/qiskit/dev/qiskit.primitives.Estimator.md index 06f43ac9ea5..417e5a1cf24 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.Estimator.md +++ b/docs/api/qiskit/dev/qiskit.primitives.Estimator.md @@ -12,7 +12,7 @@ python_api_name: qiskit.primitives.Estimator `qiskit.primitives.Estimator(*, options=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/estimator.py "view source code") -Bases: `BaseEstimatorV1`\[`PrimitiveJob`\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] +Bases: [`BaseEstimatorV1`](qiskit.primitives.BaseEstimatorV1 "qiskit.primitives.base.base_estimator.BaseEstimatorV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`EstimatorResult`](qiskit.primitives.EstimatorResult "qiskit.primitives.base.estimator_result.EstimatorResult")]] Reference implementation of [`BaseEstimator`](qiskit.primitives.BaseEstimator "qiskit.primitives.BaseEstimator"). diff --git a/docs/api/qiskit/dev/qiskit.primitives.PrimitiveJob.md b/docs/api/qiskit/dev/qiskit.primitives.PrimitiveJob.md new file mode 100644 index 00000000000..a6356433fed --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.primitives.PrimitiveJob.md @@ -0,0 +1,116 @@ +--- +title: PrimitiveJob +description: API reference for qiskit.primitives.PrimitiveJob +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.primitives.PrimitiveJob +--- + +# PrimitiveJob + + + +`qiskit.primitives.PrimitiveJob(function, *args, **kwargs)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/primitive_job.py "view source code") + +Bases: [`BasePrimitiveJob`](qiskit.primitives.BasePrimitiveJob "qiskit.primitives.base.base_primitive_job.BasePrimitiveJob")\[`ResultT`, [`JobStatus`](qiskit.providers.JobStatus "qiskit.providers.jobstatus.JobStatus")] + +Primitive job class for the reference implementations of Primitives. + +**Parameters** + +**function** – A callable function to execute the job. + +## Methods + +### cancel + + + +`cancel()` + +Attempt to cancel the job. + +### cancelled + + + +`cancelled()` + +Return whether the job has been cancelled. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### done + + + +`done()` + +Return whether the job has successfully run. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### in\_final\_state + + + +`in_final_state()` + +Return whether the job is in a final job state such as `DONE` or `ERROR`. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### job\_id + + + +`job_id()` + +Return a unique id identifying the job. + +**Return type** + +[str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") + +### result + + + +`result()` + +Return the results of the job. + +**Return type** + +*ResultT* + +### running + + + +`running()` + +Return whether the job is actively running. + +**Return type** + +[bool](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") + +### status + + + +`status()` + +Return the status of the job. + +**Return type** + +[*JobStatus*](qiskit.providers.JobStatus "qiskit.providers.jobstatus.JobStatus") + diff --git a/docs/api/qiskit/dev/qiskit.primitives.PubResult.md b/docs/api/qiskit/dev/qiskit.primitives.PubResult.md index ea3774d021e..07f952a96d7 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.PubResult.md +++ b/docs/api/qiskit/dev/qiskit.primitives.PubResult.md @@ -20,7 +20,7 @@ Initialize a pub result. **Parameters** -* **data** (*DataBin*) – Result data. +* **data** ([*DataBin*](qiskit.primitives.DataBin "qiskit.primitives.DataBin")) – Result data. * **metadata** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*, Any] | None*) – Metadata specific to this pub. Keys are expected to be strings. ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.primitives.Sampler.md b/docs/api/qiskit/dev/qiskit.primitives.Sampler.md index 09b07a2c446..f1cf92ac23d 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.Sampler.md +++ b/docs/api/qiskit/dev/qiskit.primitives.Sampler.md @@ -12,7 +12,7 @@ python_api_name: qiskit.primitives.Sampler `qiskit.primitives.Sampler(*, options=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/primitives/sampler.py "view source code") -Bases: `BaseSamplerV1`\[`PrimitiveJob`\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] +Bases: [`BaseSamplerV1`](qiskit.primitives.BaseSamplerV1 "qiskit.primitives.base.base_sampler.BaseSamplerV1")\[[`PrimitiveJob`](qiskit.primitives.PrimitiveJob "qiskit.primitives.primitive_job.PrimitiveJob")\[[`SamplerResult`](qiskit.primitives.SamplerResult "qiskit.primitives.base.sampler_result.SamplerResult")]] Sampler class. diff --git a/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.md b/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.md index 31de8946dca..6b41433eff7 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.md +++ b/docs/api/qiskit/dev/qiskit.primitives.StatevectorEstimator.md @@ -18,6 +18,69 @@ Simple implementation of [`BaseEstimatorV2`](qiskit.primitives.BaseEstimatorV2 " This class is implemented via [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") which turns provided circuits into pure state vectors. These states are subsequently acted on by :class:\~.SparsePauliOp\`, which implies that, at present, this implementation is only compatible with Pauli-based observables. +Each tuple of `(circuit, observables, parameter values, precision)`, called an estimator primitive unified bloc (PUB), produces its own array-based result. The `run()` method can be given a sequence of pubs to run in one call. + +```python +from qiskit.circuit import Parameter, QuantumCircuit +from qiskit.primitives import StatevectorEstimator +from qiskit.quantum_info import Pauli, SparsePauliOp + +import matplotlib.pyplot as plt +import numpy as np + +# Define a circuit with two parameters. +circuit = QuantumCircuit(2) +circuit.h(0) +circuit.cx(0, 1) +circuit.ry(Parameter("a"), 0) +circuit.rz(Parameter("b"), 0) +circuit.cx(0, 1) +circuit.h(0) + +# Define a sweep over parameter values, where the second axis is over +# the two parameters in the circuit. +params = np.vstack([ + np.linspace(-np.pi, np.pi, 100), + np.linspace(-4 * np.pi, 4 * np.pi, 100) +]).T + +# Define three observables. Many formats are supported here including +# classes such as qiskit.quantum_info.SparsePauliOp. The inner length-1 +# lists cause this array of observables to have shape (3, 1), rather +# than shape (3,) if they were omitted. +observables = [ + [SparsePauliOp(["XX", "IY"], [0.5, 0.5])], + [Pauli("XX")], + [Pauli("IY")] +] + +# Instantiate a new statevector simulation based estimator object. +estimator = StatevectorEstimator() + +# Estimate the expectation value for all 300 combinations of +# observables and parameter values, where the pub result will have +# shape (3, 100). This shape is due to our array of parameter +# bindings having shape (100,), combined with our array of observables +# having shape (3, 1) +pub = (circuit, observables, params) +job = estimator.run([pub]) + +# Extract the result for the 0th pub (this example only has one pub). +result = job.result()[0] + +# Error-bar information is also available, but the error is 0 +# for this StatevectorEstimator. +result.data.stds + +# Pull out the array-based expectation value estimate data from the +# result and plot a trace for each observable. +for idx, pauli in enumerate(observables): + plt.plot(result.data.evs[idx], label=pauli) +plt.legend() +``` + +![../\_images/qiskit-primitives-StatevectorEstimator-1.png](/images/api/qiskit/dev/qiskit-primitives-StatevectorEstimator-1.png) + **Parameters** * **default\_precision** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – The default precision for the estimator if not specified during run. @@ -29,7 +92,7 @@ This class is implemented via [`Statevector`](qiskit.quantum_info.Statevector "q ### default\_precision -Return the default shots +Return the default precision @@ -58,5 +121,5 @@ A job object that contains results. **Return type** -PrimitiveJob\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] +[PrimitiveJob](qiskit.primitives.PrimitiveJob "qiskit.primitives.PrimitiveJob")\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] diff --git a/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.md b/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.md index 2e6260dd526..e0f8a488912 100644 --- a/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.md +++ b/docs/api/qiskit/dev/qiskit.primitives.StatevectorSampler.md @@ -16,6 +16,78 @@ Bases: [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.base Simple implementation of [`BaseSamplerV2`](qiskit.primitives.BaseSamplerV2 "qiskit.primitives.BaseSamplerV2") using full state vector simulation. +This class is implemented via [`Statevector`](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") which turns provided circuits into pure state vectors, and is therefore incompatible with mid-circuit measurements (although other implementations may be). + +As seen in the example below, this sampler supports providing arrays of parameter value sets to bind against a single circuit. + +Each tuple of `(circuit, parameter values, shots)`, called a sampler primitive unified bloc (PUB), produces its own array-valued result. The [`run()`](#qiskit.primitives.StatevectorSampler.run "qiskit.primitives.StatevectorSampler.run") method can be given many pubs at once. + +```python +from qiskit.circuit import ( + Parameter, QuantumCircuit, ClassicalRegister, QuantumRegister +) +from qiskit.primitives import StatevectorSampler + +import matplotlib.pyplot as plt +import numpy as np + +# Define our circuit registers, including classical registers +# called 'alpha' and 'beta'. +qreg = QuantumRegister(3) +alpha = ClassicalRegister(2, "alpha") +beta = ClassicalRegister(1, "beta") + +# Define a quantum circuit with two parameters. +circuit = QuantumCircuit(qreg, alpha, beta) +circuit.h(0) +circuit.cx(0, 1) +circuit.cx(1, 2) +circuit.ry(Parameter("a"), 0) +circuit.rz(Parameter("b"), 0) +circuit.cx(1, 2) +circuit.cx(0, 1) +circuit.h(0) +circuit.measure([0, 1], alpha) +circuit.measure([2], beta) + +# Define a sweep over parameter values, where the second axis is over. +# the two parameters in the circuit. +params = np.vstack([ + np.linspace(-np.pi, np.pi, 100), + np.linspace(-4 * np.pi, 4 * np.pi, 100) +]).T + +# Instantiate a new statevector simulation based sampler object. +sampler = StatevectorSampler() + +# Start a job that will return shots for all 100 parameter value sets. +pub = (circuit, params) +job = sampler.run([pub], shots=256) + +# Extract the result for the 0th pub (this example only has one pub). +result = job.result()[0] + +# There is one BitArray object for each ClassicalRegister in the +# circuit. Here, we can see that the BitArray for alpha contains data +# for all 100 sweep points, and that it is indeed storing data for 2 +# bits over 256 shots. +assert result.data.alpha.shape == (100,) +assert result.data.alpha.num_bits == 2 +assert result.data.alpha.num_shots == 256 + +# We can work directly with a binary array in performant applications. +raw = result.data.alpha.array + +# For small registers where it is anticipated to have many counts +# associated with the same bitstrings, we can turn the data from, +# for example, the 22nd sweep index into a dictionary of counts. +counts = result.data.alpha.get_counts(22) + +# Or, convert into a list of bitstrings that preserve shot order. +bitstrings = result.data.alpha.get_bitstrings(22) +print(bitstrings) +``` + **Parameters** * **default\_shots** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The default shots for the sampler if not specified during run. @@ -56,5 +128,5 @@ The job object of Sampler’s result. **Return type** -PrimitiveJob\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] +[PrimitiveJob](qiskit.primitives.PrimitiveJob "qiskit.primitives.PrimitiveJob")\[[PrimitiveResult](qiskit.primitives.PrimitiveResult "qiskit.primitives.PrimitiveResult")\[[PubResult](qiskit.primitives.PubResult "qiskit.primitives.PubResult")]] diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.md b/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.md index c3bc55932d6..043dd98ec97 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.md +++ b/docs/api/qiskit/dev/qiskit.quantum_info.PauliList.md @@ -606,6 +606,30 @@ matrix iterator object for the PauliList. MatrixIterator +### noncommutation\_graph + + + +`noncommutation_graph(qubit_wise)` + +Create the non-commutation graph of this PauliList. + +This transforms the measurement operator grouping problem into graph coloring problem. The constructed graph contains one node for each Pauli. The nodes will be connecting for any two Pauli terms that do \_not\_ commute. + +**Parameters** + +**qubit\_wise** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – whether the commutation rule is applied to the whole operator, or on a per-qubit basis. + +**Returns** + +**the non-commutation graph with nodes for each Pauli and edges** + +indicating a non-commutation relation. Each node will hold the index of the Pauli term it corresponds to in its data. The edges of the graph hold no data. + +**Return type** + +[rustworkx.PyGraph](https://www.rustworkx.org/apiref/rustworkx.PyGraph.html#rustworkx.PyGraph "(in rustworkx v0.14)") + ### output\_dims diff --git a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.md b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.md index 9c6cb52bd8e..ae960e2f2af 100644 --- a/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.md +++ b/docs/api/qiskit/dev/qiskit.quantum_info.SparsePauliOp.md @@ -613,6 +613,30 @@ matrix iterator object for the PauliList. MatrixIterator +### noncommutation\_graph + + + +`noncommutation_graph(qubit_wise)` + +Create the non-commutation graph of this SparsePauliOp. + +This transforms the measurement operator grouping problem into graph coloring problem. The constructed graph contains one node for each Pauli. The nodes will be connecting for any two Pauli terms that do \_not\_ commute. + +**Parameters** + +**qubit\_wise** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – whether the commutation rule is applied to the whole operator, or on a per-qubit basis. + +**Returns** + +**the non-commutation graph with nodes for each Pauli and edges** + +indicating a non-commutation relation. Each node will hold the index of the Pauli term it corresponds to in its data. The edges of the graph hold no data. + +**Return type** + +[rustworkx.PyGraph](https://www.rustworkx.org/apiref/rustworkx.PyGraph.html#rustworkx.PyGraph "(in rustworkx v0.14)") + ### output\_dims diff --git a/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.md b/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.md index 8d6226f0637..179fd9b7c4d 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.LieTrotter.md @@ -36,7 +36,7 @@ $$ * **reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of time steps. * **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Whether to insert barriers between the atomic evolutions. -* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be “chain”, where next neighbor connections are used, or “fountain”, where all qubits are connected to one. +* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be `"chain"`, where next neighbor connections are used, or `"fountain"`, where all qubits are connected to one. * **atomic\_evolution** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable "(in Python v3.12)")*\[\[*[*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.operators.symplectic.pauli.Pauli") *|*[*SparsePauliOp*](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.operators.symplectic.sparse_pauli_op.SparsePauliOp")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")*] | None*) – A function to construct the circuit for the evolution of single Pauli string. Per default, a single Pauli evolution is decomposed in a CX chain and a single qubit Z rotation. ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.md b/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.md index fad095d4425..44d015e1081 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.OneQubitEulerDecomposer.md @@ -16,7 +16,7 @@ Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in P A class for decomposing 1-qubit unitaries into Euler angle rotations. -The resulting decomposition is parameterized by 3 Euler rotation angle parameters $(\theta, \phi, \lambda)$, and a phase parameter $\gamma$. The value of the parameters for an input unitary depends on the decomposition basis. Allowed bases and the resulting circuits are shown in the following table. Note that for the non-Euler bases (U3, U1X, RR), the ZYZ Euler parameters are used. +The resulting decomposition is parameterized by 3 Euler rotation angle parameters $(\theta, \phi, \lambda)$, and a phase parameter $\gamma$. The value of the parameters for an input unitary depends on the decomposition basis. Allowed bases and the resulting circuits are shown in the following table. Note that for the non-Euler bases ($U3$, $U1X$, $RR$), the $ZYZ$ Euler parameters are used. | Basis | Euler Angle Basis | Decomposition Circuit | | ------ | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | @@ -33,13 +33,39 @@ The resulting decomposition is parameterized by 3 Euler rotation angle parameter | ‘U1X’ | $Z(\phi) Y(\theta) Z(\lambda)$ | $e^{i\gamma} U_1(\phi+\pi).R_X\left(\frac{\pi}{2}\right).$ $U_1(\theta+\pi).R_X\left(\frac{\pi}{2}\right).U_1(\lambda)$ | | ‘RR’ | $Z(\phi) Y(\theta) Z(\lambda)$ | $e^{i\gamma} R\left(-\pi,\frac{\phi-\lambda+\pi}{2}\right).$ $R\left(\theta+\pi,\frac{\pi}{2}-\lambda\right)$ | +### \_\_call\_\_ + + + +`__call__(unitary, simplify=True, atol=1e-12)` + +Decompose single qubit gate into a circuit. + +**Parameters** + +* **unitary** ([*Operator*](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator") *|*[*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate") *| np.ndarray*) – 1-qubit unitary matrix +* **simplify** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – reduce gate count in decomposition \[Default: True]. +* **atol** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – absolute tolerance for checking angles when simplifying returned circuit \[Default: 1e-12]. + +**Returns** + +the decomposed single-qubit gate circuit + +**Return type** + +[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") + +**Raises** + +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if input is invalid or synthesis fails. + Initialize decomposer -Supported bases are: ‘U’, ‘PSX’, ‘ZSXX’, ‘ZSX’, ‘U321’, ‘U3’, ‘U1X’, ‘RR’, ‘ZYZ’, ‘ZXZ’, ‘XYX’, ‘XZX’. +Supported bases are: `'U'`, `'PSX'`, `'ZSXX'`, `'ZSX'`, `'U321'`, `'U3'`, `'U1X'`, `'RR'`, `'ZYZ'`, `'ZXZ'`, `'XYX'`, `'XZX'`. **Parameters** -* **basis** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – the decomposition basis \[Default: ‘U3’] +* **basis** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – the decomposition basis \[Default: `'U3'`] * **use\_dag** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If true the output from calls to the decomposer will be a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") object instead of [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). **Raises** @@ -66,11 +92,11 @@ Return the Euler angles for input array. **Parameters** -**unitary** (*np.ndarray*) – 2x2 unitary matrix. +**unitary** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")) – $2\times2$ unitary matrix. **Returns** -(theta, phi, lambda). +`(theta, phi, lambda)`. **Return type** @@ -86,11 +112,11 @@ Return the Euler angles and phase for input array. **Parameters** -**unitary** (*np.ndarray*) – 2x2 unitary matrix. +**unitary** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")) – $2\times2$ **Returns** -(theta, phi, lambda, phase). +`(theta, phi, lambda, phase)`. **Return type** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.md b/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.md index 4f3beadf2d7..38882445237 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.ProductFormula.md @@ -23,7 +23,7 @@ Product formula base class for the decomposition of non-commuting operator expon * **order** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The order of the product formula. * **reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of time steps. * **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Whether to insert barriers between the atomic evolutions. -* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be “chain”, where next neighbor connections are used, or “fountain”, where all qubits are connected to one. +* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be `"chain"`, where next neighbor connections are used, or `"fountain"`, where all qubits are connected to one. * **atomic\_evolution** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable "(in Python v3.12)")*\[\[*[*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.operators.symplectic.pauli.Pauli") *|*[*SparsePauliOp*](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.operators.symplectic.sparse_pauli_op.SparsePauliOp")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")*] | None*) – A function to construct the circuit for the evolution of single Pauli string. Per default, a single Pauli evolution is decomposed in a CX chain and a single qubit Z rotation. ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.synthesis.QDrift.md b/docs/api/qiskit/dev/qiskit.synthesis.QDrift.md index 2ddfcaf352f..1886ee4753f 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.QDrift.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.QDrift.md @@ -24,7 +24,7 @@ The QDrift Trotterization method, which selects each each term in the Trotteriza * **reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of times to repeat the Trotterization circuit. * **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Whether to insert barriers between the atomic evolutions. -* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be “chain”, where next neighbor connections are used, or “fountain”, where all qubits are connected to one. +* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be `"chain"`, where next neighbor connections are used, or `"fountain"`, where all qubits are connected to one. * **atomic\_evolution** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable "(in Python v3.12)")*\[\[*[*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.operators.symplectic.pauli.Pauli") *|*[*SparsePauliOp*](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.operators.symplectic.sparse_pauli_op.SparsePauliOp")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")*] | None*) – A function to construct the circuit for the evolution of single Pauli string. Per default, a single Pauli evolution is decomposed in a CX chain and a single qubit Z rotation. * **seed** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)") *| None*) – An optional seed for reproducibility of the random sampling process. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.md b/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.md index c4918cee79e..90257429acd 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.SuzukiTrotter.md @@ -39,7 +39,7 @@ $$ * **order** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The order of the product formula. * **reps** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The number of time steps. * **insert\_barriers** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Whether to insert barriers between the atomic evolutions. -* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be “chain”, where next neighbor connections are used, or “fountain”, where all qubits are connected to one. +* **cx\_structure** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – How to arrange the CX gates for the Pauli evolutions, can be `"chain"`, where next neighbor connections are used, or `"fountain"`, where all qubits are connected to one. * **atomic\_evolution** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable "(in Python v3.12)")*\[\[*[*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.operators.symplectic.pauli.Pauli") *|*[*SparsePauliOp*](qiskit.quantum_info.SparsePauliOp "qiskit.quantum_info.operators.symplectic.sparse_pauli_op.SparsePauliOp")*,* [*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")*] | None*) – A function to construct the circuit for the evolution of single Pauli string. Per default, a single Pauli evolution is decomposed in a CX chain and a single qubit Z rotation. **Raises** diff --git a/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.md b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.md index 8466d3cb629..1b0e0d7f1d2 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitBasisDecomposer.md @@ -19,9 +19,36 @@ A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qub **Parameters** * **gate** ([*Gate*](qiskit.circuit.Gate "qiskit.circuit.Gate")) – Two-qubit gate to be used in the KAK decomposition. -* **basis\_fidelity** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Fidelity to be assumed for applications of KAK Gate. Default 1.0. -* **euler\_basis** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Basis string to be provided to OneQubitEulerDecomposer for 1Q synthesis. Valid options are \[‘ZYZ’, ‘ZXZ’, ‘XYX’, ‘U’, ‘U3’, ‘U1X’, ‘PSX’, ‘ZSX’, ‘RR’]. -* **pulse\_optimize** (*None or* [*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If True, try to do decomposition which minimizes local unitaries in between entangling gates. This will raise an exception if an optimal decomposition is not implemented. Currently, only \[\{CX, SX, RZ}] is known. If False, don’t attempt optimization. If None, attempt optimization but don’t raise if unknown. +* **basis\_fidelity** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Fidelity to be assumed for applications of KAK Gate. Defaults to `1.0`. +* **euler\_basis** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Basis string to be provided to [`OneQubitEulerDecomposer`](qiskit.synthesis.OneQubitEulerDecomposer "qiskit.synthesis.OneQubitEulerDecomposer") for 1Q synthesis. Valid options are \[`'ZYZ'`, `'ZXZ'`, `'XYX'`, `'U'`, `'U3'`, `'U1X'`, `'PSX'`, `'ZSX'`, `'RR'`]. +* **pulse\_optimize** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)") *| None*) – If `True`, try to do decomposition which minimizes local unitaries in between entangling gates. This will raise an exception if an optimal decomposition is not implemented. Currently, only \[\{CX, SX, RZ}] is known. If `False`, don’t attempt optimization. If `None`, attempt optimization but don’t raise if unknown. + +### \_\_call\_\_ + + + +`__call__(unitary, basis_fidelity=None, approximate=True, *, _num_basis_uses=None)` + +Decompose a two-qubit `unitary` over fixed basis and $SU(2)$ using the best approximation given that each basis application has a finite `basis_fidelity`. + +**Parameters** + +* **unitary** ([*Operator*](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator") *or ndarray*) – $4 \times 4$ unitary to synthesize. +* **basis\_fidelity** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)") *or None*) – Fidelity to be assumed for applications of KAK Gate. If given, overrides `basis_fidelity` given at init. +* **approximate** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Approximates if basis fidelities are less than 1.0. +* **\_num\_basis\_uses** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – force a particular approximation by passing a number in \[0, 3]. + +**Returns** + +Synthesized quantum circuit. + +**Return type** + +[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") + +**Raises** + +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if `pulse_optimize` is True but we don’t know how to do it. ## Methods @@ -31,10 +58,11 @@ A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qub `static decomp0(target)` -Decompose target $~Ud(x, y, z)$ with 0 uses of the basis gate. Result $Ur$ has trace: +Decompose target $\sim U_d(x, y, z)$ with $0$ uses of the basis gate. Result $U_r$ has trace: $$ -|Tr(Ur.U_{target}^{\dag})| = 4|(cos(x)cos(y)cos(z)+ j sin(x)sin(y)sin(z)| +\Big\vert\text{Tr}(U_r\cdot U_\text{target}^{\dag})\Big\vert = +4\Big\vert (\cos(x)\cos(y)\cos(z)+ j \sin(x)\sin(y)\sin(z)\Big\vert $$ which is optimal for all targets and bases @@ -45,13 +73,14 @@ which is optimal for all targets and bases `decomp1(target)` -Decompose target $~Ud(x, y, z)$ with 1 uses of the basis gate $~Ud(a, b, c)$. Result $Ur$ has trace: +Decompose target $\sim U_d(x, y, z)$ with $1$ use of the basis gate $\sim U_d(a, b, c)$. Result $U_r$ has trace: $$ -|Tr(Ur.U_{target}^{\dag})| = 4|cos(x-a)cos(y-b)cos(z-c) + j sin(x-a)sin(y-b)sin(z-c)| +\Big\vert\text{Tr}(U_r \cdot U_\text{target}^{\dag})\Big\vert = +4\Big\vert \cos(x-a)\cos(y-b)\cos(z-c) + j \sin(x-a)\sin(y-b)\sin(z-c)\Big\vert $$ -which is optimal for all targets and bases with z==0 or c==0 +which is optimal for all targets and bases with `z==0` or `c==0`. ### decomp2\_supercontrolled @@ -59,15 +88,15 @@ which is optimal for all targets and bases with z==0 or c==0 `decomp2_supercontrolled(target)` -Decompose target $~Ud(x, y, z)$ with 2 uses of the basis gate. +Decompose target $\sim U_d(x, y, z)$ with $2$ uses of the basis gate. -For supercontrolled basis $~Ud(\pi/4, b, 0)$, all b, result $Ur$ has trace +For supercontrolled basis $\sim U_d(\pi/4, b, 0)$, all b, result $U_r$ has trace $$ -|Tr(Ur.U_{target}^{\dag})| = 4cos(z) +\Big\vert\text{Tr}(U_r \cdot U_\text{target}^\dag) \Big\vert = 4\cos(z) $$ -which is the optimal approximation for basis of CNOT-class $~Ud(\pi/4, 0, 0)$ or DCNOT-class $~Ud(\pi/4, \pi/4, 0)$ and any target. May be sub-optimal for b!=0 (e.g. there exists exact decomposition for any target using B $B \sim Ud(\pi/4, \pi/8, 0)$, but not this decomposition.) This is an exact decomposition for supercontrolled basis and target $~Ud(x, y, 0)$. No guarantees for non-supercontrolled basis. +which is the optimal approximation for basis of CNOT-class $\sim U_d(\pi/4, 0, 0)$ or DCNOT-class $\sim U_d(\pi/4, \pi/4, 0)$ and any target. It may be sub-optimal for $b \neq 0$ (i.e. there exists an exact decomposition for any target using $B \sim U_d(\pi/4, \pi/8, 0)$, but it may not be this decomposition). This is an exact decomposition for supercontrolled basis and target $\sim U_d(x, y, 0)$. No guarantees for non-supercontrolled basis. ### decomp3\_supercontrolled @@ -75,7 +104,7 @@ which is the optimal approximation for basis of CNOT-class $~Ud(\pi/4, 0, 0)$ or `decomp3_supercontrolled(target)` -Decompose target with 3 uses of the basis. This is an exact decomposition for supercontrolled basis $~Ud(\pi/4, b, 0)$, all b, and any target. No guarantees for non-supercontrolled basis. +Decompose target with $3$ uses of the basis. This is an exact decomposition for supercontrolled basis $\sim U_d(\pi/4, b, 0)$, all b, and any target. No guarantees for non-supercontrolled basis. ### num\_basis\_gates @@ -91,5 +120,5 @@ Computes the number of basis gates needed in a decomposition of input unitary `traces(target)` -Give the expected traces $|Tr(U \cdot U_{target}^{\dag})|$ for different number of basis gates. +Give the expected traces $\Big\vert\text{Tr}(U \cdot U_\text{target}^{\dag})\Big\vert$ for a different number of basis gates. diff --git a/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitWeylDecomposition.md b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitWeylDecomposition.md index a70b5b501a2..4fbb30bbb58 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitWeylDecomposition.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.TwoQubitWeylDecomposition.md @@ -45,7 +45,10 @@ Passing non-None fidelity to specializations is treated as an assertion, raising 2. B. Kraus, J. I. Cirac, *Optimal Creation of Entanglement Using a Two-Qubit Gate*, [arXiv:0011050 \[quant-ph\]](https://arxiv.org/abs/quant-ph/0011050) 3. B. Drury, P. J. Love, *Constructive Quantum Shannon Decomposition from Cartan Involutions*, [arXiv:0806.4015 \[quant-ph\]](https://arxiv.org/abs/0806.4015) -Perform the Weyl chamber decomposition, and optionally choose a specialized subclass. +**Parameters** + +* **unitary\_matrix** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")) – The unitary to decompose. +* **fidelity** – The target fidelity of the decomposed operation. ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.md b/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.md index 97c37c875a0..2cb69a25782 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.XXDecomposer.md @@ -14,19 +14,41 @@ python_api_name: qiskit.synthesis.XXDecomposer Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)") -A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates of XX type (i.e., each locally equivalent to CAN(alpha, 0, 0) for a possibly varying alpha). +A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates of `XX` type (i.e., each locally equivalent to $CAN(\alpha, 0, 0)$ for a possibly varying $alpha$). **Parameters** -* **basis\_fidelity** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – available strengths and fidelity of each. Can be either (1) a dictionary mapping XX angle values to fidelity at that angle; or (2) a single float f, interpreted as \{pi: f, pi/2: f/2, pi/3: f/3}. -* **euler\_basis** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Basis string provided to OneQubitEulerDecomposer for 1Q synthesis. Defaults to “U”. -* **embodiments** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*,* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] | None*) – A dictionary mapping interaction strengths alpha to native circuits which embody the gate CAN(alpha, 0, 0). Strengths are taken so that pi/2 represents the class of a full CX. -* **backup\_optimizer** (*Callable\[...,* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] | None*) – If supplied, defers synthesis to this callable when XXDecomposer has no efficient decomposition of its own. Useful for special cases involving 2 or 3 applications of XX(pi/2), in which case standard synthesis methods provide lower 1Q gate count. +* **basis\_fidelity** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *|*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – available strengths and fidelity of each. Can be either (1) a dictionary mapping `XX` angle values to fidelity at that angle; or (2) a single float `f`, interpreted as `{pi: f, pi/2: f/2, pi/3: f/3}`. +* **euler\_basis** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Basis string provided to [`OneQubitEulerDecomposer`](qiskit.synthesis.OneQubitEulerDecomposer "qiskit.synthesis.OneQubitEulerDecomposer") for 1Q synthesis. Defaults to `"U"`. +* **embodiments** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")*\[*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")*,* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] | None*) – A dictionary mapping interaction strengths alpha to native circuits which embody the gate $CAN(\alpha, 0, 0)$. Strengths are taken so that $\pi/2$ represents the class of a full [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate"). +* **backup\_optimizer** (*Callable\[...,* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] | None*) – If supplied, defers synthesis to this callable when [`XXDecomposer`](#qiskit.synthesis.XXDecomposer "qiskit.synthesis.XXDecomposer") has no efficient decomposition of its own. Useful for special cases involving 2 or 3 applications of $XX(\pi/2)$, in which case standard synthesis methods provide lower 1Q gate count. If `embodiments` is not passed, or if an entry is missing, it will be populated as needed using the method `_default_embodiment`. +### \_\_call\_\_ + + + +`__call__(unitary, basis_fidelity=None, approximate=True)` + +Fashions a circuit which (perhaps approximately) models the special unitary operation `unitary`, using the circuit templates supplied at initialization as `embodiments`. The routine uses `basis_fidelity` to select the optimal circuit template, including when performing exact synthesis; the contents of `basis_fidelity` is a dictionary mapping interaction strengths (scaled so that $CX = RZX(\pi/2)$ corresponds to $\pi/2$) to circuit fidelities. + +**Parameters** + +* **unitary** ([*Operator*](qiskit.quantum_info.Operator "qiskit.quantum_info.Operator") *or ndarray*) – $4 \times 4$ unitary to synthesize. +* **basis\_fidelity** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") *or*[*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Fidelity of basis gates. Can be either (1) a dictionary mapping `XX` angle values to fidelity at that angle; or (2) a single float `f`, interpreted as `{pi: f, pi/2: f/2, pi/3: f/3}`. If given, overrides the basis\_fidelity given at init. +* **approximate** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Approximates if basis fidelities are less than 1.0 . + +**Returns** + +Synthesized circuit. + +**Return type** + +[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") + ## Methods ### num\_basis\_gates @@ -37,5 +59,7 @@ A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates Counts the number of gates that would be emitted during re-synthesis. -NOTE: Used by ConsolidateBlocks. + + This method is used by [`ConsolidateBlocks`](qiskit.transpiler.passes.ConsolidateBlocks "qiskit.transpiler.passes.ConsolidateBlocks"). + diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.md b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.md index f71fb165453..777ed8a5858 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.ApproximateCircuit.md @@ -93,12 +93,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.synthesis.unitary.aqc.ApproximateCircuit.num_input_vars "qiskit.synthesis.unitary.aqc.ApproximateCircuit.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.synthesis.unitary.aqc.ApproximateCircuit.num_captured_vars "qiskit.synthesis.unitary.aqc.ApproximateCircuit.num_captured_vars") must be zero. + ### num\_parameters @@ -111,6 +135,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.md b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.md index cc7103afa42..4798fbeb97f 100644 --- a/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.md @@ -99,12 +99,36 @@ The metadata for the circuit is a user provided `dict` of metadata for the circu Return the number of ancilla qubits. + + +### num\_captured\_vars + +The number of runtime classical variables in the circuit marked as captured from an enclosing scope. + +This is the length of the `iter_captured_vars()` iterable. If this is non-zero, [`num_input_vars`](#qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.num_input_vars "qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.num_input_vars") must be zero. + ### num\_clbits Return number of classical bits. + + +### num\_declared\_vars + +The number of runtime classical variables in the circuit that are declared by this circuit scope, excluding inputs or captures. + +This is the length of the `iter_declared_vars()` iterable. + + + +### num\_input\_vars + +The number of runtime classical variables in the circuit marked as circuit inputs. + +This is the length of the `iter_input_vars()` iterable. If this is non-zero, [`num_captured_vars`](#qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.num_captured_vars "qiskit.synthesis.unitary.aqc.CNOTUnitCircuit.num_captured_vars") must be zero. + ### num\_parameters @@ -117,6 +141,14 @@ The number of parameter objects in the circuit. Return number of qubits. + + +### num\_vars + +The number of runtime classical variables in the circuit. + +This is the length of the `iter_vars()` iterable. + ### op\_start\_times diff --git a/docs/api/qiskit/dev/synthesis_aqc.md b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.md similarity index 98% rename from docs/api/qiskit/dev/synthesis_aqc.md rename to docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.md index 80733bc9e87..1d40997873e 100644 --- a/docs/api/qiskit/dev/synthesis_aqc.md +++ b/docs/api/qiskit/dev/qiskit.synthesis.unitary.aqc.md @@ -1,7 +1,7 @@ --- title: aqc description: API reference for qiskit.synthesis.unitary.aqc -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.synthesis.unitary.aqc --- @@ -10,9 +10,11 @@ python_api_name: qiskit.synthesis.unitary.aqc +# qiskit.synthesis.unitary.aqc + -# Approximate Quantum Compiler +## Approximate Quantum Compiler @@ -20,7 +22,7 @@ python_api_name: qiskit.synthesis.unitary.aqc Implementation of Approximate Quantum Compiler as described in the paper \[1]. -## Interface +### Interface The main public interface of this module is reached by passing `unitary_synthesis_method='aqc'` to [`transpile()`](compiler#qiskit.compiler.transpile "qiskit.compiler.transpile"). This will swap the synthesis method to use `AQCSynthesisPlugin`. The individual classes are: @@ -34,7 +36,7 @@ The main public interface of this module is reached by passing `unitary_synthesi | [`DefaultCNOTUnitObjective`](qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective "qiskit.synthesis.unitary.aqc.DefaultCNOTUnitObjective")(num\_qubits, cnots) | A naive implementation of the objective function based on CNOT units. | | [`FastCNOTUnitObjective`](qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective "qiskit.synthesis.unitary.aqc.FastCNOTUnitObjective")(num\_qubits, cnots) | Implementation of objective function and gradient calculator, which is similar to `DefaultCNOTUnitObjective` but several times faster. | -## Mathematical Detail +### Mathematical Detail We are interested in compiling a quantum circuit, which we formalize as finding the best circuit representation in terms of an ordered gate sequence of a target unitary matrix $U\in U(d)$, with some additional hardware constraints. In particular, we look at representations that could be constrained in terms of hardware connectivity, as well as gate depth, and we choose a gate basis in terms of CNOT and rotation gates. We recall that the combination of CNOT and rotation gates is universal in $SU(d)$ and therefore it does not limit compilation. diff --git a/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.md b/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.md index f06ef2afd40..075e4b4a01b 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.md +++ b/docs/api/qiskit/dev/qiskit.transpiler.CouplingMap.md @@ -184,7 +184,7 @@ The undirected distance Draws the coupling map. -This function calls the [`graphviz_draw()`](https://www.rustworkx.org/apiref/rustworkx.visualization.graphviz_draw.html#rustworkx.visualization.graphviz_draw "(in rustworkx v0.14.0)") function from the `rustworkx` package to draw the [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") object. +This function calls the [`graphviz_draw()`](https://www.rustworkx.org/apiref/rustworkx.visualization.graphviz_draw.html#rustworkx.visualization.graphviz_draw "(in rustworkx v0.14)") function from the `rustworkx` package to draw the [`CouplingMap`](#qiskit.transpiler.CouplingMap "qiskit.transpiler.CouplingMap") object. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.md index d3ecde45988..e2cb4b38fba 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.md +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.BasisTranslator.md @@ -49,7 +49,7 @@ EquivalenceLibrary **param target\_basis** -Target basis names to unroll to, e.g. \[‘u3’, ‘cx’]. +Target basis names to unroll to, e.g. `['u3', 'cx']`. **type target\_basis** diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.md index 3d82ca1fda2..96cc01c341a 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.md +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.CXCancellation.md @@ -16,6 +16,10 @@ Bases: [`TransformationPass`](qiskit.transpiler.TransformationPass "qiskit.trans Cancel back-to-back `cx` gates in dag. + + The class `qiskit.transpiler.passes.optimization.cx_cancellation.CXCancellation` is deprecated as of qiskit 1.1.0. It will be removed no earlier than 3 months after the release date. Instead, use [`InverseCancellation`](qiskit.transpiler.passes.InverseCancellation "qiskit.transpiler.passes.InverseCancellation"), which is a more generic pass. + + ## Attributes diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.AQCSynthesisPlugin.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.md similarity index 78% rename from docs/api/qiskit/dev/qiskit.transpiler.passes.AQCSynthesisPlugin.md rename to docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.md index b545fa8b230..a2634895a9f 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.AQCSynthesisPlugin.md +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin.md @@ -1,16 +1,16 @@ --- title: AQCSynthesisPlugin -description: API reference for qiskit.transpiler.passes.AQCSynthesisPlugin +description: API reference for qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin in_page_toc_min_heading_level: 1 python_api_type: class -python_api_name: qiskit.transpiler.passes.AQCSynthesisPlugin +python_api_name: qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin --- # AQCSynthesisPlugin - + -`qiskit.transpiler.passes.AQCSynthesisPlugin` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/aqc_plugin.py "view source code") +`qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/aqc_plugin.py "view source code") Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") @@ -48,43 +48,43 @@ Initial values of angles/parameters to start the optimization process from. ## Attributes - + ### max\_qubits Maximum number of supported qubits is `14`. - + ### min\_qubits Minimum number of supported qubits is `3`. - + ### supported\_bases The plugin does not support bases for synthesis. - + ### supports\_basis\_gates The plugin does not support basis gates and by default it synthesizes a circuit using `["rx", "ry", "rz", "cx"]` gate basis. - + ### supports\_coupling\_map The plugin does not support coupling maps. - + ### supports\_gate\_errors The plugin does not support gate errors. - + ### supports\_gate\_errors\_by\_qubit @@ -105,13 +105,13 @@ Do note that this dictionary might not be complete or could be empty as it depen This defaults to False - + ### supports\_gate\_lengths The plugin does not support gate lengths. - + ### supports\_gate\_lengths\_by\_qubit @@ -134,19 +134,19 @@ Do note that this dictionary might not be complete or could be empty as it depen This defaults to False - + ### supports\_natural\_direction The plugin does not support natural direction, it assumes bidirectional two qubit gates. - + ### supports\_pulse\_optimize The plugin does not support optimization of pulses. - + ### supports\_target @@ -160,7 +160,7 @@ By default this will be `False` since the plugin interface predates the [`Target ### run - + `run(unitary, **options)` diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.md new file mode 100644 index 00000000000..f4176863cf1 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation.md @@ -0,0 +1,30 @@ +--- +title: ACGSynthesisPermutation +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation +--- + +# ACGSynthesisPermutation + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +The permutation synthesis plugin based on the Alon, Chung, Graham method. + +This plugin name is :`permutation.acg` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Permutation. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.md new file mode 100644 index 00000000000..e6473e1073e --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford.md @@ -0,0 +1,30 @@ +--- +title: AGSynthesisClifford +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford +--- + +# AGSynthesisClifford + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +Clifford synthesis plugin based on the Aaronson-Gottesman method. + +This plugin name is :`clifford.ag` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Clifford. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.md new file mode 100644 index 00000000000..4d1338415a3 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford.md @@ -0,0 +1,32 @@ +--- +title: BMSynthesisClifford +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford +--- + +# BMSynthesisClifford + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +Clifford synthesis plugin based on the Bravyi-Maslov method. + +The method only works on Cliffords with at most 3 qubits, for which it constructs the optimal CX cost decomposition. + +This plugin name is :`clifford.bm` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Clifford. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.md new file mode 100644 index 00000000000..a2084eef871 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation.md @@ -0,0 +1,30 @@ +--- +title: BasicSynthesisPermutation +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation +--- + +# BasicSynthesisPermutation + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +The permutation synthesis plugin based on sorting. + +This plugin name is :`permutation.basic` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Permutation. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.md new file mode 100644 index 00000000000..751ddfb4556 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford.md @@ -0,0 +1,32 @@ +--- +title: DefaultSynthesisClifford +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford +--- + +# DefaultSynthesisClifford + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +The default clifford synthesis plugin. + +For N \<= 3 qubits this is the optimal CX cost decomposition by Bravyi, Maslov. For N > 3 qubits this is done using the general non-optimal greedy compilation routine from reference by Bravyi, Hu, Maslov, Shaydulin. + +This plugin name is :`clifford.default` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Clifford. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.md new file mode 100644 index 00000000000..9ace373a84c --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction.md @@ -0,0 +1,30 @@ +--- +title: DefaultSynthesisLinearFunction +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction +--- + +# DefaultSynthesisLinearFunction + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +The default linear function synthesis plugin. + +This plugin name is :`linear_function.default` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given LinearFunction. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.md new file mode 100644 index 00000000000..68f7d0163ec --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford.md @@ -0,0 +1,30 @@ +--- +title: GreedySynthesisClifford +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford +--- + +# GreedySynthesisClifford + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +Clifford synthesis plugin based on the greedy synthesis Bravyi-Hu-Maslov-Shaydulin method. + +This plugin name is :`clifford.greedy` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Clifford. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.md new file mode 100644 index 00000000000..a63cb2e1357 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction.md @@ -0,0 +1,30 @@ +--- +title: KMSSynthesisLinearFunction +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction +--- + +# KMSSynthesisLinearFunction + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +Linear function synthesis plugin based on the Kutin-Moulton-Smithline method. + +This plugin name is :`linear_function.kms` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given LinearFunction. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.md new file mode 100644 index 00000000000..d52e7dbea17 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation.md @@ -0,0 +1,30 @@ +--- +title: KMSSynthesisPermutation +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation +--- + +# KMSSynthesisPermutation + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +The permutation synthesis plugin based on the Kutin, Moulton, Smithline method. + +This plugin name is :`permutation.kms` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Permutation. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.md new file mode 100644 index 00000000000..9a2d9ef4893 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford.md @@ -0,0 +1,30 @@ +--- +title: LayerLnnSynthesisClifford +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford +--- + +# LayerLnnSynthesisClifford + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers, with each layer synthesized adhering to LNN connectivity. + +This plugin name is :`clifford.lnn` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Clifford. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.md new file mode 100644 index 00000000000..2e6b5ee5802 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford.md @@ -0,0 +1,30 @@ +--- +title: LayerSynthesisClifford +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford +--- + +# LayerSynthesisClifford + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers. + +This plugin name is :`clifford.layers` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Clifford. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.md new file mode 100644 index 00000000000..d9f353a124c --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction.md @@ -0,0 +1,30 @@ +--- +title: PMHSynthesisLinearFunction +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction +--- + +# PMHSynthesisLinearFunction + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +Linear function synthesis plugin based on the Patel-Markov-Hayes method. + +This plugin name is :`linear_function.pmh` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given LinearFunction. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.md new file mode 100644 index 00000000000..da22c644e67 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation.md @@ -0,0 +1,44 @@ +--- +title: TokenSwapperSynthesisPermutation +description: API reference for qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation +--- + +# TokenSwapperSynthesisPermutation + + + +`qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/high_level_synthesis.py "view source code") + +Bases: [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin") + +The permutation synthesis plugin based on the token swapper algorithm. + +This plugin name is :`permutation.token_swapper` which can be used as the key on an [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.synthesis.high_level_synthesis.HLSConfig") object to use this method with [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis"). + +In more detail, this plugin is used to synthesize objects of type PermutationGate. When synthesis succeeds, the plugin outputs a quantum circuit consisting only of swap gates. When synthesis does not succeed, the plugin outputs None. + +If either coupling\_map or qubits is None, then the synthesized circuit is not required to adhere to connectivity constraints, as is the case when the synthesis is done before layout/routing. + +On the other hand, if both coupling\_map and qubits are specified, the synthesized circuit is supposed to adhere to connectivity constraints. At the moment, the plugin only creates swap gates between qubits in qubits, i.e. it does not use any other qubits in the coupling map (if such synthesis is not possible, the plugin outputs None). + +The plugin supports the following plugin-specific options: + +* trials: The number of trials for the token swapper to perform the mapping. The circuit with the smallest number of SWAPs is returned. +* seed: The argument to the token swapper specifying the seed for random trials. +* parallel\_threshold: The argument to the token swapper specifying the number of nodes in the graph beyond which the algorithm will use parallel processing. + +For more details on the token swapper algorithm, see to the paper: [arXiv:1902.09102](https://arxiv.org/abs/1902.09102). + +## Methods + +### run + + + +`run(high_level_object, coupling_map=None, target=None, qubits=None, **options)` + +Run synthesis for the given Permutation. + diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaevSynthesis.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.md similarity index 75% rename from docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaevSynthesis.md rename to docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.md index 6f8f8ff87f7..2e52e0f5e03 100644 --- a/docs/api/qiskit/dev/qiskit.transpiler.passes.SolovayKitaevSynthesis.md +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis.md @@ -1,16 +1,16 @@ --- title: SolovayKitaevSynthesis -description: API reference for qiskit.transpiler.passes.SolovayKitaevSynthesis +description: API reference for qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis in_page_toc_min_heading_level: 1 python_api_type: class -python_api_name: qiskit.transpiler.passes.SolovayKitaevSynthesis +python_api_name: qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis --- # SolovayKitaevSynthesis - + -`qiskit.transpiler.passes.SolovayKitaevSynthesis` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py "view source code") +`qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/solovay_kitaev_synthesis.py "view source code") Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") @@ -40,43 +40,43 @@ The number of times the decomposition is recursively improved. If None, defaults ## Attributes - + ### max\_qubits Maximum number of supported qubits is `1`. - + ### min\_qubits Minimum number of supported qubits is `1`. - + ### supported\_bases The plugin does not support bases for synthesis. - + ### supports\_basis\_gates The plugin does not support basis gates. By default it synthesis to the `["h", "t", "tdg"]` gate basis. - + ### supports\_coupling\_map The plugin does not support coupling maps. - + ### supports\_gate\_errors The plugin does not support gate errors. - + ### supports\_gate\_errors\_by\_qubit @@ -97,13 +97,13 @@ Do note that this dictionary might not be complete or could be empty as it depen This defaults to False - + ### supports\_gate\_lengths The plugin does not support gate lengths. - + ### supports\_gate\_lengths\_by\_qubit @@ -126,19 +126,19 @@ Do note that this dictionary might not be complete or could be empty as it depen This defaults to False - + ### supports\_natural\_direction The plugin does not support natural direction, it does not assume bidirectional two qubit gates. - + ### supports\_pulse\_optimize The plugin does not support optimization of pulses. - + ### supports\_target @@ -152,7 +152,7 @@ By default this will be `False` since the plugin interface predates the [`Target ### run - + `run(unitary, **options)` diff --git a/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.md b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.md new file mode 100644 index 00000000000..73869e02bc8 --- /dev/null +++ b/docs/api/qiskit/dev/qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis.md @@ -0,0 +1,91 @@ +--- +title: DefaultUnitarySynthesis +description: API reference for qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis +in_page_toc_min_heading_level: 1 +python_api_type: class +python_api_name: qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis +--- + +# DefaultUnitarySynthesis + + + +`qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/transpiler/passes/synthesis/unitary_synthesis.py "view source code") + +Bases: [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") + +The default unitary synthesis plugin. + +## Attributes + + + +### max\_qubits + + + +### min\_qubits + + + +### supported\_bases + + + +### supports\_basis\_gates + + + +### supports\_coupling\_map + + + +### supports\_gate\_errors + + + +### supports\_gate\_errors\_by\_qubit + + + +### supports\_gate\_lengths + + + +### supports\_gate\_lengths\_by\_qubit + + + +### supports\_natural\_direction + + + +### supports\_pulse\_optimize + + + +### supports\_target + +## Methods + +### run + + + +`run(unitary, **options)` + +Run synthesis for the given unitary matrix + +**Parameters** + +* **unitary** ([*numpy.ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")) – The unitary matrix to synthesize to a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") object +* **options** – The optional kwargs that are passed based on the output the `support_*` methods on the class. Refer to the documentation for these methods on [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin") to see what the keys and values are. + +**Returns** + +The dag circuit representation of the unitary. Alternatively, you can return a tuple of the form `(dag, wires)` where `dag` is the dag circuit representation of the circuit representation of the unitary and `wires` is the mapping wires to use for [`qiskit.dagcircuit.DAGCircuit.substitute_node_with_dag()`](qiskit.dagcircuit.DAGCircuit#substitute_node_with_dag "qiskit.dagcircuit.DAGCircuit.substitute_node_with_dag"). If you return a tuple and `wires` is `None` this will behave just as if only a [`DAGCircuit`](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") was returned. Additionally if this returns `None` no substitution will be made. + +**Return type** + +[DAGCircuit](qiskit.dagcircuit.DAGCircuit "qiskit.dagcircuit.DAGCircuit") + diff --git a/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.md b/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.md index 788b975aa36..8833a42d5bb 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.md +++ b/docs/api/qiskit/dev/qiskit.visualization.dag_drawer.md @@ -16,7 +16,7 @@ python_api_name: qiskit.visualization.dag_drawer Plot the directed acyclic graph (dag) to represent operation dependencies in a quantum circuit. -This function calls the [`graphviz_draw()`](https://www.rustworkx.org/apiref/rustworkx.visualization.graphviz_draw.html#rustworkx.visualization.graphviz_draw "(in rustworkx v0.14.0)") function from the `rustworkx` package to draw the DAG. +This function calls the [`graphviz_draw()`](https://www.rustworkx.org/apiref/rustworkx.visualization.graphviz_draw.html#rustworkx.visualization.graphviz_draw "(in rustworkx v0.14)") function from the `rustworkx` package to draw the DAG. **Parameters** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.md b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.md index ede4b4601c7..1898977536c 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_multivector.md @@ -34,7 +34,7 @@ A matplotlib figure instance. **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.md b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.md index 5e29daad7eb..10a1c827767 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_bloch_vector.md @@ -22,7 +22,7 @@ Plot a Bloch sphere with the specified coordinates, that can be given in both ca * **bloch** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[double]*) – array of three elements where \[\, \, \] (Cartesian) or \[\, \, \] (spherical in radians) \ is inclination angle from +z direction \ is azimuth from +x direction * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that represents the plot title -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An Axes to use for rendering the bloch sphere +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An Axes to use for rendering the bloch sphere * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. Has no effect is passing `ax`. * **coord\_type** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that specifies coordinate type for bloch (Cartesian or spherical), default is Cartesian * **font\_size** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Font size. @@ -33,7 +33,7 @@ A matplotlib figure instance if `ax = None`. **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.md b/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.md index f7777840773..30686a2f813 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_distribution.md @@ -27,7 +27,7 @@ Plot a distribution from input sampled data. * **legend** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of strings to use for labels of the data. The number of entries must match the length of data (if data is a list or 1 if it’s a dict) * **bar\_labels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Label each bar in histogram with probability value. * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – A string to use for the plot title -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – file path to save image to. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.md b/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.md index 1a43886c81a..848ded0abc7 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_histogram.md @@ -27,7 +27,7 @@ Plot a histogram of input counts data. * **legend** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of strings to use for labels of the data. The number of entries must match the length of data (if data is a list or 1 if it’s a dict) * **bar\_labels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Label each bar in histogram with counts value. * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – A string to use for the plot title -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – file path to save image to. **Returns** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_state_city.md b/docs/api/qiskit/dev/qiskit.visualization.plot_state_city.md index f03c96580ef..13d4afba7e8 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_city.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_city.md @@ -25,8 +25,8 @@ Plot two 3d bar graphs (two dimensional) of the real and imaginary part of the d * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. * **color** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) – A list of len=2 giving colors for real and imaginary components of matrix elements. * **alpha** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)")) – Transparency value for bars -* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. -* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_real only the imaginary component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_real only the imaginary component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. **Returns** @@ -34,7 +34,7 @@ The matplotlib.Figure of the visualization if the `ax_real` and `ax_imag` kwargs **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.md b/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.md index 7f161eedb34..c8770cd1406 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_hinton.md @@ -24,8 +24,8 @@ The hinton diagram represents the values of a matrix using squares, whose size i * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that represents the plot title * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. * **filename** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – file path to save image to. -* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. -* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_real** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax\_imag** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. If this is specified without an ax\_imag only the real component plot will be generated. Additionally, if specified there will be no returned Figure since it is redundant. **Returns** @@ -33,7 +33,7 @@ The matplotlib.Figure of the visualization if neither ax\_real or ax\_imag is se **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.md b/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.md index 141414b6d09..31c6afb0c56 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_paulivec.md @@ -31,7 +31,7 @@ This function plots the coefficients $\mathrm{Tr}(\sigma\rho)$ as bar graph. * **title** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – a string that represents the plot title * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. * **color** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)") *or*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Color of the coefficient value bars. -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. **Returns** @@ -39,7 +39,7 @@ The matplotlib.Figure of the visualization if the `ax` kwarg is not set **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") **Raises** diff --git a/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.md b/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.md index d08033441cd..ec4e987803c 100644 --- a/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.md +++ b/docs/api/qiskit/dev/qiskit.visualization.plot_state_qsphere.md @@ -20,7 +20,7 @@ Plot the qsphere representation of a quantum state. Here, the size of the points * **state** ([*Statevector*](qiskit.quantum_info.Statevector "qiskit.quantum_info.Statevector") *or*[*DensityMatrix*](qiskit.quantum_info.DensityMatrix "qiskit.quantum_info.DensityMatrix") *or ndarray*) – an N-qubit quantum state. * **figsize** ([*tuple*](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")) – Figure size in inches. -* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.2)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. +* **ax** ([*matplotlib.axes.Axes*](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.html#matplotlib.axes.Axes "(in Matplotlib v3.8.3)")) – An optional Axes object to be used for the visualization output. If none is specified a new matplotlib Figure will be created and used. Additionally, if specified there will be no returned Figure since it is redundant. * **show\_state\_labels** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – An optional boolean indicating whether to show labels for each basis state. * **show\_state\_phases** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – An optional boolean indicating whether to show the phase for each basis state. * **use\_degrees** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – An optional boolean indicating whether to use radians or degrees for the phase values in the plot. @@ -31,7 +31,7 @@ A matplotlib figure instance if the `ax` kwarg is not set **Return type** -[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.2)") +[`matplotlib.figure.Figure`](https://matplotlib.org/stable/api/figure_api.html#matplotlib.figure.Figure "(in Matplotlib v3.8.3)") **Raises** diff --git a/docs/api/qiskit/dev/qobj.md b/docs/api/qiskit/dev/qobj.md index 8f12c528eb2..097d1aef2af 100644 --- a/docs/api/qiskit/dev/qobj.md +++ b/docs/api/qiskit/dev/qobj.md @@ -1,7 +1,7 @@ --- title: qobj description: API reference for qiskit.qobj -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.qobj --- diff --git a/docs/api/qiskit/dev/qpy.md b/docs/api/qiskit/dev/qpy.md index c955963fb20..96c5774cb8f 100644 --- a/docs/api/qiskit/dev/qpy.md +++ b/docs/api/qiskit/dev/qpy.md @@ -1,7 +1,7 @@ --- title: qpy description: API reference for qiskit.qpy -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.qpy --- diff --git a/docs/api/qiskit/dev/quantum_info.md b/docs/api/qiskit/dev/quantum_info.md index f340df47045..cdcc90591db 100644 --- a/docs/api/qiskit/dev/quantum_info.md +++ b/docs/api/qiskit/dev/quantum_info.md @@ -1,7 +1,7 @@ --- title: quantum_info description: API reference for qiskit.quantum_info -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.quantum_info --- diff --git a/docs/api/qiskit/dev/result.md b/docs/api/qiskit/dev/result.md index 8d1c5eaa70f..c6bbc0a8ad6 100644 --- a/docs/api/qiskit/dev/result.md +++ b/docs/api/qiskit/dev/result.md @@ -1,7 +1,7 @@ --- title: result description: API reference for qiskit.result -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.result --- diff --git a/docs/api/qiskit/dev/scheduler.md b/docs/api/qiskit/dev/scheduler.md index 57f734408fc..90c8044d146 100644 --- a/docs/api/qiskit/dev/scheduler.md +++ b/docs/api/qiskit/dev/scheduler.md @@ -1,7 +1,7 @@ --- title: scheduler description: API reference for qiskit.scheduler -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.scheduler --- diff --git a/docs/api/qiskit/dev/synthesis.md b/docs/api/qiskit/dev/synthesis.md index f0db1f34303..e86ae2d6a95 100644 --- a/docs/api/qiskit/dev/synthesis.md +++ b/docs/api/qiskit/dev/synthesis.md @@ -1,7 +1,7 @@ --- title: synthesis description: API reference for qiskit.synthesis -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.synthesis --- @@ -41,12 +41,12 @@ python_api_name: qiskit.synthesis Synthesize linear reversible circuits for all-to-all architecture using Patel, Markov and Hayes method. -This function is an implementation of the Patel, Markov and Hayes algorithm from \[1] for optimal synthesis of linear reversible circuits for all-to-all architecture, as specified by an n x n matrix. +This function is an implementation of the Patel, Markov and Hayes algorithm from \[1] for optimal synthesis of linear reversible circuits for all-to-all architecture, as specified by an $n \times n$ matrix. **Parameters** -* **state** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*] or ndarray*) – n x n boolean invertible matrix, describing the state of the input circuit -* **section\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – the size of each section, used in the Patel–Markov–Hayes algorithm \[1]. section\_size must be a factor of num\_qubits. +* **state** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*]] | np.ndarray\[*[*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*]*) – $n \times n$ boolean invertible matrix, describing the state of the input circuit +* **section\_size** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")) – The size of each section, used in the Patel–Markov–Hayes algorithm \[1]. `section_size` must be a factor of the number of qubits. **Returns** @@ -58,7 +58,7 @@ a CX-only circuit implementing the linear transformation. **Raises** -[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – when variable “state” isn’t of type numpy.ndarray +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – when variable `state` isn’t of type `numpy.ndarray` **References** @@ -72,23 +72,23 @@ a CX-only circuit implementing the linear transformation. Synthesize linear reversible circuit for linear nearest-neighbor architectures using Kutin, Moulton, Smithline method. -Synthesis algorithm for linear reversible circuits from \[1], Chapter 7. Synthesizes any linear reversible circuit of n qubits over linear nearest-neighbor architecture using CX gates with depth at most 5\*n. +Synthesis algorithm for linear reversible circuits from \[1], section 7. This algorithm synthesizes any linear reversible circuit of $n$ qubits over a linear nearest-neighbor architecture using CX gates with depth at most $5n$. **Parameters** -**mat** (*np.ndarray]*) – A boolean invertible matrix. +**mat** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")*\[*[*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")*]*) – A boolean invertible matrix. **Returns** -the synthesized quantum circuit. +The synthesized quantum circuit. -**Return type** +**Raises** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if `mat` is not invertible. -**Raises** +**Return type** -[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if mat is not invertible. +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") **References** @@ -104,21 +104,21 @@ the synthesized quantum circuit. Synthesis of a CZ circuit for linear nearest neighbour (LNN) connectivity, based on Maslov and Roetteler. -Note that this method *reverts* the order of qubits in the circuit, and returns a circuit containing CX and phase (S, Sdg or Z) gates. +Note that this method *reverts* the order of qubits in the circuit, and returns a circuit containing [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s and phase gates ([`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"), [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate") or [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate")). **Parameters** -**mat** ([*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")) – an upper-diagonal matrix representing the CZ circuit. mat\[i]\[j]=1 for i\ @@ -237,11 +241,11 @@ More precisely, if the input permutation is a cycle of length `m`, then this cre **Parameters** -**pattern** (*Union\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*], np.ndarray]*) – permutation pattern, describing which qubits occupy the positions 0, 1, 2, etc. after applying the permutation. That is, `pattern[k] = m` when the permutation maps qubit `m` to position `k`. As an example, the pattern `[2, 4, 3, 0, 1]` means that qubit `2` goes to position `0`, qubit `4` goes to position `1`, etc. +**pattern** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*] | np.ndarray\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – Permutation pattern, describing which qubits occupy the positions 0, 1, 2, etc. after applying the permutation. That is, `pattern[k] = m` when the permutation maps qubit `m` to position `k`. As an example, the pattern `[2, 4, 3, 0, 1]` means that qubit `2` goes to position `0`, qubit `4` goes to position `1`, etc. **Returns** -the synthesized quantum circuit. +The synthesized quantum circuit. **Return type** @@ -257,20 +261,25 @@ Synthesize a permutation circuit for a fully-connected architecture using the Al This produces a quantum circuit of depth 2 (measured in the number of SWAPs). -This implementation is based on the Theorem 2 in the paper “Routing Permutations on Graphs Via Matchings” (1993), available at [https://www.cs.tau.ac.il/\~nogaa/PDFS/r.pdf](https://www.cs.tau.ac.il/~nogaa/PDFS/r.pdf). +This implementation is based on the Proposition 4.1 in reference \[1] with the detailed proof given in Theorem 2 in reference \[2] **Parameters** -**pattern** (*Union\[*[*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*], np.ndarray]*) – permutation pattern, describing which qubits occupy the positions 0, 1, 2, etc. after applying the permutation. That is, `pattern[k] = m` when the permutation maps qubit `m` to position `k`. As an example, the pattern `[2, 4, 3, 0, 1]` means that qubit `2` goes to position `0`, qubit `4` goes to position `1`, etc. +**pattern** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")*\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*] | np.ndarray\[*[*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.12)")*]*) – Permutation pattern, describing which qubits occupy the positions 0, 1, 2, etc. after applying the permutation. That is, `pattern[k] = m` when the permutation maps qubit `m` to position `k`. As an example, the pattern `[2, 4, 3, 0, 1]` means that qubit `2` goes to position `0`, qubit `4` goes to position `1`, etc. **Returns** -the synthesized quantum circuit. +The synthesized quantum circuit. **Return type** [QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +**References** + +1. N. Alon, F. R. K. Chung, and R. L. Graham. *Routing Permutations on Graphs Via Matchings.*, Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing(1993). Pages 583–591. [(Extended abstract) 10.1145/167088.167239](https://doi.org/10.1145/167088.167239) +2. N. Alon, F. R. K. Chung, and R. L. Graham. *Routing Permutations on Graphs Via Matchings.*, [(Full paper)](https://www.cs.tau.ac.il/~nogaa/PDFS/r.pdf) + ## Clifford Synthesis ### synth\_clifford\_full @@ -279,18 +288,18 @@ the synthesized quantum circuit. `qiskit.synthesis.synth_clifford_full(clifford, method=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/clifford/clifford_decompose_full.py "view source code") -Decompose a Clifford operator into a QuantumCircuit. +Decompose a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). -For N \<= 3 qubits this is based on optimal CX cost decomposition from reference \[1]. For N > 3 qubits this is done using the general non-optimal greedy compilation routine from reference \[3], which typically yields better CX cost compared to the AG method in \[2]. +For $N \leq 3$ qubits this is based on optimal CX-cost decomposition from reference \[1]. For $N > 3$ qubits this is done using the general non-optimal greedy compilation routine from reference \[3], which typically yields better CX cost compared to the AG method in \[2]. **Parameters** -* **clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – a clifford operator. -* **method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) – Optional, a synthesis method (‘AG’ or ‘greedy’). If set this overrides optimal decomposition for N \<=3 qubits. +* **clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – A Clifford operator. +* **method** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)") *| None*) – Optional, a synthesis method (`'AG'` or `'greedy'`). If set this overrides optimal decomposition for $N \leq 3$ qubits. **Returns** -a circuit implementation of the Clifford. +A circuit implementation of the Clifford. **Return type** @@ -308,21 +317,21 @@ a circuit implementation of the Clifford. `qiskit.synthesis.synth_clifford_ag(clifford)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/clifford/clifford_decompose_ag.py "view source code") -Decompose a Clifford operator into a QuantumCircuit based on Aaronson-Gottesman method. +Decompose a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") based on Aaronson-Gottesman method \[1]. **Parameters** -**clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – a clifford operator. +**clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.operators.symplectic.clifford.Clifford")) – A Clifford operator. **Returns** -a circuit implementation of the Clifford. +A circuit implementation of the Clifford. **Return type** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") -**Reference:** +**References** 1. S. Aaronson, D. Gottesman, *Improved Simulation of Stabilizer Circuits*, Phys. Rev. A 70, 052328 (2004). [arXiv:quant-ph/0406196](https://arxiv.org/abs/quant-ph/0406196) @@ -332,25 +341,25 @@ a circuit implementation of the Clifford. `qiskit.synthesis.synth_clifford_bm(clifford)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/clifford/clifford_decompose_bm.py "view source code") -Optimal CX-cost decomposition of a Clifford operator on 2-qubits or 3-qubits into a QuantumCircuit based on Bravyi-Maslov method. +Optimal CX-cost decomposition of a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator on 2 qubits or 3 qubits into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") based on the Bravyi-Maslov method \[1]. **Parameters** -**clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – a clifford operator. +**clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.operators.symplectic.clifford.Clifford")) – A Clifford operator. **Returns** -a circuit implementation of the Clifford. +A circuit implementation of the Clifford. -**Return type** +**Raises** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if Clifford is on more than 3 qubits. -**Raises** +**Return type** -[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if clifford is on more than 3 qubits. +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") -**Reference:** +**References** 1. S. Bravyi, D. Maslov, *Hadamard-free circuits expose the structure of the Clifford group*, [arXiv:2003.09412 \[quant-ph\]](https://arxiv.org/abs/2003.09412) @@ -360,27 +369,29 @@ a circuit implementation of the Clifford. `qiskit.synthesis.synth_clifford_greedy(clifford)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/clifford/clifford_decompose_greedy.py "view source code") -Decompose a Clifford operator into a QuantumCircuit based on the greedy Clifford compiler that is described in Appendix A of Bravyi, Hu, Maslov and Shaydulin. +Decompose a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") operator into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") based on the greedy Clifford compiler that is described in Appendix A of Bravyi, Hu, Maslov and Shaydulin \[1]. This method typically yields better CX cost compared to the Aaronson-Gottesman method. +Note that this function only implements the greedy Clifford compiler from Appendix A of \[1], and not the templates and symbolic Pauli gates optimizations that are mentioned in the same paper. + **Parameters** -**clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – a clifford operator. +**clifford** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.operators.symplectic.clifford.Clifford")) – A Clifford operator. **Returns** -a circuit implementation of the Clifford. - -**Return type** - -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +A circuit implementation of the Clifford. **Raises** [**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if symplectic Gaussian elimination fails. -**Reference:** +**Return type** + +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") + +**References** 1. Sergey Bravyi, Shaohan Hu, Dmitri Maslov, Ruslan Shaydulin, *Clifford Circuit Optimization with Templates and Symbolic Pauli Gates*, [arXiv:2105.02291 \[quant-ph\]](https://arxiv.org/abs/2105.02291) @@ -390,7 +401,7 @@ a circuit implementation of the Clifford. `qiskit.synthesis.synth_clifford_layers(cliff, cx_synth_func=, cz_synth_func=, cx_cz_synth_func=None, cz_func_reverse_qubits=False, validate=False)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/clifford/clifford_decompose_layers.py "view source code") -Synthesis of a Clifford into layers, it provides a similar decomposition to the synthesis described in Lemma 8 of Bravyi and Maslov. +Synthesis of a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") into layers, it provides a similar decomposition to the synthesis described in Lemma 8 of Bravyi and Maslov \[1]. For example, a 5-qubit Clifford circuit is decomposed into the following layers: @@ -408,26 +419,26 @@ q_4: ┤4 ├┤4 ├┤4 ├┤4 ├┤4 ├┤4 ├┤4 └─────┘└─────┘└────────┘└─────┘└─────┘└─────┘└─────┘└────────┘ ``` -This decomposition is for the default cz\_synth\_func and cx\_synth\_func functions, with other functions one may see slightly different decomposition. +This decomposition is for the default `cz_synth_func` and `cx_synth_func` functions, with other functions one may see slightly different decomposition. **Parameters** -* **cliff** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – a clifford operator. -* **cx\_synth\_func** (*Callable*) – a function to decompose the CX sub-circuit. It gets as input a boolean invertible matrix, and outputs a QuantumCircuit. -* **cz\_synth\_func** (*Callable*) – a function to decompose the CZ sub-circuit. It gets as input a boolean symmetric matrix, and outputs a QuantumCircuit. +* **cliff** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – A Clifford operator. +* **cx\_synth\_func** (*Callable\[\[np.ndarray],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – A function to decompose the CX sub-circuit. It gets as input a boolean invertible matrix, and outputs a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). +* **cz\_synth\_func** (*Callable\[\[np.ndarray],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*]*) – A function to decompose the CZ sub-circuit. It gets as input a boolean symmetric matrix, and outputs a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). * **cx\_cz\_synth\_func** (*Callable*) – optional, a function to decompose both sub-circuits CZ and CX. * **validate** (*Boolean*) – if True, validates the synthesis process. -* **cz\_func\_reverse\_qubits** (*Boolean*) – True only if cz\_synth\_func is synth\_cz\_depth\_line\_mr, since this function returns a circuit that reverts the order of qubits. +* **cz\_func\_reverse\_qubits** (*Boolean*) – True only if `cz_synth_func` is [`synth_cz_depth_line_mr()`](#qiskit.synthesis.synth_cz_depth_line_mr "qiskit.synthesis.synth_cz_depth_line_mr"), since this function returns a circuit that reverts the order of qubits. **Returns** -a circuit implementation of the Clifford. +A circuit implementation of the Clifford. **Return type** [QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") -**Reference:** +**References** 1. S. Bravyi, D. Maslov, *Hadamard-free circuits expose the structure of the Clifford group*, [arXiv:2003.09412 \[quant-ph\]](https://arxiv.org/abs/2003.09412) @@ -437,13 +448,13 @@ a circuit implementation of the Clifford. `qiskit.synthesis.synth_clifford_depth_lnn(cliff)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/clifford/clifford_decompose_layers.py "view source code") -Synthesis of a Clifford into layers for linear-nearest neighbour connectivity. +Synthesis of a [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") into layers for linear-nearest neighbour connectivity. -The depth of the synthesized n-qubit circuit is bounded by 7\*n+2, which is not optimal. It should be replaced by a better algorithm that provides depth bounded by 7\*n-4 \[3]. +The depth of the synthesized n-qubit circuit is bounded by $7n+2$, which is not optimal. It should be replaced by a better algorithm that provides depth bounded by $7n-4$ \[3]. **Parameters** -**cliff** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – a clifford operator. +**cliff** ([*Clifford*](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford")) – a Clifford operator. **Returns** @@ -453,7 +464,7 @@ a circuit implementation of the Clifford. [QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") -**Reference:** +**References** 1. S. Bravyi, D. Maslov, *Hadamard-free circuits expose the structure of the Clifford group*, [arXiv:2003.09412 \[quant-ph\]](https://arxiv.org/abs/2003.09412) 2. Dmitri Maslov, Martin Roetteler, *Shorter stabilizer circuits via Bruhat decomposition and quantum circuit transformations*, [arXiv:1705.09176](https://arxiv.org/abs/1705.09176). @@ -467,19 +478,21 @@ a circuit implementation of the Clifford. `qiskit.synthesis.synth_cnotdihedral_full(elem)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_full.py "view source code") -Decompose a CNOTDihedral element into a QuantumCircuit. For N \<= 2 qubits this is based on optimal CX cost decomposition from reference \[1]. For N > 2 qubits this is done using the general non-optimal compilation routine from reference \[2]. +Decompose a [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). + +For $N \leq 2$ qubits this is based on optimal CX-cost decomposition from reference \[1]. For $N > 2$ qubits this is done using the general non-optimal compilation routine from reference \[2]. **Parameters** -**elem** ([*CNOTDihedral*](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral")) – a CNOTDihedral element. +**elem** ([*CNOTDihedral*](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.operators.dihedral.dihedral.CNOTDihedral")) – A [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element. **Returns** -a circuit implementation of the CNOTDihedral element. +A circuit implementation of the [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element. **Return type** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") **References** @@ -492,25 +505,25 @@ a circuit implementation of the CNOTDihedral element. `qiskit.synthesis.synth_cnotdihedral_two_qubits(elem)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_two_qubits.py "view source code") -Decompose a CNOTDihedral element on a single qubit and two qubits into a QuantumCircuit. This decomposition has an optimal number of CX gates. +Decompose a [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element on a single qubit and two qubits into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). This decomposition has an optimal number of [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s. **Parameters** -**elem** ([*CNOTDihedral*](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral")) – a CNOTDihedral element. +**elem** ([*CNOTDihedral*](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.operators.dihedral.dihedral.CNOTDihedral")) – A [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element. **Returns** -a circuit implementation of the CNOTDihedral element. +A circuit implementation of the [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element. -**Return type** +**Raises** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the element in not 1-qubit or 2-qubit [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral"). -**Raises** +**Return type** -[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the element in not 1-qubit or 2-qubit CNOTDihedral. +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") -**Reference:** +**References** 1. Shelly Garion and Andrew W. Cross, *On the structure of the CNOT-Dihedral group*, [arXiv:2006.12042 \[quant-ph\]](https://arxiv.org/abs/2006.12042) @@ -520,27 +533,27 @@ a circuit implementation of the CNOTDihedral element. `qiskit.synthesis.synth_cnotdihedral_general(elem)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/cnotdihedral/cnotdihedral_decompose_general.py "view source code") -Decompose a CNOTDihedral element into a QuantumCircuit. +Decompose a [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element into a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). -Decompose a general CNOTDihedral elements. The number of CNOT gates is not necessarily optimal. For a decomposition of a 1-qubit or 2-qubit element, call synth\_cnotdihedral\_two\_qubits. +Decompose a general [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") elements. The number of CX gates is not necessarily optimal. For a decomposition of a 1-qubit or 2-qubit element, call [`synth_cnotdihedral_two_qubits()`](#qiskit.synthesis.synth_cnotdihedral_two_qubits "qiskit.synthesis.synth_cnotdihedral_two_qubits"). **Parameters** -**elem** ([*CNOTDihedral*](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral")) – a CNOTDihedral element. +**elem** ([*CNOTDihedral*](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.operators.dihedral.dihedral.CNOTDihedral")) – A [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element. **Returns** -a circuit implementation of the CNOTDihedral element. - -**Return type** - -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +A circuit implementation of the [`CNOTDihedral`](qiskit.quantum_info.CNOTDihedral "qiskit.quantum_info.CNOTDihedral") element. **Raises** [**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the element could not be decomposed into a circuit. -**Reference:** +**Return type** + +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") + +**References** 1. Andrew W. Cross, Easwar Magesan, Lev S. Bishop, John A. Smolin and Jay M. Gambetta, *Scalable randomised benchmarking of non-Clifford gates*, npj Quantum Inf 2, 16012 (2016). @@ -554,7 +567,7 @@ a circuit implementation of the CNOTDihedral element. Synthesis of a stabilizer state into layers. -It provides a similar decomposition to the synthesis described in Lemma 8 of Bravyi and Maslov, without the initial Hadamard-free sub-circuit which do not affect the stabilizer state. +It provides a similar decomposition to the synthesis described in Lemma 8 of reference \[1], without the initial Hadamard-free sub-circuit which do not affect the stabilizer state. For example, a 5-qubit stabilizer state is decomposed into the following layers: @@ -574,24 +587,24 @@ q_4: ┤4 ├┤4 ├┤4 ├┤4 ├┤4 ├ **Parameters** -* **stab** ([*StabilizerState*](qiskit.quantum_info.StabilizerState "qiskit.quantum_info.StabilizerState")) – a stabilizer state. -* **cz\_synth\_func** (*Callable*) – a function to decompose the CZ sub-circuit. It gets as input a boolean symmetric matrix, and outputs a QuantumCircuit. -* **validate** (*Boolean*) – if True, validates the synthesis process. -* **cz\_func\_reverse\_qubits** (*Boolean*) – True only if cz\_synth\_func is synth\_cz\_depth\_line\_mr, since this function returns a circuit that reverts the order of qubits. +* **stab** ([*StabilizerState*](qiskit.quantum_info.StabilizerState "qiskit.quantum_info.states.stabilizerstate.StabilizerState")) – A stabilizer state. +* **cz\_synth\_func** ([*Callable*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable "(in Python v3.12)")*\[\[*[*ndarray*](https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html#numpy.ndarray "(in NumPy v1.26)")*],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit")*]*) – A function to decompose the CZ sub-circuit. It gets as input a boolean symmetric matrix, and outputs a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). +* **cz\_func\_reverse\_qubits** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – `True` only if `cz_synth_func` is [`synth_cz_depth_line_mr()`](#qiskit.synthesis.synth_cz_depth_line_mr "qiskit.synthesis.synth_cz_depth_line_mr"), since this function returns a circuit that reverts the order of qubits. +* **validate** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – If `True`, validates the synthesis process. **Returns** -a circuit implementation of the stabilizer state. +A circuit implementation of the stabilizer state. -**Return type** +**Raises** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the input is not a [`StabilizerState`](qiskit.quantum_info.StabilizerState "qiskit.quantum_info.StabilizerState"). -**Raises** +**Return type** -[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the input is not a StabilizerState. +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") -**Reference:** +**References** 1. S. Bravyi, D. Maslov, *Hadamard-free circuits expose the structure of the Clifford group*, [arXiv:2003.09412 \[quant-ph\]](https://arxiv.org/abs/2003.09412) @@ -601,21 +614,21 @@ a circuit implementation of the stabilizer state. `qiskit.synthesis.synth_stabilizer_depth_lnn(stab)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/stabilizer/stabilizer_decompose.py "view source code") -Synthesis of an n-qubit stabilizer state for linear-nearest neighbour connectivity, in 2-qubit depth 2\*n+2 and two distinct CX layers, using CX and phase gates (S, Sdg or Z). +Synthesis of an n-qubit stabilizer state for linear-nearest neighbour connectivity, in 2-qubit depth $2n+2$ and two distinct CX layers, using [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s and phase gates ([`SGate`](qiskit.circuit.library.SGate "qiskit.circuit.library.SGate"), [`SdgGate`](qiskit.circuit.library.SdgGate "qiskit.circuit.library.SdgGate") or [`ZGate`](qiskit.circuit.library.ZGate "qiskit.circuit.library.ZGate")). **Parameters** -**stab** ([*StabilizerState*](qiskit.quantum_info.StabilizerState "qiskit.quantum_info.StabilizerState")) – a stabilizer state. +**stab** ([*StabilizerState*](qiskit.quantum_info.StabilizerState "qiskit.quantum_info.states.stabilizerstate.StabilizerState")) – A stabilizer state. **Returns** -a circuit implementation of the stabilizer state. +A circuit implementation of the stabilizer state. **Return type** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") -**Reference:** +**References** 1. S. Bravyi, D. Maslov, *Hadamard-free circuits expose the structure of the Clifford group*, [arXiv:2003.09412 \[quant-ph\]](https://arxiv.org/abs/2003.09412) 2. Dmitri Maslov, Martin Roetteler, *Shorter stabilizer circuits via Bruhat decomposition and quantum circuit transformations*, [arXiv:1705.09176](https://arxiv.org/abs/1705.09176). @@ -626,28 +639,28 @@ a circuit implementation of the stabilizer state. `qiskit.synthesis.synth_circuit_from_stabilizers(stabilizers, allow_redundant=False, allow_underconstrained=False, invert=False)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/stabilizer/stabilizer_circuit.py "view source code") -Synthesis of a circuit that generates a state stabilized by the stabilziers using Gaussian elimination with Clifford gates. If the stabilizers are underconstrained, and allow\_underconstrained is True, the circuit will output one of the states stabilized by the stabilizers. Based on stim implementation. +Synthesis of a circuit that generates a state stabilized by the stabilizers using Gaussian elimination with Clifford gates. If the stabilizers are underconstrained, and `allow_underconstrained` is `True`, the circuit will output one of the states stabilized by the stabilizers. Based on stim implementation. **Parameters** -* **stabilizers** (*Collection\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – list of stabilizer strings -* **allow\_redundant** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – allow redundant stabilizers (i.e., some stabilizers can be products of the others) -* **allow\_underconstrained** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – allow underconstrained set of stabilizers (i.e., the stabilizers do not specify a unique state) -* **invert** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – return inverse circuit +* **stabilizers** ([*Collection*](https://docs.python.org/3/library/collections.abc.html#collections.abc.Collection "(in Python v3.12)")*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")*]*) – List of stabilizer strings +* **allow\_redundant** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Allow redundant stabilizers (i.e., some stabilizers can be products of the others) +* **allow\_underconstrained** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Allow underconstrained set of stabilizers (i.e., the stabilizers do not specify a unique state) +* **invert** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – Return inverse circuit **Returns** -a circuit that generates a state stabilized by stabilizers. +A circuit that generates a state stabilized by `stabilizers`. -**Return type** +**Raises** -[QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") +[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the stabilizers are invalid, do not commute, or contradict each other, if the list is underconstrained and `allow_underconstrained` is `False`, or if the list is redundant and `allow_redundant` is `False`. -**Raises** +**Return type** -[**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – if the stabilizers are invalid, do not commute, or contradict each other, if the list is underconstrained and allow\_underconstrained is False, or if the list is redundant and allow\_redundant is False. +[*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") -**Reference:** +**References** 1. [https://github.com/quantumlib/Stim/blob/c0dd0b1c8125b2096cd54b6f72884a459e47fe3e/src/stim/stabilizers/conversions.inl#L469](https://github.com/quantumlib/Stim/blob/c0dd0b1c8125b2096cd54b6f72884a459e47fe3e/src/stim/stabilizers/conversions.inl#L469) 2. [https://quantumcomputing.stackexchange.com/questions/12721/how-to-calculate-destabilizer-group-of-toric-and-other-codes](https://quantumcomputing.stackexchange.com/questions/12721/how-to-calculate-destabilizer-group-of-toric-and-other-codes) @@ -664,7 +677,7 @@ a circuit that generates a state stabilized by stabilizers. `qiskit.synthesis.generate_basic_approximations(basis_gates, depth, filename=None)` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/synthesis/discrete_basis/generate_basis_approximations.py "view source code") -Generates a list of `GateSequence``s with the gates in ``basic_gates`. +Generates a list of `GateSequence`s with the gates in `basis_gates`. **Parameters** @@ -674,7 +687,7 @@ Generates a list of `GateSequence``s with the gates in ``basic_gates`. **Returns** -List of `GateSequences` using the gates in `basic_gates`. +List of `GateSequence`s using the gates in `basis_gates`. **Raises** @@ -710,7 +723,7 @@ A circuit implementation of the QFT circuit. [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.quantumcircuit.QuantumCircuit") -**Reference:** +**References** 1. A. G. Fowler, S. J. Devitt, and L. C. L. Hollenberg, *Implementation of Shor’s algorithm on a linear nearest neighbour qubit array*, Quantum Info. Comput. 4, 4 (July 2004), 237–251. [arXiv:quant-ph/0402196 \[quant-ph\]](https://arxiv.org/abs/quant-ph/0402196) @@ -736,19 +749,19 @@ This decomposition is described in Shende et al. \[1]. └───┘ └───┘ └───┘ └───┘ └───┘ ``` -The number of CX gates generated with the decomposition without optimizations is, +The number of [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s generated with the decomposition without optimizations is: $$ \frac{9}{16} 4^n - \frac{3}{2} 2^n $$ -If opt\_a1 = True, the default, the CX count is reduced by, +If `opt_a1 = True`, the default, the CX count is reduced by: $$ \frac{1}{3} 4^{n - 2} - 1. $$ -If opt\_a2 = True, the default, the CX count is reduced by, +If `opt_a2 = True`, the default, the CX count is reduced by: $$ 4^{n-2} - 1. @@ -757,7 +770,7 @@ $$ **Parameters** * **mat** (*np.ndarray*) – unitary matrix to decompose -* **opt\_a1** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – whether to try optimization A.1 from Shende et al. \[1]. This should eliminate 1 cx per call. If True CZ gates are left in the output. If desired these can be further decomposed to CX. +* **opt\_a1** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – whether to try optimization A.1 from Shende et al. \[1]. This should eliminate 1 `cx` per call. If `True`, [`CZGate`](qiskit.circuit.library.CZGate "qiskit.circuit.library.CZGate")s are left in the output. If desired these can be further decomposed to [`CXGate`](qiskit.circuit.library.CXGate "qiskit.circuit.library.CXGate")s. * **opt\_a2** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) – whether to try optimization A.2 from Shende et al. \[1]. This decomposes two qubit unitaries into a diagonal gate and a two cx unitary and reduces overall cx count by $4^{n-2} - 1$. * **decomposer\_1q** (*Callable\[\[np.ndarray],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] | None*) – optional 1Q decomposer. If None, uses [`OneQubitEulerDecomposer`](qiskit.synthesis.OneQubitEulerDecomposer "qiskit.synthesis.OneQubitEulerDecomposer"). * **decomposer\_2q** (*Callable\[\[np.ndarray],* [*QuantumCircuit*](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit")*] | None*) – optional 2Q decomposer. If None, uses [`TwoQubitBasisDecomposer`](qiskit.synthesis.TwoQubitBasisDecomposer "qiskit.synthesis.TwoQubitBasisDecomposer"). @@ -770,11 +783,15 @@ Decomposed quantum circuit. [QuantumCircuit](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") -**Reference:** +**References** 1. Shende, Bullock, Markov, *Synthesis of Quantum Logic Circuits*, [arXiv:0406176 \[quant-ph\]](https://arxiv.org/abs/quant-ph/0406176) -The Approximate Quantum Compiler is available here: [`qiskit.synthesis.unitary.aqc`](synthesis_aqc#module-qiskit.synthesis.unitary.aqc "qiskit.synthesis.unitary.aqc") +The Approximate Quantum Compiler is available here: + +| | | +| --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | +| [`qiskit.synthesis.unitary.aqc`](qiskit.synthesis.unitary.aqc#module-qiskit.synthesis.unitary.aqc "qiskit.synthesis.unitary.aqc") | Approximate Quantum Compiler (qiskit.synthesis.unitary.aqc) | ## One-Qubit Synthesis @@ -784,11 +801,11 @@ The Approximate Quantum Compiler is available here: [`qiskit.synthesis.unitary.a ## Two-Qubit Synthesis -| | | -| ------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [`TwoQubitBasisDecomposer`](qiskit.synthesis.TwoQubitBasisDecomposer "qiskit.synthesis.TwoQubitBasisDecomposer")(gate\[, ...]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. | -| [`XXDecomposer`](qiskit.synthesis.XXDecomposer "qiskit.synthesis.XXDecomposer")(\[basis\_fidelity, euler\_basis, ...]) | A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates of XX type (i.e., each locally equivalent to CAN(alpha, 0, 0) for a possibly varying alpha). | -| [`TwoQubitWeylDecomposition`](qiskit.synthesis.TwoQubitWeylDecomposition "qiskit.synthesis.TwoQubitWeylDecomposition")(unitary\_matrix, \*) | Two-qubit Weyl decomposition. | +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`TwoQubitBasisDecomposer`](qiskit.synthesis.TwoQubitBasisDecomposer "qiskit.synthesis.TwoQubitBasisDecomposer")(gate\[, ...]) | A class for decomposing 2-qubit unitaries into minimal number of uses of a 2-qubit basis gate. | +| [`XXDecomposer`](qiskit.synthesis.XXDecomposer "qiskit.synthesis.XXDecomposer")(\[basis\_fidelity, euler\_basis, ...]) | A class for optimal decomposition of 2-qubit unitaries into 2-qubit basis gates of `XX` type (i.e., each locally equivalent to $CAN(\alpha, 0, 0)$ for a possibly varying $alpha$). | +| [`TwoQubitWeylDecomposition`](qiskit.synthesis.TwoQubitWeylDecomposition "qiskit.synthesis.TwoQubitWeylDecomposition")(unitary\_matrix, \*) | Two-qubit Weyl decomposition. | ### two\_qubit\_cnot\_decompose diff --git a/docs/api/qiskit/dev/transpiler.md b/docs/api/qiskit/dev/transpiler.md index 9e48d6150e5..5a67e8ef24b 100644 --- a/docs/api/qiskit/dev/transpiler.md +++ b/docs/api/qiskit/dev/transpiler.md @@ -1,7 +1,7 @@ --- title: transpiler description: API reference for qiskit.transpiler -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.transpiler --- diff --git a/docs/api/qiskit/dev/transpiler_builtin_plugins.md b/docs/api/qiskit/dev/transpiler_builtin_plugins.md deleted file mode 100644 index c5595272581..00000000000 --- a/docs/api/qiskit/dev/transpiler_builtin_plugins.md +++ /dev/null @@ -1,8 +0,0 @@ - - -# Built-in Transpiler Synthesis Plugins - -* [Approximate Quantum Compiler (`qiskit.synthesis.unitary.aqc`)](synthesis_aqc) - - * [Interface](synthesis_aqc#interface) - * [Mathematical Detail](synthesis_aqc#mathematical-detail) diff --git a/docs/api/qiskit/dev/transpiler_passes.md b/docs/api/qiskit/dev/transpiler_passes.md index ff74ec075c7..7d65666bd6b 100644 --- a/docs/api/qiskit/dev/transpiler_passes.md +++ b/docs/api/qiskit/dev/transpiler_passes.md @@ -1,7 +1,7 @@ --- title: passes description: API reference for qiskit.transpiler.passes -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.transpiler.passes --- @@ -143,6 +143,8 @@ Decomposition templates and cost values. ## Synthesis +The synthesis transpiler plugin documentation can be found in the [`qiskit.transpiler.passes.synthesis.plugin`](transpiler_synthesis_plugins#module-qiskit.transpiler.passes.synthesis.plugin "qiskit.transpiler.passes.synthesis.plugin") page. + | | | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [`UnitarySynthesis`](qiskit.transpiler.passes.UnitarySynthesis "qiskit.transpiler.passes.UnitarySynthesis")(\*args, \*\*kwargs) | Synthesize gates according to their basis gates. | @@ -150,8 +152,6 @@ Decomposition templates and cost values. | [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis")(\*args, \*\*kwargs) | Synthesize higher-level objects and unroll custom definitions. | | [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.HLSConfig")(\[use\_default\_on\_unspecified]) | The high-level-synthesis config allows to specify a list of "methods" used by [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.HighLevelSynthesis") transformation pass to synthesize different types of higher-level objects. | | [`SolovayKitaev`](qiskit.transpiler.passes.SolovayKitaev "qiskit.transpiler.passes.SolovayKitaev")(\*args, \*\*kwargs) | Approximately decompose 1q gates to a discrete basis using the Solovay-Kitaev algorithm. | -| [`SolovayKitaevSynthesis`](qiskit.transpiler.passes.SolovayKitaevSynthesis "qiskit.transpiler.passes.SolovayKitaevSynthesis")() | A Solovay-Kitaev Qiskit unitary synthesis plugin. | -| [`AQCSynthesisPlugin`](qiskit.transpiler.passes.AQCSynthesisPlugin "qiskit.transpiler.passes.AQCSynthesisPlugin")() | An AQC-based Qiskit unitary synthesis plugin. | ## Post Layout (Post transpile qubit selection) diff --git a/docs/api/qiskit/dev/transpiler_plugins.md b/docs/api/qiskit/dev/transpiler_plugins.md index 68c13b129d9..f8a837d8c45 100644 --- a/docs/api/qiskit/dev/transpiler_plugins.md +++ b/docs/api/qiskit/dev/transpiler_plugins.md @@ -1,7 +1,7 @@ --- title: plugin description: API reference for qiskit.transpiler.preset_passmanagers.plugin -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.transpiler.preset_passmanagers.plugin --- diff --git a/docs/api/qiskit/dev/transpiler_preset.md b/docs/api/qiskit/dev/transpiler_preset.md index 8f686a4005f..270ecb1f70d 100644 --- a/docs/api/qiskit/dev/transpiler_preset.md +++ b/docs/api/qiskit/dev/transpiler_preset.md @@ -1,7 +1,7 @@ --- title: preset_passmanagers description: API reference for qiskit.transpiler.preset_passmanagers -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.transpiler.preset_passmanagers --- diff --git a/docs/api/qiskit/dev/transpiler_synthesis_plugins.md b/docs/api/qiskit/dev/transpiler_synthesis_plugins.md index aa320f0eafc..5d71b150df4 100644 --- a/docs/api/qiskit/dev/transpiler_synthesis_plugins.md +++ b/docs/api/qiskit/dev/transpiler_synthesis_plugins.md @@ -1,7 +1,7 @@ --- title: plugin description: API reference for qiskit.transpiler.passes.synthesis.plugin -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.transpiler.passes.synthesis.plugin --- @@ -24,6 +24,24 @@ The plugin interfaces are built using setuptools [entry points](https://setuptoo See [`qiskit.transpiler.preset_passmanagers.plugin`](transpiler_plugins#module-qiskit.transpiler.preset_passmanagers.plugin "qiskit.transpiler.preset_passmanagers.plugin") for details on how to write plugins for transpiler stages. +## Synthesis Plugin API + +### Unitary Synthesis Plugin API + +| | | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | +| [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin")() | Abstract unitary synthesis plugin class | +| [`UnitarySynthesisPluginManager`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager")() | Unitary Synthesis plugin manager class | +| [`unitary_synthesis_plugin_names`](qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names "qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names")() | Return a list of installed unitary synthesis plugin names | + +### High-Level Synthesis Plugin API + +| | | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")() | Abstract high-level synthesis plugin class. | +| [`HighLevelSynthesisPluginManager`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager")() | Class tracking the installed high-level-synthesis plugins. | +| [`high_level_synthesis_plugin_names`](qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names "qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names")(op\_name) | Return a list of plugin names installed for a given high level object name | + ## Writing Plugins ### Unitary Synthesis Plugins @@ -170,29 +188,110 @@ high_level_synthesis_plugin_names("clifford") will return a list of all the installed Clifford synthesis plugins. -### Available Plugins +## Available Plugins High-level synthesis plugins that are directly available in Qiskit include plugins for synthesizing [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford") objects, [`LinearFunction`](qiskit.circuit.library.LinearFunction "qiskit.circuit.library.LinearFunction") objects, and [`PermutationGate`](qiskit.circuit.library.PermutationGate "qiskit.circuit.library.PermutationGate") objects. Some of these plugins implicitly target all-to-all connectivity. This is not a practical limitation since [`HighLevelSynthesis`](qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.synthesis.high_level_synthesis.HighLevelSynthesis") typically runs before layout and routing, which will ensure that the final circuit adheres to the device connectivity by inserting additional SWAP gates. A good example is the permutation synthesis plugin `ACGSynthesisPermutation` which can synthesize any permutation with at most 2 layers of SWAP gates. On the other hand, some plugins implicitly target linear connectivity. Typically, the synthesizing circuits have larger depth and the number of gates, however no additional SWAP gates would be inserted if the following layout pass chose a consecutive line of qubits inside the topology of the device. A good example of this is the permutation synthesis plugin `KMSSynthesisPermutation` which can synthesize any permutation of `n` qubits in depth `n`. Typically, it is difficult to know in advance which of the two approaches: synthesizing circuits for all-to-all connectivity and inserting SWAP gates vs. synthesizing circuits for linear connectivity and inserting less or no SWAP gates lead a better final circuit, so it likely makes sense to try both and see which gives better results. Finally, some plugins can target a given connectivity, and hence should be run after the layout is set. In this case the synthesized circuit automatically adheres to the topology of the device. A good example of this is the permutation synthesis plugin `TokenSwapperSynthesisPermutation` which is able to synthesize arbitrary permutations with respect to arbitrary coupling maps. For more detail, please refer to description of each individual plugin. -## Plugin API +Below are the synthesis plugin classes available in Qiskit. These classes should not be used directly, but instead should be used through the plugin interface documented above. The classes are listed here to ease finding the documentation for each of the included plugins and to ease the comparison between different synthesis methods for a given object. ### Unitary Synthesis Plugins -| | | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | -| [`UnitarySynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPlugin")() | Abstract unitary synthesis plugin class | -| [`UnitarySynthesisPluginManager`](qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager "qiskit.transpiler.passes.synthesis.plugin.UnitarySynthesisPluginManager")() | Unitary Synthesis plugin manager class | -| [`unitary_synthesis_plugin_names`](qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names "qiskit.transpiler.passes.synthesis.plugin.unitary_synthesis_plugin_names")() | Return a list of installed unitary synthesis plugin names | + - + -### High-Level Synthesis Plugins +#### AQC Synthesis Plugin (in [`qiskit.transpiler.passes.synthesis.aqc_plugin`](#module-qiskit.transpiler.passes.synthesis.aqc_plugin "qiskit.transpiler.passes.synthesis.aqc_plugin")) -| | | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -| [`HighLevelSynthesisPlugin`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin")() | Abstract high-level synthesis plugin class. | -| [`HighLevelSynthesisPluginManager`](qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager "qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPluginManager")() | Class tracking the installed high-level-synthesis plugins. | -| [`high_level_synthesis_plugin_names`](qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names "qiskit.transpiler.passes.synthesis.plugin.high_level_synthesis_plugin_names")(op\_name) | Return a list of plugin names installed for a given high level object name | +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | +| [`AQCSynthesisPlugin`](qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin "qiskit.transpiler.passes.synthesis.aqc_plugin.AQCSynthesisPlugin")() | An AQC-based Qiskit unitary synthesis plugin. | + + + + + +#### Unitary Synthesis Plugin (in [`qiskit.transpiler.passes.synthesis.unitary_synthesis`](#module-qiskit.transpiler.passes.synthesis.unitary_synthesis "qiskit.transpiler.passes.synthesis.unitary_synthesis")) + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------- | +| [`DefaultUnitarySynthesis`](qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis "qiskit.transpiler.passes.synthesis.unitary_synthesis.DefaultUnitarySynthesis")() | The default unitary synthesis plugin. | + + + + + +#### Solovay-Kitaev Synthesis Plugin (in [`qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis`](#module-qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis "qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis")) + +| | | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | +| [`SolovayKitaevSynthesis`](qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis "qiskit.transpiler.passes.synthesis.solovay_kitaev_synthesis.SolovayKitaevSynthesis")() | A Solovay-Kitaev Qiskit unitary synthesis plugin. | + +### High Level Synthesis + +For each high-level object we give a table that lists all of its plugins available directly in Qiskit. We include the name of the plugin, the class of the plugin, the targeted connectivity map and optionally additional information. Recall the plugins should be used via the previously described [`HLSConfig`](qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.HLSConfig"), for example: + +```python +HLSConfig(permutation=["kms"]) +``` + +creates a high-level synthesis configuration that uses the `kms` plugin for synthesizing [`PermutationGate`](qiskit.circuit.library.PermutationGate "qiskit.circuit.library.PermutationGate") objects – i.e. those with `name = "permutation"`. In this case, the plugin name is “kms”, the plugin class is [`KMSSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation"). This particular synthesis algorithm created a circuit adhering to the linear nearest-neighbor connectivity. + + + + + +#### High Level Synthesis Plugins + +##### Clifford Synthesis + +| Plugin name | Plugin class | Targeted connectivity | Description | +| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | --------------------------------------------------------------------- | +| `"ag"` | [`AGSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford") | all-to-all | greedily optimizes CX-count | +| `"bm"` | [`BMSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford") | all-to-all | optimal count for n=2,3; used in `"default"` for n=2,3 | +| `"greedy"` | [`GreedySynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford") | all-to-all | greedily optimizes CX-count; used in `"default"` for n>=4 | +| `"layers"` | [`LayerSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford") | all-to-all | | +| `"lnn"` | [`LayerLnnSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford") | linear | many CX-gates but guarantees CX-depth of at most 7\*n+2 | +| `"default"` | [`DefaultSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford") | all-to-all | usually best for optimizing CX-count (and optimal CX-count for n=2,3) | + +| | | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`AGSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.AGSynthesisClifford")() | Clifford synthesis plugin based on the Aaronson-Gottesman method. | +| [`BMSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.BMSynthesisClifford")() | Clifford synthesis plugin based on the Bravyi-Maslov method. | +| [`GreedySynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.GreedySynthesisClifford")() | Clifford synthesis plugin based on the greedy synthesis Bravyi-Hu-Maslov-Shaydulin method. | +| [`LayerSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerSynthesisClifford")() | Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers. | +| [`LayerLnnSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.LayerLnnSynthesisClifford")() | Clifford synthesis plugin based on the Bravyi-Maslov method to synthesize Cliffords into layers, with each layer synthesized adhering to LNN connectivity. | +| [`DefaultSynthesisClifford`](qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford "qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisClifford")() | The default clifford synthesis plugin. | + +##### Linear Function Synthesis + +| Plugin name | Plugin class | Targeted connectivity | Description | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | ----------------------------------------------------- | +| `"kms"` | [`KMSSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction") | linear | many CX-gates but guarantees CX-depth of at most 5\*n | +| `"pmh"` | [`PMHSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction") | all-to-all | greedily optimizes CX-count; used in `"default"` | +| `"default"` | [`DefaultSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction") | all-to-all | best for optimizing CX-count | + +| | | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| [`KMSSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisLinearFunction")() | Linear function synthesis plugin based on the Kutin-Moulton-Smithline method. | +| [`PMHSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.high_level_synthesis.PMHSynthesisLinearFunction")() | Linear function synthesis plugin based on the Patel-Markov-Hayes method. | +| [`DefaultSynthesisLinearFunction`](qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction "qiskit.transpiler.passes.synthesis.high_level_synthesis.DefaultSynthesisLinearFunction")() | The default linear function synthesis plugin. | + +##### Permutation Synthesis + +| Plugin name | Plugin class | Targeted connectivity | Description | +| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | -------------------------------------------------------- | +| `"basic"` | [`BasicSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation") | all-to-all | optimal SWAP-count; used in `"default"` | +| `"acg"` | [`ACGSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation") | all-to-all | guarantees SWAP-depth of at most 2 | +| `"kms"` | [`KMSSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation") | linear | many SWAP-gates, but guarantees SWAP-depth of at most n | +| `"token_swapper"` | [`TokenSwapperSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation") | any | greedily optimizes SWAP-count for arbitrary connectivity | +| `"default"` | [`BasicSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation") | all-to-all | best for optimizing SWAP-count | + +| | | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| [`BasicSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.BasicSynthesisPermutation")() | The permutation synthesis plugin based on sorting. | +| [`ACGSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.ACGSynthesisPermutation")() | The permutation synthesis plugin based on the Alon, Chung, Graham method. | +| [`KMSSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.KMSSynthesisPermutation")() | The permutation synthesis plugin based on the Kutin, Moulton, Smithline method. | +| [`TokenSwapperSynthesisPermutation`](qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation "qiskit.transpiler.passes.synthesis.high_level_synthesis.TokenSwapperSynthesisPermutation")() | The permutation synthesis plugin based on the token swapper algorithm. | diff --git a/docs/api/qiskit/dev/utils.md b/docs/api/qiskit/dev/utils.md index 4a26e5ff13a..063a369275b 100644 --- a/docs/api/qiskit/dev/utils.md +++ b/docs/api/qiskit/dev/utils.md @@ -1,7 +1,7 @@ --- title: utils description: API reference for qiskit.utils -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.utils --- @@ -18,6 +18,8 @@ python_api_name: qiskit.utils `qiskit.utils` +## Deprecations + ### add\_deprecation\_to\_docstring @@ -137,31 +139,7 @@ The decorated, deprecated callable. Callable -### local\_hardware\_info - - - -`qiskit.utils.local_hardware_info()` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/utils/multiprocessing.py "view source code") - -Basic hardware information about the local machine. - -Gives actual number of CPU’s in the machine, even when hyperthreading is turned on. CPU count defaults to 1 when true count can’t be determined. - -**Returns** - -The hardware information. - -**Return type** - -[dict](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") - -### is\_main\_process - - - -`qiskit.utils.is_main_process()` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/utils/multiprocessing.py "view source code") - -Checks whether the current process is the main one +## SI unit conversion ### apply\_prefix @@ -240,6 +218,8 @@ A tuple of scaled value and prefix. [tuple](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.12)")\[[float](https://docs.python.org/3/library/functions.html#float "(in Python v3.12)"), [str](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")] +## Class tools + ### wrap\_method @@ -263,7 +243,33 @@ If either `before` or `after` are given, they should be callables with a compati [**ValueError**](https://docs.python.org/3/library/exceptions.html#ValueError "(in Python v3.12)") – if the named method is not defined on the class or any parent class. -## Parallel Routines +## Multiprocessing + +### local\_hardware\_info + + + +`qiskit.utils.local_hardware_info()` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/utils/multiprocessing.py "view source code") + +Basic hardware information about the local machine. + +Gives actual number of CPU’s in the machine, even when hyperthreading is turned on. CPU count defaults to 1 when true count can’t be determined. + +**Returns** + +The hardware information. + +**Return type** + +[dict](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)") + +### is\_main\_process + + + +`qiskit.utils.is_main_process()` [GitHub](https://github.com/qiskit/qiskit/tree/main/qiskit/utils/multiprocessing.py "view source code") + +Checks whether the current process is the main one A helper function for calling a custom function with python [`ProcessPoolExecutor`](https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ProcessPoolExecutor "(in Python v3.12)"). Tasks can be executed in parallel using this function. @@ -318,15 +324,13 @@ parallel_map(func, list(range(10))); - - -### Optional Dependency Checkers ([`qiskit.utils.optionals`](#module-qiskit.utils.optionals "qiskit.utils.optionals")) +## Optional Dependency Checkers -Qiskit has several features that are enabled only if certain *optional* dependencies are satisfied. This module is a collection of objects that can be used to test if certain functionality is available, and optionally raise [`MissingOptionalLibraryError`](exceptions#qiskit.exceptions.MissingOptionalLibraryError "qiskit.exceptions.MissingOptionalLibraryError") if the functionality is not available. +Qiskit has several features that are enabled only if certain *optional* dependencies are satisfied. This module, [`qiskit.utils.optionals`](#module-qiskit.utils.optionals "qiskit.utils.optionals"), has a collection of objects that can be used to test if certain functionality is available, and optionally raise [`MissingOptionalLibraryError`](exceptions#qiskit.exceptions.MissingOptionalLibraryError "qiskit.exceptions.MissingOptionalLibraryError") if the functionality is not available. -#### Available Testers +### Available Testers -##### Qiskit Components +#### Qiskit Components | | | | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -335,11 +339,11 @@ Qiskit has several features that are enabled only if certain *optional* dependen | **qiskit.utils.optionals.HAS\_IGNIS** | `Qiskit Ignis` provides tools for quantum hardware verification, noise characterization, and error correction. | | **qiskit.utils.optionals.HAS\_TOQM** | [Qiskit TOQM](https://github.com/qiskit-toqm/qiskit-toqm) provides transpiler passes for the [Time-optimal Qubit mapping algorithm](https://doi.org/10.1145/3445814.3446706). | -##### External Python Libraries +#### External Python Libraries | | | | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **qiskit.utils.optionals.HAS\_CONSTRAINT** | python-constraint \<[https://github.com/python-constraint/python-constraint>\_\_](https://github.com/python-constraint/python-constraint>__) is a constraint satisfaction problem solver, used in the :class:\`\~.CSPLayout transpiler pass. | +| **qiskit.utils.optionals.HAS\_CONSTRAINT** | [python-constraint](https://github.com/python-constraint/python-constraint) is a constraint satisfaction problem solver, used in the [`CSPLayout`](qiskit.transpiler.passes.CSPLayout "qiskit.transpiler.passes.CSPLayout") transpiler pass. | | **qiskit.utils.optionals.HAS\_CPLEX** | The [IBM CPLEX Optimizer](https://www.ibm.com/analytics/cplex-optimizer) is a high-performance mathematical programming solver for linear, mixed-integer and quadratic programming. This is no longer by Qiskit, but it weas historically and the optional remains for backwards compatibility. | | **qiskit.utils.optionals.HAS\_CVXPY** | [CVXPY](https://www.cvxpy.org/) is a Python package for solving convex optimization problems. It is required for calculating diamond norms with [`quantum_info.diamond_norm()`](quantum_info#qiskit.quantum_info.diamond_norm "qiskit.quantum_info.diamond_norm"). | | **qiskit.utils.optionals.HAS\_DOCPLEX** | [IBM Decision Optimization CPLEX Modelling](http://ibmdecisionoptimization.github.io/docplex-doc/) is a library for prescriptive analysis. Like CPLEX, this is no longer by Qiskit, but it weas historically and the optional remains for backwards compatibility. | @@ -365,7 +369,7 @@ Qiskit has several features that are enabled only if certain *optional* dependen | **qiskit.utils.optionals.HAS\_TWEEDLEDUM** | [Tweedledum](https://github.com/boschmitt/tweedledum) is an extension library for synthesis and optimization of circuits that may involve classical oracles. Qiskit’s [`PhaseOracle`](qiskit.circuit.library.PhaseOracle "qiskit.circuit.library.PhaseOracle") uses this, which is used in turn by amplification algorithms via the `AmplificationProblem`. | | **qiskit.utils.optionals.HAS\_Z3** | [Z3](https://github.com/Z3Prover/z3) is a theorem prover, used in the `CrosstalkAdaptiveSchedule` and [`HoareOptimizer`](qiskit.transpiler.passes.HoareOptimizer "qiskit.transpiler.passes.HoareOptimizer") transpiler passes. | -##### External Command-Line Tools +#### External Command-Line Tools | | | | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -373,7 +377,7 @@ Qiskit has several features that are enabled only if certain *optional* dependen | **qiskit.utils.optionals.HAS\_PDFLATEX** | Visualisation tools that use LaTeX in their output, such as the circuit drawers, require `pdflatex` to be available. You will generally need to ensure that you have a working LaTeX installation available, and the `qcircuit.tex` package. | | **qiskit.utils.optionals.HAS\_PDFTOCAIRO** | Visualisation tools that convert LaTeX-generated files into rasterised images use the `pdftocairo` tool. This is part of the [Poppler suite of PDF tools](https://poppler.freedesktop.org/). | -#### Lazy Checker Classes +### Lazy Checker Classes Each of the lazy checkers is an instance of [`LazyDependencyManager`](#qiskit.utils.LazyDependencyManager "qiskit.utils.LazyDependencyManager") in one of its two subclasses: [`LazyImportTester`](#qiskit.utils.LazyImportTester "qiskit.utils.LazyImportTester") and [`LazySubprocessTester`](#qiskit.utils.LazySubprocessTester "qiskit.utils.LazySubprocessTester"). These should be imported from [`utils`](#module-qiskit.utils "qiskit.utils") directly if required, such as: diff --git a/docs/api/qiskit/dev/visualization.md b/docs/api/qiskit/dev/visualization.md index b336c5a9275..08e13911b71 100644 --- a/docs/api/qiskit/dev/visualization.md +++ b/docs/api/qiskit/dev/visualization.md @@ -1,7 +1,7 @@ --- title: visualization description: API reference for qiskit.visualization -in_page_toc_min_heading_level: 1 +in_page_toc_min_heading_level: 2 python_api_type: module python_api_name: qiskit.visualization --- diff --git a/public/api/qiskit-ibm-runtime/dev/objects.inv b/public/api/qiskit-ibm-runtime/dev/objects.inv index 9135aef616b..fc888617054 100644 Binary files a/public/api/qiskit-ibm-runtime/dev/objects.inv and b/public/api/qiskit-ibm-runtime/dev/objects.inv differ diff --git a/public/api/qiskit/dev/objects.inv b/public/api/qiskit/dev/objects.inv index 6c4ac29f83f..0857046abf0 100644 Binary files a/public/api/qiskit/dev/objects.inv and b/public/api/qiskit/dev/objects.inv differ diff --git a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png index b84c2ab8bd1..82713ca19db 100644 Binary files a/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png and b/public/images/api/qiskit-ibm-runtime/dev/fake_provider-1_02.png differ diff --git a/public/images/api/qiskit/dev/circuit-1.png b/public/images/api/qiskit/dev/circuit-1.png index b31f60b8158..a39174d80db 100644 Binary files a/public/images/api/qiskit/dev/circuit-1.png and b/public/images/api/qiskit/dev/circuit-1.png differ diff --git a/public/images/api/qiskit/dev/circuit-2.png b/public/images/api/qiskit/dev/circuit-2.png index 8969af61bd9..d579a7b5081 100644 Binary files a/public/images/api/qiskit/dev/circuit-2.png and b/public/images/api/qiskit/dev/circuit-2.png differ diff --git a/public/images/api/qiskit/dev/circuit-3.png b/public/images/api/qiskit/dev/circuit-3.png index c4a1a9f83b5..04e076e0c07 100644 Binary files a/public/images/api/qiskit/dev/circuit-3.png and b/public/images/api/qiskit/dev/circuit-3.png differ diff --git a/public/images/api/qiskit/dev/circuit-4.png b/public/images/api/qiskit/dev/circuit-4.png index 6007f0b7783..40057e4762a 100644 Binary files a/public/images/api/qiskit/dev/circuit-4.png and b/public/images/api/qiskit/dev/circuit-4.png differ diff --git a/public/images/api/qiskit/dev/circuit-5.png b/public/images/api/qiskit/dev/circuit-5.png index ed8ec54a609..558583ca11a 100644 Binary files a/public/images/api/qiskit/dev/circuit-5.png and b/public/images/api/qiskit/dev/circuit-5.png differ diff --git a/public/images/api/qiskit/dev/circuit_library-1.png b/public/images/api/qiskit/dev/circuit_library-1.png index 65ffa804742..8c06ea7a57c 100644 Binary files a/public/images/api/qiskit/dev/circuit_library-1.png and b/public/images/api/qiskit/dev/circuit_library-1.png differ diff --git a/public/images/api/qiskit/dev/converters-1.png b/public/images/api/qiskit/dev/converters-1.png index 13e81255a03..6c013dffb90 100644 Binary files a/public/images/api/qiskit/dev/converters-1.png and b/public/images/api/qiskit/dev/converters-1.png differ diff --git a/public/images/api/qiskit/dev/providers_fake_provider-1_00.png b/public/images/api/qiskit/dev/providers_fake_provider-1_00.png index 824e5d397e2..69d83403d08 100644 Binary files a/public/images/api/qiskit/dev/providers_fake_provider-1_00.png and b/public/images/api/qiskit/dev/providers_fake_provider-1_00.png differ diff --git a/public/images/api/qiskit/dev/providers_fake_provider-1_01.png b/public/images/api/qiskit/dev/providers_fake_provider-1_01.png index 2ea1f566fc4..c90ab5576c1 100644 Binary files a/public/images/api/qiskit/dev/providers_fake_provider-1_01.png and b/public/images/api/qiskit/dev/providers_fake_provider-1_01.png differ diff --git a/public/images/api/qiskit/dev/providers_fake_provider-1_02.png b/public/images/api/qiskit/dev/providers_fake_provider-1_02.png index f207f31469f..85e6ddb575f 100644 Binary files a/public/images/api/qiskit/dev/providers_fake_provider-1_02.png and b/public/images/api/qiskit/dev/providers_fake_provider-1_02.png differ diff --git a/public/images/api/qiskit/dev/pulse-1.png b/public/images/api/qiskit/dev/pulse-1.png index 6c33a77d369..826ec56cf69 100644 Binary files a/public/images/api/qiskit/dev/pulse-1.png and b/public/images/api/qiskit/dev/pulse-1.png differ diff --git a/public/images/api/qiskit/dev/pulse-2.png b/public/images/api/qiskit/dev/pulse-2.png index 751540313ba..3c19c58ad09 100644 Binary files a/public/images/api/qiskit/dev/pulse-2.png and b/public/images/api/qiskit/dev/pulse-2.png differ diff --git a/public/images/api/qiskit/dev/pulse-3.png b/public/images/api/qiskit/dev/pulse-3.png index 1ba95e6c9d3..34b22ef95ab 100644 Binary files a/public/images/api/qiskit/dev/pulse-3.png and b/public/images/api/qiskit/dev/pulse-3.png differ diff --git a/public/images/api/qiskit/dev/pulse-4.png b/public/images/api/qiskit/dev/pulse-4.png index 58e87fba14f..c0c11f36af5 100644 Binary files a/public/images/api/qiskit/dev/pulse-4.png and b/public/images/api/qiskit/dev/pulse-4.png differ diff --git a/public/images/api/qiskit/dev/pulse-5.png b/public/images/api/qiskit/dev/pulse-5.png index e8078a5b920..11f2184eb58 100644 Binary files a/public/images/api/qiskit/dev/pulse-5.png and b/public/images/api/qiskit/dev/pulse-5.png differ diff --git a/public/images/api/qiskit/dev/pulse-6.png b/public/images/api/qiskit/dev/pulse-6.png index fbfc632f1c5..fb39a58fa8d 100644 Binary files a/public/images/api/qiskit/dev/pulse-6.png and b/public/images/api/qiskit/dev/pulse-6.png differ diff --git a/public/images/api/qiskit/dev/pulse-7.png b/public/images/api/qiskit/dev/pulse-7.png index ffccfc69dd7..b0b8edfbfb3 100644 Binary files a/public/images/api/qiskit/dev/pulse-7.png and b/public/images/api/qiskit/dev/pulse-7.png differ diff --git a/public/images/api/qiskit/dev/qasm3-1.png b/public/images/api/qiskit/dev/qasm3-1.png index d80ef309427..cfd725bed9b 100644 Binary files a/public/images/api/qiskit/dev/qasm3-1.png and b/public/images/api/qiskit/dev/qasm3-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-1.png index 41d453b9eaf..fc6eb695ba3 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png index 0069c5eb20f..a531e84b810 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-ControlledGate-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-InstructionSet-1.png b/public/images/api/qiskit/dev/qiskit-circuit-InstructionSet-1.png index 6ef86b54517..05a9da72ab1 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-InstructionSet-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-InstructionSet-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-Operation-1.png b/public/images/api/qiskit/dev/qiskit-circuit-Operation-1.png index fa8a838827f..1b15fad7de5 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-Operation-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-Operation-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_00.png b/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_00.png index ac09c7c6228..0a0c10376ae 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_00.png and b/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_00.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_01.png b/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_01.png index 197a693d14a..7e52b6b0b6a 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_01.png and b/public/images/api/qiskit/dev/qiskit-circuit-Parameter-1_01.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-1.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-1.png index bf3bc612a5b..04f28dcf587 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-2.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-2.png index 2877f60447c..7e15aedacae 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_00.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_00.png index 315cc9ce141..2f4226fcbf4 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_00.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_00.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_01.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_01.png index 060d97da696..402e8d5424e 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_01.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-3_01.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_00.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_00.png index 7a2f66e13f4..d91c9542336 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_00.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_00.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_01.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_01.png index ce1d6a93f9b..d8cdf618aa1 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_01.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-4_01.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-5.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-5.png index 4533aa27eeb..23e02423899 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-5.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-5.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-6.png b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-6.png index 314d3812a06..952145ccc45 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-6.png and b/public/images/api/qiskit/dev/qiskit-circuit-QuantumCircuit-6.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-AND-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-AND-1.png index 460e4a0c606..3765c59d712 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-AND-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-AND-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-AND-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-AND-2.png index 6a689868b91..34dc13a9d5d 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-AND-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-AND-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-FourierChecking-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-FourierChecking-1.png index 13228777549..281ae00895b 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-FourierChecking-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-FourierChecking-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-GMS-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-GMS-1.png index 182d6d67a45..e511b836f03 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-GMS-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-GMS-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-GR-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-GR-1.png index 21b44d271d8..a66646b2bbb 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-GR-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-GR-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-GRX-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-GRX-1.png index 84978c74712..68f1c9ece66 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-GRX-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-GRX-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-GRY-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-GRY-1.png index 21b44d271d8..a66646b2bbb 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-GRY-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-GRY-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-GRZ-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-GRZ-1.png index b72cc7a91ec..89b1838c8dc 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-GRZ-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-GRZ-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-GraphState-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-GraphState-1.png index 3745f192118..113e473400b 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-GraphState-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-GraphState-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-HiddenLinearFunction-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-HiddenLinearFunction-1.png index e4b7b39b182..4a0c48c9004 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-HiddenLinearFunction-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-HiddenLinearFunction-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-1.png index ab4aa276528..98a957ea72f 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-2.png index 6d2b8bf43dd..d39fa1267ef 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-IQP-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProduct-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProduct-1.png index ddc4e7b0d42..ada2e966ddf 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProduct-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-InnerProduct-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-MCMTVChain-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-MCMTVChain-1.png index 11ca58e7859..424e79afa9e 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-MCMTVChain-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-MCMTVChain-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-OR-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-OR-1.png index c6bd604feee..da6c20bdb39 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-OR-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-OR-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-OR-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-OR-2.png index 9bb8f1f380d..0dd49d07acc 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-OR-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-OR-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PauliTwoDesign-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PauliTwoDesign-1.png index cf683f2a997..5eee719cdff 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PauliTwoDesign-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PauliTwoDesign-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-1.png index 5a55d908669..20e1ce83d13 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-2.png index 1d04af7412d..05032eaf687 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-Permutation-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-1.png index 88b6bff3f9a..d45b8a50d2d 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png index 865a02466df..aa5f8acfd7e 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PermutationGate-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png index 3b6465a7130..c5289057f40 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PhaseEstimation-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-PiecewiseChebyshev-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-PiecewiseChebyshev-1.png index fdec8a478be..c841bbdb130 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-PiecewiseChebyshev-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-PiecewiseChebyshev-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-1.png index fcef93ad228..ae29298d4f1 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-2.png index 2f0984f7a99..e767a72c734 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-3.png b/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-3.png index 85739f4b642..167e1ce7303 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-3.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-QFT-3.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-1.png index a20a3b47654..604f6320c96 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-2.png b/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-2.png index 6900da4bc50..f40d8329386 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-2.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-QuantumVolume-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-circuit-library-XOR-1.png b/public/images/api/qiskit/dev/qiskit-circuit-library-XOR-1.png index 71fc51fd37e..e190744dbbd 100644 Binary files a/public/images/api/qiskit/dev/qiskit-circuit-library-XOR-1.png and b/public/images/api/qiskit/dev/qiskit-circuit-library-XOR-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-primitives-StatevectorEstimator-1.png b/public/images/api/qiskit/dev/qiskit-primitives-StatevectorEstimator-1.png new file mode 100644 index 00000000000..7455151eefd Binary files /dev/null and b/public/images/api/qiskit/dev/qiskit-primitives-StatevectorEstimator-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-pulse-library-SymbolicPulse-1.png b/public/images/api/qiskit/dev/qiskit-pulse-library-SymbolicPulse-1.png index 8e467247437..9adc2456cbb 100644 Binary files a/public/images/api/qiskit/dev/qiskit-pulse-library-SymbolicPulse-1.png and b/public/images/api/qiskit/dev/qiskit-pulse-library-SymbolicPulse-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-quantum_info-Statevector-1.png b/public/images/api/qiskit/dev/qiskit-quantum_info-Statevector-1.png index eafeedb5d39..b479a528f4c 100644 Binary files a/public/images/api/qiskit/dev/qiskit-quantum_info-Statevector-1.png and b/public/images/api/qiskit/dev/qiskit-quantum_info-Statevector-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_00.png b/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_00.png index e70e82bbfdd..ebd67d791f9 100644 Binary files a/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_00.png and b/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_00.png differ diff --git a/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_01.png b/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_01.png index a95a101b1ad..d157ddf998b 100644 Binary files a/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_01.png and b/public/images/api/qiskit/dev/qiskit-transpiler-passes-DynamicalDecoupling-1_01.png differ diff --git a/public/images/api/qiskit/dev/qiskit-transpiler-passes-FilterOpNodes-1.png b/public/images/api/qiskit/dev/qiskit-transpiler-passes-FilterOpNodes-1.png index 1571e1681d2..647001be489 100644 Binary files a/public/images/api/qiskit/dev/qiskit-transpiler-passes-FilterOpNodes-1.png and b/public/images/api/qiskit/dev/qiskit-transpiler-passes-FilterOpNodes-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_00.png b/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_00.png index e70e82bbfdd..ebd67d791f9 100644 Binary files a/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_00.png and b/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_00.png differ diff --git a/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_01.png b/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_01.png index a95a101b1ad..d157ddf998b 100644 Binary files a/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_01.png and b/public/images/api/qiskit/dev/qiskit-transpiler-passes-PadDynamicalDecoupling-1_01.png differ diff --git a/public/images/api/qiskit/dev/qiskit-transpiler-passes-RemoveBarriers-1.png b/public/images/api/qiskit/dev/qiskit-transpiler-passes-RemoveBarriers-1.png index 0671c9835a9..8b71e9bb02d 100644 Binary files a/public/images/api/qiskit/dev/qiskit-transpiler-passes-RemoveBarriers-1.png and b/public/images/api/qiskit/dev/qiskit-transpiler-passes-RemoveBarriers-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-circuit_drawer-1.png b/public/images/api/qiskit/dev/qiskit-visualization-circuit_drawer-1.png index 4533aa27eeb..23e02423899 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-circuit_drawer-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-circuit_drawer-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-1.png index abda4e49032..ff2783365c9 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-2.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-2.png index be62559f955..40310e3ce1d 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_multivector-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-1.png index 524022b1e0b..52f176633f8 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-2.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-2.png index ee6c12d917d..d7293d2a224 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_bloch_vector-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png index b980bc4dd8d..03bd56e5a48 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_circuit_layout-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_coupling_map-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_coupling_map-1.png index 7b6da4bacff..fde22abbadb 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_coupling_map-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_coupling_map-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_00.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_00.png index ba5362517af..48051dad53c 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_00.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_00.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_01.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_01.png index ed93a52107e..928a409cd77 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_01.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_01.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_02.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_02.png index d44060eff2a..227e4411398 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_02.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_distribution-1_02.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png index 490cf093341..e68b33536d1 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_error_map-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_gate_map-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_gate_map-1.png index d967bc76fef..2bd41f9c946 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_gate_map-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_gate_map-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_00.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_00.png index 6b261ebdafb..d52842397d6 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_00.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_00.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_01.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_01.png index 376ed78f0a9..68d66696d2e 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_01.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_01.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_02.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_02.png index db137e1e931..cf5addcc342 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_02.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_histogram-1_02.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-1.png index 60511663e87..67f4e14c5fc 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-2.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-2.png index eef292ec9cd..02edff2c679 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_city-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_hinton-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_hinton-1.png index 69d0934339d..a6472b59657 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_hinton-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_hinton-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-1.png index 7fcff6d7838..289a8195e6d 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-2.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-2.png index b66e2de759b..2fa61470464 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_paulivec-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-1.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-1.png index f3bf28245b2..b46214f03ba 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-2.png b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-2.png index 870778882c8..ec30c3df571 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-plot_state_qsphere-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png index d8dea620f54..0b22a51d35f 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-1.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png index 8623f68d756..a15c4687ada 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-2.png differ diff --git a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png index 7c30efc5997..db0d325c571 100644 Binary files a/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png and b/public/images/api/qiskit/dev/qiskit-visualization-timeline_drawer-3.png differ diff --git a/public/images/api/qiskit/dev/release_notes-1.png b/public/images/api/qiskit/dev/release_notes-1.png new file mode 100644 index 00000000000..f7e742b6f2c Binary files /dev/null and b/public/images/api/qiskit/dev/release_notes-1.png differ diff --git a/public/images/api/qiskit/dev/release_notes-2.png b/public/images/api/qiskit/dev/release_notes-2.png new file mode 100644 index 00000000000..47a562c805e Binary files /dev/null and b/public/images/api/qiskit/dev/release_notes-2.png differ diff --git a/public/images/api/qiskit/dev/transpiler-10.png b/public/images/api/qiskit/dev/transpiler-10.png index f70da85b300..fd127e4324b 100644 Binary files a/public/images/api/qiskit/dev/transpiler-10.png and b/public/images/api/qiskit/dev/transpiler-10.png differ diff --git a/public/images/api/qiskit/dev/transpiler-11.png b/public/images/api/qiskit/dev/transpiler-11.png index a6c524d2fc7..f9a5e874408 100644 Binary files a/public/images/api/qiskit/dev/transpiler-11.png and b/public/images/api/qiskit/dev/transpiler-11.png differ diff --git a/public/images/api/qiskit/dev/transpiler-12.png b/public/images/api/qiskit/dev/transpiler-12.png index bea05c03f72..9e5a002881e 100644 Binary files a/public/images/api/qiskit/dev/transpiler-12.png and b/public/images/api/qiskit/dev/transpiler-12.png differ diff --git a/public/images/api/qiskit/dev/transpiler-13.png b/public/images/api/qiskit/dev/transpiler-13.png index a6c524d2fc7..f9a5e874408 100644 Binary files a/public/images/api/qiskit/dev/transpiler-13.png and b/public/images/api/qiskit/dev/transpiler-13.png differ diff --git a/public/images/api/qiskit/dev/transpiler-14.png b/public/images/api/qiskit/dev/transpiler-14.png index 2f9400f180b..439b5033095 100644 Binary files a/public/images/api/qiskit/dev/transpiler-14.png and b/public/images/api/qiskit/dev/transpiler-14.png differ diff --git a/public/images/api/qiskit/dev/transpiler-15.png b/public/images/api/qiskit/dev/transpiler-15.png index af4b04718d4..5c65515ce89 100644 Binary files a/public/images/api/qiskit/dev/transpiler-15.png and b/public/images/api/qiskit/dev/transpiler-15.png differ diff --git a/public/images/api/qiskit/dev/transpiler-16.png b/public/images/api/qiskit/dev/transpiler-16.png index c86ebe580e3..538899a4183 100644 Binary files a/public/images/api/qiskit/dev/transpiler-16.png and b/public/images/api/qiskit/dev/transpiler-16.png differ diff --git a/public/images/api/qiskit/dev/transpiler-17.png b/public/images/api/qiskit/dev/transpiler-17.png index 68c343e9a2c..80f06b241a1 100644 Binary files a/public/images/api/qiskit/dev/transpiler-17.png and b/public/images/api/qiskit/dev/transpiler-17.png differ diff --git a/public/images/api/qiskit/dev/transpiler-4.png b/public/images/api/qiskit/dev/transpiler-4.png index d834d77bf4a..fd2148a3bca 100644 Binary files a/public/images/api/qiskit/dev/transpiler-4.png and b/public/images/api/qiskit/dev/transpiler-4.png differ diff --git a/public/images/api/qiskit/dev/transpiler-5.png b/public/images/api/qiskit/dev/transpiler-5.png index ff610126cf7..6ddf41c71a5 100644 Binary files a/public/images/api/qiskit/dev/transpiler-5.png and b/public/images/api/qiskit/dev/transpiler-5.png differ diff --git a/public/images/api/qiskit/dev/transpiler-6.png b/public/images/api/qiskit/dev/transpiler-6.png index d12c7f6aae1..7b5d2343788 100644 Binary files a/public/images/api/qiskit/dev/transpiler-6.png and b/public/images/api/qiskit/dev/transpiler-6.png differ diff --git a/public/images/api/qiskit/dev/transpiler-7.png b/public/images/api/qiskit/dev/transpiler-7.png index 8690bf4a09b..a23a55d8c90 100644 Binary files a/public/images/api/qiskit/dev/transpiler-7.png and b/public/images/api/qiskit/dev/transpiler-7.png differ diff --git a/public/images/api/qiskit/dev/transpiler-8.png b/public/images/api/qiskit/dev/transpiler-8.png index 5cc6740b99f..14e6b007d09 100644 Binary files a/public/images/api/qiskit/dev/transpiler-8.png and b/public/images/api/qiskit/dev/transpiler-8.png differ diff --git a/public/images/api/qiskit/dev/transpiler-9.png b/public/images/api/qiskit/dev/transpiler-9.png index 0af64541bcd..da85495e467 100644 Binary files a/public/images/api/qiskit/dev/transpiler-9.png and b/public/images/api/qiskit/dev/transpiler-9.png differ diff --git a/public/images/api/qiskit/dev/visualization-1.png b/public/images/api/qiskit/dev/visualization-1.png index 2982c1537ea..03ed0f43616 100644 Binary files a/public/images/api/qiskit/dev/visualization-1.png and b/public/images/api/qiskit/dev/visualization-1.png differ diff --git a/public/images/api/qiskit/dev/visualization-2.png b/public/images/api/qiskit/dev/visualization-2.png index bce08004218..617c4034c1b 100644 Binary files a/public/images/api/qiskit/dev/visualization-2.png and b/public/images/api/qiskit/dev/visualization-2.png differ diff --git a/public/images/api/qiskit/dev/visualization-3.png b/public/images/api/qiskit/dev/visualization-3.png index 18734b1cce2..9e9259f90a4 100644 Binary files a/public/images/api/qiskit/dev/visualization-3.png and b/public/images/api/qiskit/dev/visualization-3.png differ diff --git a/public/images/api/qiskit/dev/visualization-4.png b/public/images/api/qiskit/dev/visualization-4.png index e4c9ad7547f..1cad6080d6f 100644 Binary files a/public/images/api/qiskit/dev/visualization-4.png and b/public/images/api/qiskit/dev/visualization-4.png differ diff --git a/public/images/api/qiskit/dev/visualization-5.png b/public/images/api/qiskit/dev/visualization-5.png index 1e03672a927..151b51c87c6 100644 Binary files a/public/images/api/qiskit/dev/visualization-5.png and b/public/images/api/qiskit/dev/visualization-5.png differ diff --git a/public/images/api/qiskit/dev/visualization-6.png b/public/images/api/qiskit/dev/visualization-6.png index 1e03672a927..151b51c87c6 100644 Binary files a/public/images/api/qiskit/dev/visualization-6.png and b/public/images/api/qiskit/dev/visualization-6.png differ